Device and method for routing flows in time-sensitive networks

EP4527055A1Pending Publication Date: 2025-03-26COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023723557
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-20
Filing Date
2023-05-04
Publication Date
2025-03-26

AI Technical Summary

Technical Problem

Current routing methods in time-sensitive networks (TSN) fail to effectively consider latency constraints, leading to complexity and impossibility in planning transmission for certain flows, especially in dynamic scenarios like reconfigurable industrial production lines and 5G/6G core networks where flows are not known in advance.

Method used

A method that calculates routing paths by generating k shortest paths and determining tolerance intervals for each switch, allowing for flexible time slot allocation based on path latency, ensuring packets arrive within deadlines, and iteratively selecting paths with available time slots.

Benefits of technology

This approach ensures efficient routing in TSN networks by minimizing latency and accommodating dynamic changes, guaranteeing timely data transmission even in scenarios with unknown flows, thus enhancing the precision and reliability of real-time communications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The present invention proposes a method for routing (600) a flow of data in a time-sensitive deterministic network, to route the packets of a flow of data from a transmitting terminal to a receiving terminal, the network comprising switches for the transmission of the packets, the switches being configured to implement predefined transmission planning over repeating time cycles having time slots of fixed length. The routing method of the invention utilises the latency of a path as a metric to calculate (604) the k shortest paths between a transmitting terminal and a receiving terminal then, for each path, determines, for each switch located on this path, a tolerance interval (406) which defines the length of time for which the packets from a stream can wait at the switch before being transferred to the next switch without exceeding the deadline for arrival of each packet from the stream at its destination, in order to reserve free slots (408).
Need to check novelty before this filing date? Find Prior Art

Description

DESCRIPTION Title of the invention: Device and method for routing flows in time-sensitive networks

[0001] Scope of the invention

[0002] The present invention is in the field of telecommunication networks, and relates more particularly to a multi-QoS flow routing method in deterministic networks or time-sensitive networks (TSN).

[0003] State of the Art

[0004] TSN is a set of standards, defined by the IEEE 802.1 working group, that extend the Ethernet network to meet the stringent requirements of real-time communications.

[0005] This type of network is intended for use primarily in industrial networks, in-vehicle networks, and 5G / 6G core networks. By extending and adapting existing Ethernet standards, TSN creates convergence between information technology (IT) and industrial operations technology (OT) in industrial networks. This means that critical real-time data and data-intensive applications can be implemented over a single Ethernet cable without interfering with each other.

[0006] TSN specifications provide deterministic services, enabling real-time data transmission within a predictable framework and a known time frame in industrial environments, such as machine control applications in production processes, from sensor to cloud. TSN offers guaranteed latency (the time it takes for a data packet to travel from source to destination across a network) and quality of service with time synchronization.

[0007] The various documents of the TSN standard offer a complete real-time communication solution when used together in a coordinated manner. Each standard specification is self-contained and can be used independently. The specifications can be grouped into three categories: - Time synchronization corresponding to the IEEE 802.1 AS standard, where all devices participating in real-time communication must have a common understanding of time. - Planning or scheduling corresponding to the IEEE 802.1 Qbv standard for shaping TSN traffic, where all devices participating in real-time communication follow the same rules in the processing and transmission of communication packets. - Routing or selection of communication paths, path reservations and fault tolerance, where all devices participating in real-time communication respect the same rules in the selection of communication paths and in the reservation of bandwidth and times, possibly using several simultaneous paths to obtain fault tolerance.

[0008] The control mechanism of a TSN traffic can then be considered from two aspects: (1) scheduling or Qbv planning, which allows defining which frame of a flow to send and when to send it; and (2) routing corresponding to the selection, for each flow, of a path from the source to the destination.

[0009] To implement scheduling, certain formulas or restrictions are introduced to meet time requirements. These are generally solved as optimization problems using Integer Linear Programming (ILP), or as decision problems using Satisfiability Modulo Theories (SMT). Therefore, finding a scheduling method is equivalent to solving an NP-hard problem.

[0010] Therefore, it becomes too complex to respect the computation time limit of large-scale networks to try to solve jointly the two aspects of scheduling and routing.

[0011] A typical solution is to solve the routing problem first, and then the scheduling problem.

[0012] In a common approach, routing is calculated based on the shortest path in terms of hop count. Then, once the routes are determined, the Qbv schedule is calculated based on these routes.

[0013] This approach is not optimal in the sense that the route calculation does not take into account the constraints of the flows in terms of latency, nor the fact that a Qbv planning is in progress on the switches constituting the TSN network.

[0014] Qbv scheduling provides a mechanism for ensuring bounded latencies. It allows switches in a TSN to control traffic in queues of switch output ports, according to a predefined transmission schedule (the IEEE 802.1 Qbv time scheduler), and thus guarantee the quality of priority traffic. The IEEE 802.1 Qbv time scheduler is designed to separate communication on the Ethernet network into repeating time cycles of fixed length. Within these cycles, different time slices can be configured and assigned to one or more of eight Ethernet priorities.

[0015] Switches serve as intermediaries between data stream sending terminals (Talker(s)) and receiving terminals (Listener(s)), managing the multiplexing of data, i.e. its reception, processing and retransmission.

[0016] Figure 1 schematically and simply illustrates a TSN network composed of a plurality of source equipment (T1, T2, T3) and one destination equipment (L1) connected to switches (S1, S2, S3, S4, S5) via Ethernet links.

[0017] In this example, it is assumed that three TSN streams (ST3, ST4, ST5) going to the same destination (L1) have latency constraints, for example a maximum latency of 200ps for the ST3 stream (latencyMax3= 200ps), a maximum latency of 10ms for the ST4 stream (latencyMax4= 10ms) and a maximum latency of 500ps for the ST5 stream (latencyMax5= 500ps).

[0018] According to the aforementioned common approach, these three flows will take the same route (i.e., the shortest path, for example via switches S2 and S3), then The scheduler will decide on a new cycle incorporating three time slots for these three streams. However, when the cycle (calculated on the output port of switch S3 connected to the destination terminal L1) cannot include all the streams because it becomes full, as illustrated in Figure 1 where the cycle allocates remaining time slots for streams ST1 to ST4 and can no longer take into account stream ST5, the scheduler (i.e., the scheduling module) could decide (i.e., produce the result or information) that the system configuration is not feasible.

[0019] Thus, in this simplified example, it appears that with the current approach, considering only the number of hops (the shortest path) in the calculation of routes, can lead to the selection of the same route for all flows, and therefore can lead to complexity in the calculation of the Qbv planning, or even an impossibility of planning the transmission of certain flows.

[0020] Furthermore, this current approach is not suitable for emerging scenarios such as reconfigurable production lines in Industry 4.0, with a 5G core based on a TSN network. Indeed, in these types of scenarios, the system is considered open because the flows are not all known in advance before network deployment, and the Qbv planning mechanism is therefore subject to reconfiguration to meet the application requirements of critical flows. In these systems, to guarantee the accuracy of a manufacturing process and minimize any defects, devices such as robots, actuators, and sensors must communicate with each other rapidly because they must react very quickly to the command and control system, or to unexpected events.

[0021] Also, in order to respond to scenarios envisaged in industry 4.0 where production lines are reconfigurable (which implies a dynamic in the industrial network), or to respond to the scenario of integrating TSN technology into the 5G / 6G core where flows are not known in advance, there is a need for algorithms that meet the strict requirements of real-time communications.

[0022] There are some approaches that partially address these issues.

[0023] The IEEE 802.1 Qcc standard provides two main approaches (centralized and distributed) for configuring TSN mechanisms (IEEE, “IEEE Standard for Local and Metropolitan Area Networks - Bridges and Bridged Networks Amendment 31: Stream Reservation Protocol (SRP) Enhancements and Performance Improvements”, IEEE 802.1 Qcc-2018). This standard emphasizes that the centralized approach is preferred for configuring IEEE 802.1 Qbv. However, this standard does not provide the algorithms for determining routes and generating the Gate Configuration Lists (GCLs) to be deployed in the network.

[0024] In the literature, the main approach generally relies on engineering tools: simulation tools such as "RTaW-Pegase" or mathematical optimization tools such as ILP ("Integer Linear Programming") formulations or SMT ("Satisfiability modulo Theories") solvers.

[0025] However, these engineering tools do not allow us to ensure the aspect of the dynamics expected by all the new scenarios envisaged in the future, such as that of open systems in which the arrival of flows is not known in advance.

[0026] For example, the article by Nayak, NG, Duerr, F., & Rothermel, K. (2018), Routing algorithms for IEEE802.1 Qbv networks, ACM SIGBED Review, 15(3), 13-18, proposes a routing algorithm based on the ILP technique that aims to reduce the number of flows to be scheduled in each switch. However, the main drawback of this type of technique is the execution time, which is unsuitable for managing and configuring a TSN network in a dynamic manner.

[0027] The articles by Singh, S. (2017), Routing algorithms for time-sensitive networks (Master's thesis), and by Ojewale, MA, & Yomsi, PM (2020), Routing heuristics for load-balanced transmission in TSN-based networks, ACM Sigbed Review, 16(4), 20-25, proposed routing heuristics that consider the maximum scheduled traffic load (MSTL) as the route calculation metric. For flow scheduling, Singh, S. relies on the satisfiable modular theory (SMT solver). The algorithm of Routing aims to minimize this metric to find the path for each of the flows.

[0028] The drawback of the routing algorithms proposed in the literature is that they decide routes solely based on the volume of traffic to be scheduled, without taking into account the latency constraints associated with these flows. Thus, with this type of routing algorithm, flows with strict latency constraints could still take longer paths, and consequently, their latency constraints would not be met.

[0029] Another known approach is described in the article by Huang, K., Wu, J., Jiang, X., Xiong, D., Huang, K., Yao, H., ... & Liu, Z. (2020), A period-aware routing method for IEEE 802.1 Qbv TSN networks, Electronics, 10(1), 5, which proposes a routing algorithm that takes the period of the flows into account. First, the algorithm organizes the flows according to a flow combinability metric, which reflects the ability of the flows to be grouped together in the same sequence. Second, the routing algorithm is based on a cost metric calculated using the following equation: Cost = MSOW + K*hops, where the parameter 'MSOW' is a metric invented by the authors to measure the combinability of flows, the parameter 'hops' represents the path length, and the parameter 'K' is a user-defined weight to penalize path length relative to the 'MSOW' parameter. The drawback of this solution lies in the choice of the parameter 'K', which, depending on its value, can impact the algorithm's performance. Furthermore, this algorithm does not take into account flow constraints in terms of latency.

[0030] Also, there is no known routing algorithm solution for time-sensitive networks that takes into account the latency constraints of the flows while respecting the application requirements of these flows, such as the requirement of just-in-time arrival.

[0031] The present invention addresses these various needs.

[0032] Summary of the invention

[0033] An object of the present invention is a method and a device for its implementation, enabling the calculation of flow routing in deterministic networks.

[0034] Advantageously, the method of the invention, in addition to considering the Qbv planning which is already configured in the switches forming part of the paths, considers the latencies of the data flows as metrics for determining the routing paths.

[0035] Unlike known routing methods, the proposed solution introduces a tolerance interval which will give the scheduler more flexibility to determine time slots to allocate to flows, when a Qbv schedule is already configured on the switches.

[0036] The present invention can be implemented in industrial networks (fields of the factory of the future, industry 4.0 / highly reconfigurable factories), intra-vehicular networks (fields of vehicles of all types: car, truck, bus, train, boat...), or even in the core of the 5G / 6G network (to carry real-time communications).

[0037] To achieve the desired results, a method is proposed for routing a data stream in a time-sensitive deterministic network, to route packets of a data stream from a sending terminal to a receiving terminal. The network includes switches for packet transmission, said switches being configured to implement a predefined transmission schedule over repeated time cycles having fixed-length time slots. The method is implemented by computer and comprises steps consisting of: - generate, taking into account a path latency parameter, a set of 'k' shortest paths between the sending terminal and the receiving terminal; - for a path 'm' among the 'k' paths: - calculate for each switch in this path, a tolerance interval on the cycle duration, the tolerance interval defining a duration during which the packets of said data flow can remain at said switch before being transmitted, without exceeding a deadline for arrival at the receiving terminal; - determine if a time slot can be reserved on the predefined cycle for each switch, and if so, select that path to route said data flow; or - if there is one or more switches without a time slot that can be reserved, determine if a time slot can be made available within the tolerance interval calculated for each switch, and if so select that path to route said data flow, or if not iterate the previous steps of calculating tolerance interval and determining time slot for another path 'm+1' among the 'k' paths.

[0038] The invention can be implemented according to alternative or combined embodiments, where: - the step of generating the 'k' shortest paths consists of implementing a Yen algorithm. - The path latency parameter is calculated from the propagation delay and the average residence time of packets at a switch. - the tolerance interval is calculated on the basis of an equitable distribution between all switches in the path. - the tolerance interval is calculated based on the load of each switch in the path, and consists of assigning a larger tolerance interval to the more loaded switches. - the process includes steps to delay sending packets for busier switches, and to speed up sending packets for less busy switches. - the process includes a step of cancelling time slot reservations made on switches preceding a switch for which there is no available time slot in the tolerance interval. - the process includes a preliminary step of synchronizing all switches and terminals connected to the TSN network with each other.

[0039] The invention also relates to a data stream routing device in a time-sensitive deterministic network, for routing packets of a stream of data from a sending terminal to a receiving terminal, the network comprising switches for the transmission of packets, said switches being configured to implement a predefined transmission schedule over repeated time cycles having fixed-length time slots, the device comprising means for implementing the steps of the method of the invention.

[0040] Advantageously, the method of the present invention can be implemented in both network management infrastructures presented in the IEEE 802.1 Qcc standard, namely, the centralized infrastructure and the distributed infrastructure.

[0041] In one embodiment for the centralized approach, the process is executed at the level of the central CNC controller (“Central Network Controller” in English).

[0042] In one embodiment for the distributed approach, each switch in a TSN determines the allocation of time slots and publishes this allocation to its neighbors.

[0043] The invention also relates to a computer program product which includes code instructions for carrying out the steps of the process of the invention, when the program is executed on a computer.

[0044] Description of the figures

[0045] Figure 1 is a simplified example to illustrate the routing problem in a TSN network.

[0046] Other features and advantages of the invention will become apparent from the following description and the figures in the accompanying drawings, in which:

[0047] Figure 2 illustrates the measurement of the propagation delay between two nodes of a TSN network;

[0048] Figure 3 illustrates the exchanges between nodes of a TSN network to synchronize clocks;

[0049] Figure 4 illustrates the identification of available time slots within a tolerance range, according to one embodiment of the invention;

[0050] Figure 5 illustrates, on a simplified example, the implementation of the routing method of the invention in a TSN network;

[0051] Figure 6a and Figure 6b are a flowchart of the steps in the process to determine a routing path according to one embodiment of the invention;

[0052] Figure 7a illustrates a TSN network environment according to a centralized IEEE 802.1 Qcc approach, allowing the implementation of the method of the invention;

[0053] Figure 7b illustrates a TSN network environment according to an IEEE 802.1 Qcc distributed approach, enabling the implementation of the method of the invention.

[0054] Detailed description of the invention

[0055] The detailed description is for a deterministic TSN network environment according to the IEEE 802.1 standard and associated standards. In the description, various terms used with acronyms such as Qbv, Qcc, AS, etc., should be understood as referring to the corresponding term according to the IEEE 802.1 standard. Thus, for example, the Qbv cycle means the cycle as defined by the IEEE 802.1 Qbv standard.

[0056] It should be noted that the expressions 'time range', 'time slot', 'time slots' are used interchangeably to refer to a duration of allocation of temporal resources.

[0057] In order for the planning to ensure the bounded latencies required in the context of deterministic networks, all TSN switches as well as terminals connected to a TSN network are considered to be perfectly synchronized with each other, in particular by following the IEEE 802.1 AS standard.

[0058] According to TSN principles known to those skilled in the art, one node in the network acts as the master (GM), the "GrandMaster" as it is commonly called, while the other nodes act as slave nodes. The GM can be elected by a human or by an algorithm such as the "Best Master Clock Algorithm" (BMCA).

[0059] The IEEE 802.1 AS standard allows TSN (i.e., TSN network) devices to synchronize their clocks with the reference clock of a GM. The known protocol "Precision Time Protocol" (PTP) and its improved version, the gPTP protocol The Generalized Precision Time Protocol (GPT) is used to synchronize clocks. The goal of this protocol is to ensure that application requirements for time synchronization are met. Its role is to synchronize terminals and switches belonging to the same domain.

[0060] This protocol is based on the principle of master clocks and slave clocks. The master clock, which serves as the time reference, is called the "reference clock," and its time can optionally be synchronized (via GPS, NTP, etc.) with a clock called the global clock.

[0061] The GM regularly announces its presence. It sends its clock signal to the slaves at a configured frequency so that they can synchronize their clocks with the GM's. The standard's operation relies on the exchange of synchronization information such as timestamps for sending and receiving gPTP (or PTP) type messages.

[0062] To ensure precise time synchronization, the IEEE standard 802.1 AS proposes to measure the propagation delay between two nodes of a TSN network in the following way, illustrated in Figure 2:

[0063] The master port of the first system in the TSN network ("Time-aware system 1") sends a delay request message 'Pdelay_Req', while capturing the send timestamp 't1'.

[0064] The term “Time-aware System” is defined in English in the IEEE 802.1 AS standard as “a device that contains one or more PTP Instances and / or PTP services (e.g., Common Mean Link Delay Service).” This definition means that it is equipment that is capable of participating in time synchronization as defined in the IEEE 802.1 AS standard, that is, equipment capable of doing “Hardware Timestamping” and exchanging time messages with its neighbors.

[0065] Upon receiving the 'Pdelay_Req' message, the slave port of a second system on the TSN network ("Time-aware system 2") retrieves the 't2' timestamp of the message's reception.

[0066] The slave port of the second system "Time-aware system 2" sends a response message 'Pdelay_Resp' containing the receive timestamp 't2', and retrieves the send timestamp 't3' from this response message 'Pdelay_Resp'.

[0067] The master port of the first system "Time-aware system 1" receives the response message 'Pdelay_Resp' and captures the reception timestamp 't4'.

[0068] The slave port of the second system "Time-aware system 2" sends a follow-up message 'Pdelay_Resp_Follow_Up' containing the send timestamp 't3' of the previous reply message 'Pdelay_Resp'.

[0069] At the end of this exchange of three messages, the first system "Time-aware system 1" has the four Timestamps (t1, t2, t3, t-4), which will allow the calculation of an average propagation delay 'D', according to the following equation: tl) 2

[0070] The master-slave delay £ t4-t3' and the slave-master delay £t2-t1 ' which are determined as the differences between the respective timestamps allow to calculate an average delay from which the slave knows the difference between his clock and the master's clock, which then allows him to set his own clock.

[0071] The IEEE 802.1 AS standard includes a second protocol exchange phase that complements the first phase and allows clock synchronization between multiple systems in a time-sensitive network. Figure 3 illustrates this exchange on three systems (i-1, i, i+1).

[0072] The master port of the first system 'i-1' ("Time-aware system i-1") sends a synchronization message 'Sync' to a slave port of a second system 'i' ("Time-aware system i"), while capturing the sending timestamp 't(s,i-1)'.

[0073] The slave port of the second system 'i' ("Time-aware system i") receives the synchronization message 'Sync' and captures the corresponding reception timestamp 't(r, i)'.

[0074] The master port of the first system 'iT' ('Time-aware system i-1') sends to the slave port of the second system 'i' a follow-up message 'FollowJJp' containing the sending timestamp 't(s,i-1)' of the previous synchronization message.

[0075] A master port of the second system T ("Time-aware system i") can in turn send the synchronization message 'Sync' to a slave port of a third system 'i+T ("Time-aware system i+1"), while capturing the send timestamp. £ t(s,i)' corresponding.

[0076] The slave port of the third system 'i+1' ("Time-aware system i+1") receives the synchronization message 'Sync' and captures the corresponding reception timestamp 't(r, i+1 )'.

[0077] The master port of the second system 'i' ("Time-aware system i") sends to the slave port of the third system 'i+1' the follow-up message 'FollowJJp' containing the sending timestamp 't(s,i-1)' of the first synchronization message sent by the first system 'iT.

[0078] In this way, the second system 'i' and the third system 'i+1' can synchronize to the reference clock of the first system 'iT'.

[0079] As previously stated, the routing method of the invention considers that all TSN switches and terminals connected to the TSN network are considered perfectly synchronized with each other, to ensure the "Just-in-Time" property required by certain flows.

[0080] Through the time synchronization put in place, the switches can then retrieve information on the latencies of the routes or paths (by retrieving the propagation delays and the average residence time of the packets at the switch level to determine the latency of each route or path).

[0081] The routing method of the invention aims to ensure that packets arrive at their destination "just in time," that is, neither before nor after the deadline. Indeed, for example, in closed-loop systems, messages sent by a sensor must arrive precisely when a controller needs to check if a message has been received from that sensor.

[0082] The deadline is a predefined parameter to meet the application's workflow requirements, and it can be set by the application operator or designer. For example, for a "sensor / PLC controller / actuator" loop that requires a maximum latency, Data recorded by the sensor must reach the PLC controller within a specific timeframe. The time limit parameter can also be configured on the PLC controller, which includes a loop to monitor for new data from the sensor.

[0083] The general principle of the routing method of the invention is to exploit information on network topology as well as data from the IEEE 802.1 AS protocol, in order to calculate and choose routes that minimize latency for each flow.

[0084] The data coming from the IEEE 802.1 AS protocol will include propagation time between nodes and average packet residence time at a switch.

[0085] The routing method of the invention uses path latency as a metric to select or reject that path. The method calculates the k shortest paths between a sending terminal and a receiving terminal, and then, for each path, determines a tolerance interval for each hop along the route (i.e., for each switch located on that path).

[0086] The tolerance interval of a switch will allow you to define how long packets of a flow that has its own latency constraint can wait at the switch (i.e. not be retransmitted as soon as they arrive) before being transferred to the next node of the route, without exceeding the deadline for the arrival of each packet of the flow at the destination ("deadline").

[0087] Thus, a tolerance interval TI? for a flow STj at the level of a SW switch t , is calculated taking into account the deadline for the flow, the path latency and the number of hops (i.e. switches) on that path.

[0088] Advantageously, calculating a tolerance interval for each switch in a path provides latitude to the planning module for choosing the time slots to reserve for each flow.

[0089] Indeed, if a time slot that must be reserved for an STj flow at the level of an Sl / 7 switch £ If the specified value is not available, the scheduling algorithm then takes into account the tolerance interval that was calculated for this switch, and checks if it can select another time slot while remaining within the tolerance range.

[0090] Figure 4 illustrates, over the duration of a cycle, an identification of available time slots within a tolerance interval.

[0091] In TSN networks, to allocate a time slot to a given flow, scheduling algorithms generally determine an available time slot over the entire Qbv cycle (excluding the 402 time slots dedicated to network control traffic exchanged between switches), and allocate, i.e. reserve, this slot for the flow.

[0092] In Figure 4, it is illustrated in hatching that two time slots 404, which are calculated by the scheduling algorithm to be reserved for one flow, are already occupied, i.e., reserved for another flow. According to the principle of the invention, the scheduling algorithm takes into account the tolerance interval 406 calculated for this switch during routing to determine if other time slots are free while remaining within the range covered by the tolerance interval. In the example in Figure 4, new subsequent time slots can thus be allocated from among the existing available time slots 408 within the tolerance interval 406.

[0093] The routing method of the invention allows, for each flow to be transmitted from a sending terminal to a receiving terminal within a TSN network, to calculate at least two possible paths using the latency of each path as a metric, and then to verify the possibility of reserving available time slots within the tolerance interval which is calculated for each switch located on a path.

[0094] Figure 5 illustrates an example of the implementation of the routing method of the invention in a simplified TSN network consisting of four TSN access switches (S1, S2, S3, S4). A receiving terminal L1, which is connected to the TSN network, subscribes to three transmitting terminals (T1, T2, T3), which are themselves connected to the TSN network. The receiving terminal receives streams (i.e., data packets) from each transmitter via different paths, the streams passing through different switches.

[0095] As illustrated, an ST1 stream emitted by transmitter T1 is transmitted to receiver L1 via switches S1 and S3, an ST2 stream emitted by transmitter T2 is transmitted to receiver L1 via switches S2 and S3, and an ST3 stream emitted by transmitter T3 is transmitted to receiver L1 via switches S2 and S3.

[0096] Transmitter T3 must transmit a new ST4 stream to receiver L1. Implementing the routing method of the invention allows the routing path for this new ST4 stream to be determined.

[0097] According to the example, the ST4 flow cannot take the same path (S2 / S3 / L1) as the path calculated for the ST3 flow from the same transmitting terminal T3 and cannot take the same path (S2 / S3 / L1) as the path calculated for the ST2 flow from the transmitting terminal T2, because there are no more time slots available in the cycle for this switch S3 (illustrated on the cycle diagram above).

[0098] Also, the routing method of the invention, after determining that the first calculated path (S2 / S3 / L1) is not reservable for the ST4 flow, will calculate an alternative path to search for another switch than S3 having available time slots, while respecting the tolerance interval.

[0099] In the illustrated example, switch S4 has available time slots that can be allocated to the ST4 flow (shown in the bottom cycle diagram). The process then determines that the new ST4 flow can be routed from the transmitting terminal T3 to the receiving terminal L1, passing successively through switch S2 and then switch S4 along a route (T3 / S2 / S4 / L1).

[0100] A person skilled in the art understands that Figure 5 is taken to illustrate in a simplified way the principle of the method of the invention, but that the latter can be implemented on a TSN network comprising a plurality of transmitting terminals, receiving terminals, switches, and for many flows to be routed.

[0101] Figure 6a and Figure 6b illustrate, in flowchart form, a method of implementing steps of the 600 routing process of the invention, applied to the routing of a new flow.

[0102] Step 602: In an initial step, the process establishes or retrieves the network configuration in the form of a graph G identifying the source node (src: sending terminal), the destination node (dst: receiving terminal), the intermediate nodes (switches that can connect the source to the destination), and the links between the nodes. In this initial step, the process defines the number k of shortest paths to be calculated and defines the path latency as the metric for the calculation. This metric can be calculated from the propagation delay and the average dwell time of packets at the switch, values ​​that can be provided by the IEEE 802.1 AS standard.

[0103] Step 604: In a subsequent step, the process allows us to calculate, for this graph, the 'k' shortest paths taking into account the latency metric.

[0104] In one embodiment, the well-known Yen algorithm is used to find the 'k' shortest paths.

[0105] The process then enters a calculation loop for each path 'm' among the 'k' shortest paths.

[0106] Step 606: the process allows the calculation of tolerance intervals TI? associated with each switch in path 'm'.

[0107] In one embodiment, the tolerance interval is calculated on the basis of an equal distribution among all switches that are on a path between a transmitter and a receiver, of an overall latency budget tolerated (by application flows).

[0108] The tolerance interval TI? for an STj flow at a SWt switch is calculated using the following equation: j deadline STj - path latency STj 1 number of hops

[0109] In another embodiment, the distribution of the overall tolerated latency budget can be done in an inequitable way, and allocated according to different criteria, for example based on the load of each switch in the path.

[0110] In this embodiment, the tolerance interval can be calculated according to the following equation: , represents the load coefficient of the SW switch;

[0111] The load factor can be calculated using the following equation: OQ n i)pi ux represents the number of incoming flows into the SW switch; and max represents the load of a path as a function of number of incoming flows to the switches that are part of this path.

[0112] In a scenario where the first switch on a route calculated for sending a flow (as a route of the 'k' shortest paths) is heavily loaded, the process allows this first switch to be assigned a larger tolerance range than the other switches. Thus, the first switch can be configured to delay sending packets for the flow in question, while the remaining switches will be configured to accelerate the sending of these packets in order to avoid adding latency to the path.

[0113] Step 608: The next step is to identify a time slot to reserve for the new flow in each SW™ switch on the 'm' path.

[0114] Step 610: The process determines if a time slot is available and reservable in each SW™ switch in path 'm'.

[0115] Step 612: If there is no available time slot on the SW™ switch, the process allows verification of whether a time slot can be made available by considering the tolerance interval that has been calculated for this switch.

[0116] Step 614: if it is not possible to reserve a time slot on switch SW^a within the tolerance interval, then the path 'm' is not a route for carrying the flow in question, and the process allows the time slot reservations made on previous switches to be cancelled.

[0117] Step 616: the process allows us to move to the next path "m = m + 1" in the list of 'k' shortest paths.

[0118] Step 618: The process checks if all 'k' paths have been processed. If any paths have not yet been processed, the process returns to step 606. calculate tolerance intervals for each switch associated with the next path to be processed.

[0119] Step 620: If all paths have been processed, and it has not been possible to reserve time slots to route the new flow, the process ends by indicating that no path is available to process the new flow.

[0120] Step 622: Returning to step 610, if a time slot is available on the SW™ switch of path 'm', the process allows this time slot to be reserved.

[0121] Step 624: the process allows us to move to the next switch on the path 'm'.

[0122] Step 626: The process checks whether all switches in the path 'm' being analyzed have been processed. If not all switches in path 'm' have been processed, the process loops back to step 610 to determine if it is possible to reserve time slots in the next switch, and continues with the steps described.

[0123] Step 628: If all switches have been processed, meaning that it has been possible to allocate time slots in all switches of path 'm', the process ends by indicating the selected path to process the new flow.

[0124] In one embodiment, step 608 to identify whether time slots are reservable in a switch is done according to the method described in the Applicant's patent application FR 2112233.

[0125] To ensure the configuration and management of TSN networks, the IEEE 802.1 Qcc standard primarily proposes two approaches: a centralized approach and a distributed approach. The described procedure can be implemented in either of these two configurations.

[0126] Centralized approach:

[0127] The centralized approach provided by the IEEE 802.1 Qcc standard is illustrated by Figure 7a, where all TSN switches in the network are controlled, managed and configured by a centralized entity CNC (“Centralized Network Configuration”). Terminals (speakers / listeners) using the TSN network provide their data stream characteristics to a Centralized User Configuration (CUC) entity using third-party middleware such as OPC UA, ROS, and DDS. The CUC's role is to aggregate requests from terminals / applications to use the TSN network and provide them to the Network Control Center (CNC). The CNC analyzes these requests while also considering the current capacity of the TSN network. If resource reservations for new streams are available, the CNC informs the CUC that these terminals / applications can use the network. The CNC can also specify when these terminals / applications should use the network. For example, it can request that an application begin sending its data in x milliseconds.In cases where resource reservation is impossible for certain flows, the CNC rejects the requests associated with those flows. In this approach, the method of the invention can be implemented and deployed at the CNC level.

[0128] Distributed approach:

[0129] In the case of distributed network management, as illustrated in Figure 7b, an initial phase is necessary where the TSN access switches must exchange messages with each other to converge on a time slot allocation. Once convergence is achieved, each access switch allocates a time slot for the new flow from among its associated time slots, and then propagates this information to the TSN core switches so they can incorporate this new reservation.

Claims

Claims: A method for routing a data stream in a time-sensitive deterministic network, for routing packets of a data stream from a sending terminal to a receiving terminal, the network comprising switches for the transmission of packets, said switches being configured to implement a predefined transmission schedule over repeated time cycles having fixed-length time slots, the method being implemented by computer and comprising steps consisting of: - generate (602, 604) taking into account a path latency parameter, a set of 'k' shortest paths between the sending terminal and the receiving terminal; - for a path 'm' among the 'k' paths: - calculate (606) for each switch in this path, a tolerance interval on the cycle time, the tolerance interval defining a duration during which packets of said data stream may remain at said switch before being transmitted, without exceeding a deadline for arrival at the receiving terminal; - determine (608, 610, 622, 624, 626) whether a time slot can be reserved on the predefined cycle for each switch, and if so, select (628) that path to route said data flow; or - if there is one or more switches without a time slot that can be reserved, determine (612, 614, 616, 618) whether a time slot can be available within the tolerance interval calculated for each switch, and if so select (620) that path to route said data flow, or if not iterate the previous steps of calculating tolerance interval and determining time slot for another 'm+T path among the 'k' paths.

2. The method according to claim 1 wherein the step of generating the 'k' shortest paths consists of implementing a Yen algorithm. The method according to claim 1 or 2, wherein the path latency parameter is calculated from the propagation delay and the average dwell time of packets at a switch. The method according to any one of claims 1 to 3, wherein the tolerance interval is calculated based on an equal distribution among all switches in the path. The method according to any one of claims 1 to 3, wherein the tolerance interval is calculated based on the load of each switch in the path, and comprising allocating a larger tolerance interval to the more heavily loaded switches. The method according to claim 5, comprising steps of delaying packet transmission for more heavily loaded switches and accelerating packet transmission for less heavily loaded switches.The method according to any one of claims 1 to 6 includes a step of canceling time slot reservations made on switches preceding a switch for which no available time slot exists within the tolerance interval. The method according to any one of claims 1 to 7 includes a preliminary step of synchronizing all switches and terminals connected to the TSN network with each other. A computer program product, said computer program comprising code instructions for performing the steps of the method according to any one of claims 1 to 8, when said program is executed on a computer. A data stream routing device in a time-sensitive deterministic network for routing packets of a data stream from a sending terminal to a receiving terminal, the network comprising switches for packet transmission, said switches being configured to implement a predefined transmission schedule over repeated time cycles having fixed-length time slots, the device comprising means for implementing the steps of the method according to any one of claims 1 to 8. Use of the device according to claim 10 in a time-sensitive network implementing a centralized network architecture. Use of the device according to claim 10 in a time-sensitive network implementing a distributed network architecture.Use of the device according to claim 10 in a time-sensitive deterministic TSN implementing a centralized or distributed network architecture by means defined according to the specifications of the IEEE 802.1 Qcc standard.