METHOD FOR IMPLEMENTING AND EVALUATING TSN TRAFFIC SCHEDULING

Information

  • Patent Application
  • 20250211529
  • Publication Number
    20250211529
  • Date Filed
    January 10, 2023
    2 years ago
  • Date Published
    June 26, 2025
    24 days ago
Abstract
A time-sensitive network (TSN) standardized, maintained, and managed by the IEEE 802.1 Task Group improves the real-time and deterministic capabilities of Ethernet. However, traffic scheduling has not been standardized, and is being widely studied. Most research is essentially theoretical, and there are few practical verifications/research. In order to fill such a gap, the present invention provides detailed instructions for constructing an actual TSN-based process automation system first and regarding how a traffic scheduling method (TSM) will be distributed to industrial facilities. The present applicants empirically investigated the validity of a method according to the present invention and compared the performance thereof with that of a commercial TSN scheduler. The result shows that the method according to the present invention accurately schedules traffic such that robust real-time requirements are satisfied, and removes queuing delay, thereby accomplishing ultra-low latency.
Description
TECHNICAL FIELD

The present invention relates to implementing and evaluating TSN (Time-Sensitive Networking) traffic scheduling, and in detail, relates to implementing TSN scheduling to industrial automation systems.


Background

The Time-Sensitive Networking (TSN) is emerging as the principal technology for the next era of industrial communication. TSN exploits the excellent bandwidth and low cost of the Ethernet to compensate for real-time and deterministic capabilities using a series of enhanced standards. The IEEE 802.1 TSN Task Group develops and maintains these standards; examples include high-precision clock synchronization, bounded latency, ultra-reliability and flexible resource management.


TSN provides better standard compliance and vendor independence, and compatibility, than other Ethernet-based real-time communication technologies (e.g., EtherCAT, PROFINET, and Sercos III, and the like.). Due to the lower cost and ease of use, TSN networks can be readily scaled and integrated with other high-layer communication technologies (e.g., OPC UA).


Therefore, TSN plays key roles in the implementation of various industrial applications, and also contributes to the integration of information technology and operational technology in the industrial Internet of Things. TSN is not confined to industrial automation; it also plays pivotal roles in many other areas that demand real-time communication, such as in-vehicle networking, aerospace, an the like.


Earlier reports explored TSN in terms of time synchronization, simulation, resource management, and traffic scheduling. In one the prior studies, a TSN-based time synchronization method was presented that guarantees highly accurate clock synchronization across EtherCAT nodes. To extend TSN to wireless networks, a novel, high-precision, wireless time synchronization strategy was developed.


In one of other prior studies, the clock synchronization accuracy of IEEE 802.1AS was tested by deploying it in a practical industrial system. The major factors (PHY jitter and clock granularity) that affect clock accuracy were analyzed. In yet one of other prior studies modeled the IEEE 802.1 Qbv using an OMNET++ simulator. These studies also further validated the simulation in a real-world TSN testbed.


An OPC UA TSN configuration architecture was proposed and validated in a laboratory-level manufacturing system in one of these prior studies. In another study, an SDN-based self-configuration framework was presented to automatically configure TSN networks. Simulations indicated that TSN networks with different topologies were appropriately configured.


Application of TSN to traffic scheduling remains challenging. Optimization theories such as Satisfiability Modulo Theories (SMT) and integer linear programming (ILP) have been widely applied. In the prior stuies, an SMT model and an array theory were used to formalize scheduling constraints. In one of the other prior studies presented a no-wait scheduling algorithm using an SMT-based optimal modulus theory. Other one of these prior studies applied TSN to virtual machine (VM)-based control networks, and presented a lightweight heuristic algorithm for traffic scheduling. ILP-based approaches have also been explored. In one the prior studies, an ILP-based algorithm was used to schedule new TSN traffic entering a system. A commercial ILP solver (CPLEX) was used to solve the proposed formulations. Other one of these prior studies presented an ILP-based degree of conflict (DoC)-aware iterative routing and scheduling algorithm for large-scale time-sensitive networks. Yet other one of the prior studies developed ILP formulations that modeled the joint routing and scheduling problems, and explored runtime limitations using a state-of-the-art ILP solver and various inputs.


All of the studies described above found that optimization theory solved TSN scheduling problems. However, as the number of inputs increased, runtime increased dramatically, complicating practical implementation in industrial systems. Different from optimization theory, the inventors invented a traffic scheduling method (TSM) using the bandwidth allocation concept. Most previous studies focused on the theory of TSN scheduling via simulation, and no scheduling algorithm has yet been deployed in a real-world manufacturing scenario. Very few studies validated the theoretical approach by practical implementation. One of the studies performed a proof-of-concept experiment when evaluating the performance of IEEE 802.1Qbv. In another study, the off-the-shelf TSN devices available from different vendors were summarized. In yet antoerh study, a Z3 SMT solver was used as the core component of Slate XNS software for scheduling. Thus, these studies performed practical TSN research. However, the studies were concerned only with proof of the TSN standards and a description of the hardware solutions. Although other studies validated algorithms using an experimental testbed, neither practical industrial applications nor device diversity were considered. Specifically, only end stations transmitting or receiving TSN traffic were evaluated. Several key components of any practical control system (controllers, sensors, and actuators) were lacking. Thus, the practical feasibility of TSN scheduling remains to be proven. Also, the three cited works lacked technical details; neither algorithm implementation nor TSN testbed development was described.


DETAILED DESCRIPTION OF THE INVENTION
Problems to be Solved

The present invention has been developed by considering the above situation, and an object of the present invention relates to developing a TSM for TSN (Time-Sensitive Networking), and deployed it in the real world.


Other object of the present invention is to explore various experimental results to analyze the practical feasibility of the TSM.


Means to Solve the Problem

In order to solve the problems, the method of the present invention is performed in a control device of an industrial automation system, and includes a step for network partitioning that divides the network into subnetworks and adjusts the traffic flow specification based on the network topology (G), traffic flow specification (F) and routing path (p(srci,dstj), and a step for scheduling that determines the Gate Control List (GCL) to open or close the switch (SW) on the routing path in a predetermined time, and the message transmission start instant (FMTIisrci) for each traffic flow, based on the subnetwork (G′) and the adjusted traffic flow (F′), and link specification (link speed and length).


The apparatus of the present invention is a control apparatus for an industrial automation system includes a Central Network Configurator (CNC) that generates the Gate Control List (GCL) that determines the Gate Control List (GCL) to open or close the switch (SW) on the routing path in a predetermined time, and the message transmission start instant (FMTIisrci) for each traffic flow. The control apparatus also includes a Central User Configurator (CUC) that controls the message transmission operation of the transmitter after receiving the message transmission instant of the transmitter from the network configurator.


Effect of the Invention

As described above, the present invention constructs a realistic TSN system in which the robotic process automation scenario is used to verify the effectiveness of the TSM scheduler.


The real-time performance of the TSM of the present invention was compared to a commercial scheduler, and proved that the TSM guarantees the strict real-time requirements of an industrial robotic application, eliminated queuing delay, and afforded ultra-low latency.


The TSM of the present invention is capable of scheduling 500 flows in milliseconds, more than 571-fold faster than the commercial scheduler. That is, the TSM of the present invention has an effect of quickly processing the reconfigurations required with changes in network infrastructure or custom-oriented applications in the context of Industry 4.0.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1: an example TSN Network.



FIG. 2: a bandwidth allocation system for egress of an arbitrary SWk.



FIG. 3: a system architecture.



FIG. 4: a procedure flowchart for CNC and CUC.



FIG. 5: a sequencing of the configuration procedure.



FIG. 6: a real-word TSN-based process automation system.



FIG. 7: an illustration of time-slot allocation of Table 3 and Table 2.



FIG. 8: an end-to-end latency (Te2e) comparison: TSM and Cisco CNC results.



FIG. 9: a comparison of scheduling performance with different delay constraints.



FIG. 10: a calculation time (Tcal) of TSM and Cisco CNC for real-world testbed



FIG. 11: a calculation time (Tcal) comparison for TSM and Cisco CNC.



FIG. 12: a scheduling procedure in an industrial automation system.



FIG. 13: a schematic configuration of the control system of an industrial automation system.





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.


The present invention is organized as presenting the network model, key principle of TSM (Traffic Scheduling Method), practical traffic scheduling and system configuration for a real-world industrial facility, and performance evaluation.


Network Model

A TSN topology is modeled as a directed weighted graph G≡(V,E). Here, V is the set of network nodes and E={(vi,vj)|vi, vj∈V} is a set of all directional links of source vi and destination vj.


V=(SW∪ES), where SW and ES denote the TSN switches and end stations respectively. An example TSN network topology is shown in FIG. 1, in which SW={SWi|i=1 . . . 5} and ESj={ESj|j=1 . . . 10}. The SW s and ESs are synchronized via 802.1AS and equipped with a time-aware shaper (TAS) for traffic scheduling, as defined in 802.1Qbv. Specifically, the TAS has eight prioritized queues with time-aware gates. Using a gate control list (GCL), the TAS schedules traffic by opening or closing gates at specific times. The GCL is calculated by the central network configurator (CNC) and configured to the SWs before the system runs. The real-time applications are executed by the ESs, which generate a set of time-critical (TC) flows F.


Each flow fi ∈F is characterized by a tuple (srci,dsti,pi,lii,hopivj), where srci ∈ES is the source, dsti∈ES is the destination, pi is the transmission period, li is the traffic size, φi is the delay constraint (i.e., maximum allowable delay), and hopivj is the hop-count from srci to the node vj(vj∈V).


To guarantee real-time performance, an fi must be transmitted from srci to dsti within φi. The flow specifications of the example topology are illustrated at the bottom of FIG. 1.


Here, F={f1,f2,f3,f4,f5,f6},


f1=(ES1,ES3,100 μs,1500B,100 μs, 3), and so on.


It is noted that the last element of flow specifications shown in FIG. 1 is the hop-count hopidsti from srci to dsti, i.e., vj=dsti. The routing path p(vi,vj)fi is an ordered sequence of all interconnected nodes along the forwarding path of fi from source vi to destination vj. For example, as shown by the thin dashed arrows in FIG. 1, the path of f1 from ES1 to ES3 is p(ES1,ES3)f1={[ES1,SW1,SW2,ES3]}.


Key Principles of a TSM

The inputs are the network topology G, TC flows F, and link specifications (length L(vi,vj) and speed S(vi,vj). The outputs are the GCLs for the TSN switches and the startup instants of traffic transmission for all TSN talkers. Essentially, the TSM contains two routines: Network Partition to enhance scalability, and Traffic Scheduling to guarantee real-time performance.


Network Partition

The Network Partition routine applies the scheduling to be described below to the subnetworks of a large-scale TSN. Any arbitrary TSN network G can be partitioned into several subnetworks G′ which does not have any branches. For example, in FIG. 1, the network is split into four subnetworks: G′={(SW1,SW2), (SW2,SW3), (SW3,SW4), (SW3,SW5)}. Each subnetwork G′ contains N inputs fi, N outputs fi, and K TSN SWs in series. Accordingly, the maximum allowable delay φiL of fi in the L-th subnetwork G′L is represented by Equation 1.










φ
i
L

=




φ
i

×


K
-
1


M
-
1









[

Equation


1

]







Here, L is the subnetwork index, K is the number of SWs in G′L, and M is the total number of SWs along p(srci,dsti)fi. If the real end-to-end latency of the fi of each subnetwork does not exceed φiL, the total maximum allowable delay requirement φi is satisfied.


Traffic Scheduling

The basic concept of Traffic Scheduling is to divide the available bandwidth into time slots via time-division multiplexing. Next, two separate intervals (i.e., time-critical interval and non-time-critical interval) are assigned to TC and non-TC traffic flows, which eliminates the transmission interference from non-TC to TC traffic flows. A time-critical interval is further subdivided into multiple individual time slots, which are allocated to individual TC traffic flows. This allocation guarantees the independent transmission of different TC flows without any interference with each other. Therefore, the maximum allowable delay requirement is satisfied and no flow experiences a queuing delay. The inputs to traffic scheduling are the specifications of the flows transmitted within each subnetwork, and the outputs are the TSN schedules. With Network Partition, each φi must be adjusted to φiL μsing equation 1. In the L-th subnetwork G′L, Φ is the vector of φiL(∀i=1, . . . , N), the elements of which are sorted in ascending order as represented by Equation 2.





Φ=[φ1L, . . . ,φiL, . . . ,φNL],(φiL≤φI+1L),∀i=1, . . . ,N−1  [Equation 2]


Next, the fundamental principles of Traffic Scheduling is summarized.


Step 1: Determine the time-division interval (TDIk) for SWk egress. The TC flows, fi, and non-TC flows compete for bandwidth resources at the time of SWk egress.


As shown in FIG. 2, to guarantee the real-time performance of fi, the shared bandwidth is divided into multiple time-division intervals. Here, instant 0 is regarded as the start of the TSN schedule. The length of all the TDIk values sums to the so-called “hyper-period” (Tcyclek). Scheduling is repeated at intervals of Tcyclek. Generally, each TDIk is further split into the guard band interval (GBIk), a TC interval (TCIk), and two non-TC intervals [the first non-TC interval (NTCI1K) and the second non-TC interval (NTCI2k)]. The TCIk has multiple time slots (TSk) dedicated to transmission of fi. The GBIk is always reserved immediately before TCIk to prevent transmission interference from non-TC flows. NTCIk is allocated before TCIk and NTCI2k is allocated after TCIk. Then, the lengths of TDIk, GBIk, and NTCIk are determined.


The TDIk is the basic scheduling unit for SWk, the length of which is determined by Equation 3, where φmin is the smallest maximum allowable delay. Equation 3 guarantees real-time performance by restricting the length of TDIk to φmin.










TDI
k

=

φ
min





[

Equation


3

]







As defined in 802.1Qbv, GBIk is the duration of maximum transmission unit (MTU)-size frame transmission, and is thus determined by Equation 4, where Lmtu is the MTU size, and S(vi,vj) is the link speed:










GBI
k

=


L

m

t

u



s

(


v
i

,

v
j


)







[

Equation


4

]







Next, the length of NTCIk is determined. The sum of NTCI1k and GBIk is equal to the network delay (DphysrciToSWk) experienced by fi. Thus, as soon as fi arrives at SWk, it will be immediately transmitted during TCIk. DphysrciToSWk equals to Equation 5.










D
phy


src
i



ToSW
k



=








j
=
1



M
i

+
1




d
trans


+







j
=
1



M
i

+
1




d
prop


+







j
=
1


M
i




d
proc







[

Equation


5

]







Here, Mi is the number of SWs between srci and SWk. The transmission delay (dtrans) and propagation delay (dprop) can be simply calculated. It is assumes that the processing delay (dproc) of a switch is an input. Then, the NTCI1k is given by Equation 6, where GBIk and DphysrciToSWk are determined by Equation 4 and Equation 5, respectively:










D
phy


src
i



ToSW
k



=


NTCI
1
k

+

GBI
k






[

Equation


6

]







Step 2: Determine the time-slot allocation interval (TSAIi) and number of time slots (TSTCDk) allocated to TCIk. To eliminate queuing delay, the maximum allowable delay requirement for input fi is harmonized first, and then allocate the appropriate time slots. Specifically, let TSAI be the vector, the elements of which are sorted in ascending order of TSAIi as represented by Equation 7.





TSAI=[TSAI1, . . . ,TSAIi, . . . ,TSAIN],(TSAIi≤TSAIi+1)  [Equation 7]


TSAI1 is the smallest TSAIi, and should equal the length of the TDIk defined by Equation 8.





TSAI_1=TDI{circumflex over ( )}k=φ_1  [Equation 8]


The definition of Equation 8 guarantees that the most urgent TC traffic does not exceed its maximum allowable delay requirement. Therefore, all delay requirements are satisfied. Then, the window scheduling algorithm is adopted to calculate the TSAIis (∀i=2, . . . , N) as represented by Equation 9.











TSAI
i

-


k
i

×

TSAI
1



,


k
i

=

2




log
2

(


φ
i

/

TSAI
1


)









[

Equation


9

]







The first term in Equation 9 indicates that each TSAI; is derived by multiplying an integer ki by TSAI1. ki is defined as a power of two (2m) where m is the floor function m (x)=└x┘. As denoted in Equation 9, the maximum time-slot allocation interval TSAImax is the least common multiple of the TSAIi, and is thus equal to the hyper-period Tcycle mentioned above. In other words, TSN scheduling is repeated at intervals of TSAImax. The time slots (TSTCDk) allocated to TCIk are represented by Equation 10.










TSTCD
k

=








i
=
1




N



(


TDI
k

/

TSAI
i


)








[

Equation


10

]







To ensure that all TSTCDK values are integers, Equation 10 rounds up the formula Σi=1N(TDIk/TSAIi), which expresses the average number of time slots allocated to fi during a TDIk. Then, the length of TCIk is determined as represented by Equation 11.










TCI
k

=


TSTCD
k

×


L
frame


s

(


v
i

,

v
j


)








[

Equation


11

]







Here,







L
frame


s

(


v
i

,

v
j


)






is the time taken to transmit fi, Lframe is the frame size, and S(vi,vj) is the link speed. At this point, for a TDIk, the length of the GBIk, the NTCIk, and the TCIk have been determined. The remaining bandwidth is allocated to NTCI2k, the length of which is represented by Equation 12.










NTCI
2
k

=


TDI
k

-

(


NTCI
i
k

+

GBI
k

+

TCI
k


)






[

Equation


12

]







NTCI2k decreases as the input TSN flow increases. However, NTCI2k cannot become negative, because the number of input flows cannot increase infinitely (the bandwidth is finite). If too many fi are input, the bandwidth will be overloaded. To avoid this, the number of input TSN flows must not exceed the maximum bandwidth. In other words, the length of NTCI2k must be restricted as represented by Equation 13.





NTCI2k≥0  [Equation 13]


Then, according to Equation 12 and Equation 13, the stability condition becomes Equation 14, which guarantees that the fi are scheduled appropriately.










TDI
k




NTCI
1
k

+

GBI
k

+

TCI
k






[

Equation


14

]







Step 3: Allocate a specific time slot to fi, and determine the starting instant of the first message sent from a talker (FMTIisrci) and a switch (FMTIiSWk). Here, the sequence of time-slot allocation is determined from the fi with the smallest delay requirement to that with the largest requirement. Specifically, the fi with φ1 is allocated to the first available time slot in the first TDIk (marked with an asterisk in FIG. 2). Then, the remaining fi with φi values (∀i=2, . . . , N) are subsequently allocated to the next available time slot, and so on. When fi is scheduled at SWk, FMTIiSWk becomes Equation 15.










FMTI
i

SW
k


=



(

m
-
1

)

×

TDI
k


+

(


NTCI
1
k

+

GBI
k


)

+


(

n
-
1

)

×

TS
k







[

Equation


15

]







Here, m and n are the indexes of TDIk and TSk, respectively. Equation (15) gives the instant at which fi is to be transmitted out from egress of SWk. Before fi arrives at the egress, it experiences a delay along its forwarding path p(srci,SWk)fi. Therefore, after backtracking by that amount of time, it is determined that the FMTIisrci is represented by Equation 16.










FMTI
i

sr


c
i



=


FMTI
i

SW
k


-

D
phy


src
i



ToSW
k








[

Equation


16

]







Here, DphysrciToSWk is the network delay from srci to SWk, as determined by Equation 5.


Step 4: Generate the TSN schedule (i.e., the GCL). The GCL instructs the TAS to open or close a gate at a specific instant and retain that gate status for a certain time. Three key parameters are required:


1. The instant of gate opening to allow transmission of fi.


The FMTIisrci and FMTIiSWk, as determined in Step 3, inform the talkers or switches when to start transmission.


2. The duration of gate opening, which must allow complete traffic transmission.


As shown in Steps 1 and 2, TCIk, NTCIk, and NTCIk are the intervals available for transmission of fi and non-TC flows, respectively. The GBIk is constructed to avoid transmission interference from non-TC flows. The gate is opened at the beginning of each interval and closed at the end.


3. The cycle time of a GCL.


The GCL is repeated at intervals of the TASImax determined in Step 2.


Implementation Methodology

Descriptions are now made on the fine-grained guidelines for the implementation of Scheduling Procedure and Configuration agent, which are two crucial components for a TSN-based process automation system.


As illustrated in FIG. 3, a system architecture is constructed based on a fully centralized model. Specifically, this is the TSN network G={(ESi,SWj)|i=1, . . . ,8, j=1,2} where SW1 and SW2 are interconnected; ES1, ES2, ES3, and ES4 are TSN talkers, and ES5, ES6, ES7, and ES8 are listeners. The hardware deployment and application scenario will be detailed later.


Two primary system components have been developed in the embodiments of the present invention: a centralized network configurator (CNC) and a centralized user configurator (CUC). The CNC calculates forwarding paths and schedules for the TSN ESs and SWs. The CUC is responsible for central maintenance of traffic information and the configuration parameters of all TSN ESs.


To clarify how the CNC and CUC are developed, a flowchart is presented in FIG. 4. The CNC inputs are highlighted in grey; these are the network topology G, sets of TC flows F, link length L(vi,vj), and speed S(vi,vj).


The CNC blocks are the three internal CNC routines, i.e., the Routing procedure, Scheduling procedure, and Configuration agent. A well-known shortest path algorithm has been used as the Routing procedure. Then, the forwarding paths are calculated and input to the Scheduling procedure, wherein the TSM as described above is implemented de novo. The outputs of the Scheduling procedure are GCLs and FMTIisrci configured for TSN devices. The FMTIisrci is utilized by the CUC to configure TSN ESs, whereas the GCLs are configured to SWs by the CNC. This procedure is based on the NETCONF (Network Configuration Protocol) and YANG (Yet Another Next Generation) protocols, which centrally manage the configurations for network devices. Moreover, NETCONF is proposed in RFC 6241 that adopts a simple Remote Procedure Call (RPC) mechanism to acquire and modify the configurations of network devices. YANG is a data modeling language published in RFC 7950 that defines the configuration data, state data, and RPC for network devices. YANG instances can be encoded into XML format and extracted by NETCONF to configure network devices. Scheduling and configuration implementation are discussed below.


Scheduling Procedure

The TSM has been implemented to be Scheduling Procedure, which uses the two routines of Network partition and Traffic scheduling. In general, Network partition obtains and processes inputs by partitioning network G into several subnetworks G′ with no branches. Then, the routine adjusts the input parameters (e.g., the maximum allowable delay requirement φi) for G′. Finally, G′ and the adjusted parameters are input to Traffic scheduling, which executes a four-step process to calculate the TSN schedule. The details are described below.


Network Partition











Procedure 1 Network Partition

















Inputs: G, F, and P(srci,dsti)f1



Output: G′ and F′










1:
branchNodes ← Obtain branch nodes(G)



2:
G′ ← Partition network(branchNodes, P(srci,dsti)f1)



3:
F′ ← Adjust inputs(F, G′)



4:
return G′ and F′










As shown in Procedure 1, Network Partitions generally contains three subfunctions including Obtain branch nodes, Partition network and Adjust inputs.


In particular, line 1 indicates that the routine of obtain branch nodes uses the input topology G to find out the branch nodes. The branch nodes are switch nodes and represented by “branchNodes={(Swi)|Swi⊆SW}”.


The branchNodes are the breakpoints at which network G is divided into various G′ without any branches. To achieve this, each element of branchNodes should be interconnected via two switches, and to either end stations or switches. To find all elements of branchNodes, Obtain branch nodes implements a filter, as follows:


1) Filter a switch node connected with N switches (N≥3) and M end stations (M≥ 0).


2) Filter a switch node connected with M TSN end stations (M≥1) and N switches (N=2).


For example, the topology of FIG. 1 is input and the routine of obtain branch nodes is executed.


The branchNodes are {SW2,SW3} because SW3 is connected to three switches (filter rule 1), and SW2 to two end stations (filter rule 2). This guarantees that each subnetwork does not has any branch (i.e., the number of input and output flows are the same) if the network is split at the points of the branchNodes.


After defining the branchNodes, Partition network splits the network (line 2) by checking whether the forwarding path (p(srci,dsti)fi) contains the branchNodes. If an element of branchNodes is detected, the network is split into two subnetworks at the point corresponding to that element of branchNodes. For example, the forwarding path of f2 is P(ES2,ES5)f2={[ES2,SW1,SW2,SW3, ES5]} and the branchNodes are {SW2,SW3} (as determined above). Hence, along p(ES2,ES5)f2, the network is split into two subnetworks, [i.e., {(SW1,SW2), (SW2,SW3)}]. By repeating this process, the whole network is eventually split into the four subnetworks indicated by the dashed circles in FIG. 1.


After execution of Partition network, the flow specifications are adjusted (line 3). The maximum allowable delay requirements (φi values) are adjusted using equation 1, and then input into the scheduling function. For example, in FIG. 1, the φ2 of f2 is 200 μs, the number of SWs involved in the first subnetwork {(SW1,SW2)} is two, and the number of SWs along the forwarding path is three. Thus, the adjusted maximum allowable delay φ21 is 100 μs using equation 1. Finally, G′ and F′ are obtained and input into the scheduling functions.


Traffic Scheduling











Procedure 2 Traffic Scheduling















Inputs: G′, F′, S(vi, vj), and L(vi, vj)


Output: GCLs and FMTIisrci


 1: numflow ← len(F′)


 2: Φ ← heapsort(φi′, F′)


  // Step 1: Determine the time-division intervals;


 3: TDI ← φ1


 4: GBI ← Use Bq. (4)


  // Step 2: Determine allocation interval, numbers of time slots


 5: TSAI1 ← TDI


 6: TSAIi ← Use Eq. (9)


 7: Tcycle ← max(TSAIi)


 8: TSTCD ← Use Eq. (10)


 9: TCI ← Use Eq. (11)


10: numTDI ← Tcycle/TDI


11: numTS ← numTDI × TSTCD


12: availableTS ← numTS * [−1]


13: if TDI < NTCI1 + GBI + TCI then


14:   return error


15: end if


  // Step 3: Allocate specific time slots to fi


16: FMTIisrci ← numflow * [0]


17: for F′ is not empty do


18:   fi = (srci, dsti, pi, li, hopik, φi′) ← heappop(F′)


19:   DphytalkerToSWk ← Usc Eq. (5) with input hopik.


20:   NTCI1k ← Use Eq. (6)


21:   for SWk in G′ do


22:     index AvaliableTS ← availableTS.FindIndex(−1)


23:     m ← ceil (index AvaliableTS/TSTCD)


24:     n ← indexAvaliableTS mod TSTCD


25:     FMTIiSWk Use Eq. (15) with inputs m, n.


26:     fmtiitalker ← Use Eq. (16) with input FMTIiSWk.


27:     if fmtiisrci = = fmtijsrci in FMTIjsrci then


28:      indexAvaliableTS ← IndexAvaliableTS + 1;


29:      Go to Line 22.


30:     end if


31:     FMTIisrci ← fmtiisrci


32:     requiredTS ← Tcycle/TSAIi










33.

slotInterval




(

TSTCD
×


T
cycle

TDI


)

/

required

TS











34:     allocateCNT ← 0


35:     for allocateCNT < requiredTS do


36:      availableTS[indexAvaliableTS] ← fi


37:      allocateCNT ← allocateCNT + 1


38:      indexAvaliableTS ← indexAvaliableTS +


       slotInterval


39:     end for


40:   end for


41: end for


  // Step 4: Output the results


42: Generate GCLs.









Traffic scheduling for TSN has been implemented by Procedure 2, where the four scheduling steps are marked with //. In detail, line 1 utilizes the function len( ) to obtain the length of F′, which is shown as the number (numflow) of fi. Then, F′ is sorted using the heapsort method in ascending order of φi′, and the ordered φi′ are contained in Φ. The time-division intervals (i.e., Step 1 of Traffic Scheduling) are determined by lines 3 and 4. Specifically, the basic scheduling unit TDI is updated by the smallest value (φ1′) of all φi′. Then, the length of GBI is determined using equation (4).


Step 2 is implemented by lines 5-15. First, the allocation interval TSAIi is determined. The smallest value of TSAIi is the first element (TSAI1) in TSAI, which is updated by TDI in line 5. Then, the other TSAIi values are gradually calculated by equation (9). After all TSAI; have been determined, the maximum value is updated to Tcycle, at which time the TSN schedule is repeated. Next, TSTCD and the length of TCI are calculated in lines 8 and 9. The variable numTDI denoting the number of TDI in one hyper-period (a Tcycle), is updated by Tcycle/TDI. numTDI will always be an integer [see equations (8) and (9)]. The number (numTS) of time slots that can be contained in one Tcycle is calculated in line 11. Line 12 initializes a tuple availableTS of length numTS; this reflects the time-slot occupancy. All elements are initialized to −1 when all time slots are available. During time slot allocation, an arbitrary element of availableTS (e.g., i-th element) can be changed to a positive integer j, indicating that a flow with ID of j occupies the i-th slot.


For example, availableTS=[1,−1,−1,2] indicates that numTS is 4, the first and fourth time slots are allocated to f1 and f2, respectively; the second and third time slots are available for other flows. Lines 13-15 maintain the stability of the TSN system by guaranteeing inequality (14). If the stability condition is not satisfied, the scheduling procedure is terminated by error. In this case, the network engineer must reduce the input fi by reference to the maximum bandwidth constraint.


It is noted that all SW s involved in the same subnetwork share the parameters calculated in Steps 1 and 2. As no subnetwork contains a branch, the numbers of input and output flows are the same. In other words, the calculation (lines 1-15) is only executed once for each subnetwork; this dramatically reduces the time needed to schedule traffic.


Step 3 of Traffic Scheduling is implemented by lines 16-41. This allocates time slots for each fi on all switches of the subnetwork. Line 16 initializes a tuple FMTIisrci of size numflow. Each element of the tuple presents a startup instant, at which time an fi is transmitted from a TSN talker. Lines 17-41 maintain a loop that individually schedules the fi over numflow iterations. Each iteration contains two sub-loops. The first is that of lines 21-40, which traverses every switch in subnetwork G′ so that an fi can be scheduled on all switches. The second subloop (lines 35-39) guarantees that all the time slots required by a fi are completely allocated at egress of a specific SWk.


The procedure will now be explained line by line. As mentioned earlier, the time slots are preferentially allocated to fi with smaller φi′. Therefore, the fi with the smallest value of φi′ will be popped from F′ using the heappop method. Then, the network delay experienced by fi and the length of NTCIk can be determined. Next, for a specific SWk in G′, a slot for that fi is searched. In particular, by using the FindIndex( ) method, the first occurrence of −1 (which indicates that a time slot is available) in the tuple availableTS is sought. This is then updated to indexAvaliableTS, i.e., to the index of the first available time slot. Using the variable indexAvaliableTS, the specific position of the first available time slot in current Tcycle is determined. This position can be represented by the indexes (i.e., m and n) of the m-th TDIk and n-th TSk in Tcycle. In other words, in a Tcycle, the first available time slot is the n-th TS in the m-th TDI. In line 23, m is determined by rounding up the quotient of indexAvaliableTS and TSTCD. n is the remainder of index AvaliableTS and TSTCD. Next, FMTIiSWk is calculated by equation (15). The value of FMTIisrci is temporarily saved by the auxiliary variable fmtiisrci in line 26.


From lines 27-30, any transmission conflict at talker srci is checked and avoided. Specifically, line 27 checks if any element in FMTIjsrci is equal to fmtiisrci arc which is computed in line 26. If so, transmission conflict is present; to resolve this, indexAvaliableTS is updated to plus one, implying that the time slot initially allocated to fi is shifted to the next available slot. Then, rescheduling is triggered by executing the procedure commencing at line 22. If there is no transmission conflict, fmtiisrci is updated to FMTIisrci in line 31. Then, using the loop from lines 35-39, a time slot is allocated to fi every slotInterval slots. Allocation will be terminated when all time slots required by an fi are allocated. To implement this, the input parameters (lines 32-34) must be determined. First, the variable requiredTS is used to represent the number of time slots required by an fi, as determined by








T
cycle


TSAI
i


.




As mentioned earlier, a time slot is allocated to fi every slotInterval slots. The slotInterval is calculated as








TSTCD
×


T
cycle

TDI


requiredTS

,




where






(

TSTCD
×


T
cycle

TDI


)




is the total number of time slots dedicated to transmission of the TC flows of a Tcycle. Finally, these parameters are fed into the loop of lines 35-39, which allocates all of the time slots required by fi during Tcycle. In detail, the flow ID of fi is updated to the indexAvaliableTS-th element of the tuple availableTS. This means that the indexAvaliableTS-th time slot is occupied by fi. Then, allocateCNT is updated to plus 1 indicating that time-slot allocation has been performed once. Following this, the next time slot allocated to fi is determined by adding slotInterval to indexAvaliableTS. The loop will not be terminated until allocateCNT is equal to the requiredTS, which means that time slots required by an fi are completely allocated. The TSN schedules (GCLs) are generated in line 42 μsing the parameters calculated above.


Configuration Procedure

Configuration is performed jointly by the CNC and CUC; the CNC configures TSN SWs and the CUC configures ESs. FIG. 5 shows the sequence. Six components are involved (six boxes at the top). The arrows indicate information interaction between two objects. Self-messages are shown in the arrow custom-character; The texts on the arrows indicate that information is transferred from left to right and right to left, respectively. The Configuration agent (CA) routine of CNC is triggered when the scheduled results (GCLs and FMTIisrci) are obtained. CA executes two internal sub-routines: RESTful server to transfer FMTIisrci to the CUC, and netconf client to configure the GCLs as TSN SWs. Completion of scheduling initializes the CUC and CNC responsible for TSN configurations.


Next, the RESTful server and netconf server are discovered by the RESTful client of the CUC and netconf client of the CNC, respectively. When the connections are confirmed, the CNC immediately configures the SWs via two steps. First, pyang, a Python-based toolbox for the YANG data model, is used to transform the GCLs to XML-based configuration data. Second, the netconf client remotely configures the SWs by transmitting configuration data to the netconf server at the target SWs. In parallel, the RESTful server sends the scheduled FMTIisrci data to the CUC via the POST method. When the CUC obtains the configuration data, the netconf client configures ESs. The CUC configuration procedure is identical to that of the CNC; CUC configuration will not be terminated until all ESs are configured.


Experimental Deployment

Based on the above, a real-world TSN-based process automation system is constructed with the architecture shown in FIG. 3. The left side of FIG. 6 shows the entire system, and the right side shows the industrial TSN facilities. The system features three type-independent industrial robots (the Epson C4, Epson SCARA, and KUKA R540 robots) and one turntable. The turntable conveys an iron plate, and two of the three robots are selected in turns to execute successive pick-and-place tasks. Meanwhile, the third robot executes the waiting task, which requires the robot to wait for the trigger signal to switch the current task to the pick-and-place tasks. These TC applications are executed by four TSN talkers that generate the TC flows controlling the three robots and turntable. The traffic specifications are listed in Table 1. Specifically, four TC flows fi of equal length (li=1,500 B) are periodically generated by talkers (pi=1 ms). The delay constraint (φi) of fi is 1 ms, which indicates that fi must be transmitted to the corresponding listener within 1 ms. All physical links have the same transmission speed (1 Gbps). To verify the TSM, we developed a traffic generator (TG) is developed to establish a high traffic load by adjusting the transmission interval. The interference traffic generated by the TG stresses the link between SW1 and SW2, which is shared by all traffic. Without effective scheduling, TC flows will be disturbed by massive interference traffic, compromising real-time service.


As shown on the right of FIG. 6, the device cabinet contains all TSN equipment, which is split into three layers. On the top layer, LS1028ardb boards serve as the TSN ESs that transmit or receive TC flows. In the middle, two Cisco switches (IE 4K) serve as TSN SWs switching both scheduled and unscheduled traffic according to the TSN schedules. NUC mini-PCs are contained in the bottom layer, wherein the CUC and CNC are executed. The CUC has a web-based user interface, as shown in the bottom right of FIG. 6; the network topology is that of FIG. 3. Open-source software was used as the TG and executed on an NUC PC to generate large amount of interference traffic. Hence, a high traffic load scenario is established to verify scheduling performance.



FIG. 12 illustrates the scheduling procedure in an industrial automation system in which the TSM according to the present invention is applied.


The procedure illustrated in FIG. 12 is executed in a control system of an industrial automation system, or in a separate computer device, and the scheduling results of each flow generated in the procedure are applied to the industrial automation system.


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


Referring to FIG. 12, the TSM according to the present invention is largely divided into a network partition step (S100) and a scheduling step (S200).


The network partition step (S100) is a step to divide the network of the network topology into subnetworks.


The processor of industrial automation system executes network partition by dividing network into subnetworks based on the network topology G, traffic flow specification F and routing path (p(srci,dsti)fi), and adjusting traffic flow specification F.


Specifically, the processor divides the network into subnetworks by acquiring the branch nodes by filtering the swiches that constitute the network topology, and by confirming whether the acquired branch nodes are included in the routhing path.


The scheduing step (S200) is a step to generate a schedule that determines the talker and the transmission start instant of each traffic flow included in the network topology.


The processor of industrial automation system executes the seheduling by determining the message transmission start instant (FMTIisrci) and the GCL for opening or closing the switch (SW) on the routing path at a specific time, based on the subnetworks (G′), and adjusted traffic flow specifications (F′) and link specifications (link speed and length) calculated at the network partition step (S100).


Specifically, the processor calculates the time division interval (TDIk) with respect to the switch, and time slot number (TSTCDk) and time slot allotment interval (TSAIi) in which the time that constitutes the time division interval is alloted to the time critical interval (TCIk). The processor then allots the specific time slot of the time critical interval (TCIk) to each traffic flow to calculate the message transmission start instant (FMTIisrci) of the talker and message transmission start instant of the switch on the routing path (FMTIiSWk). The processor then generates the GCL using the determined message transmission start instant.



FIG. 13 illustrates a schematic configuration of the control system of an industrial automation system to which the TSM of the present invention is applied.


Referring to FIG. 13, the control system of the present invention includes Central Network Configurator (CNC) (10) and Central User Configurator (CUC) (20).


The CNC (10) receives, as inputs, the network topology (G), and traffic flow specification (F) and link specification (link speed and length) to calculate the routing path (p(srci,dstj)fi of each traffic flow. The CNC then generates the message transmission start instant (FMTIisrci) of the talker (transmitter) and the GCL for opening or closing the switch (SW) on the routing path at a specific time, based on the routing path.


The CNC (10) converts the GCL into XML-based configuration data and transmits the converted data to the TSN switch (30), and transmits the message transmission start instant (FMTIisrci) to the CUC (20) through the POST method.


The CUC (20) receives the message transmission instant of the talker (transmitter) from the CNC (10) and controls the message transmission movement of the TSN station (talker) (40).


Performance Evaluation and Analysis

The numerical results of the real-world TSN-based process automation system is now being examined (FIG. 6). The system is configured by GCL derived using TSM and Cisco CNC software. Experiments were conducted on a PC with an Intel Core i7-8565U CPU and 16 GB of RAM. The TSM and Cisco CNC inputs were identical, so the network topology G={(ESi,SWj)|i=1, . . . ,8,j=1,2} (see FIG. 3) and traffic specifications F are the same as those in Table 1. The outputs of the Cisco CNC and TSM are the GCLs summarized in Tables 2 and 3, respectively, which specify the schedules for f1-f4. The tables contain the opening time-instants (TOpenvi) and closing time-instants (TClosevi) for the prioritized queue. Specifically, at the egress of node vi, transmission of fi will commence at TOpenvi and end at TClosevi. The remaining time is fully utilized to transmit non-TC flows.









TABLE 1







TSN Traffic specifications












F
srci
dsti
li
pi
φi





f1
Talker
Listener
1,500 B
1 ms
1 ms



Epson C4
Epson C4


f2
Talker Epson
Listener Epson
1,500 B
1 ms
1 ms



SCARA
SCARA


f3
Talker Kuka
Listener Kuka
1,500 B
1 ms
1 ms


f4
Talker
Listener
1,500 B
1 ms
1 ms



Turntable
Turntable
















TABLE 2







GCLs obtained from the Cisco CNC













Schedule








(μs)
TOpenSrci
TCloseSrci
TOpenSW1
TCloseSW1
TOpenSW2
TCloseSW2
















f1
0
14
35
49
70
84


f2
0
14
935
949
984
998


f3
4
18
950
963
984
998


f4
4
18
49
63
84
98
















TABLE 3







GCLs obtained from the traffic scheduling method













Schedule (μs)
TOpenSrci
TCloseSrci
TOpenSW1
TCloseSW1
TOpenSW2
TCloseSW2
















f1
0
12.336
33.74
46.076
67.48
79.816


f2
12.336
24.672
46.076
58.412
79.816
92.152


f3
24.672
37.008
58.412
70.748
92.152
104.488


f4
37.008
49.344
70.748
83.048
104.488
116.824









To facilitate understanding of the GCLs (Tables 2 and 3), the corresponding time slot allocation diagrams are presented in FIG. 7. Specifically, as shown in FIGS. 7(a) and 7(b), four timelines represent the schedules for fi. Each timeline contains three boxes that indicate the time slot allocations at the TSN talkers (srci) and switches (SW1 and SW2). The rising and falling edges of each box are the time-instants of opening (TOpenvi) and closing (Tclosevi), respectively, of the timed gates that transmit fi. The arrow indicates the instant (FMTIisrci) when fi is generated; the transmission window is then immediately opened to send fi out.


As shown in FIG. 7(a), the TSM calculates FMTIisrci for each fi, starting at 0 time-instant and increasing by 12.336 μs until the calculation is complete. Four dedicated time slots are continuously allocated to fi to eliminate queuing delay and avoid transmission conflict. However, Cisco CNC randomly assigns an FMTIisrci [FIG. 7(b)] to fi at SW1, which causes significant queuing delay, although the time-slot allocations do not overlap. The queuing delay is discussed later. The TSN listeners are connected to the individual ports of SW2, which means that the TSN flows fi do not compete for bandwidth resources. Hence, the TSM and Cisco CNC use the same policy to allocate time slots at SW2; an appropriate slot is allocated when fi is ready for transmission.


The bandwidth allocation scheme as described above has been used to plot fine-grained time slot allocation diagrams of SW1 and SW2. As shown in FIGS. 7(c) and 7(d), the slots appropriately transmitted both TC and non-TC flows within a hyper-period (1,000 μs). Allocation was repeated at intervals of 1,000 μs. As shown in FIG. 7(c), the TSM accurately calculates the NTCIk and GBIk μsing equations (4) and (6). When GBIk finishes, TCIk commences immediately, and successively allocates time slots (orange boxes) for transmission of fi. This guarantees that TSN flow is timely; there is no queuing when SWs egress. For example, f2 is generated at 12.336 μs and arrives at SW1, and a time slot is promptly allocated when f2 is ready for transmission at 46.076 μs. The remaining slots NTCI21 are fully utilized by non-TC flows. However, as FIG. 7(d) shows, the Cisco CNC randomly assigns non-overlapping time slots for fi. This avoids transmission conflicts but introduces substantial queuing delays. As an example, f2 is generated at 0, and arrives at the egress of SW1 after approximately 35 μs. However, f2 is then queued until a slot is allocated at 935 μs. It is noted that both TSM and Cisco CNC allocate all remaining slots except TCIk and GBIk to NTCIk so that the bandwidth can be fully utilized by non-TC traffic. Moreover, to fully eliminate the transmission interference, both TSM and Cisco allocate specific slots (see boxes marked with an asterisk) to TC traffic flows at egresses of SW2, even TSN ESs are attached to the separate egresses of SW2. Then, the performance of TSM and Cisco CNC is further evaluated by using the same inputs but gradually reducing the delay constraint (φi) from 1 ms to 100 μs in steps of 10 μs.


It is worth noting that φi is assumed to be equal to the transmission period (pi), so the values of pi will also change as φi changes. Therefore, 100 sets of comparison experiments were conducted, and for each set, TSM and Cisco CNC were executed to calculate the schedules. FIG. 9 plots the results, where grey boxes denote a valid TSN schedule can be obtained, whereas black dashed ones indicate a feasible schedule cannot be calculated. Specifically, the TSM can properly schedule TSN traffic when φi varies from 1 ms to 100 μs. On the other hand, Cisco CNC can only schedule TSN traffic when φi is higher than 200 μs. Once the φi becomes tight, e.g., less than 200 μs, Cisco CNC cannot obtain a valid schedule due to starckOverFlowError is thrown, which is caused by the limitation of stack size. Afterwards, the performance of the TSM was compared with the Cisco CNC based on three key indicators: the end-to-end latency Te2e, queuing delay TquefiSWk, and calculation time Tcal.


End-to-End Latency

The end-to-end latency (Te2e) is the transmission time of fi from a talker (srci) to a listener (dsti). Te2e is critical for evaluating the real-time performance of industrial systems. ProfiShark 1G+ delay measurement devices have been used to measure Te2e. Two devices were respectively deployed at the egress of the TSN talker and the ingress of the TSN listener. fi was captured and timestamped Tsrci when it was transmitted by the talker. Then, fi was timestamped again when it reached the ingress of the TSN listener (Tdsti). Hence, Te2e is expressed as:










T

e

2

e


=


T

dst
i


-

T

src
i







[

Equation


17

]







The Te2e of the TSN testbed has been measured as described above. A total of 1,000 packets were captured during the peak traffic period, i.e., when the TG generated voluminous jamming traffic. In such a case, the shared link between SW1 and SW2 was completely occupied. The numerical Te2e results are plotted in FIG. 8; the dotted lines and solid lines with dots are the Te2e values of fi scheduled by the TSM and Cisco CNC, respectively, and the solid lines are the Pi values. No measured Tele exceeds the Pi; both the TSM and Cisco CNC appropriately schedule fi to satisfy real-time performance requirements. The Te2e results of TSM and Cisco CNC in FIGS. 8(b) and 8(d) are quite similar. Because at the egress of SW1, Cisco CNC allocations for f1 (from 35 μs to 49 μs) and f4 (from 49 μs to 63 μs) are coincidentally similar to those of the TSM, i.e., f1 (from 33.74 μs to 46.076 μs) and f4 (from 70.748 μs to 83.084 μs). But those of FIGS. 8(b) and 8(c) differ significantly because TSM eliminates queuing delays whereas Cisco CNC does not (see below).


Queuing Delay

The queuing delay TquefiSWk is the time over which fi is “stuck” in SWk, and is expressed as:










T

que

f
i



SW
k


=


T
Open

SW
k


-

D
phy


src
i



ToSW
k



-

FMTI
i

sr


c
i



-

T

que

f
i



SW

k
-
1








[

Equation


13

]







Here, TOpenSWk is the instant when the gate opens to transmit fi (i.e., at the egress of SWk). DphysrciToSWk is the physical delay when fi is transmitted from srci to SWk. FMTIisrci is the start time of fi transmission at talker srci. These three parameters were calculated above. TquefiSWk-1 is the queuing delay experienced by fi during its previous hop. It is assumed that TquefiSWo is 0 when k is 1. A larger TqueiSWk results in a greater end-to-end latency; Pi may be exceeded and real-time performance is not possible. Using Equation 18, the queuing delays has been calculated and summarized in Table 3. TSM eliminates these delays by carefully scheduling fi, but the use of Cisco CNC is associated with significant delays; in particular, Tquef2SW1, and Tquef3SW1 are both about 900 μs.









TABLE 4







Queuing delay results















Scheduler




T

que

f
1



SW
1









T

que

f
2



SW
1









T

que

f
3



SW
1









T

que

f
4



SW
1









T

que

f
1



SW
2









T

que

f
2



SW
2









T

que

f
3



SW
2









T

que

f
4



SW
2























TSM
0
0
0
0
0
0
0
0


Cisco CNC
1.26
901.26
912.26
11.26
1.26
15.26
0.26
1.26









Calculation Time

The calculation time Tcal is the time between scheduler startup and calculation of a feasible TSN schedule. Tcal is important for operational performance in real industrial systems. Changes in product service requirements necessitate adjustments in service-oriented applications and network infrastructure. These changes may be frequent and the TSN schedule must be recalculated every time. Therefore, a TSN scheduler with a high Tcal is unacceptable. To measure Tcal, time is used, a popular Linux tool, which returns the elapsed time between invocation and termination of a program. Both TSM and Cisco CNC are used 100 times to schedule fi on the TSN testbed. Tcal results has been plotted in FIG. 10, where X-axis denotes the running number, whereas Y-axis presents the calculation time in seconds. Thin solid and bold solid lines denote Tcal of Cisco CNC and the TSM, respectively. Dotted lines show the average values, i.e., 12.3 ms and 15.6 s, which are the averaged Tcal values of TSM and Cisco CNC, respectively. The TSM was much faster than Cisco CNC.


The effect of the number of input TSN flows on Tcal has been evaluated. The fi flows has been input, where i ranged from 10 to 500 (step size=10), and generated 50 sets of cases. Each set contained 10 cases of different topologies, each of which was of the same network size (20 SWs and 60 ESs) but exhibited random connections. Hence, 500 cases were ultimately generated. NetworkX has been used to create the random topologies. The talkers srci and listeners dsti were randomly distributed among the ESs. The flow size is 1,500 Bytes, flow period pi was randomly selected from 4, 8, and 16 ms, and the deadline φi was equal to the period. FIG. 11 plots the Tcal results, where the x-axis denotes the number of flows and the y-axis denotes Tcal, which increases with the number of flows.


Specifically, FIG. 11(a) shows that the TSM can schedule 500 flows within 137 ms. FIG. 11(b) shows that Cisco CNC schedules 120 flows in about 110 seconds. When the number of flows reaches 130, the Cisco CNC process is terminated because the starckOverFlowError switch is thrown; this is caused by the limitation of the stack size. To intuitively show how fast the TSM is than Cisco CNC, Table 4 is presented to show specific values of Tcal when flow numbers ranging from 10 to 120. Tcal of Cisco CNC has been divied by that of the TSM and present this value (i.e., x-fold) in the third column. For example, to schedule 10 TSN flows (see the first row of Table 4), the TSM needs 30.94 μs, while Cisco CNC requires 17.69 s Thus, the TSM is at least 571-fold






(


17.69
s


30.94
μs


)




faster than Cisco CNC. Moreover, when the network is fixed, the TSM can schedule more traffic flows.









TABLE 5







Calculation time (Tcal) comparison: TSM and Cisco CNC










Flow numbers
TSM (μs)
Cisco CNC (s)
x-fold













10
30.94
17.69
571-fold


20
32.69
21.86
668-fold


30
31.68
26.15
825-fold


40
31.91
30.45
954-fold


50
33.35
33.82
1014-fold


60
34.00
36.04
1060-fold


70
35.53
40.20
1131-fold


80
37.83
43.81
1158-fold


90
38.57
47.96
1243-fold


100
38.78
56.45
1455-fold


110
38.31
82.78
2160-fold


120
39.72
105.41
2653-fold









Conclusion

The present invention develops the TSM to bridge the gap between theoretical research and practical implementation. Fine-grained guidelines that aid practical implementation of TSM has been presented. The present invention constructed a real-world TSN-based process automation system and specified the technical details. Finally, the TSM performance has been experimentally studied by measuring the end-to-end latency, queuing delay, and calculation time, and compared the TSM data to those of the Cisco CNC. Conclusions are as follows.


1) The TSM according to the present invention guarantees robust real-time performance for TC traffic flows, even when traffic loads are high.


2) The TSM eliminates queuing delays of TC traffic flows because scheduling is fine-grained.


3) When presented with 500 random cases, the TSM required only a very short computation time to generate a feasible schedule. The TSM was about 571-fold faster than the Cisco CNC.


In the future, the TSM will be extended to schedule incremental traffic during system runs. This will meet the flexible configuration requirements of various industry 4.0 applications (e.g., plug-and-produce application).


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 applied to various industrial communication where TSN (Time-Sensitive Networking) is applied.

Claims
  • 1. A method performed in a control apparatus of an industrial automation system, the method comprising: a step of performing a network partition by dividing a network into subnetworks and adjusting a traffic flow specification based on a network topology (G), traffic flow specification (F) and a routing path (p(srci,dsti)fi); anda scheduling step of determining a message transmission start instant (FMTIisrci) and Gate Control List (GCL) for opening or closing a switch (SW) on a routing path at a specific time for each traffic flow, based on the subnetworks (G′), the adjusted traffic flow specifications (F′), and a link specification (link speed and length).
  • 2. The method according to claim 1, wherein the step of performing the network partition includes: acquiring a branch node by filtering a switch that constitutes the network topology, and confirming whether the branch node is included in each routing path and dividing the network into subnetworks.
  • 3. The method according to claim 1, wherein the scheduling step includes: a procedure of determining a time division interval (TDIk) for the switch;determining a time slot number (TSTCDK) and a time slot allotment interval (TSAIi) that are allotted to a time critical interval (TCIk) constituting the time division interval;determining a message transmission start instant (FMTIisrci) of a talker (transmitter) and a message transmission start instant of the switch (FMTIiSWk) on the routing path by allotting a specific time slot of the the time critical interval (TCIk) to each traffic flow; andgenerating the Gate Control List (GCL) using the determined message transmission start instant of the switch determined.
  • 4. A control system of an industrial automation system, the control system comprising: a central network configurator (CNC) configured to:receive, as inputs, a network topology (G), a traffic flow specification (F) link specification (link speed and length) to calculate a routing path (p(srci,dsti)fi), and
  • 5. The control system according to claim 4, wherein the CNC converts the GCL into XML-based configuration data to transmit to the switch (SW), and transmits the message transmission start instant (FMTIisrci) to the CUC through a POST method.
Priority Claims (1)
Number Date Country Kind
10-2022-0022968 Feb 2022 KR national
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. section 371, of PCT International Application No. PCT/KR2023/000448, filed on Jan. 10, 2023, which claims foreign priority to Korean Patent Application No. 10-2022-0022968, filed on Feb. 22, 2022, in the Korean Intellectual Property Office, both of which are hereby incorporated by reference in their entireties.

PCT Information
Filing Document Filing Date Country Kind
PCT/KR2023/000448 1/10/2023 WO