Determining required processing time of a data network
11133884 · 2021-09-28
Assignee
Inventors
Cpc classification
H04L43/10
ELECTRICITY
International classification
Abstract
End-to-end latency in a data network containing a succession of network devices through which a data packet passes via data connections is determined by first providing the data packet with a trigger packet. Then each device generates and adds to the trigger packet a respective reception timestamp indicating when the packet is received by the respective device. This added data indicates time needed for travel from the immediately upstream network device such that, when reaching the furthest downstream device of the succession of network devices, the trigger packet holds a plurality of timestamp representing when the trigger packet was received by the network devices. Finally the end-to-end latency is calculated at the furthest downstream network device from all of the time stamps in the trigger packet.
Claims
1. A method of determining end-to-end latency in a data network containing a succession of network devices through which a data packet passes via data connections, the method comprising: providing the data packet with a trigger packet; at each device generating and adding to the trigger packet a respective reception timestamp indicating when the packet is received by the respective device and therefore indicating time needed for travel from the immediately upstream network device such that, when reaching the furthest downstream device of the succession of network devices, the trigger packet holds a plurality of timestamp representing when the trigger packet was received by the network devices; and calculating the end-to-end latency at the furthest downstream network device from all of the time stamps in the trigger packet.
2. The method according to claim 1, further comprising the step, in addition to generating the timestamp on reception of the trigger packet, of: generating a timestamp at the time of transmission of a trigger packet and adding it to the data packet.
3. The method according to claim 1, further comprising the steps of: inserting the timestamp generated in at least one further network device into the trigger packet as a partial data packet and forwarding the partial data packet into which the time stamp is inserted.
4. The method according to claim 3 further comprising the step of: storing the timestamp established in the at least one further network device on this network device and providing the timestamp for further network devices and/or a network management system.
5. The method according to claim 1, further comprising the step of: assigning each of the timestamp further data of the network device that generates the timestamp.
6. The method according to claim 1, further comprising the step of: determining the temporal profile of the data relaying of the trigger packet over the data connections that are involved from the timestamp of a respective network device.
7. The method according to claim 1, further comprising the step, upon arrival of a data packet that functions as a trigger packet on a network device or upon transmission of a data packet that functions as a trigger packet, of: recording and storing the timestamp on the network device on which the timestamp was generated.
8. The method according to claim 1, further comprising the step, upon arrival of a data packet that functions as a trigger packet on a network device, or upon transmission of a data packet that functions as a trigger packet, of: recording and inserting a timestamp into the data packet.
9. The method according to claim 1, further comprising the step of at each device: adding to the trigger packet when sending the data packet to the next downstream device a transmission time stamp indicating when the data packet is being sent on, the calculation of end-to-end latency taking these reception and transmission time stamps.
Description
BRIEF DESCRIPTION OF THE DRAWING
(1) The method according to the invention is described below and explained with reference to the figures.
(2) In the figures:
(3)
(4)
(5)
(6)
(7)
SPECIFIC DESCRIPTION OF THE INVENTION
(8)
(9)
(10)
(11)
(12)
(13) A line topology with two terminals may serve as an example for determining the end-to-end latency between two devices (see
(14) If the trigger packet cited in the above example now has an unexpectedly high delay from th1 network device ED1 to the network device ED2, on the basis of the invention, it becomes possible to consider the individual delays on each step of the transmission path and thereby to achieve a precise definition of the error source. In
(15) In the figures, the metadata that are illustrated are an exemplary packet structure.
(16) With respect to the network devices mentioned in the embodiment and also in general, these are for example what are known as terminals (such as for example personal computers, sensors, actuators, industrial controllers and the like) that form an actual start or an actual end of a network (for example in a line or else in a ring topology). Those network devices that are arranged between these terminals generally serve for the actual distribution or relaying of data packets (containing payload signal content) and do not send, with the exception of the trigger packets provided according to the invention, any new data packets to the network or change the payload signal content of a forwarded data packet.
(17) The invention is reproduced once again below in other words:
(18) 1. Inline: A “trigger packet” is transmitted that has the effect that individual devices, preferably each device on the transmission path that supports the method described in this case, records time stamps (for example the respective reception and/or transmission time) and inserts the measured values and optional metainformation (for example a device ID and/or the like) into the trigger packet. This results in complete recording of the temporal profile of the data relaying on individual relay paths, preferably on each relay path (including terminals supporting the method) within the network. This recording may be processed by the at least one receiver (device) or provided for further processing (for example by forwarding to a management system or by retransmission of the packet to the initiator of the measurement).
(19) 2. Out-of-band: As in 1., with the difference that the measured values and metainformation are not inserted directly into the packet on the respective device, but rather buffer-stored and made available on the network participant on which they were generated. The stored values may be queried for example via a management protocol from a management system. In this second variant of the method, mechanisms from existing time synchronization protocols (such as for example IEEE 1588) may also be used as “trigger packet” and used to generate the time stamps.
(20) Both of the methods described above may each be applied on their own or in combination.
(21) Further general information: To measure the time stamps, a common time base that is as accurate as possible should be present in the network (for example on the basis of IEEE 1588). In order to achieve a time measurement that is as precise as possible, the time stamping method should have extremely high accuracy (for example ideally hardware-assisted). The measurement method is suitable for use with unicasts, multicasts and broadcasts.
(22) The novelty of the invention comes to the fore in that, in contrast to existing methods such as for example IEEE 1588, there is no aggregation of the overall processing times in the trigger packet, but rather the measured values are recorded separately for a packet during the relaying and provided individually. This makes it possible for example to determine the latency contributions that are caused inter alia by individual network participants in the relaying. In addition, due to this, in time-slot methods, it is possible to monitor the compliance with temporal specifications for the transmission of individual packets and diagnose error cases.
(23) The described measurement may be performed for example on the basis of a reserved time slot in the context of the time-slot method.