A deterministic transmission method between multiple synchronization domains

By dividing the network into multiple time synchronization domains and adopting a deterministic transmission mechanism and a delay amortization strategy, the problem of deterministic transmission between multiple synchronization domains is solved, and deterministic transmission of data streams between multiple synchronization domains is realized, meeting the real-time and deterministic requirements of the Industrial Internet.

CN119172382BActive Publication Date: 2025-11-14BEIJING JIAOTONG UNIV
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410093180.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-23
Publication Date
2025-11-14
Estimated Expiration
2044-01-23

AI Technical Summary

Technical Problem

Existing technologies cannot achieve deterministic transmission between multiple time synchronization domains, and cannot meet the needs of integrated transmission of information and control data in the Industrial Internet.

Method used

By dividing the network into multiple time synchronization domains, and employing a deterministic transmission mechanism, scheduling method, and delay amortization strategy among the multiple synchronization domains, each synchronization domain is independently scheduled and the results are integrated to ensure deterministic transmission of data streams among the multiple synchronization domains.

Benefits of technology

It achieves deterministic transmission between multiple time synchronization domains, meeting the real-time and deterministic requirements of information and control data in the Industrial Internet.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119172382B_ABST
    Figure CN119172382B_ABST
Patent Text Reader

Abstract

This invention discloses a deterministic transmission method between multiple synchronization domains, comprising the following steps: Step 1: A deterministic transmission mechanism between multiple synchronization domains, wherein the entire network is divided into N time synchronization domains, each domain is time-synchronized, but not synchronized between domains; Step 2: A scheduling method between multiple synchronization domains, wherein the upper limit of the data stream's delay is allocated to each synchronization domain through which the data stream needs to pass according to a delay amortization strategy, each synchronization domain is scheduled independently, and the scheduling results of each synchronization domain are finally integrated to obtain a complete scheduling table for the data stream; Step 3: A delay amortization strategy. This invention, through the design of a deterministic transmission mechanism, a scheduling method, and a delay amortization strategy between multiple synchronization domains, enables the transmission method to be applicable to networks containing multiple time synchronization domains and fully meets the requirements for deterministic transmission between multiple time synchronization domains.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of deterministic real-time transmission technology in computer networks, and more particularly to a deterministic transmission method between multiple synchronization domains. Background Technology

[0002] To address the challenge of merging and transmitting Information Technology (IT) and Operation Technology (OT) data in the Industrial Internet, the IEEE 802.1TSN Group proposed and standardized Time-Sensitive Networking (TSN) in 2012. TSN is now widely accepted by academia and industry. TSN ensures real-time and deterministic transmission of data streams by scheduling the transmission time of each switch along the transmission path through a time-triggered transmission mechanism. The accuracy of the transmission time depends on the precision of time synchronization; therefore, deterministic transmission in TSN requires establishing network-wide time synchronization. However, in practical applications, establishing network-wide time synchronization is not always the best solution, and may even be impossible. Figure 1 This paper illustrates three typical TSN network scenarios requiring the division of sub-synchronization domains. Scenario 1 is a train communication network where most real-time control occurs within the train carriages, with only a small amount of communication requiring cross-carriage transmission. Establishing full network synchronization would spread the loss of synchronization accuracy across the entire network, reducing the deterministic nature of all real-time data transmission. Therefore, a better solution is to divide the network into synchronization domains: one for each carriage and one for the backbone network, ensuring that the deterministic nature of communication within each domain remains unaffected. Scenario 2 is a multi-workshop industrial control network, a typical scenario for large-scale TSN network applications. Excessive network diameter leads to significant time synchronization accuracy loss, failing to meet the deterministic transmission requirements of industrial control networks. Therefore, dividing the network into synchronization domains becomes a feasible solution, with each workshop forming a separate synchronization domain, ensuring that deterministic transmission within a domain is unaffected by inter-domain transmission. Scenario 3 involves the access of asynchronous terminals. This scenario often occurs during the transformation of industrial control networks. Existing control equipment does not support time synchronization protocols and cannot synchronize, but control data still needs to be transmitted. In this case, a single asynchronous terminal can be treated as a synchronization domain, and the TSN network as a separate synchronization domain, enabling deterministic transmission between domains. Data transmission between synchronous domains lacks time synchronization, and messages may arrive before or after the scheduled time point. Compared to synchronous message transmission within a domain, it exhibits significant asynchronicity and cannot utilize the deterministic transmission mechanism of the TSN network. Consequently, the real-time and deterministic requirements of data stream transmission between domains cannot be met.

[0003] The existing patent "CN113300798B A Deterministic Access Method for Asynchronous Terminals" proposes an asynchronous-to-synchronous conversion mechanism and a delay adaptation mechanism to ensure deterministic transmission for asynchronous terminals accessing the TSN, such as... Figure 2 As shown, this mechanism is only applicable to situations where the network contains only one time synchronization domain, and cannot meet the requirements for deterministic transmission between multiple time synchronization domains. Therefore, a deterministic transmission method between multiple time synchronization domains is urgently needed. Summary of the Invention

[0004] 1. Technical problems to be solved

[0005] The purpose of this invention is to solve the problem that existing transmission methods can only be applied to situations where the network contains only one time synchronization domain, and cannot meet the requirements for deterministic transmission between multiple time synchronization domains. Therefore, this invention proposes a deterministic transmission method between multiple synchronization domains.

[0006] 2. Technical Solution

[0007] To achieve the above objectives, the present invention adopts the following technical solution:

[0008] A deterministic transmission method between multiple synchronization domains includes the following steps:

[0009] Step 1: Deterministic transmission mechanism between multiple synchronization domains. The entire network is divided into N time synchronization domains. Data is synchronized within each domain but not between domains; data stream f i Send from terminal d1.v0 to terminal d N .v n+1 ;

[0010] Step 2: Multi-synchronization domain scheduling method. To improve the scheduling efficiency of data streams between multiple synchronization domains, the upper limit of the data stream's delay is allocated to each synchronization domain that the data stream needs to pass through according to the delay amortization strategy. Each synchronization domain is scheduled separately and independently. Finally, the scheduling results of each synchronization domain are integrated to obtain a complete scheduling table for the data stream.

[0011] Step 3: Delay Sharing Strategy: The delay consumed by a packet in a TSN from entering the switch to being sent consists of four parts: receive delay rdelay, forwarding delay fdelay, processing delay pdelay, and link delay ldelay. The data flow delay f... i Each time the data passes through a switch during transmission, an additional delay, denoted as delay, is required. trans Its value is shown in the following formula:

[0012] f i .delay trans =f i.length·(rdelay+fdelay+pdelay+ldelay) (6)

[0013] The symbol · represents the delay and data stream message length f. i The relationship between .length; also, when the data stream f i With data stream f j When all packets need to be sent from the same port on the switch, because a switch only allows a single packet to be sent from a single port at a time, in the worst case, the data flow will only be able to proceed after the data flow f... j Sending only occurs after the data stream has finished sending. The time required for the data stream to start sending from the switch and finish sending includes the processing delay pedlay, the link delay ldelay, and the receiving delay rdelay. Therefore, the data stream f i Each collision with a data stream requires adding the aforementioned delay, denoted as delay. conflict Its value is shown in the following formula:

[0014] f i .delay conflict =f j .length·(pdelay+ldelay+rdelay) (7)

[0015] The magnitude of the collision delay is related to the data flow f. i Data streams that collide j Message length f j The length is related; the data flow f can be calculated based on the two metrics mentioned above. i Delay distribution across different synchronization domains.

[0016] Preferably, in step 1, the data stream f i The transmission process is as follows:

[0017] Step 1.1: Within the initial synchronization domain d1, since the sending terminal d1.v0 belongs to d1, time-triggered transmission can be directly used for transmission within d1, and the data stream f... i The time delay in d1 can be expressed as:

[0018]

[0019] in These represent data streams f respectively. i In synchronization domain d1, send the transmission time of terminal d1.v0 and the last switch d1.v. n The difference between the two transmission times is the data stream f, since a time-triggered transmission method is used. iThe delay required for transmission in the synchronization domain d1;

[0020] Step 1.2: In other synchronization domains d n ∈D other In the middle, D other This indicates removing the data stream f outside the initial synchronization domain d1. i The data flow f passes through synchronization domains, and because the domains are not synchronized, the data flow... i Upon reaching d n The time is not exactly equal to the switch d n The timing of the .v0 scheduling; at this point, an asynchronous-to-synchronous mechanism is used, meaning the data stream is not forwarded immediately, but waits for d. n .f i .t s.wait The data stream f will be forwarded at the next scheduled sending time; at this time... i The scheduling time has been synchronized within the domain, and then the data is transmitted to the last switch d within the domain using a time-triggered transmission method. n .v n To achieve deterministic transmission, the latency adaptation mechanism needs to allow the data stream f to... i Keep d in addition n .f i .t s.hold To reduce message congestion and jitter caused by hold-up, the message is held up at the first switch in the next synchronization domain. n .f i .t s.hold The size needs to satisfy the following formula:

[0021]

[0022] Where s is the data stream f i The sequence number of the s-th message, which guarantees the data flow f i Any message sent in d n The time delays in all cases are fixed values, equal to d. n The difference in transmission time between the last switch and the first switch in the middle is related to the data flow f. i In d n The sum of the scheduling cycles can be expressed by the following formula:

[0023]

[0024] The data stream f can be obtained from equations (1) and (3). i Total delay during the entire transmission process:

[0025]

[0026] Except for the first synchronization domain d1, each of the other synchronization domains requires an additional scheduling period d because it involves cross-domain operations. n .f i The delay of .period.

[0027] Preferably, in step 1.2, the data flow f must be satisfied. i Real-time performance and determinism across multiple synchronization domains can be achieved simply by ensuring that equation (4) is less than its timeout, i.e.:

[0028]

[0029] Where f i .timeout represents the data stream f i The timeout period.

[0030] Preferably, the scheduling method in step 2 is as follows: given the information of N data streams to be scheduled fs[N] and the number of synchronization domains M in the network, in lines 1-2, first initialize the array isScheduleSuccess[M] which indicates whether the synchronization domain has been successfully scheduled and the array scheduleResult[M] which shows the scheduling results of the synchronization domain, and then enter the scheduling loop;

[0031] In the scheduling loop, the delay values ​​delay[N][M] of the data stream in each synchronization domain are first calculated according to the delay amortization algorithm splitDelay. The next step is to schedule each synchronization domain in a loop. If the current synchronization domain has been successfully scheduled, the current synchronization domain will not be scheduled again, and the scheduling of the next synchronization domain will be skipped. If the scheduling result scheduleResult[i] obtained by the doSchedule() method meets the requirements, the flag isScheduleSuccess[i] of whether the i-th synchronization domain was successfully scheduled will be set to true, indicating that the scheduling was successful.

[0032] After scheduling all M synchronization domains, if the number of times the isScheduleSuccess[M] array is true is less than M and the value of isScheduleSuccess[M] has changed compared to the previous loop, it indicates that there are synchronization domains that have not been successfully scheduled and that there is still the ability to continue scheduling. At this time, jump to line 4 of the code. Since the scheduling time of the successfully scheduled synchronization domains has been determined, the actual value of the data stream transmission delay in them can be calculated. After obtaining the new available delay freeDelay[N], the delay is redistributed and the next round of scheduling loop is performed. Otherwise, it means that all synchronization domains have been successfully scheduled or there are synchronization domains that have not been successfully scheduled but the delay redundancy can no longer be obtained. At this time, the scheduling results scheduleResult[M] of each synchronization domain are integrated to obtain the final scheduling table scheduleTable, the loop is exited, and the scheduling ends.

[0033] Preferably, in step 3, the data stream f is calculated. i The delay amortization within each synchronization domain is determined as follows: There are N time synchronization domains in the network to be used for delay amortization. After obtaining the transmission paths of all data streams, the data stream f can be calculated. i In the synchronization domain d n Number of switches passing through The number of times a data stream collides with another data stream (i.e., each collision with another data stream is counted once). Then the data stream f i In the synchronization domain d n Transmission delay trans and conflict delay conflict They are respectively:

[0034]

[0035]

[0036] Data stream f i In the synchronization domain d n The actual time delay allocated in the middle is recorded as Its value can then be expressed as the following formula:

[0037]

[0038] Where f i .freeDelay represents the data stream f i The delay value available for delay amortization can be calculated according to formula (10), which can be used to calculate the delay allocated to each synchronization domain.

[0039] Preferably, the step of calculating delay amortization in step 3 during inter-synchronization domain scheduling is as follows:

[0040] Step 3.1: First, initialize the array storing the delays of N data streams in M ​​synchronization domains. Then, enter the outer loop located in line 2 of the code, set the delay value fs[i].freeDelay, which is available for delay amortization, to its timeout. Then, enter the inner loop. If isScheduleSuccess[j] is true, it means that the current synchronization domain has been successfully scheduled. Directly calculate the actual delay value consumed by data stream fs[i] in the j-th synchronization domain based on the sending time of data stream fs[i] in the switch in the scheduling result scheduleResult[j], and assign it to delay[i][j]. At the same time, subtract delay[i][j] from the delay value available for delay amortization fs[i].freeDelay. Otherwise, it means that the current synchronization domain has not been scheduled or the scheduling has failed.

[0041] Step 3.2: Calculate the delay amortization weight of data stream fs[i] in the j-th synchronization domain according to equations (8) and (9), and assign it to delay[i][j]. At the same time, add it to the total delay amortization weight value of data stream fs[i].

[0042] Step 3.3: Repeat the above steps until the total weight of delay allocation for all data streams and the weight of delay allocation in each synchronization domain are calculated, then end the loop. Finally, the delay value allocated to each synchronization domain of the data stream can be calculated according to equation (10), and the result delay[N][M] is returned.

[0043] 3. Beneficial effects

[0044] Compared with the prior art, the advantages of this invention are:

[0045] In this invention, through the design of a deterministic transmission mechanism, a scheduling method, and a delay amortization strategy between multiple synchronization domains, the transmission method is applicable to situations where the network contains multiple time synchronization domains, and can fully meet the requirements for deterministic transmission between multiple time synchronization domains. Attached Figure Description

[0046] Figure 1 A typical scenario diagram for dividing a TSN network into synchronization domains;

[0047] Figure 2 A schematic diagram of a deterministic access mechanism for asynchronous terminals;

[0048] Figure 3 This is a schematic diagram of the deterministic transmission mechanism between multiple synchronization domains proposed in this invention;

[0049] Figure 4 This is a schematic diagram of the message transmission delay proposed in this invention. Detailed Implementation

[0050] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0051] Example 1:

[0052] A deterministic transmission method between multiple synchronization domains includes the following steps:

[0053] Step 1: Deterministic transmission mechanism between multiple synchronization domains, such as Figure 3 As shown, the entire network is divided into N time synchronization domains. Data within each domain is time-synchronized, but data between domains is not synchronized. Data flow f i Send from terminal d1.v0 to terminal d N .v n+1 The following will be done via data stream f i The transmission process will be used to explain this mechanism, as follows:

[0054] ① Within the initial synchronization domain d1, since the sending terminal d1.v0 belongs to d1, time-triggered transmission can be directly used for transmission within d1, and the data stream f i The time delay in d1 can be expressed as:

[0055]

[0056] in These represent data streams f respectively. i In synchronization domain d1, send the transmission time of terminal d1.v0 and the last switch d1.v. n The difference between the two transmission times is the data stream f, since a time-triggered transmission method is used. i The delay required for transmission in the synchronization domain d1.

[0057] ② In other synchronization domains (excluding data streams f from the initial synchronization domain d1) i The synchronization domain traversed is represented by D. other (indicated) d n ∈D other In this context, because the domains are asynchronous, the data flow f i Upon reaching d n The time is not exactly equal to the switch d n The timing of the .v0 scheduling; at this point, an asynchronous-to-synchronous mechanism is used, meaning the data stream is not forwarded immediately, but waits for d. n .f i .t s.waitThe data stream f will be forwarded at the next scheduled sending time; at this time... i The scheduling time has been synchronized within the domain, and then the data is transmitted to the last switch d within the domain using a time-triggered transmission method. n .v n To achieve deterministic transmission, a latency adaptation mechanism needs to allow the data stream f to... i Keep d in addition n .f i .t s.hold To reduce message congestion and jitter caused by hold-up, messages are held up at the first switch in the next synchronization domain. n .f i .t s.hold The size needs to satisfy the following formula:

[0058]

[0059] Where s is the data stream f i The sequence number of the s-th message. That is, to guarantee the data flow f i Any message sent in d n The time delays in all cases are fixed values, equal to d. n The difference in transmission time between the last switch and the first switch in the middle is related to the data flow f. i In d n The sum of the scheduling cycles can be expressed by the following formula:

[0060]

[0061] The data stream f can be obtained from equations (1) and (3). i Total delay during the entire transmission process:

[0062]

[0063] Except for the first synchronization domain d1, each of the other synchronization domains requires an additional scheduling period d because it involves cross-domain operations. n .f i The latency of .period. To satisfy the data flow f... i Real-time performance and determinism across multiple synchronization domains can be achieved simply by ensuring that equation (4) is less than its timeout, i.e.:

[0064]

[0065] Where f i .timeout represents the data stream f i The timeout period;

[0066] Step 2: Multi-synchronization domain scheduling method. To improve the scheduling efficiency of data streams between multiple synchronization domains, the upper limit of the data stream's delay is allocated to each synchronization domain that the data stream needs to pass through according to the delay amortization strategy. Each synchronization domain is scheduled separately and independently. Finally, the scheduling results of each synchronization domain are integrated to obtain a complete scheduling table for the data stream.

[0067] The specific scheduling algorithm is shown in Table 1. Given the N data streams to be scheduled fs[N] and the number of synchronization domains M in the network, in lines 1-2 of the code, the array isScheduleSuccess[M], which indicates whether the synchronization domain was successfully scheduled, and the array scheduleResult[M], which shows the scheduling results of the synchronization domain, are first initialized, and then the scheduling loop is entered.

[0068] Table 1. Calculation method for scheduling between multiple synchronization domains

[0069]

[0070]

[0071] In the scheduling loop, the delay values ​​delay[N][M] of the data stream in each synchronization domain are first calculated according to the delay amortization algorithm splitDelay. The next step is to schedule each synchronization domain in a loop. If the current synchronization domain has already been successfully scheduled, the scheduling of the current synchronization domain is stopped, and the process jumps to the next synchronization domain. If the scheduling result scheduleResult[i] obtained using the doSchedule() method meets the requirements, the flag isScheduleSuccess[i] indicating whether the i-th synchronization domain was successfully scheduled is set to true, signifying successful scheduling.

[0072] After scheduling all M synchronization domains, if the number of true values ​​in the isScheduleSuccess[M] array is less than M and the value of isScheduleSuccess[M] has changed compared to the previous loop, it indicates that there are synchronization domains that have not been successfully scheduled and that scheduling can continue. In this case, jump to line 4 of the code. Since the scheduling time of the successfully scheduled synchronization domains has been determined, the actual value of the data stream transmission delay in them can be calculated. After obtaining the new available delay freeDelay[N], the delay is redistributed, and the next round of scheduling loop is performed. Otherwise, it indicates that all synchronization domains have been successfully scheduled or there are synchronization domains that have not been successfully scheduled but the delay redundancy can no longer be obtained. In this case, the scheduling results scheduleResult[M] of each synchronization domain are integrated to obtain the final scheduling table scheduleTable, the loop is exited, and the scheduling ends.

[0073] Step 3: Delay amortization strategy: such as Figure 4As shown, the time delay required for a packet to travel from entering the switch to being sent in a TSN consists of four parts: receive delay (rdelay), forwarding delay (rdelay), processing delay (pdelay), and link delay (ldelay). Data flow f i Each time the data passes through a switch during transmission, an additional delay, denoted as delay, is required. trans Its value is shown in the following formula:

[0074] fi.delay trans =f i .length·(rdelay+fdelay+pdelay+ldelay) (6)

[0075] The symbol · represents the delay and data stream message length f. i The relationship exists between .length and .length. Additionally, when the data stream f... i With data stream f j When all packets need to be sent from the same port on the switch, because a switch only allows a single packet to be sent from a single port at a time, in the worst case, the data flow will only be able to proceed after the data flow f... j Sending only occurs after all other steps are completed. The time required for the data stream to start sending from the switch and complete sending is the processing delay pdelay, the link delay ldelay, and the receiving delay rdelay. Therefore, the data stream f... i Each collision with a data stream requires adding the aforementioned delay, denoted as delay. conflict Its value is shown in the following formula:

[0076] f i .delay conflict =f j .length·(pdelay+ldelay+rdelay) (7)

[0077] The magnitude of the collision delay is related to the data flow f. i Data streams that collide j Message length f j The length is related. The data stream f can be calculated based on the two metrics mentioned above. i The delay amortization within each synchronization domain is determined as follows: There are N time synchronization domains in the network to be used for delay amortization. After obtaining the transmission paths of all data streams, the data stream f can be calculated. i In the synchronization domain d n Number of switches passing through The number of times a data stream collides with another data stream (i.e., each collision with another data stream is counted once). Then the data stream fi In the synchronization domain d n Transmission delay trans and conflict delay conflict They are respectively:

[0078]

[0079]

[0080] Data stream f i In the synchronization domain d n The actual time delay allocated in the middle is recorded as Its value can then be expressed as the following formula:

[0081]

[0082] Where f i ·freeDelay represents the data stream f i The delay value available for delay amortization can be calculated according to formula (10), which can be used to calculate the delay allocated to each synchronization domain.

[0083] The following section will explain the steps for calculating delay amortization during multi-synchronization-domain scheduling based on the delay amortization algorithm shown in Table 2. First, initialize an array storing the delays of N data streams across M synchronization domains. Then, enter the outer loop (line 2 of the code) and set the delay value fs[i].freeDelay available for delay amortization of the data stream to its timeout. Next, enter the inner loop. If isScheduleSuccess[j] is true, it indicates that the current synchronization domain has been successfully scheduled. The delay is then calculated directly based on the sending time of data stream fs[i] in the switch from the scheduling result scheduleResult[j]. The actual delay value consumed by data stream fs[i] in the j-th synchronization domain is calculated and assigned to delay[i][j]. At the same time, delay[i][j] is subtracted from the delay value available for delay amortization fs[i].freeDelay. Otherwise, it indicates that the current synchronization domain is not scheduled or the scheduling has failed. The delay amortization weight of data stream fs[i] in the j-th synchronization domain is calculated according to equations (8) and (9) and assigned to delay[i][j]. At the same time, it is added to the total delay amortization weight value of data stream fs[i]. The above steps are repeated until the total delay amortization weight value of all data streams and the delay amortization weight in each synchronization domain are calculated, and the loop ends. Finally, the delay value amortized in each synchronization domain of the data stream can be calculated according to equation (10), and the result delay[N][M] is returned.

[0084] Table 2 Delay Amortization Algorithm

[0085]

[0086]

[0087] In this invention, through the design of a deterministic transmission mechanism, a scheduling method, and a delay amortization strategy between multiple synchronization domains, the transmission method is applicable to situations where the network contains multiple time synchronization domains, and can fully meet the requirements for deterministic transmission between multiple time synchronization domains.

[0088] Example 2:

[0089] It has the implementation content of the above embodiments, wherein the specific implementation methods of the above embodiments can be referred to the above description, and the embodiments here will not be described in detail again; however, the difference between the embodiments in this application and the above embodiments is that:

[0090] In this embodiment, data stream f i Taking the transmission process of the s-th message across multiple synchronization domains as an example, the specific implementation steps are as follows:

[0091] S1: Data stream f i After the s-th message is sent from the sending terminal, it is transmitted in the first synchronization domain d1 of the sending path according to the time-triggered transmission method, and continues until the last-level switch d1 of synchronization domain d1. n Store a hold time f in the message. i .t s.hold It is initialized to 0 and then the message is sent.

[0092] S2: In the first synchronization domain d1, the last-level switch d1.v n When a message is sent to synchronization domain d2, upon reaching the first switch d2.v0 in synchronization domain d2, it first maintains f in the switch. i .t s.hold The time taken to determine the size of the time frame is timestamped upon completion, and then an asynchronous-to-synchronous mechanism is used to wait for d2.f. i .t s.wait After that time, it aligns with the transmission time scheduled in synchronization domain d2. Note the waiting time d2.f here. i .t s.wait It is calculated by the difference between the sending time and the time after the previous hold period, and then transmitted in a time-triggered manner until the last-level switch d2.v in the domain. n In order to eliminate the preceding d2.f i .t s.wait Size jitter, update hold time size f i .t s.hold The specific formula is as follows:

[0093] f i .t s.hold =d2.f i .t s.hold =d2.f i .period-d2.f i .t s.wait (11)

[0094] After updating the retention time f according to formula (11) i .t s.hold Then, it is sent directly from the switch to the next synchronization domain.

[0095] S3: Until from the last synchronization domain d N The last-level switch d N .v n Before being sent, data stream f i All transmissions follow the rules in step two, with the final-level switch d reaching the nth synchronization domain. n .v n The hold time f is updated according to the following formula. i .t s.hold Size:

[0096]

[0097] Where N represents the data stream f i The total number of synchronization domains traversed.

[0098] S4: The message is in the last synchronization field d N The last-level switch d N .v n Before sending, keep f in the current switch i .t s.hold The time frame is determined by the size of the data, and then the data is forwarded to the receiving terminal.

[0099] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.

Claims

1. A deterministic transmission method between multiple synchronization domains, characterized in that, Includes the following steps: Step 1: Deterministic transmission mechanism between multiple synchronization domains. The entire network is divided into N time synchronization domains. The time is synchronized within each synchronization domain, but not between domains. Data Stream From the terminal Send to terminal ; Step 2: Multi-synchronization domain scheduling method. To improve the scheduling efficiency of data streams between multiple synchronization domains, the upper limit of the data stream's delay is allocated to each synchronization domain that the data stream needs to pass through according to the delay amortization strategy. Each synchronization domain is scheduled separately and independently. Finally, the scheduling results of each synchronization domain are integrated to obtain a complete scheduling table for the data stream. Step 3: Delay Sharing Strategy: The delay consumed by a packet in a TSN from entering the switch to being sent consists of four parts: reception delay, reception delay, and transmission delay. Forwarding delay Processing delay and link latency Data flow Each time the data passes through a switch during transmission, an additional delay, denoted as f, is required. i . The calculation method is shown in Formula 6: (6) Among the symbols Indicates latency and data stream message length There are existing relationships; additionally, when data flows... With data stream When all data needs to be sent from the same port on the switch, because a switch only allows a single packet to be sent from a single port at a time, the data flow... The worst-case scenario is that we can only wait for the data stream. Sending only occurs after all previous sending is complete; the delay required for the data stream to start from the switch and complete sending is called the processing delay. Link latency and reception delay Therefore, data flow Each collision with a data stream requires an additional delay, denoted as f. i . The calculation method is shown in Formula 7: (7) The magnitude of the collision delay is related to the data flow. Data streams that collide Message length related; In step 3, the data stream is calculated. The delay amortization within each synchronization domain is determined as follows: There are N time synchronization domains in the network to be affected by delay amortization. After obtaining the transmission paths of all data streams, the data streams are calculated. In the synchronization domain Number of switches passing through and the number of data streams that collide Then the data stream In the synchronization domain Transmission delay f in . and conflict delay f . The calculation methods are formulas 8 and 9 respectively: (8) (9) Data stream In the synchronization domain The actual time delay allocated in the middle is recorded as The value is calculated as shown in Formula 10: (10) in Represents data stream The delay value that can be amortized.

2. The deterministic transmission method between multiple synchronization domains according to claim 1, characterized in that, The scheduling method in step 2 is as follows: given the information of N data streams to be scheduled f[N] and the number of synchronization domains M in the network, first initialize the array isScheduleSuccess[M] which indicates whether the synchronization domain has been successfully scheduled and the array scheduleResult[M] which shows the scheduling results of the synchronization domain, and then enter the scheduling loop; In the scheduling loop, the delay values ​​delay[N][M] of the data stream in each synchronization domain are first calculated according to the delay amortization algorithm splitDelay. The next step is to schedule each synchronization domain in a loop. If the current synchronization domain has been successfully scheduled, the current synchronization domain will not be scheduled again, and the scheduling of the next synchronization domain will be skipped. If the scheduling result scheduleResult[i] obtained by the doSchedule() method meets the requirements, the flag isScheduleSuccess[i] of whether the i-th synchronization domain was successfully scheduled will be set to true, indicating that the scheduling was successful. After scheduling all M synchronization domains, if the number of true values ​​in the isScheduleSuccess[M] array is less than M and the value of isScheduleSuccess[M] has changed compared to the previous loop, it indicates that there are synchronization domains that have not been successfully scheduled and that there is still the ability to continue scheduling. Since the scheduling time of the successfully scheduled synchronization domains has been determined, the actual value of the transmission delay of the data stream in it is calculated, and the new available delay freeDelay[N] is obtained. Then, the delay is redistributed, and the next round of scheduling loop is performed. Otherwise, it indicates that all synchronization domains have been successfully scheduled or there are synchronization domains that have not been successfully scheduled but the delay redundancy can no longer be obtained. At this time, the scheduling results scheduleResult[M] of each synchronization domain are integrated to obtain the final scheduling table scheduleTable, the loop is exited, and the scheduling ends.

Citation Information

Patent Citations

  • A deterministic access method for asynchronous terminals

    CN113300798B

  • Hierarchical clock synchronization method between low-orbit small satellites

    CN112904705A

  • High-reliability time-sensitive network time synchronization method and system

    CN113055116A