Ultra-low transmission latency for sporadic network traffic
10652044 ยท 2020-05-12
Assignee
Inventors
Cpc classification
H04L47/724
ELECTRICITY
International classification
Abstract
The invention is related to a method for transmitting sporadic data stream (SStream) over a packet switched network carrying out further a transmission of priority data transmission within scheduled successive priority time windows. More particularly, the transmission of the sporadic data stream is preceded by a transmission of a reservation frame (RSVFrame) including information related at least to a timing for transmitting the sporadic data stream outside from said scheduled priority time windows.
Claims
1. A method for transmitting sporadic data stream over a packet switched network, said network carrying out further a transmission of priority data transmission within scheduled successive priority time windows, wherein the transmission of the sporadic data stream is preceded by a transmission of a reservation frame including information related at least to a timing for transmitting the sporadic data stream outside from said scheduled priority time windows, the reservation frame follows a predetermined path over the network that matches a predetermined path of the sporadic data stream to trigger an opening of a transmission window in at least one output port of transmitting entities in the path thereby dynamically reserving the transmission window for the sporadic data stream.
2. The method of claim 1, wherein the transmission of the sporadic data stream follows a predetermined path over the network, said path being defined by hops between transmitting entities of the network, from an emitting entity (Stalker) to a receiving entity (Listener), and wherein, upon reception of said reservation frame by one of said transmitting entities, said transmitting entity checks whether said transmitting entity is available for transmitting said sporadic data stream according to said timing.
3. The method of claim 2, wherein availability of said transmitting entity is determined upon checking whether a transmission of previous sporadic data stream by said transmitting entity is already scheduled at said timing.
4. The method according to claim 2, wherein said transmitting entities are switches of said network.
5. The method of claim 2, further comprising: upon determining that said transmitting entity is available for transmitting said sporadic data stream according to said timing, said transmitting entity reserves time for transmitting said sporadic data stream according to said timing.
6. The method of claim 2, further comprising: upon determining that said transmitting entity is unavailable for transmitting said sporadic data stream according to said timing, said transmitting entity sends back a message to the emitting entity including information related to an unavailability of said transmitting entity for transmitting said sporadic data stream according to said timing, so as to discard the transmission of said sporadic data stream according to said timing.
7. The method according to claim 6, wherein said message corresponds to said reservation frame being returned to the emitting entity with an indication of discard of the transmission of said sporadic data stream.
8. The method according to claim 1, wherein: the transmission of the sporadic data stream follows a predetermined path over the network, said path being defined by hops between transmitting entities of the network, from an emitting entity (Stalker) to a receiving entity (Listener), said priority data are configurable so as to enable a transmission of priority data frame fragment having a predetermined minimum size length, in an additional time window after one of said successive priority time windows, said fragment being preempted for transmission prior to said sporadic data frame, and wherein said information included in the reservation frame and related to said timing takes into account a number of transmitting entities along said path being able to transmit one fragment of priority data in one additional window.
9. The method of claim 8, wherein said reservation frame includes information for reserving a time window for transmission of the sporadic data stream, by each transmitting entity of the path, and said emitting entity emits said reservation frame with an indication for starting and closing the time window for the transmission of the sporadic data stream for each transmitting entity, at the respective times: t.sub.curr+delta and t.sub.curr+delta+T.sub.spor, where t.sub.curr is a current time, given by a common clock in the network, delta =(NBHop1)*WCMFSD : NBHop1 being a variable number counting the remaining transmitting entities in the path before the receiving entity, WCMFSD being an estimated duration for sending a priority data fragment having a length corresponding to less than two of said predetermined minimum length, and T.sub.spor is the duration for the transmission of said sporadic data stream.
10. The method of claim 9, wherein duration WCMFSD corresponds to the estimated duration for sending a priority data fragment having a length corresponding to two of said predetermined minimum length, less one octet.
11. The method according to claim 9, wherein said reservation frame is transmitted from a transmitting entity to a next transmitting entity in the path, each transmitting entity being capable of modifying the content of the reservation frame, and wherein said number NBHop-1: corresponds to the total number of transmitting entities in the path, in the reservation frame when leaving the emitting entity, and is decremented in the reservation frame by each transmitting entity receiving the reservation frame.
12. The method according to claim 1, wherein said sporadic data are alarm data and/or data issued from a sensor.
13. The method according to claim 1, wherein said network is an industrial network.
14. A system for transmitting sporadic data stream over a packet switched network, comprising an emitting entity and at least one transmitting entity, wherein each of said emitting entity and transmitting entity comprises a logical circuit for performing a method according to claim 1.
15. An emitting entity of a system according to claim 14, comprising a logical circuit for emitting said reservation frame prior to the transmission of sporadic data stream.
16. A transmitting entity of a system according to claim 14, comprising a logical circuit for interpreting said reservation frame and reserving a time window according to said reservation frame for the transmission of the sporadic data stream.
17. A computer program product comprising instructions for performing the method as claimed in claim 1, when run by a processor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
DESCRIPTION OF EMBODIMENTS
(7) With reference to
(8) The Sporadic Stream (SStream) is constituted of a finite (limited) number of frames exchanged at full link speed between the STalker and a Listener.
(9) Only unicast SStreams are considered in the example.
(10) SStreams are carried by bidirectional paths. The forward direction of a path goes from the STalker to the Listener, whereas the backward direction goes from the Listener to the STalker.
(11) A Reservation Frame (RSVFrame) is a specific signaling frame that is forwarded on the exact same forward path as the SStream.
(12) Cut-through forwarding is a frame forwarding scheme where the frames are forwarded without waiting for the validation of the integrity of each frame.
(13) The worst-case minimum fragment size is the greatest size a frame fragment can have when the original frame is fragmented. For instance, in the case of a minimum fragment size of 64 bytes (determined by the usual standards), the worst-case minimum fragment is 127 bytes, which cannot be further divided into two minimum-size fragments.
(14) The STalker has knowledge, for each S Stream it initiates, of the number of hops (NBHop=3 in the example of
(15) The STalker has knowledge of the organization of the transmission time windows on each link belonging to the path to its Listeners. This information is stored in a calendar table associated with each possible Listener.
(16) For the sake of simplification, all links in the network have the same capacity in the example (i.e. a maximum bitrate expressed in bit per second). A single clock/time reference is shared by all the nodes of the network.
(17) Non-sporadic traffics and/or normal traffic can be preempted: their frames can be fragmented in case of the concurrent transmission of SStream frames on the same output port.
(18) SStreams are marked with a specific traffic class identifier that makes it possible to identify them and apply specific processing in the nodes.
(19) The protocol operation for a sporadic transmission by the STalker can be defined as follows.
(20) The STalker determines the time intervals during which normal frames are transmitted.
(21) Upon request from an application running on the STalker to transmit an SStream, the STalker immediately transmits a Reservation Frame (RSVFrame). The RSVFrame contains the following information: A sequence number, incremented upon sending a new RSVFrame (SEQNum) The number of hops on the path to the Listener (NBHop) A reservation status flag (RSVFlag), set to not failed A Forward/Backward (FBInd) indication, set to forward The duration of the reservation, i.e. the duration of the SStream (T.sub.spor)
(22) The RSVFrame header contains the same forwarding information as the frames of the SStream to follow. This ensures that the RSVFrame follows the exact same path to the Listener as the stream's frames.
(23) The time elapsed between the RSVFrame transmission and the actual SStream transmission is at least the time needed by the application to prepare the message to be transported by the stream and, ideally, a duration that equals the number of hops on the SStream's path multiplied by the transmission duration of a worst-case minimum fragment.
(24) This later time interval guarantees that the SStream will not suffer any delay in the switches output ports when racing for transmission opportunity with normal traffic (as explained below relatively to the SStream forwarding). In such a configuration, the RSVFrame may be delayed by the transmission duration of a worst-case minimum size fragment each time it passes through a switch along the stream path, and still precedes the SStream's frames.
(25) The STalker increments SEQNum upon each RSVFrame transmission.
(26) All the frames constituting the SStream are sent in a single burst at the link speed.
(27) Therefore, the durations for transmitting data hereafter are estimated according to the transmission rate over the network, of course.
(28) The protocol operation for forwarding a sporadic stream by a switch can be defined as follows.
(29) More particularly, the processing of a RSVFrame can be performed as follows, with reference to
(30) Upon reception (in step S1) of an RSVFrame with FBInd set to forward, a network entity such as a switch SW forwards it to a Reservation Processing Unit (RSVProc).
(31) The Reservation Processing Unit can include for example, as shown on
(32) The Reservation Processing Unit controls the output port OP addressed by the forwarding information contained in the header of the RSVFrame (received in step S1 of
(33) If reservation is already pending (RSVPend set to true in test S2 of
(34) In fact, if the FBInd is set to backward (step S29), the current switch relays RSVFrame to the output port addressed by the forwarding information contained in its header. The contents of the RSVFrame is not modified.
(35) If no reservation is already pending as shown on
(36) If the FBInd is set to forward (in test S3, opposing to step S27), the RSVProc performs the following operations:
(37) programs a transmission window for the S Stream (step S31) using the gate control mechanism as per standard IEEE-802.1Qbv, that opens at t.sub.curr+delta and closes at t.sub.curr+delta+T.sub.spor, where t.sub.curr=current time delta=(NBHop1)*WCMFSD, where WCMFSD is a worst case minimum fragment size duration (namely, for example, 127 octets=(264 octets1), divided by the network rate which is assumed to be the same from a switch to another), and T.sub.spor is the duration of SStream closes the other transmission widow used for the normal traffics for the same time interval (step S32) decrements NBHop (step S33) and update the RSVFrame's payload (step S34) forwards the RSVFrame to the transmission queue reserved for SStreams (step S35) on the output port addressed by the forwarding information contained in the RSVFrame's header.
(38) The protocol operation for processing the frames of the sporadic stream itself can be defined as follows.
(39) If the DISC indication associated with the SStream is set, the frames of the SStream are discarded upon reception.
(40) The DISC indication is then reset by the RSVProc (step S41) until duration T.sub.spor is elapsed (step S40).
(41) If the DISC indication is not set, the SStream's frames are forwarded to the sporadic stream queue on the port addressed by the forwarding information contained in the frames' header. This queue is immediately served by the output port since the associated gate is opened as programmed by the RSVFrame.
(42) Once T.sub.spor is elapsed (step S42) and the sporadic stream queue is empty (step S43), the RSVProc re-opens the window associated with the normal traffics (step S45) and removes the SStream window (step S44).
(43) The Sporadic Stream transmission acknowledgement can be performed as follows.
(44) Upon reception of an RSVFrame by the Listener, the latter can perform the following operations: modifies the forwarding information in the RSVFrame's header so that it can be forwarded on the backward direction of the path sets the FBInd flag to backward loops back the RSVFrame to its transmission port
(45) The invention can be thus targeted at packet-switched networks capable of forwarding pre-emption. It is intended at providing ultra-low latency data transfer to time-critical applications that cannot be scheduled (unpredictable). Typically, it can be applied in embedded control networks such as industrial or automotive networks involving sporadic streams issued by alarms and/or measurements sensors for example.
(46) More details about time window scheduling and traffic management mechanisms in IEEE 802.1 TSN networks can be found in documents EP-15305221 and EP-16305268 (EP patent application filing numbers).
(47) The present invention can be embedded in a computer program product (an algorithm of which is described above with reference to
(48) While there has been illustrated and described what are presently considered to be the preferred embodiments of the present invention, it will be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from the true scope of the present invention. Additionally, many modifications may be made to adapt a particular situation to the teachings of the present invention without departing from the central inventive concept described herein. Furthermore, an embodiment of the present invention may not include all of the features described above. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the invention include all embodiments falling within the scope of the invention as broadly defined below.