Delay compensation method, apparatus and forwarding node

By calculating and applying the upper limit of the delay compensation node, the problem of jitter in end-to-end services in deterministic networks is solved, achieving both the accuracy and simplified implementation of deterministic transmission.

CN119678396BActive Publication Date: 2025-11-21NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380009751.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-20
Publication Date
2025-11-21
Estimated Expiration
2043-07-20

AI Technical Summary

Technical Problem

In deterministic networks, when end-to-end services span multiple network domains, jitter cannot meet the requirements of high deterministic carrying due to differences in scheduling and traffic admission control at network domain boundaries.

Method used

The delay compensation node receives data packets, obtains the sum of the dwell time and adjustment time of each network domain, calculates the compensation upper limit, delays the difference as the current compensation delay, and schedules data packets to eliminate jitter.

Benefits of technology

It effectively reduces jitter in end-to-end services, ensures deterministic transmission, and eliminates the need for cross-domain time synchronization, simplifying the implementation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119678396B_ABST
    Figure CN119678396B_ABST
Patent Text Reader

Abstract

A time delay compensation method, device and forwarding node are applied to a time delay compensation node. The method comprises the following steps: receiving a first data packet through a first path in a target path group, the first data packet carrying first residence time delays of multiple network domains, and the first data packet belonging to a target deterministic service flow; performing forwarding processing on the first data packet to obtain a second data packet; obtaining a first compensation upper limit value of the target deterministic service flow on the first path, the first compensation upper limit value being determined according to a sum of second residence time delays of all network domains through which a third data packet of the target deterministic service flow passes on the first path and an adjustment time delay corresponding to the first path; taking a difference between the first compensation upper limit value and a sum of all first residence time delays as a current compensation time delay; and scheduling the second data packet after delaying for the current compensation time delay. The technical solution provided in the application can reduce jitter in end-to-end service and ensure deterministic transmission of the end-to-end service.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a delay compensation method, apparatus and forwarding node. Background Technology

[0002] In deterministic networks, end-to-end services may span multiple network domains, each employing different queuing mechanisms. Due to variations in scheduling and traffic admission control at network domain boundaries, as well as differences in queuing and forwarding mechanisms within deterministic network domains, the jitter of end-to-end services spanning multiple network domains cannot meet the requirements of high deterministic bearer performance. Summary of the Invention

[0003] The purpose of this application is to provide a latency compensation method, apparatus, and forwarding node to reduce jitter in end-to-end services and ensure deterministic transmission of end-to-end services. The specific technical solution is as follows:

[0004] In a first aspect, embodiments of this application provide a time delay compensation method applied to a time delay compensation node, the method comprising:

[0005] A first data packet is received via the first path in the target path group. The first data packet carries the first dwell time of each network domain that the first data packet passes through on the first path. The first data packet belongs to the target deterministic service flow.

[0006] The first data packet is forwarded to obtain the second data packet;

[0007] Obtain a first compensation upper limit value for the target deterministic service flow on the first path. The first compensation upper limit value is determined based on the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment time corresponding to the first path.

[0008] The difference between the first compensation upper limit and the sum of all first dwell times is taken as the current compensation delay;

[0009] After delaying the current compensation delay, the second data packet is scheduled.

[0010] Secondly, embodiments of this application provide a latency compensation device applied to a latency compensation node. The device includes: a parsing module, a forwarding module, a compensation module, and a scheduling module.

[0011] The parsing module is configured to receive a first data packet through a first path in the target path group, wherein the first data packet carries the first dwell time of each network domain traversed by the first data packet on the first path, and the first data packet belongs to a target deterministic service flow; and send the first data packet to the forwarding module.

[0012] The forwarding module is used to forward the first data packet to obtain a second data packet; and send the second data packet to the compensation module.

[0013] The compensation module is configured to obtain a first compensation upper limit value for the target deterministic service flow on the first path. The first compensation upper limit value is determined based on the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment delay corresponding to the first path. The difference between the first compensation upper limit value and the sum of all first dwell times is used as the current compensation delay. After delaying the current compensation delay, the second data packet is sent to the scheduling module.

[0014] The scheduling module is used to schedule the second data packet.

[0015] Thirdly, embodiments of this application provide a forwarding node that performs the delay compensation method described in any of the above claims.

[0016] In the technical solution provided in this application embodiment, the delay compensation node determines the first compensation upper limit value of the target deterministic service flow on the first path based on the sum of the dwell times of the third data packet of the target deterministic service flow through all network domains on the first path and the adjustment delay corresponding to the first path. The first node and the last node of the segment of the first path within a network domain can easily and quickly achieve time synchronization, thereby accurately obtaining the dwell times of the third data packet / first data packet in that network domain. Based on the accurately obtained second dwell times, the delay compensation node can accurately determine the first compensation upper limit value, and thus accurately determine the current compensation delay. Based on the accurate current compensation delay, the delay compensation node performs delay compensation on the data packet, which can effectively eliminate jitter and reduce jitter in end-to-end services, such as reducing the jitter between the head node and the tail node of the target path group, ensuring deterministic transmission of end-to-end services. Attached Figure Description

[0017] The accompanying drawings, which are provided to further illustrate this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application.

[0018] Figure 1A schematic diagram of the network topology for the end-to-end service provided in the embodiments of this application;

[0019] Figure 2 A flowchart illustrating a time delay compensation method provided in an embodiment of this application;

[0020] Figure 3 A flowchart illustrating a method for obtaining the compensation upper limit value provided in an embodiment of this application;

[0021] Figure 4 A schematic diagram illustrating the timing of receiving data packets as provided in an embodiment of this application;

[0022] Figure 5 A schematic diagram of a time delay compensation device provided in an embodiment of this application;

[0023] Figure 6 Another schematic diagram of the time delay compensation device provided in the embodiments of this application;

[0024] Figure 7 Another schematic diagram of the network topology for the end-to-end service provided in the embodiments of this application;

[0025] Figure 8a This is a schematic diagram of the structure of a self-learning module provided in an embodiment of this application;

[0026] Figure 8b This is a schematic diagram of the structure of a data cache table provided in an embodiment of this application;

[0027] Figures 9a-9d This is a schematic diagram of a process for learning the compensation upper limit value provided in an embodiment of this application. Detailed Implementation

[0028] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are merely some embodiments of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments in this application are within the scope of protection of this application.

[0029] Currently, the number of global machine-to-machine (M2M) communication connections is growing rapidly year by year, approaching 30 billion, and is expected to reach 1 trillion connections by 2035. The industrial internet, primarily connecting intelligent machines, will become a crucial direction for future network development. The communication modes and traffic patterns of intelligent machines will undergo fundamental changes. In particular, data communication scenarios such as remote control, intelligent manufacturing, and integrated land, sea, and air transportation place high deterministic demands on networks, requiring ultra-low latency and ultra-low jitter.

[0030] In deterministic networks, end-to-end services may span multiple network domains, such as... Figure 1 The network topology shown comprises three network domains, namely deterministic networks 1 through 3. Deterministic network 1 includes three forwarding nodes, such as A1, B1, and C1; deterministic network 2 includes four forwarding nodes, such as A2, B2, C2, and D2; and deterministic network 3 includes three forwarding nodes, such as A3, B3, and C3. Communication between the message sender (Talker) and the message receiver (Listener) spans these three network domains, namely deterministic networks 1 through 3. Forwarding nodes can be routers or switches, etc. Deterministic networks 1 through 3 employ different queuing mechanisms. Due to the scheduling and traffic admission control at network domain boundaries, as well as the different queuing and forwarding mechanisms within deterministic network domains, the jitter of end-to-end services spanning multiple network domains cannot meet the requirements of high deterministic bearer performance.

[0031] To reduce jitter in end-to-end services and ensure deterministic transmission, this application provides a latency compensation method based on multipath planning, such as... Figure 2 As shown. This delay compensation method is applied to the forwarding node performing delay compensation, and is simply called the delay compensation node. The delay compensation node can be the tail node of the path, such as... Figure 1 Forwarding node B3 in the middle can also be an intermediate node, such as... Figure 1 Forwarding nodes A3 and C3, etc. The above delay compensation method includes the following steps.

[0032] Step S21: Receive a first data packet through the first path in the target path group. The first data packet carries the first dwell time of each network domain traversed on the first path. The first data packet belongs to the target deterministic service flow.

[0033] Step S22: Forward the first data packet to obtain the second data packet;

[0034] Step S23: Obtain the first compensation upper limit value of the target deterministic service flow on the first path. The first compensation upper limit value is determined based on the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment time corresponding to the first path.

[0035] Step S24: The difference between the first compensation upper limit and the sum of all first dwell times is taken as the current compensation delay.

[0036] Step S25: After delaying the current compensation delay, schedule the second data packet.

[0037] In the technical solution provided in this application embodiment, the delay compensation node determines the first compensation upper limit value of the target deterministic service flow on the first path based on the sum of the dwell times of the third data packet of the target deterministic service flow through all network domains on the first path and the adjustment delay corresponding to the first path. The first node and the last node of the segment of the first path within a network domain can easily and quickly achieve time synchronization, thereby accurately obtaining the dwell times of the third data packet / first data packet in that network domain. Based on the accurately obtained second dwell times, the delay compensation node can accurately determine the first compensation upper limit value, and thus accurately determine the current compensation delay. Based on the accurate current compensation delay, the delay compensation node performs delay compensation on the data packet, which can effectively eliminate jitter and reduce jitter in end-to-end services, such as reducing the jitter between the head node and the tail node of the target path group, ensuring deterministic transmission of end-to-end services.

[0038] Furthermore, the technical solution provided in this application embodiment only requires time synchronization within the network domain to achieve accurate latency compensation, without the need for cross-domain time synchronization. This reduces the difficulty of implementing the solution, facilitates its widespread application, and improves the accuracy of latency compensation.

[0039] In step S21 above, the target deterministic service flow is any deterministic service flow, and the deterministic service flow is the service flow that requires deterministic transmission, such as... Figure 1 The first data packet belongs to the deterministic service flow to which the message sender belongs. The first data packet can be any data packet within the target deterministic service flow. The target path group is the group of paths that protect the target deterministic service flow. The target path group includes multiple paths, such as... Figure 1 The target path group consists of path 1 and path 2. The first path is any path in the target path group. When transmitting the first data packet through the target path group, the header node copies the first data packet on each path included in the target path group and transmits the first data packet through each path respectively.

[0040] For end-to-end services spanning multiple network domains, each path traverses multiple network domains. When a data packet is transmitted along a path, it passes through each network domain traversed by that path. The dwell time of the data packet in each network domain is the transmission delay of the data packet in that network domain. When different data packets pass through the same network domain on the same path, their dwell times in that network domain may be the same or different. Forwarding nodes can calculate the dwell time of the data packet in each network domain along the path and add the calculated dwell time to the data packet.

[0041] Still with Figure 1The network topology shown is an example. The message sender and message receiver span three network domains. The message sender sends data packet 1 (as described in the first data packet above) to the message receiver via path 1 and path 2 (as described in the first path above). Node B3 is a delay compensation node.

[0042] Node B3 receives data packet 1 through path 1. Data packet 1 carries dwell time delay 11, dwell time delay 12, and dwell time delay 13. Dwell time delay 11 is the dwell time of data packet 1 through deterministic network 1 on path 1, dwell time delay 12 is the dwell time of data packet 1 through deterministic network 2 on path 1, and dwell time delay 13 is the dwell time of data packet 1 through deterministic network 3 on path 1.

[0043] Node B3 receives data packet 1 through path 2. Data packet 1 carries dwell time delay 21, dwell time delay 22, and dwell time delay 23. Dwell time delay 21 is the dwell time of data packet 1 in deterministic network 1 traversed by path 2, dwell time delay 22 is the dwell time of data packet 1 in deterministic network 2 traversed by path 2, and dwell time delay 23 is the dwell time of data packet 1 in deterministic network 3 traversed by path 2.

[0044] In step S22 above, the forwarding process includes, but is not limited to, querying the interface and re-encapsulating the packet. The delay compensation node forwards the first data packet to obtain the second data packet.

[0045] In step S23 above, the third data packet can be any data packet of the target deterministic service flow. The third data packet can be the same as or different from the first data packet. The delay compensation node can calculate the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment time corresponding to the first path, and determine this sum as the first compensation upper limit value. The first compensation upper limit value can be understood as the maximum compensation delay used when performing delay compensation on the data packets of the target deterministic service flow transmitted through the first path.

[0046] After receiving the first data packet, the delay compensation node obtains the compensation upper limit value of the target deterministic service flow on the first path, i.e. the first compensation upper limit value.

[0047] In this embodiment of the application, the delay compensation node can obtain the first compensation upper limit value in any of the following ways.

[0048] In the first method, the first data packet carries a first compensation upper limit value. The delay compensation node obtains the first compensation upper limit value from the first data packet.

[0049] In this approach, the head node of the target path group can encapsulate the first compensation upper limit value in the first data packet. After receiving the first data packet, the delay compensation node can directly extract the first compensation upper limit value from the first data packet without looking up a table, thus improving the packet processing efficiency.

[0050] The second approach involves storing the upper limit compensation value for each path in the target path group for the target deterministic service flow within the delay compensation node. In other words, the delay compensation node stores the correspondence between deterministic service flows, paths, and upper limit compensation values. The delay compensation node then searches for the first upper limit compensation value from the stored upper limit compensation values ​​for each path in the target path group for the target deterministic service flow.

[0051] In this approach, after receiving the first data packet, the delay compensation node can find the first compensation upper limit value from the correspondence stored locally based on the identifier of the first path that transmits the first data packet and the identifier of the target deterministic service flow. This eliminates the need for the first data packet to carry the first compensation upper limit value, reducing packet load and saving network bandwidth.

[0052] In this embodiment, the delay compensation node can also obtain the first compensation upper limit value through other means, and this is not limited. The execution order of the above steps S22 and S23 is not limited.

[0053] In step S24 above, the delay compensation node calculates the sum of all first dwell times and the difference between the first compensation upper limit and the sum. This difference is the current compensation delay.

[0054] The example in step S21 above will be used for illustration. Node B3 receives data packet 1 through path 1. This data packet 1 carries dwell time delay 11, dwell time delay 12, and dwell time delay 13. Node B3 obtains the first compensation upper limit value as Cap1. Node B3 calculates the sum of dwell time delay 11, dwell time delay 12, and dwell time delay 13 as ActD1, and then determines the current compensation delay CompD1 as: Cap1 - ActD1.

[0055] In step S25 above, after obtaining the current compensation delay, the delay compensation node delays the second data packet, that is, after delaying the current compensation delay, it schedules the second data packet, such as... Figure 1 In the process, after receiving data packet 1, node B3 delays CompD1 and then schedules the forwarding of data packet 1 to obtain data packet 2, and sends data packet 2 to the message receiver.

[0056] In some embodiments, before receiving a first data packet via a first path in the target path group, the delay compensation node can learn to determine the upper limit of compensation for the target deterministic service flow on each path included in the target path group. For example... Figure 3 As shown, Figure 3 This is a flowchart illustrating a method for obtaining the compensation upper limit value provided in an embodiment of this application. The method may include the following steps.

[0057] Step S31: Receive the third data packet of the target deterministic service flow through each path in the target path group. The third data packet carries the second dwell time of each network domain traversed by the third data packet on each path.

[0058] Step S32: Parse the third data packet to obtain the metadata of the third data packet. The metadata includes the second dwell time of the third data packet in each network domain it passes through on each path and the time point when the third data packet is received through each path.

[0059] Step S33: Calculate the difference between the preset reference time point and the time point when the third data packet is received through each path to obtain the adjustment delay corresponding to each path.

[0060] Step S34: For each path, calculate the sum of the second dwell time and the adjustment time corresponding to the path, and use it as the upper limit of compensation for the target deterministic service flow on that path.

[0061] In the technical solution provided in this application embodiment, the preset reference time point and the time point of receiving the third data packet are both time points on the delay compensation node. Time synchronization between network domains is not required, and the adjustment delay corresponding to each path and the corresponding compensation upper limit can be accurately obtained, which reduces the complexity of the solution implementation.

[0062] In step S31 above, when transmitting the third data packet through the target path group, the head node copies a third data packet on each path included in the target path group and transmits one third data packet through each path respectively. Through each path in the target path group, the delay compensation node receives one third data packet respectively. The third data packet carries the second dwell time of each network domain traversed on each path, as detailed in the description of the first data packet.

[0063] In step S32 above, the delay compensation node parses the third data packet to obtain the metadata of the third data packet, namely the second dwell time corresponding to each path and the time point when the third data packet is received through each path.

[0064] In step S33 above, the delay compensation node can determine the reference delay corresponding to the target path group. The reference delay is the duration between the time the head node sends the data packet and the time the delay compensation node receives the data packet. The preset reference time point is the time when the delay compensation node receives the data packet corresponding to the reference delay.

[0065] The preset reference time point can be set in advance. To allow for flexible determination of the compensation upper limit, the preset reference time point can be determined based on the actual time point of the received data packets.

[0066] For example, the delay compensation node can delay the time point when the third data packet is received through a specified path in the target path group by a preset adjustment delay to obtain a preset reference time point. In this embodiment, the delay compensation node determines a specified path in the target path group, obtains the time point when the third data packet is received through the specified path as the target time point, and delays the target time point by a preset adjustment delay to obtain the preset reference time point. The specified path can be any path in the target path group; for example, the specified path is the path in the target path group where the third data packet is received latest. The preset adjustment delay is the delay that needs to be adjusted based on engineering requirements.

[0067] Based on a preset reference time point, for each path, the delay compensation node can calculate the difference between the preset reference time point and the time point when the third data packet is received through the path, and obtain the adjusted delay corresponding to the path.

[0068] Combination Figure 4 The diagram showing the time points of data packet reception illustrates how the adjustment delay is determined. Figure 4 In this diagram, path 1 and path 2 form a path group. t0 is the time point when the head node sends a data packet 0 (as mentioned above, the third data packet) on both paths 1 and 2. t1 is the time point when the delay compensation node receives data packet 0 via path 1, and t2 is the time point when the delay compensation node receives data packet 0 via path 2. T2r is the preset adjustment delay. Taking the path that receives the third data packet last in the target path group as an example, t2 is later than t1. Therefore, path 2 is the specified path, and t2 is delayed by T2r to obtain the preset reference time point tr. Correspondingly, the adjustment delay T1r for path 1 is tr - t1, and the adjustment delay T2r for path 2 is tr - t2.

[0069] In step S34 above, for each path, the delay compensation node calculates the sum of the second dwell time corresponding to the path, calculates the sum of the sum and the sum of the adjustment time corresponding to the path, and finally obtains the compensation upper limit value of the target deterministic business flow on the path.

[0070] Still with Figure 4 Let's take an example. Data packet 0 belongs to deterministic service flow 0. Data packet 0 is received through path 1, and the sum of its dwell time is ActD01. Data packet 0 is also received through path 2, and the sum of its dwell time is ActD02. The delay compensation node calculates that the upper limit of compensation for deterministic service flow 0 on path 1 is ActD01 + T1r, and the upper limit of compensation for deterministic service flow 0 on path 2 is ActD02 + T2r.

[0071] In this embodiment of the application, the compensation delay can be expressed as the following formula (1):

[0072] CompD_i=Cap_i-ActD_i′ (1)

[0073] Where CompD_i represents the compensation delay of a deterministic service flow on path i, Cap_i represents the upper limit of compensation for a deterministic service flow on path i, and ActD_i′ represents the sum of dwell times of a data packet of a deterministic service flow through all network domains on path i.

[0074] Cap_i=ActD_i+Tir (2)

[0075] Where ActD_i represents the dwell time and value of a data packet in a deterministic service flow across all network domains traversed by path i, and Tir represents the adjustment delay corresponding to path i.

[0076] Combination Figure 4 The following formula (3) can be obtained.

[0077] PthRefD_1=tr-t0=(t1-t0)+T1r=(FixD_1+ActD_1)+T1r

[0078] =FixD_1+ActD_1+Tlr (3)

[0079] Where PthRefD_1 represents the reference delay corresponding to path 1, (t1-t0) is the delay between the head node and the delay compensation node, and the delay includes the fixed transmission delay FixD_1 of the data packet on path 1 and the dwell delay and value ActD_1 of the data packet in the network domain traversed on path 1.

[0080] By transforming the above formula (3), we can obtain the following formula (4).

[0081] PthRefD_1-FixD_1=ActD_1+Tlr (4)

[0082] Combining formulas (4), (1), and (2), we can determine that Capi = PthRefD_i - FixD_i and CompD_i = PthRefD_i - FixD_i - ActD_i′, where PthRefD_i represents the reference delay corresponding to path i, and FixD_i represents the fixed transmission delay of the data packet on path i. This is precisely the calculation method for compensation delay in related technologies. Based on this, it can be seen that the compensation upper limit value provided in the embodiments of this application can accurately obtain the compensation upper limit value corresponding to each path without performing time synchronization between network domains, thus reducing the complexity of the scheme implementation.

[0083] In some embodiments, after obtaining the upper limit of compensation for the target deterministic service flow on the path, the delay compensation node can send the upper limit of compensation for the target deterministic service flow on each path to the head node of the target path group. In this way, the head node can encapsulate the first upper limit of compensation in the first data packet; that is, the first data packet sent by the head node carries the first upper limit of compensation. Furthermore, the delay compensation node can obtain the first upper limit of compensation from the first data packet.

[0084] In other embodiments, after obtaining the compensation cap for the target deterministic service flow on that path, the latency compensation node can store the compensation cap for the target deterministic service flow on each path. Subsequently, the latency compensation node can look up a first compensation cap from the stored compensation caps for the target deterministic service flow on each path in the target path group.

[0085] In this embodiment of the application, the delay compensation node can store the upper limit value of compensation according to actual needs, and there is no limitation on this.

[0086] In this embodiment, to achieve a more accurate learning compensation upper limit, the latency compensation node can be configured with a learning information table, a stream information table, and a data cache table. The latency compensation node determines the learning compensation upper limit based on the configured learning information table, stream information table, and data cache table.

[0087] In some embodiments, the learning information table includes the flow identifier of a deterministic business flow that is learning the compensation cap value;

[0088] Each entry in the flow information table includes flow information of the deterministic service flow configured in the control plane and a learning indicator bit. The learning indicator bit is a first preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is completed. The learning indicator bit is a second preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is not completed. The flow information includes a flow identifier.

[0089] Each entry in the data cache table includes flow information for a deterministic service flow that is learning the compensation upper limit, the sequence number of the data packet of the deterministic service flow, and the path information corresponding to the sequence number. The path information includes the sum of the dwell times of all network domains that the data packet passes through on each path, and the time point at which the data packet arrives at the delay compensation node along each path.

[0090] Metadata also includes the target flow identifier for the target deterministic business flow;

[0091] In this case, the above-mentioned delay compensation methods may also include:

[0092] If the learning information table and the flow information table meet the preset learning conditions, then add the target path information corresponding to the sequence number of the third data packet to the data cache table. The target path information includes the sum of the dwell times of all network domains that the third data packet passes through on the current path, and the time point at which the third data packet arrives at the delay compensation node along the current path.

[0093] When the number of target path information in the data cache table reaches the number of paths in the target path group, the step of calculating the difference between the preset reference time point and the time point when the third data packet is received through each path is performed based on the target path information in the data cache table to obtain the adjustment delay corresponding to each path; the learning indicator bit corresponding to the target flow identifier in the flow information table is updated to the first preset value.

[0094] The preset learning conditions are:

[0095] The learning information table does not include the target flow identifier, the number of flow identifiers included in the learning information table is less than a preset number, and the learning indicator bit corresponding to the target flow identifier in the flow information table is a second preset value; or,

[0096] The learning information table includes a target flow identifier, and the learning indicator bit corresponding to the target flow identifier in the flow information table is a second preset value.

[0097] In some embodiments, the data cache table includes a flow header table, a sequence node table, and a path information table;

[0098] The flow header table includes flow information for deterministic business flows and a first pointer, which points to the first sequence node table;

[0099] The sequence node table includes the sequence number of the data packet, the time point of the latest received data packet, the number of received data packets, a second pointer and a third pointer. The second pointer points to a path information table, and the third pointer points to the next sequence node table.

[0100] Each entry in the path information table includes the path identifier, the sum of the dwell times of all network domains the data packet passes through on the path, and the time when the data packet arrives at the delay compensation node along the path.

[0101] In some embodiments, after determining the upper limit of compensation for the target deterministic service flow on each path, the above-mentioned latency compensation method may further include:

[0102] Set the target flow identifier in the learning information table to an invalid identifier;

[0103] Reclaim the table entries associated with the target stream identifier in the data cache table.

[0104] In some embodiments, the flow information further includes the time window length of the deterministic service flow, the number of paths included in the path group transmitting the deterministic service flow, and the preset adjustment delay corresponding to the deterministic service flow.

[0105] In some embodiments, the above-described time delay compensation method may further include:

[0106] Determine a target sequence node table whose duration from the first time point to the second time point is greater than the length of the time window. The first time point is the time point of the currently received data packet, and the second time point is the time point of the latest received data packet included in the target sequence node table. The target sequence node table is any sequence node table associated with the deterministic service flow to which the currently received data packet belongs.

[0107] Reclaim all sequence node tables following the target sequence node table, and clear the target path information table pointed to by the target sequence node table.

[0108] In some embodiments, when the sequence number included in the target sequence node table is the sequence number of the currently received data packet, the above delay compensation method may further include:

[0109] Update the target sequence node table and target path information table based on the currently received data packets;

[0110] In the target path information table, determine the target table entry whose duration from the first time point to the third time point is greater than the length of the time window, and the third time point is the time point recorded in the target table entry;

[0111] Delete the target table entry.

[0112] The method of learning compensation upper limit based on the learning information table, stream information table and data cache table will be explained in detail later, and will not be elaborated on here.

[0113] Corresponding to the above-mentioned delay compensation method, this application embodiment also provides a delay compensation device, such as... Figure 5As shown, the device is applied to a delay compensation node and includes: a parsing module 51, a forwarding module 52, a compensation module 53, and a scheduling module 54. The parsing module 51 is connected to the forwarding module 52, the forwarding module 52 is connected to the compensation module 53, and the compensation module 53 is connected to the scheduling module 54.

[0114] The parsing module 51 is used to receive a first data packet through the first path in the target path group. The first data packet carries the first dwell time of each network domain that the first data packet passes through on the first path. The first data packet belongs to the target deterministic service flow. The first data packet is then sent to the forwarding module 52.

[0115] Forwarding module 52 is used to forward the first data packet to obtain the second data packet; and send the second data packet to compensation module 53.

[0116] The compensation module 53 is used to obtain the first compensation upper limit value of the target deterministic service flow on the first path. The first compensation upper limit value is determined based on the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment time corresponding to the first path. The difference between the first compensation upper limit value and the sum of all first dwell times is used as the current compensation time. After delaying the current compensation time, the second data packet is sent to the scheduling module 54.

[0117] The scheduling module 54 is used to schedule the second data packet.

[0118] In the technical solution provided in this application embodiment, the delay compensation node determines the first compensation upper limit value of the target deterministic service flow on the first path based on the sum of the dwell times of the third data packet of the target deterministic service flow through all network domains on the first path and the adjustment delay corresponding to the first path. The first node and the last node of the segment of the first path within a network domain can easily and quickly achieve time synchronization, thereby accurately obtaining the dwell times of the third data packet / first data packet in that network domain. Based on the accurately obtained second dwell times, the delay compensation node can accurately determine the first compensation upper limit value, and thus accurately determine the current compensation delay. Based on the accurate current compensation delay, the delay compensation node performs delay compensation on the data packet, which can effectively eliminate jitter and reduce jitter in end-to-end services, such as reducing the jitter between the head node and the tail node of the target path group, ensuring deterministic transmission of end-to-end services.

[0119] In this embodiment, the parsing module 51, forwarding module 52, and compensation module 53 can correspond to one or more ingress interfaces and one or more egress interfaces. That is, the parsing module 51, forwarding module 52, and compensation module 53 can process data packets from one or more ingress interfaces and send data packets to one or more egress interfaces. To improve the accuracy of latency compensation and ensure deterministic transmission, the compensation module 53 can be configured in the egress interface, meaning the compensation module 53 corresponds to one egress interface.

[0120] In some embodiments, the delay compensation device further includes a self-learning module 55, such as... Figure 6 As shown. The self-learning module 55 is connected to the parsing module 51 and the compensation module 53 respectively.

[0121] The parsing module 51 is also used to receive the third data packet of the target deterministic service flow through each path of the target path group, the third data packet carrying the second dwell time of each network domain traversed by the third data packet on each path; parse the third data packet to obtain the metadata of the third data packet, the metadata including the second dwell time of each network domain traversed by the third data packet on each path, and the time point of receiving the third data packet through each path; and report the metadata to the self-learning module 55.

[0122] The self-learning module 55 is used to calculate the difference between the preset reference time point and the time point when the third data packet is received through each path, so as to obtain the adjustment delay corresponding to each path; for each path, the sum of the second dwell time corresponding to the path and the adjustment delay corresponding to the path is calculated as the compensation upper limit value of the target deterministic business flow on the path.

[0123] In this embodiment of the application, the networking of the end-to-end service can be found in [reference needed]. Figure 7 As shown, multiple paths are established between the head node (HEADNODE) ​​and delay compensation nodes (such as the tail node), as follows: Figure 7 Paths 1 through 3 in the diagram constitute the path group for the protection service. The head node replicates each data packet of the deterministic service flow multiple times and sends one copy to each path constituting the protection service. The delay compensation node automatically learns the compensation upper limit from the received copies. This compensation upper limit is used to calculate the required compensation delay after receiving the data packet of the deterministic service flow, such as the current compensation delay mentioned above.

[0124] In this embodiment, the parsing module 51 can be configured with an Access Control List (ACL), which can include flow information configured in the control plane and preset annotations. The control plane can... Figure 7The SDN controller in the diagram can be used, but other devices can also be used; there is no limitation on this. Flow information can include the flow identifier of the deterministic service flow, five-tuple information, the time window length of the deterministic service flow, the number of paths included in the path group transmitting the deterministic service flow, and the preset adjustment delay corresponding to the deterministic service flow. The preset label can be a first preset label or a second preset label. The first preset label indicates that the compensation upper limit value has not been learned, and the second preset label indicates that the compensation upper limit value has been learned.

[0125] After receiving a data packet from a deterministic service flow (such as the third data packet mentioned above), the parsing module 51 can look up the ACL to obtain the target ACL, thereby determining whether the target deterministic service flow needs to learn the compensation upper limit. The parsing module 51 parses the third data packet to obtain metadata, which is data information describing the received data, and may include: the second dwell time of the third data packet in each network domain traversed on each path, the time point (reception time or arrival time) when the third data packet is received through each path, the receiving interface (ingress interface), the flow identifier (FlowID), etc.

[0126] For a target ACL that matches a third data packet, if the target ACL includes a first preset label, it indicates that the target deterministic service flow needs to learn the compensation upper limit value. The parsing module 51 can send the metadata obtained from parsing the third data packet to the self-learning module 55. After learning the compensation upper limit value of the target deterministic service flow on each path, the self-learning module 55 can update the preset label in the target ACL, that is, update the first preset label to the second preset label, so as to avoid the self-learning module 55 repeatedly learning the compensation upper limit value of the target deterministic service flow, thus avoiding resource waste.

[0127] In this embodiment, the parsing module 51 searches the ACL and, in addition to sending the metadata of the third data packet to the self-learning module 55, can also send the third data packet to the forwarding module 52. Then, the forwarding module 52, the compensation module 53, and the scheduling module 54 perform latency compensation processing on the third data packet. Here, when the compensation module 53 cannot obtain the corresponding compensation upper limit value, latency compensation may not be performed on the data packet. The scheduling module 54 performs composite scheduling of various deterministic service flows. For deterministic service flows with high accuracy requirements, after latency compensation, the scheduling module 54 can schedule them with the highest priority.

[0128] In some embodiments, the self-learning module 55 can also be used to send the compensation upper limit value of the target deterministic service flow on each path to the compensation module; the compensation module 53 can also be used to store the compensation upper limit value of the target deterministic service flow on each path; and search for the first compensation upper limit value from the stored compensation upper limit values ​​of the target deterministic service flow on each path in the target path group.

[0129] In other embodiments, the self-learning module 55 can also be used to send the compensation upper limit value of the target deterministic service flow on each path to the head node of the target path group; the first data packet sent by the head node carries the first compensation upper limit value; the compensation module 53 can specifically be used to obtain the first compensation upper limit value from the first data packet.

[0130] In some embodiments, the self-learning module 55 can also be used to delay the time point at which the third data packet is received through a specified path in the target path group by a preset adjustment delay, thereby obtaining a preset reference time point. The specified path can be the path in the target path group that receives the third data packet latest, or it can be any other path; there is no limitation on this.

[0131] After learning the compensation upper limit value for each path of the target deterministic business flow, the self-learning module 55 can send the compensation upper limit value for each path to the compensation module 53 to achieve local storage of the compensation upper limit value. After learning the compensation upper limit value for each path of the target deterministic business flow, the self-learning module 55 can also send the compensation upper limit value for each path of the target deterministic business flow to the head node of the target path group so that the head node can encapsulate the compensation upper limit value in the data packet.

[0132] The self-learning module 55 can distribute compensation upper limits according to actual needs, improving the flexibility of network configuration and meeting various network requirements.

[0133] To facilitate the implementation of the self-learning module's 55-level learning compensation upper limit, the latency compensation node can be configured with a learning information table, a stream information table, and a data cache table. Among these:

[0134] The learning information table includes the flow identifier of the deterministic business flow that is learning the compensation cap value;

[0135] Each entry in the flow information table includes flow information of the deterministic service flow configured in the control plane and a learning indicator bit. The learning indicator bit is a first preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is completed. The learning indicator bit is a second preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is not completed. The flow information includes a flow identifier.

[0136] Each entry in the data cache table includes flow information for a deterministic business flow that is learning the compensation upper limit, the sequence number of the data packet of the deterministic business flow, and the path information corresponding to the sequence number. The path information includes the sum of the dwell time for each path and the time when the data packet arrives at the delay compensation node along each path.

[0137] To facilitate more granular management of the data cache table, the data cache table can include a flow header table, a sequence node table, and a path information table; among which:

[0138] The flow header table includes flow information for deterministic business flows and a first pointer, which points to the first sequence node table;

[0139] The sequence node table includes the sequence number of the data packet, the time point of the latest received data packet, the number of received data packets, a second pointer and a third pointer. The second pointer points to a path information table, and the third pointer points to the next sequence node table.

[0140] Each entry in the path information table includes the path identifier, the sum of the dwell times of all network domains the data packet passes through on the path, and the time when the data packet arrives at the delay compensation node along the path.

[0141] The aforementioned sequence node table and path information table can be pre-allocated resources by the self-learning module 55. Thus, when information needs to be written to the sequence node table and path information table, it can be directly written to the pre-allocated sequence node table and path information table, improving the learning efficiency of the compensation upper limit.

[0142] The aforementioned sequence node table and path information table can also be resources allocated by the self-learning module 55 after receiving a data packet. Thus, when information needs to be written to the sequence node table and path information table, allocating resources and establishing these tables can effectively conserve the table entry resources of the self-learning module 55.

[0143] The following is combined Figure 8a The self-learning module 55 shown and Figure 8b The data cache table shown provides a detailed explanation of the information table, stream information table, and data cache table mentioned above. Figure 8a and Figure 8b In the self-learning module 55, there are control submodule 84, learning information table (InFlightInfo) 81, flow information table (FlowInfoTable) 82 and data cache table (ScratchInfo) 83. The data cache table 83 is divided into flow header table 831, sequence node table 832 and path information table 833.

[0144] The learning information table 81 records the FlowID of the deterministic business flow currently being learned. To improve learning efficiency, the compensation upper limit of multiple deterministic business flows can be learned in parallel. However, in specific scenarios, such as configuration recovery, there are too many deterministic business flows to learn, requiring a limit on the number of business flows to be learned in parallel. Since the learning compensation upper limit is not completed instantaneously, in this embodiment, the learning information table 81 records the FlowID of the currently being learned. Figure 8a In the learning process, information table 81 records four FlowIDs: FlowID1 to FlowID4. Following the order of the FlowIDs in information table 81, each FlowID corresponds to an index, such as... Figure 8a The numbers 0 to 3 are above information sheet 81 in the learning materials.

[0145] Each row in Flow Information Table 82 is an entry, which includes flow information and a learning indicator bit (Ready) for deterministic service flows configured in the control plane. Figure 8a In this example, the flow information, including FlowID, time window length (WindLength), number of paths (PathCnt), and preset adjustment delay (Adiustment), does not serve a limiting function.

[0146] Among them, FlowID can uniquely identify a deterministic flow;

[0147] The length of the time window is the same as the learning time window;

[0148] The number of paths corresponds to the number of paths through which the deterministic business flow implements protection services;

[0149] The preset adjustment delay corresponds to the compensation delay that needs to be adjusted for deterministic business flows, and can be selected according to project requirements.

[0150] In this embodiment, the preset adjustment delay can be set to 200 microseconds (μs), indicating that a delay of 200 μs is used as the calculation benchmark for the compensation upper limit based on the arrival time of the specified path, which is equivalent to... Figure 4 T2r in; Figure 8a In the configuration, if the value of the preset adjustment delay column is set to 1, it means that a preset adjustment delay of 200μs has been configured; if the value of the preset adjustment delay column is set to 0, it means that a preset adjustment delay has not been configured and the preset adjustment delay is 0μs.

[0151] The learning indicator bit indicates whether the compensation upper limit learning has been completed. Figure 8a The example uses a first preset value of 1 and a second preset value of 0. A learning indicator bit of 0 indicates that learning is not complete; a learning indicator bit of 1 indicates that learning is complete; when the control plane initializes the flow information table 82, the learning indicator bit is set to 0.

[0152] Each row in data cache table 83 is an entry, and data cache table 83 is used to cache data information during the learning process. Figure 8a and Figure 8b In the illustrated embodiment, four deterministic service flows are cached simultaneously. The data cache table 83 includes a flow head table (FlowHead) 831, a sequence node table (SeqNode) 832, and a path information table (PathInfo) 833.

[0153] The flow head table 831 is a vector with 4 entries, such as... Figure 8b The Head1 to Head4 diagrams describe some common flow information of the deterministic business flow currently being learned. Each entry corresponds to an index, arranged in the order they are listed. Figure 8b The numbers 0-3 on the left side of the flow header table 831 correspond to the same deterministic business flow as the same index in the learning information table 81. Each entry in the flow header table 831 includes:

[0154] Validity: Indicates the validity of this entry. 1 indicates validity, as the vector space is reused, hence this field is used. When it is 0, it indicates that the vector is invalid and can be used by new learning data. Validity can be omitted in the flow header table 831. When validity is omitted, the delay compensation node can reclaim the entry by setting the entry in the flow header table 831 to a preset value (such as 0). Reclaimed entries can be used by new learning data.

[0155] FlowID: Flow identifier, 32 bits, uniquely identifies a deterministic service flow; the FlowID can be omitted in the flow header table 831. When the FlowID is omitted, the FlowID included in each entry can be obtained from the learning information table 81.

[0156] Time window length: The time window length for deterministic business flows, measured in nanoseconds (ns), derived from the time window length in flow information table 82; the time window length can serve the following purposes:

[0157] 1) Aging node data: Different copies of different data packets in the same deterministic business flow have different paths and arrive at different times. It is possible that multiple data packets are received on one path, but other copies of these data packets have not arrived. Therefore, it is necessary to cache the relevant data information of multiple data packets to ensure that a complete set of data is learned, that is, all copies of the same data packet are collected within the same time window; some that time out will be aged out.

[0158] 2) Used to determine whether data with the same sequence number are in the same time window. If they are not in the same time window, the data is invalid. It is possible that the sequence number has been rolled back and they are not different copies of the same data packet.

[0159] Number of Paths: The number of paths used by the protection service of this deterministic business flow, derived from the number of paths in Flow Information Table 82. The number of paths is used as a learning termination condition.

[0160] Preset adjustment delay.

[0161] The first pointer (SeqNodeList) points to the first sequence node list (SeqNode), i.e., the first pointer to the linked list of sequence node lists. During the learning process of the self-learning module 55, which learns the compensation upper limit corresponding to a deterministic business flow, one or more sequence node lists may be created, forming a linked list of sequence node lists, such as... Figure 8b In the middle, the first pointer points to a sequence node table that is immediately adjacent to the flow head table 831.

[0162] Each sequence node table stores the message information of a data packet with a sequence number for a deterministic service flow, including:

[0163] Sequence Number (SeqNum): The sequence number of the data packet;

[0164] Latest arrival time (LatestTime): The time of the latest received data packet, obtained from the data packet;

[0165] RecordNum: The number of valid data packets received; used as one of the conditions for ending the learning process; one data packet corresponds to one path.

[0166] The second pointer (PathInfoPointer): points to the path information table;

[0167] The third pointer (NextNodePointer): points to the next node in the sequence table, such as... Figure 8b In the sequence node table immediately adjacent to the head table 831, the third pointer points to the second sequence node table. If a sequence node table has no next sequence node table, the third pointer is null, such as NULL.

[0168] Path information table 833 includes information about a group of paths. At least two paths constitute a protection service group, i.e., a path group. Figure 8b Taking the example of four paths, Table 833 contains path information. Each row in Table 833 represents one entry, and each path includes...

[0169] Path identifier (PathID), such as Figure 8bThe path IDs shown as PathID1 to PathID4 can be represented by the ingress interface or by the routing information of the data packet, such as the list of Segment Identity (SID) in the SRv6 packet header.

[0170] Arrival Time: The time when a data packet arrives at the delay compensation node along the path (Arrive_Time), that is, the time it takes to arrive at this delay compensation node;

[0171] Cumulative dwell time, such as Figure 8b ActD_1 to ActD_4 shown represent the sum of dwell times for each path, i.e., the cumulative actual dwell times for each path.

[0172] The self-learning module 55 pre-sets learning conditions, i.e., preset learning conditions. The preset learning conditions can be: (1) The learning information table does not include the target flow identifier, the number of flow identifiers included in the learning information table is less than the preset number, and the learning indicator bit corresponding to the target flow identifier in the flow information table is the second preset value; the preset number is the number of deterministic business flows that need to be compensated for in parallel, and the specific size can be set according to actual needs. For example, the preset number can be 4, 5 or 6, etc. (2) The learning information table includes the target flow identifier, and the learning indicator bit corresponding to the target flow identifier in the flow information table is the second preset value.

[0173] Based on the aforementioned preset learning conditions, self-learning module 55 can be specifically used for:

[0174] If the learning information table and the flow information table meet the above-mentioned preset learning conditions (1) or preset learning conditions (2), then the target path information corresponding to the sequence number of the third data packet is added to the data cache table. The target path information includes the sum of the dwell times of all network domains that the third data packet passes through on the current path, and the time point at which the third data packet arrives at the delay compensation node along the current path. The current path is the path of the third data packet received in the current transmission, which is the path indicated by the above-mentioned target path information.

[0175] When the number of target path information entries in the data cache table reaches the number of paths in the target path group, the compensation upper limit for the target deterministic service flow on each path is determined based on the target path information in the data cache table. For example, based on the target path information in the data cache table, the difference between the preset reference time point and the time point when the third data packet is received through each path is calculated to obtain the adjustment delay corresponding to each path. Based on the target path information in the data cache table, for each path, the sum of the second dwell time corresponding to the path and the adjustment delay corresponding to the path is calculated as the compensation upper limit for the target deterministic service flow on that path. The learning indicator bit corresponding to the target flow identifier in the flow information table is updated to the first preset value.

[0176] The self-learning module 55 determines the compensation ceiling for each path of the target deterministic business flow based on the target path information in the data cache table. For details, please refer to [link / reference needed]. Figures 1-4 The self-learning module 55 continuously updates the learning information table 81, the flow information table 82, and the data cache table 83 during the parallel learning process of the compensation upper limit value. For example, when the learning information table 81 and the flow information table 82 meet the above-mentioned preset learning conditions (1), the self-learning module 55 adds the target flow identifier of the target deterministic business flow to the information table 81. After determining the compensation upper limit value of the target deterministic business flow on each path, the compensation upper limit value learning is completed. The self-learning module 55 can set the target flow identifier in the learning information table 81 to an invalid identifier (such as 0xFFFFFFFF) and reclaim the table entries associated with the target flow identifier in the data cache table, such as reclaiming the flow header table, sequence node table linked list, path information table, etc. corresponding to the target deterministic business flow.

[0177] In addition, to ensure the accuracy of the learned compensation upper limit, the self-learning module 55 can base its learning on the time window length in the data cache table, the path information in the aging sequence node table and the path information table.

[0178] For example, self-learning module 55 can also be used for:

[0179] Determine the target sequence node table whose duration from the first time point to the second time point is greater than the length of the time window. The first time point is the time point of the currently received data packet, and the second time point is the time point of the latest received data packet included in the target sequence node table. The target sequence node table is any sequence node table associated with the deterministic service flow to which the currently received data packet belongs. Reclaim all sequence node tables after the target sequence node table and clear the target path information table pointed to by the target sequence node table.

[0180] When the sequence number included in the target sequence node table is the sequence number of the currently received data packet, update the target sequence node table and the target path information table according to the currently received data packet; in the target path information table, determine the target table entry whose duration from the first time point to the third time point is greater than the length of the time window, and the third time point is the time point recorded in the target table entry; delete the target table entry.

[0181] The operation of the self-learning module 55 described above can be performed by the control submodule 84. Through the above embodiment, the self-learning module 55 can clear sequence node tables and path information that are not in the same time window, avoiding the problem of incorrect learning of the compensation upper limit value due to sequence number rollback. Furthermore, the above modules can be implemented in software or hardware; there is no limitation on this.

[0182] The following is a conclusion. Figures 9a-9d The flowchart shown illustrates the learning process for the compensation upper limit value, providing a detailed explanation of the method for the self-learning module 55 to learn the compensation upper limit value provided in this application embodiment. Figures 9a-9d Processes A, B, C, and D are shown respectively.

[0183] In step S91, the self-learning module 55 receives a self-learning message from the parsing module 51. This self-learning message includes metadata. This metadata includes: Flow ID, Arrival Time, Receive Interface, and actual dwell time for each network domain. Hereafter, we will use FlowID_x as an example for the Flow ID included in this metadata. Assuming the current data packet is received from path i, the self-learning module 55 can calculate the cumulative dwell time value ActD_i based on the actual dwell time for each network domain.

[0184] In step S92, the self-learning module 55 determines whether the information table 81 in the learning process is full. If yes, proceed to step S93; otherwise, proceed to step S924.

[0185] In this embodiment, the self-learning module 55 is used as an example to learn the compensation upper limit of four deterministic business flows in parallel. A maximum of four FlowIDs can be written into the learning information table 81. When four FlowIDs have been written into the learning information table 81, the table is full, and the self-learning module 55 has reached its maximum parallel learning capacity. The processing in step S92 effectively limits the flow, preventing a large number of messages from impacting the self-learning module 55.

[0186] In step S93, the self-learning module 55 determines whether the learning information table 81 contains FlowID_x. If it does, proceed to step S94; otherwise, end the processing of the current self-learning message.

[0187] The self-learning module 55 queries the learning information table 81. If FlowID_x is found, it determines that FlowID_x is contained in the learning information table 81. Otherwise, it determines that FlowID_x is not contained in the learning information table 81 and ends the processing of the current self-learning message.

[0188] In step S94, the self-learning module 55 queries the flow information table 82 to obtain the configuration information corresponding to FlowID_x, and then executes step S95. The configuration information corresponding to FlowID_x includes the flow information corresponding to FlowID_x and the learning indicator bit.

[0189] In step S95, the self-learning module 55 determines, based on the obtained configuration information, whether the current deterministic business flow has completed learning the compensation upper limit value. If yes, the processing of the current self-learning message ends; otherwise, execution continues. Figure 9b The process shown is B, which is step S96.

[0190] In this embodiment, a learning indicator bit of 0 indicates that learning is not complete; a learning indicator bit of 1 indicates that learning is complete. If the learning indicator bit in the configuration information is 1, the self-learning module 55 can determine that the current deterministic service flow has completed the learning of the compensation upper limit value. This situation may be caused by the self-learning module 55 not completing the synchronization with the parsing module 51. If the learning indicator bit in the configuration information is 0, the self-learning module 55 can determine that the current deterministic service flow has not completed the learning of the compensation upper limit value.

[0191] In step S96, the self-learning module 55 obtains the corresponding entry from the flow header table 831 based on the index of FlowID_x in the learning information table 81, and then executes step S97.

[0192] In step S97, the self-learning module 55 starts from the first sequence node table in the sequence node table linked list associated with the obtained entries and traverses each sequence node table in the sequence node table linked list.

[0193] In this embodiment, the currently traversed sequence node table is simply referred to as the current node for ease of subsequent explanation. The sequence number included in the current node may be the same as or different from the sequence number of the current data packet.

[0194] In step S98, the self-learning module 55 determines whether the current node has timed out. If it has timed out, step S910 is executed; if it has not timed out, step S912 is executed.

[0195] In this embodiment, the self-learning module 55 can obtain the latest arrival time (LatestTime) from the current node, the arrival time of the current data packet (Arrive_Time), and the time window length (WindLength) included in the obtained entries. If Arrive_Time - LatestTime > WindLength, it indicates that the current node has timed out; otherwise, it indicates that the current node has not timed out.

[0196] In step S910, the self-learning module 55 collects all sequence node tables after the current node in the sequence node table linked list and updates the data information recorded in the current node. For example, the self-learning module 55 updates the latest arrival time (LatestTime) of the current node with the arrival time of the current data packet, and updates the number of valid data packets (RecordNum) to 1.

[0197] In step S911, the self-learning module 55 clears the original information recorded in the path information table 833 pointed to by the current node; and records the path information of the current data packet. For example, the self-learning module 55 writes the path identifier (PathID), arrival time (Arrive_Time), and ActD_i corresponding to the current data packet into the path information table 833; and ends the processing of the current self-learning message.

[0198] In step S912, the self-learning module 55 determines whether the sequence number included in the current node is the same as the sequence number of the current data packet. If they are the same, proceed to step S913; if they are not the same, proceed to step S922.

[0199] Step S913, the self-learning module 55 processes the path information table 833 pointed to by the current node and executes... Figure 9c The process shown is C, which is step S914.

[0200] In this embodiment of the application, the self-learning module 55 processes the path information table 833 in the following two steps.

[0201] Step a: If the current data packet is a data packet with a new path, insert the path information of the new path into the path information table 833;

[0202] Step b: Delete the timed-out path information in path information table 833.

[0203] For any path information recorded in the path information table 833, taking the arrival time included in the path information as PathInfo.Arrive_Time, the arrival time of the current data packet as Arrive_Time, and the time window length included in the obtained entry as WindLength as an example.

[0204] If Arrive_Time - LatestTime > WindLength, it means the path information has timed out and needs to be deleted; otherwise, it means the path information has not timed out.

[0205] In this embodiment of the application, the execution order of steps a and b is not limited.

[0206] In step S914, the self-learning module 55 updates the current node. For example, the self-learning module 55 updates the latest arrival time (LatestTime) of the current node using the arrival time of the current data packet, and updates the number of valid data packets (RecordNum) using the number of path information included in the current path information table 833. The number of path information included in the current path information table 833 can be calculated based on the number of deleted timeout path information and the currently added path information.

[0207] In step S915, the self-learning module 55 determines whether the RecordNum number has reached PathCnt. If yes, proceed to step S916; otherwise, end the processing of the current self-learning message.

[0208] In step S916, the self-learning module 55 reads the path information table 833 and executes steps S917 to S920.

[0209] In this embodiment of the application, there is no explicit order between steps S917, S918 and S920, and they can be executed in parallel.

[0210] In step S917, the self-learning module 55 updates the learning indicator bit corresponding to FlowID_x in the flow information table 82. For example, if the learning indicator bit is updated to 1, the processing of the current self-learning message ends.

[0211] In step S918, the self-learning module 55 updates the relevant annotations in the ACL of the parsing module 51, such as updating the first preset annotation in the ACL to the second preset annotation.

[0212] In step S919, the self-learning module 55 reclaims the resources in the learning information table 81 corresponding to FlowID_x, reclaims the resources corresponding to FlowID_x in the data cache table, and ends the current self-learning message processing.

[0213] In step S920, the self-learning module 55 calculates the compensation upper limit value Cap_i based on the read path information. The reference processing procedure is as follows:

[0214] a) The number of protection service paths in this embodiment is 4. They are arranged from earliest to latest according to their arrival time as t1, t2, t3, and t4;

[0215] b) Calculate tr = t4 + Adjustment. Where tr is the preset reference time point.

[0216] c) Calculate Tir (i is 1 to 4), i.e., Tir = tr - ti; for example, T1r = tr - t1.

[0217] d) Calculate Cap_i (i is 1 to 4), that is, Cap_i = Tir + ActD_i; for example, Cap_1 = T1r + ActD_1;

[0218] For specific calculation methods, please refer to the above. Figures 1-4 Related descriptions for some parts.

[0219] Step S921: Self-learning module 55 updates the compensation upper limit value in the compensation module and ends the current self-learning message processing.

[0220] Step S922: The self-learning module 55 requests resources for the path information table and the sequence node table, that is, it requests storage space for the path information table and the sequence node table, and then executes step S923.

[0221] In step S923, the self-learning module 55 records information in the applied path information table and sequence node table.

[0222] For example, the path information table records the path information of the current data packet, such as PathID, Arrive_Time, and ActD_i. The sequence node table records the SeqNum, LatestTime, RecordNum of the current data packet, and a pointer to the path information table; then the processing of the current self-learning message ends.

[0223] In step S924, the self-learning module 55 queries the flow information table 82 to obtain the configuration information corresponding to FlowID_x, and then executes step S925. The configuration information corresponding to FlowID_x includes the flow information corresponding to FlowID_x and the learning indicator bit.

[0224] In step S925, the self-learning module 55 determines, based on the obtained configuration information, whether the current deterministic business flow has completed learning the compensation upper limit value. If yes, the processing of the current self-learning message ends; otherwise, step S926 is executed.

[0225] Step S926: The self-learning module 55 adds the current flow identifier FlowID_x to the learning information table 81 and executes... Figure 9d The process shown is D, which is the execution step S927.

[0226] In this embodiment of the application, if the learning information table 81 does not include FlowID_x, the self-learning module 55 executes step S926; if the learning information table 81 includes FlowID_x, the self-learning module 55 may execute step S96.

[0227] Step S927: The self-learning module 55 requests resources for the path information table and the sequence node table, that is, it requests storage space for the path information table and the sequence node table, and then executes step S928.

[0228] In step S928, the self-learning module 55 records information in the applied path information table and sequence node table.

[0229] For example, the path information table records the path information of the current data packet, such as PathID, Arrive_Time, and ActD_i. The sequence node table records the SeqNum, LatestTime, RecordNum of the current data packet, and a pointer to the path information table; then the processing of the current self-learning message ends.

[0230] In step S929, the self-learning module 55 fills in the entries in the flow header table 831. The position of the entry is determined by the position of FlowID_x in the learning information table 81. The information filled in the entry includes WindLength, PathCnt, a pointer to the sequence node table, etc.; the processing of the current self-learning message ends.

[0231] In this embodiment, the execution order of steps S927 and S929 is not limited.

[0232] In the technical solution provided in this application embodiment, the delay compensation node determines the first compensation upper limit value of the target deterministic service flow on the first path based on the sum of the dwell times of the third data packet of the target deterministic service flow through all network domains on the first path and the adjustment delay corresponding to the first path. The first node and the last node of the segment of the first path within a network domain can easily and quickly achieve time synchronization, thereby accurately obtaining the dwell times of the third data packet / first data packet in that network domain. Based on the accurately obtained second dwell times, the delay compensation node can accurately determine the first compensation upper limit value, and thus accurately determine the current compensation delay. Based on the accurate current compensation delay, the delay compensation node performs delay compensation on the data packet, which can effectively eliminate jitter and reduce jitter in end-to-end services, such as reducing the jitter between the head node and the tail node of the target path group, ensuring deterministic transmission of end-to-end services.

[0233] Furthermore, the technical solution provided in this application embodiment only requires time synchronization within the network domain to achieve accurate latency compensation, without the need for cross-domain time synchronization. This reduces the difficulty of implementing the solution, facilitates its widespread application, and improves the accuracy of latency compensation.

[0234] Corresponding to the above-described delay compensation method, this application embodiment also provides a forwarding node, which can execute the delay compensation method described in any of the above embodiments.

[0235] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).

[0236] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0237] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the forwarding node embodiments are basically similar to the method and apparatus embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method and apparatus embodiments.

[0238] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A time delay compensation method, characterized in that, The method is applied to a delay compensation node, where the delay compensation node is the tail node of each path in a target path group. The target path group is a set of paths carrying a deterministic flow, where the head node and tail node of each path are the same node. After receiving a deterministic flow packet, the head node sends one packet through each path in the target path group. The method includes: A first data packet is received via the first path in the target path group. The first data packet carries the first dwell time of each network domain that the first data packet passes through on the first path. The first data packet belongs to the target deterministic service flow. The first data packet is forwarded to obtain the second data packet; Obtain a first compensation upper limit value for the target deterministic service flow on the first path. The first compensation upper limit value is determined based on the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment time corresponding to the first path. The difference between the first compensation upper limit and the sum of all first dwell times is taken as the current compensation delay; After delaying the current compensation delay, schedule the second data packet; Before receiving the first data packet via the first path in the target path group, the method further includes: Through each path in the target path group, a third data packet of the target deterministic service flow is received respectively, and the third data packet carries the second dwell time of each network domain traversed by the third data packet on each path; Parse the third data packet to obtain the metadata of the third data packet. The metadata includes the second dwell time of the third data packet in each network domain that the third data packet passes through on each path, and the time point when the third data packet is received through each path. Calculate the difference between the preset reference time point and the time point when the third data packet is received through each path to obtain the adjustment delay corresponding to each path; For each path, the sum of the second dwell time and the adjustment time corresponding to that path is calculated and used as the upper limit of compensation for the target deterministic service flow on that path.

2. The method according to claim 1, characterized in that, After obtaining the compensation cap for the target deterministic service flow on that path, the method further includes: Store the upper limit value of the compensation for the target deterministic service flow on each path; The step of obtaining the first compensation upper limit value of the target deterministic service flow on the first path includes: The first compensation upper limit value is found from the compensation upper limit values ​​of the stored target deterministic service flow on each path in the target path group.

3. The method according to claim 1, characterized in that, After obtaining the compensation cap for the target deterministic service flow on that path, the method further includes: The compensation cap value for each path of the target deterministic service flow is sent to the head node of the target path group; the first data packet sent by the head node carries the first compensation cap value; The step of obtaining the first compensation upper limit value of the target deterministic service flow on the first path includes: Obtain the first compensation upper limit value from the first data message.

4. The method according to any one of claims 1-3, characterized in that, Before receiving the third data packet, the method further includes: Obtain the target access control list that matches the third data packet; If the target access control list includes a first preset label, then the step of calculating the difference between the preset reference time point and the time point when the third data packet is received through each path is performed; After obtaining the compensation cap value for the target deterministic service flow on the path, the first preset label included in the target access control list is updated to a second preset label, the second preset label indicating that the compensation cap value has been learned.

5. The method according to claim 1, characterized in that, Before obtaining the adjusted delay for each path, the method further includes: The time point at which the third data packet is received through a specified path in the target path group is delayed by a preset adjustment delay to obtain a preset reference time point.

6. The method according to claim 5, characterized in that, The specified path is the path in the target path group that receives the third data packet last.

7. The method according to claim 1, characterized in that, The latency compensation node is configured with a learning information table, a stream information table, and a data cache table; The learning information table includes the flow identifier of the deterministic business flow that is learning the compensation upper limit value; Each entry in the flow information table includes flow information of a deterministic service flow configured in the control plane and a learning indicator bit. The learning indicator bit is a first preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is completed. The learning indicator bit is a second preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is not completed. The flow information includes a flow identifier. Each entry in the data cache table includes flow information of a deterministic service flow that is learning the compensation upper limit, the sequence number of the data packet of the deterministic service flow, and the path information corresponding to the sequence number. The path information includes the sum of the dwell times of all network domains that the data packet passes through on each path, and the time point at which the data packet arrives at the delay compensation node along each path. The metadata also includes the target flow identifier of the target deterministic service flow; The method further includes: If the learning information table and the flow information table meet the preset learning conditions, then add the target path information corresponding to the sequence number of the third data packet to the data cache table. The target path information includes the sum of the dwell times of all network domains that the third data packet passes through on the current path and the time point at which the third data packet arrives at the delay compensation node along the current path. When the number of target path information in the data cache table reaches the number of paths in the target path group, the step of calculating the difference between the preset reference time point and the time point when the third data packet is received through each path is performed based on the target path information in the data cache table to obtain the adjustment delay corresponding to each path; the learning indicator bit corresponding to the target flow identifier in the flow information table is updated to the first preset value. The preset learning conditions are: The learning information table does not include the target stream identifier, the number of stream identifiers included in the learning information table is less than a preset number, and the learning indicator bit corresponding to the target stream identifier in the stream information table is a second preset value; or, The learning information table includes the target flow identifier, and the learning indicator bit corresponding to the target flow identifier in the flow information table is a second preset value.

8. The method according to claim 7, characterized in that, The data cache table includes a flow header table, a sequence node table, and a path information table; The flow header table includes flow information of deterministic business flows and a first pointer, the first pointer pointing to the first sequence node table; The sequence node table includes the sequence number of the data packet, the time point of the latest received data packet, the number of received data packets, a second pointer and a third pointer, wherein the second pointer points to a path information table and the third pointer points to the next sequence node table; Each entry in the path information table includes a path identifier, the sum of the dwell times of all network domains the data packet passes through on the path, and the time point at which the data packet arrives at the delay compensation node along the path.

9. The method according to claim 8, characterized in that, After determining the upper limit of compensation for the target deterministic service flow on each path, the method further includes: Set the target flow identifier in the learning information table to an invalid identifier; Reclaim the table entry associated with the target stream identifier in the data cache table.

10. The method according to claim 8 or 9, characterized in that, The flow information also includes the time window length of the deterministic service flow, the number of paths included in the path group transmitting the deterministic service flow, and the preset adjustment delay corresponding to the deterministic service flow.

11. The method according to claim 10, characterized in that, The method further includes: Determine a target sequence node table whose duration from the first time point to the second time point is greater than the length of the time window. The first time point is the time point of the currently received data packet, and the second time point is the time point of the latest received data packet included in the target sequence node table. The target sequence node table is any sequence node table associated with the deterministic service flow to which the currently received data packet belongs. Reclaim all sequence node tables following the target sequence node table, and clear the target path information table pointed to by the target sequence node table.

12. The method according to claim 11, characterized in that, When the sequence number included in the target sequence node table is the sequence number of the currently received data packet, the method further includes: Update the target sequence node table and the target path information table according to the currently received data packets; In the target path information table, a target entry is determined whose duration from the first time point to the third time point is greater than the length of the time window, and the third time point is the time point recorded in the target entry. Delete the target table entry.

13. A time delay compensation device, characterized in that, The device is applied to a delay compensation node, which is the tail node of each path in the target path group. The target path group is a set of paths that carry a deterministic flow. The head node of each path is the same node, and the tail node is also the same node. After receiving the deterministic flow message, the head node will send one of the messages through each path in the target path group. The device includes: a parsing module, a forwarding module, a compensation module, and a scheduling module. The parsing module is configured to receive a first data packet through a first path in the target path group, wherein the first data packet carries the first dwell time of each network domain traversed by the first data packet on the first path, and the first data packet belongs to a target deterministic service flow; and send the first data packet to the forwarding module. The forwarding module is used to forward the first data packet to obtain a second data packet; and send the second data packet to the compensation module. The compensation module is configured to obtain a first compensation upper limit value for the target deterministic service flow on the first path. The first compensation upper limit value is determined based on the sum of the second dwell time of all network domains traversed by the third data packet of the target deterministic service flow on the first path and the adjustment delay corresponding to the first path. The difference between the first compensation upper limit value and the sum of all first dwell times is used as the current compensation delay. After delaying the current compensation delay, the second data packet is sent to the scheduling module. The scheduling module is used to schedule the second data packet; The device also includes a self-learning module; The parsing module is further configured to receive a third data packet of the target deterministic service flow through each path of the target path group, wherein the third data packet carries the second dwell time of each network domain traversed by the third data packet on each path; parse the third data packet to obtain the metadata of the third data packet, wherein the metadata includes the second dwell time of each network domain traversed by the third data packet on each path and the time point at which the third data packet is received through each path; and report the metadata to the self-learning module. The self-learning module is used to calculate the difference between the preset reference time point and the time point when the third data packet is received through each path, so as to obtain the adjustment delay corresponding to each path; for each path, the sum of the second dwell time corresponding to the path and the adjustment delay corresponding to the path is calculated as the compensation upper limit value of the target deterministic service flow on the path.

14. The apparatus according to claim 13, characterized in that, The self-learning module is also used to send the compensation upper limit value of the target deterministic business flow on each path to the compensation module; The compensation module is further configured to store the compensation upper limit value of the target deterministic service flow on each path; and to search for the first compensation upper limit value from the stored compensation upper limit values ​​of the target deterministic service flow on each path in the target path group.

15. The apparatus according to claim 13, characterized in that, The self-learning module is further configured to send the compensation upper limit value of the target deterministic service flow on each path to the head node of the target path group; the first data packet sent by the head node carries the first compensation upper limit value; The compensation module is specifically used to obtain the first compensation upper limit value from the first data packet.

16. The apparatus according to any one of claims 13-15, characterized in that, The parsing module is also used for: Obtain the target access control list that matches the third data packet; If the target access control list includes a first preset label, the metadata is reported to the self-learning module, and the first preset label indicates that the compensation upper limit value has not been learned. The self-learning module is further configured to update the first preset label included in the target access control list to a second preset label after obtaining the compensation upper limit value of the target deterministic business flow on the path, wherein the second preset label indicates that the compensation upper limit value has been learned.

17. The apparatus according to claim 13, characterized in that, The self-learning module is also used to preset and adjust the time delay of the time point when the third data packet is received through the specified path in the target path group to obtain a preset reference time point.

18. The apparatus according to claim 17, characterized in that, The specified path is the path in the target path group that receives the third data packet last.

19. The apparatus according to claim 13, characterized in that, The compensation module is configured with a learning information table, a stream information table, and a data cache table; The learning information table includes the flow identifier of the deterministic business flow that is learning the compensation upper limit value; Each entry in the flow information table includes flow information of a deterministic service flow configured in the control plane and a learning indicator bit. The learning indicator bit is a first preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is completed. The learning indicator bit is a second preset value, indicating that the learning of the compensation upper limit value of the deterministic service flow is not completed. The flow information includes a flow identifier. Each entry in the data cache table includes flow information of a deterministic service flow that is learning the compensation upper limit, the sequence number of the data packet of the deterministic service flow, and the path information corresponding to the sequence number. The path information includes the sum of the dwell times of all network domains that the data packet passes through on each path, and the time point at which the data packet arrives at the delay compensation node along each path. The metadata also includes the target flow identifier of the target deterministic service flow; The self-learning module is specifically used for: If the learning information table and the flow information table meet the preset learning conditions, then add the target path information corresponding to the sequence number of the third data packet to the data cache table. The target path information includes the sum of the dwell times of all network domains that the third data packet passes through on the current path and the time point at which the third data packet arrives at the delay compensation node along the current path. When the number of target path information entries in the data cache table reaches the number of paths in the target path group, the difference between a preset reference time point and the time point at which the third data packet is received through each path is calculated based on the target path information in the data cache table to obtain the adjustment delay corresponding to each path. Then, based on the target path information in the data cache table, for each path, the sum of the second dwell time of all network domains traversed on that path and the adjustment delay corresponding to that path is calculated as the compensation upper limit for the target deterministic service flow on that path. The learning indicator bit corresponding to the target flow identifier in the flow information table is updated to the first preset value. The preset learning conditions are: The learning information table does not include the target stream identifier, the number of stream identifiers included in the learning information table is less than a preset number, and the learning indicator bit corresponding to the target stream identifier in the stream information table is a second preset value; or, The learning information table includes the target flow identifier, and the learning indicator bit corresponding to the target flow identifier in the flow information table is a second preset value.

20. The apparatus according to claim 19, characterized in that, The data cache table includes a flow header table, a sequence node table, and a path information table; The flow header table includes flow information of deterministic business flows and a first pointer, the first pointer pointing to the first sequence node table; The sequence node table includes the sequence number of the data packet, the time point of the latest received data packet, the number of received data packets, a second pointer and a third pointer, wherein the second pointer points to a path information table and the third pointer points to the next sequence node table; Each entry in the path information table includes a path identifier, the sum of the dwell times of all network domains the data packet passes through on the path, and the time point at which the data packet arrives at the delay compensation node along the path.

21. The apparatus according to claim 20, characterized in that, The self-learning module is also used for: After determining the compensation ceiling value for the target deterministic business flow on each path, the target flow identifier in the learning information table is set to an invalid identifier, and the table entry associated with the target flow identifier in the data cache table is reclaimed.

22. The apparatus according to claim 20 or 21, characterized in that, The flow information also includes the time window length of the deterministic service flow, the number of paths included in the path group transmitting the deterministic service flow, and the preset adjustment delay corresponding to the deterministic service flow.

23. The apparatus according to claim 22, characterized in that, The self-learning module is also used for: Determine a target sequence node table whose duration from the first time point to the second time point is greater than the length of the time window. The first time point is the time point of the currently received data packet, and the second time point is the time point of the latest received data packet included in the target sequence node table. The target sequence node table is any sequence node table associated with the deterministic service flow to which the currently received data packet belongs. Reclaim all sequence node tables following the target sequence node table, and clear the target path information table pointed to by the target sequence node table.

24. The apparatus according to claim 23, characterized in that, The self-learning module is also used for: When the sequence number included in the target sequence node table is the sequence number of the currently received data packet, the target sequence node table and the target path information table are updated according to the currently received data packet. In the target path information table, a target entry is determined whose duration from the first time point to the third time point is greater than the length of the time window, and the third time point is the time point recorded in the target entry. Delete the target table entry.

25. A forwarding node, characterized in that, Perform the method according to any one of claims 1-12.

Citation Information

Patent Citations

  • Wireless link time delay compensation device and method facing industrial heterogeneous network

    CN105812117A

  • Message scheduling method, network device, storage medium and computer program product

    CN116436863A