WO2023088702A1 - Configuration dynamique de la planification de transmission des flux dans les réseaux déterministes - Google Patents

Configuration dynamique de la planification de transmission des flux dans les réseaux déterministes Download PDF

Info

Publication number
WO2023088702A1
WO2023088702A1 PCT/EP2022/080909 EP2022080909W WO2023088702A1 WO 2023088702 A1 WO2023088702 A1 WO 2023088702A1 EP 2022080909 W EP2022080909 W EP 2022080909W WO 2023088702 A1 WO2023088702 A1 WO 2023088702A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
time slots
network
switches
new
Prior art date
Application number
PCT/EP2022/080909
Other languages
English (en)
Inventor
Siwar BEN HADJ SAID
Michael BOC
Original Assignee
Commissariat A L'energie Atomique Et Aux Energies Alternatives
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat A L'energie Atomique Et Aux Energies Alternatives filed Critical Commissariat A L'energie Atomique Et Aux Energies Alternatives
Publication of WO2023088702A1 publication Critical patent/WO2023088702A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations

Definitions

  • the present invention is in the field of telecommunications networks, and more particularly relates to a method for the dynamic reconfiguration of the transmission planning of multi-QoS flows in deterministic networks or time-sensitive networks (TSN) "Time Sensitive Networking".
  • TSN time-sensitive networks
  • TSN is a set of standards, defined by the IEEE 802.1 working group, which extend the Ethernet network to meet the stringent requirements of real-time communications.
  • This type of network is intended to be used mainly in industrial networks, intra-vehicular networks, 5G/6G core networks.
  • TSN The TSN specifications (IEEE 802.1) provide deterministic services, allowing the real-time transmission of data in a predictable framework within a known space of time, in industrial environments, such as control applications machines in production processes, sensor to the cloud (“cloud” according to established anglicism). TSN provides guaranteed latency and quality of service with time synchronization.
  • Time synchronization corresponds to the IEEE 802.1 AS standard, where all devices participating in real-time communication must have a common understanding of time.
  • the IEEE 802.1 Qbv standard which is one of TSN's main standards, and designated by Qbv in the remainder of the description, offers a mechanism for ensuring bounded latencies. It allows switches in a TSN network to control traffic in switch egress port queues, according to a predefined transmission schedule (the IEEE Timing Scheduler
  • the IEEE 802.1 Qbv time scheduler is designed to separate communication on the Ethernet network into repeated time cycles of fixed length. Within these cycles, different time slots can be configured and assigned to one or more of eight Ethernet priorities.
  • FIG. 1 schematically illustrates the structure of a switch making it possible to apply the Qbv planning principle in a compound TSN network a plurality of source/destination equipment connected to switches via Ethernet links.
  • Switch serve as intermediaries between transmitting terminals or Speaker(s) ("Talker(s)” in English) of data streams and receiving terminals or Listener(s) (" Listener(s)” in English), by managing the multiplexing of data, i.e. their reception, processing and retransmission.
  • Figure 1 shows a TSN switch 100 with only two input ports ("ingress port” in English) and a single output port ("egress port” in English), by way of non-limiting example on the number of input and output ports.
  • a first data stream, composed of 'A' data fragments, is received by a first input port 102
  • a second data stream, composed of 'B' data fragments is received by a second input port. entry 104.
  • the output of each of the input ports is coupled to a stream distribution module 108 which assigns the data of each stream to an appropriate queue, eight in number in general (Q0 yes 10-0 to Q7 yes 10-7), depending on the priority of each flow.
  • a priority filter determines which specific stream is transmitted to the corresponding priority queues according to a priority code point (PCP) .
  • PCP priority code point
  • Scheduled traffic (which has the highest priority by default) enters a priority queue, and unscheduled traffic enters a non-priority queue.
  • the output of the queues is associated with a structure 112 of logic gates, each logic gate having two states “open” or “closed”.
  • the current state of each gate is a function of the content of a GCL control list (“Gate Control List” in English) 114.
  • GCL control list (“Gate Control List” in English) 114.
  • the frames which are in the queue of associated with this gate can pass, and be transmitted to the output port 106 via the analog switch 112. This is for example illustrated for the queue Q7 with a bit set to '1' in the CGL at time t0 , which then makes it possible to transmit the data B to the output port 106.
  • a door is in a closed state (then corresponding to a bit set to 0 in the list), the frames that are in the queue associated with this door cannot be transmitted in the network.
  • the IEEE 802.1 Qcc standard provides two main approaches (the centralized one and the distributed one) to configure the TSN mechanisms [IEEE802.1 Qcc]. In this standard, it is emphasized that the centralized approach is the most favored to ensure the configuration of IEEE 802.1 Qbv. However, this standard does not provide the algorithms which make it possible to decide and generate the GCL to be deployed in the network.
  • simulation tools such as "RTaW-Pegase” or mathematical optimization tools such as ILP formulations ("Integer Linear Programming") or SMT solvers (“Satisfiability modulo Theories”).
  • these engineering tools are not suitable for an incremental and dynamic configuration like that of the IEEE 802.1 Qbv. Indeed, for these tools to be able to provide the correct Qbv configuration to deploy, it would be necessary to have a pre-knowledge of all the flows that could circulate in the TSN network. Even using these tools to generate the new IEEE802.1 Qbv configuration for each new flow, latencies would be added in the configuration due to having to retrieve the list of flows that exist there in the network, the topology, the characteristics of the new flow, and having to provide this information to the tool in order to find the Qbv configuration to deploy. This could take a few hours before being able to accept/reject the new flow and deploy the decided configuration. For these reasons, these engineering tools are rather suitable for determining a configuration for a closed network where the flows are known in advance and where there are no new flows during the operation of the network. They are intended for offline use before deploying the network.
  • the heuristic adopts the so-called hyper-period method, i.e. where the cycle duration corresponds to the least common multiple (lcm) of all the periods of the TSN flows. For this, it is necessary to have prior knowledge of the TSN streams that may be present in the network.
  • a disadvantage is that the hyper-period method complicates the allocation of resources, and the execution time of the heuristic increases according to the adopted cycle time. Indeed, the number of time slots to be reserved depends on the period of the flow and the cycle duration. For example, if the cycle is 1ms and the stream has a period of 200ps, there are 5 time slots to place for that stream. The greater the cycle_duration / flow_period ratio, the more complex the search for time slots available in the current cycle. Moreover, it is not explained in this article how the heuristic manages the reservation of time slots throughout the routing path of each flow.
  • the present invention meets these different needs.
  • An object of the present invention is a method and a device for its implementation, making it possible to quickly and dynamically calculate a configuration for planning the transmission of streams in deterministic networks.
  • the present invention addresses in particular the IEEE 802.1 Qbv configuration, online, as new flows arrive, in a network of TSN switches supporting the IEEE 802.1 Qbv mechanism.
  • the method of the invention makes it possible, when one or more new flows appear within a deterministic network, to quickly determine online a new flow transmission schedule, and makes it possible to deploy the new planning in the network so as to support this or these new flows without compromising the quality of service (QoS) of the other flows already present in the network.
  • QoS quality of service
  • the invention proposes an efficient distribution of time resources (i.e. time slots or “time slots”) between the access TSN switches (i.e. the switches directly connected to the transmitting and receiving terminals of data streams) in order to to ensure the temporal isolation of the flows and thus provide a solution to the interference that there could be between flows of the same priority arriving at the same switch and borrowing the same queue for the same output port.
  • time resources i.e. time slots or “time slots”
  • the distribution of time resources is dynamic and can be adapted according to the number of streams served by each TSN switch.
  • time slots are reserved for network control frames (for example, IEEE 802.1 AS time synchronization frames, LLDP topology discovery frames, etc.) and the rest of the ranges of time available on a basic cycle is distributed according to the method of the invention between the access TSN switches.
  • network control frames for example, IEEE 802.1 AS time synchronization frames, LLDP topology discovery frames, etc.
  • the allocation of time slots is based on a less complex algorithm than those presented in the prior art, and it makes it possible to accept/or reject a stream quickly.
  • the proposed solution for calculating a new planning adopts a cycle of a fixed duration which is reduced to a reference period, and in which the period of a periodic flow can be a multiple of the cycle.
  • this makes it possible to effectively reduce the number of time slots in the GCL, makes it easier to update the GCL and makes the configuration of the GCL simpler and more efficient.
  • the method proposed makes it possible to calculate a scheduling of the streams more quickly while guaranteeing low latency and effectively reducing the execution time.
  • the present invention can be implemented in industrial networks (domains of the factory of the future, industry 4.0 / highly reconfigurable factories), intra-vehicular networks (domains of vehicles of any type: automobile, truck, bus , train, boat, etc.), or even in the heart of the 5G/6G network (to convey real-time communications).
  • a method for the dynamic reconfiguration of a data stream transmission schedule in a time-sensitive deterministic network.
  • the data streams are sent by sender terminals to receiver terminals via switches grouping access switches SWj coupled to the sender and receiver terminals and core network switches to route the flows between the access switches, the switches being configured to apply stream transmission cycles according to a stream transmission schedule defined by a time scheduler, the method is implemented by computer and comprising the steps of: receiving at least one request to add a new stream STi in the network, the new stream having to be transmitted from a transmitter terminal to an access switch SWj; - determining if a flow transmission schedule is in progress for said access switch SWj;
  • a new flow transmission planning such that: the duration of the transmission cycle is the same for all the switches of the network; each transmission cycle includes the same number of time slots to transmit the streams; the time slots of a given cycle are distributed among all the access switches of the network; and determining for the access switch SWj if there are enough time slots available, among the number of time slots allocated to it, to transmit the new stream, according to the new schedule;
  • the time slots necessary for its transmission means one or more time slots over a cycle.
  • the step of determining whether a flow transmission planning is in progress for said access switch SWj comprises steps consisting in: identifying an output port Pk of said access switch SWj to transmit the new flow in the network; retrieving the current configuration of the transmission schedule for said output port P k ; And determining whether a stream transmission schedule is in progress on said output port P k .
  • the step of calculating a new flow transmission schedule includes the steps of: determining the number of access switches in the network; retrieve a predefined value or calculate a value for a fixed reference duration for a transmission cycle; dividing the fixed reference duration into a plurality of time slots of equal duration, the duration of a time slot being equal to the time required to send the smallest frame of a stream among the existing streams; and assigning over the fixed reference duration, to each access switch a number of time slots among the plurality of time slots, the number of time slots allocated to each access switch depending on the number of existing flows passing through each access switch.
  • the predefined or calculated value of the fixed reference duration corresponds either to the smallest period value among the critical flow periods received at system startup, or to the greatest common divisor of all the critical flow periods among the flows existing.
  • the method comprises a step consisting in reserving one or more control time slots for the network control traffic.
  • the method comprises a step of adding the new stream to a list of streams without allocation of time slots, if there are not sufficient time slots available to transmit the new stream.
  • the method further comprises steps making it possible to process the list of flows without allocation of time slots, said steps consisting in searching for a flow without allocation, whether there are time slots not used by the other access switches than that receiving said unassigned stream, and if so, the steps of allocating at least one of said unused time slots to said unassigned stream according to the priority of said unassigned stream.
  • the method further comprises, if there are no time slots not used by the other access switches than the one receiving said stream without allocation, steps consisting in determining whether said stream has a higher priority than a stream existing stream, and if so steps consisting in freeing the time slots of an existing flow of lower priority in order to allocate it to said flow without allocation.
  • the invention also relates to a device for the dynamic reconfiguration of a data stream transmission schedule in a time-sensitive deterministic network, the data streams being transmitted by transmitter terminals to receiver terminals via switches grouping together access switches SWj coupled to the transmitting and receiving terminals, and core network switches for routing the flows between the access switches, the switches being configured to apply flow transmission cycles according to a flow transmission schedule defined by a time scheduler, the device comprising means for implementing the steps of the method of the invention.
  • the method of the present invention can be implemented in the two network management infrastructures presented in the IEEE 802.1 Qcc standard, namely the centralized infrastructure and the distributed infrastructure.
  • the method is executed at the level of the central controller CNC (“Central Network Controller”).
  • CNC Central Network Controller
  • each switch of a TSN network determines the allocation of time slots and it publishes this allocation to its neighbors.
  • the invention also relates to a computer program product which comprises code instructions making it possible to perform the steps of the method of the invention, when the program is executed on a computer.
  • FIG.1 is a simplified example of the structure of a TSN switch
  • FIG.2 illustrates the reservation of control time slots for network control traffic in a basic Qbv cycle
  • FIG.3 illustrates an allocation of time slots for different TSN flows in a Qbv cycle of fixed duration, according to one embodiment of the invention
  • FIG.4a illustrates an example of distribution of time slots in a TSN network consisting of three access switches, according to one embodiment of the invention
  • FIG.4b illustrates an example of changing the distribution of time slots depending on the load of each access switch, according to one embodiment of the invention
  • FIG.5 is a flowchart of the steps of the stream transmission planning reconfiguration method, according to one embodiment of the invention.
  • FIG.6 is a flowchart of the steps of the method for recovering available time slots not used by the other access switches, according to one embodiment of the invention.
  • FIG.7 illustrates a TSN network environment according to a centralized IEEE 802.1 Qcc approach, making it possible to implement the method of the invention
  • FIG.8 is a flowchart to illustrate in a centralized network environment, different steps of the process for reserving network resources for new flows, according to one embodiment of the invention.
  • FIG.9 illustrates a TSN network environment according to an IEEE 802.1 Qcc distributed approach, making it possible to implement the method of the invention.
  • the general principle of the invention for proposing a dynamic configuration architecture for the planning of frame transmissions at the level of TSN switches is based on an approach which makes it possible to decide to allocate or free up time slots for streams, in a fast and dynamic way.
  • time range time slot
  • time slots time slots
  • the cycle Qbv means the cycle as defined by the IEEE 802.1 Qbv standard.
  • the duration of the Qbv cycle is in principle determined from the periods of the periodic critical flows (the ppcm), which greatly complicates the insertion of new flows into a spinning cycle.
  • the duration of a cycle Qbv is taken as a fixed duration, which can correspond either to the smallest period value among the periods of the critical flows received at system start-up, or to the largest divisor (gcd) of all critical flow periods.
  • the method of the invention will look for a time slot available over the entire Qbv cycle and allocate it, reserve it for this flow. This approach thus makes it possible to reduce the complexity of the allocation of time slots.
  • the flows do not necessarily have the same period, the method can process flows whose period coincides with the cycle duration, and the time slot allocated to this type of flow is then entirely contained in the duration of the cycle Qbv .
  • the method also makes it possible to process streams whose period is a multiple of the cycle duration, and the time slot allocated to this type of stream is then distributed over several cycles. By example for a flow whose period is twice the duration of the cycle, a time slot reserved for this type of flow will be used one cycle out of 2.
  • the topology of TSN networks for the implementation of the invention is considered to include two categories of TSN switches: (i) access switches corresponding to TSN switches which are directly connected to terminals which use the network (providing and/or receiving a stream); and (ii) core network switches which are TSN switches whose role is to route, transfer, flows between access switches and a last switch coupled to a destination terminal of a flow.
  • the method of the present invention operates for access switches only in order to limit the distribution of times slots on these switches because they are the gateway for flows to the TSN network.
  • the method does not perform time slot allocation on the core network switches because they only route the flows coming from the access switches, by applying the flow allocation which is determined at the level of the access switches. .
  • the method for allocating time slots of the invention will make it possible to determine, among the time slots not reserved for network control traffic, a distribution of time slots to be allocated to different flows which may have periods different.
  • FIG. 3 illustrates the allocation of times slots for different TSN streams in a Qbv cycle of fixed duration according to the invention.
  • the cycle is taken with a fixed duration equal to 1 ms, a first flow 'f 1 ' taken with a period of 1 ms, a second flow 'f2' and a third flow 'f3' each having a period of 3 ms.
  • the flow f1 then needs a time slot every cycle, and streams f2 and f3 need a time slot every three cycles.
  • the method of the invention makes it possible to associate with the time slot a parameter designated by “phase” which makes it possible to identify the occurrences of time slots that are not used, and distribute them over several streams.
  • phase a parameter designated by “phase” which makes it possible to identify the occurrences of time slots that are not used, and distribute them over several streams.
  • time slots for a given flow will depend on the route that the flow will take, i.e. the various TSN switches crossed, and on the availability of times slots in each of the TSN switches visited. Also, the more the network topology grows, the more the complexity of a time slot reservation algorithm increases. Indeed, the algorithm must be able to find an available time slot on each switch visited and also able to respect the flow constraints in terms of latency. Moreover, if the algorithm must reassign certain time slots (already assigned to other existing flows) so that a new flow has the adequate time slot, such an algorithm must be able to check the impact of this reassignment on the schedules of other switches.
  • the method of the present invention makes it possible to respect these constraints while reducing the complexity of the reservation algorithm.
  • the cycle duration for operating the algorithm is considered to be fixed and the same for all TSN switches, and each cycle is divided into an identical number of time slots, the duration of a time slot being taken as equal to the time required to send the smallest frame of a stream, i.e. for an Ethernet stream, a time slot will be equal to the duration of a 64 Byte frame.
  • the algorithm operated by the method of the invention will reserve two time slots in each cycle for this stream.
  • FIG. 4a illustrates an example of the distribution of time slots according to one embodiment of the invention, in a TSN network consisting of three TSN access switches (S1, S2, S3).
  • a receiver terminal L1 connected to the network subscribes to four transmitter terminals (T1, T2, T3, T4) connected to the network.
  • the receiver terminal receives streams from each transmitter via different paths, the streams transiting through different switches.
  • a stream f1_T1 emitted by transmitter T1 is transmitted to receiver L1 via switches S1 and S3
  • a stream f2_T2 emitted by transmitter T2 is transmitted to receiver L1 via switches S2 and S3
  • a stream f3_T3 transmitted by transmitter T3 is transmitted to receiver L1 via switches S2 and S3
  • a stream f4-T4 transmitted by transmitter T4 is transmitted to receiver L1 via switch S3.
  • the application of the method of the invention makes it possible to control the transmissions at the level of the output port of the switch S3, i.e. at the level of the management of the GCL, with an allocation of time slots distributed between all the three switches S1, S2 and S3.
  • the allocation of time slots for the flow f1_T1 outgoing from T1 to S1 consists in finding at the level of the switch S1, a slot available in the cycle, among the slots allocated to the switch S1.
  • the allocation of time slots for the flow f2_T2 outgoing from T2 to S2 and the flow f3_T3 outgoing from T3 to S2 consists in finding at the level of the switch S2, slots available in the cycle, among the slots allocated to switch S2. It is the same for the flow f4-T4 outgoing from T4 to S3, where the allocation of time slots consists in finding at the level of the switch S3, a time slot available in the cycle among the slots allocated to the switch S3.
  • the time slot allocation method of the invention allows a dynamic distribution of time slots between the various network access switches, depending on the number of streams that pass through each switch.
  • FIG. 4b gives an illustration of a change in the distribution of time slots depending on the load of each switch, taking into account the number of flows associated with each switch.
  • a switch S1 is crossed by a single flow f1_T1 and a switch S2 is crossed by three flows, the flow f2-T2 emitted by a terminal T2, the flow f3_T3 emitted by a terminal T3, and the flow f5_T3 emitted via terminal T3.
  • the method of the invention allows the switch S2 to be able to recover at the level of the access switch S3 which is the exit switch to the recipient L1, time slots not used by the switch S1, in order to allocate them to a flow of switch S2. This is illustrated at switch S3, by flow f5_T3 appearing in the range of time slots allocated to switch S1.
  • FIG. 5 is a flowchart of the steps of the method 500 for allocating time slots according to one embodiment of the invention.
  • the steps are applied in a deterministic network of the TSN type composed of a plurality of TSN switches grouping together access switches SWi and core network switches, the network being used by a plurality of transmitting terminals (Speakers) to send streams data to receiver terminals (listeners) via access switches and possibly core network switches according to a transmission schedule predefined by a time scheduler designed to separate the communication on the network into repeated time cycles of fixed length, the streams which may include streams of different priority, critical streams and non-critical streams.
  • the method which allows a reconfiguration of the flow transmission planning comprises steps consisting of:
  • Step 502 Receive requests to admit new incoming streams (ST-i, STi, ...ST n ) into the network.
  • the method can operate sequentially upon receipt of a new request for the addition of one or more streams, operate after a waiting time for receiving several requests, or operate upon receipt of a group of requests.
  • the method can determine the priority of the streams and operate according to the priority level of these streams, by processing the stream with the highest priority first.
  • Step 504 the method makes it possible to identify, for a new stream STi, the output port P k in the access switch SWj coupled to the transmitter terminal of this stream, which will send this new stream STi in the network.
  • Step 506 retrieve the current configuration of the transmission schedule for the access switch SWj and determine if there is a schedule in progress at the level of the output port P k ?
  • step 510 determines whether among the set of time slots assigned to this access switch SWj, there are time slots available for the stream STi.
  • step 506 if there is no planning in progress for the output port P k , the method makes it possible to generate a new planning which takes into account the new stream STi.
  • Step 508 the method operates a first level of allocation of time slots for all the access switches of the network.
  • step 508 includes steps of:
  • the reference duration is a fixed value, which can either correspond to the smallest period value among the periods of the critical flows received at system start-up, or correspond to the greatest common divisor of all periods of critical flows;
  • a number of time slots necessary for its transmission means one or more time slots over a cycle.
  • the method before allocating the time slots to the access switches, the method makes it possible to reserve at the start of the cycle, one or more time slots for control flows for network control traffic .
  • the step of allocating to each access switch a number of time slots is then done among the remaining time slots.
  • step 510 by determining whether among the set of time slots assigned to the access switch SWj, there remain time slots available for the STi stream.
  • Step 512 If not, that is to say if no time slot is available for the stream STi among the set of time slots assigned to the access switch SWj, the method makes it possible to add the new STi stream to a list of streams without allocation of time slots.
  • Step 514 If yes, that is to say if there is at least one time slot available for the new stream STi among the set of time slots allocated to the access switch SWj, the method continues on a second level of allocation to reserve the number of time slots which is required to transmit the entire stream STi (relative to the period of the stream).
  • This second level of allocation for a new stream also makes it possible to determine, depending on the length of the frames of the stream, whether there is a need to reserve a time slot for each cycle or on different cycles.
  • the method uses the aforementioned 'phase' parameter illustrated in FIG. 3, to identify the distribution of the flux over one or more cycles.
  • Step 516 When the allocation of time slot(s) for the new stream STi is finished, the method iterates steps 504 to 514 to process a new time slot allocation request for a new stream.
  • Step 518 When all the requests are processed with or without the allocation of time slots for each stream, the main allocation process ends.
  • an additional process 600 makes it possible to process the list of streams which have not received time slots ( these streams having been added to this list at step 512).
  • FIG. 6 is a flowchart of the steps of the method 600 for processing the streams which have not been assigned to time slots by the initial allocation method 500.
  • the method 600 will make it possible to recover, if there are, time slots not used by other access switches and which are then available, and allow them to be reallocated to all or to some of the streams of the list of streams without allocation.
  • the method allows reallocation of unused time slots to priority streams from the list of streams without allocation.
  • the method 600 thus aims to identify, in the sets of time slots associated with the other switches, those which are not used. If unused time slots are identified, the method makes it possible in one embodiment to reserve them for high priority flows, and to associate these time slots respectively with each access switch which is used by these priority flows .
  • a next step 604 the method which operates iteratively to process each unassigned stream from the list, makes it possible to identify for the stream STi which is processed, the first access switch SWj on the routing path of the STi flow.
  • a next step 606 the method makes it possible to determine whether there is at least one available time slot (or one available time slot phase if the stream to be added has a period of more than one cycle time , this detail not being repeated below), in all of the other switches SW t , t + j, excluding the first access switch SWj identified.
  • step 608 If there is at least one time slot available (yes branch of 606), the method allows step 608 to reserve this time slot for the processed stream Sti, and to associate it with the first switch SWj identified.
  • the method allows the next step 622 to finalize the request to add the stream and continues to process a next stream from the list of unassigned streams.
  • the list of unassigned streams and the list of reserved time slots with their occupancy status are updated.
  • step 606 if at least one available time slot has not been identified in all of the other access switches or if the number of remaining slots available does not allow transmission of the entire flow (branch no), the method makes it possible to determine in the next step 610 whether the analyzed flow STi is a critical flow, in the sense of the critical flows TSN.
  • the method makes it possible to reject the request to add the stream STi at the next step 618, then loops back to process a next stream , the list of unassigned streams being updated.
  • the method makes it possible to reject (step 618) the request adding the analyzed stream ST i; then loops back to process a next stream, the list of unassigned streams being updated.
  • step 620 consisting of:
  • the method then allows the next step 622 to finalize the request to add this new stream, and loops back to process a next stream.
  • the list of unassigned flows and the list of reserved time slots with their occupancy status are updated.
  • the TSN network When all of the requests for adding new streams have been processed, either by the 500 stream allocation process alone (if time slots have been allocated to all the streams), or with the complementary process 600 (to process streams from the list of unassigned streams), the TSN network has a new stream transmission schedule that complies with the specifications of the IEEE 802.1 standard.
  • the flows can be dynamic, in that there can be appearance of a flow or disappearance of a flow.
  • the disappearance of a stream will involve the release of a time slot which was previously allocated to it.
  • the disappearance event of a stream can be processed by issuing a "Leave request" type request sent by the application itself or by the access switch which identifies non-use of the time slot time associated with this stream for several cycles (for example after 4 cycles, if no transmission has been performed for a given time slot, the access switch can issue a “Leave request”). Once the disappearance request is received, it is processed in order to release the corresponding time slot which then becomes available again for a new flow.
  • a time slot allocation consists of a new entry in a "Gate Control List” (GCL) to open a door to the queue to which the new flow in this slot is assigned. of time.
  • GCL Gate Control List
  • the time slot allocation carried out by the method of the invention is done without changing the duration of the transmission cycle Qbv.
  • the distribution of the time slots between the access switches translates as follows: in a switch SWj, all the doors of all the queues are closed when its time slots are reserved for another switch SW k . This makes it possible to ensure the exclusivity of the time slots for each of the access switches.
  • the update of the operational GCL configuration is done at the end of the current cycle in order to limit a latency variation problem that the current streams could suffer.
  • the cycle duration Qbv is defined during the initial phase, when the network starts up and the first flows arrive.
  • the cycle duration is not changed during the operational phase of the TSN network.
  • the network reaches a state or a significant percentage where new flow requests are rejected for lack of availability of time slots (for example 70% of requests are rejected), a total reconfiguration can be planned. of the network which is planned at an appropriate moment where the cycle time is reconsidered as well as all the GCL planning. For example in the scenario of a factory, a complete reconfiguration can be planned when the production lines are stopped.
  • the IEEE 802.1 Qcc standard mainly proposes two approaches: a centralized approach and a distributed approach. The process described can be implemented in each of these two configurations.
  • FIG. 7 The centralized approach provided by the IEEE 802.1 Qcc standard is illustrated by Figure 7, and Figure 8 shows a flowchart of the steps of the method of reservation of network resources for new streams according to the invention as implemented in a centralized approach.
  • All of the network's TSN switches are controlled, managed and configured by a centralized CNC ("Centralized Network Configuration") entity.
  • the terminals (Speakers / Listeners) that will use the TSN network provide the characteristics of their stream to a CUC ("Centralized User Configuration") entity using third-party software ("middleware") such as OPC UA, ROS, DDS ....
  • the role of the CUC entity is to group together requests from terminals/applications to use the TSN network and to provide them to the CNC entity. Requests are analyzed by the CNC while having information on the current capacities of the TSN network. If the reservation of resources for new streams is possible, the CNC replies to the CUC that these terminals/applications can use the network.
  • the CNC can also provide these terminals/applications with the time slot to use (i.e. when to start using the network). For example, it can tell an application to start sending its data in x milliseconds. In the event that the reservation of resources is impossible for certain flows, the CNC rejects the requests associated with these flows.
  • the method of the invention can be implemented and implemented at the CNC level.
  • a first step 802 the CNC receives from the CUC a request to accept 'n' new streams STi.
  • the CNC extracts the characteristics of the streams, retrieves the network topology and the Qbv configuration (step 804).
  • step 806 it calculates a routing path for an STi stream to be processed.
  • the next step 808 consists in operating the resource allocation method 500 described with reference to FIG. 5 and possibly followed by the complementary method 600 described with reference to FIG. 6.
  • the CNC makes it possible (step 810) to generate the configuration Qbv in each switch for the new streams accepted, then (step 812) to broadcast the routing rules and Qbv configuration in each switch involved in the routing of new accepted flows. Finally, the CNC sends (step 814) to the CUC the list of streams accepted and the configuration to be used in the terminal nodes.
  • a distribution of time resources between access switches of a TSN network which is dynamic and which varies according to the number of streams served by each of the access switches.

Abstract

La présente invention propose un procédé de configuration rapide et dynamique de la planification de transmission des flux dans les réseaux déterministes. Ce procédé permet, lors de l'apparition d'un nouveau flux au sein du réseau, de décider d'une nouvelle planification de transmission des flux, et permet de la déployer dans le réseau de manière à prendre en charge ce nouveau flux sans compromettre la QoS des autres flux déjà présents dans le réseau.

Description

DESCRIPTION
Titre de l’invention :
CONFIGURATION DYNAMIQUE DE LA PLANIFICATION DE TRANSMISSION DES FLUX DANS LES RÉSEAUX DÉTERMINISTES
[0001 ] Domaine de l’invention
[0002] La présente invention est dans le domaine des réseaux de télécommunication, et concerne plus particulièrement un procédé de reconfiguration dynamique de la planification de transmission des flux multi-QoS dans les réseaux déterministes ou réseaux sensibles au temps (TSN) « Time Sensitive Networking ».
[0003] Etat de la Technique
[0004] TSN est un ensemble de normes, définies par le groupe de travail IEEE 802.1 , qui étendent le réseau Ethernet afin de répondre aux exigences strictes des communications en temps réel.
[0005] Ce type de réseaux est destiné à être utilisé principalement dans des réseaux industriels, les réseaux intra-véhiculaires, les réseaux de cœur 5G/6G.
[0006] La transmission de données des applications critiques en temps réel (par exemple les régulations rapides, l'acquisition de signaux dans les réseaux électriques ou le contrôle des mouvements) et des applications à forte intensité de données (par exemple les flux vidéo ou les systèmes informatiques) est aujourd'hui mise en œuvre dans des réseaux séparés afin d'éviter les interférences mutuelles. La flexibilisation et la numérisation croissantes des processus de travail ont toutefois nécessité une fusion croissante de l'informatique et de l'exploitation industrielle, et par conséquent une fusion des systèmes auparavant séparés. En étendant et en adaptant les standards Ethernet existants, le TSN crée une convergence entre la technologie de l'information (IT) et la technologie de l'exploitation industrielle (OT) dans les réseaux industriels. Cela signifie que les données critiques en temps réel et les applications à forte intensité de données peuvent être mises en œuvre sur un câble Ethernet commun sans interférer les unes avec les autres.
[0007] Les spécifications TSN (IEEE 802.1 ) fournissent des services déterministes, permettant la transmission en temps réel de données dans un cadre prévisible à l’intérieur d’un espace de temps connu, dans les environnements industriels, telles que les applications de contrôle des machines dans les processus de production, du capteur au nuage (« cloud » selon l’anglicisme consacré). TSN offre une latence et une qualité de service garanties avec la synchronisation temporelle.
[0008] Les différents documents de la norme TSN offrent une solution de communication en temps réel complète lorsqu'ils sont utilisés ensemble de manière concertée. Mais chaque spécification standard est autonome et elle peut être utilisée seule. On peut regrouper les spécifications en trois catégories :
La synchronisation temporelle correspondant à la norme IEEE 802.1 AS, où tous les périphériques qui participent à la communication en temps réel doivent avoir une compréhension commune du temps.
La planification correspondant à la norme IEEE 802.1 Qbv et la mise en forme du trafic où tous les périphériques participant à la communication en temps réel respectent les mêmes règles dans le traitement et la transmission des paquets de communication.
La sélection des chemins de communication, des réservations de chemins et de la tolérance de panne où tous les périphériques participant à la communication en temps réel respectent les mêmes règles dans la sélection des chemins de communication et dans la réservation de la bande passante et des horaires, en utilisant éventuellement plusieurs chemins simultanés pour obtenir une tolérance de panne.
[0009] La norme IEEE 802.1 Qbv qui est l’un des standards phares de TSN, et désignée par Qbv dans la suite de la description, propose un mécanisme pour assurer des latences bornées. Il permet aux commutateurs d’un réseau TSN de contrôler le trafic dans des files d’attente de ports de sortie des commutateurs, selon une planification de transmission prédéfinie (l'ordonnanceur temporel IEEE
802.1 Qbv), et ainsi de garantir la qualité du trafic prioritaire. L'ordonnanceur temporel IEEE 802.1 Qbv est conçu pour séparer la communication sur le réseau Ethernet en cycles de temps répétés de longueur fixe. Au sein de ces cycles, différentes tranches de temps peuvent être configurées et être affectées à une ou plusieurs des huit priorités Ethernet.
[0010] La figure 1 illustre de manière schématique la structure d’un commutateur permettant d’appliquer le principe de planification Qbv dans un réseau TSN composé d’une pluralité d’équipements sources/destinataires connectés à des commutateurs via des liens Ethernet.
[0011] Les commutateurs (« Switch » en anglais) servent d’intermédiaires entre des terminaux émetteurs ou Parleur(s) (« Talker(s) » en anglais) de flux de données et des terminaux récepteurs ou Auditeur(s) (« Listener(s) » en anglais), en gérant le multiplexage des données, i.e. leur réception, leur traitement et leur retransmission.
[0012] Pour des raisons de simplification de la description, la figure 1 montre un commutateur TSN 100 avec uniquement deux ports d’entrée (« ingress port » en anglais) et un seul port de sortie (« egress port » en anglais), à titre d’exemple non limitatif sur le nombre de port d’entrée et de sortie. Un premier flux de données, composé de fragments ‘A’ de données, est reçu par un premier port d’entrée 102, et un deuxième flux de données, composé de fragments de données ‘B’, est reçu par un deuxième port d’entrée 104.
[0013] La sortie de chacun des ports d’entrée est couplée à un module de distribution des flux 108 qui affecte les données de chaque flux à une file d’attente appropriée, au nombre de huit en général (Q0 oui 10-0 à Q7 oui 10-7), selon la priorité de chaque flux.
[0014] Selon la définition des trames Ethernet dans IEEE 802.1 Q, un filtre prioritaire (« priority filter » en anglais) détermine quel flux spécifique est transmis aux files d'attente prioritaires correspondantes en fonction d’un point de code prioritaire (PCP). Un trafic programmé (qui a la priorité la plus élevée par défaut) entre dans une file d'attente prioritaire, et un trafic non programmé entre dans une file d’attente non prioritaire.
[0015] La sortie des files d’attente est associée à une structure 112 de portes logiques, chaque porte logique ayant deux états "ouvert" ou "fermé". L’état courant de chaque porte est fonction du contenu d’une liste de contrôle GCL (« Gate Control List » en anglais) 114. Quand une porte est à un temps donné dans un état ouvert les trames qui se trouvent dans la file d’attente associée à cette porte peuvent passer, et être transmises vers le port de sortie 106 via le commutateur analogique 112. Ceci est par exemple illustré pour la file d’attente Q7 avec un bit mis à ‘1 ’ dans la CGL au temps tO, qui permet alors de transmettre les données B vers le port de sortie 106. Quand une porte est dans un état fermé (correspondant alors à un bit mis à 0 dans la liste), les trames qui se trouvent dans la file d’attente associée à cette porte ne peuvent pas être transmises dans le réseau.
[0016] Bien que le mécanisme Qbv en lui-même soit plutôt simple, il existe une complexité inhérente à la génération des GCL, la problématique étant de trouver les bons moments pour ouvrir et fermer les portes.
[0017] De plus, dès que l’on considère la configuration du mécanisme Qbv sur tous les commutateurs TSN se trouvant dans un réseau, la complexité d’établir une GCL adéquate pour chaque commutateur augmente considérablement. Il a été étudié que la synthèse des plannings de communication dans des scénarios réels s'avère souvent être un problème NP-complet. Or, il n'existe pas à ce jour d'algorithme qui génère un planning de communication en temps polynomial.
[0018] Etant donné que la norme Qbv est importante dans les futurs systèmes de communication industriels, en particulier dans les usines intelligentes dotées de systèmes de fabrication autonomes, il existe le besoin d’un algorithme qui permette d’établir une configuration Qbv rapidement et de déployer cette configuration sans perturber les flux qui circulent déjà dans le réseau.
[0019] Dans ces systèmes, les appareils tels que les robots, les actionneurs et les capteurs doivent communiquer entre eux rapidement car ils doivent réagir très vite en fonction du système de commande et de contrôle, ou en fonction de certains événements inattendus. De cette façon, ces systèmes peuvent garantir la précision d’un processus de fabrication et minimiser tout défaut.
[0020] Aussi, pour pouvoir répondre à des scénarios envisagés dans l’industrie 4.0 où les lignes de production sont plutôt reconfigurables (ce qui implique une dynamique dans le réseau industriel), ou même répondre au scénario d’intégrer TSN dans le cœur 5G/6G où les flux ne sont pas connus d’avance, il existe le besoin d’un algorithme d’ordonnancement des flux qui opère en ligne, i.e. qui soit dynamique, pour l’installation incrémental des flux d’applications dans le réseau TSN.
[0021] De plus, afin qu’il puisse être utilisé en ligne, un tel algorithme doit avoir un temps d’exécution très court, dans un ordre de grandeur inférieur à quelques secondes.
[0022] Il existe quelques approches qui abordent en partie ces problématiques. [0023] Le standard IEEE 802.1 Qcc fournit deux approches principales (celle centralisée et celle distribuée) pour configurer les mécanismes TSN [IEEE802.1 Qcc]. Dans ce standard, il est souligné que l’approche centralisée est la plus favorisée pour assurer la configuration de IEEE 802.1 Qbv. Cependant, ce standard ne fournit pas les algorithmes qui permettent de décider et de générer la GCL à déployer dans le réseau.
[0024] Dans la littérature, l’approche principale repose généralement sur des outils d’ingénierie : outils de simulation comme « RTaW-Pegase » ou bien des outils d’optimisation mathématiques comme les formulations ILP (« Integer Linear Programming >>) ou les solveurs SMT (« Satisfiability modulo Theories >>).
[0025] Or, ces outils d’ingénierie ne sont pas adaptés pour une configuration incrémentale et dynamique comme celle de l’IEEE 802.1 Qbv. En effet, pour que ces outils puissent fournir la bonne configuration Qbv à déployer, il serait nécessaire d’avoir une pré-connaissance de tous les flux qui pourraient circuler dans le réseau TSN. Même en recourant à ces outils pour générer la nouvelle configuration IEEE802.1 Qbv pour chaque nouveau flux, des latences seraient ajoutées dans la configuration du fait de devoir récupérer la liste des flux qui y existent dans le réseau, la topologie, les caractéristiques du nouveau flux, et de devoir fournir ces informations à l’outil afin de chercher la configuration Qbv à déployer. Ceci pourrait durer quelques heures avant de pouvoir accepter/rejeter le nouveau flux et déployer la configuration décidée. Pour ces raisons, ces outils d’ingénierie sont plutôt adaptés pour déterminer une configuration pour un réseau fermé où les flux sont connus d’avance et où il n’y a pas de nouveaux flux pendant l’opération du réseau. Ils sont destinés à une utilisation hors-ligne avant de déployer le réseau.
[0026] De nombreuses publications proposent des solutions pour le calcul de la configuration IEEE 802.1 Qbv hors ligne.
[0027] Quelques travaux s’intéressent à la problématique de configuration en ligne du mécanisme IEEE 802.1 Qbv.
[0028] Dans l’article de N. G. Nayak, F. Durr, K. Rothermel, “Incremental flow scheduling and routing in Time-Sensitive Software-defined networks », IEEE transactions on industrial informatics, vol. 14, No. 5, May 2018, il est présenté un algorithme d’ordonnancement incrémental des flux critiques périodiques. L’algorithme repose sur différentes formulations d’ILP pour retrouver la solution optimale à chaque fois. Cependant, ce papier ne considère l’ordonnancement des flux qu’au niveau des terminaux utilisant le réseau TSN, reposant sur des « switches Openflow », sans support de 802.1 Qbv. Ainsi le mécanisme Qbv n’est appliqué qu’à l’entrée du réseau, laissant deux questions non résolues : « comment l’ordonnancement des flux venant de différents commutateurs TSN d’accès est géré ? », et « comment les commutateurs au cœur réseau gèrent l’interférence qui pourrait y avoir entre des flux de même priorité venant de deux commutateurs différents et empruntant la même file d’attente de sortie ? ».
[0029] Dans les articles - P. Pop, M. L. Raagaard, M. Gutierrez, W. Steiner “Enabling Fog Computing for Industrial Automation Through Time-Sensitive Networking (TSN)”, IEEE Communications Standards Magazine, June 2018 ; et - M. L. Raagaard, P. Pop, M. Gutierrez, W. Steiner, “Runtime Reconfiguration of Time-Sensitive Networking (TSN) Schedules for Fog Computing”, IEEE Fog World Congress (FWC), 2017 - les auteurs proposent une heuristique pour la reconfiguration de IEEE 802.1 Qbv « at runtime ». Cette heuristique a pour objectif de placer des plages de temps ou créneaux de temps (« time slots » en anglais) pour le trafic TSN en analysant le cycle en cours. Pour calculer la durée de cycle Qbv, l’heuristique adopte la méthode dite hyper-période, c’est-à-dire où la durée de cycle correspond au plus petit commun multiple (ppcm) de toutes les périodes des flux TSN. Pour ceci, il est nécessaire d’avoir une connaissance préalable des flux TSN qui pourront être présents dans le réseau. Un inconvénient est que la méthode hyper-période complexifie l’allocation des ressources, et la durée d’exécution de l’heuristique augmente en fonction de la durée de cycle adoptée. En effet, le nombre de créneaux de temps à réserver dépend de la période du flux et de la durée de cycle. Par exemple, si le cycle dure 1 ms et le flux a une période de 200ps, il y a 5 créneaux de temps à placer pour ce flux. Plus le rapport durée_cycle / période_de_flux est grand, plus la recherche de créneaux de temps disponibles dans le cycle en cours est complexe. De plus, il n’est pas explicité dans cet article la manière dont l’heuristique gère la réservation de créneaux de temps tout au long du chemin de routage de chaque flux.
[0030] Aussi, il n’existe pas de solution connue pour calculer et configurer la planification des transmissions de flux dans des commutateurs TSN, d’une manière dynamique, au fur et à mesure de l’arrivée des flux, sans qu’il soit nécessaire de connaître au préalable tous les flux qui pourront circuler dans le réseau TSN.
[0031 ] La présente invention répond à ces différents besoins.
[0032] Résumé de l’invention
[0033] Un objet de la présente invention est un procédé et un dispositif pour sa mise en oeuvre, permettant de calculer de manière rapide et dynamique une configuration pour la planification de transmission des flux dans les réseaux déterministes.
[0034] La présente invention adresse notamment la configuration IEEE 802.1 Qbv, en ligne, au fur et à mesure de l’arrivée de nouveaux flux, dans un réseau de commutateurs TSN supportant le mécanisme IEEE 802.1 Qbv.
[0035] Le procédé de l’invention permet lors de l’apparition d’un ou de plusieurs nouveau flux au sein d’un réseau déterministe, de déterminer rapidement en ligne une nouvelle planification de transmission des flux, et permet de déployer la nouvelle planification dans le réseau de manière à prendre en charge ce ou ces nouveau flux sans compromettre la qualité de service (QoS) des autres flux déjà présents dans le réseau.
[0036] L’invention propose une répartition efficace des ressources temporelles (i.e. des créneaux de temps ou «time slots») entre les commutateurs TSN d’accès (i.e. les commutateurs directement connectés aux terminaux émetteurs et récepteurs de flux de données) afin d’assurer l’isolation temporelle des flux et ainsi fournir une solution aux interférences qu’il pourrait y avoir entre des flux de même priorité arrivant au même commutateur et empruntant la même file d’attente pour un même port de sortie.
[0037] Avantageusement, la répartition des ressources temporelles est dynamique et peut s’adapter selon le nombre de flux desservis par chaque commutateur TSN.
[0038] Dans un mode de réalisation, des créneaux de temps sont réservés aux trames de contrôle réseau (par exemple, les trames de synchronisation temporelle IEEE 802.1 AS, les trames de découverte de topologie LLDP, ...) et le reste des plages de temps disponibles sur un cycle de base est réparti selon le procédé de l’invention entre les commutateurs TSN d’accès. [0039] Avantageusement, l’allocation de créneaux de temps est basé sur un algorithme moins complexe que ceux présentés dans l’art antérieur, et il permet d’accepter/ou de rejeter un flux rapidement.
[0040] A la différence des méthodes de planification connues, la solution proposée pour calculer une nouvelle planification, adopte un cycle d’une durée fixe qui est réduite à une période de référence, et dans lequel la période d’un flux périodique peut être un multiple du cycle. Avantageusement, ceci permet de réduire efficacement le nombre d'intervalles de temps dans la GCL, permet de faciliter la mise à jour de la GCL et de rendre la configuration de la GCL plus simple et plus efficace.
[0041] Toujours avantageusement par rapport à la méthode hyper-période traditionnelle, la méthode proposée permet de calculer un ordonnancement des flux plus rapidement tout en garantissant une faible latence et en réduisant efficacement le temps d'exécution.
[0042] La présente invention peut être mise en oeuvre dans les réseaux industriels (domaines de l’usine du future, industrie 4.0 / usines fortement reconfigurables), les réseaux intra-véhiculaires (domaines de véhicules de tout type : automobile, camions, bus, train, bateau...), ou encore dans le cœur du réseau 5G/6G (pour véhiculer des communications temps réels).
[0043] Pour obtenir les résultats recherchés, il est proposé un procédé de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps. Les flux de données sont émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteur et récepteur et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le procédé est mis en œuvre par ordinateur et comprenant des étapes consistant à : recevoir au moins une requête d’ajout d’un nouveau flux STi dans le réseau, le nouveau flux devant être émis d’un terminal émetteur vers un commutateur d’accès SWj ; - déterminer si une planification de transmission de flux est en cours pour ledit commutateur d’accès SWj ;
- si une planification de transmission de flux est en cours, déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ; ou
- s’il n’y a pas de planification de transmission de flux en cours : calculer une nouvelle planification de transmission de flux telle que : la durée du cycle de transmission est la même pour tous les commutateurs du réseau ; chaque cycle de transmission comporte le même nombre de créneaux de temps pour transmettre les flux ; les créneaux de temps d’un cycle donné sont repartis entre tous les commutateurs d’accès du réseau ; et déterminer pour le commutateur d’accès SWj s’il existe suffisamment de créneaux de temps disponibles, parmi le nombre de créneaux de temps qui lui sont alloués, pour transmettre le nouveau flux, selon la nouvelle planification ; et
- allouer audit nouveau flux, les créneaux de temps nécessaires à sa transmission, s’il existe suffisamment de créneaux de temps disponibles pour transmettre ce nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification.
[0044] L’expression « les créneaux de temps nécessaires à sa transmission » signifie un ou plusieurs créneaux de temps sur un cycle.
[0045] L’invention peut être mise en oeuvre selon des modes de réalisation alternatifs ou combinés, où :
- L’étape de déterminer si une planification de transmission de flux est en cours pour ledit commutateur d’accès SWj comprend des étapes consistant à : identifier un port de sortie Pk dudit commutateur d’accès SWj pour émettre le nouveau flux dans le réseau ; récupérer la configuration courante de la planification de transmission pour ledit port de sortie Pk ; et déterminer si une planification de transmission de flux est en cours sur ledit port de sortie Pk.
- L’étape de calculer une nouvelle planification de transmission de flux comprend des étapes consistant à : déterminer le nombre de commutateurs d’accès dans le réseau ; récupérer une valeur prédéfinie ou calculer une valeur pour une durée de référence fixe pour un cycle de transmission ; diviser la durée de référence fixe en une pluralité de créneaux de temps de durée égale, la durée d’un créneau de temps étant égale au temps nécessaire pour envoyer la plus petite trame d’un flux parmi les flux existants ; et attribuer sur la durée de référence fixe, à chaque commutateur d’accès un nombre de créneaux de temps parmi la pluralité des créneaux de temps, le nombre de créneaux de temps alloués à chaque commutateur d’accès dépendant du nombre de flux existants passant par chaque commutateur d’accès.
- La valeur prédéfinie ou calculée de la durée de référence fixe correspond, soit à la plus petite valeur de période parmi les périodes de flux critiques reçus au démarrage du système, soit au plus grand diviseur commun de toutes les périodes des flux critiques parmi les flux existants.
- Avant l’étape d’allocation de créneaux de temps pour un nouveau flux, le procédé comprend une étape consistant à réserver un ou plusieurs créneaux de temps de contrôle pour le trafic de contrôle réseau.
- Après l’étape de déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification, le procédé comprend une étape d’ajouter le nouveau flux à une liste de flux sans attribution de créneaux de temps, s’il n’existe pas de créneaux de temps disponibles suffisants pour transmettre le nouveau flux.
- Le procédé comprend de plus des étapes permettant de traiter la liste des flux sans attribution de créneaux de temps, lesdites étapes consistant à rechercher pour un flux sans attribution, s’il existe des créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, et si oui, des étapes consistant à allouer au moins un desdits créneaux de temps non utilisés audit flux sans attribution selon la priorité dudit flux sans attribution.
- Le procédé comprend de plus, s’il n’ existe pas de créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, des étapes consistant à déterminer si ledit flux a une priorité supérieure à un flux existant, et si oui des étapes consistant à libérer les créneaux de temps d’un flux existant de priorité inférieure pour l’attribuer audit flux sans attribution.
[0046] L’invention concerne aussi un dispositif de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps, les flux de données étant émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteurs et récepteurs, et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le dispositif comprenant des moyens pour mettre en œuvre les étapes du procédé de l’invention.
[0047] Avantageusement, le procédé de la présente invention peut être mis en œuvre dans les deux infrastructures de gestion de réseau présentées dans le standard IEEE 802.1 Qcc, à savoir, l’infrastructure centralisée et l’infrastructure distribuée.
[0048] Dans un mode de réalisation pour l’approche centralisée, le procédé s’exécute au niveau du contrôleur central CNC (« Central Network Controller » en anglais).
[0049] Dans un mode de réalisation pour l’approche distribuée, chaque commutateur d’un réseau TSN détermine l’allocation de créneaux de temps et il publie cette allocation vers ses voisins.
[0050] L’invention concerne aussi un produit programme d’ordinateur qui comprend des instructions de code permettant d’effectuer les étapes du procédé de l’invention, lorsque le programme est exécuté sur un ordinateur.
[0051 ] Description des figures [0052] D’autres caractéristiques et avantages de l’invention apparaîtront à l’aide de la description qui suit et des figures des dessins annexés dans lesquels :
[0053] [Fig.1 ] est un exemple simplifié de la structure d’un commutateur TSN ;
[0054] [Fig.2] illustre la réservation de créneaux de temps de contrôle pour le trafic de contrôle réseau dans un cycle Qbv de base ;
[0055] [Fig.3] illustre une allocation de créneaux de temps pour différents flux TSN dans un cycle Qbv de durée fixe, selon un mode de réalisation de l’invention ;
[0056] [Fig.4a] illustre un exemple de répartition de créneaux de temps dans un réseau TSN constitué de trois commutateurs d’accès, selon un mode de réalisation de l’invention ;
[0057] [Fig .4b] illustre un exemple de changement de la répartition de créneaux de temps en fonction de la charge de chaque commutateur d’accès, selon un mode de réalisation de l’invention ;
[0058] [Fig.5] est un organigramme des étapes du procédé de reconfiguration de la planification de transmission de flux, selon un mode de réalisation de l’invention ;
[0059] [Fig.6] est un organigramme des étapes du procédé pour récupérer des créneaux de temps disponibles non utilisés par les autres commutateurs d’accès, selon un mode de réalisation de l’invention ;
[0060] [Fig.7] illustre un environnement de réseau TSN selon une approche centralisée IEEE 802.1 Qcc, permettant de mettre en oeuvre le procédé de l’invention ;
[0061 ] [Fig.8] est un organigramme pour illustrer dans un environnement réseau centralisé, différentes étapes du procédé de réservation de ressources réseaux pour de nouveaux flux, selon un mode de réalisation de l’invention ; et
[0062] [Fig.9] illustre un environnement de réseau TSN selon une approche distribuée IEEE 802.1 Qcc, permettant de mettre en oeuvre le procédé de l’invention.
[0063] Description détaillée de l’invention
[0064] Le principe général de l’invention pour proposer une architecture de configuration dynamique de la planification des transmissions des trames au niveau de commutateurs TSN, est basé sur une approche qui permet de décider d’allouer ou de libérer des créneaux de temps pour les flux, d’une manière rapide et dynamique.
[0065] Il est à noter que les expressions ‘plage de temps’, ‘créneau de temps’, ‘time slots’ sont utilisées indifféremment pour désigner une durée d’allocation de ressources temporelles.
[0066] La description détaillée est faite pour un environnement de réseau déterministe TSN selon la norme IEEE 802.1 et les standards associés. Dans la description, les différents termes utilisés avec un acronyme comme Qbv, Qcc, AS, etc, doivent être compris comme désignant ledit terme selon le standard correspondant pour la norme IEEE 802.1 . Ainsi par exemple, le cycle Qbv signifie le cycle tel que défini par le standard IEEE 802.1 Qbv.
[0067] Pour que la planification puisse assurer les latences bornées exigées dans le contexte des réseaux déterministes, tous les commutateurs TSN ainsi que les terminaux connectés à un réseau TSN sont considérés parfaitement synchronisés entre eux, notamment en suivant le standard IEEE 802.1 AS.
[0068] Dans la littérature précitée, la durée du cycle Qbv, nommée « hyper-period », est en principe déterminée à partir des périodes des flux critiques périodiques (le ppcm), ce qui complexifie énormément l’insertion des nouveaux flux dans un cycle qui tourne.
[0069] Dans la présente invention, la durée d’un cycle Qbv est prise comme une durée fixe, qui peut correspondre soit à la plus petite valeur de période parmi les périodes des flux critiques reçus au démarrage du système, soit au plus grand diviseur commun (pgcd) de toutes les périodes des flux critiques.
[0070] Pour allouer un time slot à un flux donné, le procédé de l’invention va chercher un time slot disponible sur tout le cycle Qbv et l’allouer, le réserver à ce flux. Cette approche permet ainsi de réduire la complexité de l’allocation de créneaux de temps.
[0071] Les flux n’ayant pas nécessairement la même période, le procédé peut traiter des flux dont la période coïncide avec la durée de cycle, et le time slot alloué à ce type de flux est alors contenu intégralement dans la durée du cycle Qbv. Le procédé permet aussi de traiter des flux dont la période est un multiple de la durée de cycle, et le time slot alloué à ce type de flux est alors réparti sur plusieurs cycles. Par exemple pour un flux dont la période est 2 fois la durée du cycle, un time slot réservé à ce type de flux sera utilisé un cycle sur 2.
[0072] La topologie des réseaux TSN pour la mise en oeuvre de l’invention, est considérée comme comportant deux catégories de commutateurs TSN : (i) des commutateurs d’accès correspondant à des commutateurs TSN qui sont directement connectés à des terminaux qui utilisent le réseau (fournir et/ou recevoir un flux) ; et (ii) des commutateurs cœur de réseau qui sont des commutateurs TSN qui ont pour rôle d’acheminer, de transférer, des flux entre des commutateurs d’accès et un dernier commutateur couplé à un terminal destinataire d’un flux. Le procédé de la présente invention opère pour les commutateurs d’accès uniquement afin de limiter la répartition des times slots sur ces commutateurs car ils sont la porte d’entrée des flux au réseau TSN. Le procédé n’opère pas d’allocation de time slot sur les commutateurs cœur de réseau car ils ne font que router les flux venant des commutateurs d’accès, en appliquant l’allocation de flux qui est déterminée au niveau des commutateurs d’accès.
[0073] La norme TSN impliquant qu’un ensemble de créneaux de temps dédiés pour le trafic de contrôle réseau échangé entre les commutateurs, soit réservé, le procédé de l’invention, avant de répartir les créneaux de temps entre les commutateurs d’accès pour les flux de données, réserve un ensemble de « créneaux de temps de contrôle » pour le trafic de contrôle réseau (par exemple, les messages de synchronisation temporelle IEEE 802.1 AS, les messages de découverte de topologie LLDP, ...). La figure 2 illustre la réservation de deux créneaux de temps de contrôle dans l’ensemble des créneaux de temps d’un cycle.
[0074] Le procédé d’allocation de créneaux de temps de l’invention va permettre de déterminer parmi les créneaux de temps non réservés pour le trafic de contrôle réseau, une répartition de créneaux de temps à attribuer à différents flux qui peuvent avoir des périodes différentes.
[0075] La figure 3 illustre l’allocation de times slot pour différents flux TSN dans un cycle Qbv de durée fixe selon l’invention. Dans cet exemple simplifié, le cycle est pris avec une durée fixe égale à 1 ms, un premier flux ‘f 1 ’ pris avec une période de 1 ms, un second flux ‘f2’ et un troisième flux ‘f3’ ayant chacun une période de 3 ms. Le flux f1 a alors besoin d’un time slot à chaque cycle, et les flux f2 et f3 ont besoin d’un time slot tous les trois cycles.
[0076] De manière à optimiser l’allocation et l’utilisation des ressources, dans un mode de réalisation, le procédé de l’invention permet d’associer au time slot un paramètre désigné par « phase » qui permet d’identifier les occurrences de créneaux de temps qui ne sont pas utilisées, et les répartir sur plusieurs flux. Ainsi, comme illustré sur la figure 3, le time slot ‘n’ n’étant pas utilisé (phase ‘2’), il peut alors être attribué au flux f2 en phase ‘0’, et attribué au flux f3 en phase ‘1 ’.
[0077] La réservation de créneaux de temps pour un flux donné va dépendre de la route que le flux empruntera, i.e. les différents commutateurs TSN traversés, et de la disponibilité des times slots dans chacun des commutateurs TSN visités. Aussi, plus la topologie du réseau grandit, plus la complexité d’un algorithme de réservation de créneaux de temps augmente. En effet, l’algorithme doit être en mesure de retrouver un time slot disponible sur chaque commutateur visité et en mesure aussi de respecter les contraintes des flux en termes de latence. De plus, si l’algorithme doit réassigner certains créneaux de temps (déjà affectés à d’autres flux existants) afin qu’un nouveau flux ait le time slot adéquat, un tel algorithme doit être en mesure de vérifier l’impact de cette réassignation sur les planifications des autres commutateurs.
[0078] Avantageusement, le procédé de la présente invention permet de respecter ces contraintes tout en réduisant la complexité de l’algorithme de réservation. Pour cela, comme déjà indiqué, la durée de cycle pour opérer l’algorithme est considérée comme étant fixe et la même pour tous les commutateurs TSN, et chaque cycle est divisé en un nombre identique de créneaux de temps, la durée d’un time slot étant prise comme égale au temps nécessaire pour envoyer la plus petite trame d’un flux, i.e. pour un flux Ethernet un time slot sera égal à la durée d’une trame de 64 Bytes. Aussi, pour un flux Ethernet avec des trames de 100 Bytes, l’algorithme opéré par le procédé de l’invention, va réserver deux créneaux de temps dans chaque cycle pour ce flux.
[0079] L’idée principale consiste à répartir les créneaux de temps (hors ceux réservés pour le flux de contrôle) d’un cycle donné entre tous les commutateurs d’accès TSN. [0080] La figure 4a illustre un exemple de la répartition de créneaux de temps selon un mode de réalisation de l’invention, dans un réseau TSN constitué de trois commutateurs d’accès TSN (S1 , S2, S3). Un terminal récepteur L1 connecté au réseau est abonné à quatre terminaux émetteurs (T1 , T2, T3, T4) connectés au réseau. Le terminal récepteur reçoit des flux de chaque émetteur via des chemins différents, les flux transitant par des commutateurs différents. Tel qu’illustré, un flux f1_T1 émis par l’émetteur T1 est transmis au récepteur L1 via les commutateurs S1 et S3, un flux f2_T2 émis par l’émetteur T2 est transmis au récepteur L1 via les commutateurs S2 et S3, un flux f3_T3 émis par l’émetteur T3 est transmis au récepteur L1 via les commutateurs S2 et S3, et un flux f4-T4 émis par l’émetteur T4 est transmis au récepteur L1 via le commutateur S3. Cette configuration peut amener une situation où les quatre flux peuvent « se disputer » l’accès au port de sortie (egress port) du commutateur S3 qui délivre les flux au terminal récepteur L1 , et où ils peuvent avoir de l’interférence entre eux.
[0081] L’application du procédé de l’invention permet de contrôler les transmissions au niveau du port de sortie du commutateur S3, i.e. au niveau de la gestion de la GCL, avec une allocation de créneaux de temps répartis entre l’ensemble des trois commutateurs S1 , S2 et S3. L’allocation de créneaux de temps pour le flux f1_T1 sortant de T1 vers S1 , consiste à trouver au niveau du commutateur S1 , un slot disponible dans le cycle, parmi les slots alloués au commutateur S1 . De la même manière, l’allocation de créneaux de temps pour le flux f2_T2 sortant de T2 vers S2 et le flux f3_T3 sortant de T3 vers S2, consiste à trouver au niveau du commutateur S2, des slots disponibles dans le cycle, parmi les slots alloués au commutateur S2. Il en est de même pour le flux f4-T4 sortant de T4 vers S3, où l’allocation de créneaux de temps consiste à trouver au niveau du commutateur S3, un time slot disponible dans le cycle parmi les slots alloués au commutateur S3.
[0082] Avantageusement, il n’est alors plus besoin d’analyser ni de vérifier la disponibilité de créneaux de temps dans tous les commutateurs du réseau se trouvant sur la route d’un flux. Il suffit de trouver un créneau de temps disponible au niveau d’un port de sortie du commutateur d’accès recevant ce flux (le premier commutateur sur lequel arrive un flux en provenance d’un émetteur). [0083] Par ailleurs, la répartition des créneaux de temps au sein de chaque commutateur dépend de la charge de chaque commutateur en termes de nombre de flux qui passe par son port de sortie. Ainsi la jauge est dynamique, le nombre de créneaux de temps alloués à un commutateur d’accès TSN donné peut varier selon le nombre de flux passant par ce commutateur.
[0084] Le procédé d’allocation de time slot de l’invention permet une répartition dynamique des créneaux de temps entre les différents commutateurs d’accès du réseau, en fonction du nombre de flux qui passe par chaque commutateur.
[0085] La figure 4b donne une illustration d’un changement dans la répartition des créneaux de temps en fonction de la charge de chaque commutateur, prenant en compte le nombre de flux associés à chaque commutateur. Dans cet exemple simplifié, un commutateur S1 est traversé par un seul flux f1_T1 et un commutateur S2 est traversé par trois flux, le flux f2-T2 émis par un terminal T2, le flux f3_T3 émis par un terminal T3, et le flux f5_T3 émis par le terminal T3. Dans cette configuration, il y a donc plus de flux qui traversent le commutateur S2 que le commutateur S1 . Dans un tel cas de figure, le procédé de l’invention permet que le commutateur S2 puisse récupérer au niveau du commutateur d’accès S3 qui est le commutateur de sortie vers le destinataire L1 , des créneaux de temps non utilisés par le commutateur S1 , afin de les allouer à un flux du commutateur S2. Ceci est illustré au niveau du commutateur S3, par le flux f5_T3 apparaissant dans la plage de créneaux de temps alloués au commutateur S1 .
[0086] La figure 5 est un organigramme des étapes du procédé 500 d’allocation de créneaux de temps selon un mode de réalisation de l’invention. Les étapes sont appliquées dans un réseau déterministe de type TSN composé d’une pluralité de commutateurs TSN regroupant des commutateurs d’accès SWi et des commutateurs cœur de réseau, le réseau étant utilisé par une pluralité de terminaux émetteurs (Parleurs) pour envoyer des flux de données vers des terminaux récepteurs (Auditeurs) via des commutateurs d’accès et éventuellement des commutateurs cœur de réseau selon une planification de transmission prédéfinie par un ordonnanceur temporel conçu pour séparer la communication sur le réseau en cycles de temps répétés de longueur fixe, les flux pouvant comprendre des flux de de priorité différente, des flux critiques et des flux non-critiques. [0087] Le procédé qui permet une reconfiguration de la planification de la transmission de flux, comprend des étapes consistant à :
[0088] Etape 502 : Recevoir des requêtes pour admettre de nouveaux flux entrants (ST-i, STi, ...STn) dans le réseau. Le procédé peut opérer de manière séquentielle à la réception d’une nouvelle requête pour l’ajout d’un ou plusieurs flux, opérer après un temps d’attente de réception de plusieurs requêtes, ou opérer à réception d’un groupe de requêtes.
[0089] Dans un mode de réalisation de réception de plusieurs nouveaux flux, le procédé peut déterminer la priorité des flux et opérer selon le niveau de priorité de ces flux, en traitant le flux le plus prioritaire en premier.
[0090] Après la réception de requêtes, le procédé passe à l’étape suivante.
[0091] Etape 504 : le procédé permet d’identifier pour un nouveau flux STi, le port de sortie Pk dans le commutateur d’accès SWj couplé au terminal émetteur de ce flux, qui va émettre ce nouveau flux STi dans le réseau.
[0092] Etape 506 : Récupérer la configuration courante de la planification de transmission pour le commutateur d’accès SWj et déterminer s’il y a une planification en cours au niveau du port de sortie Pk ?
[0093] Si oui, le procédé enchaine avec l’étape 510 pour déterminer si parmi l’ensemble des créneaux de temps assignés à ce commutateur d’accès SWj, il existe des créneaux de temps disponibles pour le flux STi.
[0094] Revenant à l’étape 506, s’il n’y a pas une planification en cours pour le port de sortie Pk, le procédé permet de générer une nouvelle planification qui prend en compte le nouveau flux STi.
[0095] Etape 508 : le procédé opère un premier niveau d’allocation de créneaux de temps pour tous les commutateurs d’accès du réseau.
[0096] Dans un mode de réalisation, l’étape 508 comprend des étapes consistant à :
[0097] déterminer le nombre de commutateurs d’accès dans le réseau TSN ;
[0098] récupérer une valeur prédéfinie ou calculer une valeur pour déterminer une durée de référence fixe pour un cycle Qbv. La durée de référence est une valeur fixe, qui peut soit correspondre à la plus petite valeur de période parmi les périodes des flux critiques reçus au démarrage du système, soit correspondre au plus grand diviseur commun de toutes les périodes des flux critiques ;
[0099] diviser la durée de référence fixe en une pluralité de créneaux de temps de durée égale, la durée d’un créneau de temps étant égale au temps nécessaire pour envoyer la plus petite trame d’un flux parmi les flux existants ; et
[0100] attribuer sur la durée de référence fixe, à chaque commutateur d’accès un nombre de créneaux de temps nécessaires à sa transmission parmi la pluralité des créneaux de temps, le nombre de créneaux de temps alloués à chaque commutateur d’accès dépendant du nombre de flux existants passant par chaque commutateur d’accès.
[0101] L’expression « un nombre de créneaux de temps nécessaires à sa transmission » signifie un ou plusieurs créneaux de temps sur un cycle.
[0102] Dans un mode de réalisation, avant d’attribuer les créneaux de temps aux commutateurs d’accès, le procédé permet de réserver en début de cycle, un ou plusieurs créneaux de temps pour des flux de contrôle pour le trafic du contrôle réseau. L’étape d’attribuer à chaque commutateur d’accès un nombre de créneaux de temps se fait alors parmi les créneaux de temps restants.
[0103] Après l’allocation des créneaux de temps à tous les commutateurs d’accès, le procédé poursuit par l’étape 510, en déterminant si parmi l’ensemble des créneaux de temps assignés au commutateur d’accès SWj, il reste des créneaux de temps disponibles pour le flux STi.
[0104] Etape 512 : Si non, c’est-à-dire si aucun créneau de temps n’est disponible pour le flux STi parmi l’ensemble des créneaux de temps assignés au commutateur d’accès SWj, le procédé permet d’ajouter le nouveau flux STi à une liste de flux sans attribution de créneaux de temps.
[0105] Etape 514 : Si oui, c’est-à-dire s’il existe au moins un créneau de temps disponible pour le nouveau flux STi parmi l’ensemble des créneaux de temps alloués au commutateur d’accès SWj, le procédé poursuit sur un second niveau d’allocation pour réserver le nombre de créneaux de temps qui est requis pour transmettre tout le flux STi (relativement à la période du flux). [0106] Ce second niveau d’allocation pour un nouveau flux permet aussi de déterminer, en fonction de la longueur des trames du flux, s’il y a besoin de réserver un créneau de temps à chaque cycle ou sur différents cycles. Dans un mode de réalisation, le procédé utilise le paramètre ‘phase’ précité illustré sur la figure 3, pour identifier la répartition du flux sur un ou plusieurs cycles.
[0107] Etape 516 : Quand l’allocation du/des créneaux de temps pour le nouveau flux STi est terminée, le procédé itère les étapes 504 à 514 pour traiter une nouvelle requête d’allocation de créneaux de temps pour un nouveau flux.
[0108] Etape 518 : Quand toutes les requêtes sont traitées avec attribution ou non de créneaux de temps pour chaque flux, le procédé principal d’allocation se termine.
[0109] Une fois que toutes les requêtes reçues pour de nouveaux flux sont traitées (selon le procédé 500 illustré par la figure 5), un procédé complémentaire 600 permet de traiter la liste des flux qui n’ont pas reçu de créneaux de temps (ces flux ayant été ajoutés à cette liste à l’étape 512).
[0110] La figure 6 est un organigramme des étapes du procédé 600 pour traiter les flux qui n’ont pas été assignés à des créneaux de temps par le procédé initial d’allocation 500. Le procédé 600 va permettre de récupérer, s’il en existe, des créneaux de temps non utilisés par d’autres commutateurs d’accès et qui sont alors disponibles, et permettre de les réallouer à tous ou à certains des flux de la liste des flux sans attribution.
[0111] Dans un mode de réalisation, le procédé permet une réallocation des créneaux de temps non utilisés à des flux prioritaires de la liste des flux sans attribution.
[0112] Le procédé 600 vise ainsi à identifier, dans les ensembles de créneaux de temps associés aux autres commutateurs, ceux qui ne sont pas utilisés. Si des créneaux de temps non utilisés sont identifiés, le procédé permet dans un mode de réalisation de les réserver à des flux de priorité haute, et d’associer ces créneaux de temps respectivement à chaque commutateur d’accès qui est utilisé par ces flux prioritaires.
[0113] Comme illustré sur la figure 6, une première étape 602 consiste à récupérer la liste des flux non assignés STi, (i=m, ..., n), et à récupérer la liste de réservation de créneaux de temps après la première allocation avec l’état d’occupation des créneaux de temps sur les cycles.
[0114] Dans une étape suivante 604, le procédé qui opère de manière itérative pour traiter chaque flux non assigné de la liste, permet d’identifier pour le flux STi qui est traité, le premier commutateur d’accès SWj sur le chemin de routage du flux STi.
[0115] Dans une étape suivante 606, le procédé permet de déterminer s’il existe au moins un créneau de temps disponible (ou une phase de créneau de temps disponible si le flux à ajouter présente une période de plus d’un temps de cycle, cette précision n’étant plus reprise dans la suite), dans l’ensemble des autres commutateurs SWt, t + j, hors le premier commutateur d’accès SWj identifié.
[0116] S’il existe au moins un créneau de temps disponible (branche oui de 606), le procédé permet à l’étape 608 de réserver ce créneau de temps pour le flux Sti traité, et de l’associer au premier commutateur SWj identifié.
[0117] Puis le procédé permet à l’étape suivante 622, de finaliser la requête d’ajout du flux et poursuit pour traiter un prochain flux de la liste des flux non assignés. Dans cette étape 622 la liste des flux non assignés et la liste des créneaux de temps réservés avec leur état d’occupation sont mises à jour.
[0118] Revenant à l’étape 606, s’il n’a pas été identifié au moins un créneau de temps disponible dans l’ensemble des autres commutateurs d’accès ou si le nombre de créneaux restants disponibles ne permet pas de transmettre l’intégralité du flux (branche non), le procédé permet de déterminer à l’étape suivante 610 si le flux analysé STi est un flux critique, au sens des flux critiques TSN.
[0119] S’il ne s’agit pas d’un flux critique (branche non de 610), le procédé permet de rejeter la requête d’ajout du flux STi à l’étape suivante 618, puis reboucle pour traiter un prochain flux, la liste des flux non assignés étant mise à jour.
[0120] S’il s’agit d’un flux critique (branche oui de 610), le procédé permet à l’étape suivante 612 de récupérer la priorité des flux existants STk (k=0, ..., m-1 ), pour vérifier (étapes 614, 616) si la priorité du flux analysé STi est supérieure à celle d’au moins un des autres flux qui ont des créneaux de temps ?
[0121] Si la priorité du flux analysé STi est moins grande que celles des flux existants (branche non de 614), le procédé permet de rejeter (étape 618) la requête d’ajout du flux analysé STi; puis reboucle pour traiter un prochain flux, la liste des flux non assignés étant mise à jour.
[0122] Si la priorité du flux analysé STi est supérieure à la priorité d’un flux existant Stk (branche oui de 614), le procédé poursuit à l’étape 620 consistant à :
- Libérer le créneau de temps déjà alloué au flux STk dont la priorité est inférieure à celle du flux STi en cours de traitement ;
- Allouer le créneau de temps libéré au flux STi en cours de traitement ; et
- Associer le créneau de temps alloué au flux STi au premier commutateur d’accès SWj identifié sur le chemin de routage du flux STi.
[0123] Le procédé permet ensuite à l’étape suivante 622 de finaliser la requête d’ajout de ce nouveau flux, et reboucle pour traiter un prochain flux. Dans cette étape la liste des flux non assignés et la liste des créneaux de temps réservés avec leur état d’occupation sont mises à jour.
[0124] Quand l’ensemble des requêtes d’ajout de nouveaux flux ont été traitées, soit par le seul procédé d’allocation de flux 500 (si des créneaux de temps ont été alloués à tous les flux), soit avec le procédé complémentaire 600 (pour traiter les flux de la liste des flux non assignés), le réseau TSN dispose d’une nouvelle planification de transmission des flux qui respecte les spécifications de la norme IEEE 802.1 .
[0125] La description détaillée a porté sur la gestion de l’allocation de créneaux de temps lors de l’apparition d’un nouveau flux. Cependant, dans les applications intéressées par le procédé de l’invention, les flux peuvent être dynamiques, en ce qu’il peut y avoir apparition d’un flux ou disparition d’un flux.
[0126] La disparition d’un flux impliquera la libération d’un créneau de temps qui lui a été alloué auparavant. L’évènement de disparition d’un flux peut être traité par l’émission d’une requête de type « Leave request » envoyée par l’application elle- même ou bien par le commutateur d’accès qui identifie une non-utilisation du créneau de temps associé à ce flux là pendant plusieurs cycles (par exemple au bout de 4 cycles, si aucune transmission n’a été effectuée pour un créneau de temps donné, le commutateur d’accès peut émettre une requête « Leave request »). Une fois que la requête de disparition est reçue, elle est traitée afin de libérer le créneau de temps correspondant qui redevient alors disponible pour un nouveau flux. [0127] En termes d’implémentation, une allocation de créneau de temps consiste en une nouvelle entrée dans une « Gate Control List » (GCL) pour ouvrir une porte à la file d’attente à laquelle est affecté le nouveau flux dans ce créneau de temps. Avantageusement, l’allocation de créneau de temps réalisée par le procédé de l’invention se fait sans pour autant changer la durée du cycle de transmission Qbv.
[0128] La répartition des créneaux de temps entre les commutateurs d’accès se traduit ainsi : dans un commutateur SWj, toutes les portes de toutes les files d’attente sont fermées quand ses créneaux de temps sont réservés à un autre commutateur SWk. Ceci permet d’assurer l’exclusivité des créneaux de temps pour chacun des commutateurs d’accès.
[0129] Dans un mode de réalisation, la mise à jour de la configuration GCL opérationnelle, se fait à la fin du cycle en cours afin de limiter un problème de variation de latence que les flux en cours pourraient subir.
[0130] Il est à noter que la durée de cycle Qbv est définie pendant la phase initiale, quand le réseau démarre et que les premiers flux arrivent. Afin de limiter l’impact que pourrait avoir un changement de durée de cycle sur les performances de flux critiques, la durée de cycle n’est pas changée pendant la phase opérationnelle du réseau TSN. Toutefois, si jamais, le réseau arrive à un état ou à un pourcentage important où des nouvelles requêtes de flux sont rejetées pour manque de disponibilité de créneaux de temps (par exemple 70% des requêtes sont rejetées), il peut être prévu une reconfiguration totale du réseau qui soit planifiée à un moment approprié où la durée de cycle est reconsidérée ainsi que toute la planification GCL. Par exemple dans le scénario d’une usine, une reconfiguration complète peut-être planifiée au moment où les lignes de production sont en arrêt.
[0131] Afin d’assurer la configuration et la gestion des réseaux TSN, la norme IEEE 802.1 Qcc propose principalement deux approches : une approche centralisée et une approche distribuée. Le procédé décrit peut être mis en oeuvre dans chacune de ces deux configurations.
[0132] Approche centralisée :
[0133] L’approche centralisée fournit par le standard IEEE 802.1 Qcc est illustrée par la Figure 7, et la figure 8 montre un organigramme des étapes du procédé de réservation de ressources réseaux pour de nouveaux flux selon l’invention tel que mis en oeuvre dans une approche centralisée.
[0134] L’ensemble des commutateurs TSN du réseau est contrôlé, géré et configuré par une entité centralisée CNC (« Centralized Network Configuration »). Les terminaux (Parleurs / Auditeurs) qui vont utiliser le réseau TSN fournissent les caractéristiques de leur flux à une entité CUC (« Centralized User Configuration ») en utilisant des logiciels tiers (« middleware >>) comme par exemple OPC UA, ROS, DDS.... L’entité CUC a pour rôle de regrouper les demandes des terminaux/applications pour utiliser le réseau TSN et de les fournir à l’entité CNC. Les demandes sont analysées par le CNC tout en ayant les informations sur les capacités actuelles du réseau TSN. Si la réservation des ressources pour de nouveaux flux est possible, le CNC répond au CUC que ces terminaux/applications peuvent utiliser le réseau. Le CNC peut aussi fournir à ces terminaux/applications le créneau à utiliser (i.e. quand commencer à utiliser le réseau). Par exemple, il peut demander à une application de commencer à envoyer ses données dans x millisecondes. Dans le cas où la réservation des ressources est impossible pour certains flux, le CNC rejette les demandes associées à ces flux. Dans cette approche, le procédé de l’invention peut être implémenté et mis en oeuvre au niveau du CNC.
[0135] Ainsi dans une première étape 802, le CNC reçoit du CUC une requête pour accepter ‘n’ nouveaux flux STi. Le CNC extrait les caractéristiques des flux, récupère la topologie du réseau et la configuration Qbv (étape 804).
[0136] Puis à l’étape suivante 806, il calcule un chemin de routage pour un flux STi à traiter.
[0137] L’étape suivante 808 consiste à opérer le procédé 500 d’allocation de ressources décrit en référence à la figure 5 et éventuellement suivi du procédé complémentaire 600 décrit en référence à la figure 6.
[0138] Quand tous les flux ont été traités (avec allocation de créneau de temps ou non), le CNC permet (étape 810) de générer la configuration Qbv dans chaque commutateur pour les nouveaux flux acceptés, puis (étape 812) de diffuser les règles de routage et la configuration Qbv dans chaque commutateur impliqué dans le routage des nouveaux flux acceptés. [0139] Enfin, le CNC envoie (étape 814) au CUC la liste des flux acceptés et la configuration à utiliser dans les noeuds terminaux.
[0140] Approche distribuée :
[0141] Dans le cas d’une gestion de réseau distribuée, comme illustrée sur la figure 9, une phase initiale est nécessaire où les commutateurs d’accès TSN doivent échanger des messages entre eux afin de converger vers une répartition de créneaux de temps. Une fois la convergence obtenue, chacun des commutateurs d’accès alloue un créneau de temps pour le nouveau flux parmi les créneaux de temps qui lui sont associés, et ensuite il propage cette information vers les commutateurs cœur de réseau TSN afin qu’ils intègrent cette nouvelle réservation.
[0142] Il a été décrit des modes de réalisation de l’invention qui présentent des caractéristiques avantageuses qui sont principalement :
- Une répartition des ressources temporelles entre des commutateurs d’accès d’un réseau TSN, qui est dynamique et qui varie en fonction du nombre de flux desservis par chacun des commutateurs d’accès.
- Un procédé qui permet de réserver rapidement des ressources temporelles dans un réseau TSN pour chaque nouveau flux, d’une manière dynamique en s’appuyant sur les caractéristiques du nouveau flux, sans avoir recours à des outils de simulation hors-ligne ou à de la modélisation mathématique.
- Une allocation rapide de ressources temporelles faite en ligne, au fur et à mesure de l’arrivée de nouveaux flux.

Claims

26
Revendications Procédé de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps, les flux de données étant émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteur et récepteur et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le procédé étant mis en œuvre par ordinateur et comprenant des étapes consistant à :
- recevoir au moins une requête d’ajout d’un nouveau flux STi dans le réseau, le nouveau flux devant être émis d’un terminal émetteur vers un commutateur d’accès SWj ;
- déterminer si une planification de transmission de flux est en cours pour ledit commutateur d’accès SWj en :
- identifiant un port de sortie Pk dudit commutateur d’accès SWj pour émettre le nouveau flux dans le réseau ;
- récupérant la configuration courante de la planification de transmission pour ledit port de sortie Pk ; et
- déterminant si une planification de transmission de flux est en cours sur ledit port de sortie Pk ; si une planification de transmission de flux est en cours, déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ; ou
- s’il n’y a pas de planification de transmission de flux en cours : calculer une nouvelle planification de transmission de flux telle que : la durée du cycle de transmission est la même pour tous les commutateurs du réseau ; chaque cycle de transmission comporte le même nombre de créneaux de temps pour transmettre les flux ; les créneaux de temps d’un cycle donné sont repartis entre tous les commutateurs d’accès du réseau ; et déterminer pour le commutateur d’accès SWj s’il existe suffisamment de créneaux de temps disponibles, parmi le nombre de créneaux de temps qui lui sont alloués, pour transmettre le nouveau flux, selon la nouvelle planification ; et
- allouer audit nouveau flux, les créneaux de temps nécessaires à sa transmission, s’il existe suffisamment de créneaux de temps disponibles pour transmettre ce nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification. Le procédé selon la revendication 1 dans lequel l’étape de calculer une nouvelle planification de transmission de flux comprend des étapes consistant à :
- déterminer le nombre de commutateurs d’accès dans le réseau ;
- récupérer une valeur prédéfinie ou calculer une valeur pour une durée de référence fixe pour un cycle de transmission ;
- diviser la durée de référence fixe en une pluralité de créneaux de temps de durée égale, la durée d’un créneau de temps étant égale au temps nécessaire pour envoyer la plus petite trame d’un flux parmi les flux existants ; et
- attribuer sur la durée de référence fixe, à chaque commutateur d’accès un nombre de créneaux de temps parmi la pluralité des créneaux de temps, le nombre de créneaux de temps alloués à chaque commutateur d’accès dépendant du nombre de flux existants passant par chaque commutateur d’accès. Le procédé selon la revendication 2 dans lequel la valeur prédéfinie ou calculée de la durée de référence fixe correspond, soit à la plus petite valeur de période parmi les périodes de flux critiques reçus au démarrage du système, soit au plus grand diviseur commun de toutes les périodes des flux critiques parmi les flux existants. Le procédé selon l’une quelconque des revendications 1 à 3 comprenant avant l’étape d’allocation de créneaux de temps pour un nouveau flux, une étape consistant à réserver un ou plusieurs créneaux de temps de contrôle pour le trafic de contrôle réseau. Le procédé selon l’une quelconque des revendications 1 à 4 comprenant après l’étape de déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification, une étape d’ajouter le nouveau flux à une liste de flux sans attribution de créneaux de temps, s’il n’existe pas de créneaux de temps disponibles suffisants pour transmettre le nouveau flux. Le procédé selon la revendication 5 comprenant de plus des étapes permettant de traiter la liste des flux sans attribution de créneaux de temps, lesdites étapes consistant à rechercher pour un flux sans attribution, s’il existe des créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, et si oui, des étapes consistant à allouer au moins un desdits créneaux de temps non utilisés audit flux sans attribution selon la priorité dudit flux sans attribution. Le procédé selon la revendication 6 comprenant de plus, s’il n’existe pas de créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, des étapes consistant à déterminer si ledit flux a une priorité supérieure à un flux existant, et si oui des étapes consistant à libérer les créneaux de temps d’un flux existant de priorité inférieure pour l’attribuer audit flux sans attribution. Un produit programme d’ordinateur, ledit programme d’ordinateur comprenant des instructions de code permettant d’effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur. 29 Un dispositif de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps, les flux de données étant émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteurs et récepteurs, et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le dispositif comprenant des moyens pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 7. Utilisation du dispositif selon la revendication 9 dans un réseau sensible au temps implémentant une architecture réseau centralisée, notamment une architecture selon le modèle dit « Software Defined Network ». Utilisation du dispositif selon la revendication 9 dans un réseau sensible au temps implémentant une architecture réseau distribuée. Utilisation du dispositif selon l’une quelconque des revendications 9 à 11 dans un réseau déterministe sensible au temps TSN implémentant les spécifications de la norme IEEE 802.1 .
PCT/EP2022/080909 2021-11-19 2022-11-07 Configuration dynamique de la planification de transmission des flux dans les réseaux déterministes WO2023088702A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2112233 2021-11-19
FR2112233A FR3129553A1 (fr) 2021-11-19 2021-11-19 Dispositif et procédé de configuration dynamique de la planification de transmission des flux dans les réseaux déterministes

Publications (1)

Publication Number Publication Date
WO2023088702A1 true WO2023088702A1 (fr) 2023-05-25

Family

ID=80448879

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/080909 WO2023088702A1 (fr) 2021-11-19 2022-11-07 Configuration dynamique de la planification de transmission des flux dans les réseaux déterministes

Country Status (2)

Country Link
FR (1) FR3129553A1 (fr)
WO (1) WO2023088702A1 (fr)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AHMED NASRALLAH ET AL: "Reconfiguration Algorithms for High Precision Communications in Time Sensitive Networks: Time-Aware Shaper Configuration with IEEE 802.1Qcc (Extended Version)", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 27 June 2019 (2019-06-27), XP081384950 *
M. L. RAAGAARDP. POPM. GUTIERREZW. STEINER: "Runtime Reconfiguration of Time-Sensitive Networking (TSN) Schedules for Fog Computing", IEEE FOG WORLD CONGRESS (FWC, 2017
N. G. NAYAKF. DURRK. ROTHERMEL: "Incremental flow scheduling and routing in Time-Sensitive Software-defined networks", IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, vol. 14, no. 5, May 2018 (2018-05-01), XP011683100, DOI: 10.1109/TII.2017.2782235
P. POPM. L. RAAGAARDM. GUTIERREZW. STEINER: "Enabling Fog Computing for Industrial Automation Through Time-Sensitive Networking (TSN", IEEE COMMUNICATIONS STANDARDS MAGAZINE, June 2018 (2018-06-01)
POP PAUL ET AL: "Enabling Fog Computing for Industrial Automation Through Time-Sensitive Networking (TSN)", IEEE COMMUNICATIONS STANDARDS MAGAZINE, IEEE, vol. 2, no. 2, 1 June 2018 (2018-06-01), pages 55 - 61, XP011687316, ISSN: 2471-2825, [retrieved on 20180717], DOI: 10.1109/MCOMSTD.2018.1700057 *
QUAN WEI ET AL: "On-line Traffic Scheduling optimization in IEEE 802.1Qch based Time-Sensitive Networks", 2020 IEEE 22ND INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS; IEEE 18TH INTERNATIONAL CONFERENCE ON SMART CITY; IEEE 6TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND SYSTEMS (HPCC/SMARTCITY/DSS), IEEE, 14 December 2020 (2020-12-14), pages 369 - 376, XP033906664, DOI: 10.1109/HPCC-SMARTCITY-DSS50907.2020.00045 *

Also Published As

Publication number Publication date
FR3129553A1 (fr) 2023-05-26

Similar Documents

Publication Publication Date Title
Noormohammadpour et al. Dcroute: Speeding up inter-datacenter traffic allocation while guaranteeing deadlines
EP1701274B1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
EP1835411B1 (fr) Systeme sur puce a controle semi-distribue
US7283472B2 (en) Priority-based efficient fair queuing for quality of service classification for packet processing
FR2883116A1 (fr) Architecture de communication globalement asynchrone pour systeme sur puce.
CA2655948C (fr) Procede de routage de liens virtuels dans un reseau a commutation de trames a determinisme garanti
FR2825208A1 (fr) Procede d'attribution de ressources en communication dans un systeme de telecommunications du type mf-tdma
FR2758681A1 (fr) Allocation a une pluralite d'elements d'autorisations d'acces a une ressource partagee
WO2008125437A1 (fr) Procede et systeme de routage multitopologie
Tanwir et al. Dynamic scheduling of network resources with advance reservations in optical grids
EP1300985A2 (fr) Procédé et dispositif de simulation du comportement d'un réseau, permettant un dimensionnement à la demande
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
US11176489B1 (en) Optimal message scheduling for aggregation
Nayak Scheduling & routing time-triggered traffic in time-sensitive networks
WO2013120975A1 (fr) Allocation de ressources
US6795441B1 (en) Hierarchy tree-based quality of service classification for packet processing
WO2023088702A1 (fr) Configuration dynamique de la planification de transmission des flux dans les réseaux déterministes
Muthanna et al. OpenFlow switch buffer configuration method
FR2749726A1 (fr) Dispositif de communication entre une pluralite de modules fonctionnels installes dans une unite locale et un bus externe de type ethernet
US7339953B2 (en) Surplus redistribution for quality of service classification for packet processing
WO2007065911A1 (fr) Procede et dispositif de controle a distance de la congestion de flux mailles dans un reseau de telecommunication en mode paquet
WO2002065680A2 (fr) Procede pour assurer le temps de la latence des communications entre au moins deux points de passage de donnees
WO2023222397A1 (fr) Dispositif et procede de routage de flux dans les reseaux sensibles au temps
WO2002015520A1 (fr) Procedes et dispositifs pour l'ordonnancement de paquets
WO2014135793A1 (fr) Procédé d'allocation de ressources pour la mise en œuvre de réseaux virtuels dans un réseau de télécommunication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22812678

Country of ref document: EP

Kind code of ref document: A1