JOINT TRAFFIC ROUTING AND SCHEDULING METHOD FOR REMOVING NON-DETERMINISTIC INTERRUPT FOR TSN NETWORK USED IN INDUSTRIAL IOT

Information

  • Patent Application
  • 20250112873
  • Publication Number
    20250112873
  • Date Filed
    October 20, 2022
    2 years ago
  • Date Published
    April 03, 2025
    3 months ago
Abstract
The present invention proposes a novel joint traffic routing and scheduling method for computing routes for time-critical flows and constituting the schedules. The validity of the proposed method has been verified using a random synthetic test scenario. The simulation results demonstrate that the real-time requirements of time-critical traffic could be guaranteed with the method of the present invention. Subsequently, the scalability of the proposed method has been evaluated from the perspective of the number of flows that can be scheduled and the network size. The results indicate that the computational times for 4000 flows in the realistic industrial network topology and random network topologies (with up to 21 switches and 105 end stations) are at the sub-second level, which indicate the perfect scalability of the proposed method.
Description
TECHNICAL FIELD

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.


BACKGROUND

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 FIG. 1), are largely incompatible with each other. This is known as manufacturer lock-in, resulting in unnecessary expense. It has been challenging to interconnect the Information Technology (IT) system in the upper layers of the automation architecture with the Operation Technology (OT) system in the lower layers of the automation architecture, which is commonly achieved using gateways.



FIG. 1 illustrates a hierarchical architecture of a general industrial automation system.


In FIG. 1, PLC represents a programmable logic controller, SCADA represents supervisory control and data acquisition, MES represents manufacturing execution system, ERP represents enterprise resource planning.


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 FIG. 2. This flatter hierarchy requires the coexistence of IT and OT systems and breaks down the communication barriers between IT and OT systems. The new requirements of IIoT (e.g., convergence, deterministic latency, and IP access down to the field devices) cannot be satisfied by the legacy industrial communication solutions. Thus, a further evolution of industrial communication is necessary and reasonable.


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.


DETAILED DESCRIPTION OF THE INVENTION
Problems to be Solved

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.


Means to Solve the Problem

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.


Effect of the Invention

As described above, the present invention ensures the real-time requirements of the time-critical traffic and has a network scalability.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a drawing illustrating a hierarchical architecture of a general industrial automation system.



FIG. 2 is a drawing illustrating a hierarchical architecture of an industrial automation system applied with TSN network.



FIG. 3 is a drawing illustrating a configuration of an egress port of a TSN end station/switch.



FIG. 4 is a drawing illustrating a TSN topology according to an embodiment of the present invention.



FIG. 5 is a drawing illustrating a bandwidth allocation of the egress port riopt[k] on the route of a flow fi according to an embodiment of the present invention.



FIG. 6 is a drawing for explaining the process of determining the time slot number NTSTCriopt[k] according to the present invention.



FIG. 7 is a drawing illustrating an example of using STDINiriopt[k] and SSNiriopt[k] to determine the first TS allocated to flow fi in the egress port riopt[k].



FIG. 8 is a drawing for explaining the process of allocating the first TS to flow fi in each egress port (riopt[k], k=0, . . . , hopiopt) during the TSAImax.



FIG. 9 is a flowchart illustrating the joint routing and scheduling method according to the present invention.



FIG. 10 is a screenshot illustrating TSN network in a test scenario.



FIG. 11 is a drawing illustrating Orion CEV network with fifteen switches and thirty-one end stations.





DETAILED DESCRIPTION TO EXECUTE THE INVENTION

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.


Architecture Model

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 FIG. 3. Among these, two queues corresponding to IEEE 802.1Q traffic classes 7 and 6 are specialized for managing time-critical traffic, while the remaining six queues are used to manage non-time-critical traffic.


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.



FIG. 4 illustrates an example of a TSN network topology with ES={ESi|i=1, . . . , 9} and SW={SWj|j=1, . . . , 3}.


Referring to FIG. 4, the two flows (f1, f2) each having different path are sent from ES2 to ES4 and ES9, respectively.


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].


Application Model

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 FIG. 4 is taken as an example. The source end station src2 is ES2, the destination end station dst2 is ES9. The period pd2 is set as 300 us (the period's value depends on the application), the message size sz2 is set as MTU-size, and the requirement of the maximum allowable e2e delay φ2 is 300 us. There exists only one route (i.e., R21) for f2, the hop number hop21 of the route R21 is 3, and the route R21 is {[ES2, SW1], [SW1, SW2], [SW2, SW3], [SW3, ES9]} or expressed as ES2→SW1→SW2→SW3→ES9.


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.











D
phy
i

=





k
=
1



M
i

+
1



d
trans


+




k
=
1



M
i

+
1



d
drop


+




k
=
1


M
i



d
proc




,




[

Equation


1

]









    • where Mi denotes the number of switches on the propagation route between the talker and listener of a flow fi.





Problem Statement

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_SWki), and the overall e2e delay De2ei of this message can be expressed as Eq. 2 as indicated below.










D

e

2

e

i

=


D
phy
i

+




k
=
1


M
i




d


q_

SW

k

i

.







[

Equation


2

]







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.


Joint Routing and Scheduling Method

The method according to the present invention includes the inputs and outputs as indicated in Table 1.










TABLE 1







Inputs
The network topology G.



Flow specifications of N time-critical traffic flows:



source end station srci;



destination end station dsti;



period pdi;



maximum allowable e2e delay φi;



message size szi, which equals Lmtu.



The number of candidate routes K, which will be initially



computed for each time-critical traffic flow.


Outputs
Routes for time-critical traffic flows.



The schedule results:



transmission instant FMTIitalker of the first message of each



time-critical traffic flow from the corresponding TSN talker;



GCLs for TSN switches.









1) Entire Process of the Joint Routing and Scheduling Method

Inputs: Network topology (G), specifications of N flows, number of candidate routes (K) to be initially computed for each flow

    • 01. Initialize the valid route set (VRi) and the old valid route set (oldV Ri) to empty set for each flow fi, i=1, . . . , N
    • 02. Based on the ascending order of φi, examine the feasibility of the K routes of the corresponding flow fi orderly, wherein, compare Dphyi of each new route with φi; do not include the route that Dphyii
    • 03. Using the optimal routing method to be described later, compute the function values of |VRi| for the flow with the smallest φi, and select the route with largest function value as its optimal route
    • 04. Select the optimal route for the remaining flows orderly based on the ascending order of φi
    • 05. Compute the schedule results by applying the optimal routes and specifications of all flows to the scheduling method as inputs
    • 06. When failed to obtain the schedule result
    • 07. When all valid routes in the V Ri of the flow have not been attempted
    • 08. Select the next suboptimal route in the V Ri of the flow with the smallest φi as its optimal route
    • 09. Go back to lin 04
    • 10. Else, when all valid routes in the V Ri of the flow have been attempted
    • 11. When Ri and oldV Ri (i=1, . . . , N) are not equal
    • 12. Increase the value of K with an increment of 1
    • 13. Store the value of VRi to oldV Ri
    • 14. Go back to line 02
    • 15. Else, when V Ri and oldV Ri (i=1, . . . , N) are equal
    • 16. This indicates that there are no more valid routes even when the value of K is increased, the network system reaches an unstable condition, the input traffic exceeds the network's bandwidth capacity, and the number of flows needs to be reduced and end
    • 17. Else, when the schedule results are obtained
    • 18. Optimal routes for flows and the schedule results are outputted
    • Output: Routes for flows and the schedule results


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).












2) Optimal Routng Method















Inputs: The VRi of a flow fi, the residual bandwidth of all links in the network


01. For route Rij, Rij ∈ V Ri


02. Compute Rij.Dphyi using the Eq. 1


03. Compute Rij.B using the Eq. 3


04. End


05. Compute (Rij.Dphyi)min and (Rij.B)max for all routes


06. For route Rij, Rij ∈ V Ri


07. Compute Rij.func(Rij.Dphyi,Rij.B) using Eq. 4


08. End


09. Select the route with the largest function value as the optimal route (Riopt)


10. Update the residual bandwidth of links on the optimal route


Outputs: Riopt for flow fi









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:











R
i
j

.
B

=


Min



k
-
0



hop
i
j






r
i
j

[
k
]

.
b






[

Equation


3

]









    • where rij[k]·b is the residual bandwidth of a link rij[k], k=0, . . . , hopij on route Rij of flow fi. Based on the metrics Rij·Dphyi and Rij·B, define a function func(Rij·Dphyi, Rij·B) for route Rij:















R
i
j

.

func

(



R
i
j

.

D
phy
i


,

R
i
j

,
B

)


=



ω
1

·

(



(


R
i
j

.

D
phy
i


)

min



R
i
j

.

D
phy
i



)


+


ω
2

·

(



R
i
j

.
B



(


R
i
j

.
B

)

max


)




,




[

Equation


4

]









    • where Σm=12 ωm=1, for which both ω1 and ω2 have a value between 0 and 1 based on the weighting preference of the system designer; (Rij·Dphyi)min is the minimum Rij·Dphyi among all routes; and (Rij·B)max is the maximum Rij·B among all routes.





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).


3) Scheduling Method

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.














Inputs: Specifications and optimal routes for N flows








01.
Step 1: Determine the length of time-division interval (TDIriopt[k]) and a time



slot (TS) for the time-division multiplexing based on Eq. 8 and 9


02.
Step 2: Determine the time slot allocation interval (TSAIi) for each flow fi



using Eq. 10


03.
Determine the number of time slots (NTSTCriopt[k]) allocated in time-critical



data interval TCIriopt[k] using Eq. 12


04.
Determine the length of TCIriopt[k] and non-time-critical data interval



NTCIriopt[k] based on Eq. 13 and 14


05.
Step 3: Allocate specific TSs to each flow fi and determine the transmission



instant (FMTIitalker) of the first time-critical message of fi from its TSN



talker


06.
Specifically, firstly determine the allocation sequence ASeq[n](n = 0, ..., N −



1)


07.
Select a flow fi according to the ASeq[n]


08.
Begin from the first TDIriopt[0] in egress port riopt[0]


09.
When 1 ≤ RTSriopt[0] ≤ NTSTCriopt[0]


10.
Determine the starting number of TDIriopt[0] (STDINiriopt[0]) and the starting



number of slot (SSNiriopt[0]) on the egress port riopt[0] for fi, go to line 13


11.
Else


12.
Move to the next TDIriopt[0], go back to line 09


13.
Determine the STDINiriopt[k] and SSNiriopt[k], k = 1, ..., hopiopt


14.
Determine the FMTIitalker using Eq. 16


15.
In port riopt[k](k = 0, ..., hopiopt) , allocate other time slots to



firepeatedly according to its TSAIi


16.
Repeat lines 07-15 until all flows are allocated with FMTIitalker values


17.
Step 4: Derives the GCLs for the TSN switches







Outputs: FMTIitalker, GCLs for TSN switches









<Step 1>

This step determines the length of the time-division interval (TDIriopt[k]) and the length of a time slot (TS) for the time-division multiplexing.


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 FIG. 5. Each time-division interval TDIriopt[k] is subdivided into a non-time-critical data interval (NTCIriopt[k]), a guard band interval (GBIriopt[k]) and a time-critical data interval (TCIriopt[k]).


NTCIriopt[k] is used by non-time-critical data, i.e., non-time-critical data will be transmitted during this time interval. GBIriopt[k] is used to isolate NTCIriopt[k] and TCIriopt[k] to avoid the transmission of non-time-critical traffic interfering with the transmission of time-critical traffic. TCIriopt[k] is further subdivided into multiple TSs, and different TSs will be used to transmit different time-critical data.


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.











pd
base

=

min


{


pd
i

,



i

=
1

,


,
N

}



,




[

Equation


5

]







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.











pd
i

=


α
i

×

pd
base



,


α
i

=

2




log
2

(


pd
i

/

pd
base


)









[

Equation


6

]







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┘.


TDIriopt[k] is the basic scheduling unit. In the meantime, TDIriopt[k] is expected to be as large as possible to contain more time slots for time-critical data. On the other hand, in order to aid in satisfying the maximum allowable e2e delay of time-critical traffic flows, the length of TDIriopt[k] should be set not to exceed the smallest period value (pdbase), as indicated in Eq. 7.














TDI




r
i
opt

[
k
]





pd
base


,







TDI




r
i
opt

[
k
]




is


then


determined


as


in



Eq
.

8.








[

Equation


7

]













TDI




r
i
opt

[
k
]



=


pd
base

.





[

Equation


8

]







Next, the length of GBIriopt[k] is determined as GBIriopt[k]=Lmtu/NLspd, where NLspd is the network link speed. Regarding the length of a TS, the TS should be sufficiently long for complete transmission of a time-critical frame (which results in a transmission delay, dtrans). In addition, after a time-critical frame is transmitted, this frame will experience a propagation delay (dprop) on the following link and a processing delay (dproc) inside the next-hop switch, this frame can be transmitted from the next-hop switch during the next TS designed for it. Thus, the length of a TS is determined as follows.









TS
=


d
trans

+

d
prop

+

d
proc






[

Equation


9

]







<Step 2>

This step determines the time slot allocation interval (TSAIi) for a time-critical traffic flow fi and the number of time slots (NTSTCriopt[k]) allocated in the time-critical data interval TCIriopt[k].


The TSs in TCIriopt[k] should be appropriately allocated to time-critical traffic flows to avoid transmission collision between messages of different flows and concomitant nondeterministic queuing delays in the switches. In order to achieve this, first, the TSAIi must be determined for each flow. During each period of fi, a new message is transmitted. Thus, the TSAIi values are determined using Eq. 10.










TSAI
i

=

pd
i





[

Equation


10

]







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.










TSAI
i

=

max


{


TSAI
i

,



i

=
1

,


,
N

}






[

Equation


11

]







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 FIG. 4, there are two flows (f1 and f2) in the network, which are sent by ES2 to ES4 and ES9, respectively. The route of f1 is ES2→SW1→SW2→ES4, and the route of f2 is ES2→SW1→SW2→SW3→ES9. Since any egress port is connected to at most one link, an equivalence is established between an egress port and its associated link. Based on the routes of the two flows, in the set SEP, there are five shared egress ports, i.e., the 1st shared egress port [ES2, SW1], 2nd port [SW1, SW2], 3rd port [SW2, ES4], 4th port [SW2, SW3], and 5th port [SW3, ES9]. There are five corresponding flow sets: flow set F1={f1, f2}, flow set F2={f1, f2}, flow set F3={f1}, flow set F4={f2}, and flow set F5={f2}.


Next, the ratio of the time slot allocation interval (TSAIi) divided by the time-division interval (TDIriopt[k]) is denoted as βi, i.e., βi=TSAIi/TDIriopt[k]. TSAIi indicates how frequently a time slot will be allocated to flow fi. The reciprocal of the ratio βi (i.e., 1/βi=TDIriopt[k]/TSAIi) indicates the number of time slots required for allocating to flow fi in a single TDIriopt[k]. It is assumed that the egress port riopt[k] is the lth (l=1, . . . , |SEP|) shared egress port in the network. In order to accommodate all the flows (inside the set Fl) that pass through the egress port riopt[k] in the TCIriopt[k], at least ┌Σfi∈Fl (1/βi)┐ time slots should be contained inside the TCPriopt[k] in a single TDIriopt[k].


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(hopiopt)) in the set Fl that has the largest hop number max(hopiopt) and flow ID argmax(max(hopiopt)), the ratio of its time slot allocation interval (TSAIargmax(max(hopiopt))) divided by the time-division interval is βargmax(max(hopiopt)).


The message of flow fargmax(max(hopiopt)) will be transmitted forward max(hopiopt) hops during its period or time slot allocation interval (TSAIargmax(max(hopiopt))). This indicates that this message will experience (max(hopiopt)/βargmax(max(hopiopt))) hops on average during a single time-division interval. Thus, we need to further enlarge the number of time slots in the time-critical data interval by (max(hopiopt)/βargmax(max(hopiopt))). Finally, NTSTCriopt[k] (it should be an integer) is determined as Eq. 12.














NTSTC




r
i
opt

[
k
]



=



max

(






f
i



F
l




(

1

β
i


)


+


max

(

hop
i
opt

)


β

arg



max
(

max
(

hop
i
opt

)

)





)










l
=
1

,


,




"\[LeftBracketingBar]"

SEP


"\[RightBracketingBar]"


.





,




[

Equation


12

]







Next, the process of determining NTSTCriopt[k] is explained using a simple example. As illustrated in FIG. 4, ES2 sends two flows (f1 and f2) to ES4 and ES9, respectively. The period and route of f1 are 150 us and ES2→SW1→SW2→ES4 (the hop number is 2), respectively; and the period and route of f2 are 300 us and ES2→SW1→SW2→SW3→ES9 (the hop number is 3), respectively. The length of the time-division interval may be determined as 150 us. The time slot allocation intervals TSAI1 and TSAI2 are determined to be 150 us and 300 us, respectively. TSAImax is determined as 300 us.


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 ┌Σfi∈Fl (1/βi)┐, the number of time slots in the time-critical data interval of ports [ES2, SW1], [SW1, SW2], [SW2, ES4], [SW2, SW3], [SW3, ES9] is 2, 2, 1, 1, and 1, respectively.


It may be noted that the maximum allowable e2e delay requirements of f1 and f2 are not satisfied (as illustrated in FIG. 6(a)). However, when the number of time slots in the time-critical data interval is determined by Eq. 12, the number of time slots in the time-critical data interval of ports [ES2, SW1], [SW1, SW2], [SW2, ES4], [SW2, SW3], [SW3, ES9] will be 3, 3, 3, 3, and 3, respectively, and the maximum allowable e2e delay requirements of f1 and f2 will be satisfied (as illustrated in FIG. 6(b)).


Next, the length of TCIriopt[k] is determined. The length of a TS is determined as TS=dtrans+dprop+dproc in Step 1, and NTSTCriopt[k] is determined using Eq. 12. Thus, the length of TCIriopt[k] can be obtained according to Eq. 13.










TCI




r
i
opt

[
k
]



=


NTSTC




r
i
opt

[
k
]



×

TS
.






[

Equation


13

]







The length of the guard band interval (GBIriopt[k]) is determined as GBIriopt[k]=Lmtu/NLspd, where NLspd is the network link speed, and the length of the non-time-critical interval NTCIriopt[k] is determined as Eq. 14.










NTCI




r
i
opt

[
k
]



=


TDI




r
i
opt

[
k
]



-

GBI




r
i
opt

[
k
]



-

TCI




r
i
opt

[
k
]








[

Equation


14

]







<Step 3>

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.

    • (1) for the egress ports of talker/switches (riopt[k], k=0, . . . , hopiopt) that will be passed through by fi, the first TS allocated to flow fi is determined by selecting the first available TS in the TSAImax.
    • (2) other time slots in egress ports (riopt[k], k=0, . . . , hopiopt) are allocated to fi repeatedly according to the time slot allocation interval TSAIi determined in Step 2.


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 TDIriopt[k] (STDINiriopt[k]) and the starting number of slot (SSNiriopt[k]).


For example, as illustrated in FIG. 7, “STDINiriopt[k]=2, SSNiriopt[k]=3” means that the third TS (marked with a red *) inside TCIriopt[k] of the second TDIriopt[k] is the first TS allocated to flow fi in the egress port riopt[k].


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 FIG. 8, in order to determine the STDINiriopt[0] and SSNiriopt[0] for flow fi, the number of remaining time slots (RTSriopt[0]) that have not been allocated in the TCIriopt[0] must be checked, beginning from the first TDIriopt[0].


When the RTSriopt[0] satisfies Eq. 15, the first unallocated TS among the remaining TSs will be the first TS for flow fi.









1


RTS




r
i
opt

[
0
]





NTSTC




r
i
opt

[
0
]







[

Equation


15

]







Subsequently, the STDINiriopt[0] and SSNiriopt[0] for fi can be determined; otherwise, the allocation should move to the next TDIriopt[0] and check the number of remaining time slots. The same process is repeated until the first TS (marked with *) for flow fi in the egress port (rropt[0]) of talker of fi is determined.


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 (SSNiriopt[k]) on the current egress port riopt[k] is less than the value of NTSTCriopt[k] as defined in Step 2, this implies that a suitable TS for allocating to flow fi inside the same positional time-division interval TDIriopt[k+1] on the egress port of the next switch (riopt[k+1]) is available.


Therefore, the next TS in the same positional TDIriopt[k+1] will be the first TS allocated to flow fi in the next-hop switch (riopt[k+1]). When the value of the starting number of slot (SSNiriopt[k]) on the current egress port riopt[k] is equal to NTSTCriopt[k], this implies that no suitable TS for allocating to flow fi in the same positional time-division interval TDIriopt[k+1] on the egress port of the next switch (riopt[k+1]) is available.


Thus, the value of the starting number of TDIriopt[k+1] (STDINiriopt[k+1]) on the egress port of the next switch riopt[k+1] should be increased by 1, and the value of the starting number of slot (SSNiriopt[k+1]) on the egress port of the next switch riopt[k+1] should become 1.


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 (SSNiriopt[k]) and the value of the starting number of TDIriopt[k] (STDINiriopt[k]) (k=0, . . . , hopiopt) will be adjusted to the following first available TS as described earlier.


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.













FMTI
i


talker


=



(


STDIN
i




r
i
opt

[
0
]



-
1

)

×

TDI




r
i
opt

[
0
]










+


(


NTCI




r
i
opt

[
0
]



+

GBI




r
i
opt

[
0
]




)








+


(


SSN
i




r
i
opt

[
0
]



-
1

)


×
T


S
.








[

Equation


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.


<Step 4>

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.










T
cycle

=


TSAI
max

.





[

Equation


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 (TDIriopt[k]s) during Tcycle, NTDIik is determined according to Eq. 18.










NTDI
i
k

=


T
cycle

/

TDI




r
i
opt

[
k
]








[

Equation


18

]







Tcycle is a multiple of TDIriopt[k]. Thus, NTDIik is an integer determined by Eq. 18.


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 NTCIriopt[k] in the first TDIriopt[k], non-time-critical traffic is designed to be transmitted from the egress port riopt[k]. Thus, the gates of queues 6-7 are set as closed, and the gates of queues 0-5 are set as open. According to the gate states of the eight queues, the first gate operation (whose “GateOperationName” value is “Operation 0”) is set as shown in Table 2 in the GCL for port riopt[k].


During GBIriopt[k] in the first TDIriopt[k], all gates are set as closed, and the second gate operation (whose GateOperationName value is “Operation 1”) is set in the GCL accordingly. During TCIriopt[k] in the first TDIriopt[k], time-critical traffic is designed to be transmitted from port riopt[k]. Thus, the gates of queues 6-7 are set as open, and the gates of queues 0-5 are set as closed. The third gate operation (whose GateOperationName value is “Operation 2”) is set in the GCL accordingly.


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.











TABLE 2





GateOperationName
GateStates
TimeInterval


















Repeat NTDik times:
Operation 0
0011 1111
NTCIriopt[k]



Operation 1
0000 0000
GBIriopt[k]



Operation 2
1100 0000
TCIriopt[k]










FIG. 9 illustrates the process of joint routing and scheduling in the industrial automation system where TSN network is applied according to the present invention.


The process illustrated in FIG. 9 is executed in a control system of an industrial automation system or a separate computer system, an optimized route and scheduling result for each flow generated through the process are applied to the industrial automation system.


Specifically, the process illustrated in FIG. 9 is to optimize the operation management of the industrial automation system, and the process will be executed by the control system of the industrial automation system or a processor of a separate computer system. Hereinbelow, descriptions will be made by assuming that the process is executed by the processor.


Referring to FIG. 9, the joint routing and scheduling method according to the present invention are largely divided into a routing step (S104) and scheduling step (S106).


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).


Performance Evaluation
1. Validity Evaluation

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 FIG. 10, the TSN network included nine TSN switches (SW1 to SW9), twenty-seven end stations (ES1 to ES27) which were attached to the TSN switches, thirty-four time-critical traffic flows (f1 to f34), and two non-time-critical traffic flows (f35 and f36).


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.















TABLE 3





Flow
Type
Talker
Listener
Period pdi
φi
Size







f1, f2
TC
ES2
ES14
600 us
600 us
MTU


f3, f4
TC
ES3
ES7
300 us
300 us
MTU


f5, f6
TC
ES9
ES14
150 us
150 us
MTU


f7-f10
TC
ES9
ES13
300 us
300 us
MTU


f11-f18
TC
ES8
ES14
600 us
600 us
MTU


f19
TC
ES1
ES27
300 us
300 us
MTU


f20
TC
ES26
ES20
300 us
300 us
MTU


f21, f22
TC
ES24
ES21
150 us
150 us
MTU


f23-f27
TC
ES23
ES21
300 us
300 us
MTU


f28-f32
TC
ES22
ES21
600 us
600 us
MTU


f33
TC
ES19
ES15
300 us
300 us
MTU


f34
TC
ES7
ES23
300 us
300 us
MTU


f35
NTC
ES4
ES11
sporadic

MTU


f36
NTC
ES5
ES12
sporadic

MTU



















TABLE 4







Parameter
Value




















Network link speed (NLspd)
1
Gbps



Processing delay of a switch (dproc)
1
us



Length of a physical link (Llink)
10
m










Propagation speed of the electrical signal
2 × 108 m/s



in a physical link (ESprop)












Propagation delay in a physical link
0.05
us



(dprop = Llink/ESprop)










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.










TABLE 5





Flow ID
Route







f1 
ES2→SW1→SW2→SW3→SW4→SW5→ES14


f2 
ES2→SW1→SW2→SW3→SW4→SW5→ES14


f3 
ES3→SW1→SW2→SW3→ES7


f4 
ES3→SW1→SW2→SW3→ES7


f5 
ES9→SW3→SW4→SW5→ES14


f6 
ES9→SW3→SW4→SW5→ES14


f7 
ES9→SW3→SW4→SW5→ES13


f8 
ES9→SW3→SW4→SW5→ES13


f9 
ES9→SW3→SW4→SW5→ES13


f10
ES9→SW3→SW4→SW5→ES13


f11
ES8→SW3→SW4→SW5→ES14


f12
ES8→SW3→SW4→SW5→ES14


f13
ES8→SW3→SW4→SW5→ES14


f14
ES8→SW3→SW4→SW5→ES14


f15
ES8→SW3→SW4→SW5→ES14


f16
ES8→SW3→SW4→SW5→ES14


f17
ES8→SW3→SW4→SW5→ES14


f18
ES8→SW3→SW4→SW5→ES14


f19
ES1→SW1→SW9→ES27


f20
ES26→SW9→SW8→SW7→ES20


f21
ES24→SW8→SW7→ES21


f22
ES24→SWs→SW7→ES21


f23
ES23→SW8→SW7→ES21


f24
ES23→SW8→SW7→ES21


f25
ES23→SW8→SW7→ES21


f26
ES23→SW8→SW7→ES21


f27
ES23→SW8→SW7→ES21


f28
ES22→SW8→SW7→ES21


f29
ES22→SW8→SW7→ES21


f30
ES22→SW8→SW7→ES21


f31
ES22→SW8→SW7→ES21


f32
ES22→SW8→SW7→ES21


f33
ES19→SW7→SW6→SW5→ES15


f34
ES7→SW3→SW8→ES23


f35
ES4→SW2→SW3→SW4→ES11


f36
ES5→SW2→SW3→SW4→ES12


















TABLE 6





GateOperationName
GateStates
TimeInterval (μs)

















Operation 0 
0011 1111
31.44


Operation 1 
0000 0000
12.24


Operation 2 
1100 0000
106.32


Operation 3 
0011 1111
31.44


Operation 4 
0000 0000
12.24


Operation 5 
1100 0000
106.32


Operation 6 
0011 1111
31.44


Operation 7 
0000 0000
12.24


Operation 8 
1100 0000
106.32


Operation 9 
0011 1111
31.44


Operation 10
0000 0000
12.24


Operation 11
1100 0000
106.32









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.













TABLE 7









e2e delay without using the method (μs)
e2e delay with using the method (μs)

















Flow
Maximum
Minimum
Average
Jitter
Maximum
Minimum
Average
Jitter
φi (μs)



















f1
150.85
126.18
130.07
24.67
122.42
122.42
122.42
0
600


f2
187.86
175.52
177.47
12.34
122.42
122.42
122.42
0
600


f3
75.78
52.16
59.22
14.12
52.16
52.16
52.16
0
300


f4
100.45
64.50
77.72
26.45
52.16
52.16
52.16
0
300


f5
224.86
52.16
119.52
87.34
52.16
52.16
52.16
0
150


f6
237.2
64.50
131.85
87.34
52.16
52.16
52.16
0
150


f7
64.50
52.16
58.33
12.34
52.16
52.16
52.16
0
300


f8
89.17
64.50
76.83
24.67
52.16
52.16
52.16
0
300


f9
113.84
76.83
95.34
37.01
52.16
52.16
52.16
0
300


f10
150.85
89.17
119.03
59.73
95.84
95.84
95.84
0
300


f11
52.16
52.16
52.16
0
52.16
52.16
52.16
0
600


f12
76.83
76.83
76.83
0
52.16
52.16
52.16
0
600


f13
101.50
101.50
101.50
0
52.16
52.16
52.16
0
600


f14
138.51
126.18
136.56
12.34
95.84
95.84
95.84
0
600


f15
163.18
163.18
163.18
0
95.84
95.84
95.84
0
600


f16
187.86
175.52
185.91
12.34
95.84
95.84
95.84
0
600


f17
200.19
200.19
200.19
0
95.84
95.84
95.84
0
600


f18
212.53
212.53
212.53
0
95.84
95.84
95.84
0
600


f19
38.87
38.87
38.87
0
38.87
38.87
38.87
0
300


f20
88.21
75.88
82.05
12.34
52.16
52.16
52.16
0
300


f21
174.57
38.87
78.47
68.83
38.87
38.87
38.87
0
150


f22
186.90
51.21
106.23
99.67
38.87
38.87
38.87
0
150


f23
162.23
112.89
137.56
49.34
38.87
38.87
38.87
0
300


f24
51.21
38.87
45.04
12.34
38.87
38.87
38.87
0
300


f25
75.88
63.54
69.71
12.34
38.87
38.87
38.87
0
300


f26
112.89
88.21
100.55
24.67
82.55
82.55
82.55
0
300


f27
137.56
100.55
119.05
37.01
82.55
82.55
82.55
0
300


f28
38.87
38.87
38.87
0
38.87
38.87
38.87
0
600


f29
63.54
63.54
63.54
0
38.87
38.87
38.87
0
600


f30
100.55
100.55
100.55
0
38.87
38.87
38.87
0
600


f31
125.22
125.22
125.22
0
38.87
38.87
38.87
0
600


f32
149.89
149.89
149.89
0
82.55
82.55
82.55
0
600


f33
52.16
52.16
52.16
0
52.16
52.16
52.16
0
300


f34
38.87
38.87
38.87
0
38.87
38.87
38.87
0
300


f35
273.16
260.85
263.27
12.30
175.52
162.26
164.86
13.26



f36
273.16
260.85
263.29
12.30
175.52
162.26
164.88
13.26










2. Computational Time Evaluation
1) Computational Time Vs Traffic Load

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 FIG. 11.


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.












TABLE 8








Computational times of the proposed method









 500 flows
 19.96 ms



1000 flows
 42.49 ms



1500 flows
 60.44 ms



2000 flows
 87.96 ms



2500 flows
120.46 ms



3000 flows
 168.8 ms



3500 flows
214.59 ms



4000 flows
261.47 ms










2) Computational Time Vs Network Size

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.












TABLE 9








Computational times









3 switches, 15 end stations
203.78 ms



6 switches, 30 end stations
274.32 ms



9 switches, 45 end stations
350.72 ms



12 switches, 60 end stations 
350.76 ms



15 switches, 75 end stations 
 359.0 ms



18 switches, 90 end stations 
 400.0 ms



21 switches, 105 end stations
437.26 ms










3) Computational Time Comparison

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.











TABLE 10






ILP-based approach [30]
Ours







 2 flows
  0.12 s
3.4 ms


 3 flows
  0.45 s
3.5 ms


 4 flows
  1.71 s
3.7 ms


 5 flows
  4.54 s
3.8 ms


 6 flows
  6.25 s
3.9 ms


 7 flows
 10.13 s
4.1 ms


 8 flows
 14.07 s
4.2 ms


 9 flows
 20.52 s
4.3 ms


10 flows
 27.24 s
4.5 ms


11 flows
 32.17 s
4.6 ms


12 flows
 54.92 s
4.7 ms


13 flows
 58.74 s
4.8 ms


14 flows
  86.0 s
5.0 ms


15 flows
 112.84 s
5.2 ms


16 flows
 104.51 s
5.3 ms


17 flows
 120.71 s
5.4 ms


18 flows
 149.06 s
5.6 ms


19 flows
 179.70 s
5.8 ms


20 flows
 241.87 s
5.9 ms


21 flows
 254.20 s
6.0 ms


22 flows
 370.90 s
6.2 ms


23 flows
 400.43 s
6.4 ms


24 flows
 420.31 s
6.6 ms


25 flows
 449.60 s
6.7 ms


26 flows
 643.39 s
6.9 ms


27 flows
 543.48 s
7.3 ms


28 flows
 937.55 s
7.6 ms


29 flows
1020.50 s
8.0 ms


30 flows
1056.51 s
8.3 ms









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.














TABLE 11








DAARS [31]
DA/IRS (20x)
Ours









20 flows
30 s
1.5 s
1.94 ms



25 flows
50 s
2.5 s
 2.1 ms



30 flows
60 s
  3 s
2.47 ms



35 flows
70 s
3.5 s
2.72 ms



40 flows
80 s
  4 s
2.98 ms



50 flows
90 s
4.5 s
 3.3 ms



60 flows
88 s
4.4 s
3.55 ms










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.











TABLE 12






HGA-based approach [32]
Ours







 10 flows
 10 s
 6.9 ms


 20 flows
 25 s
 8.4 ms


 30 flows
 50 s
10.0 ms


 40 flows
 90 s
11.7 ms


 50 flows
120 s
13.7 ms


 60 flows
180 s
15.6 ms


 70 flows
220 s
16.9 ms


 80 flows
300 s
19.3 ms


 90 flows
380 s
22.1 ms


100 flows
470 s
26.5 ms









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.


POSSIBILITY OF INDUSTRIAL USAGE

The present invention may be widely applied to the industrial automation system.

Claims
  • 1. A method performed in a control apparatus of an industrial automation system, the method comprising: an initial input step of receiving inputs of network topology, a specification of N traffic flows, and an initial candidate route number (K);a candidate route generation step of generating a candidate route set including K candidate route for each traffic flow using the specification of N traffic flows;a routing step of determining an optimized route of each traffic flow based on a remaining bandwidth of entire links that belong to a set of valid routes and entire candidate routes of each traffic flow; anda scheduling step of determining a gate control list of switches on a message transmission instant and a route for each traffic flow based on the optimized route and the specification of each of all N traffic flows.
  • 2. The method according to claim 1, wherein the routing step is characterized in determining a route in which a value of a function where a time and remaining bandwidth required for a message to be transmitted from a caller device to a listener device without interruption are parameters is maximized as the optimized route.
  • 3. The method according to claim 1, wherein the method is characterized in: when determining a message transmitting instant fails, determining whether all candidate routes included in the set of the valid routes of each traffic flow are used as the optimized route;when determined that not all the routes is used as the optimized route, determining a suboptimal route as the optimized route and then performing the scheduling step; and when determined that all the routes is used as the optimized route, determining whether the set of the valid routes is identical to a previous set of valid routes, when determined not to be identical, generating a new set of valid routes and then performing the routing step and the scheduling step, and when determined to be identical, outputting a network unstable state.
  • 4. The method according to claim 1, wherein the method is characterized in that the scheduling step includes: a step of determining a length of time division interval (TDI) and time slot (TS) for time division multiplexing;a step of determining time slot allocation interval (TSAI) for each traffic flow;a step of determining a time slot number allocated to a time-critical data interval;a step of computing a length of an interval for the non-time-critical data and a length of an interval for the time-critical data; anda step of determining a time-critical message transmission instant by allocating determined time slots to each traffic flow.
  • 5. The method according to claim 4, wherein the method is characterized in that when a remaining time slot (RTS) exists starting from a first time divisional interval (TDI) of each egress port for each flow, the step of determining the time-critical message transmission instant determines the start number of the time-division interval of entire egress ports in each flow by determining the start number of the corresponding time-division interval (TDi) and the start number of the time slot (TS), and then determines the time-critical message transmission instant for all flows.
Priority Claims (1)
Number Date Country Kind
10-2022-0000811 Jan 2022 KR national
PCT Information
Filing Document Filing Date Country Kind
PCT/KR2022/016062 10/20/2022 WO