The present invention relates to routing and scheduling technologies for the traffic, and in more detail, relates to a joint traffic routing and a scheduling method in which a real-time requirement of traffic where timing is important is ensured and has network scalability.
In industrial automation systems, reliable information exchange among various controllers, sensors, and actuators is an important mechanism to ensure system stability. In order to realize information exchange, multiple industrial communication solutions (i.e., Fieldbus systems and Industrial Ethernet protocols) have been used over the past decades.
These legacy industrial communication solutions, which are applied in lower layers of the hierarchical industrial automation architecture (as illustrated in
In
The industrial automation system is now undergoing a dramatic change with the advent of the recent Industry 4.0 movement, resulting in a new flatter automation architecture called Industrial Internet of Things (IIoT), as shown in
Recently, Time-Sensitive Networking (TSN) has been developed by the IEEE 802.1 Task Group. TSN standards represent a series of improvements to standard Ethernet that facilitate real-time communication in IEEE 802.1 networks, including distributed clock synchronization, scheduled traffic enhancement, frame preemption, and path control and reservation. TSN is considered a promising real-time communication solution to satisfy the above-mentioned requirements of IIoT.
TSN provides the timed-gate mechanism and explicit control over the routing mechanism, but the routing and scheduling methods are beyond the scope of the TSN standards. For these mechanisms to operate properly, routing and scheduling methods must be developed. Currently, a few studies have been conducted to solve the TSN scheduling problem, e.g., using satisfiability modulo theories (SMT) or heuristic algorithms.
Those studies assumed that the routes of the flows were provided in advance. The separation of the routing process and scheduling process reduces the solution space. Several studies considered routing and scheduling for time-triggered networks. However, the computational time is still long and makes their practical use difficult.
The present invention is to overcome the above-described problem, and an object of the present invention is to provide a new and practical joint traffic routing and scheduling method.
In order to solve the problem, the joint routing and scheduling method according to the present invention is a method that is executed in the control apparatus of the industrial automatic system, and includes an initial input step to receive an initial candidate route number (K) for network topology, specification of N traffic flows, and each traffic flow; a candidate route generation step to generate a set of valid routes including K candidate routes for each traffic flow using the specification of N traffic flows; a routing step to determine an optimized route of each traffic based on the remaining bandwidth of all links that belong to the set of valid routes of each traffic and all candidate routes; a scheduling step to determine the message transmission instant and Gate Control List of the switches on the routes for each traffic based on the optimized route of all N traffic flows and specification.
As described above, the present invention ensures the real-time requirements of the time-critical traffic and has a network scalability.
Hereinbelow, embodiments of the present invention will be described in detail while referring to the accompanying drawings. The configuration and effects of action of the present invention will be understood clearly through the detailed description below.
Prior to the detailed description, it should be noted that the same components will be denoted by the same reference numerals as much as possible even when presented in different drawings, and the specific description will be omitted when determined that the gist of the present invention may be blurred with respect to a well-known configuration.
The present invention proposes a new joint traffic routing and scheduling method in order to compute the routes and construct the schedule for the time-critical flow.
Multiple time-critical frames can be transmitted within the same protected window. Accordingly, the number of entries in the gate control list (GCL) can be constrained not to exceed the maximum value, i.e., 1024 entries. The computed GCLs are succinct, ensuring that the calculated GCLs can be easily implemented in real-world TSN devices.
The validity of the method of the present invention is verified through simulation experiments. The simulation results indicate that the real-time requirements of time-critical traffic can be guaranteed by using the method of the present invention, even if time-critical traffic and non-time-critical traffic coexist within one network.
The scalability of the method of the present invention in terms of the number of flows and the network size is evaluated. The experiments indicates that the computational times for up to 4000 flows in the realistic industrial network topology (with fifteen switches and thirty-one end stations) are at the sub-second level. In addition, the computational times for 4000 flows in the random networks with up to twenty-one switches and one hundred and five end stations are also at the sub-second level, which indicate the perfect scalability of the method of the present invention.
Compared with the well-known ILP-based approach, degree of conflict (DoC)-aware iterative routing and scheduling (DA/IRS) approach and hybrid genetic algorithm (HGA)-based approach, the method of the present invention is significantly faster in terms of the computational time, requiring only 2.83%, 0.13% and 0.069% of the computational time of the three approaches, respectively.
The architecture model is a representation of an actual TSN network, which includes end stations (TSN and non-TSN end stations) denoted by ES, TSN switches denoted by SW, and full-duplex physical links. Each TSN switch may connect some TSN and non-TSN end stations. The clocks of all TSN switches and TSN end stations are assumed to be sufficiently synchronized according to IEEE 802.1AS-rev. Both TSN switches and TSN end stations support the scheduled transmission of frames according to the 802.1Qbv standard.
Each egress port of the TSN end stations and TSN switches deploys a time-aware shaper and has eight queues, as illustrated in
Each queue is equipped with a timed gate. When the gate of a queue is open, the frames inside the queue can be transmitted. Otherwise, the frames must wait in the queue before being transmitted until the gate becomes open. Therefore, the transmission of frames can be scheduled or controlled by managing the gate states, i.e., “closed” or “open”. Specifically, the gate states change according to the entries in a GCL. Each entry in the GCL represents a gate operation and consists of a “GateOperationName” value, a “GateStates” value that determines the states of the eight gates, and a “TimeInterval” value that decides how long this operation will be sustained. The operations in the GCL repeat periodically, and the repetition period is denoted as Tcycle. A TSN network is a converged network in which time-critical and non-time-critical traffic may coexist.
In order to avoid the transmission of non-time-critical traffic interfering with the transmission of time-critical traffic, it is necessary to place a guard band between them. According to the 802.1Qbv standard, the length of the guard band can be set as long as the transmission time of a maximum transmission unit (MTU)-sized frame. Or, when the length of the non-time-critical traffic frames is known to the switches in advance, the length of the guard band can be set as long as the transmission time of the maximum non-time-critical traffic frame. In the embodiments of the present invention, the length of the guard band is set as long as the transmission time of an MTU-sized frame.
The network topology is modeled as a directed graph, G≡(V, E) where V=ES∪SW represents the set of devices, i.e., end stations and switches, and E⊆V×V represents the set of directional physical links that connect two different devices.
Referring to
Each full-duplex physical link between two devices va and vb (va∈V, vb∈V) is considered as two separate directional links denoted by ordered pairs [va, vb] and [vb, va], where the first element defines the sender device (talker) and the second element defines the receiver device (listener). For example, the physical link between ES2 and SW1 is considered two separate directional links denoted by [ES2, SW1] and [SW1, ES2].
A set of time-critical and non-time-critical applications is considered to run within a TSN network. Time-critical applications are represented by time-critical traffic flows (e.g., periodic sensor monitoring messages), and non-time-critical applications are represented by non-time-critical traffic flows (e.g., sporadic office applications messages).
A flow is a multicast message transmission from one talker (the source end station) to one or multiple listeners (the destination end stations). It is noted that multicast flows can be considered to be a set of unicast flows. Without loss of generality, the number of listeners is reduced to one (unicast) to simplify the formalism, and extending the model to the general scenario is a simple step.
A flow fi is characterized by the tuple (srci, dsti, pdi, φi, hopij, Rij), where (1) srci∈ES represents the source end station, (2) dsti∈ES represents the destination end station, (3) pdi represents the period of the messages, (4) szi represents the message size, (5) φi represents the requirement of the maximum allowable end-to-end (e2e) delay, (6) hopij represents the hop number of its jth route (out of K candidate routes of the flow fi), and (7) Rij={rij[k]∈E|k=0, . . . , hopij} represents the jth route of the flow fi. Rij is a set consisting of all physical links (rij[k]) on the propagation route, where k is the sequence of the link on the route.
For example, rij[0] indicates the physical link between the source end station transmitting the flow and the ingress port of the first hop switch receiving the flow. Since any egress port is connected to at most one link, an equivalence is established between an egress port and its associated link, e.g., rij[0] also indicates the egress port of the source end station. Each periodic message must be delivered before the next periodic message is transmitted; thus, it has a maximum allowable e2e delay requirement.
In order to facilitate the understanding of the notation of the tuple, the description of the flow f2 in
The non-time-critical traffic flows are sporadic and do not have any e2e delay requirement. Thus, the parameters of pdi and φi do not exist for non-time-critical traffic flows. The method of the present invention primarily schedules time-critical traffic flows, and the remaining bandwidth resources are allocated to non-time-critical traffic flows. In the following description, traffic flows indicate time-critical traffic flows in case no specific description is provided.
The actual e2e delay (De2ei) of a message of flow fi is the difference between the time at which the message is received by the listener and the time at which the corresponding talker begins to transmit the message. In order to satisfy the requirement of a time-critical application, the De2ei of each time-critical message must be smaller than or equal to the predetermined maximum allowable e2e delay (φi). The composition of the actual e2e delay is introduced along the data propagation route. A message is assumed to contain only one frame.
MTU-sized frames are considered throughout the invention, and the frame length is Lmtu. The time required to transmit all bits of a message into a physical link is denoted as the transmission delay dtrans. As a result, the propagation delay of this message in a physical link is denoted as dprop. When the message arrives at a switch, it experiences a processing delay, denoted as dproc. The dproc and dprop are assumed to be the same for all TSN switches and physical links. This assumption can be relaxed easily by defining individual processing and propagation delays according to the properties of TSN switches and links. The time required for a message to be transmitted from its talker to its listener without interruption (or queueing) is denoted as Dphyi.
When a time-critical message has to wait in the queue of an egress port of the switch SWk, this causes a nondeterministic queuing delay (dq_SW
When the De2ei of the message exceeds φi, the requirement of time-critical industrial application cannot be satisfied.
The present invention proposes a novel method to compute the routes for time-critical flows, eliminate the nondeterministic queuing delay (or interruption) for time-critical flows caused by unexpected transmission conflicts, and construct the schedules such that the coexistence of time-critical and non-time-critical flows are enabled and the e2e delay requirements of all time-critical flows can be satisfied simultaneously.
The method of the present invention can also compute the routes for non-time-critical flows. However, since the method of the present invention focuses on determining the routing and scheduling for time-critical flows, the routes for non-time-critical flows may be computed using the shortest path algorithm. The details of the joint routing and scheduling method are described hereinbelow.
The method according to the present invention includes the inputs and outputs as indicated in Table 1.
Inputs: Network topology (G), specifications of N flows, number of candidate routes (K) to be initially computed for each flow
First, initialize the valid route set (V Ri) and the old valid route set (oldV Ri) to empty set for each flow fi, i=1, . . . , N (line 01).
Subsequently, based on the given network topology (G) and the flow specifications of N time-critical traffic flows, the first K candidate routes (Rij, j=1, . . . , K) for each flow fi are computed in sequence according to the ascending order of their maximum allowable e2e delay φi (line 02).
Various algorithms may be used to compute the first K routes. For example, there are Yen's K shortest paths algorithm, Feng's node classification algorithm, Kurtz's sidetrack-based algorithm, and Zoobi's sidetrack-based variant algorithm. In the present invention, Zoobi's sidetrack-based variant algorithm is adopted, which is currently the fastest solution to compute K shortest simple paths. During the process of computing the first K routes for fi, every time after obtaining the next new route, the hop number of this new route can be obtained. Using the Eq. 1, Dphyi which is the time required to transmit a message of fi from its talker to its listener without interruption (or queuing) on the route, is computed and then compared with the message's φi. When Dphyi is larger than φi, this new route will be considered an invalid route and will not be included in the valid route set (V Ri) for fi. The number of valid routes in V Ri is denoted as |V Ri|.
After obtaining the valid route set for the flow with the smallest di, the function values of |V Ri| routes of the flow are computed using the optimal routing method to be described later. The route with the largest function value among the |V Ri| routes is selected as the optimal route (line 03).
Subsequently, using the optimal routing method, the optimal routes for the remaining flows are selected in sequence based on the ascending order of their φi values (line 04).
The optimal routes and flow specifications of N time-critical traffic flows are used as inputs to the scheduling method to be described later to compute the schedule results (line 05).
When obtaining the schedule results fails, the next sub-optimal route of the flow with the smallest φi is selected as its optimal route; subsequently, the optimal routes for the remaining flows are recomputed, and the scheduling method is reused to compute the schedule results. The process is repeated until the schedule results are computed successfully or all valid routes in the valid route set V Ri for the flow with the smallest φi have been attempted (lines 06-09).
After all valid routes in the VRi for the flow with the smallest φi have been attempted and obtaining the schedule results still fails, compare the valid route set (VRi) and old valid route set (oldV Ri, which is empty set initially) of each flow fi. When the V Ri and the oldV Ri are not equal, this indicates additional valid routes might be obtained in the next repeated run; thus, the value of K is increased with an increment of 1, store the current value of the V Ri to the oldV Ri, and the entire routing and scheduling process is repeated (i.e., go back to line 02) until the schedule results are computed successfully or the newly obtained V Ri is equal to the oldV Ri for each flow fi when comparing them (lines 10-14). When the V Ri is equal to the oldV Ri for each flow fi, this indicates even when the value of K is increased, there are no additional valid routes obtained, the network system reaches an unstable condition, the input traffic exceeds the network's bandwidth capacity, and the number of flows in the network must be reduced (lines 15-16). On the other hand, when the schedule results are computed successfully, the routes for flows and the schedule results are outputted (lines 17-18).
The goal of the optimal routing method is to choose the optimal routes of the flows that reduce the chances of exceeding the maximum allowable e2e delay and avoid some links with a higher degree of congestion in terms of bandwidth. In order to determine the optimal route for a flow fi, the Rij·Dphyi and Rij·B of route Rij are selected as the metrics by referencing the metric selection criterion.
The Rij·Dphyi of route Rij of flow fi is the time required to transmit a message of fi from its talker to its listener without interruption (or queuing) on route Rij, which is calculated using Eq. (1). The residual bandwidth (Rij·B) of route Rij is the minimum residual bandwidth among all links on the route:
For all routes in the valid route set (V Ri) of flow fi, Rij·Dphyi and Rij·B are computed (lines 01-04).
Subsequently, (Rij·Dphyi)min and (Rij·B)max are computed for all routes (line 05).
Subsequently, for all routes in the valid route set (V Ri), the function value Rij·func(Rij·Dphyi, Rij·B) is computed (lines 06-08).
The route with the maximum function value is selected as the optimal route (Riopt) (line 09).
Maximizing Rij·func(Rij·Dphyi, Rij·B) means minimizing Rij·Dphyi and maximizing Rij·B.
Selecting a route with a smaller Rij·Dphyi can aid in satisfying φi, and selecting a route with a larger Rij·B can aid in spreading a flow across the entire network and choosing a route with a lower degree of congestion in terms of bandwidth.
Other metrics can also be included in Eq. 4 in the future. For example, the route cost in a deterministic networking (DetNet) network may be included. After determining the optimal route for a flow, the residual bandwidth of the links on its optimal route will be updated accordingly (line 10).
The scheduling method according to the present invention includes four steps. The basic concept of the scheduling method is to divide the bandwidth resource into time slots using time-division multiplexing. Then, assign each time-critical traffic frame to an appropriate time slot such that each flow does not experience nondeterministic queueing delay and satisfies the maximum allowable e2e delay requirement.
This step determines the length of the time-division interval (TDIr
When the messages of time-critical traffic flows pass through the egress ports on their propagation routes, the bandwidth resource of the egress ports are shared. In the present invention, the bandwidth of the egress port of an arbitrary TSN device (i.e., a TSN end station or TSN switch) is divided into time-division multiplexing intervals, which are called “time-division intervals”. Herein, an egress port riopt[k] on the optimal route of an arbitrary flow fi is used as an example.
The bandwidth allocation of the egress port riopt[k] is illustrated in
NTCIr
As indicated in Eq. 5, the base period (pdbase) is defined as the smallest value among the periods (pdi) of N time-critical traffic flows.
In order to restrict the length of the hyperperiod, which is the least common multiple of all periods, we adopt harmonic periods. For flows violating this condition, the periods (pdi) of flows have been reduced and adjusted, as indicated in Eq. 6, such that the periods will become harmonic.
The first term in Eq. 6 indicates that pdi is adjusted by multiplying an integer αi by the base period pdbase, wherein αi is the ratio (with respect to pdbase) and is defined as a power of two, i.e., 2m, and m is determined by the floor function m(x)=└x┘.
TDIr
Next, the length of GBIr
This step determines the time slot allocation interval (TSAIi) for a time-critical traffic flow fi and the number of time slots (NTSTCr
The TSs in TCIr
Based on the definition of TSAI; in Eq. 10, the maximum time slot allocation interval (TSAImax), as denoted in Eq. 11, is the least common multiple of the TSAIis of N time-critical traffic flows. The scheduling is repeated at an interval of TSAImax.
As discussed, when some flows pass through the same egress port, they share the bandwidth resource of the egress port. An egress port is defined as a shared egress port when a flow or some flows pass through the egress port. Because the routes (Riopt) of all time-critical traffic flows have been determined, the number of shared egress ports in the entire network and the number of flows that share the bandwidth resource of each shared egress port can be obtained.
The set of the shared egress ports in the entire network is denoted as SEP, and the number of the shared egress ports in the entire network is denoted as |SEP|. For the lth (l=1, . . . , |SEP|) shared egress port in the network, a flow set that contains some flows passing through this port is denoted as Fl, and the number of flows in the set Fl is denoted as |Fl|.
For example, as illustrated in
Next, the ratio of the time slot allocation interval (TSAIi) divided by the time-division interval (TDIr
In addition, because it takes one TS for a message to be transmitted to the next-hop switch, the hop numbers of flows should be considered. The largest hop number among all the flows in the set Fl is denoted as max(hopiopt), fi∈Fl, and the flow ID of opt)) the flow with the largest hop number is denoted as argmax(max(hopiopt)).
Considering the flow fargmax(max(hop
The message of flow fargmax(max(hop
Next, the process of determining NTSTCr
As described above, there are five shared egress ports, i.e., ports [ES2, SW1], [SW1, SW2], [SW2, ES4], [SW2, SW3], and [SW3, ES9]. There are five flow sets, i.e., F1={f1, f2}, F2={f1, f2}, F3={f1}, F4={f2}, and F5={f2}.
When the number of time slots in the time-critical data interval is determined by ┌Σf
It may be noted that the maximum allowable e2e delay requirements of f1 and f2 are not satisfied (as illustrated in
Next, the length of TCIr
The length of the guard band interval (GBIr
This step allocates specific TSs to each time-critical traffic flow fi, and determines the transmission instant (FMTIitalker) of the first time-critical message of fi from its TSN talker. In this step, a time-critical flow with a smaller maximum allowable e2e delay will be preferentially allocated a time slot. When the maximum allowable e2e delays of two time-critical flows are the same, then the time-critical flow with a larger hop number (hopiopt) will be preferentially allocated a time slot. When the maximum allowable e2e delays and hop numbers of two time-critical flows are the same, a time slot can be preferentially allocated to any of the two time-critical flows. In the present invention, the time-critical flow with a smaller flow ID will be preferentially allocated a time slot.
Based on this rule, the allocation sequence ASeq[n] (n=0, . . . , N−1) is determined, which is an integer value that indicates the flow ID of fi. For example, “ASeq[0]=1” indicates that flow f1 will be the first flow to be allocated a time slot, “ASeq[N−1]=5” indicates that the flow f5 will be the last flow to be allocated a time slot.
As mentioned in Step 2, the scheduling is repeated at an interval of TSAImax. Therefore, in the following description, only the scheduling process (i.e., time slot allocation process) during the first TSAImax is described.
The available TS in TSAImax is allocated to each flow orderly according to the allocation sequence ASeg[n] (n=0, . . . , N−1). The principle of the allocation process is to allocate the time-critical message of fi to “the first available” TSs in the TSAImax according to the allocation sequence ASeq[n]. The summary of the allocation process is as follows.
Next, descriptions will be made on how to uniquely determine the first TS allocated to fi in each egress port (riopt[k], k=0, . . . , hopiopt) using the starting number of TDIr
For example, as illustrated in
For a flow fi, the first TS allocated to fi in the egress port (riopt[0]) of the talker of fi is first determined.
As illustrated in
When the RTSr
Subsequently, the STDINir
Subsequently, the first TSs allocated to flow fi in the egress ports of the following switches on the route of fi can be determined iteratively. It is noted that every time a message of fi is propagated forward to the egress port of the next-hop switch (e.g., riopt[k+1]), the position of TS allocated to flow fi is shifted by one.
When the value of the starting number of slot (SSNir
Therefore, the next TS in the same positional TDIr
Thus, the value of the starting number of TDIr
Subsequently, after determining the first TSs allocated to flow fi in the egress ports of the talker/switches on the route, the TSs allocated for fi at each egress port should be checked for time slot conflicts (i.e., time slot overlaps) with TSs allocated to all previous flows that already completed the time slot allocation.
When time slot overlaps exist, the value of the starting number of slot (SSNir
The time slot overlap check process is repeated until there are no time slot overlaps. When there is no more available TS, this indicates the “scheduling method” subprocedure fails to obtain the schedule results, and the currently selected routes for time-critical flows are not suitable. Thus, the routes for time-critical flows should be recomputed accordingly, and the “scheduling method” subprocedure should be rerun. After the first TSs allocation for fi are complete, the transmission instant (FMTIitalker) of the first time-critical message from the egress port of its talker (i.e., riopt[0]) can be determined using Eq. 16.
Subsequently, at each egress port on the route of fi, according to the time slot allocation interval TSAIi determined in Step 2, other time slots are allocated to fi repeatedly.
This step derives the GCLs for TSN switches.
Step 2 indicates that scheduling is repeated every TSAImax seconds. Thus, the length Tcycle of each GCL can be determined according to Eq. 17.
Next, the GCLs for the egress ports of switches is determined. The egress port riopt[k] (k=1, . . . , hopiopt) on the data propagation route of flow fi(i=1, . . . , N) is considered as an example. When NTDIik is the number of time-division intervals (TDIr
Tcycle is a multiple of TDIr
As described above, port riopt[k] contains eight queues. Queues 6 and 7 are specialized for managing time-critical traffic, and an arbitrary queue (queue 6 or 7) will be assigned to time-critical messages, depending on the applications; other queues (queues 0-5) will be assigned to non-time-critical messages.
During NTCIr
During GBIr
The first three gate operations will be repeated afterward; the “GateStates” and “TimeInterval” values of each operation are shown in Table 2. The proposed method transmits as many time-critical flows as possible when the gates of queues 6 and 7 are open, and the number of guard bands and gate opening events can be drastically reduced.
Thus, the number of entries in the GCL can be constrained not to exceed the maximum value, i.e., 1024 entries as provided in [19]. Moreover, the calculated GCLs are succinct, ensuring that the calculated GCLs can be easily implemented in real-world TSN switches. For a TSN talker, it does not transmit non-time-critical traffic. The TSN talker transmits the first time-critical message of a flow fi at the instant given in Eq. (16), and the transmission will be repeated with an interval of TSAIi. The states of eight gates can always be open.
The process illustrated in
Specifically, the process illustrated in
Referring to
First, network topology, specification of N traffic flows, and each traffic flow are input to the processor of the industrial automation system (S100).
Next, the processor generate a set of valid routes including K candidate routes with respect to each traffic flow using the specification of N traffic flows. (S102)
Subsequently, the processor, based on the remaining bandwidths of the entire links that belong to the set of valid routes of each traffic flow and entire candidate routes, performs a routing step (S104). At this time, the processor, using the function where the time and remaining bandwidths necessary for the message to be transmitted without interruption from the talker device to the listener device are variables, determines a route where the function value becomes the maximum as an optimized route.
Lastly, the processor, based on the optimized route and specification of the all N traffic flows determined at the routing step, performs a scheduling step that determines the Gate Control List of the switch on the message transmission instant and routes for each traffic.
The scheduling step (S106) includes a process that determines the length of the time division interval (TDI) and time slot (TS) for the time division multiplexing, a process that determines the number of time slots allocated to the time-critical data interval, a process that calculates the length of the time-critical data interval and the length of the non-time-critical data interval, and a process that determines the time-critical message transmission instant by allocating the determined time slots to each traffic flow.
Additionally, in the process of determining the time-critical message transmission instant, when a remaining time slot (RTS) exists starting from the first time divisional interval (TDI) of each egress port for each flow, the start number of the corresponding time-division interval (TDi) and the starat number of the time slot (TS) are determined and the start number of the time-division interval of entire egress ports in each flow is determined.
Next, after performing the scheduling step, the processor determines whether a scheduling result can be output (S108). When the scheduling result can be output, the processor determines the message transmission time and the gate list (GCL) of the switch, and when the scheduling result cannot be output, that is, when the message transmission instant cannot be determined, a next step is performed.
That is, the processor determines whether an optimized route is used for all candidate routes included in the valid route set for each traffic flow (S112).
When determined that an optimized route is not used for all candidate routes, the processor returns to the routing step (S104) to determine a next second best route as the optimized route for each traffic flow, and then performs the scheduling step (S106).
When determined that an optimized route is used for all candidate routes, the processor determines whether the valid route set is identical to the previous valid route set (S114).
When determined that the valid route sets are not identical, the processor returns to the candidate route generation step (S102) and generates a new valid route set to perform the routing step (S104) and scheduling step (S106), and when determined that the valid route sets are identical, the processor outputs a network unstable state (S116).
In order to examine the validity of the joint routing and scheduling method according to the present invention, a simulation experiment was implemented in OMNET++, based on the simulation model that has been researched and developed.
The simulation experiment was conducted on a random synthetic test scenario. As illustrated in
The flow specifications are listed in Table 3. Table 3 lists the specification of 36 flows, and here, TC represents time-critical, and NTC represents non-time-critical. The adopted TSN network parameters are listed in Table 4. The combination of weights (0.5, 0.5) was adopted for the metrics Rij·Dphyi and Rij·B.
Next, the network topology, the flow specifications, and the number of routes to be computed for each time-critical flow (K, the initial value was set as 3) were inputted to the joint routing and scheduling method.
First, the optimal routes for time-critical flows were computed based on the optimal routing method as described above, as listed in Table 5. Then, according to Step 1 of the scheduling method as described above, the length of time-division interval was determined as 150 us based on Eqs. 5 and 8. The length of guard band interval was determined as 12.24 us, and the length of a time slot TS was determined as 13.29 us based on Eq. 9.
According to Step 2, the time slot allocation intervals (TSAIi values) of the time-critical traffic flows were determined as [TSAI1, TSAI2, . . . , TSAI34]=[600, 600, 300, 300, 150, 150, 300, 300, 300, 300, 600, 600, 600, 600, 600, 600, 600, 600, 300, 300, 150, 150, 300, 300, 300, 300, 300, 600, 600, 600, 600, 600, 300, 300 us] based on Eq. 10.
The maximum time slot allocation interval (TSAImax) were determined as 600 us via Eq. 11. The number of time slots allocated in a time-critical data interval was determined as 8 using Eq. 12. The length of time-critical data interval was determined as 106.32 us via Eq. 13. The length of non-time-critical data interval was determined as 31.44 us via Eq. 14.
According to Step 3, the transmission instants (FMTIitalker) of the first frame of each time-critical traffic flow from its TSN talker were determined as [FMTI1talker, FMTI2talker, . . . , FMTI34talker]=[96.84, 110.13, 43.68, 56.97, 43.68, 56.97, 70.26, 83.55, 96.84, 110.13, 220.26, 233.55, 246.84, 260.13, 273.42, 286.71, 423.42, 436.71, 43.68, 56.97, 43.68, 56.97, 83.55, 96.84, 110.13, 123.42, 136.71, 220.26, 233.55, 246.84, 260.13, 273.42, 43.68, 43.68 us].
According to Step 4, the GCLs for the TSN switches were derived. Because of the limited space, the GCL for the egress port [SW1, SW2] was presented as an example. The number of time-division intervals during Tcycle was determined as 4 via Eq. 18. According to Table 2, the GCL for the egress port [SW1, SW2] was derived, as described in Table 6. The GCLs for other egress ports of TSN switches were similarly determined. Up to now, the routes for flows and the schedule results had been obtained.
The existing studies (e.g., SMT-based methods, heuristic algorithms, and ILP-based methods) did not provide their source codes, thus ruling out the comparison of schedule results with them. In order to examine the performance of the proposed method, a benchmark (i.e., same network topology and flow specifications, but without using the proposed method) was established. The routes of the flows were computed using the shortest path algorithm; the gates of egress ports of TSN switches were always “open”, and talkers of time-critical traffic flows started to transmit the first time-critical message at instant 0. Subsequently, the simulation experiments with and without using the proposed method were performed based on the configurations mentioned above. The simulation experiments were run for 30 s. It is noted that the period of time-critical flows was “us” level. For example, the period of flow f5 was 150 us, which indicated that 200,000 messages would be transmitted during the simulation time. Thus, 30 s was sufficient for the simulation experiments.
Table 7 lists the maximum, minimum, average, and jitter values of the measured e2e delays of each flow for the cases with and without using the proposed method. Herein, jitter is defined as the deviation in the measured e2e delay of two subsequent messages of a flow.
First, the measured e2e delays of time-critical messages of time-critical traffic flows were compared between the two cases. It can be observed that in the case without using the proposed method, the maximum allowable e2e delay requirements (φi values) of some time-critical traffic flows (i.e., f5, f6, f21 and f22) were not satisfied, and many e2e delays fluctuated.
Whereas in the case with using the proposed method, the e2e delays of all messages of time-critical traffic flows were deterministic, conformed to the computed schedule results, and satisfied their maximum allowable e2e delay requirements (φi values).
Then, the measured e2e delays of messages of non-time-critical flows (i.e., f35 and f36) were compared between the two cases. It is noted that f35 and f36 did not have any real-time requirements. It can be verified that the maximum, minimum, and average values of the measured e2e delay were significantly reduced in the case with using the method of the present invention. The simulation results indicated that the method of the present invention is valid. The method of the present invention can satisfy the maximum allowable e2e delay requirements of the time-critical traffic flows, even if time-critical and non-time-critical traffic flows coexist within one network.
The computational time of the proposed method has been evaluated for different traffic loads by adjusting the number of flows. A typical realistic network, that is, the Orion crew exploration vehicle (CEV) network commonly adopted in the existing studies was selected as the test topology, as illustrated in
During the experiments, we varied the number of flows, ranging from 500 to 4000 flows. Talkers and listeners of all flows were randomly distributed among the end stations. The periods of flows were selected randomly from 8, 16, and 32 ms. The method of the present invention was implemented using C++, and all experiments were conducted on a PC with Intel Core i7-8559 @ 2.70 GHz CPU and 16 GB RAM. Table 8 indicates the computational times in the scenario of different numbers of flows. It can be observed that the computational times increased when the number of flows to be scheduled increased. The computational times for up to 4000 flows in the realistic industrial network topology were still at the sub-second level, indicating that the method of the present invention has perfect scalability.
The computational time of the method of the present invention has been evaluated for different network sizes by adjusting the number of switches and end stations. During the experiments, the random network topologies were adopted, and we varied the number of switches from 3 to 21 switches. Each switch was connected with the same number of end-stations. The number of flows was 4000, and the periods of flows were selected randomly from 8, 16, and 32 ms. Talkers and listeners of all flows were randomly distributed among the end stations. The results in Table 9 indicates that the computational time of the proposed method increased almost linearly when the network size increased. The computational time for 4000 flows in the 21-switches network was still sub-second level, which also indicated that the scalability of the method of the present invention is excellent.
The computational times of the joint routing and scheduling method of the present invention were compared with the computational times of several recent approaches, wherein, the DoC-Aware Iterative Routing and Scheduling (DA/IRS) approach was showed to be faster than other two ILP-based approaches. As a result, the comparison with these two ILP-based approaches was skipped.
The network topology, number of switches and end stations, and the number of flows conformed with the existing studies, as indicated in Tables 10, 11, and 12. Talkers and listeners were randomly distributed among the end stations. As the existing studies did not provide the source code, the computational times were directly obtained from the studies.
First, the computational times were compared to those of the ILP-based approach. The network topology adopted the random graph (Erdos-Renyi network model), the number of switches is eight, and each switch connects three end stations on average. The periods of flows were selected randomly from 1, 2, 4, and 8 ms, consistent with the flow periods in existing studies. Table 10 compared the computational times for different numbers of flows. The method of the present invention requires only 2.83% computational time of the ILP-based approach for the 2-flow case in Table 10 and even lower for other cases.
Next, the computational times were compared to those of the DA/IRS approach. The number of switches and end stations and the number of flows conformed with the existing studies. The periods of the flows were selected from 5 ms and 10 ms. Table 11 indicates the comparison of the computational times. The DA/IRS approach was implemented in MATLAB. Considering the performance gap between the MATLAB and C/C++ implementations (20 times faster in C/C++), the computational time of the DA/IRS approach was shortened by 20 times, as indicated in the column labeled “DA/IRS (20×)” in Table 11.
Compared with the DA/IRS approach, the method of the present invention requires only 0.13% computational time of the DA/IRS approach (i.e., approximately 770-fold faster) for the 20-flow scenario in Table 14, and even lower for other scenarios.
Then, the computational times were compared to those of the hybrid genetic algorithm (HGA). The network topology was the ring topology, the number of switches is ten, and each switch connects five end stations. The periods of flows were selected randomly from 2, 4, and 8 ms.
Table 12 compared the computational times for different numbers of flows. The method of the present invention requires only 0.069% computational time of the HGA-based approach for the 10-flow case in Table 12 and even lower for other cases.
The IEEE TSN Task Group is standardizing a real-time communication solution for applications in industrial domains that can satisfy the communication requirements of IIoT. However, the routing and scheduling methods are ignored by the current IEEE 802.1 standard. In the present invention, a joint routing and scheduling method to obtain the routes for time-critical flows and construct the schedules has been proposed.
The simulation experiments were performed to examine the validity of the method of the present invention. The simulation results indicated that the method of the present invention could satisfy the real-time requirements of time-critical traffic. Furthermore, the scalability of the proposed method was evaluated from the perspective of the number of flows and the network size. The experimental results illustrated that the computational times for routing and scheduling up to 4000 flows in a realistic industrial network topology were in the sub-second level, the computational times for routing and scheduling 4000 flows in the random networks with up to twenty-one switches. And 155 end stations were also in the sub-second level, which indicated the perfect scalability of the method of the present invention. In addition, evaluation of the computational times required to calculate routes and schedule in comparison with those of the ILP-based approach, DA/IRS approach, and HGA-based approach indicated the method of the present invention is much faster and requires only 2.83%, 0.13%, and 0.069% of the computational time of the three approaches, respectively.
The above descriptions merely explain the present invention as an example, and various modification may be possible by an ordinary skill in the art in the technical field to which the present invention belongs without departing from the spirit of the present invention.
Accordingly, the embodiments of the specification in the present invention do not limit the scope of the present invention. The scope of the present invention should be interpreted by the claims below, and all technologies within the equivalent range should be interpreted to be included in the present invention.
The present invention may be widely applied to the industrial automation system.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0000811 | Jan 2022 | KR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/KR2022/016062 | 10/20/2022 | WO |