DATA TRANSMISSION METHOD

20230004544 · 2023-01-05

Assignee

Inventors

Cpc classification

International classification

Abstract

A data transmission method for the transmission of information between a server and at least one authenticated device, and in particular it is directed to a method for transmitting a set of data with a tree configuration over a computer network sending differential status updates from a single source, or server, to a plurality of user devices.

Claims

1. A data transmission method for the transmission of data between a server and at least one authenticated user device, the server comprising a data set stored in the server, and the at least one authenticated user device being in data communication with the server; wherein the data set has a tree structure configuration, comprising at least a root node comprising at least one parent node, with each parent node comprising at least one child node, wherein the data of the at least one child node is updated at intervals of time i; the method comprising, the steps of: sending by the server, at a time t.sub.0=0, the complete data set to the at least one authenticated user device, and, for each time t.sub.n=n.Math.i, with n=1, . . . , N, when the data of the at least one child node has been updated in respect to the time t.sub.n−1, sending by the server the updated data of the at least one child node to the at least one authenticated user device.

2. The data transmission method according to claim 1, wherein the data of the at least one parent node is updated at intervals of time i; and, when the data of the at least one parent node has been updated in respect to the time t.sub.n−1, the method further comprising the step of sending the updated data of the at least one parent node to the at least one authenticated user device.

3. The data transmission method according to claim 1, further comprising the step of sending, at a time t.sub.N+1, a complete updated data set to the at least one authenticated user device, and sending the updated data of the at least one child node or parent node to the at least one authenticated user device.

4. The data transmission method according to claim 1, further comprising the step of encrypting, by the server, the data of the data set.

5. The data transmission method according to claim 1, wherein the data set comprises one or more grandparent nodes, or one or more grandchildren nodes.

6. The data transmission method according to claim 1, wherein the data set is formatted as a JSON file.

7. The data transmission method according to claim 1, wherein the data of the data set comprises race timing measurements.

8. A computer program comprising instructions which, when the program is executed by the server, cause the server to carry out a data transmission or the transmission of data between a server and at least one authenticated user device, the server comprising a data set stored in the server, and the at least one authenticated user device being in data communication with the server; wherein the data set has a tree structure configuration, comprising at least a root node comprising at least one parent node, with each parent node comprising at least one child node, wherein the data of the at least one child node is updated at intervals of time i; the method comprising, the steps of: sending by the server, at a time t.sub.0=0, the complete data set to the at least one authenticated user device, and, for each time t.sub.n=n.Math.i, with n=1, . . . , N, when the data of the at least one child node has been updated in respect to the time t.sub.n−1, sending by the server the updated data of the at least one child node to the at least one authenticated user device.

Description

DESCRIPTION OF THE DRAWINGS

[0026] The foregoing and other advantages and features will be more fully understood from the following detailed description of exemplary embodiments with reference to the accompanying drawings, which should be considered by way of illustration and not limitation, in which:

[0027] FIG. 1 This figure represents a schematic view of a server in data communication with a plurality of user devices.

[0028] FIG. 2 This figure represents a flowchart of the method.

[0029] FIGS. 3a, 3b These figures represent two examples of the data set.

PREFERRED EMBODIMENT OF THE INVENTION

[0030] Throughout the present document it will be understood that various parts of one embodiment of the invention can be freely combined with parts described in other embodiments, even being said combination not explicitly described, provided there is no harm in such combination.

[0031] The present invention is advantageously used in the transmission of rapidly changing data, such as racing data, between a server (2) and a plurality of user devices (1) over the Internet (3), forming a computer network, such as the computer network shown in FIG. 1. In a preferred embodiment, the user devices (1) comprise a combination of handheld devices, such as smartphones and tablets, and laptops or personal computers, each of them being accessed by a different user.

[0032] Preferably, from a user perspective, the transmission method is used by means of a service with subscription and authentication capabilities. Each user has the possibility to subscribe to one or more fields of information stored in respective nodes (5), such as the timing of two participants of a same team, receiving only updates for the desired information. Before the transmission of the data and the subsequent updates, the users need to register at the server (2) and obtain credentials which will be used on later accesses. In an example, the subsequent accesses are carried out as follows: [0033] The user device (1) connects to the server (2); [0034] the user device (1) authenticates with the server (2) with the credentials; [0035] if the authentication is not successful, the server (2) closes the connection with the user device (1), or [0036] if the authentication is successful, the server grants access to the user device (1) and informs the user that the authentication is successful; [0037] the user device (1) subscribes, or requests access, to one or more nodes (5); [0038] if the user device (1) does not have permissions to the requested node (5) or the node (5) does not exist, the server (2) rejects the subscription; [0039] if the user device (1) has the permissions, the server (2) accepts the subscription, and sends the data as specified in the data transmission method.

[0040] The data transmission works on the basis of an event with finite duration, such as a racing event; the duration of the event starts at a time, or instant, t.sub.0, and ends at a time t.sub.N, with a number of N−1 intermediate instants each time interval i. The intervals can have any duration providing it is shorter than the duration of the event, but it is extremely advantageous that the intervals have a regular duration and as short as reasonably possible, preferably in the range of milliseconds. With such intervals, the latency in the transmission is unnoticeable for a human user, who perceives a real time update of the information.

[0041] As shown in FIG. 2, in the first step of the method, at t.sub.0, the server (2) sends (100) the whole data set (4), including the relations between nodes (5) and the content of the nodes (5) themselves, depending on the subscription of the user; this data is stored at the user device (1) at least during the whole event period, and displayed to the user.

[0042] Then, as the time starts running, the server (2) receives updated information and the data set (4) is modified accordingly. If, at a time t.sub.n, the content of a node (5) to which a user is subscribed remains unchanged in respect of the previous instant t.sub.n−1, the server does not send any data to the user device or devices (1). If, on the contrary, the data of the node (5) changes, then the server (2) sends (200) the updated data to the user device or devices (1); the transmitted data preferably comprises the information block contained in the node (5) plus an identification block containing the identification of the node (5).

[0043] It should be noted that the process is the same for any type of node (5), regardless of the hierarchy level of the node, or in other words, it can be a child node (5.3), a parent node (5.2), a grandchild node (5.4), a grandfather node and so on. In a specific example, the root node (5.1) can be updated too.

[0044] Once the event has finished, at t.sub.N+1, a complete updated data set (4) is sent by the server (2) to the user device or devices (1) in preparation for a new event.

[0045] The data set (4) has a tree structure, comprising nodes (5) of information arranged according to different levels of hierarchy. FIG. 3a shows an example of a data set (4) with a high-level node (5), or root node, two mid-level nodes (5), or parent nodes, and four low level nodes (5), or child nodes, wherein the root node comprises the two parent nodes, and each parent node comprises two child nodes. The example shown in FIG. 3a is only a possible arrangement for the data set (4), and many other layouts are possible.

[0046] FIG. 3b shows a more complex layout, with a root node (5.1), parent nodes (5.2) with varying number of child nodes (5.3), and two of these child nodes (5.3) further comprising grandchild node (5.4).

[0047] The data set (4) is preferably configured with the child nodes (5.3) storing different types of data related to the same category, represented by a common parent node (5.2). In a specific example, the data set (4) is related to “people”, and so the root node (5.1) might be labelled “People”. The parent nodes (5.2) would be two individuals, labelled by their names, “Juan” and “Ana”. Next, the child nodes (5.3) would be two attributes of the individuals, for example, age and occupation; the data set (4) of this example would look, arranged as a list as follows:

[0048] “PEOPLE” [0049] Name: Juan [0050] Age: 37 [0051] Occupation: teacher [0052] Name: Ana [0053] Age: 24 [0054] Occupation: doctor

[0055] In a preferred implementation of the method, the data is sent encrypted as an SSL connection over TCP-IP or an equivalent encryption technique to ensure the security of the transmission; this measure not only hinders a malicious access attempt, but also prevents the access to the service to unauthorized users.

[0056] Since in the most likely scenario the user devices (1) will use different operative systems and/or standards, the data is preferably formatted as a .json file, which allows the compatibility with any software, regardless of the programming language used.