Deterministic streaming method, system, and electronic device

CN117597908BActive Publication Date: 2026-09-22NEW H3C TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280002285.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-19
Publication Date
2026-09-22
Estimated Expiration
2042-07-19

AI Technical Summary

Technical Problem

一旦连接5GS的两端传输节点之间的传输链路上存在抖动,则会影响该两端传输节点之间的确定性流传输

Benefits of technology

[0024]由以上技术方案可以看出,本申请实施例能够实现从第一传输节点的某一调度周期发出的第一业务报文,指定进入第二传输节点的某一周期调度队列(也即指定周期调度队列),以确保第一业务报文在第二传输节点准时被调度转发,实现了即使第一传输节点和第二传输节点之间的传输链路存在抖动,但由于第一传输节点调度传输第一业务报文的调度周期、第二传输节点调度传输第一业务报文的调度周期都能直接确定,保证了上述抖动对第一业务报文的确定性参数没有影响(这相当于上述抖动被消除(de-jittering)),实现了第一业务报文的确定性流传输。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117597908B_ABST
    Figure CN117597908B_ABST
Patent Text Reader

Abstract

The application provides a deterministic streaming method, system and electronic device. Embodiments of the application can realize that a first service message sent from a first transmission node in a certain scheduling period is specified to enter a certain period scheduling queue (i.e. a specified period scheduling queue) of a second transmission node, so as to ensure that the first service message is scheduled and forwarded in time in the second transmission node, and even if there is jitter in a transmission link between the first transmission node and the second transmission node, since the scheduling period of the first transmission node for scheduling and transmitting the first service message and the scheduling period of the second transmission node for scheduling and transmitting the first service message can be directly determined, it is ensured that the jitter has no influence on the deterministic parameters of the first service message (which is equivalent to that the jitter is eliminated (de-jittering)), and the deterministic streaming of the first service message is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to network communication technologies, and in particular to deterministic streaming methods, systems and electronic devices. Background Technology

[0002] In some applications, taking 5G systems (5GS) as an example, 5GS acts as a bridge in Time-Sensitive Networking (TSN). Due to its internal transmission mechanisms (such as packet processing by internal nodes) and retransmissions introduced to achieve reliability, jitter often occurs within the 5GS itself. This jitter within the 5GS means that jitter exists on the transmission link between the two ends of the 5GS connection. Once jitter exists on the transmission link between the two ends of the 5GS connection, it will affect the deterministic stream transmission between those two transmission nodes. Similarly, jitter can also occur on the transmission link between two transmission nodes via a traditional network.

[0003] Therefore, how to perform deterministic stream transmission in scenarios where jitter exists on the transmission link between transmission nodes is a technical problem that urgently needs to be solved. Summary of the Invention

[0004] This application provides a deterministic streaming method, system, and electronic device to enable deterministic streaming in scenarios where jitter exists on the transmission link between transmission nodes.

[0005] The embodiments of this application provide the following technical solutions:

[0006] This application provides a first deterministic stream transmission method, which is applied to a first transmission node, where jitter exists on the transmission link between the first and second transmission nodes, and the clocks of the first and second transmission nodes are out of sync; the method includes:

[0007] For a first service packet belonging to a deterministic flow to be transmitted to the second transmission node, a designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. The designated queue information is used to indicate a designated periodic scheduling queue, which is the periodic scheduling queue into which the first service packet enters after being transmitted to the second transmission node, so that the first service packet is fixed to be forwarded in the scheduling period corresponding to the designated periodic scheduling queue, thereby realizing the deterministic forwarding of the first service packet.

[0008] The first service message carrying at least the specified queue information is transmitted to the second transmission node.

[0009] This application provides a second deterministic stream transmission method, which is applied to a second transmission node. Jitter exists on the transmission link between the second and first transmission nodes, and the clocks of the first and second transmission nodes are out of sync. The method includes:

[0010] Receive a third service message belonging to a deterministic flow transmitted by the first transmission node;

[0011] Based on the designated queue information carried in the third service message, the data to be transmitted in the third service message is distributed to the designated periodic scheduling queue indicated by the designated queue information for scheduled transmission. The designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. The designated periodic scheduling queue indicated by the designated queue information enables the third service message to be forwarded in a fixed scheduling period corresponding to the designated periodic scheduling queue, thereby achieving deterministic forwarding of the third service message.

[0012] This application provides a deterministic streaming system, which includes a first transmission node and a second transmission node;

[0013] The first transmission node performs the steps described in the first method above;

[0014] The second transmission node performs the steps described in the second method above.

[0015] This application also provides a deterministic streaming device, which is applied to a first transmission node. Jitter exists on the transmission link between the first and second transmission nodes, and the clocks of the first and second transmission nodes are out of sync. The device includes:

[0016] The determining unit is configured to determine designated queue information for a first service packet belonging to a deterministic flow to be transmitted to the second transmission node, based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node; the designated queue information is used to indicate a designated periodic scheduling queue, which is the periodic scheduling queue into which the first service packet enters after being transmitted to the second transmission node, so that the first service packet is fixed for forwarding during the scheduling period corresponding to the designated periodic scheduling queue, thereby realizing the deterministic forwarding of the first service packet.

[0017] The sending unit is used to transmit the first service message, which carries at least the specified queue information, to the second transmission node.

[0018] This application also provides a deterministic streaming device, which is applied to a second transmission node. Jitter exists on the transmission link between the second and first transmission nodes, and the clocks of the first and second transmission nodes are out of sync. The device includes:

[0019] The receiving unit is configured to receive a third service message belonging to a deterministic flow transmitted by the first transmission node;

[0020] The processing unit is configured to distribute the data to be transmitted in the third service message to a designated periodic scheduling queue indicated by the designated queue information for scheduled transmission, based on the designated queue information carried in the third service message. The designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. The designated periodic scheduling queue indicated by the designated queue information enables the third service message to be forwarded in a fixed scheduling period corresponding to the designated periodic scheduling queue, thereby achieving deterministic forwarding of the third service message.

[0021] This application also provides an electronic device, which includes: a processor and a machine-readable storage medium;

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

[0023] The processor is used to execute machine-executable instructions to implement any of the methods described above.

[0024] As can be seen from the above technical solutions, the embodiments of this application can enable a first service message sent from a certain scheduling period of the first transmission node to be designated into a certain period scheduling queue (i.e., a designated period scheduling queue) of the second transmission node, so as to ensure that the first service message is scheduled and forwarded in time at the second transmission node. Even if there is jitter in the transmission link between the first and second transmission nodes, since the scheduling period for the first service message to be scheduled and transmitted by the first transmission node and the scheduling period for the first service message to be scheduled and transmitted by the second transmission node can be directly determined, it is guaranteed that the jitter has no effect on the deterministic parameters of the first service message (which is equivalent to the jitter being eliminated), thus realizing the deterministic flow transmission of the first service message. Attached Figure Description

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

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

[0027] Figure 2 This is a schematic diagram of 5GS networking provided in an embodiment of this application;

[0028] Figure 3 This is a network structure diagram provided for an embodiment of this application;

[0029] Figure 4 A reference point model structure diagram provided for embodiments of this application;

[0030] Figure 5 A schematic diagram of a message provided for an embodiment of this application;

[0031] Figure 6 A schematic diagram of transmission delay provided for an embodiment of this application;

[0032] Figure 7 This is a schematic diagram of the time delay between TT1 and TT2 provided in an embodiment of this application;

[0033] Figure 8 This is a schematic diagram of the queue mapping between TT1 and TT2 provided in an embodiment of this application;

[0034] Figure 9a This is a schematic diagram of a deterministic transfer publication provided in an embodiment of this application;

[0035] Figure 9b This is another schematic diagram of a deterministic circulation publication provided for an embodiment of this application;

[0036] Figure 10 Another method flowchart provided for embodiments of this application;

[0037] Figure 11 This is a schematic diagram illustrating the maintenance of the scheduling and forwarding mapping relationship provided in an embodiment of this application.

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

[0039] Figure 13 Another device structure diagram provided for an embodiment of this application;

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

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

[0042] 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 are also intended to include the plural forms unless the context clearly indicates otherwise.

[0043] The deterministic streaming method provided in this application embodiment can perform deterministic streaming on the data plane between two transmission nodes even if there is jitter on the transmission link between the two transmission nodes. Moreover, the deterministic streaming no longer depends on the two transmission nodes being strictly synchronized on the clock. For example, it no longer depends on the clock synchronization between the two transmission nodes connected to the 5GS and the 5GS to achieve deterministic streaming of the 5GS as a TSN bridge.

[0044] The method provided in the embodiments of this application is described below:

[0045] See Figure 1 , Figure 1 This is a flowchart illustrating a method provided in an embodiment of this application. The method is applied to a first transmission node (denoted as TT1), where jitter exists on the transmission link between TT1 and a second transmission node (denoted as TT2). Here, the first and second transmission nodes are merely names used for ease of description and are not intended to limit the scope. It should be noted that in this embodiment, there are many types of jitter on the transmission link between TT1 and TT2. For example, jitter caused by internal logic processing (such as internal transmission mechanisms) or jitter-sensitive factors in intermediate devices such as 5GS on the transmission link between TT1 and TT2 is also considered to exist on the transmission link between TT1 and TT2.

[0046] As an example, one of TT1 and TT2 can be a device-side TSN translator (DS-TT) connected to the 5GS, and the other can be a network-side TSN translator (NW-TT) connected to the 5GS.

[0047] As another embodiment, TT1 and TT2 can also be two different DS-TTs connected to the 5GS.

[0048] In this embodiment, the clocks of TT1 and TT2 can be out of sync, enabling clock synchronization at both ends of the 5GS connection, such as NW-TT and DS-TT, without relying on the underlying hardware, thus reducing costs.

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

[0050] Step 101: For the first service packet belonging to the deterministic flow to be transmitted to TT2, determine the designated queue information according to the scheduling and forwarding mapping relationship between TT1 and TT2; the designated queue information is used to indicate the designated periodic scheduling queue, which is the periodic scheduling queue that the first service packet enters after being transmitted to TT2.

[0051] Here, "first service message" refers to any message belonging to any deterministic flow that is to be transmitted to TT2. This naming is for ease of description and is not intended to be limiting. It is important to clarify that this "first service message" is different from messages used for testing or maintenance, such as measurement and calibration request messages and maintenance messages mentioned below. Once a service message is received by TT1, it enters TT1's periodic scheduling queue and is scheduled for transmission.

[0052] In this embodiment, the scheduling and forwarding mapping relationship between TT1 and TT2 refers to the mapping relationship between the time when TT1 schedules and forwards the message and the time when TT2 schedules and forwards the message. This mapping relationship can be implemented in many ways. For example, it can be represented by a scheduling cycle mapping relationship between TT1 and TT2. Here, the scheduling cycle mapping relationship refers to the mapping relationship between the scheduling cycle corresponding to the outgoing interface on TT1 that forwards the first service message and the scheduling cycle corresponding to the outgoing interface on TT2 that forwards the first service message. The scheduling and forwarding mapping relationship between TT1 and TT2 can also be represented in other ways, and this embodiment is not specifically limited to these methods.

[0053] In this embodiment, for the outgoing interface of any transmission node, such as TT1 or TT2, a scheduling period is divided according to a fixed time interval, for example, 15 scheduling periods. Each scheduling period corresponds to a queue (also called a periodic scheduling queue). The scheduling periods on the transmission node rotate sequentially, and within each scheduling period, the service packets in its corresponding periodic scheduling queue are sent at a fixed rate.

[0054] It should be noted that this embodiment takes into account the jitter on the transmission link between TT1 and TT2 when determining the above scheduling and forwarding mapping relationship. This means that the final determined scheduling and forwarding mapping relationship is determined under the premise of jitter on the transmission link between TT1 and TT2. Based on this premise, in step 101, the designated queue information determined according to the above scheduling and forwarding mapping relationship can ensure that the first service packet sent from a certain scheduling cycle of TT1 can also enter the scheduling queue (i.e., the designated cycle scheduling queue) of a certain cycle of TT2 normally without being limited by jitter, thereby eliminating the impact of link jitter. The following will describe how to determine the above scheduling and forwarding mapping relationship with examples, which will not be elaborated here.

[0055] In this embodiment, the specified queue information can be an identifier for a periodic scheduling queue, an identifier for a scheduling period, or an identifier for a system period, etc., and this embodiment is not specifically limited to these. In this embodiment, the system period is different from the scheduling period; the system period is the total number of scheduling periods that have been completed. However, the system period can also be used to indicate the corresponding periodic scheduling queue through conversion. The following will provide examples of how to determine the specified queue information, which will not be elaborated here. In this embodiment, the specified queue information enables the first service packet to be forwarded within the scheduling period corresponding to the specified periodic scheduling queue, achieving deterministic forwarding of the first service packet.

[0056] Step 102: Transmit a first service message to TT2, carrying at least the specified queue information.

[0057] As an example, the scheduling period (denoted as the first scheduling period) for transmitting the first service packet can be further determined when the specified queue information is determined. The following will describe how to determine the first scheduling period using an example; details will not be elaborated here. After determining the first scheduling period, the first service packet (carrying the specified queue information) will be stored in the scheduling period queue corresponding to the first scheduling period.

[0058] Based on this, in this embodiment, transmitting a first service message carrying at least specified queue information to TT2 includes: in the first scheduling period, transmitting a first service message carrying at least specified queue information in the scheduling period queue corresponding to the first scheduling period to TT2.

[0059] This concludes the process. Figure 1 The process is shown below.

[0060] pass Figure 1 The process shown enables the first service message sent from a certain scheduling period of TT1 to be designated into a certain period scheduling queue of TT2 (i.e., the designated period scheduling queue). This ensures that the first service message is scheduled and forwarded on time in TT2. Even if there is jitter in the transmission link between TT1 and TT2, the scheduling period of TT2 for scheduling the transmission of the first service message (corresponding to the designated period scheduling queue) is directly determined, ensuring that the jitter has no impact on the deterministic parameters of the first service message (which is equivalent to the jitter being eliminated). This achieves deterministic flow transmission of the first service message.

[0061] by Figure 2 Taking the network topology shown as an example, according to Figure 1The illustrated process states that if the DS-TT, acting as TT1, schedules the transmission of the first service packet during scheduling period 0, the first service packet, when transmitted to the NW-TT (acting as TT2), should enter the periodic scheduling queue corresponding to scheduling period 24 of the NW-TT. Thus, all first service packets transmitted to the NW-TT will be distributed by the NW-TT to the periodic scheduling queue corresponding to scheduling period 24. Subsequently, when the NW-TT schedules to scheduling period 24, the first service packet will be scheduled for transmission (e.g., sent to the TSN network). This achieves deterministic flow forwarding on the data plane of the 5GS acting as a TSN bridge.

[0062] The following describes how to determine the scheduling and forwarding mapping relationship between TT1 and TT2.

[0063] For ease of understanding, this description uses TT1 and TT2 as the two transmission nodes of a 5GS connection as an example:

[0064] First, in order to determine the aforementioned scheduling and forwarding mapping relationship between the two transmission nodes TT1 and TT2 connecting the 5GS, this embodiment treats the 5GS simply as a transmission channel and abstracts the data plane forwarding as follows: Figure 3 The network architecture shown is illustrated. Subsequently, based on... Figure 3 The network shown in this embodiment establishes a network as follows: Figure 4 The reference point model shown:

[0065] Without loss of generality, this embodiment defines four reference points: A, B, C, and D.

[0066] Reference point A is an external device ( Figure 4 (Using a robot as an example) The interface with TT1;

[0067] Reference point B is the interface between TT1 and 5GS;

[0068] The C reference point is the interface between 5GS and TT2;

[0069] Reference point D is the relationship between TT2 and external devices. Figure 4 (Taking the TSN network as an example) interface.

[0070] exist Figure 4 In the reference point model shown, when a message in any deterministic flow passes through reference points B and C, if it does not currently carry transmission information (TT-Info), it will carry TT-Info on the message, specifically as follows: Figure 5 As shown. For example, a deterministic flow message sent from TT1 to TT2 will carry TT-Info when it reaches reference point B. Similarly, a deterministic flow message sent from TT2 to TT1 will carry TT-Info when it reaches reference point C.

[0071] In this embodiment, as Figure 5 As shown, TT-Info contains at least the following fields:

[0072] The DataType field carries the DataType information. For example, a DataType value of 0x10 indicates a service message belonging to a deterministic flow; a DataType value of 0x01 indicates a measurement and calibration request message; a DataType value of 0x02 indicates a periodic measurement and calibration response message; a DataType value of 0x03 indicates a maintenance message used to maintain scheduling and forwarding mapping relationships; and a DataType value of 0x13 indicates a service message containing maintenance information. The maintenance information will be described with examples below and will not be elaborated upon here.

[0073] Sending Time Field: Carries the sending time. The sending time can be the system cycle TxCycles for scheduling message sending. For any service message, if it does not carry the above maintenance information, the sending time field can be empty.

[0074] Queue Information Field: Used to carry specified queue information. This queue information indicates that after a message is transmitted to another transmission node, it enters the periodic scheduling queue of that other transmission node. During the stage of determining or maintaining the above scheduling and forwarding mapping relationship, the queue information field may be empty.

[0075] The VarArg field carries the VarArg parameter. For example, when DataType is 0x02, VarArg represents the target transmission delay (AnchorCycles). Similarly, when DataType is 0x01, 0x03, or 0x13, VarArg can be the message sequence ID. For instance, if the sample space is K, the message sequence ID can range from 1 to K.

[0076] The following is based on Figure 4 The reference point model shown illustrates, for example, how to determine the aforementioned scheduling and forwarding mapping relationship between TT1 and TT2:

[0077] As an example, the aforementioned scheduling and forwarding mapping relationship between TT1 and TT2 depends on the determination of the target transmission delay between TT1 and TT2. However, due to the large jitter range generated within 5GS, a fixed target transmission delay between TT1 and TT2 cannot be obtained, nor is it applicable to determining the target transmission delay between TT1 and TT2 using the delay measurement method for wired network links. Based on this, as an example, this embodiment can find the candidate transmission delay that meets the set conditions by repeatedly measuring the transmission delay between TT1 and TT2 (each measured transmission delay is recorded as a candidate transmission delay (DeltaCycles)) as the aforementioned target transmission delay (recorded as AnchorCycles). The set conditions here can be set according to actual needs, such as taking the minimum value. Taking the setting condition as taking the minimum value as an example, this embodiment can take the candidate transmission delay with the minimum value (recorded as MinDeltaCycles) as the aforementioned AnchorCycles. In other words, as an example, the above scheduling and forwarding mapping relationship can be determined based on TT1 attempting to send K measurement and calibration request messages to TT2 through the above-mentioned outgoing interface, where K is greater than 1. An example is described below:

[0078] Within a set time window (TimeWind), TT1 sends K measurement and calibration request messages to TT2 through the aforementioned output interface. Here, the set time window is, for example, 1 second, but this embodiment is not specifically limited. The number of measurement and calibration request messages sent in this embodiment is unlimited; for example, K can be 1000. In this embodiment, the interval between adjacent measurement and calibration requests, and even the timing of the measurement and calibration requests, are not limited.

[0079] In this embodiment, the TT-Info carried in each measurement and calibration request message is set to the following fields:

[0080] The DataType field carries a DataType value of 0x01, indicating a measurement and calibration request message;

[0081] Sending Time Field: Carries the sending time. As an example, the sending time can be the system cycle (denoted as TxCycles) for sending the message. When setting TxCycles, the processing delay (ProcessDelay) within TT1 must be considered. For example, if the processing delay is 3 scheduling cycles, and a measurement message needs to be sent when the system cycle (sysCycles) is 'a', considering the processing delay, it will actually be sent in a+3, meaning TxCycles can be set to a+3. Of course, as another example, the above sending time can also be the scheduling cycle (TxCycle). Here, TxCycle can be determined by the following formula: TxCycle = TxCycles mod N1. For example, if the above TxCycles is a+3, then TxCycle is (a+3) mod N1. Where N1 is the total number of periodic scheduling queues configured for TT1. This example uses the sending time TxCycles as an example.

[0082] Queue Information Field: When DataType is 0x01, the queue information field can be set to an invalid value, such as 0xFFFFFFFF.

[0083] VarArg field: Carries VarArg. VarArg is an optional parameter. As an example, TT-Info may or may not carry the VarArg field. When DataType is 0x01, the VarArg field may carry the message sequence ID of the measurement and calibration request message. For example, if the sample space is K, the message sequence ID is a value from 1 to K.

[0084] As an example, the aforementioned Measurement and Calibration Request message further carries an IP DSCP field. The parameters carried in the DSCP field are used to distinguish the Measurement and Calibration Request message from existing best-effort flows (also known as nondeterministic flows). Here, the DSCP field may carry a message priority, such as 63, to indicate a deterministic flow.

[0085] Taking a transmission time of TxCycles as an example, for each measurement and calibration request message, TT1 determines the scheduling period (TxCycle) according to the transmission time TxCycles carried in the measurement and calibration request message, and distributes the measurement and calibration request message to the scheduling period queue corresponding to that TxCycle. Within that TxCycle, TT1 sends the measurement and calibration request messages from the scheduling period queue corresponding to that TxCycle to TT2.

[0086] TT2 collects packets via 5GS. When a packet is collected, it identifies the packet as a deterministic flow based on the DSCP field carried by the packet (e.g., the DSCP field in the IP header carries 63), and determines the packet as a measurement and calibration request packet based on the DataType in the TT-Info (e.g., a value of 0x01 indicates a measurement and calibration request packet). The system cycle (denoted as ArrCycles) when the measurement and calibration request packet arrives at TT2 is then recorded. Subsequently, based on the TxCycles carried in the TT-Info of the measurement and calibration request packet, the candidate transmission delay between TT1 and TT2 is calculated.

[0087] In this embodiment, when calculating the candidate transmission delay between TT1 and TT2, it is necessary to consider that TT1 and TT2 are not clock synchronized. Let the difference between the initial system cycle counts of TT1 and TT2 be denoted as OffsetCycles. Generally, when the measurement and calibration request message arrives at TT2, the system cycle ArrCycles of TT2 is approximately: TxCycles carried by the measurement and calibration request message + OffsetCycles + DelayCycles (representing the transmission delay between TT1 and TT2). If we let DeltaCycles = DelayCycles + OffsetCycles, then based on ArrCycles and TxCycles, we can obtain the following approximate conclusion regarding the relative difference between the system cycle count of TT2 when the measurement and calibration request message arrives at TT2 and the system cycle count when TT1 sends the measurement and calibration request message: DeltaCycles = ArrCycles - TxCycles. As an example, the relative difference between the system cycle count of TT2 and the system cycle count when TT1 sends the measurement and calibration request message, DeltaCycles, can be characterized as the candidate transmission delay between TT1 and TT2. For example, the candidate transmission delay between TT1 and TT2 is the absolute value of the difference between the recorded system cycle ArrCycles when the measurement and calibration request message arrives at TT2 and the TxCycles carried in the TT-Info of the measurement and calibration request message.

[0088] As can be seen from the above method of calculating the candidate transmission delay between TT1 and TT2, although TT1 and TT2 have different timing systems, only the relative difference needs to be approximated. When multiple measurement and calibration messages are distributed in a relatively short period of time, the cumulative error of their counting can be ignored.

[0089] As an example, in this embodiment, TT2 can terminate the current collection when the collection termination condition is met. The collection termination condition here could be, for example, collecting L measurement and calibration request messages, or reaching a set duration after collecting the first measurement and calibration request message, etc., but this embodiment is not specifically limited to these conditions.

[0090] After TT2 finishes its current data collection, it will select a value that meets preset conditions from multiple candidate transmission delays between TT1 and TT2 as the target transmission delay (Anchor Cycles). For example, assuming TT1 sends measurement and calibration request messages in scheduling cycles 0 to 31, and the measurement and calibration request messages arrive at TT2 after 5.5ms, 4.7ms, 6.5ms, 4.9ms, ..., 6.3ms, 6.4ms, and 4.8ms respectively, the Anchor Cycles of arrival at TT2 are 68, 61, 80, ..., 92 respectively, then the candidate transmission delays between TT1 and TT2 are as follows: Figure 6 As shown. Taking the preset condition of taking the minimum value as an example, then TT2 in the following... Figure 6 The smallest value among the multiple candidate transmission delays shown is selected as the target transmission delay (AnchorCycles), for example, the smallest value of 60 is selected as the target transmission delay AnchorCycles. That is, TT2 can determine the target transmission delay AnchorCycles between TT1 and TT2 by collecting multiple measurement and calibration request messages transmitted from TT1.

[0091] As an example, once TT2 determines the target transmission delay AnchorCycles, it can forward these AnchorCycles to a network device independent of TT1 and TT2 (such as an SDN controller on the control plane). This network device then establishes the aforementioned scheduling and forwarding mapping relationship based on the target transmission delay AnchorCycles. The following section will provide an example of how to establish this scheduling and forwarding mapping relationship based on the target transmission delay AnchorCycles.

[0092] As another embodiment, after TT2 determines the target transmission delay AnchorCycles, it can also return the target transmission delay AnchorCycles to TT1, so that TT1 can establish the aforementioned scheduling and forwarding mapping relationship based on the target transmission delay AnchorCycles. The following will describe with examples how to establish the aforementioned scheduling and forwarding mapping relationship based on the target transmission delay AnchorCycles.

[0093] The following describes how TT2 returns the target transmission delay AnchorCycles to TT1.

[0094] As an example, TT2 can send the target transmission delay AnchorCycles to TT1 in a measurement and calibration response message. Here, the source IP address and destination IP address of the measurement and calibration response message are the destination IP address and source IP address of the measurement and calibration request message, respectively. That is, the source IP address of the measurement and calibration response message is the IP address of TT2, and the destination IP address is the IP address of TT1.

[0095] In this embodiment, the target transmission delay AnchorCycles can be carried in the TT-info of the measurement and calibration response message. Here, the TT-info in the measurement and calibration response message includes the following fields:

[0096] The DataType field: Its DataType is set to 0x02, indicating that it is a measurement and calibration response message;

[0097] Transmission time field: See the transmission time field carried in the TT-info in the measurement and calibration request message described above;

[0098] Queue information field: When DataType is set to 0x02, it can be set to an invalid value, such as 0xFFFFFFFF;

[0099] The VarArg field carries variable parameters, such as the target transmission delay AnchorCycles.

[0100] Similar to the Measurement and Calibration Request message described above, in this embodiment, the Measurement and Calibration Response message further carries an IP DSCP field. The parameters carried in the DSCP field are used to distinguish the Measurement and Calibration Request message from existing best-effort flows. Here, the DSCP field may carry a message priority, such as 63, to indicate a deterministic flow.

[0101] Taking a transmission time of TxCycles as an example, for each measurement and calibration response message, TT2 determines the scheduling period TxCycle according to the transmission time (TxCycles for example) carried in the measurement and calibration response message, and distributes the measurement and calibration response message to the scheduling period queue corresponding to the TxCycle. Within that TxCycle, TT2 sends the measurement and calibration response messages from the scheduling period queue corresponding to the TxCycle to TT1.

[0102] Once TT1 receives the measurement and calibration response message, it will determine the above scheduling and forwarding mapping relationship based on the target transmission delay AnchorCycles carried in the measurement and calibration response message.

[0103] The following describes how the above scheduling and forwarding mapping relationship is determined based on the target transmission delay AnchorCycles:

[0104] In this embodiment, TT1 and TT2 each have independent scheduling cycles. Due to factors such as frequency offset, accumulated deviations can occur over time. When these deviations exceed a certain threshold, they are considered to have generated a deviation requiring adjustment. This threshold is defined as CheckAreaCycles. In this embodiment, CheckAreaCycles can be set according to actual needs. This embodiment uses two cycles (scheduling cycles) as an example. In this embodiment, CheckAreaCycles needs to be considered when determining the above scheduling and forwarding mapping relationship.

[0105] In addition, the above scheduling and forwarding mapping relationship is also related to the preset jitter range (denoted as BridgeJitter) and the node processing delay of TT1 (ProcessDelay1). In this embodiment, BridgeJitter and ProcessDelay1 can be set according to actual needs. This embodiment takes BridgeJitter as 23 cycles and ProcessDelay1 as 3 cycles as an example.

[0106] Based on the above description, in this embodiment, the scheduling and forwarding mapping relationship between TT1 and TT2 can be established according to AnchorCycles, BridgeJitter, ProcessDelay1, and CheckAreaCycles. For example, the scheduling cycle deviation (AdjustCycles) between TT1 and TT2 can be determined first according to AnchorCycles, BridgeJitter, ProcessDelay1, and CheckAreaCycles; then, AdjustCycles can be determined as the scheduling and forwarding mapping relationship between TT1 and TT2.

[0107] As an example, the above AdjustCycles can be expressed by the following formula: AdjustCycles = AnchorCycles + CheckAreaCyles + BridgeJitter + ProcessDelay1.

[0108] As an example, after determining the scheduling and forwarding mapping relationship between TT1 and TT2, the relationship between the scheduling period (TxCycle) of a message sent by TT1 and the specified scheduling period (SpecfiedCycle) of a specified message entering TT2 can be determined based on the scheduling and forwarding mapping relationship between TT1 and TT2. The following formula illustrates this relationship:

[0109] SpecfiedCycle=(TxCycle+AdjustCycles)mod N2;

[0110] Where N2 refers to the number of periodic scheduling queues configured for TT2. As an example, N2 can be expressed by the following formula: N2 = CheckAreaCyles + 1 + CheckAreaCycles + BridgeJitter + ProcessDelay2 + 1. Figure 7 An example is shown for N2. Here, ProcessDelay2 refers to the node processing delay of TT2. In applications, N2 can be equal to N1 mentioned above.

[0111] If AnchorCycles is 60 Cycles, and the parameter values ​​for CheckAreaCyles, BridgeJitter, and ProcessDelay2 are the same as those for TT1, then AdjustCycles is 88 and N2 is 32. Table 1 below illustrates the relationship between the scheduling cycle (TxCycle) for TT1 to send a message and the specified scheduling cycle (SpecifiedCycle) for a given message to enter TT2:

[0112]

[0113] Table 1

[0114] Based on Table 1, in this embodiment, applied to step 101 above, when TT1 forwards the first service packet, the scheduling period (denoted as the first scheduling period) for TT1 to schedule the transmission of the first service packet is determined; based on the first scheduling period and the above scheduling forwarding mapping relationship, the designated queue information is determined. The designated queue information here is used to indicate that the first service packet enters the periodic scheduling queue of TT2 (specifically, the periodic scheduling queue corresponding to the outgoing interface of TT2 that forwards the first service packet, also called the designated periodic scheduling queue). Figure 8 An example was given to illustrate this. For instance, in... Figure 8 If TT1 sends the first service message through the outgoing interface used to forward the first service message in the first scheduling period (referred to as scheduling period 0) of the outgoing interface, and specifies that the first service message enters the 25th scheduling period (referred to as scheduling period 24) of the outgoing interface used to forward the first service message on TT2, this can guarantee the deterministic forwarding of the first service message.

[0115] As one embodiment, the aforementioned first scheduling period can be determined based on a deterministic flow information table (also known as a target deterministic flow information table) that matches the first service message. For example, the first scheduling period that matches the first time information is found in the target deterministic flow information table that matches the first service message; the first time information is the time information when the first service message was received.

[0116] As an example, the aforementioned first time information can be the current scheduling period (i.e., the receive scheduling period) when TT1 receives the first service message. Assuming the deterministic flow information table includes at least the matching relationship between the receive scheduling period and the scheduling period when sending the message (also called the send scheduling period), then the first scheduling period is the send scheduling period that matches the current scheduling period (i.e., the receive scheduling period) when TT1 receives the first service message. The first scheduling period refers to the scheduling period for sending the first service message.

[0117] The following is a description of the deterministic flow information table mentioned above:

[0118] In applications, there are often service flows between TT1 and TT2 that meet the shaping conditions. These shaping conditions can be set according to actual needs. For example, a service flow meeting the shaping conditions could be a service flow forwarded by a specific terminal exhibiting jitter, or a service flow exhibiting access jitter, etc. This embodiment does not specifically limit this. As an example, the aforementioned service flow exhibiting access jitter at least refers to a service flow that meets the following conditions: the forwarding period of the terminal forwarding the service flow, such as 1 picosecond (ps), and the sum of the scheduling periods of TT1 / TT2, such as 150 microseconds (us), are not integer multiples of each other.

[0119] For service flows that meet the shaping conditions, the matching relationship between the receive scheduling period and the send scheduling period in their deterministic flow information table needs to be shaped.

[0120] If FlowID1 meets the integer shaping condition, it needs to be integer-shaped. If when a message belonging to FlowID1 is received, the system cycle of TT1 is a (i.e., the ArrCycles at this time is a), and the scheduling cycle ArrCycle that TT1 is currently scheduling is amod N1, then TxCycle is calculated as follows:

[0121] TxCycle = TxCycles mod N1;

[0122] Where TxCycles = a – (a mod N1) + max(ArrCycle) + ProcessDelay1.

[0123] Where max(ArrCycle) refers to the largest value among the various receive scheduling periods ArrCycle set for FlowID1, such as... Figure 9a As shown, FlowID1 is set to ArrCycle of 0, 1, or 2 cycles, so max(ArrCycle) is 2. ProcessDelay1, as described above, is set to 3 (representing 3 scheduling cycles).

[0124] Based on this, if N1 is 32, TxCycle = 5 can be calculated using the above formula. By calculating TxCycle, it can be determined that when the FlowID1 message arrives at TT1, regardless of the scheduling cycle that TT1 is currently scheduling,... Figure 9a As shown, periods 0, 1, and 2 will ultimately store the packet in the scheduling period queue (denoted as queue 5) corresponding to scheduling period 5 for scheduling and forwarding. That is, in the deterministic flow information table matched by FlowID1, when the receiving scheduling period is 0, 1, or 2, it matches the same sending scheduling period, namely scheduling period 5. Specifically, as shown... Figure 9a The forwarding cycle slot mapping information for FlowID1 is shown. It should be noted that, to handle some packet burst situations, the expression for TxCycles can be updated as follows: TxCycles = a – (a mod N1) + max(ArrCycle) + ProcessDelay1 + 1. Correspondingly, the above TxCycles is updated to 6. Figure 9a The TxCycle in the forwarding cycle time slot mapping information of FlowID1 is also updated from 5 to 6 accordingly, which will not be described in detail here.

[0125] Figure 9a An example illustrates the matching relationship between the receive scheduling period and the send scheduling period in the deterministic flow information table of FlowID1. It can be seen that, in this embodiment, for a data flow that meets the preset shaping condition, at least two different receive scheduling periods in the target deterministic flow information table match the same send scheduling period. Similarly, in this embodiment, if the data flow to which the first service packet belongs meets the preset shaping condition, then at least two different receive scheduling periods in the target deterministic flow information table to which the first service packet belongs match the same send scheduling period.

[0126] For service flows that do not require reshaping (using FlowID2 as an example), their deterministic flow information tables generally will not show at least two different receive scheduling periods matching the same send scheduling period. See [link to relevant documentation]. Figure 9a An example is shown illustrating the matching relationship between the receive scheduling period and the send scheduling period in the deterministic flow information table of FlowID2 matching.

[0127] The above describes the deterministic flow information table for each FlowID matching.

[0128] Based on the deterministic flow information tables matching the above FlowIDs, when the first service packet is received, TT1 will search the deterministic flow information tables matching the data flow to which the first service packet belongs to match the target deterministic flow information table. Then, it will search the target deterministic flow information table matching the first service packet to find the transmission scheduling period that matches the scheduling period that TT1 is currently scheduling when it receives the first service packet. The found transmission scheduling period will be determined as the first scheduling period mentioned above.

[0129] Furthermore, as described above, the scheduling and forwarding mapping relationship between TT1 and TT2 can be represented by the aforementioned scheduling cycle deviation. As an example, the aforementioned scheduling cycle deviation can be added to the corresponding deterministic flow information table (e.g., the deterministic flow information table corresponding to the deterministic flow forwarded through the aforementioned outgoing interface). Figure 9b The deterministic flow information table shown. Figure 9b The deterministic flow information table shown contains scheduling cycle information for each service flow (which includes the matching relationship between the receive scheduling cycle (ArrCycle) and the send scheduling cycle (TxCycle), as well as the scheduling cycle deviation).

[0130] As another embodiment, the aforementioned scheduling cycle deviation can also be recorded in other locations, such as a dedicated scheduling cycle deviation table, etc., and this embodiment is not specifically limited to this. It should be noted that if the aforementioned scheduling cycle deviation is recorded in other locations, then in addition to recording the aforementioned scheduling cycle deviation, those other locations can further record the interface identifiers of the local output interfaces of TT1 and TT2, so as to clarify that the scheduling cycle deviation is the deviation between the scheduling cycle corresponding to the local output interface of TT1 and the scheduling cycle corresponding to the local output interface of TT2.

[0131] It should be noted that, in this embodiment, the AdjustCycles described above can be adjusted appropriately according to actual needs to ensure sufficient flexibility and scalability.

[0132] Based on the above-described scheduling cycle deviation added to the deterministic flow information table, in step 101 of this embodiment, TT1 will, for the received first service packet (the first service data packet belongs to the deterministic flow), first find the matching sending scheduling cycle (i.e., the first scheduling cycle) and scheduling cycle deviation from the target deterministic flow information table that matches the first service packet according to the receiving scheduling cycle when the first service packet is received, and then determine the first system cycle currently in the first scheduling cycle according to the following formula: TxCycles=ArrCycles-(ArrCycles The formula is: SpecfiedCycles = TxCycles + AdjustCycles; where TxCycles represents the first system cycle of TT1, ArrCycles represents the receiving system cycle when TT1 receives the first service message, N1 is the number of periodic scheduling queues configured for TT1, and TxCycles is the first scheduling cycle of TT1. Then, the specified queue information is determined based on the first system cycle and the scheduling cycle deviation. For example, the second system cycle of TT2 is first determined according to the following formula: SpecfiedCycles = TxCycles + AdjustCycles; where SpecfiedCycles represents the second system cycle, TxCycles represents the first system cycle, and AdjustCycles represents the scheduling cycle deviation. The second system cycle is then determined as the specified queue information. Alternatively, the second scheduling cycle of TT2 is determined based on the second system cycle and according to the following formula: SpecfiedCycles = SpecfiedCycles mod N2; where SpecfiedCycles represents the second scheduling cycle and SpecfiedCycles represents the second system cycle. The second scheduling cycle is then determined as the specified queue information.

[0133] Correspondingly, this embodiment also provides a method applied to the aforementioned second transmission node, specifically as follows: Figure 10 As shown.

[0134] See Figure 10 , Figure 10 Another method flow provided for embodiments of this application. This flow corresponds to Figure 1 The process is shown below. Figure 10 As shown, the process may include:

[0135] Step 1001: Receive a third service message belonging to a deterministic flow transmitted by TT1.

[0136] As an example, the third service message here can be any service message transmitted from TT1 to TT2 as described above.

[0137] As an example, in this embodiment, when a third service message is received, it is first identified whether the DSCP field in the IP header of the third service message carries a deterministic data stream identifier, such as 63. If the DSCP field in the IP header of the third service message carries a deterministic data stream identifier, such as 63, then the third service message is determined to be a deterministic data stream.

[0138] Step 1002: Based on the designated queue information carried in the third service message, distribute the data information to be transmitted in the third service message to the designated periodic scheduling queue indicated by the designated queue information for scheduled transmission.

[0139] As an example, in step 1002, the specified queue information is extracted from the third service message, and the data information to be transmitted in the third service message (which may be other data information in the third service message besides TT-Info) is encapsulated accordingly to obtain the fourth service message. According to the specified queue information as described above, the fourth service message can be stored in the specified period scheduling queue indicated by the specified queue information, and the fourth service message in the specified period scheduling queue is scheduled to be transmitted within the scheduling period of the specified period scheduling queue.

[0140] In this embodiment, if the specified queue information is the second system cycle, the specified cycle scheduling queue is determined by the following steps: the second scheduling cycle is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N2; where SpecfiedCycle represents the second scheduling cycle, SpecfiedCycles represents the second system cycle, and N2 is the number of cycle scheduling queues configured for TT2; the cycle scheduling queue corresponding to the second scheduling cycle is determined as the specified cycle scheduling queue.

[0141] If the specified queue information is for the second scheduling period, then the specified period queue is the periodic scheduling queue corresponding to the second scheduling period.

[0142] This concludes the process. Figure 10 The process is shown below.

[0143] pass Figure 10 The process shown enables a second message sent from a certain scheduling period of TT1 to be designated into a certain period scheduling queue of TT2 (i.e., a designated period scheduling queue). This ensures that the second message is scheduled and forwarded in the designated scheduling period of TT2. Even if there is jitter in the transmission link between TT1 and TT2, the scheduling period of the first service message can be directly determined through TT2 scheduling, ensuring that the jitter has no impact on the deterministic parameters of the first service message (which is equivalent to the jitter being eliminated), thus achieving deterministic flow transmission of the first service message.

[0144] When establishing the scheduling and forwarding mapping relationship between TT1 and TT2 as described above, TT1 will send a measurement and calibration request message to TT2. Correspondingly, TT2 will receive the measurement and calibration request message transmitted by TT1, and then determine the candidate transmission delay between TT1 and TT2 based on each received measurement and calibration request message; see the above for details on how to determine the candidate transmission delay.

[0145] Then, TT2 determines the target transmission delay from all candidate transmission delays; the method for determining the target transmission delay has been described above and will not be repeated here.

[0146] As an example, TT2 returns the target transmission delay to TT1, so that TT1 can determine the scheduling and forwarding mapping relationship between TT1 and TT2 based on the target transmission delay. The way TT2 returns the target transmission delay to TT1 is as described above, and will not be repeated here.

[0147] As another embodiment, TT2 sends the target transmission delay to other devices independent of TT1 and TT2, such as the SDN controller on the control plane, so that the other devices can determine the scheduling and forwarding mapping relationship between TT1 and TT2 based on the target transmission delay and send it to TT1.

[0148] It should be noted that, in this embodiment, after determining the scheduling and forwarding mapping relationship between TT1 and TT2, it is also necessary to maintain the aforementioned scheduling and forwarding mapping relationship between TT2 and TT1.

[0149] As an example, TT1, which actively sends measurement and calibration messages, can be used as a reference. TT2 performs periodic mapping deviation detection. When a certain deviation threshold is reached, TT2 adjusts its scheduling cycle to ensure that the scheduling and forwarding mapping relationship between TT1 and TT2 remains effective and jitter is kept within a reasonable range. This ultimately achieves the maintenance of the scheduling and forwarding mapping relationship between TT2 and TT1. The following describes how to maintain the scheduling and forwarding mapping relationship between TT1 and TT2:

[0150] like Figure 11 As shown, in this embodiment, when the maintenance condition for maintaining the aforementioned scheduling and forwarding mapping relationship is reached, TT1 sends maintenance information to TT2, so that TT2 determines whether to adjust its scheduling period based on the received maintenance information. As an example, the aforementioned maintenance condition can be the period for maintaining the aforementioned scheduling and forwarding mapping relationship, such as setting a time window (TimeWind) like 1 second, etc. This embodiment does not specifically limit the aforementioned maintenance condition. It should be noted that in this embodiment, the timing of TT1 sending maintenance information to TT2 is not limited, nor are the number of maintenance messages sent or the interval between sending maintenance messages.

[0151] As an example, the maintenance information mentioned above includes at least the sending time. Examples will be described below.

[0152] As an example, if the aforementioned maintenance condition arrives when forwarding a second service packet belonging to a deterministic flow to TT2, the maintenance information can be carried in the second service packet. In this example, the second service packet carries TT-Info. TT-Info includes at least the following fields:

[0153] The DataType field: If the DataType value is 0x13, it indicates that it is a second business message carrying maintenance information.

[0154] Sending Time Field: As an example, the sending time field carries a sending time determined based on the scheduling cycle for sending the second service message. For example, the sending time can be set to the system cycle for sending the second service message. This system cycle can be determined as follows: First, find the matching deterministic flow information table based on the second service message; then, find the corresponding sending scheduling cycle in the deterministic flow information table based on the receiving scheduling cycle of the second service message; finally, determine the system cycle based on the sending scheduling cycle (the determination method can be found in the formula for calculating TxCycles above).

[0155] Queue Information Field: Carries specified queue information, used to indicate that the second service message is designated to enter the periodic scheduling queue of TT2, and is determined in a similar way to the method of determining the specified queue information in step 101 above.

[0156] VarArg field: When DataType is 0x13, the VarArg field can be empty.

[0157] As another embodiment, if no second service message is currently being forwarded to TT2 when the aforementioned maintenance conditions are met, the maintenance information can be carried in a predefined maintenance message. In this embodiment, the maintenance message carries TT-Info. TT-Info includes at least the following fields:

[0158] The DataType field: The DataType it carries, for example, if the value is 0x03, indicates that it is a defined maintenance message;

[0159] Sending Time Field: As an example, the sending time field carries the sending time as the system cycle (denoted as TxCycles) for sending maintenance messages. When setting TxCycles, the processing delay (ProcessDelay) within TT1 must be taken into account. For example, if the processing delay is 3 scheduling cycles, and the maintenance message needs to be sent when the system cycle (sysCycles) is 'a', considering the processing delay, it will actually be sent in a+3, so TxCycles can be set to a+3. Of course, as another example, the sending time can also be the scheduling cycle (TxCycle). Here, TxCycle can be determined by the following formula: TxCycle = TxCycles mod N. For example, if the above TxCycles is a+3, then TxCycle is (a+3) mod N. Where N is the total number of periodic scheduling queues configured for TT1. This example uses a sending time of TxCycles as an example.

[0160] Queue Information Field: When DataType is 0x03, the queue information field can be set to an invalid value, such as 0xFFFFFFFF.

[0161] The VarArg field: For example, when DataType is 0x03, the variable parameter carried by the VarArg field can be set to the message sequence ID that maintains the message. For example, if the sample space is K, then the message sequence ID is a value from 1 to K.

[0162] As an example, in this embodiment, whether it is a second service message carrying maintenance information or a maintenance message, its IP header also includes a DSCP field. The parameters carried by the DSCP field are used to identify deterministic flows to distinguish them from existing best-effort flows. Here, the parameters carried by the DSCP field can be a message priority, such as 63, used to indicate a deterministic flow.

[0163] Taking the system cycle TxCycles for sending the second service message (carrying the maintenance information) or maintenance message as an example, TT1 determines the scheduling cycle TxCycle according to the sending time TxCycles, distributes the second service message (carrying the maintenance information) or maintenance message to the scheduling cycle queue corresponding to the TxCycle, and sends the second service message (carrying the maintenance information) or maintenance message in the scheduling cycle queue corresponding to the TxCycle to TT2 in the TxCycle.

[0164] TT2 collects packets via 5GS. When a packet is collected, it identifies that the packet belongs to a deterministic flow based on the DSCP field carried by the packet (for example, the DSCP field in the IP header carries 63). Then, if it is determined according to the DataType in the TT-Info carried by the packet that the packet is a maintenance packet (for example, a DataType value of 0x03 indicates it is a maintenance packet), or the packet is a service packet carrying maintenance information (for example, a DataType value of 0x13 indicates it is a service packet carrying maintenance information), then the system cycle when the packet arrives at TT2 is recorded (recorded as ArrCycles). Then, based on the transmission time carried in the TT-Info in the packet, such as TxCycles, the candidate transmission delay between TT1 and TT2 is calculated. The calculation of the candidate transmission delay is as described above, and will not be repeated here.

[0165] As an embodiment, in this embodiment, TT2 may end the current collection when the collection end condition is reached. The collection end condition herein may be, for example, collecting L pieces of maintenance information, or the duration since collecting the first piece of maintenance information reaches a set duration, etc., which is not specifically limited in this embodiment.

[0166] After TT2 ends the current collection, it will select one that meets the preset condition from the multiple determined candidate transmission delays between TT1 and TT2 as the reference transmission delay (MinDeltaCycles). The determination of the reference transmission delay MinDeltaCycles is similar to the determination of the above target transmission delay AnchorCycles.

[0167] After that, TT2 will determine whether to adjust the scheduling period of TT2, such as adjusting the duration of the scheduling period of TT2, based on the reference transmission delay MinDeltaCycles and the above target transmission delay AnchorCycles.

[0168] As an embodiment, if MinDeltaCycles>AnchorCycles+CheckAreaCycles, or MinDeltaCycles<AnchorCycles-CheckAreaCycles, where CheckAreaCycles is as described above, then it is determined to adjust the scheduling period of TT2, such as adjusting the duration of the scheduling period of TT2; otherwise, it is determined not to adjust the scheduling period of TT2.

[0169] In this embodiment, when it is determined to adjust the scheduling period of TT2, the duration of the scheduling period of TT2 can be adjusted. For example, the duration of the scheduling period is changed from the current C1 to C2 that is different from C1.

[0170] As an embodiment, C2 may be represented by BaseCycleTicks+Jitter_Adjustment counter units, such as unit or clock ticks.

[0171] In this embodiment, the absolute value of Jitter_Adjustment represents the total number of counter units that need to be adjusted within one scheduling period, which can be set according to actual requirements. When MinDeltaCycles>AnchorCycles+CheckAreaCycles, Jitter_Adjustment is a positive number, that is, its sign is "+"; when MinDeltaCycles<AnchorCycles–CheckAreaCycles, Jitter_Adjustment is a negative number, that is, its sign is "-". AnchorCycles and CheckAreaCycles are respectively as described above, and will not be repeated here.

[0172] As an embodiment, BaseCycleTicks is obtained by converting BaseCycleTime, the unit of BaseCycleTime is a time unit such as ps, etc., and the unit of BaseCycleTicks is a counter unit such as clock tick.

[0173] Wherein, if MinDeltaCycles>AnchorCycles+CheckAreaCycles, BaseCycleTime=C1+delta; if MinDeltaCycles<AnchorCycles–CheckAreaCycles, BaseCycleTime=C1-delta. In this embodiment, delta represents a preset adjustment amount, for example, delta=1<<8.

[0174] In this embodiment, after L adjusted scheduling periods, the duration of the scheduling period can be restored to BaseCycleTime in time, and the scheduling period at this time can be recorded as the first restored scheduling period.

[0175] As an embodiment, L is determined by the following formula: L=C1*JitterAdjustCycles / |Jitter_Adjustment|;

[0176] Among them, when MinDeltaCycles>AnchorCycles+CheckAreaCycles, JitterAdjustCycles=MinDeltaCycles-AnchorCycles; when MinDeltaCycles <AnchorCycles-CheckAreaCycles,JitterAdjustCycles=AnchorCycles–MinDeltaCycles。

[0177] To make the accumulation of errors very slow, this embodiment can also fine-tune the duration of the scheduling cycle. For example, for the initial first scheduling cycle or the first restored scheduling cycle, if the duration T of the current scheduling cycle (i.e., the initial first scheduling cycle or the first restored scheduling cycle) cannot be converted into an integer number of counter units, then the deviation Remain corresponding to the current scheduling cycle is calculated first. Here, the deviation Remain is expressed by the following formula: Remain = g + T – T1_ticks * Unit. If the current scheduling cycle is the initial first scheduling cycle or the first restored scheduling cycle, then g is a preset value; otherwise, g is the deviation Remain of the previous scheduling cycle. T1_ticks represents the integer number of counter units contained in the current scheduling cycle; Unit represents the conversion relationship between time units and counter units.

[0178] Then, set the T2_ticks for the next scheduling cycle according to the following formula: This indicates rounding down, taking the next scheduling period as the current scheduling period, and returning to the step of calculating the deviation Remain corresponding to the current scheduling period. By repeating this process, the accumulated error can be ensured to be very small, not affecting the entire implementation.

[0179] As can be seen from the process of maintaining the scheduling and forwarding mapping relationship described above, this embodiment establishes a mechanism that allows TT1 to always follow the periodic scheduling of TT2, thus achieving synchronization between TT1 and TT2 in forwarding. Applied to 5GS, it eliminates the need for clock synchronization between TT1, TT2 and 5GS, reducing hardware dependence, simplifying the implementation of 5GS, and enabling deterministic flow transmission as a whole.

[0180] The methods provided in the embodiments of this application have been described above. The systems and apparatus provided in the embodiments of this application are described below:

[0181] This embodiment provides a deterministic streaming system, which includes a first transmission node and a second transmission node; wherein the first transmission node performs the following... Figure 1 The steps in the process shown; the second transmission node performs as follows Figure 10 The steps in the process shown.

[0182] Correspondingly, embodiments of this application also provide, as follows: Figure 12 The diagram shows the device structure. This device is applied to the first transmission node, where jitter exists on the transmission link between the first and second transmission nodes. This device corresponds to... Figure 1 The process is shown below.

[0183] like Figure 12 As shown, the device may include:

[0184] The determining unit is configured to determine, for a first service packet belonging to a deterministic flow to be transmitted to the second transmission node, a designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node; the designated queue information is used to indicate a designated periodic scheduling queue, which is the periodic scheduling queue into which the first service packet enters after being transmitted to the second transmission node, so that the first service packet is fixed to be forwarded in the scheduling period corresponding to the designated periodic scheduling queue, thereby realizing the deterministic forwarding of the first service packet;

[0185] The sending unit is used to transmit the first service message, which carries at least the specified queue information, to the second transmission node.

[0186] As an implementation, the determining unit determines the designated queue information based on the obtained scheduling and forwarding mapping relationship between the first transmission node and the second transmission node, including: determining a first scheduling period; the first scheduling period is the scheduling period for the first transmission node to schedule the transmission of the first service packet; and determining the designated queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node.

[0187] Furthermore, before the sending unit transmits the first service message carrying at least the specified queue information to the second transmission node, the determining unit further includes: storing the first service message in the first period scheduling queue corresponding to the first scheduling period;

[0188] The sending unit transmits the first service message carrying at least the specified queue information to the second transmission node by: scheduling the first service message stored in the first period scheduling queue during the first scheduling period, so as to transmit the first service message carrying at least the specified queue information to the second transmission node.

[0189] As one embodiment, the determining unit determines the first scheduling period by:

[0190] The sending scheduling period that matches the first time information is found in the target deterministic flow information table that matches the first service message, and the sending scheduling period that matches the first time information is determined as the first scheduling period; wherein, the first time information is the time information of receiving the first service message.

[0191] As an example, the target deterministic flow information table includes at least: a matching relationship between the receive scheduling period and the send scheduling period; the first time information is the first receive scheduling period, which refers to the scheduling period that the first transmission node is scheduling when it receives the first service message;

[0192] If the data stream to which the first service message belongs is a data stream that meets the preset shaping conditions, the target deterministic flow information table includes at least two entries with different receive scheduling periods matching the same send scheduling period.

[0193] As one embodiment, the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node includes the scheduling cycle deviation between the first transmission node and the second transmission node.

[0194] The aforementioned determining unit determines the specified queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node, including:

[0195] The first system cycle in the first scheduling cycle is determined according to the following formula:

[0196] TxCycles = ArrCycles - (ArrCycles mod N1) + TxCycle; where TxCycles represents the first system cycle, ArrCycles represents the system cycle when the first transmission node receives the first service message, N1 is the number of cycle scheduling queues configured for the first transmission node, and TxCycle is the first scheduling cycle;

[0197] The specified queue information is determined based on the deviation between the first system cycle and the scheduling cycle.

[0198] As an example, determining the specified queue information based on the deviation between the first system cycle and the scheduling cycle includes:

[0199] The second system cycle is determined according to the following formula: SpecfiedCycles = TxCycles + AdjustCycles; where SpecfiedCycles represents the second system cycle, TxCycles represents the first system cycle, and AdjustCycles represents the scheduling cycle deviation.

[0200] The specified queue information is determined based on the second system cycle.

[0201] As an example, determining the specified queue information based on the second system cycle includes:

[0202] The second system cycle is determined as the specified queue information; or...

[0203] The second scheduling period is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N; where SpecfiedCycle represents the second scheduling period and SpecfiedCycles represents the second system period, and the second scheduling period is determined as the specified queue information.

[0204] As an example, the scheduling and forwarding mapping relationship is determined by the first transmission node by sending K measurement and calibration request messages to TT2 according to the following steps:

[0205] Send K measurement and calibration request messages to the second transmission node; K is greater than 1;

[0206] Obtain the target transmission delay; the target transmission delay is selected from all candidate transmission delays determined by the second transmission node; the candidate transmission delay is the transmission delay between the first transmission node and the second transmission node determined by the second transmission node based on each received measurement and calibration request message;

[0207] The scheduling and forwarding mapping relationship is determined based on the target transmission delay.

[0208] As one embodiment, the measurement and calibration request message carries the system cycle of the first transmission node when sending the measurement and calibration request message;

[0209] The candidate transmission delay is determined based on the system cycle when the second transmission node receives the measurement and calibration request message, and the system cycle carried in the measurement and calibration request message;

[0210] The target transmission delay is a candidate transmission delay whose value meets the set conditions.

[0211] As an example, determining the scheduling and forwarding mapping relationship based on the target transmission delay includes:

[0212] The preset jitter range, the processing delay of the first transmission node, and the configured deviation adjustment threshold are obtained.

[0213] Based on the target transmission delay, the preset jitter range, the processing delay, and the deviation adjustment threshold, the scheduling cycle deviation between the first transmission node and the second transmission node is determined, and the scheduling forwarding mapping relationship is determined based on the scheduling cycle deviation.

[0214] As an example, when the maintenance condition for maintaining the scheduling forwarding mapping relationship is reached, the sending unit further sends maintenance information to the second transmission node, so that the second transmission node determines whether to adjust the scheduling cycle of the second transmission node based on the received maintenance information.

[0215] As one embodiment, the sending unit sends maintenance information to the second transmission node, including:

[0216] The maintenance information is carried in a second service message belonging to a deterministic flow and sent to the second transmission node; or, the maintenance information is carried in a predefined maintenance message and sent to the second transmission node.

[0217] The maintenance information includes at least: a transmission time; wherein, when the maintenance information is carried in a second service message, the transmission time is determined based on the scheduling period for sending the second service message, and when the maintenance information is carried in a defined maintenance message, the transmission time is determined based on the system period when the maintenance message is sent and the processing delay of the first transmission node.

[0218] As one embodiment, the first transmission node and the second transmission node are different nodes connecting the two ends of the 5GS; one of the first transmission node and the second transmission node is DS-TT and the other is NW-TT; or, the first transmission node and the second transmission node are two different DS-TTs.

[0219] This concludes the process. Figure 12 Structural description of the device shown.

[0220] This application also provides embodiments that... Figure 13 The diagram shows the structure of the device. This device corresponds to... Figure 10 The process is shown. This device is applied to a second transmission node. Jitter exists on the transmission link between the second and first transmission nodes, and the clocks of the first and second transmission nodes are not synchronized. The device includes:

[0221] The receiving unit is configured to receive a third service message belonging to a deterministic flow transmitted by the first transmission node;

[0222] The processing unit is configured to distribute the data to be transmitted in the third service message to a designated periodic scheduling queue indicated by the designated queue information for scheduled transmission, based on the designated queue information carried in the third service message. The designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. The designated periodic scheduling queue indicated by the designated queue information enables the third service message to be forwarded in a fixed scheduling period corresponding to the designated periodic scheduling queue, thereby achieving deterministic forwarding of the third service message.

[0223] As an example, the processing unit determines the specified periodic scheduling queue indicated by the specified queue information through the following steps:

[0224] If the specified queue information is the second system cycle, the second scheduling cycle is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N2; where SpecfiedCycle represents the second scheduling cycle, SpecfiedCycles represents the second system cycle, and N2 is the number of periodic scheduling queues configured for the second transmission node; the periodic scheduling queue corresponding to the second scheduling cycle is determined as the specified periodic scheduling queue;

[0225] If the specified queue information is the second scheduling period, then the periodic scheduling queue corresponding to the second scheduling period is determined as the specified periodic scheduling queue.

[0226] As one embodiment, the receiving unit further receives a measurement and calibration request message transmitted by the first transmission node;

[0227] As an example, the processing unit further determines the candidate transmission delay between the first transmission node and the second transmission node based on each received measurement and calibration request message, and determines the candidate transmission delay that meets the set conditions from all candidate transmission delays as the target transmission delay between the first transmission node and the second transmission node.

[0228] As an example, the processing unit further returns the target transmission delay to the first transmission node, so that the first transmission node can determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node based on the target transmission delay.

[0229] As an example, the processing unit further sends the target transmission delay to a third device independent of the first transmission node and the second transmission node, so that the third device can determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node based on the target transmission delay and send it to the first transmission node.

[0230] As one embodiment, the measurement and calibration request message carries the system cycle of the first transmission node when sending the measurement and calibration request message;

[0231] The candidate transmission delay is determined based on the system cycle when the second transmission node receives the measurement and calibration request message, and the system cycle carried in the measurement and calibration request message;

[0232] The target transmission delay is a candidate transmission delay whose value meets the set conditions.

[0233] As one embodiment, the receiving unit further receives maintenance information sent by the first transmission node within a set time window;

[0234] Correspondingly, the processing unit further determines the candidate transmission delay between the first transmission node and the second transmission node based on the transmission time of the first transmission node sending the maintenance information and the reception time of the second transmission node receiving the maintenance information carried in each maintenance information, and determines the reference transmission delay that meets the set conditions from all candidate transmission delays; and determines whether to adjust the scheduling cycle of the second transmission node based on the reference transmission delay and the target transmission delay.

[0235] As one embodiment, the processing unit determines whether to adjust the scheduling period of the second transmission node based on the reference transmission delay and the target transmission delay, including:

[0236] If the absolute value of the difference between the reference transmission delay and the target transmission delay is greater than the configured deviation adjustment threshold, then the scheduling period of the second transmission node is adjusted.

[0237] If the absolute value of the difference between the reference transmission delay and the target transmission delay is less than or equal to the configured deviation adjustment threshold, then it is determined that the scheduling period of the second transmission node will not be adjusted.

[0238] As an example, if it is determined that the scheduling period of the second transmission node needs to be adjusted, the processing unit further adjusts the scheduling period to change the duration of the scheduling period from C1 to C2, which is different from C1; wherein, C2 is represented by BaseCycleTicks + Jitter_Adjustment counter units; Jitter_Adjustment represents the total number of counter units that need to be adjusted within a scheduling period; BaseCycleTicks is obtained by converting BaseCycleTime, where the unit of BaseCycleTime is time unit and the unit of BaseCycleTicks is counter unit;

[0239] Wherein, if MinDeltaCycles>AnchorCycles+CheckAreaCycles, BaseCycleTime=C1+delta; if MinDeltaCycles<AnchorCycles–CheckAreaCycles, BaseCycleTime=C1-delta;

[0240] MinDeltaCycles represents the reference transmission delay, AnchorCycles represents the target transmission delay, CheckAreaCycles represents the configured deviation adjustment threshold, and delta represents the preset adjustment amount.

[0241] As an embodiment, after L adjusted scheduling cycles, the processing unit further restores the duration of the scheduling cycle to BaseCycleTime;

[0242] Wherein, L is determined by the following formula: L=C1*JitterAdjustCycles / |Jitter_Adjustment|;

[0243] When MinDeltaCycles>AnchorCycles+CheckAreaCycles, JitterAdjustCycles=MinDeltaCycles-AnchorCycles; when MinDeltaCycles<AnchorCycles-CheckAreaCycles, JitterAdjustCycles=AnchorCycles–MinDeltaCycles.

[0244] As an embodiment, for the initial first scheduling cycle or the restored first scheduling cycle, the processing unit further determines whether the duration T of the current scheduling cycle (e.g., the initial first scheduling cycle, or the restored first scheduling cycle) is an integer number of counter units. If the duration T of the current scheduling cycle is not an integer number of counter units, the deviation Remain corresponding to the current scheduling cycle is calculated, and the deviation Remain is represented by the following formula: Remain=(g+T)–T1_ticks*Unit. If the current scheduling cycle is the initial first scheduling cycle or the restored first scheduling cycle, g is a preset value; if the current scheduling cycle is not the initial first scheduling cycle or the restored first scheduling cycle, g is the deviation Remain of the previous scheduling cycle. Said T1_ticks represents the integer number of counter units included in the current scheduling cycle; said Unit represents the conversion relationship between the time unit and the counter unit;

[0245] Set T2_ticks for the next scheduling cycle according to the following formula: Indicates rounding down;

[0246] Take the next scheduling period as the current scheduling period and return to the step of determining whether the duration T of the current scheduling period is equal to an integer number of counter units.

[0247] As one embodiment, the first transmission node and the second transmission node are different nodes connecting the two ends of the 5GS; one of the first transmission node and the second transmission node is DS-TT and the other is NW-TT; or, the first transmission node and the second transmission node are two different DS-TTs.

[0248] This concludes the process. Figure 13 Structural description of the device shown.

[0249] This application also provides embodiments that... Figure 12 or Figure 13 The hardware structure of the device shown. See also Figure 14 , Figure 14 This is a structural diagram of an electronic device provided in an embodiment of this application. Figure 14 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 any of the methods disclosed in the above examples of this application.

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

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

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

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

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

Claims

1. A deterministic stream transmission method, characterized in that, This method is applied to a first transmission node, where jitter exists on the transmission link between the first and second transmission nodes, and the clocks of the first and second transmission nodes are out of sync; the method includes: The target transmission delay is obtained by sending K measurement and calibration request messages (K > 1) to the second transmission node. The target transmission delay is selected from all candidate transmission delays determined by the second transmission node. The candidate transmission delay is the transmission delay between the first and second transmission nodes determined by the second transmission node based on each received measurement and calibration request message. The scheduling and forwarding mapping relationship between the first and second transmission nodes is determined based on the target transmission delay. For a first service packet belonging to a deterministic flow to be transmitted to the second transmission node, a designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. The designated queue information is used to indicate a designated periodic scheduling queue, which is the periodic scheduling queue into which the first service packet enters after being transmitted to the second transmission node, so that the first service packet is fixed to be forwarded in the scheduling period corresponding to the designated periodic scheduling queue, thereby realizing the deterministic forwarding of the first service packet. The first service message carrying at least the specified queue information is transmitted to the second transmission node.

2. The method according to claim 1, characterized in that, The step of determining the designated queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node includes: determining a first scheduling period; the first scheduling period is the scheduling period for the first transmission node to schedule the transmission of the first service packet; and determining the designated queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. Before transmitting the first service packet carrying at least the specified queue information to the second transmission node, the method further includes: storing the first service packet in the first period scheduling queue corresponding to the first scheduling period; The step of transmitting the first service message carrying at least the specified queue information to the second transmission node includes: scheduling the first service message stored in the first period scheduling queue during the first scheduling period to transmit the first service message carrying at least the specified queue information to the second transmission node.

3. The method according to claim 2, characterized in that, Determining the first scheduling period includes: The sending scheduling period that matches the first time information is found in the target deterministic flow information table that matches the first service message, and the sending scheduling period that matches the first time information is determined as the first scheduling period; wherein, the first time information is the time information of receiving the first service message.

4. The method according to claim 3, characterized in that, The target deterministic flow information table includes at least: a matching relationship between the receive scheduling period and the send scheduling period; the first time information is the first receive scheduling period, which refers to the scheduling period that the first transmission node is scheduling when it receives the first service message; If the data stream to which the first service message belongs is a data stream that meets the preset shaping conditions, the target deterministic flow information table includes at least two entries with different receive scheduling periods matching the same send scheduling period.

5. The method according to claim 2, characterized in that, The scheduling and forwarding mapping relationship between the first transmission node and the second transmission node includes the scheduling cycle deviation between the first transmission node and the second transmission node; The step of determining the specified queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node includes: The first system cycle in the first scheduling cycle is determined according to the following formula: TxCycles = ArrCycles - (ArrCycles mod N1) + TxCycle; where TxCycles represents the first system cycle, ArrCycles represents the system cycle when the first transmission node receives the first service packet, N1 is the number of cycle scheduling queues configured for the first transmission node, and TxCycle is the first scheduling cycle; The specified queue information is determined based on the deviation between the first system cycle and the scheduling cycle.

6. The method according to claim 5, characterized in that, Determining the specified queue information based on the deviation between the first system cycle and the scheduling cycle includes: The second system cycle is determined according to the following formula: SpecfiedCycles = TxCycles + AdjustCycles; where SpecfiedCycles represents the second system cycle, TxCycles represents the first system cycle, and AdjustCycles represents the scheduling cycle deviation. The specified queue information is determined based on the second system cycle.

7. The method according to claim 6, characterized in that, The determination of the specified queue information based on the second system cycle includes: The second system cycle is determined as the specified queue information; or... The second scheduling period is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N2, where SpecfiedCycle represents the second scheduling period, SpecfiedCycles represents the second system period, and N2 represents the number of periodic scheduling queues configured for the second transmission node.

8. The method according to claim 1, characterized in that, The measurement and calibration request message carries the system cycle of the first transmission node when sending the measurement and calibration request message; The candidate transmission delay is determined based on the system cycle when the second transmission node receives the measurement and calibration request message, and the system cycle carried in the measurement and calibration request message; The target transmission delay is a candidate transmission delay whose value meets the set conditions.

9. The method according to claim 1, characterized in that, Determining the scheduling and forwarding mapping relationship based on the target transmission delay includes: The preset jitter range, the processing delay of the first transmission node, and the configured deviation adjustment threshold are obtained. Based on the target transmission delay, the preset jitter range, the processing delay, and the deviation adjustment threshold, the scheduling cycle deviation between the first transmission node and the second transmission node is determined, and the scheduling cycle deviation is determined as the scheduling forwarding mapping relationship.

10. The method according to claim 1, characterized in that, The method further includes: When the maintenance condition of the scheduling forwarding mapping relationship is reached, maintenance information is sent to the second transmission node so that the second transmission node can determine whether to adjust the scheduling cycle of the second transmission node based on the received maintenance information.

11. The method according to claim 10, characterized in that, Sending maintenance information to the second transmission node includes: The maintenance information is carried in a second service message belonging to a deterministic flow and sent to the second transmission node; or, the maintenance information is carried in a predefined maintenance message and sent to the second transmission node. The maintenance information includes at least: a transmission time; wherein, when the maintenance information is carried in a second service message, the transmission time is determined based on the scheduling period for sending the second service message, and when the maintenance information is carried in a defined maintenance message, the transmission time is determined based on the system period when the maintenance message is sent and the processing delay of the first transmission node.

12. The method according to claim 1, characterized in that, The first transmission node and the second transmission node are different nodes connecting the two ends of the 5GS; One of the first transmission node and the second transmission node is a device-side TSN converter DS-TT, and the other is a network-side TSN converter NW-TT; or, the first transmission node and the second transmission node are two different DS-TT converters.

13. A deterministic stream transmission method, characterized in that, This method is applied to a second transmission node, where jitter exists on the transmission link between the second and first transmission nodes, and the clocks of the first and second transmission nodes are out of sync. The method includes: By receiving K measurement and calibration request messages sent by the first transmission node to the second transmission node, where K is greater than 1, candidate transmission delays between the first transmission node and the second transmission node are determined; all candidate transmission delays determined by the second transmission node are used to select the target transmission delay, and the target transmission delay is used to determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. After receiving a third service message belonging to a deterministic flow transmitted by the first transmission node, the data to be transmitted in the third service message is sent to a designated periodic scheduling queue indicated by the designated queue information for scheduled transmission, based on the designated queue information carried in the third service message. The designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. The designated periodic scheduling queue indicated by the designated queue information can fix the third service message for forwarding in the scheduling period corresponding to the designated periodic scheduling queue, so as to realize the deterministic forwarding of the third service message.

14. The method according to claim 13, characterized in that, The specified period scheduling queue indicated by the specified queue information is determined through the following steps: If the specified queue information is the second system cycle, the second scheduling cycle is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N2; where SpecfiedCycle represents the second scheduling cycle, SpecfiedCycles represents the second system cycle, and N2 is the number of periodic scheduling queues configured for the second transmission node; the periodic scheduling queue corresponding to the second scheduling cycle is determined as the specified periodic scheduling queue; If the specified queue information is the second scheduling period, then the periodic scheduling queue corresponding to the second scheduling period is determined as the specified periodic scheduling queue.

15. The method according to claim 13, characterized in that, The target transmission delay is the candidate transmission delay that meets the set conditions among all candidate transmission delays.

16. The method according to claim 13, characterized in that, The method further includes: The target transmission delay is returned to the first transmission node so that the first transmission node can determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node based on the target transmission delay.

17. The method according to claim 13, characterized in that, The method further includes: The target transmission delay is sent to a third device independent of the first transmission node and the second transmission node, so that the third device can determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node based on the target transmission delay and send it to the first transmission node.

18. The method according to claim 13, characterized in that, The measurement and calibration request message carries the system cycle of the first transmission node when sending the measurement and calibration request message; The candidate transmission delay is determined based on the system cycle when the second transmission node receives the measurement and calibration request message, and the system cycle carried in the measurement and calibration request message; The target transmission delay is a candidate transmission delay whose value meets the set conditions.

19. The method according to claim 13, characterized in that, The method further includes: The system receives maintenance information sent by the first transmission node within a set time window. Based on the sending time of the maintenance information sent by the first transmission node and the receiving time of the maintenance information received by the second transmission node, the system determines the candidate transmission delay between the first transmission node and the second transmission node. From all the candidate transmission delays, the system determines the reference transmission delay that meets the set conditions. Based on the reference transmission delay and the target transmission delay, determine whether to adjust the scheduling period of the second transmission node.

20. The method according to claim 19, characterized in that, The step of determining whether to adjust the scheduling period of the second transmission node based on the reference transmission delay and the target transmission delay includes: If the absolute value of the difference between the reference transmission delay and the target transmission delay is greater than the configured deviation adjustment threshold, then the scheduling period of the second transmission node is adjusted. If the absolute value of the difference between the reference transmission delay and the target transmission delay is less than or equal to the configured deviation adjustment threshold, then it is determined that the scheduling period of the second transmission node will not be adjusted.

21. The method according to claim 19, characterized in that, If it is determined that the scheduling period of the second transmission node should be adjusted, the method further includes: The scheduling cycle is adjusted to change its duration from C1 to C2, which is different from C1. C2 is represented by BaseCycleTicks + Jitter_Adjustment counter units. Jitter_Adjustment represents the total number of counter units that need to be adjusted within a scheduling cycle. BaseCycleTicks is obtained by converting BaseCycleTime, where BaseCycleTime is in time units and BaseCycleTicks is in counter units. Among them, if MinDeltaCycles > AnchorCycles + CheckAreaCycles, BaseCycleTime=C1+delta; if MinDeltaCycles < AnchorCycles – CheckAreaCycles, BaseCycleTime=C1-delta; MinDeltaCycles represents the reference transmission delay, AnchorCycles represents the target transmission delay, CheckAreaCycles represents the configured deviation adjustment threshold, and delta represents the preset adjustment amount.

22. The method according to claim 21, characterized in that, The method further includes: After L adjusted scheduling cycles, the duration of the scheduling cycle is restored to BaseCycleTime; Wherein, L is determined by the following formula: L=C1* JitterAdjustCycles / |Jitter_Adjustment|; When MinDeltaCycles > AnchorCycles + CheckAreaCycles, JitterAdjustCycles = MinDeltaCycles - AnchorCycles; when MinDeltaCycles < AnchorCycles - CheckAreaCycles, JitterAdjustCycles = AnchorCycles - MinDeltaCycles.

23. The method according to claim 22, characterized in that, For the initial first scheduling period, or for the first scheduling period after recovery, the method further includes: Determine if the duration T of the current scheduling period is equal to an integer number of counter units. If the duration T is not equal to an integer number of counter units, calculate the deviation Remain corresponding to the current scheduling period. The deviation Remain is expressed by the following formula: Remain = (g + T) – T1_ticks * Unit. If the current scheduling period is the first initial scheduling period or the first restored scheduling period, then g is a preset value. If the current scheduling period is not the first initial scheduling period or the first restored scheduling period, g is the deviation Remain of the previous scheduling period. T1_ticks represents the integer number of counter units contained in the current scheduling period; Unit represents the conversion relationship between time units and counter units. Set T2_ticks for the next scheduling cycle according to the following formula: T2_ticks = ⌊(Remain +T) / Unit⌋, Indicates rounding down; Take the next scheduling period as the current scheduling period and return to the step of determining whether the duration T of the current scheduling period is equal to an integer number of counter units.

24. The method according to claim 13, characterized in that, The first transmission node and the second transmission node are different nodes connecting the two ends of the 5GS; One of the first transmission node and the second transmission node is a device-side TSN converter DS-TT, and the other is a network-side TSN converter NW-TT; or, the first transmission node and the second transmission node are two different DS-TT converters.

25. A deterministic streaming system, characterized in that, The system includes: a first transmission node and a second transmission node; The first transmission node performs the steps of the method as described in any one of claims 1 to 12; The second transmission node performs the steps of the method as described in any one of claims 13 to 24.

26. A deterministic stream transmission device, characterized in that, The device is applied to a first transmission node, where jitter exists on the transmission link between the first and second transmission nodes, and the clocks of the first and second transmission nodes are out of sync. The device includes: A determining unit is configured to obtain a target transmission delay by sending K measurement and calibration request messages (K > 1) to a second transmission node; the target transmission delay is selected from all candidate transmission delays determined by the second transmission node; the candidate transmission delays are the transmission delays between the first and second transmission nodes determined by the second transmission node based on each received measurement and calibration request message; and, based on the target transmission delay, determine a scheduling and forwarding mapping relationship between the first and second transmission nodes; and... For a first service packet belonging to a deterministic flow to be transmitted to the second transmission node, a designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node; the designated queue information is used to indicate a designated periodic scheduling queue, which is the periodic scheduling queue that the first service packet enters after being transmitted to the second transmission node. The sending unit is used to transmit the first service message, which carries at least the specified queue information, to the second transmission node.

27. The apparatus according to claim 26, characterized in that, The determining unit determines the designated queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node, including: determining a first scheduling period; the first scheduling period is the scheduling period for the first transmission node to schedule the transmission of the first service packet; and determining the designated queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node. Before the sending unit transmits the first service message carrying at least the specified queue information to the second transmission node, the determining unit further stores the first service message in the first period scheduling queue corresponding to the first scheduling period. The sending unit's method of transmitting the first service message carrying at least the specified queue information to the second transmission node includes: during the first scheduling period, scheduling the first service message stored in the first period scheduling queue to transmit the first service message carrying at least the specified queue information to the second transmission node.

28. The apparatus according to claim 27, characterized in that, The determining unit determines the first scheduling period by: searching for a transmission scheduling period that matches the first time information from the target deterministic flow information table that matches the first service message, and determining the transmission scheduling period that matches the first time information as the first scheduling period; wherein, the first time information is the time information of receiving the first service message.

29. The apparatus according to claim 28, characterized in that, The target deterministic flow information table includes at least: a matching relationship between the receive scheduling period and the send scheduling period; the first time information is the first receive scheduling period, which refers to the scheduling period that the first transmission node is scheduling when it receives the first service message; If the data stream to which the first service message belongs is a data stream that meets the preset shaping conditions, the target deterministic flow information table includes at least two entries with different receive scheduling periods matching the same send scheduling period.

30. The apparatus according to claim 27, characterized in that, The scheduling and forwarding mapping relationship between the first transmission node and the second transmission node includes the scheduling cycle deviation between the first transmission node and the second transmission node; The determining unit determines the specified queue information based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node, including: The first system cycle in the first scheduling cycle is determined according to the following formula: TxCycles = ArrCycles - (ArrCycles mod N1) + TxCycle; where TxCycles represents the first system cycle, ArrCycles represents the system cycle when the first transmission node receives the first service packet, N1 is the number of cycle scheduling queues configured for the first transmission node, and TxCycle is the first scheduling cycle; The specified queue information is determined based on the deviation between the first system cycle and the scheduling cycle.

31. The apparatus according to claim 30, characterized in that, The determining unit determines the specified queue information based on the deviation between the first system cycle and the scheduling cycle, including: The second system cycle is determined according to the following formula: SpecfiedCycles = TxCycles + AdjustCycles; where SpecfiedCycles represents the second system cycle, TxCycles represents the first system cycle, and AdjustCycles represents the scheduling cycle deviation. The specified queue information is determined based on the second system cycle.

32. The apparatus according to claim 31, characterized in that, The determining unit determines the specified queue information based on the second system cycle, including: The second system cycle is determined as the specified queue information; or... The second scheduling period is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N2, where SpecfiedCycle represents the second scheduling period, SpecfiedCycles represents the second system period, and N2 represents the number of periodic scheduling queues configured for the second transmission node.

33. The apparatus according to claim 26, characterized in that, The measurement and calibration request message carries the system cycle of the first transmission node when sending the measurement and calibration request message; The candidate transmission delay is determined based on the system cycle when the second transmission node receives the measurement and calibration request message, and the system cycle carried in the measurement and calibration request message; The target transmission delay is a candidate transmission delay whose value meets the set conditions.

34. The apparatus according to claim 26, characterized in that, The determining unit determines the scheduling and forwarding mapping relationship based on the target transmission delay, including: The preset jitter range, the processing delay of the first transmission node, and the configured deviation adjustment threshold are obtained. Based on the target transmission delay, the preset jitter range, the processing delay, and the deviation adjustment threshold, the scheduling cycle deviation between the first transmission node and the second transmission node is determined, and the scheduling cycle deviation is determined as the scheduling forwarding mapping relationship.

35. The apparatus according to claim 26, characterized in that, The sending unit further sends maintenance information to the second transmission node when the maintenance condition of the scheduling forwarding mapping relationship is reached, so that the second transmission node can determine whether to adjust the scheduling cycle of the second transmission node based on the received maintenance information.

36. The apparatus according to claim 35, characterized in that, The sending unit sends maintenance information to the second transmission node, including: The maintenance information is carried in a second service message belonging to a deterministic flow and sent to the second transmission node; or, the maintenance information is carried in a predefined maintenance message and sent to the second transmission node. The maintenance information includes at least: a transmission time; wherein, when the maintenance information is carried in a second service message, the transmission time is determined based on the scheduling period for sending the second service message, and when the maintenance information is carried in a defined maintenance message, the transmission time is determined based on the system period when the maintenance message is sent and the processing delay of the first transmission node.

37. The apparatus according to claim 26, characterized in that, The first transmission node and the second transmission node are different nodes connecting the two ends of the 5GS; One of the first transmission node and the second transmission node is a device-side TSN converter DS-TT, and the other is a network-side TSN converter NW-TT; or, the first transmission node and the second transmission node are two different DS-TT converters.

38. A deterministic stream transmission device, characterized in that, This device is applied to a second transmission node. Jitter exists on the transmission link between the second and first transmission nodes, and the clocks of the first and second transmission nodes are out of sync. The device includes: The receiving unit is configured to receive K measurement and calibration request messages sent by the first transmitting node to the second transmitting node, where K is greater than 1, and... Receive a third service message belonging to a deterministic flow transmitted by the first transmission node; The processing unit is configured to determine candidate transmission delays between the first transmission node and the second transmission node based on each received measurement and calibration request message, and to determine, from all candidate transmission delays, a candidate transmission delay that meets a set condition as the target transmission delay between the first transmission node and the second transmission node; the target transmission delay is used to determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node; and, Based on the designated queue information carried in the third service message, the data to be transmitted in the third service message is sent to the designated periodic scheduling queue indicated by the designated queue information for scheduled transmission. The designated queue information is determined based on the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node.

39. The apparatus according to claim 38, characterized in that, The specified period scheduling queue indicated by the specified queue information is determined through the following steps: If the specified queue information is the second system cycle, the second scheduling cycle is determined according to the following formula: SpecfiedCycle = SpecfiedCycles mod N2; where SpecfiedCycle represents the second scheduling cycle, SpecfiedCycles represents the second system cycle, and N2 is the number of periodic scheduling queues configured for the second transmission node; the periodic scheduling queue corresponding to the second scheduling cycle is determined as the specified periodic scheduling queue; If the specified queue information is the second scheduling period, then the periodic scheduling queue corresponding to the second scheduling period is determined as the specified periodic scheduling queue.

40. The apparatus according to claim 38, characterized in that, The processing unit further returns the target transmission delay to the first transmission node, so that the first transmission node can determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node based on the target transmission delay.

41. The apparatus according to claim 38, characterized in that, The processing unit further sends the target transmission delay to a third device independent of the first transmission node and the second transmission node, so that the third device can determine the scheduling and forwarding mapping relationship between the first transmission node and the second transmission node based on the target transmission delay and send it to the first transmission node.

42. The apparatus according to claim 38, characterized in that, The measurement and calibration request message carries the system cycle of the first transmission node when sending the measurement and calibration request message; The candidate transmission delay is determined based on the system cycle when the second transmission node receives the measurement and calibration request message, and the system cycle carried in the measurement and calibration request message; The target transmission delay is a candidate transmission delay whose value meets the set conditions.

43. The apparatus according to claim 38, characterized in that, The processing unit further receives maintenance information sent by the first transmission node within a set time window. Based on the sending time of the maintenance information by the first transmission node and the receiving time of the maintenance information by the second transmission node, it determines the candidate transmission delay between the first and second transmission nodes. From all candidate transmission delays, it determines the reference transmission delay that meets the set conditions. Based on the reference transmission delay and the target transmission delay, it determines whether to adjust the scheduling cycle of the second transmission node.

44. The apparatus according to claim 43, characterized in that, The processing unit determines whether to adjust the scheduling period of the second transmission node based on the reference transmission delay and the target transmission delay, including: If the absolute value of the difference between the reference transmission delay and the target transmission delay is greater than the configured deviation adjustment threshold, then the scheduling period of the second transmission node is adjusted. If the absolute value of the difference between the reference transmission delay and the target transmission delay is less than or equal to the configured deviation adjustment threshold, then it is determined that the scheduling period of the second transmission node will not be adjusted.

45. The apparatus according to claim 44, characterized in that, If it is determined that the scheduling period of the second transmission node needs to be adjusted, the processing unit further adjusts the scheduling period to change the duration of the scheduling period from C1 to C2, which is different from C1; wherein, C2 is represented by BaseCycleTicks + Jitter_Adjustment counter units; Jitter_Adjustment represents the total number of counter units that need to be adjusted within a scheduling period; BaseCycleTicks is obtained by converting BaseCycleTime, where the unit of BaseCycleTime is time unit and the unit of BaseCycleTicks is counter unit; Among them, if MinDeltaCycles > AnchorCycles + CheckAreaCycles, BaseCycleTime=C1+delta; if MinDeltaCycles < AnchorCycles – CheckAreaCycles, BaseCycleTime=C1-delta; MinDeltaCycles represents the reference transmission delay, AnchorCycles represents the target transmission delay, CheckAreaCycles represents the configured deviation adjustment threshold, and delta represents the preset adjustment amount.

46. ​​The apparatus according to claim 45, characterized in that, The processing unit further restores the duration of the scheduling cycle to BaseCycleTime after L adjusted scheduling cycles; Wherein, L is determined by the following formula: L=C1* JitterAdjustCycles / |Jitter_Adjustment|; When MinDeltaCycles > AnchorCycles + CheckAreaCycles, JitterAdjustCycles = MinDeltaCycles - AnchorCycles; when MinDeltaCycles < AnchorCycles - CheckAreaCycles, JitterAdjustCycles = AnchorCycles - MinDeltaCycles.

47. The apparatus according to claim 46, characterized in that, For the initial first scheduling cycle, or for the first restored scheduling cycle, the processing unit further determines whether the duration T of the current scheduling cycle is equal to an integer number of counter units. If the duration T of the current scheduling cycle is not equal to an integer number of counter units, the deviation Remain corresponding to the current scheduling cycle is calculated. The deviation Remain is expressed by the following formula: Remain = (g + T) – T1_ticks * Unit. If the current scheduling cycle is the initial first scheduling cycle or the first restored scheduling cycle, then g is a preset value. If the current scheduling cycle is not the initial first scheduling cycle or the first restored scheduling cycle, g is the deviation Remain of the previous scheduling cycle. T1_ticks represents the integer number of counter units contained in the current scheduling cycle; Unit represents the conversion relationship between time units and counter units; and... Set T2_ticks for the next scheduling cycle according to the following formula: T2_ticks = ⌊(Remain +T) / Unit⌋, Indicates rounding down; as well as, Take the next scheduling period as the current scheduling period and return to the step of determining whether the duration T of the current scheduling period is equal to an integer number of counter units.

48. The apparatus according to claim 38, characterized in that, The first transmission node and the second transmission node are different nodes connecting the two ends of the 5GS; One of the first transmission node and the second transmission node is a device-side TSN converter DS-TT, and the other is a network-side TSN converter NW-TT; or, the first transmission node and the second transmission node are two different DS-TT converters.

49. An electronic device, characterized in that, The electronic device includes: a processor and a machine-readable storage medium; 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 of any one of claims 1 to 25.

Citation Information

Patent Citations

  • Message transmission method, apparatus and system

    WO2021013109A1