Method and apparatus for collecting CSQF scheduling cycles in deterministic networks

By constructing test messages and obtaining timestamps, and combining them with known information to determine the CSQF scheduling period of transmission nodes, the problem of not being able to obtain the scheduling period in deterministic networks is solved, thus achieving accurate message queue transmission and improving transmission efficiency.

CN116686324BActive Publication Date: 2026-05-26NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NEW H3C TECH CO LTD
Filing Date
2021-12-29
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In deterministic networks, existing technologies cannot obtain the CSQF scheduling cycle information of each transmission node in a timely manner, making it difficult to achieve determinism in message transmission.

Method used

By constructing test messages, the receive and send timestamps of the transmission nodes are obtained. Combined with the known CSQF scheduling period information, the CSQF scheduling period of the transmission nodes is determined to ensure that the test messages are transmitted in the specified queue in the transmission path.

Benefits of technology

It enables the accurate collection of CSQF scheduling cycle information of each transmission node in a deterministic network, ensuring that packets are transmitted according to the specified queue, thereby improving the determinism and efficiency of transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116686324B_ABST
    Figure CN116686324B_ABST
Patent Text Reader

Abstract

This application provides a method and apparatus for collecting CSQF scheduling cycles in deterministic networks. In this embodiment, for the first node on a transmission path in a deterministic network, the CSQF scheduling cycle information of the first node is determined based on the receive timestamp of the test message received by the first node and the send timestamp of the scheduled test message. For non-first nodes, based on the CSQF scheduling cycle information of other transmission nodes preceding the non-first node in the transmission path, the test messages corresponding to the non-first node are controlled to enter the receive queue (RQ) of other transmission nodes preceding the non-first node in the transmission path. The CSQF scheduling cycle information of the transmission node is determined based on the receive timestamp of the test message received by the non-first node and the send timestamp of the scheduled test message. This ultimately achieves the collection of CSQF scheduling cycle information for all transmission nodes along the entire transmission path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to network communication technology, and in particular to a method and apparatus for collecting scheduling cycles for Cycle Specified Queuing and Forwarding (CSQF) based on segmented routing in deterministic networks. Background Technology

[0002] Deterministic networks (DetNet) provide deterministic service functions for services carried within a network domain. These deterministic service functions may include latency, packet loss rate, etc.

[0003] In deterministic networks, Cyclic Queuing and Forwarding (CSQF) was proposed to achieve deterministic transmission over wide area networks. CSQF implements at least three queues (also called Cycle Specified Queues). During each CSQF scheduling cycle, only one queue is in the sending state (this sending queue is called the Sending Queue (SQ)), and at least one remaining queue is in the receiving state (also called the Receiving Queue (RQ)).

[0004] In deterministic networks, to achieve deterministic message transmission, it is necessary to know the CSQF scheduling period of each transmission node so that when a message arrives at each node, it can promptly determine which queue (SQ) each node is sending or receiving. However, currently there is no way to obtain timely information about the CSQF scheduling period of each transmission node, such as the start time of the CSQF scheduling period. Summary of the Invention

[0005] This application provides a method for collecting CSQF scheduling cycles in deterministic networks, so as to collect the CSQF scheduling cycles of transmission nodes in deterministic networks.

[0006] This application provides a CSQF scheduling cycle collection method applied in a deterministic network. The method is applied to an SDN controller and includes:

[0007] For each transmission node on a transmission path in the deterministic network,

[0008] If the transmission node is the first node of the transmission path, then construct a test message corresponding to the transmission node and send it to the transmission node, obtain the receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message, and determine the CSQF scheduling period information of the transmission node based on the receiving timestamp and the sending timestamp.

[0009] If the transmission node is not the first node of the transmission path, then a test message corresponding to the transmission node is constructed. Based on the CSQF scheduling period information of other transmission nodes preceding the transmission node in the transmission path, the test message corresponding to the transmission node is controlled to enter the receiving queue (RQ) of other transmission nodes preceding the transmission node in the transmission path. The receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message are obtained. Based on the receiving timestamp and the sending timestamp, the CSQF scheduling period information of the transmission node is determined.

[0010] This application provides a CSQF scheduling cycle collection method applied in a deterministic network. The method is applied to the first node of a transmission path in the deterministic network and includes:

[0011] When determining the CSQF scheduling period information of the first node, a test message corresponding to the first node is constructed, and the timestamp of constructing the test message is used as the receiving timestamp of the test message. Based on the receiving timestamp of the test message and the sending timestamp of the scheduled test message, the CSQF scheduling period information of the first node is determined.

[0012] When determining the CSQF scheduling cycle information of non-first nodes on the transmission path, a test message corresponding to the non-first node is constructed. Based on the CSQF scheduling cycle information of other transmission nodes preceding the non-first node in the transmission path, the queue to which the test message corresponding to the non-first node enters upon arrival at the other transmission nodes is specified. The queue to which the test message enters upon arrival at the other transmission nodes is specified as the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the other transmission nodes. Based on the current time, the starting transmission time for sending the test message corresponding to the non-first node to the specified queue of the first node is determined. The starting transmission time is used to control the test message corresponding to the transmission node to enter the specified queue of the first node. The specified queue is the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the first node. When the starting transmission time arrives, the test message corresponding to the non-first node is sent to the specified queue of the first node. The receiving timestamp of the test message received by the non-first node and the sending timestamp of the scheduled sending of the test message are obtained. Based on the receiving timestamp and the sending timestamp, the CSQF scheduling cycle information of the non-first node is determined.

[0013] This application also provides an electronic device. The electronic device includes: a processor and a machine-readable storage medium;

[0014] The machine-readable storage medium stores machine-executable instructions that can be executed by the processor;

[0015] The processor is used to execute machine-executable instructions to implement the steps of the disclosed method.

[0016] As can be seen from the above technical solutions, in this embodiment of the application, by constructing a test message corresponding to each transmission node on the transmission path, and determining the CSQF scheduling period information of the transmission node based on the receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message, the collection of the CSQF scheduling period in the deterministic network is realized.

[0017] Furthermore, in this embodiment, when the transmission node being tested is not the first node of the transmission path, a test message corresponding to the transmission node is constructed. Based on the CSQF scheduling cycle information of other transmission nodes preceding the transmission node in the transmission path, the test message corresponding to the transmission node is controlled to enter the receiving queue RQ of the other transmission node when it arrives at the other transmission node preceding the transmission node in the transmission path. This enables the test message to be placed in the designated queue of the first node, ensuring the accuracy of CSQF scheduling cycle collection, and also facilitating the forwarding of subsequent messages. Attached Figure Description

[0018] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0019] Figure 1 A flowchart illustrating the method provided in this application embodiment;

[0020] Figure 2 This is a network topology diagram provided for an embodiment of this application;

[0021] Figures 3a to 3c A schematic diagram of message scheduling provided for an embodiment of this application;

[0022] Figures 4a to 4b Another message scheduling diagram provided for an embodiment of this application;

[0023] Figure 5 A flowchart for determining CSQF scheduling period information provided in this application embodiment;

[0024] Figure 6 A flowchart illustrating the process of a control test message entering a designated queue, as provided in the embodiments of this application;

[0025] Figure 7 This is a network topology diagram provided for an embodiment of this application;

[0026] Figure 8 A schematic diagram illustrating the determination of CSQF scheduling period information provided in this application embodiment;

[0027] Figure 9 This is another schematic diagram illustrating the determination of CSQF scheduling period information provided in an embodiment of this application;

[0028] Figure 10 This is a schematic diagram of the internal processing of a transmission node in a deterministic network provided in an embodiment of this application;

[0029] Figure 11 This is a schematic diagram illustrating message processing between different transmission nodes provided in an embodiment of this application;

[0030] Figure 12 This is a schematic diagram of the PTP calculation method provided in the embodiments of this application;

[0031] Figure 13 Another method flowchart provided for embodiments of this application;

[0032] Figure 14 This is a structural diagram of the device provided in the embodiments of this application;

[0033] Figure 15 Another device structure diagram provided for embodiments of this application;

[0034] Figure 16This is a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0035] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0036] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0037] To enable those skilled in the art to better understand the technical solutions provided in the embodiments of this application, and to make the above-mentioned objectives, features and advantages of the embodiments of this application more apparent and understandable, the technical solutions in the embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0038] See Figure 1 , Figure 1 This is a flowchart illustrating a method provided in an embodiment of this application. The method is applied to an SDN controller.

[0039] like Figure 1 As shown, the process may include the following steps:

[0040] Step 101: For each transmission node on a transmission path in the deterministic network, if the transmission node is the first node of the transmission path, then execute step 102; if the transmission node is not the first node of the transmission path, then execute step 103.

[0041] In this embodiment, the transmission path can be set arbitrarily, and this embodiment is not specifically limited. Figure 2 Taking a transmission path with two transmission nodes, A and B, as an example, the following is illustrated: Figure 1 The network structure shown is based on... Figure 2 Given the transmission path A->B, for transmission node A, step 102 is executed, and for transmission node B, step 103 is executed. It should be noted that... Figure 2 The transmission path A->B shown is merely an example for general understanding and is not intended to be limiting.

[0042] Step 102: Construct the test message corresponding to the transmission node and send it to the transmission node. Obtain the receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message. Based on the receiving timestamp and the sending timestamp, determine the CSQF scheduling period information of the transmission node.

[0043] In this embodiment, the total number N of test packets corresponding to the constructed transmission node is the total number of queues implemented by CSQF in the transmission node.

[0044] Furthermore, in this embodiment, N test packets corresponding to a transmission node can be designated to enter N queues of the transmission node, ensuring that different test packets enter different queues. In other words, in this embodiment, each test packet can carry an identifier of the queue it is designated to enter. For example, a test packet with sequence number 0 enters the queue with sequence number 0, a test packet with sequence number 1 enters the queue with sequence number 1, and so on.

[0045] Based on this, when a transmission node receives a test message, it will store each test message into the corresponding queue based on the queue identifier it carries, thus ultimately enabling N test messages to enter the N queues of the transmission node respectively.

[0046] It should be noted that in this embodiment, when the transmission node receives a test message, it records the timestamp of the received test message (denoted as the reception timestamp). The reception timestamp is then reported to the aforementioned SDN controller. In this embodiment, the reception timestamps of different test messages can be the same or different; this embodiment does not specifically limit this.

[0047] In this embodiment, the transmission node schedules the queue in turn according to the CSQF scheduling cycle to send test packets in the queue. Based on this, when the transmission node sends a test packet, it records the timestamp of the sent test packet (denoted as the sending timestamp). The sending timestamp is then reported to the aforementioned SDN controller. In this embodiment, the sending timestamps of different test packets can be the same or different; this embodiment is not specifically limited to this.

[0048] In addition, in this embodiment, the sending timestamp and receiving timestamp can be reported to the SDN controller together or separately. This embodiment does not specifically limit the reporting.

[0049] When the SDN controller obtains the receive timestamp of the test message received by the transmission node and the send timestamp of the test message scheduled by the transmission node, as described in step 102, it will determine the CSQF scheduling period information of the transmission node based on the receive timestamp and the send timestamp. How to determine the CSQF scheduling period information of the transmission node based on the receive timestamp and the send timestamp will be described with examples below and will not be elaborated here.

[0050] Step 103: Construct a test message corresponding to the transmission node. Based on the CSQF scheduling period information of other transmission nodes preceding the transmission node in the transmission path, control the test message corresponding to the transmission node to enter the RQ of other transmission nodes preceding the transmission node in the transmission path. Obtain the receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling to send the test message. Based on the receiving timestamp and the sending timestamp, determine the CSQF scheduling period information of the transmission node.

[0051] In this embodiment, based on the CSQF scheduling period information of other transmission nodes preceding the transmission node in the transmission path, the test packet corresponding to the transmission node can be specified to enter the RQ of that other transmission node when it arrives at that other transmission node in the transmission path. This ultimately achieves the goal of ensuring that the test packet corresponding to the transmission node enters the RQ of that other transmission node when it arrives at that other transmission node in the transmission path. This will be described in detail below and will not be elaborated upon here.

[0052] As for how to determine the CSQF scheduling cycle information of the transmission node based on the received timestamp and the sent timestamp, it will be described in detail below, and will not be repeated here.

[0053] This concludes the process. Figure 1 The process is shown below. Through Figure 1 The process shown realizes the collection of CSQF scheduling cycle information of each transmission node in the complete transmission path.

[0054] The following describes how the CSQF scheduling period information of the transmission node is determined based on the received timestamp and the sent timestamp in step 102 or step 103 above:

[0055] Optionally, to facilitate understanding of how to determine the CSQF scheduling period information of a transmission node based on the receive timestamp and the send timestamp, the principles involved in the CSQF scheduling period information are described below:

[0056] by Figure 2 Taking the network topology shown as an example, if Figure 2 Each transmission node shown establishes three queues based on CSQF, denoted as Q1, Q2, and Q3 respectively. The symbols used below are explained below:

[0057] 1) i, j, and k are the sequence numbers of the three test messages. Optionally, i, j, and k are consecutive, for example, i+1=j and j+1=k. The test message with sequence number i is denoted as message i, the test message with sequence number j is denoted as message j, and the test message with sequence number k is denoted as message k.

[0058] 2), t1A[i] represents the timestamp when message i arrives at the transmission node (i.e., the receiving timestamp), txA[i] represents the timestamp when message i is scheduled to be sent (i.e., the scheduling timestamp), t2A[i] represents the timestamp when message i is sent (i.e., the sending timestamp); t1A[j] represents the timestamp when message j arrives at the transmission node (i.e., the receiving timestamp), txA[j] represents the timestamp when message j is scheduled to be sent (i.e., the scheduling timestamp), t2A[j] represents the timestamp when message j is sent (i.e., the sending timestamp); t1A[k] represents the timestamp when message k arrives at the transmission node (i.e., the receiving timestamp), txA[k] represents the timestamp when message k is scheduled to be sent (i.e., the scheduling timestamp), t2A[k] represents the timestamp when message k is sent (i.e., the sending timestamp).

[0059] by Figure 2 Taking the transmission path A->B as an example, Figures 3a to 3c This shows that messages i, j, and k all arrive at transmission node A within the same CSQF scheduling cycle (denoted as Cycle 1), and their arrival times do not cross the boundary of Cycle 1.

[0060] by Figure 3a For example, if transmission node A is scheduling Q1 in Cycle 1, then if message i is designated to enter Q1, when message i arrives at transmission node A, since Q1 is being scheduled, message i will be scheduled and sent quickly within Cycle 1. Ideally, txA[i] and t2A[i] are both completed within Cycle 1.

[0061] exist Figure 3a In Cycle 1, packets j and k received by node A will enter Q2 and Q3 respectively. At the beginning of Cycle 2, Q2 will be scheduled, so packet j will be scheduled to be sent soon at the start of Cycle 2. Accordingly, txA[j] and t2A[j] will be close to the start of Cycle 2. Similarly, at the beginning of Cycle 3, Q3 will be scheduled, packet k will be scheduled to be sent soon at the start of Cycle 2, and txA[k] and t2A[k] will also be close to the start of Cycle 3. Figure 3b , Figure 3c similar Figure 3a The main difference is that the queue being scheduled is different when the test message arrives.

[0062] pass Figures 3a to 3c The following conclusions can be drawn:

[0063] 1) For any test message, the scheduling timestamp (txA) of the test message, such as txA[i], txA[j], txA[k], etc., cannot be obtained directly. However, since the interval between txA and the sending timestamp (t2A) of the test message is very small and relatively certain, the sending timestamp t2A of the test message can be used to approximate the scheduling timestamp txA.

[0064] 2) The earliest received test message (i.e., the test message with the earliest received timestamp), if the reception and transmission of this test message are completed within the same CSQF scheduling period, then the latest transmission timestamp (the latest timestamp among all transmission timestamps of all test messages) can be approximated by moving back two CSQF scheduling periods to the start time of the CSQF scheduling period in which the earliest received timestamp (the earliest timestamp among all received timestamps of all test messages) is located. For example... Figure 3a In the above context, the latest sending timestamp is t2A[k], and the earliest receiving timestamp is t1A[i]. Based on the above conclusion, the start time of the CSQF scheduling cycle containing the earliest receiving timestamp t1A[i] is approximately t2A[k]–2T. Correspondingly, the CSQF scheduling cycle offset when message i is received can also be calculated as approximately t2A[i]–(t2A[k]–2T). T is the duration of a CSQF scheduling cycle, for example, 10µs.

[0065] It should be noted that, Figures 3a to 3c This represents an ideal application scenario (i.e., the transmission node does not cross the boundary of the CSQF scheduling period when receiving the test message). However, in some special cases, the transmission node may cross the boundary of the CSQF scheduling period when receiving the test message, for example... Figures 4a to 4b ,by Figure 4a For example, if transmission node A receives message i near the end of the Cycle n+1 scheduling period, due to processing delays and minor jitter, message i may be scheduled to be sent within the Cycle n+1 scheduling period, or... Figure 4b As shown, message i may also be scheduled to be sent within the Cycle n+4 scheduling cycle. But regardless of... Figures 3a to 3c The ideal situation shown is still Figures 4a to 4b In the special case shown, the latest transmission timestamp (the latest timestamp among all test message transmission timestamps) can approximate the start time of a certain CSQF scheduling cycle. However, it's unclear which specific CSQF scheduling cycle it is, but it is definitely the start time of a certain CSQF scheduling cycle.

[0066] Based on the conclusions described above, the timestamp of the latest sent test message is approximately the start time of the CSQF scheduling period. The following describes how to determine the CSQF scheduling period information of a transmission node based on the receive and send timestamps:

[0067] See Figure 5 , Figure 5 A flowchart illustrating the determination of CSQF scheduling period information of a transmission node based on the received timestamp and the sent timestamp, provided as an embodiment of this application. Figure 5 As shown, the process may include the following steps:

[0068] Step 501: Determine the first target test message based on the sending timestamps of all test messages.

[0069] Optionally, as an embodiment, in this embodiment, the sending timestamp of the first target test message is later than the sending timestamps of the other test messages. That is, the first target test message is the latest test message sent among all test messages.

[0070] Optionally, as another embodiment, in this embodiment, the time difference between the sending and receiving timestamps of the first target test message is greater than the time difference between the sending and receiving timestamps of other test messages. In other words, the first target test message is the test message with the largest time difference between its sending and receiving timestamps among all test messages.

[0071] Step 502: Based on the sending timestamp of the first target test message and following the principle that the sending timestamp of the latest sent test message is approximately the start time of the CSQF scheduling period, determine the CSQF scheduling period information of the transmission node.

[0072] Optionally, in this embodiment, step 502 can be achieved through the following steps:

[0073] Step a1: Determine the second target test message based on the received timestamps of all test messages.

[0074] Optionally, in this embodiment, the timestamp of the second target test message is earlier than the timestamps of the other test messages. That is, the second target test message is the earliest received test message.

[0075] Step a2, determine the value of the loop variable Loop that satisfies the following equation: t2A[p]>t1A[q]+Loop*T.

[0076] Where t2A[p] represents the sending timestamp of the first target test message, t1A[q] represents the receiving timestamp of the second target test message, and T is the duration of a CSQF scheduling cycle, such as 10us. Here, the determined loop can be the smallest loop that satisfies the above formula.

[0077] Step a3: Determine the CSQF scheduling cycle information based on the sending timestamp of the first target test message, the receiving timestamp of the second target test message, and the aforementioned Loop.

[0078] Optionally, in this embodiment, the CSQF scheduling cycle information may include at least:

[0079] 1) The start time of the cycle:

[0080] In this embodiment, the cycle start time refers to the start time of the target CSQF scheduling cycle in which the transmission node is located when the second target test message is received.

[0081] As described above, the timestamp of the latest test message sent is approximately the start time of the CSQF scheduling cycle, i.e., t2A[p] is the start time of a certain CSQF scheduling cycle. Based on this, the start time of the above cycle can be: t2A[p] – Loop*T.

[0082] 2) SQ identifier:

[0083] In this embodiment, the SQ identifier is used to indicate the queue identifier of the queue being scheduled for transmission within the aforementioned target CSQF scheduling period.

[0084] Optionally, in this embodiment, the SQ identifier is represented by (p-1+N–Loop)mod N+1, where p refers to the sequence number of the second target test message.

[0085] 3) RQ identifier:

[0086] In this embodiment, the RQ identifier is used to indicate the queue identifier of the queue to be scheduled for transmission in the next CSQF scheduling cycle of the target CSQF scheduling cycle.

[0087] Optionally, in this embodiment, the queue corresponding to the RQ identifier is in the receiving state during the target CSQF scheduling period. If the transmission nodes schedule queues in turn, the queue corresponding to the RQ identifier can be the next queue after the queue corresponding to the SQ identifier.

[0088] Optionally, in this embodiment, the RQ identifier is represented by (p+N–Loop)mod N+1.

[0089] Of course, in one embodiment, the CSQF scheduling period information may further include: the message identifier of the second target test message, such as sequence number q, the receiving timestamp t1A[q] of the second target test message, the message identifier of the first target test message, such as sequence number p, the sending timestamp t2A[p] of the first target test message, etc. This embodiment is not specifically limited.

[0090] This concludes the process. Figure 5 The process is shown below.

[0091] pass Figure 5 The process shown implements the determination of the CSQF scheduling period information of the transmission node based on the received timestamp and the sent timestamp.

[0092] In this embodiment, for the first node of the transmission path, for example... Figure 2 The transmission node A shown is configured as follows: Figure 5 The method shown will ultimately yield the CSQF scheduling cycle information of the first node, such as transport node A. For transport nodes following the first node in the transmission path, it is also necessary to use the CSQF scheduling cycle information of other transport nodes preceding it to control the test packets corresponding to those transport nodes to enter the RQ of those other transport nodes when they arrive. The specific implementation is described below:

[0093] See Figure 6 , Figure 6 This is a flowchart illustrating the process of a control test message entering a designated queue, as provided in an embodiment of this application. Figure 6 In the process shown, for ease of distinction, when determining the CSQF scheduling cycle information of a transmission node that is after the first node in the transmission path, the transmission node can be recorded as the node under test.

[0094] like Figure 6 As shown, the process may include the following steps:

[0095] Step 601: Based on the CSQF scheduling cycle information of the other transmission nodes preceding the node under test in the transmission path, specify the queue into which the test message corresponding to the node under test will enter when it arrives at the other transmission nodes.

[0096] In this embodiment, when determining the CSQF scheduling cycle information of the node under test, the SDN controller will also construct a corresponding test message for the non-first node.

[0097] As described above, the CSQF scheduling cycle information can be used in this embodiment to specify that the test packets corresponding to the tested node enter the queues corresponding to the RQ identifiers in the CSQF scheduling cycle information of the other transmission nodes.

[0098] Taking the transmission path A->B->C->D as an example, if the node being tested is B, then the test message corresponding to node B will enter the queue corresponding to the RQ identifier in the CSQF scheduling period information of node A, such as queue 0.

[0099] For example, if the node being tested is C, then the test message corresponding to node C will enter the queue corresponding to the RQ identifier in the CSQF scheduling period information of node A, such as queue 0, and enter the queue corresponding to the RQ identifier in the CSQF scheduling period information of node B, such as queue 1.

[0100] For example, if the node being tested is D, then the test packets corresponding to node D will enter the queue corresponding to the RQ identifier in the CSQF scheduling period information of node A, such as queue 0, the queue corresponding to the RQ identifier in the CSQF scheduling period information of node B, such as queue 1, and the queue corresponding to the RQ identifier in the CSQF scheduling period information of node C, such as queue 2.

[0101] Step 602: Determine the start time for sending the test message corresponding to the node under test to the first node of the transmission path.

[0102] In step 602, in order to ensure that the test message corresponding to the tested node enters the designated queue of the other transmission nodes when it arrives at the other transmission nodes, it is necessary to determine the starting time for sending the test message corresponding to the tested node to the first node of the transmission path.

[0103] In this embodiment, when the SDN controller determines the CSQF scheduling cycle information of the first node, it records the transmission time (denoted as the initial transmission time) of each test message sent to the first node. The initial transmission times of different test messages may be the same or different, and this embodiment does not specifically limit this. Based on this, in this embodiment, the following initial transmission time (denoted as T-start) can be obtained from the initial transmission times of each test message sent to the first node when determining the CSQF scheduling cycle information of the first node: the initial transmission time of the test message designated to enter the RQ of the aforementioned first node. Based on this T-start, the transmission time of the test message corresponding to the non-first node sent to the first node in step 601 can be determined. For example, a future time point time1 can be set. time1 = N*T + time - [(time – t_start) mod (N*T)], where time represents the current time point; read the current time point time, determine whether the current time point time is less than time1, if it is, return to the step of reading the current time point time, otherwise, determine the current time point time as the starting time of sending the test message corresponding to the non-first node to the first node.

[0104] Step 603: When the above-mentioned start sending time arrives, send the test message corresponding to the node being tested to the first node of the transmission path.

[0105] By sending the test message corresponding to the node under test to the first node of the transmission path at the determined start time, the test message corresponding to the node under test will be controlled to enter the designated RQ of other transmission nodes that are ahead of the node under test in the transmission path.

[0106] It should be noted that, in this embodiment, during execution Figure 6 Before the process shown, the SDN controller and each transmission node in the transmission path can first perform time synchronization.

[0107] The following is to make Figure 6 The process is clearer as shown below, and an example is described:

[0108] by Figure 7 Taking the network topology shown as an example, suppose the transmission path is A->B->C->D->E. A pre-set set of collected nodes (Pre-Path) and a set of nodes to be collected (Next-Path) are configured. Initially, Pre-Path is empty, and Next-Path contains five nodes A, B, C, D, and E arranged in the order of the path.

[0109] Traverse the Next-Path in the order of the path, and set the traversed node as the current node. Identify whether the current node is the first node of the above transmission path.

[0110] As an example, when the current node is identified as the first node of the aforementioned transmission path, the above procedure is followed. Figure 5 The illustrated process determines the CSQF scheduling cycle information of the first node. If the current node is node A, meaning it is the first node in the aforementioned transmission path... Figure 8 For example, we will construct three test messages for node A to determine the CSQF scheduling cycle information of node A.

[0111] Next, the identifier of the current node (node ​​A) and the CSQF scheduling cycle information of the current node are recorded in the Pre-Path. It is then determined whether there is a next node in the aforementioned transmission path; if so, the steps of traversing the Next-Path in path order are returned.

[0112] As another embodiment, when it is identified that the current node is not the first node of the above transmission path, taking the current node as node B as an example, the test message corresponding to node B is designated to enter the designated RQ of the first node when it arrives at the first node A according to the CSQF scheduling period information of the first node A in the above transmission path (the designated RQ here refers to the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node A in the above transmission path).

[0113] After that, according to Figure 6 The method shown in step 602 determines the starting time for sending the test message corresponding to node B to the first node A. When the starting time is reached, the test message corresponding to node B is sent. Finally, after the test message corresponding to node B arrives at the first node A, it will enter the designated RQ of the first node according to the specified RQ (here, the designated RQ refers to the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node A in the above transmission path).

[0114] Subsequently, when the CSQF scheduling period for the specified RQ arrives, the first node A schedules and sends the test packets from the specified RQ. Node B will eventually receive the test packets sent by the first node A and will then distribute the received test packets into different queues within node B. Afterwards, node B will schedule and send the test packets from each queue according to the CSQF scheduling period. Following the above... Figure 5 The process shown will eventually determine the CSQF scheduling cycle information of node B. Figure 9 The example illustrates how to determine the CSQF scheduling cycle information of node B based on three test messages constructed by node B, with RQ designated as queue 3 (Q3).

[0115] It should be noted that, in this embodiment, the RQ identifier in the CSQF scheduling period information of node B is determined when the queue corresponding to the RQ identifier in the CSQF scheduling period information of node A is scheduled for transmission. In other words, if the queue corresponding to the RQ identifier in the CSQF scheduling period information of node A is scheduled for transmission, and the packets in that queue are scheduled for transmission to the queue corresponding to the RQ identifier in the CSQF scheduling period information of node B, then it is guaranteed that the packets will be sent by node B with priority. Based on this, when determining the CSQF scheduling period information of nodes after node B (taking node C as an example), it is possible to specify that the test packets constructed for node C enter the queues corresponding to the RQ identifier in the CSQF scheduling period information of node A and the queues corresponding to the RQ identifier in the CSQF scheduling period information of node B.

[0116] Next, the identifier of the current node (node ​​B) and the CSQF scheduling cycle information of the current node are recorded in the Pre-Path. It is then determined whether there is a next node for the current node in the aforementioned transmission path; if so, the steps of traversing the Next-Path in path order are returned.

[0117] For example, when it is determined that the current node is not the first node of the aforementioned transmission path, taking node C as an example, based on the CSQF scheduling period information of the first node A and the CSQF scheduling period information of node B in the aforementioned transmission path, the test packet corresponding to node C is designated to enter the designated RQ of the first node when it arrives at the first node A (here, the designated RQ refers to the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node A in the aforementioned transmission path). And, when it arrives at node B, it enters the designated RQ of node B (here, the designated RQ refers to the queue corresponding to the RQ identifier in the CSQF scheduling period information of node B in the aforementioned transmission path).

[0118] After that, according to Figure 6 The method shown in step 602 determines the starting time for sending the test message corresponding to node C to the first node A. When the starting time arrives, the transmission of the test message corresponding to node C begins. Finally, after arriving at the first node A, the test message corresponding to node C will enter the designated RQ of the first node (here, the designated RQ refers to the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node A in the aforementioned transmission path). Then, when the CSQF scheduling period for the designated RQ arrives, the first node A schedules the transmission of the test message in the designated RQ. Finally, the test message corresponding to node C will arrive at node B. After receiving the test message corresponding to node C, node B will, as specified, enter the test message into its designated RQ (here, the designated RQ refers to the queue corresponding to the RQ identifier in the CSQF scheduling period information of node B in the aforementioned transmission path).

[0119] Subsequently, when the CSQF scheduling period for the specified RQ arrives, node B schedules and sends the test packets from the specified RQ. Finally, the test packets corresponding to node C will arrive at node C and enter different queues within node C. Then, node C will schedule and send the test packets from each queue according to the CSQF scheduling period. Following the above... Figure 5 The process shown will eventually determine the CSQF scheduling cycle information for node C.

[0120] It should be noted that, in this embodiment, the RQ identifier in the CSQF scheduling period information of node C is determined when the queue corresponding to the RQ identifier in the CSQF scheduling period information of node B is scheduled for transmission. Conversely, the RQ identifier in the CSQF scheduling period information of node B is determined when the queue corresponding to the RQ identifier in the CSQF scheduling period information of node A is scheduled for transmission. In other words, to ensure priority transmission of packets, when determining the CSQF scheduling period information of nodes after node C (taking node D as an example), test packets constructed for node D can be specified to enter the queues corresponding to the RQ identifiers in the CSQF scheduling period information of node A, node B, and node C.

[0121] Next, the identifier of the current node (node ​​B) and its CSQF scheduling cycle information are recorded in the Pre-Path. It is then determined whether a next node exists in the aforementioned transmission path. If so, the process returns to the previous step of traversing the Next-Path in order. Conversely, if no next node exists in the aforementioned transmission path, the current process ends.

[0122] The processing for the current node D is similar to that for nodes B and C, and will not be repeated here.

[0123] Ultimately, based on the above description, the CSQF scheduling cycle information for each transmission node along the entire transmission path can be obtained.

[0124] It should be noted that, in this embodiment, as an example, at least one transmission node on the above transmission path can be time-adjusted in advance to control the time synchronization between all transmission nodes on the transmission path, so as to facilitate the acquisition of the CSQF scheduling cycle information of each transmission node based on the same time base.

[0125] like Figure 10 As shown, in a deterministic network, each transmission node consists of the following five components:

[0126] 1) Input Process, used to anchor the input timestamp;

[0127] 2) Distribution buffer (Distributing) is used to distribute packets, such as distributing packets belonging to best-effort flows to the best-effort traffic queue, and distributing packets belonging to deterministic flows to the deterministic traffic queue.

[0128] 3) Mapping, used to map messages to queues to be scheduled for transmission;

[0129] 4) Scheduling (Schedule by Cycle): This function schedules messages in the queue to the highest priority hardware queue configured and reserved according to the CSQF scheduling cycle.

[0130] 5) Output Process: This process is used to send and mark output timestamps by configuring and reserving the highest priority hardware queue as the hardware queue for sending deterministic streams.

[0131] Within any transmission node, the time elements involved in a message include:

[0132] 1) The message reception timestamp t1 can be obtained in the Input Process;

[0133] 2) After Distribution and Mapping, the time cost is △T1;

[0134] 3) After the scheduling delay △T2 and the delay △T3 for marking the sending timestamp, the final sending timestamp of the message is t2.

[0135] In the above process, t1 and t2 are clocks in the same clock domain of the same transmission node, and can be accurately obtained. Based on the above analysis, the relationship between t1 and t2 is expressed by Equation 1:

[0136] t2=t1+△T1+△T2+△T3 (1)

[0137] Let: △t=△T1+△T2+△T3,

[0138] Formula 1 can be simplified to:

[0139] t2=t1+△t (2)

[0140] Based on Formula 2, such as Figure 11 As shown, the combined delay of transmission node A and transmission node B is:

[0141] t2A[i]=t1A[i]+△tA[i]; t2B[i]=t1B[i]+△tB[i]

[0142] Where i represents the i-th test message.

[0143] The delay between transmission nodes A and B, denoted as ΔtAB[i], spans both nodes. However, because the time bases of transmission nodes A and B are different, it cannot be obtained by directly subtracting the sending timestamp t2A[i] of transmission node A from the receiving timestamp t1B[i] of transmission node B. It requires a method similar to... Figure 12 The calculation method for PTP is shown.

[0144] exist Figure 12 In this context, j represents only messages different from i, △tAB[i] represents the delay from the sending timestamp of transmission node A to the receiving timestamp of transmission node B, and △tBA[i] represents the delay from the sending timestamp of transmission node B to the receiving timestamp of transmission node A. Since the round-trip lines are symmetrical, and this delay is largely determined by physical characteristics, the delay variation between different messages is small compared to queuing delay. Therefore, this delay is considered equal in the calculation, i.e.:

[0145] △tAB[i]≈△tAB[j]≈△tBA[i]≈△tBA[j], denoted as △tAB, is calculated as follows:

[0146] △tAB=[(t1B[i]–t2A[i])+(t1′A[j]–t2′B[j])] / 2

[0147] Time base offset of transmission node B relative to transmission node A:

[0148] OffsetAB=[(t1B[i]–t2A[i])-(t1′A[j]–t2′B[j])] / 2

[0149] In other words, by adding OffsetAB to the current time of transmission node B, we can obtain the same time base as transmission node A. When all transmission nodes on the same transmission path have the same time base, the timestamps obtained from delay analysis within the transmission nodes have a unified reference.

[0150] The above describes the time synchronization between transmission nodes.

[0151] The foregoing description is from the perspective of the SDN controller; the following description is from the perspective of the first node of the transmission path:

[0152] See Figure 13 , Figure 13 This is another method flowchart provided for an embodiment of this application. This process is applied to the first node of a transmission path in a deterministic network. For example... Figure 13 As shown, the process may include the following steps:

[0153] Step 1301: When determining the CSQF scheduling cycle information of the first node, execute step 1302; when determining the CSQF scheduling cycle information of non-first nodes on the transmission path, execute step 1303.

[0154] Step 1302: Construct the test message corresponding to the first node, use the timestamp of the constructed test message as the timestamp of the received test message, and determine the CSQF scheduling period information of the first node based on the timestamp of the received test message and the timestamp of the scheduled test message.

[0155] In step 1302, the CSQF scheduling cycle information of the first node is determined. Please refer to the above. Figure 5 The process shown is not repeated here.

[0156] Step 1303: Construct a test message corresponding to a non-first node. Based on the CSQF scheduling period information of other transmission nodes preceding the non-first node in the transmission path, specify the queue to which the test message corresponding to the non-first node will enter when it arrives at other transmission nodes. Based on the current time, determine the starting time for sending the test message corresponding to the non-first node to the designated queue of the first node. The designated queue is the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node. When the starting time arrives, send the test message corresponding to the non-first node to the designated queue of the first node. Obtain the receiving timestamp of the test message received by the non-first node and the sending timestamp of the scheduled sending of the test message. Based on the receiving timestamp and the sending timestamp, determine the CSQF scheduling period information of the non-first node.

[0157] In this embodiment, the queues that the signal enters upon arrival at the other transmission nodes are specified as the queues corresponding to the RQ identifiers in the CSQF scheduling period information of the other transmission nodes.

[0158] In addition, in this embodiment, determining the starting time for sending test packets corresponding to non-first nodes to the designated queue of the first node based on the current time is similar to step 602 above. However, here, T-start needs to be modified to the following initial sending time: the initial sending time of the test packets designated to enter the designated queue of the first node. Other steps are similar and will not be repeated.

[0159] In this embodiment, after sending the test packets corresponding to non-first nodes to the designated queue of the first node when the initial transmission time arrives, based on the CSQF scheduling period, the first node will schedule and send the test packets in the designated queue when the CSQF scheduling period used to schedule the designated queue arrives. According to the above... Figure 6As described in the illustrated embodiment, the next hop of the first node, such as the aforementioned transmission node B, will store the received test packets in the queue corresponding to the RQ identifier in its CSQF scheduling period information according to the specified settings. Then, when the CSQF scheduling period of that queue arrives, it will schedule the transmission of the test packets in that queue. This process continues in sequence. Ultimately, the test packets corresponding to the aforementioned non-first node will be sent to the non-first node. When the non-first node receives a test packet, it will record the reception timestamp. Simultaneously, the non-first node will also store the test packets in their corresponding queues, with different test packets stored in different queues. Then, the non-first node will schedule the transmission of the test packets in the queue according to the CSQF scheduling period and record the transmission timestamp of the test packets. Afterwards, the aforementioned first node, upon obtaining the reception timestamp of the non-first node's received test packets and the transmission timestamp of its scheduled transmission of test packets, will determine the CSQF scheduling period information of the non-first node based on the reception timestamp and transmission timestamp. For details, please refer to [link to relevant documentation]. Figure 5 The process shown is not repeated here.

[0160] This concludes the process. Figure 13 The process is shown below.

[0161] pass Figure 13 The process shown enables the first node of the transmission path to determine the CSQF scheduling cycle information of each transmission node on the entire transmission path.

[0162] The methods provided in the embodiments of this application have been described above. The apparatus provided in the embodiments of this application is described below:

[0163] See Figure 14 , Figure 14 This is a structural diagram of a device provided in an embodiment of this application. The device is applied to an SDN controller and includes:

[0164] The first construction unit is used to construct a test message corresponding to each transmission node on a transmission path in the deterministic network.

[0165] The first determining unit is configured to, when the transmission node is the first node of the transmission path, send a test message corresponding to the transmission node to the transmission node, obtain the reception timestamp of the transmission node receiving the test message and the transmission timestamp of the transmission node scheduling the transmission of the test message, and determine the CSQF scheduling period information of the transmission node based on the reception timestamp and the transmission timestamp; or,

[0166] When the transmission node is not the first node of the transmission path, based on the CSQF scheduling period information of other transmission nodes preceding the transmission node in the transmission path, the test message corresponding to the transmission node is controlled to enter the receiving queue (RQ) of other transmission nodes preceding the transmission node in the transmission path; the receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message are obtained, and the CSQF scheduling period information of the transmission node is determined based on the receiving timestamp and the sending timestamp.

[0167] Optionally, the total number N of test messages corresponding to the transmission node is the total number of queues that the transmission node has implemented by queuing and forwarding CSQF at a specified period.

[0168] Optionally, the N test packets corresponding to the transmission node are designated to enter the N queues of the transmission node respectively.

[0169] Optionally, determining the CSQF scheduling period information of the transmission node based on the received timestamp and the sent timestamp includes:

[0170] The first target test message is determined based on the sending timestamps of all test messages; the sending timestamp of the first target test message is later than the sending timestamps of other test messages, or the time difference between the sending timestamp and the receiving timestamp of the first target test message is greater than the time difference between the sending timestamp and the receiving timestamp of other test messages.

[0171] Based on the sending timestamp of the first target test message, and according to the principle that the sending timestamp of the latest sent test message is approximately the start time of the CSQF scheduling period, the CSQF scheduling period information of the transmission node is determined.

[0172] Optionally, determining the CSQF scheduling period information of the transmission node based on the sending timestamp of the first target test message and according to the principle that the sending timestamp of the latest sent test message is approximately the start time of the CSQF scheduling period includes:

[0173] The second target test message is determined based on the receiving timestamps of all test messages, and the receiving timestamp of the second target test message is earlier than the receiving timestamps of other test messages;

[0174] Determine the value of the loop variable Loop that satisfies the following formula: t2A[p]>t1A[q]+Loop*T; where t2A[p] represents the sending timestamp of the first target test message, t1A[q] represents the receiving timestamp of the second target test message, and T is the duration of one CSQF scheduling cycle;

[0175] The CSQF scheduling period information is determined based on the sending timestamp of the first target test message, the receiving timestamp of the second target test message, and the Loop.

[0176] Optionally, the CSQF scheduling period information includes at least: the period start time, the SQ identifier and RQ identifier of the sending queue;

[0177] The cycle start time refers to the start time of the target CSQF scheduling cycle in which the transmission node is located when the second target test message is received. The cycle start time is represented by t2A[p]–Loop*T.

[0178] The SQ identifier is used to indicate the queue identifier of the queue being scheduled to be sent within the target CSQF scheduling period; the SQ identifier is represented by (p-1+N-Loop)mod N+1, where p refers to the sequence number of the second target test message;

[0179] The RQ identifier is used to indicate the queue identifier of the queue to be scheduled for transmission in the next CSQF scheduling cycle of the target CSQF scheduling cycle; the RQ identifier is represented by (p+N–Loop)mod N+1.

[0180] Optionally, controlling the test packet corresponding to the transmission node to enter the receive queue (RQ) of another transmission node before the transmission node in the transmission path, based on the CSQF scheduling period information of the other transmission nodes in the transmission path, includes:

[0181] Based on the CSQF scheduling cycle information of other transmission nodes preceding the transmission node in the transmission path, the queue into which the test packet corresponding to the transmission node enters when it arrives at the other transmission nodes is specified; the queue into which the packet arrives at the other transmission nodes is specified as the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the other transmission nodes.

[0182] Based on the current time, determine the starting time for sending the test message corresponding to the transmission node to the first node of the transmission path. The starting time is used to control the test message corresponding to the transmission node to enter the designated queue of the first node. The designated queue is the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node.

[0183] When the start time of transmission is reached, a test message corresponding to the transmission node is sent to the first node of the transmission path.

[0184] Optionally, in this embodiment, the determining unit further adjusts the time of at least one transmission node on the transmission path to control the time synchronization between all transmission nodes on the transmission path.

[0185] This concludes the process. Figure 14 Structural description of the device shown.

[0186] See Figure 15 , Figure 15 Another device structure diagram provided for an embodiment of this application. This device is applied to the first node of a transmission path in the deterministic network, and may include:

[0187] The second construction unit is used to construct a test message corresponding to the first node when the CSQF scheduling period information of the first node is determined; and to construct a test message corresponding to the non-first node when the CSQF scheduling period information of the non-first node on the transmission path is determined.

[0188] The second determining unit is configured to, when determining the CSQF scheduling period information of the first node, use the timestamp of constructing the test message as the timestamp of receiving the test message, and determine the CSQF scheduling period information of the first node based on the timestamp of receiving the test message and the timestamp of scheduling the sending of the test message; or,

[0189] When determining the CSQF scheduling cycle information of non-first nodes on the transmission path, based on the CSQF scheduling cycle information of other transmission nodes preceding the non-first node, the queue to which the test message corresponding to the non-first node enters upon arrival at the other transmission nodes is specified; the queue to which the test message enters upon arrival at the other transmission nodes is specified as the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the other transmission nodes; based on the current time, the starting transmission time for sending the test message corresponding to the non-first node to the specified queue of the first node is determined, the starting transmission time being used to control the test message corresponding to the transmission node to enter the specified queue of the first node, the specified queue being the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the first node; when the starting transmission time arrives, the test message corresponding to the non-first node is sent to the specified queue of the first node; and the receiving timestamp of the non-first node receiving the test message and the sending timestamp of scheduling the sending of the test message are obtained, and the CSQF scheduling cycle information of the non-first node is determined based on the receiving timestamp and the sending timestamp.

[0190] This concludes the process. Figure 15 Structural description of the device shown.

[0191] This application also provides embodiments that... Figure 14 or Figure 15The hardware structure of the device shown. See also Figure 16 , Figure 16 This is a structural diagram of an electronic device provided in an embodiment of this application. Figure 16 As shown, the hardware structure may include: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the method disclosed in the above example of this application.

[0192] Based on the same application concept as the above method, this application embodiment also provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, can implement the method disclosed in the above examples of this application.

[0193] For example, the aforementioned machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, etc. For instance, machine-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.

[0194] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0195] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0196] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0197] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0198] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0199] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0200] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for collecting CSQF scheduling cycles in deterministic networks, characterized in that, This method is applied to SDN controllers and includes: For each transmission node on a transmission path in the deterministic network, If the transmission node is the first node of the transmission path, then construct a test message corresponding to the transmission node and send it to the transmission node, obtain the receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message, and determine the CSQF scheduling period information of the transmission node based on the receiving timestamp and the sending timestamp. If the transmission node is not the first node of the transmission path, a test message corresponding to the transmission node is constructed. Based on the CSQF scheduling period information of other transmission nodes preceding the transmission node in the transmission path, the test message corresponding to the transmission node is controlled to enter the receiving queue RQ of the other transmission node when it arrives at the other transmission node preceding the transmission node in the transmission path. The receiving queue RQ of the other transmission node is the queue corresponding to the RQ identifier in the CSQF scheduling period information of the other transmission node. The receiving timestamp of the transmission node receiving the test message and the sending timestamp of the transmission node scheduling the sending of the test message are obtained. Based on the receiving timestamp and the sending timestamp, the CSQF scheduling period information of the transmission node is determined.

2. The method according to claim 1, characterized in that, The total number N of test messages corresponding to the transmission node is the total number of queues that the transmission node has implemented by CSQF queuing and forwarding at a specified period.

3. The method according to claim 2, characterized in that, The N test packets corresponding to the transmission node are designated to enter the N queues of the transmission node respectively.

4. The method according to claim 1, characterized in that, Based on the receive timestamp and send timestamp, the CSQF scheduling period information of the transmission node is determined, including: The first target test message is determined based on the sending timestamps of all test messages; the sending timestamp of the first target test message is later than the sending timestamps of other test messages, or the time difference between the sending timestamp and the receiving timestamp of the first target test message is greater than the time difference between the sending timestamp and the receiving timestamp of other test messages. Based on the sending timestamp of the first target test message, and according to the principle that the sending timestamp of the latest sent test message is approximately the start time of the CSQF scheduling period, the CSQF scheduling period information of the transmission node is determined.

5. The method according to claim 4, characterized in that, The determination of the CSQF scheduling period information of the transmission node based on the sending timestamp of the first target test message, and according to the principle that the sending timestamp of the latest sent test message is approximately the start time of the CSQF scheduling period, includes: The second target test message is determined based on the receiving timestamps of all test messages, and the receiving timestamp of the second target test message is earlier than the receiving timestamps of other test messages; Determine the value of the loop variable Loop that satisfies the following equation: t2A[p] > t1A[q] + Loop*T; where t2A[p] represents the sending timestamp of the first target test message, t1A[q] represents the receiving timestamp of the second target test message, and T is the duration of one CSQF scheduling cycle; The CSQF scheduling period information is determined based on the sending timestamp of the first target test message, the receiving timestamp of the second target test message, and the Loop.

6. The method according to claim 5, characterized in that, The CSQF scheduling period information includes at least: the period start time, the SQ identifier and RQ identifier of the sending queue; The cycle start time refers to the start time of the target CSQF scheduling cycle in which the transmission node is located when the second target test message is received. The cycle start time is represented by t2A[p] – Loop*T. The SQ identifier is used to indicate the queue identifier of the queue being scheduled to be sent within the target CSQF scheduling period; the SQ identifier is represented by (p-1 + N – Loop) mod N + 1, where p refers to the sequence number of the second target test message; The RQ identifier is used to indicate the queue identifier of the queue to be scheduled for transmission in the next CSQF scheduling cycle of the target CSQF scheduling cycle; the RQ identifier is represented by (p + N – Loop) mod N + 1.

7. The method according to any one of claims 1 to 6, characterized in that, The step of controlling the test packets corresponding to the transmission node to enter the receive queue (RQ) of other transmission nodes that are preceding the transmission node in the transmission path, based on the CSQF scheduling period information of those other transmission nodes in the transmission path, includes: Based on the CSQF scheduling cycle information of other transmission nodes preceding the transmission node in the transmission path, specify the queue into which the test message corresponding to the transmission node will enter when it arrives at the other transmission nodes. Based on the current time, determine the starting time for sending the test message corresponding to the transmission node to the first node of the transmission path. The starting time is used to control the test message corresponding to the transmission node to enter the designated queue of the first node. The designated queue is the queue corresponding to the RQ identifier in the CSQF scheduling period information of the first node. When the start time of transmission is reached, a test message corresponding to the transmission node is sent to the first node of the transmission path.

8. The method according to claim 1, characterized in that, Prior to this method, the following further includes: Time adjustment is performed on at least one transmission node on the transmission path to control time synchronization among all transmission nodes on the transmission path.

9. A method for collecting CSQF scheduling cycles in deterministic networks, characterized in that, This method is applied to the first node of a transmission path in the deterministic network, and the method includes: When determining the CSQF scheduling period information of the first node, a test message corresponding to the first node is constructed, and the timestamp of constructing the test message is used as the receiving timestamp of the test message. Based on the receiving timestamp of the test message and the sending timestamp of the scheduled test message, the CSQF scheduling period information of the first node is determined. When determining the CSQF scheduling cycle information of non-first nodes on the transmission path, a test message corresponding to the non-first node is constructed. Based on the CSQF scheduling cycle information of other transmission nodes preceding the non-first node in the transmission path, the queue to which the test message corresponding to the non-first node enters upon arrival at the other transmission nodes is specified. The queue to which the test message enters upon arrival at the other transmission nodes is specified as the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the other transmission nodes. Based on the current time, the starting transmission time for sending the test message corresponding to the non-first node to the specified queue of the first node is determined. The starting transmission time is used to control the test message corresponding to the transmission node to enter the specified queue of the first node. The specified queue is the queue corresponding to the RQ identifier in the CSQF scheduling cycle information of the first node. When the starting transmission time arrives, the test message corresponding to the non-first node is sent to the specified queue of the first node. The receiving timestamp of the test message received by the non-first node and the sending timestamp of the scheduled sending of the test message are obtained. Based on the receiving timestamp and the sending timestamp, the CSQF scheduling cycle information of the non-first node is determined.

10. An electronic device, characterized in that, Electronic devices include: processors and machine-readable storage media; The machine-readable storage medium stores machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method as described in any one of claims 1 to 9.