A message delay processing method and related device
By measuring and mapping the actual latency on network devices, generating verification identifiers and updating latency compensation, the problem of data packets failing to reach the preset latency after a forwarding path failure is solved, thereby improving data transmission efficiency and ensuring service stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-20
- Publication Date
- 2026-04-21
AI Technical Summary
In deterministic latency scenarios, after a network device experiences a failure and switchover on its forwarding path, the network device on the new forwarding path cannot detect the latency change, causing data packets to fail to meet the preset latency requirements and thus be dropped, affecting data transmission efficiency.
By measuring the actual latency of the previous hop network device on each network device and mapping it to the path identifier, a verification identifier is generated. The receiving device updates the verification identifier to check whether the cumulative actual latency meets the preset latency requirement. After path failure switching, the latency compensation is dynamically adjusted to ensure that the data packets meet the preset latency on the new path.
It improves the data packet transmission efficiency in deterministic latency scenarios, avoids data packets being discarded due to insufficient latency, and ensures the normal operation of services and network stability.
Smart Images

Figure CN117750415B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for processing message delay. Background Technology
[0002] In the field of wireless communication, bounded latency and latency jitter can be collectively referred to as deterministic latency. Deterministic latency techniques have been widely used in scenarios where high latency accuracy is required (such as automated industrial scenarios).
[0003] By employing deterministic delay techniques, the target delay consumed in transmitting data packets between the sending network device (hereinafter referred to as the sending device) and the receiving network device (hereinafter referred to as the receiving device) can be controlled. Specifically, network devices along the forwarding path can configure a certain compensation delay when forwarding the data packet, thereby locking the delay of the data packet transmission along the forwarding path to a predetermined preset delay.
[0004] If the forwarding path fails, a failover occurs between the sending and receiving devices, causing network devices on that path to transmit data packets through a different port, forming a new forwarding path. The latency of this new forwarding path will differ from that of the path before the failure. However, the network devices on the new forwarding path are unaware of this latency change and will continue to configure the same compensation latency as the path before the failure. In this case, with the compensation latency configured on the new forwarding path, the actual latency of the data packet on the new path will not meet the preset latency requirement. Therefore, in deterministic latency scenarios, data packets that fail to meet the preset latency will be discarded. Summary of the Invention
[0005] This application provides a method and related apparatus for processing message delays, which can improve the transmission efficiency of data packets based on deterministic delays.
[0006] Firstly, this application provides a method for processing packet latency. Each network device in the network needs to measure the actual latency of a data packet arriving at its current network device from the previous hop network device, and map this actual latency to a path identifier, thereby storing it locally on the network device. In other words, each network device includes at least one path identifier, and each path identifier maps to the actual latency of a data packet arriving at its current network device from a previous hop network device; that is, each path identifier indicates the actual latency of a hop number on the first path. The actual latency of this application refers to the latency overhead required for a data packet to be sent from the previous hop network device until it is sent from the next hop network device. Therefore, this actual latency does not include the latency compensation in deterministic forwarding techniques.
[0007] Based on the actual delay corresponding to the path identifier of each hop, the cumulative actual delay between the sending device and the receiving device can be obtained. In this application, the first path is a complete path between the sending device and the receiving device. In practical applications, the network devices on the first path may include other network devices (i.e., forwarding devices) used for forwarding data packets, in addition to the sending device and the receiving device. That is, the first path may be a path that includes at least one hop. Therefore, the cumulative actual delay on the first path is the sum of the actual delays of each hop on the first path.
[0008] The sending device sends a first data packet to the receiving device via a first path. This first data packet includes a first checksum identifier, which indicates a first preset delay and a first delay compensation. In deterministic forwarding technology, the cumulative actual delay along the first path needs to be combined with a certain delay compensation (which can be 0µs). That is, network devices along the first path need to delay forwarding the first data packet according to the first delay compensation instruction to meet the preset delay requirement.
[0009] In this application, after the sending device sends the first data packet along the first path, when each network device on the first path receives the first data packet, since each hop network device corresponds to a path identifier on the first path, the network device can update the first check identifier in the first data packet according to the path identifier corresponding to the network device on the first path.
[0010] Therefore, as the last hop on the first path, the first checksum in the first data packet received by the receiving device has been updated by other networks on the first path. The receiving device updates the first checksum in the currently received first data packet according to the path identifier it corresponds to on the first path.
[0011] In this application, the receiving device can determine the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier, thereby detecting whether the cumulative actual delay on the first path, after being combined with the first delay compensation, can meet the requirement of the first preset delay. This avoids data packets that do not meet the first preset delay being discarded after arriving at the receiving device, thereby improving the transmission efficiency of data packets based on deterministic delay.
[0012] Based on the first aspect, in one optional implementation, the sending device and the receiving device originally transmitted data packets through a second path, which also corresponds to a checksum identifier. When the sending device sends a data packet to the receiving device through the second path, the data packet carries the checksum identifier corresponding to the second path. However, if the second path subsequently fails and switches over, the sending device and the receiving device will transmit data packets through the first path. Therefore, the first path in this application is the path after the failure and switching of the second path between the receiving device and the sending device. After the failure and switching to the first path, the network devices on the first path generate corresponding path identifiers, each path identifier indicating the actual delay for one hop count on the first path. Although the sending device sends a first data packet to the receiving device through the first path, the sending device has not yet obtained the checksum identifier corresponding to the first path. At this time, the first checksum carried in the first data packet is still the identifier corresponding to the second path, that is, the first checksum carried in the first data packet is determined based on the path identifier on the second path. Therefore, the first preset time and the first compensation delay indicated in the first checksum are for the second path. The first verification identifier generated based on the path identifier on the second path, after the path identifier of the network device on the first path is updated, indicates a mismatch between the first preset delay, the first delay compensation, and the cumulative actual delay obtained by the receiving device. That is, the cumulative actual delay on the first path, combined with the first compensation delay, cannot meet the requirement of the first preset delay, thus preventing subsequent data packets from continuing to carry the first verification identifier generated by the path identifier corresponding to the second path, thereby causing these data packets to be discarded.
[0013] Based on the first aspect, in an optional implementation, after the receiving device determines the above-mentioned verification result, it can send the verification result to the controller. The verification result instructs the controller to generate a second verification identifier based on the path identifier on the first path. Since the cumulative actual delay of the first path can be determined based on the path identifier, the controller can generate a second preset delay and a second delay compensation, and map the second verification identifier to the second preset delay and the second delay compensation. The controller sends the second verification identifier to the sending device. When the sending device sends a second data packet through the first path, the second data packet carries the second verification identifier generated by the path identifier on the first path. Therefore, after the second verification identifier in the second data packet is updated by the path identifier on the first path, the resulting verification result indicates that the second preset delay, the second delay compensation, and the cumulative delay on the first path match. The cumulative delay on the first path, combined with the second delay compensation, can meet the requirement of the second preset delay.
[0014] Based on the first aspect, in one optional implementation, the second verification identifier is mapped to a second preset delay and a second delay compensation, wherein the second preset delay is obtained by the controller updating the first preset delay, and the second delay compensation is the same as the first delay compensation. In other words, the delay compensation remains unchanged while the preset delay is updated.
[0015] Based on the first aspect, in one optional implementation, the second verification identifier is mapped to a second preset delay and a second delay compensation, wherein the second preset delay is the same as the first preset delay, and the second delay compensation is obtained by the controller updating the first delay compensation. In other words, the preset delay remains unchanged while the delay compensation is updated.
[0016] In this application, latency compensation can be performed by any network device on the first path, such as a sending device, a receiving device, or a forwarding device on the first path. For example, assuming that the aforementioned latency compensation (20µs) is performed by a forwarding device, after receiving a data packet, the forwarding device will not forward the data packet immediately. Instead, according to the latency compensation instruction, the forwarding device will wait 20µs before forwarding the data packet.
[0017] Based on the first aspect, in an optional implementation, when the first checksum in the first data packet is generated based on the path identifier on the second path, because the first preset delay, the first delay compensation, and the cumulative actual delay on the first path do not match, the cumulative actual delay on the first path, after combining with the first delay compensation, cannot meet the requirement of the first preset delay. Therefore, the first data packet will be discarded, causing service interruption. In view of this, the packet delay processing method in this application can be applied to dual-transmit / selective-receive technology, that is, the sending device and the receiving device can simultaneously transmit data packets through two paths (the second path and the third path). The sending device sends the same data packet on both the second and third paths, and the second and third paths share the same preset delay (the first preset delay). However, the checksums carried by the data packets on different paths are different. The checksum in the data packet on the second path is generated based on the path identifier of the second path, and the checksum in the data packet on the third path is generated based on the path identifier of the third path. When the second path fails and the system switches to the first path, the sending device transmits the same data packets on both the first and third paths (but the checksums carried by the data packets on the first and third paths are different). Even if the data packets on the first path cannot meet the first preset delay requirement and are discarded, the data packets on the third path can still meet the first preset delay requirement and will not be discarded, thus ensuring the normal operation of the service. At this time, after receiving the checksum result from the receiving device, the controller needs to combine the path identifiers on the first and third paths to generate a second preset delay. This second preset delay needs to be applied to both the first and third paths simultaneously; that is, the second preset delay of the second data packet is the same on both the first and third paths. Through this method, even in deterministic delay scenarios, the operation of the service can still be guaranteed even if a path failure occurs, improving network stability.
[0018] Based on the first aspect, in an optional implementation, the first verification identifier carried in the first data packet sent by the sending device through the first path is generated based on the path identifier on the first path. Specifically, the cumulative actual delay on the first path is determined by the path identifier of the network devices on the first path, and the first verification identifier corresponding to the first path is generated by the cumulative actual delay. The first verification identifier maps to a first preset delay and a first delay compensation on the first path. After receiving the first data packet, each network device (including the receiving device) on the first path updates the first verification identifier in the first data packet according to its own path identifier. Since the first verification identifier is generated based on the path identifier on the first path, after the receiving device updates the first verification identifier according to its path identifier, it can be determined that the first verification identifier matches the first path. That is, the verification result indicates that the first preset delay, the first delay compensation, and the cumulative actual delay of the first path match. Therefore, it is determined that the cumulative actual delay on the first path, combined with the first delay compensation, can meet the requirement of the first preset delay.
[0019] Secondly, this application provides a communication device, comprising:
[0020] The transceiver unit is used to receive a first data packet from a sending device through a first path. The first data packet includes a first check identifier. The first check identifier indicates a first preset delay and a first delay compensation for the first data packet. The first check identifier is updated by each hop network device on the first path according to its path identifier. Each hop network device corresponds to a path identifier on the first path. Each path identifier indicates the actual delay of a hop number on the first path.
[0021] The processing unit is used to update the first verification identifier based on the path identifier of the receiving device;
[0022] The processing unit is also configured to determine the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier, wherein the cumulative actual delay is the sum of the actual delays of each hop on the first path.
[0023] The information interaction and execution process of the embodiments shown in this aspect are based on the same concept as the embodiments shown in the first aspect. Therefore, for a detailed explanation of the beneficial effects shown in this aspect, please refer to the first aspect above, and will not be repeated here.
[0024] Based on the second aspect, in an optional implementation, the first path is the path after the second path between the receiving device and the transmitting device has failed and been switched over, and the first verification identifier is determined based on the path identifier on the second path. Then the verification result indicates a mismatch between the first preset delay, the first delay compensation, and the cumulative actual delay.
[0025] Based on the second aspect, in an optional implementation, the transceiver unit is further configured to:
[0026] Send the verification result to the controller. The verification result is used to instruct the controller to determine the second verification identifier based on the path identifier on the first path. The second verification identifier indicates the second preset delay and the second delay compensation.
[0027] A second data packet is received from the sending device via the first path. The second data packet includes a second checksum.
[0028] Based on the second aspect, in an optional implementation, the second preset delay is obtained by the controller updating the first preset delay, and the second delay compensation is the same as the first delay compensation.
[0029] Based on the second aspect, in one optional implementation, the second preset delay is the same as the first preset delay, and the second delay compensation is obtained by the controller updating the first delay compensation.
[0030] Based on the second aspect, in an optional implementation, a third path is included between the receiving device and the transmitting device. The third path is used for the transmitting device to send a second data packet to the receiving device, wherein the second preset delay of the second data packet is the same on the first path and the third path.
[0031] Based on the second aspect, in an optional implementation, the first verification identifier is determined based on the path identifier on the first path, and the verification result indicates a match between the preset delay, delay compensation, and cumulative actual delay.
[0032] Thirdly, a network device is provided, including a memory and a processor coupled to the memory; the memory is used to store instructions, and the processor is used to execute the instructions to implement the method described in any of the preceding aspects.
[0033] Fourthly, a computer-readable storage medium is provided, wherein a computer program is stored therein, which, when executed on a processor, implements the method described in any of the preceding aspects.
[0034] Fifthly, a computer program product or computer program is provided, the computer program product or computer program including computer instructions that, when run on a processor, implement the method described in any of the above aspects. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0036] Figure 1 A schematic diagram illustrating a scenario combining deterministic latency technology with dual-transmission selective reception technology;
[0037] Figure 2 A schematic diagram illustrating a scenario where the forwarding path between the transmitting and receiving devices fails and switches over.
[0038] Figure 3 This is a flowchart illustrating the message delay handling method in this application;
[0039] Figure 4 This is a schematic diagram of a detection method in the deterministic delay technology of this application;
[0040] Figure 5 A schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0041] Figure 6 This is a schematic diagram of a network device provided in an embodiment of this application. Detailed Implementation
[0042] This application provides a method and related apparatus for processing message delays, which can improve the transmission efficiency of data packets based on deterministic delays.
[0043] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is only for explaining specific embodiments and is not intended to limit the application. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0044] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0045] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0046] The following explanations of some terms or nouns used in this application are also part of the invention content.
[0047] In the field of wireless communication, bounded latency and latency jitter can be collectively referred to as deterministic latency. Deterministic latency techniques have been widely used in scenarios where high latency accuracy is required (such as automated industrial scenarios).
[0048] By employing deterministic delay techniques, the target delay consumed in transmitting data packets between the sending network device (hereinafter referred to as the sending device) and the receiving network device (hereinafter referred to as the receiving device) can be controlled. Specifically, network devices along the forwarding path can configure a certain compensation delay when forwarding the data packet, thereby locking the delay of the data packet transmission along the forwarding path to a predetermined preset delay.
[0049] The following section will introduce the application scenarios of deterministic latency using specific examples.
[0050] In practical applications, dual-transmission and selective reception (DST) technology can be used to improve network reliability in communication between network devices. DST refers to the use of multiple forwarding paths between the sending and receiving devices to transmit data packets. If one forwarding path fails or loses packets, data packets from the other forwarding path can be used to maintain service operation. DST technology compensates for the latency of different forwarding paths between the sending and receiving devices, ensuring consistent latency across these paths. Deterministic latency techniques can be combined with DST to both reduce latency and jitter during end-to-end packet forwarding and further improve network reliability.
[0051] Please see Figure 1 , Figure 1 This is a schematic diagram illustrating a scenario combining deterministic latency technology with dual-transmission selective reception technology. For example... Figure 1 As shown, data packets from the sending device can reach the receiving device along two paths (through forwarding device 1 or through forwarding device 2). Generally, the actual delays of these two paths are different, but deterministic delay techniques can be used to configure compensating delays for network devices along the paths, ensuring that the delay consumed by the data packet transmission on each path between the sending and receiving devices is locked to a specific preset delay. For example, the larger of the two path delays is typically chosen as the target value for the preset delay. When the data packet is forwarded on the shorter path, the network device on that shorter path compensates for the delay (i.e., configures a compensating delay), ensuring that the delay on the shorter path also reaches the target value.
[0052] by Figure 1 Taking the scenario shown as an example, assume that the actual latency of path 1 (sending device > forwarding device 1 > receiving device) is 200 microseconds (µs), and the actual latency of path 2 (sending device > forwarding device 2 > receiving device) is 250µs. Then, using deterministic latency techniques, the preset latency of both paths can be configured to 250µs. Therefore, the compensated latency for path 1 is 250µs - 200µs = 50µs, and the compensated latency for path 2 is 250µs - 250µs = 0µs.
[0053] However, if a forwarding path fails, a failover occurs between the sending and receiving devices, causing network devices on that path to transmit data packets through a different port, forming a new forwarding path. The latency of this new forwarding path will differ from that of the path before the failure. However, the network devices on the new forwarding path are unaware of this latency change and will continue to configure the same compensation latency as the path before the failure. In this case, with the compensation latency configured on the new forwarding path, the actual latency of the data packet on the new forwarding path will no longer meet the preset latency requirement.
[0054] For example, please refer to Figure 2 , Figure 2 This is a schematic diagram illustrating a scenario where a fault occurs and the forwarding path between the transmitting and receiving devices, causing a failover. (Example:) Figure 2 As shown, in Figure 1 Based on the scenario shown, the data packets from the sending device reach the forwarding device 2 via path A in path 2. However, due to a failure in path A, the transmission path of the data packets between the sending device and the forwarding device 2 is switched from path A to path B. The latency of path B is 20µs less than that of path A. Therefore, the latency of the data packets from the sending device to the receiving device from the forwarding device 2 is also reduced by 20µs (i.e., 230µs), which fails to meet the preset latency (250µs). In the deterministic latency scenario, data packets that fail to meet the preset latency will be discarded.
[0055] In view of this, this application provides a method and related apparatus for processing message delays, used to improve the transmission efficiency of data packets based on deterministic delays. Please refer to... Figure 3 , Figure 3 This is a flowchart illustrating the message delay handling method in this application. Figure 3 As shown, the message delay handling method in this application includes:
[0056] 101. The transmitting device sends a first data packet to the receiving device through the first path.
[0057] In this application, each network device in the network needs to measure the actual delay of a data packet arriving at its own network device from the previous hop network device, and map this actual delay to a path identifier, thus storing it locally on the network device. In other words, each network device includes at least one path identifier, and each path identifier maps to the actual delay of a data packet arriving at its own network device from a previous hop network device; that is, each path identifier indicates the actual delay for one hop on the first path. The actual delay in this application refers to the time overhead required for a data packet to travel from the previous hop network device to the next hop network device. Therefore, this actual delay does not include the delay compensation used in deterministic forwarding techniques.
[0058] by Figure 1 Taking the scenario shown as an example, if the receiving devices are the next-hop network devices for both forwarding device 1 and forwarding device 2, then the receiving device includes two path identifiers. One path identifier maps to the actual delay of data packets from forwarding device 1 arriving at the receiving device, and the other path identifier maps to the actual delay of data packets from forwarding device 2 arriving at the receiving device. For details, please refer to Table 1. Table 1 shows... Figure 1 The example shown illustrates the mapping between path identifiers measured by each network device and actual latency.
[0059] Path of each jump Actual delay Path identifier Sending device > Forwarding device 1 100us 1 Relay device 1 > Receiving device 100us 1 Sending device > Forwarding device 2 150us 1 Relay device 2 > Receiving device 100us 1
[0060] Table 1
[0061] In the example shown in Table 1, the path identifier is represented by "1". In practical applications, the path identifier can also be other forms, such as "A", "B" or "C", which are not limited here.
[0062] Based on the actual delay corresponding to the path identifier of each hop, the cumulative actual delay between the sending device and the receiving device can be obtained. In this application, the first path is a complete path between the sending device and the receiving device. In practical applications, the network devices on the first path may include other network devices (i.e., forwarding devices) used for forwarding data packets, in addition to the sending device and the receiving device. That is, the first path may be a path that includes at least one hop. Therefore, the cumulative actual delay on the first path is the sum of the actual delays of each hop on the first path.
[0063] The sending device sends a first data packet to the receiving device via a first path. This first data packet includes a first checksum identifier, which indicates a first preset delay and a first delay compensation. In deterministic forwarding technology, the cumulative actual delay along the first path needs to be combined with a certain delay compensation (which can be 0µs). That is, network devices along the first path need to delay forwarding the first data packet according to the first delay compensation instruction to meet the preset delay requirement.
[0064] In this application, the aforementioned transmitting device, receiving device, and forwarding device all belong to network devices. These network devices can be access network devices, also known as radio access network (RAN) devices, which are devices that provide wireless communication functions for terminal devices. Access network devices include, but are not limited to: next-generation node B (gNB), evolved node B (eNB), baseband unit (BBU), transmitting and receiving point (TRP), transmitting point (TP), base stations in future mobile communication systems, or access points in wireless local area network (WLAN) systems. Access network devices can also be radio controllers, centralized units (CU), and / or distributed units (DU) in cloud radio access network (CRAN) scenarios, or network devices can be relay stations and network devices in vehicle-mounted equipment. In one possible implementation, the network device can be a router, switch, firewall, or protocol stack server, or it can be other devices or servers with routing capabilities, etc., which are not limited here.
[0065] 102. The receiving device updates the first verification identifier based on the path identifier of the receiving device.
[0066] In this application, after the sending device sends the first data packet along the first path, when each network device on the first path receives the first data packet, since each hop network device corresponds to a path identifier on the first path, the network device can update the first check identifier in the first data packet according to the path identifier corresponding to the network device on the first path.
[0067] Therefore, as the last hop on the first path, the first checksum in the first data packet received by the receiving device has been updated by other networks on the first path. The receiving device updates the first checksum in the currently received first data packet according to the path identifier it corresponds to on the first path.
[0068] 103. The receiving device determines the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier.
[0069] In this application, the receiving device can determine the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier, thereby detecting whether the cumulative actual delay on the first path, after being combined with the first delay compensation, can meet the requirement of the first preset delay. This avoids data packets that do not meet the first preset delay being discarded after arriving at the receiving device, thereby improving the transmission efficiency of data packets based on deterministic delay.
[0070] The path identifiers of network devices on the first path can be used to generate a verification identifier corresponding to the first path. Specifically, in this application, the path identifiers of network devices on each path can be used to generate a verification identifier corresponding to that path. Each network device on each path can report its path identifier mapped to actual latency to the controller. The controller can determine the cumulative actual latency on that path based on these path identifiers, that is, the cumulative actual latency on each path is the sum of the actual latency of each hop on that path. Furthermore, the controller can generate a verification identifier corresponding to that path based on the cumulative actual latency. This verification identifier is mapped to a preset latency and latency compensation on that path. The controller can send the verification identifier corresponding to each path to the sending device so that the sending device can carry the verification identifier in a data packet for transmission.
[0071] In one possible implementation, the first checksum carried in the first data packet sent by the sending device through the first path is generated based on the path identifier on the first path. Specifically, the cumulative actual delay on the first path is determined by the path identifier of the network devices on the first path, and the first checksum corresponding to the first path is generated based on the cumulative actual delay. This first checksum is mapped to a first preset delay and a first delay compensation on the first path. After receiving the first data packet, each network device (including the receiving device) on the first path updates the first checksum in the first data packet according to its own path identifier. Since the first checksum is generated based on the path identifier on the first path, after the receiving device updates the first checksum according to its path identifier, it can determine that the first checksum matches the first path. That is, the checksum indicates that the first preset delay, the first delay compensation, and the cumulative actual delay of the first path match. Therefore, it is determined that the cumulative actual delay on the first path, combined with the first delay compensation, can meet the requirement of the first preset delay.
[0072] In one example, the path identifiers of network devices on the first path can be accumulated to obtain a first check identifier. Network devices on the first path can subtract their own path identifier from the first check identifier in the received first data packet to update the first check identifier. After the receiving device updates the first check identifier, it determines whether the first preset delay, the first delay compensation, and the cumulative actual delay of the first path match based on whether the value of the first check identifier is 0: if the final value of the first check identifier is 0, the check result indicates that the first preset delay, the first delay compensation, and the cumulative actual delay of the first path match; if the final value of the first check identifier is not 0, the check result indicates that the first preset delay, the first delay compensation, and the cumulative actual delay of the first path do not match.
[0073] Specifically, with Figure 1Taking the scenario shown as an example, based on Table 1 above, assuming the first path is: sending device > forwarding device 2 > receiving device, based on deterministic delay technology, the preset delay of both paths is configured to 250us, then the delay compensation on the first path is 0us, and the verification identifier corresponding to the first path is: path identifier (1) of sending device > forwarding device 2 + path identifier (1) of forwarding device 2 > receiving device = 2, and the mapping relationship between the verification identifier (2) corresponding to the first path, the preset delay of the first path 250us, and the delay compensation of the first path 0us is determined. If the first verification identifier in the first data packet sent by the sending device is the verification identifier (2) corresponding to the first path, then the first preset delay indicated in the first verification identifier is 250us, and the first delay compensation is 0us. After receiving the first data packet, forwarding device 2 updates the first verification identifier (2) to the first verification identifier (1) according to the path identifier (1) corresponding to the hop of sending device > forwarding device 2. Forwarding device 2 then transmits the first data packet carrying the first verification identifier (1) to receiving device. Receiving device updates the first verification identifier (1) to the first verification identifier (0) according to the path identifier (1) corresponding to the hop from forwarding device 2 to receiving device. Then the verification result generated by receiving device indicates that the first preset delay, the first delay compensation and the cumulative actual delay of the first path are matched.
[0074] It should be understood that, in practical applications, this application does not limit the path identifier of the network device on the first path, the content format of the first verification identifier, or the method by which the network device on the first path updates the first verification identifier. For example, each network device on the first path can use (A), (B), and (C) as path identifiers respectively. If the first verification identifier is generated based on the path identifiers on the first path, then the first verification identifier can be (ABC). When the first data packet is transmitted along the first path, the receiving device can determine whether the first preset delay, the first delay compensation, and the cumulative actual delay of the first path match based on whether the path identifiers on the first path appear completely in the first verification identifier.
[0075] In one possible implementation, the sending and receiving devices originally transmitted data packets via a second path, which also corresponds to a checksum identifier. When the sending device sends a data packet to the receiving device via the second path, the data packet carries the checksum identifier corresponding to the second path. However, if the second path subsequently fails and switches over, the sending and receiving devices transmit data packets via the first path. Therefore, the first path in this application is the path after the second path between the receiving and sending devices fails and switches over. After the second path fails and switches to the first path, the network devices on the first path generate corresponding path identifiers, each path identifier indicating the actual delay for one hop count on the first path. Although the sending device sends a first data packet to the receiving device via the first path, the sending device has not yet obtained the checksum identifier corresponding to the first path. At this time, the first checksum carried in the first data packet is still the identifier corresponding to the second path; that is, the first checksum carried in the first data packet is determined based on the path identifier on the second path. Therefore, the first preset time and the first compensation delay indicated in the first checksum are for the second path. The first verification identifier generated based on the path identifier on the second path, after the path identifier of the network device on the first path is updated, indicates a mismatch between the first preset delay, the first delay compensation, and the cumulative actual delay obtained by the receiving device. That is, the cumulative actual delay on the first path, combined with the first compensation delay, cannot meet the requirement of the first preset delay, thus preventing subsequent data packets from continuing to carry the first verification identifier generated by the path identifier corresponding to the second path, thereby causing these data packets to be discarded.
[0076] by Figure 2Taking the scenario shown as an example, assuming the second path is: Path A > Forwarding Device 2 > Receiving Device, based on deterministic delay technology, the preset delay of both paths is configured to 250us, then the delay compensation on the second path is 0us, and the verification identifier corresponding to the second path is: Path identifier of Path A (1) + Path identifier of Forwarding Device 2 > Receiving Device (1) = 2, determine the mapping relationship between the verification identifier (2) corresponding to the second path, the preset delay of the second path 250us, and the delay compensation of the second path 0us. After the second path fails and switches to the first path, the path identifier corresponding to Path B is updated to (2), and the path identifier of Forwarding Device 2 > Receiving Device remains at (1). If the first verification identifier in the first data packet sent by the sending device is the verification identifier (2) corresponding to the second path, then after the forwarding device 2 receives the first data packet through Path B in the first path, it updates the first verification identifier (2) to the first verification identifier (0) according to the path identifier (2) corresponding to the hop of Path B. Forwarding device 2 then transmits the first data packet carrying the first verification identifier (0) to receiving device. Receiving device updates the first verification identifier (0) to the first verification identifier (-1) according to the path identifier (1) corresponding to the hop from forwarding device 2 to receiving device. Then the verification result generated by receiving device indicates that there is a mismatch between the first preset delay, the first delay compensation and the cumulative actual delay of the first path.
[0077] Furthermore, after the receiving device determines the above verification result, it can send the verification result to the controller. This verification result instructs the controller to generate a second verification identifier based on the path identifier on the first path. Since the cumulative actual delay of the first path can be determined based on the path identifier, the controller can generate a second preset delay and a second delay compensation, and map the second verification identifier to the second preset delay and the second delay compensation. The controller sends the second verification identifier to the sending device. When the sending device sends the second data packet through the first path, the second data packet carries the second verification identifier generated from the path identifier on the first path. Therefore, after the second verification identifier in the second data packet is updated by the path identifier on the first path, the resulting verification result indicates that the second preset delay, the second delay compensation, and the cumulative delay on the first path match. The cumulative delay on the first path, combined with the second delay compensation, can meet the requirement of the second preset delay.
[0078] In one possible implementation, the second verification identifier is mapped to a second preset delay and a second delay compensation, wherein the second preset delay is obtained by the controller updating the first preset delay, and the second delay compensation is the same as the first delay compensation. In other words, the delay compensation remains unchanged while the preset delay is updated.
[0079] In one possible implementation, the second verification identifier is mapped to a second preset delay and a second delay compensation, wherein the second preset delay is the same as the first preset delay, and the second delay compensation is obtained by the controller updating the first delay compensation. In other words, the preset delay remains unchanged, while the delay compensation is updated.
[0080] In this application, latency compensation can be performed by any network device on the first path, such as a sending device, a receiving device, or a forwarding device on the first path. For example, assuming that the aforementioned latency compensation (20µs) is performed by a forwarding device, after receiving a data packet, the forwarding device will not forward the data packet immediately. Instead, according to the latency compensation instruction, the forwarding device will wait 20µs before forwarding the data packet.
[0081] As can be seen from the above, when the first checksum in the first data packet is generated based on the path identifier on the second path, the first preset delay, the first delay compensation, and the cumulative actual delay on the first path do not match. After combining the cumulative actual delay on the first path with the first delay compensation, the cumulative actual delay on the first path cannot meet the requirement of the first preset delay. Therefore, the first data packet will be discarded, causing service interruption. In view of this, the packet delay processing method in this application can be applied to dual-transmit / selective-receive technology, that is, the sending device and the receiving device can simultaneously transmit data packets through two paths (the second path and the third path). The sending device sends the same data packet on both the second and third paths, and the second and third paths share the same preset delay (the first preset delay). However, the checksums carried by the data packets on different paths are different. The checksum in the data packet on the second path is generated based on the path identifier of the second path, and the checksum in the data packet on the third path is generated based on the path identifier of the third path. When the second path fails and the system switches to the first path, the sending device transmits the same data packets on both the first and third paths (but the checksums carried by the data packets on the first and third paths are different). Even if the data packets on the first path cannot meet the first preset delay requirement and are discarded, the data packets on the third path can still meet the first preset delay requirement and will not be discarded, thus ensuring the normal operation of the service. At this time, after receiving the checksum result from the receiving device, the controller needs to combine the path identifiers on the first and third paths to generate a second preset delay. This second preset delay needs to be applied to both the first and third paths simultaneously; that is, the second preset delay of the second data packet is the same on both the first and third paths. Through this method, even in deterministic delay scenarios, the operation of the service can still be guaranteed even if a path failure occurs, improving network stability.
[0082] In one possible implementation, the data packet may carry an end-to-end tag to determine whether the data packet meets the preset delay requirement. See also... Figure 4 , Figure 4 This is a schematic diagram of one detection method in the deterministic delay technology of this application. For example... Figure 4 As shown, the data packet is sent by the sending device in cycle 100. Assuming the end-to-end time is planned to be 250µs, with each cycle being 10µs, the data packet should arrive at the receiving device in cycle 125. Figure 2 For example, before switching from path A to path B, the data packet's cycle to forwarding device 2 is 115, and the cycle to receiving device is 125. After switching from path A to path B, the data packet's cycle to forwarding device 2 is 113, and the cycle to receiving device is 123, which is inconsistent with the end-to-end tag 125 carried, thus revealing a problem.
[0083] Next, to better implement the above-described solutions of the embodiments of this application, the embodiments of this application also provide related equipment for implementing the above solutions. For details, please refer to... Figure 5 , Figure 5 This is a schematic diagram of a communication device provided in an embodiment of this application. Figure 5 As shown, the communication device includes:
[0084] Transceiver unit 201 is used to receive a first data packet from a transmitting device through a first path. The first data packet includes a first check identifier. The first check identifier indicates a first preset delay and a first delay compensation for the first data packet. The first check identifier is updated by each hop network device on the first path according to its path identifier. Each hop network device corresponds to a path identifier on the first path. Each path identifier indicates the actual delay of a hop number on the first path.
[0085] Processing unit 202 is used to update the first verification identifier according to the path identifier of the receiving device;
[0086] The processing unit 202 is further configured to determine the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier, wherein the cumulative actual delay is the sum of the actual delays of each hop on the first path.
[0087] In one possible design, the first path is the path after the second path between the receiving device and the transmitting device fails and is switched over. The first verification identifier is determined based on the path identifier on the second path. The verification result indicates a mismatch between the first preset delay, the first delay compensation, and the cumulative actual delay.
[0088] In one possible design, the transceiver unit 201 is also used for:
[0089] Send the verification result to the controller. The verification result is used to instruct the controller to determine the second verification identifier based on the path identifier on the first path. The second verification identifier indicates the second preset delay and the second delay compensation.
[0090] A second data packet is received from the sending device via the first path. The second data packet includes a second checksum.
[0091] In one possible design, the second preset delay is obtained by updating the first preset delay by the controller, and the second delay compensation is the same as the first delay compensation.
[0092] In one possible design, the second preset delay is the same as the first preset delay, and the second delay compensation is obtained by the controller updating the first delay compensation.
[0093] In one possible design, a third path is included between the receiving device and the transmitting device. The third path is used for the transmitting device to send a second data packet to the receiving device, wherein the second data packet has the same second preset delay on both the first path and the third path.
[0094] In one possible design, the first verification identifier is determined based on the path identifier on the first path, and the verification result indicates a match between the preset delay, delay compensation, and cumulative actual delay.
[0095] It should be noted that the information interaction and execution process between the modules / units in the communication device are different from those in this application. Figure 3 The corresponding method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0096] This application also provides a network device; please refer to [link / reference]. Figure 6 , Figure 6 This is a schematic diagram of a network device provided in an embodiment of this application. The network device 300 may be deployed with... Figure 5 The communication device described in the corresponding embodiment is used to implement Figure 3In accordance with the function of the receiving device in the corresponding embodiment, specifically, the network device 300 is implemented by one or more servers. The network device 300 can vary significantly due to different configurations or performance, and may include one or more central processing units (CPUs) 322 (e.g., one or more processors) and a memory 332, and one or more storage media 330 (e.g., one or more mass storage devices) for storing application programs 342 or data 344. The memory 332 and storage media 330 can be temporary or persistent storage. The program stored in the storage media 330 may include one or more modules (not shown in the figure), each module may include a series of instruction operations on the network device. Furthermore, the CPU 322 may be configured to communicate with the storage media 330 and execute the series of instruction operations in the storage media 330 on the network device 300.
[0097] Network device 300 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input / output interfaces 358, and / or one or more operating systems 341, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.
[0098] It should be noted that the information interaction and execution process between the modules / units in the network device are different from those in this application. Figure 3 The corresponding method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0099] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computer device, it causes the at least one computer device to perform the aforementioned actions. Figure 3 The method described in the illustrated embodiment.
[0100] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing 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 drive). The computer-readable storage medium includes instructions that instruct the computing device to perform the aforementioned operations. Figure 3 The method described in the illustrated embodiment.
[0101] The neural network training device provided in this application embodiment can specifically be a chip, which includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip to perform the aforementioned operations. Figure 3 The method described in the illustrated embodiment. Optionally, the storage unit is a storage unit within the chip, such as a register, cache, etc. The storage unit can also be a storage unit located outside the chip within the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
[0102] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0103] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0104] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0105] 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 may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, 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 may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
Claims
1. A method for handling message delay, characterized in that, include: The receiving device receives a first data packet from the sending device through a first path. The first data packet includes a first check identifier. The first check identifier indicates a first preset delay and a first delay compensation for the first data packet. The first check identifier is updated by each hop network device on the first path according to its path identifier. Each hop network device corresponds to one path identifier on the first path. Each path identifier indicates the actual delay for one hop on the first path. The receiving device updates the first verification identifier according to the path identifier of the receiving device; The receiving device determines the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier, wherein the cumulative actual delay is the sum of the actual delays of each hop on the first path; The receiving device sends the verification result to the controller. The verification result is used to instruct the controller to determine the second verification identifier based on the path identifier on the first path. The second verification identifier indicates the second preset delay and the second delay compensation. The receiving device receives a second data packet from the sending device through the first path, the second data packet including the second verification identifier.
2. The method according to claim 1, characterized in that, The first path is the path after the second path between the receiving device and the transmitting device has failed and been switched over. The first verification identifier is determined based on the path identifier on the second path. Then the verification result indicates that there is a mismatch between the first preset delay, the first delay compensation, and the cumulative actual delay.
3. The method according to claim 1, characterized in that, The second preset delay is obtained by the controller updating the first preset delay, and the second delay compensation is the same as the first delay compensation.
4. The method according to claim 1, characterized in that, The second preset delay is the same as the first preset delay, and the second delay compensation is obtained by the controller updating the first delay compensation.
5. The method according to any one of claims 1 to 4, characterized in that, A third path is included between the receiving device and the sending device. The third path is used for the sending device to send the second data packet to the receiving device, wherein the second preset delay of the second data packet is the same on the first path and the third path.
6. The method according to claim 1, characterized in that, If the first verification identifier is determined based on the path identifier on the first path, then the verification result indicates a match between the preset delay, the delay compensation, and the cumulative actual delay.
7. A communication device, characterized in that, include: The transceiver unit is configured to receive a first data packet from a transmitting device via a first path. The first data packet includes a first verification identifier. The first verification identifier indicates a first preset delay and a first delay compensation for the first data packet. The first verification identifier is updated by each hop network device on the first path according to its path identifier. Each hop network device corresponds to one path identifier on the first path. Each path identifier indicates the actual delay for one hop on the first path. The processing unit is configured to update the first verification identifier based on the path identifier of the receiving device; The processing unit is further configured to determine the verification result between the first preset delay, the first delay compensation, and the cumulative actual delay based on the updated first verification identifier, wherein the cumulative actual delay is the sum of the actual delays of each hop on the first path; The transceiver unit is further configured to send the verification result to the controller, the verification result being used to instruct the controller to determine a second verification identifier based on the path identifier on the first path, the second verification identifier indicating a second preset delay and a second delay compensation; The transceiver unit is further configured to receive a second data packet from the transmitting device via the first path, the second data packet including the second verification identifier.
8. The communication device according to claim 7, characterized in that, The first path is the path after the second path between the receiving device and the transmitting device has failed and been switched over. The first verification identifier is determined based on the path identifier on the second path. Then the verification result indicates that there is a mismatch between the first preset delay, the first delay compensation, and the cumulative actual delay.
9. The communication device according to claim 7, characterized in that, The second preset delay is obtained by the controller updating the first preset delay, and the second delay compensation is the same as the first delay compensation.
10. The communication device according to claim 7, characterized in that, The second preset delay is the same as the first preset delay, and the second delay compensation is obtained by the controller updating the first delay compensation.
11. The communication device according to any one of claims 7 to 10, characterized in that, A third path is included between the receiving device and the sending device. The third path is used for the sending device to send the second data packet to the receiving device, wherein the second preset delay of the second data packet is the same on the first path and the third path.
12. The communication device according to claim 7, characterized in that, If the first verification identifier is determined based on the path identifier on the first path, then the verification result indicates a match between the preset delay, the delay compensation, and the cumulative actual delay.
13. A network device, characterized in that, It includes a processor and a memory, wherein the processor is coupled to the memory. The memory is used to store programs; The processor is configured to execute a program in the memory, causing the network device to perform the method as described in any one of claims 1 to 6.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 6.
15. A computer program product, characterized in that, The computer program product stores computer-readable instructions that, when executed by a processor, implement the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Message processing method, message forwarding device and message processing device
CN111628921A
A method and system for adjusting deterministic time delay
CN112671495A