A message transmission method and device

By setting periodic labels for time-domain resource overlap in message transmission in a deterministic network, the transmission problem caused by the rate difference between upstream and downstream devices is solved, achieving higher transmission rates and lower latency.

CN115589384BActive Publication Date: 2026-04-17HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-07-05
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In deterministic networks, the large difference in outgoing interface rates between upstream and downstream devices can lead to an excessively small maximum transmission unit or excessively long transmission delay, which cannot meet service requirements.

Method used

By setting the time domain resources of the period corresponding to the fourth period tag and the period corresponding to the third period tag of the first device to partially overlap, the message transmission rate is improved and the transmission latency is reduced.

Benefits of technology

It increases the maximum transmission unit of devices with low transmission rates, reduces message transmission latency, simplifies message transmission complexity, and improves transmission rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115589384B_ABST
    Figure CN115589384B_ABST
Patent Text Reader

Abstract

A message transmission method and device are used for reducing message transmission delay. In the application, a first device receives a first message and a second message from a second device, the first message includes a first period label, and the second message includes a second period label. The first device determines a third period label corresponding to the first period label, and sends the first message to a third device in a period corresponding to the third period label. The first device determines a fourth period label corresponding to the second period label, and sends the second message to the third device in a period corresponding to the fourth period label. The start time of the period corresponding to the fourth period label is later than the start time of the period corresponding to the third period label, and is earlier than the end time of the period corresponding to the third period label. Since the period corresponding to the fourth period label starts before the period corresponding to the third period label ends, the sending speed of the second message can be accelerated, and the transmission delay of the second message can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more particularly to a message transmission method and apparatus. Background Technology

[0002] The goal of Deterministic IP (DIP) technology is to provide deterministic latency and jitter guarantees based on existing Internet Protocol (IP) forwarding mechanisms. Its core technology is periodic scheduling. In a deterministic network, a stable periodic mapping relationship is maintained between any two adjacent nodes on a data link. This periodic mapping relationship indicates the mapping between the period number of a packet sent from the upstream device and the period number sent again from the downstream device. The downstream device receives a packet at its ingress port, queries the fixed period corresponding to the periodic label carried by the packet based on the periodic mapping relationship, and sends the packet out at its egress port within that fixed period. The packet only occupies the reserved resources of this node within that fixed period, thus ensuring that each packet has a deterministic scheduling period.

[0003] Downstream devices can learn the period mapping relationship. For example, a downstream device first determines the first message sent by the upstream device's outgoing port in the period labeled Tx1 (the first message carries the period label Tx1), and determines the time when the first message arrives at the ingoing port of this node. Based on the period corresponding to Tx1 and node jitter and other parameters, the downstream device calculates the latest time that the last message sent by the upstream device's outgoing port in the period labeled Tx1 (the last message also carries the period label Tx1) may arrive at the ingoing port of this node. Based on the above information, the downstream device can obtain the period mapping relationship between the outgoing port of the upstream device and the outgoing port of this node: period label Tx1 → period label Ty2 (e.g., the label of the first period after (the time when the first message arrives at the ingoing port of this node + the duration of the period corresponding to period label Tx1 + jitter range)).

[0004] In a deterministic network, since the duration of the period of the upstream device's outgoing interface (e.g., the duration of the period corresponding to period label Tx1) is the same as the duration of the period of the downstream device's outgoing interface (e.g., the duration of the period corresponding to period label Ty2), the delay and jitter experienced by the message transmission always meet the preset upper bound.

[0005] However, in practical applications, there may be a significant difference between the outgoing interface rate of the upstream device and the outgoing interface rate of the downstream device. For example, the outgoing interface rate of the upstream device may be 100 megabits per second (Mbps), while the outgoing interface rate of the downstream device may be 10 Mbps.

[0006] If both the upstream and downstream devices use short cycle durations for their outgoing interfaces, such as 2.5μs, the maximum transmission unit (MTU) will be small. Furthermore, if the downstream device has a low transmission rate, its MTU may be insufficient to meet service requirements. For example, the MTU of the downstream device's outgoing interface might equal the cycle duration of its outgoing interface (2.5μs). The downstream device's transmission rate (100Mbps) / 8 = 30 bytes, of which, The symbol ' / ' indicates multiplication, and ' / ' indicates division. It can be seen that the MTU of the downstream device is even smaller than the hard limit of the minimum Ethernet frame size of 64 bytes, which cannot meet business requirements.

[0007] To meet business requirements, both the upstream and downstream devices use relatively long output interface durations, such as 12.5 microseconds (μs). This results in a significant delay in message transmission. Summary of the Invention

[0008] To improve message transmission latency, this application provides a message transmission method and apparatus. By setting the time domain resources of the period corresponding to the fourth period tag and the period corresponding to the third period tag of the first device to partially overlap, the message transmission rate is improved and the message transmission latency is reduced.

[0009] In a first aspect, this application provides a message transmission method, in which: a first device receives a first message and a second message from a second device. The first message includes a first period tag, and the first message is a message sent by the second device according to the period corresponding to the first period tag. The second message includes a second period tag, and the second message is a message sent by the second device according to the period corresponding to the second period tag. The first device determines a third period tag corresponding to the first period tag, and sends the first message to the third device in the period corresponding to the third period tag. The first device determines a fourth period tag corresponding to the second period tag, and sends the second message to the third device in the period corresponding to the fourth period tag. The start time of the period corresponding to the fourth period tag is later than the start time of the period corresponding to the third period tag, and earlier than the end time of the period corresponding to the third period tag.

[0010] Since the period corresponding to the fourth period tag does not start after the period corresponding to the third period tag ends, but before the period corresponding to the third period tag ends, the time domain resources of the periods corresponding to the third period tag and the periods corresponding to the fourth period tag overlap. This can speed up the sending speed of the second message and reduce the transmission latency of the second message.

[0011] In one possible implementation, the first device sends a first message to the third device through the first port in the period corresponding to the third period tag, and the first device sends a second message to the third device through the first port in the period corresponding to the fourth period tag. It can be seen that in this embodiment, the time-domain resources of the first port are divided, and the time-domain resources of the two periods of the same port can overlap, thereby improving the transmission speed of messages on the first port. The first port can be a physical port or a logical port bound to multiple physical ports.

[0012] In one possible implementation, the first duration is greater than the second duration. The first duration is the duration of the period corresponding to the third and fourth period tags. The second duration is the duration of the period corresponding to the first and second period tags. That is, the first duration does not necessarily have to be equal to the second duration; it can also be greater than the second duration. For example, in a scenario where the outgoing interface rate of the upstream device is greater than that of the downstream device, the upstream device can use a shorter second duration as the period duration, while the downstream device can use a longer first duration as the period duration. This increases the maximum transmission unit of the first device, which has a lower transmission rate. Furthermore, since the time domain resources of the period corresponding to the fourth period tag and the period corresponding to the third period tag on the first device partially overlap, the message transmission rate of the first device can be improved.

[0013] In one possible implementation, the time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag is equal to the time interval between the start time of the period corresponding to the second period tag and the start time of the period corresponding to the first period tag. Since the start times of each period for the first and second devices are at the same interval, both devices can reach the start time of a period at the same time interval. This reduces the complexity of message transmission using the period tag switching method for both devices, further simplifying the solution.

[0014] In one possible implementation, the period corresponding to the fourth period tag is adjacent to the period corresponding to the third period tag. The duration between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag is equal to the second duration. Since the start time intervals of the periods of the first device and the second device are the same, and since the start time interval of two adjacent periods of the first device is the duration of one period of the second device, the time domain resources of two adjacent periods of the second device can not overlap. This means that the duration of the periods on the second device can be shorter, and the periods can be transmitted serially. The duration of the periods on the first device can be longer to increase the MTU of one period of the first device, while the periods can be transmitted in parallel, thereby speeding up the message transmission rate on the first device. Furthermore, since both the first device and the second device can arrive at the start time of a period at the same interval, the complexity of message transmission using the period tag switching method for the first and second devices can be reduced, further simplifying the scheme.

[0015] In one possible implementation, the first duration is an integer multiple of the second duration. This simplifies the setting of the total number of periodic tags on the first device, thereby reducing the complexity of message transmission between the first and second devices using a periodic tag switching-based method, further simplifying the scheme.

[0016] In one possible implementation, the total number of values ​​corresponding to the value range of the third period tag is determined based on the first duration and the duration of the interval between the start times of two adjacent periods of the first device. Thus, the total number of values ​​corresponding to the value range of the third period tag can be set based on the purpose of allowing the period tags of the first device to be used cyclically, thereby laying the foundation for the cyclical use of the period tags of the first device.

[0017] In one possible implementation, the total number of values ​​corresponding to the range of values ​​for the third period tag is the sum of R and C, where R is the ratio of the first duration to the duration of the interval between the start times of two adjacent periods of the first device, and C is a positive integer. Since at most R consecutive periods in the first device satisfy the condition that "the time domain resources of any two periods overlap", the total number of values ​​corresponding to the range of values ​​for the third period tag is greater than R, thus allowing the period tags of the first device to be used cyclically.

[0018] In one possible implementation, the first device determines a third period tag corresponding to the first period tag, including: the first device determining a fifth period tag corresponding to the first period tag; and the first device determining a third period tag corresponding to the fifth period tag. Wherein, the second quantity is a common multiple of the first quantity and the third quantity. The first quantity is the total number of values ​​corresponding to the value range of the first period tag. The second quantity is the total number of values ​​corresponding to the value range of the fifth period tag. The third quantity is the total number of values ​​corresponding to the value range of the third period tag.

[0019] When the total number of values ​​corresponding to the periodic label range of the second device (the first number) is small (less than the total number of values ​​corresponding to the periodic label range of the first device (the third number)), the same periodic label of the second device may correspond to two different periodic labels of the first device. In this case, it is not suitable to determine the periodic label of the packet in the corresponding transmission period of the first device by calculating delta. However, if the periodic label of the packet of the second device is first converted, or it can be understood as the second device reassigning a periodic label to the packet (for distinction, this newly assigned periodic label can be called a logical periodic label), since the total number of values ​​corresponding to the range of values ​​of the logical periodic label (the second number) is a common multiple of the first and third numbers, that is, the second number is not less than the third number, further, based on the logical periodic label assigned to the packet, the periodic label of the packet in the transmission period of the first device can be determined by calculating delta. This simplifies the calculation process of the periodic label mapping relationship from the second device to the first device and reduces the amount of calculation.

[0020] In one possible implementation, the first device determines the third period tag corresponding to the fifth period tag, including: the first device determines the third period tag based on the fifth period tag, the reception time of the first message, and a preset processing duration. Since the second device reassigns a period tag to the message (for distinction, this newly assigned period tag can be called a logical period tag), and since the total number of values ​​corresponding to the value range of the logical period tag (the second number) is not less than the third number, the mapping relationship between the new period tag of the message and the period tag of the first device's transmission period can be learned based on the new period tag, the fifth period tag, the reception time of the first message, and the preset processing duration. This lays the foundation for calculating the delta between the learned new period tag and the period tag of the first device's transmission period for other messages in the first device's transmission period.

[0021] In one possible implementation, the first device determines the fourth period label corresponding to the second period label, including: the first device determining the period mapping relationship between the first device and the second device based on the fifth period label and the third period label; the first device determining the sixth period label corresponding to the second period label; and the first device determining the fourth period label corresponding to the sixth period label based on the period mapping relationship and the sixth period label. Since the second device reassigns a period label to its packets (for distinction, this newly assigned period label can be called a logical period label), and since the total number of values ​​corresponding to the logical period label's value range (the second number) is not less than the third number, after learning the mapping relationship between the new period label of the packet and the period label of the first device's transmission period, the delta between the learned new period label and the period label of the first device's transmission period can be used to calculate the transmission period of other packets in the first device.

[0022] In one possible implementation, the first device determines a third period tag corresponding to the first period tag, and sends a first message to the third device through the period corresponding to the third period tag. This includes: the first device determining a third period tag corresponding to the first period tag when a first condition is met, and sending a first message to the third device through the period corresponding to the third period tag. The first condition includes: the expected time when the first message is completed being sent to the third device through the period corresponding to the third period tag is earlier than: the start time of the period corresponding to the fourth period tag.

[0023] If the first condition is not met—that is, if the first message has not been completely sent before the start time when the second message is allowed to be sent—and the first device sends the first message to the third device through the period corresponding to the third period tag, the transmission delay of the second message will increase because the time domain resources used by the first device to send the second message overlap with the time domain resources used to send the first message. To avoid affecting the transmission delay of the first message, the first message is only sent to the third device through the period corresponding to the third period tag when the first condition is met. That is, the first message has already been sent before the start time when the second message is allowed to be sent, so the first message will not affect the transmission delay of the second message. Therefore, the first device can send the first message to the third device through the period corresponding to the third period tag.

[0024] In one possible implementation, if the first device determines that the first condition is not met, it either lowers the transmission priority of the first message or discards the first message. If the first condition is not met, that is, before the start time when the second message is allowed to be transmitted, the first message has not been completely transmitted. If the first device sends the first message to the third device through the period corresponding to the third period tag, since the time domain resources of the period used by the first device to send the second message overlap with the time domain resources used to send the first message, the transmission of the first message will increase the transmission delay of the second message. In this case, the transmission delay of the second message can be minimized by lowering the transmission priority of the first message or discarding the first message.

[0025] In one possible implementation, the first condition further includes: the period corresponding to the fourth period tag belongs to the period corresponding to a preset low-latency stream. Thus, by pre-setting one or more low-latency streams, such as ensuring the period corresponding to the fourth period tag belongs to the period corresponding to a low-latency stream, the impact of packets from other periods on the transmission latency of packets in the transmission period occupied by the low-latency stream can be minimized, thereby ensuring the transmission latency of the preset low-latency stream as much as possible.

[0026] In one possible implementation, the preset period corresponding to the low-latency stream includes the period corresponding to the sixth period tag. In practical applications, some parameters can be pre-configured, such as a logical period tag for the packet, like the sixth period tag. Thus, packets in the transmission period corresponding to the sixth period tag of the first device can be determined as packets requiring low latency. To ensure the transmission latency of such packets, other packets can be checked. If the transmission of other packets would affect the transmission latency of such packets, the transmission latency of such packets can be guaranteed by discarding other packets or reducing their priority.

[0027] In one possible implementation, the first condition further includes at least one of the following: the source address of the second message is the same as the source address corresponding to the preset low-latency stream; the destination address of the second message is the same as the destination address corresponding to the preset low-latency stream; or, the priority information of the second message is the same as the priority information corresponding to the preset low-latency stream.

[0028] In practical applications, some parameters can be pre-configured, such as at least one of the source address, destination address, or priority information for a low-latency stream. When the parameters of a packet match the pre-configured parameters, the packet can be identified as one requiring low latency. To ensure the transmission latency of such packets, other packets can be checked. If the transmission of other packets would affect the transmission latency of this type of packet, the transmission latency of this type of packet can be guaranteed by discarding other packets or reducing their priority.

[0029] Corresponding to the method provided in the first aspect, this application also provides a communication device. The communication device can be any type of transmitting device (e.g., a second device) or receiving device (e.g., a first device) that transmits data wirelessly. Examples include communication chips, network devices, etc. During communication, the transmitting and receiving devices are relative to each other. In some communication processes, the communication device can function as the aforementioned first device or as a communication chip usable with the first device.

[0030] Secondly, a communication device is provided, which can be the aforementioned first device, including a transceiver unit and a processing unit, to perform the first aspect and any embodiment thereof. The transceiver unit is used to perform functions related to sending and receiving. Optionally, the transceiver unit includes a receiving unit and a sending unit. In one design, the communication device is a communication chip, and the transceiver unit can be the input / output circuit or port of the communication chip.

[0031] In another design, the transceiver unit can be a transmitter and a receiver, or the transceiver unit can be a transmitter and a receiver.

[0032] Optionally, the communication device may also include various modules that can be used to perform the first aspect and any of the embodiments of the first aspect.

[0033] Thirdly, a communication device is provided, which can be the aforementioned first device. It includes a processor and a memory. Optionally, it also includes a transceiver. The memory is used to store computer programs or instructions, and the processor is used to retrieve and execute the computer programs or instructions from the memory. When the processor executes the computer programs or instructions in the memory, the communication device performs the first aspect and any of the embodiments described in the first aspect.

[0034] Optionally, there may be one or more processors and one or more memories.

[0035] Optionally, the memory can be integrated with the processor, or the memory can be set up separately from the processor.

[0036] Optionally, the transceiver may include a transmitter and a receiver.

[0037] Fourthly, a communication device is provided, including a processor. The processor is coupled to a memory and can be used to execute the methods of the first aspect and any possible implementation thereof. Optionally, the communication device further includes a memory. Optionally, the communication device further includes a communication interface, to which the processor is coupled.

[0038] In one implementation, the communication device is a network device. When the communication device is a network device, the communication interface can be a transceiver, or an input / output interface. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0039] In another implementation, the communication device is a chip or a chip system. When the communication device is a chip or a chip system, the communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The processor can also be manifested as a processing circuit or logic circuit.

[0040] Fifthly, a system is provided, which includes the aforementioned second device and first device.

[0041] In a sixth aspect, a computer program product is provided, comprising: a computer program (also referred to as code or instructions) that, when executed, causes a computer to perform the methods described in the first aspect and any possible implementation thereof.

[0042] In a seventh aspect, a computer-readable storage medium is provided, which stores a computer program (also referred to as code or instructions) that, when executed on a computer, causes the computer to perform the methods described in the first aspect and any possible implementation thereof.

[0043] Eighthly, a processing apparatus is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, thereby enabling the methods of the first aspect and any possible implementation thereof to be implemented.

[0044] In specific implementation, the aforementioned processing device can be a chip, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, gate circuit, flip-flop, and various logic circuits, etc. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be, for example, but not limited to, output to a transmitter and transmitted by the transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as the input circuit and the output circuit at different times, respectively. This application does not limit the specific implementation of the processor and various circuits. Attached Figure Description

[0045] Figure 1 This is a schematic diagram of a network architecture applicable to an embodiment of this application;

[0046] Figure 2This is a schematic diagram of another network architecture applicable to the embodiments of this application;

[0047] Figure 3 A data transmission schematic diagram provided for an embodiment of this application;

[0048] Figure 4 for Figure 2 A schematic diagram showing device R0 sending data to device R1;

[0049] Figure 5 A flowchart illustrating a message transmission method provided in an embodiment of this application;

[0050] Figure 6 for Figure 5 A schematic diagram of a possible example of the provided message transmission method;

[0051] Figure 7 This is a schematic diagram illustrating a structure for a second device transmitting data to a first device, as provided in an embodiment of this application.

[0052] Figure 8 This is a schematic diagram illustrating another structure for transmitting data from a second device to a first device, provided in an embodiment of this application.

[0053] Figure 9 This application provides a schematic diagram of the structure of a communication device according to an embodiment of the present application;

[0054] Figure 10 This application provides a schematic diagram of the structure of another communication device.

[0055] Figure 11 This application provides a schematic diagram of the structure of another communication device. Detailed Implementation

[0056] It should be understood that the technical solutions of the embodiments of this application can be applied to various communication systems, such as: mobile bearer fronthaul or backhaul fields, metropolitan area multi-service bearer, data center interconnection, industrial communication and other communication systems based on Ethernet technology, as well as communication systems between different components or modules in industrial or communication equipment.

[0057] Figure 1 An exemplary diagram illustrates a network architecture applicable to embodiments of this application, such as... Figure 1 As shown, the network architecture includes a first device and a second device, and optionally, a third device. The first device can receive packets from the second device and send the received packets to the third device. The first device can send packets to the third device through a first port. The first port can include one physical port. The first port can also include multiple physical ports, which can be bound together into a logical port.

[0058] The first device can be a network device. The second device can be a terminal device or a network device. The third device can be a terminal device or a network device. Network devices can refer to routing devices, switches, gateway devices, etc. Gateway devices, also known as internetwork connectors or protocol converters, are computer systems or devices that provide data conversion services between multiple networks. Gateway devices can also refer to devices that connect two types of networks (such as connecting a deterministic internet protocol (DIP) network with other networks (other networks such as IPv4, IPv6, etc.)). Gateway devices can also be routing devices, switches, or dedicated gateway devices.

[0059] In this context, any two devices in an upstream-downstream relationship can be referred to as the upstream device and the downstream device, respectively. For example, the second device mentioned above can be called the upstream device, and the first device can be called the downstream device. As another example, the first device mentioned above can be called the upstream device, and the third device can be called the downstream device.

[0060] Figure 2 An exemplary diagram illustrates another network architecture applicable to embodiments of this application, such as... Figure 2 As shown, the network architecture includes a transmitting device, at least one node, and a receiving device. The at least one node may include n devices, from device R0 to device Rn, where n can be a positive integer, and any one of these devices can be one of the aforementioned network devices. Device R0 can be a routing device, a switch, or a gateway device; for example, device R0 can be an ingress gateway (iGW). Device Rn can be a routing device, a switch, or a gateway device; for example, device Rn can be an egress gateway (eGW). The transmitting device can be a terminal device or one of the aforementioned network devices. The receiving device can be a terminal device or one of the aforementioned network devices.

[0061] The above Figure 1 The three devices in it can provide Figure 2 Three adjacent devices in the middle, for example, Figure 2 The devices Rn-1, Rn, and the receiving device can be sequentially named as follows: Figure 1 The second, first, and third devices in the system. Of course, devices Rn-2, Rn-1, and Rn can also be sequentially... Figure 1 The second device, the first device, and the third device are described. To more clearly illustrate the embodiments of this application, the following content will refer to device Rn-1, device Rn, and the receiving device sequentially. Figure 1 The second, first, and third devices in the process will be used as examples for introduction.

[0062] Figure 2 The connections between the sending device and device R0, and between the receiving device and device Rn, can be established through an edge network, while the connections between any two nodes in device R0 and device Rn can be established through a core network. The sending and receiving devices can transmit deterministic internet protocol (DIP) messages, meaning messages transmitted under conditions of deterministic latency. This deterministic latency can be understood as the latency and jitter experienced during message transmission remaining within a preset range under certain burst conditions. Of course, non-DIP messages can also be transmitted between the sending and receiving devices. Furthermore, the sending device can also receive data sent by the receiving device; that is, the sending and receiving devices can transmit data to each other. The following embodiments in this application only illustrate the example of the sending device sending data to the receiving device and are not intended to be limiting.

[0063] In one possible implementation, the solution provided in this application can be applied when the output interface rate of the upstream device is greater than that of the downstream device, for example... Figure 2 The outgoing interface rate of device Rn-1 is 100 Mbps, and the outgoing interface rate of device Rn is 10 Mbps. The solution provided in this application embodiment can be applied to device Rn, that is, device Rn executes the solution of the first device side in this application embodiment.

[0064] In another possible implementation, the solution provided in this application embodiment can also be applied when the outgoing interface rate of the upstream device is equal to or less than the outgoing interface rate of the downstream device. For example, the solution provided in this application embodiment can be applied when the outgoing interface rate of device Rn-1 is equal to or less than the outgoing interface rate of device Rn. Furthermore, the solution provided in this application embodiment can also be applied to two other adjacent devices in the network. This application embodiment does not limit the scope of the solution.

[0065] Based on the above, the terminology and related technologies involved in the embodiments of this application will be introduced below.

[0066] (1) Period and period duration.

[0067] The device in the embodiments of this application (e.g.) Figure 2 The transmitting device (device R0, device R1, device Rn-1, device Rn, etc.) divides the time-domain resources of the outgoing interface (in this embodiment, the outgoing interface can also be referred to as the interface or port used to send messages) to obtain multiple time-domain resources of the outgoing interface. These multiple time-domain resources can be referred to as multiple periods. The duration of each time-domain resource can be referred to as the duration of the period or the period duration of the period.

[0068] The duration of any two time-domain resources of this device's output interface can be equal. For example, if the time-domain resources of device Rn-1's output interface are divided into periods of 2.5 microseconds, it means that the duration of any period of this output interface of device Rn-1 is 2.5 microseconds.

[0069] It should be noted that in the embodiments of this application, the duration of the cycles corresponding to the two devices can be equal or unequal. For example, the duration of the cycle divided by device R0 can be equal or unequal to the duration of the cycle divided by device R1.

[0070] Figure 3 An exemplary diagram of data transmission is shown, such as... Figure 3 As shown, the start times of the periods divided by different devices may differ, and the distance between the period boundaries of any two nodes usually remains constant. Figure 3 As shown, the periodic boundary of device R1 differs from the periodic boundary of device R0 by D and D`, and |DD`|≤1us. Of course, this 1us can be switched to different values ​​depending on the scenario. Similarly, the periodic boundaries of device R0 and device Rn differ by D1 and D1`, and |D1-D1`|≤1us.

[0071] (2) Edge shaping.

[0072] like Figure 3 As shown, device R0 shapes the received traffic, ensuring that the number of bytes per stream per cycle does not exceed Bi. The transmission is in the T mode, where Bi represents the bandwidth specified by the Service-Level Agreement (SLA) for each stream, and T represents the duration of the period obtained by allocating time-domain resources on the port where device R0 transmits the stream.

[0073] (3) Periodic labels.

[0074] A cycle label can also be understood as a cycle number.

[0075] After the time-domain resources of a device's output interface are divided into multiple periods, these periods can be numbered, or labeled. Each period number corresponds to a range of values, or the period label corresponds to a range of values. For example, this range can be [0, N], and the period number can be an integer within [0, N], where N is a positive integer. This range can also be some discrete, specific values; this application does not impose such limitations.

[0076] The period label (or period number) of the time domain resource corresponding to an output interface of a device can be cyclically selected from [0, N]. For example, if N is 3, then the period label of the time domain resource corresponding to the output interface of the device can be: 0, 1, 2, 3, 0, 1, 2, 3...

[0077] Please see Figure 3 Device R0 has multiple cycles at its outgoing interface. Within cycle T2, messages carry cycle tag 2 (the specific form of carrying cycle tag 2 can vary; for example, it can include information indicating cycle tag 2 within the message, or it can use several bits to indicate the value of the cycle tag). Cycle tag 2 can be carried in the first message of cycle T2 and zero, one, or more other messages. For example, it can be carried only in the first message of cycle T2; or only in the first and last messages of cycle T2; or in all messages of cycle T2. Similarly, messages sent within cycle T3 carry cycle tag 3, and messages sent within cycle T0 carry cycle tag 0.

[0078] (4) Message delay.

[0079] Figure 4 An example is shown Figure 2 A schematic diagram of device R0 sending data to device R1 is shown below. Figure 4 As shown, the delay L of the message sent by computing device R0 in period T2 arriving at device R1 can be calculated using the following formula:

[0080] L = A + (duration of one cycle of the output interface of device Rn-1) + Lmax + B... Formula (1)

[0081] In formula (1), A represents the time from the sending of the first message in the T2 cycle of device R0 to its arrival at the ingress interface of device R1;

[0082] Lmax represents the maximum processing latency within device R1;

[0083] t1 = t0 + Lmax;

[0084] B represents the duration between time t1 and the boundary of the first cycle after time t1. The value range of B is [0, the duration of the cycle corresponding to the output interface of device R1].

[0085] It's important to note that the value of A can be understood as the line delay of the message sent from device R0 to device R1, and this line delay can be a fixed value. In one possible implementation, a first packet identifier can be added to the first message. After receiving the message carrying the first packet identifier, device R1 records the reception time t0 of the first message; the transmission time of the message from device R0 can be obtained through information such as the timestamp carried in the message. Alternatively, the value of A may be a preset value.

[0086] like Figure 4 As shown, it can be determined by formula (1) that the message sent by device R0 in the period corresponding to period label T2 needs to be sent in the period corresponding to period label T1 of device R1.

[0087] (4) Periodic mapping relationship.

[0088] Downstream devices can establish a periodic mapping relationship with upstream devices. This periodic mapping relationship includes the mapping between the periodic tag carried in the message sent by the upstream device and the period at which the downstream device forwards the message to the next hop. Therefore, each device can reliably forward messages according to the periodic mapping relationship, keeping the message transmission delay within a preset delay range and achieving a deterministic network.

[0089] Downstream devices can learn the cycle mapping relationship, as shown below. Figure 4 This paper introduces a scheme for mapping the learning cycle relationship of downstream devices, such as... Figure 4 As shown, device R1 receives a message carrying a period tag T2. The arrival time of the tail message within the period corresponding to period tag T2 is t1. The next period of device R1 corresponding to t1 is determined as the transmission period of this message (or the period corresponding to the time after adding duration B to time t1 is determined as the transmission period of this message). Figure 4 The period T1 of device R1 is determined as the sending period of the message, thus determining the period mapping relationship between device R0 and device R1 learned by device R1 as follows: period T2 is mapped to period T1.

[0090] The following explanation uses the period mapping relationship as an example: Tx is mapped to Ty. That is, after the message in period Tx of the upstream device's outgoing interface is sent to the downstream device, it is sent in period Ty of the downstream device's outgoing interface.

[0091] Delta can be calculated first using the following formula (2):

[0092] delta = (Ty-Tx+Ny)mod Ny...Formula (2)

[0093] In formula (2), Ty is the periodic label of the message sent by the outgoing interface of the downstream device;

[0094] Tx is the periodic tag for messages sent from the outgoing interface of the upstream device;

[0095] Ny represents the number of values ​​within the range of the periodic tag of the downstream device; for example, if the range of the periodic tag is [0,3] and the periodic tag is an integer within this range, then the number of values ​​within the range of the periodic tag is 4; or if the range of the periodic tag is [0,7] and the periodic tag is an integer within this range, then the number of values ​​within the range of the periodic tag is 8.

[0096] mod is the modulo operator.

[0097] Then, the transmission period Ty' corresponding to the message received by the downstream device can be calculated according to formula (3):

[0098] Ty'= (Tx'+ delta)mod Ny...Formula (3)

[0099] In formula (3), Tx' is the period tag of the message sent by the outgoing interface of the upstream device;

[0100] delta is the same as delta in formula (2);

[0101] mod is the remainder;

[0102] Ny represents the number of values ​​within the range of the periodic label for the downstream device.

[0103] Please continue reading Figure 4 Since the above formula (1) calculates that the message sent by device R0 in the period corresponding to period tag T2 needs to be sent in the period corresponding to period tag T1 of device R1. And the number of values ​​in the period tag range of device R1 is 4, therefore delta = (1-2+4)mod 4 = 3, that is, 3 is the adjustment value.

[0104] For further information, please refer to [link / reference]. Figure 3 The transmission period corresponding to the message sent by device R0 in period T3 in device R1 can be calculated using the formula (3) above. The transmission period corresponding to the message sent by device R0 in period T3 in device R1 is (3 + 3)mod4 = 2, that is, the period label of the transmission period corresponding to the message sent by device R0 in period T3 in device R1 is T2. Similarly, the period label of the transmission period corresponding to the message sent by device R0 in period T0 in device R1 is T3.

[0105] Furthermore, device R1 replaces the periodic label indicating T2 in the received message with the periodic label indicating T1, and sends the message with the replaced periodic label to the downstream device in period T1. Similarly, device R1 replaces the periodic label of the message received from device R0 in period T3 with T2, and then sends it in period T2; device R1 replaces the periodic label of the message received from device R0 in period T0 with T3, and then sends it in period T3.

[0106] Similarly, when device Rn-1 receives a message from its upstream device, it replaces the period label of the message sent by its upstream device in period T0 with T1 and then sends it in period T1; when device Rn-1 receives a message sent by its upstream device in period T1 with T2, it sends it in period T2; when device Rn-1 receives a message sent by its upstream device in period T2 with T3, it sends it in period T3.

[0107] (4) Periodic transmission.

[0108] For equipment (as described above) Figure 2 An outgoing interface of the sending device, gateway device 1, routing device, and gateway device 2 can be understood as having a queue for each cycle, with the queue index being a cycle label. Messages corresponding to each cycle label can be sent cyclically. In one possible implementation, each queue can be understood as corresponding to a gating switch. Opening the gating switch of a queue can be understood as allowing the transmission of messages corresponding to that queue (i.e., messages corresponding to the cycle label of that queue), and closing the gating switch of a queue can be understood as stopping the transmission of messages corresponding to that queue. The opening and closing of the gating switches mentioned in this embodiment are merely to indicate whether the messages corresponding to the queue are in a state where transmission is allowed. In practical scenarios, the function of the gating switch can be implemented through registers, timers, or other devices or modules.

[0109] Please continue reading. Figure 3 The output interface of device R0 has four cycles, corresponding to four queues. Messages with cycle tag T0 enter the queue corresponding to cycle tag T0, messages with cycle tag T1 enter the queue corresponding to cycle tag T1, messages with cycle tag T2 enter the queue corresponding to cycle tag T2, and messages with cycle tag T3 enter the queue corresponding to cycle tag T3. Each queue can be equipped with a gating switch. When the gating switch of a queue is open, messages in that queue can be sent; when the gating switch of a queue is closed, messages in that queue are not sent. The queues can be opened and closed cyclically, for example... Figure 3The device R0 shown can open a gate switch with period tag T2 and maintain it for the duration of period tag T2. During the period when the gate switch is open, it can send messages with period tag T2. When the gate switch is open for the duration of period tag T2, it closes the gate switch, i.e., it stops sending messages with period tag T2. Next, it opens a gate switch with period tag T3 and maintains it for the duration of period tag T3. During the period when the gate switch is open, it can send messages with period tag T3. When the gate switch is open for the duration of period tag T3, it closes the gate switch, i.e., it stops sending messages with period tag T3.

[0110] Figure 5 An exemplary flowchart of a message transmission method is shown, which can be executed by a first device or a unit, module, or chip within the first device. The first device can be one of the aforementioned... Figure 1 The first device in the process can be the aforementioned Figure 2 The devices in the network shown can be, for example, one of devices R1 to Rn. In this embodiment, device Rn is used as the first device for illustration. Figure 5 As shown, the method includes:

[0111] S501, the first device receives a first message and a second message from the second device. The first message includes a first period tag and is a message sent by the second device according to the period corresponding to the first period tag. The second message includes a second period tag and is a message sent by the second device according to the period corresponding to the second period tag.

[0112] It should be noted that the port used by the second device to send the first message and the second message can be the same or two different ports. The period duration corresponding to the port used to send the first message on the second device is the same as the period duration corresponding to the port used to send the second message, and the value range of the period tag corresponding to the port used to send the first message is the same as the value range of the period tag corresponding to the port used to send the second message.

[0113] The second device can send one or more messages through the period corresponding to the first period tag. The first message can be one of the messages, it can be the first message, or it can be a non-first message, such as the last message or a message in the middle. Similarly, the second device can send one or more messages through the period corresponding to the second period tag. The second message can be one of the messages, it can be the first message, or it can be a non-first message, such as the last message or a message in the middle.

[0114] S502, the first device determines the third period tag corresponding to the first period tag, and sends the first message to the third device in the period corresponding to the third period tag.

[0115] S503, the first device determines the fourth period tag corresponding to the second period tag, and sends a second message to the third device during the period corresponding to the fourth period tag. The start time of the period corresponding to the fourth period tag is later than the start time of the period corresponding to the third period tag, but earlier than the end time of the period corresponding to the third period tag.

[0116] Since the period corresponding to the fourth period tag does not start after the period corresponding to the third period tag ends, but before the period corresponding to the third period tag ends, the time domain resources of the periods corresponding to the third period tag and the periods corresponding to the fourth period tag overlap. This can speed up the transmission of the second message and reduce the transmission latency of the second message.

[0117] In S502 above, the first device determines a third period tag corresponding to the first period tag, and can send a first message to the third device through the first port in the period corresponding to the third period tag. In S503 above, the first device determines a fourth period tag corresponding to the second period tag, and can send a second message to the third device through the first port in the period corresponding to the fourth period tag. It can be seen that in this embodiment, the time domain resources of the first port are divided, and the time domain resources of two periods of the same port can overlap, thereby improving the transmission speed of messages on the first port. The first port can be a physical port or a logical port bound to multiple physical ports.

[0118] In this embodiment, a periodic label switching forwarding architecture can be adopted, supporting different durations for the periodic settings of the device's outgoing interface. The duration of the period corresponding to the third and fourth periodic labels is the first duration, which can also be said to be the duration of the period corresponding to the first port of the first device. The duration of the period corresponding to the first and second periodic labels is the second duration, which can also be said to be the duration of the period corresponding to the port of the second device used to send the first and second packets.

[0119] The first duration can be equal to or unequal to the second duration. For example, the first duration can be less than or equal to the second duration. In one possible implementation, when the first duration is less than or equal to the second duration, to improve data transmission latency, the time domain resources of the period corresponding to the first period tag and the period corresponding to the second period tag can be obtained by dividing the same time domain resources of the second device, and the time domain resources of the two periods can overlap. That is, the start time of the period corresponding to the second period tag on the second device can be after the start time of the period corresponding to the first period tag and before the end time of the period corresponding to the first period tag.

[0120] For example, the first duration can be longer than the second duration. In one possible implementation, to improve data transmission latency, the time domain resources of the period corresponding to the first period tag and the period corresponding to the second period tag can overlap. That is, the start time of the period corresponding to the second period tag on the second device can be after the start time of the period corresponding to the first period tag and before the end time of the period corresponding to the first period tag.

[0121] In another possible implementation, the time-domain resources of the two cycles on the second device do not overlap, and the time-domain resources of two adjacent cycles of the ports on the second device used to send the first and second messages do not overlap. For example, if the cycle corresponding to the first cycle label and the cycle corresponding to the second cycle label are two adjacent cycles, then the start time of the cycle corresponding to the second cycle label on the second device is the same as the end time of the cycle corresponding to the first cycle label, or it is located after the end time of the cycle corresponding to the first cycle label.

[0122] Figure 6 An example is shown Figure 5 A schematic diagram illustrating one possible example of the provided message transmission method is shown below for easier understanding. Figure 6 right Figure 5 The proposed solution will be introduced.

[0123] like Figure 6 As shown, taking the second device as... Figure 2 Device Rn-1 in the middle, the first device is Figure 2 The device Rn is illustrated in the diagram. The duration of one cycle divided by the first device is greater than the duration of one cycle divided by the second device. Figure 6 The diagram illustrates this by showing that the length of one cycle of the first device is longer than the length of one cycle of the second device.

[0124] The second device in this embodiment can also adopt the above-described... Figure 5The scheme on the first device side determines the transmission period of the message received by the second device on the second device. In this case, the upstream device of the second device can execute... Figure 5 The second device in the solution can perform the above-mentioned actions. Figure 5 The solution is implemented on the first device side, while the downstream devices of the second device can execute the above. Figure 5 The solution for the third device side. Of course, the second device can also use other solutions, such as those mentioned above. Figure 3 and Figure 4 The method shown in the example determines the transmission period of the message received by the second device on the second device, and the embodiments of this application do not limit this.

[0125] Figure 6 The illustration is based on the example that the cycles of the second device are transmitted serially, that is, the time domain resources of adjacent cycles of the ports on the second device used to send the first and second messages do not overlap. Figure 6 The time-domain resources of the two cycles on the second device do not overlap. This can also be understood as the start time of one cycle being the end time of the other, or being after the end time of the other cycle, in two adjacent cycles. Of course, in this embodiment, the time-domain resources of the two cycles on the second device side may overlap, and this embodiment does not impose any restrictions on this.

[0126] like Figure 6 As shown, the first message can be message a1, the second message can be message a2, the first period tag is T1, and the period corresponding to the first period tag can be called the T1 period, the second period tag is T2, and the period corresponding to the second period tag can be called the T2 period, the third period tag is T3, and the period corresponding to the third period tag can be called the T3 period, and the fourth period tag is T4, and the period corresponding to the fourth period tag can be called the T4 period.

[0127] The second device sends message a1 (the first message) in period T1 (the period corresponding to the first period tag). The first device receives message a1, determines that the period tag carried in message a1 is T1, and, according to the period mapping relationship, determines that the second device's T1 (the first period tag) is mapped to the first device's T3 (the third period tag). Then, the first device sends message a1 (the first message) in period T3, for example, to a third device. Optionally, the first message sent by the first device may or may not carry the third period tag; this embodiment does not impose any restrictions on this. Figure 6 For ease of understanding, the example shown is the first message sent by the first device carrying the third periodic tag.

[0128] Similarly, the second device sends message a2 (the second message) in period T2 (the period corresponding to the second period tag). The first device receives message a2, determines that the period tag carried in message a2 is T2, and, based on the period mapping relationship, determines that the second device's T2 (second period tag) is mapped to the first device's T4 (fourth period tag). Then, the first device sends message a2 (the second message) in period T4, for example, to the third device. Optionally, the second message sent by the first device may or may not carry the fourth period tag; this embodiment does not impose any restrictions on this. Figure 6 To facilitate understanding, we will use the example of the second message sent by the first device carrying the fourth periodic tag.

[0129] from Figure 6 As can be seen, the start time of the period corresponding to the fourth period tag (the T4 period of the first device) is located between the start and end times of the period corresponding to the third period tag, meaning that the time domain resources of the period corresponding to the third period tag overlap with the time domain resources of the period corresponding to the fourth period tag. It should be noted that... Figure 6 The diagram shown illustrates the partitioning of time-domain resources for the same port of the first device (referred to as the first port for ease of explanation). In this embodiment, it can also be understood that the period corresponding to the third period label and the period corresponding to the fourth period label are obtained by partitioning the time-domain resources of the first port, and the time-domain resources of the period corresponding to the third period label overlap with the time-domain resources of the period corresponding to the fourth period label.

[0130] On the other hand, if the first device has multiple ports, it can also be executed on other ports. Figure 6 The scheme shown demonstrates that time-domain resources can also be partitioned for other ports, and the time-domain resource partitioning method can also be similar to... Figure 6 The time-domain resource partitioning methods shown may be the same or different, and this application does not impose any restrictions on them.

[0131] from Figure 6 It can be seen that the period duration allocated on the first device (i.e., the first duration) can be greater than the period duration allocated on the second device (the second duration). Therefore, even in scenarios where the outgoing interface rate of the first device is low, the MTU of the first device can be increased by increasing the period duration of the first device to meet the MTU requirements of the service.

[0132] Furthermore, if each cycle is transmitted serially, it will result in a relatively large message transmission delay. If, in addition, the cycle duration on the first device is increased to improve the MTU of the first device, the message transmission delay will be even greater. For example... Figure 6The start time of cycle T4 is located at or after the end time of cycle T3. This means the first device only begins transmitting the messages mapped within cycle T4 at the end of cycle T3, resulting in a significant delay for the second message to be sent within cycle T4. To address this issue, this embodiment employs a scheme of parallel transmission of messages across multiple cycles. Specifically, the cycle corresponding to the fourth cycle tag does not begin after the end of the cycle corresponding to the third cycle tag, but rather before the end of the cycle corresponding to the third cycle tag. This allows for the transmission of messages in cycle T4 before the end of cycle T3, thus shortening the transmission delay of the second message in cycle T4.

[0133] Moreover, in practical applications, there is a scenario, such as the one mentioned above. Figure 2 The frequency of message transmission between device Rn and the receiving device is relatively low, resulting in sparse message mappings across the cycles of the first device. In this case, when applying [something] to device Rn... Figure 5 or Figure 6 The proposed solution, while allowing overlapping time-domain resources between multiple cycles of the first port of the first device (i.e., the total time-domain resources corresponding to multiple cycles are relatively reduced compared to the serial solution), can still meet the time-domain resources required by the first port of the first device to send the messages corresponding to these multiple cycles.

[0134] In this embodiment, the time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag can be a preset value. For easy distinction, the time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag can be called the third time interval, and the time interval between the start time of the period corresponding to the second period tag and the start time of the period corresponding to the first period tag can be called the fourth time interval.

[0135] In one possible implementation, the third duration can be set according to parameters such as the packet load on the first device. For example, if the packet load is large, the third duration can be set to be larger. This reduces the overlapping time domain resources between different cycles and increases the total time domain resources corresponding to multiple cycles, thereby appropriately alleviating the packet congestion problem.

[0136] For example, if the load of the sent messages is small, the third duration can be set to be smaller. This increases the time domain resources that overlap between different periods and reduces the total time domain resources corresponding to multiple periods, thereby appropriately shortening the message transmission delay.

[0137] In another possible implementation, the third duration is equal to the fourth duration, which is the interval between the start time of the period corresponding to the second period tag and the start time of the period corresponding to the first period tag. Thus, although the duration of each period differs on the first and second devices, the start times of adjacent periods on both devices are the same. This makes it easier to construct a cyclic mapping relationship between period tags, thereby reducing the computational load caused by period tag conversion and further reducing latency jitter.

[0138] For example, the second device serially sends messages for each cycle, i.e. Figure 6 As shown, the time-domain resources of two adjacent cycles on the same port of the second device do not overlap. For example, the second device reaches the start time of a cycle every second duration. If the cycle corresponding to the first cycle label is adjacent to the cycle corresponding to the second cycle label, and the duration between the start times of these two cycles is the second duration, that is, the fourth duration is equal to the second duration, then the third duration is equal to the second duration.

[0139] The relationship between the first duration and the second duration can be a multiple or not. In one possible implementation, to make the scheme simpler, the first duration can be set to an integer multiple of the second duration. The first and second durations can be set based on some parameters, such as the device's outgoing interface transmission rate, the required MTU, buffer capacity, etc.

[0140] The total number of values ​​corresponding to the value range of the periodic tag of the first device (such as the third or fourth periodic tag) can be determined based on: the first duration of one cycle of the first device and the fifth duration of the interval between the start times of two adjacent cycles of the first device. The total number of values ​​corresponding to the value range of the periodic tag of the first device must be an integer greater than the ratio of the first duration to the fifth duration. In this way, the periodic tag of the first device can cycle within its corresponding value range.

[0141] The total number of values ​​corresponding to the value range of the third cycle tag can be expressed as (Ny+1), (Ny+1) = R + C; R is the ratio of the first duration to the fifth duration, C is a positive integer, and Ny is an integer. The value range corresponding to the cycle tag of the first device can be [0, Ny]. In this way, the cycle tag of the first device can cycle within its corresponding value range.

[0142] When the periods corresponding to the first and second period tags are adjacent periods, and the two start times of the periods corresponding to the first and second period tags are separated by a second duration; and the periods corresponding to the third and fourth period tags are adjacent periods, then: the fifth duration is the aforementioned fourth duration, and the fifth duration is the second duration. In this case, the total number of values ​​corresponding to the range of values ​​for the period tags of the first device can be a number greater than the ratio of the first duration to the second duration.

[0143] Combination Figure 6 For example, such as Figure 6 The first device has a cycle of 12.5 microseconds (i.e., the first duration is 12.5 microseconds), and the second device has a cycle of 5 microseconds (i.e., the fifth duration equals the second duration, which is 2.5 microseconds). R is 5. In this case, (Ny+1) needs to be an integer greater than 5, such as 6, 7, or 8. However, if (Ny+1) = 4, Ny takes the value 3, meaning the cycle label of the first device can only cycle between [0, 3]. But since the duration of T0 is 12.5 microseconds, and the duration between two adjacent T0s is only four 2.5 microsecond intervals (because there are four cycles between two adjacent T0s, and the start time of two adjacent cycles is 2.5 microseconds), that is, 10 microseconds, the next T0 cycle starts before the previous T0 cycle has ended, which is obviously unreasonable. Therefore, in order for the cycle label of the first device to cycle within [0, Ny], Ny needs to be an integer greater than R.

[0144] On the other hand, the setting for C can be based on experience or various parameters, such as the jitter of the network device's internal packet processing and the period duration of the first port of the first device. For example, the greater the internal packet jitter, the larger the value of C can be set. Conversely, the longer the period duration of the first port, the smaller the value of C can be set. Figure 6 The example shown uses R = 5, C = 3, and Ny = 7.

[0145] This can also be understood as the first device having (Ny+1) queues, which can be interpreted as having (Ny+1) gating mechanisms. These (Ny+1) gating mechanisms use pipelined scheduling, opening one gating mechanism sequentially every second time interval, with each gating mechanism remaining open for the same duration as the first time interval. Simultaneously, at any given moment, the gating mechanisms of R queues are open, meaning data is being transmitted from these R queues (also called the transmit queues); and the gating mechanisms of C queues are closed, meaning data is being received from these C queues (also called the in queues or receive queues).

[0146] In combination with the above Figure 4 For example, if both the first and second devices use the first duration as the cycle duration, then as follows: Figure 4 As shown, the maximum message delay L can be written as (A + first duration + Lmax + first duration (B can take a maximum value of the first duration)). If using... Figure 5 The scheme shown, where the first device uses a first duration as the cycle duration and the second device uses a second duration, allows the maximum message delay L to be expressed as (A + second duration + Lmax + second duration (B can be a maximum value of the second duration)). Therefore, the difference in message delay between the two schemes can be 2. (First duration - Second duration), where Indicates multiplication; it can be seen that using... Figure 5 The solution shown uses a longer time period compared to the devices, which can save latency.

[0147] In S502 and S503 above, there are multiple ways for the first device to determine the transmission period corresponding to the received message carrying the period tag. For example, in one possible implementation, the first device can determine the transmission period based on the reception time of the message received from the second device, the preset processing time, the period tag carried in the message, and the aforementioned... Figure 4 The provided solution calculates the transmission period corresponding to the message on the first device.

[0148] In another possible implementation, the value range of the periodic tag of the second device (such as the first periodic tag and / or the second periodic tag) can be written as [0, Nx], and the total number of values ​​corresponding to the value range of the periodic tag of the second device is (Nx+1). To distinguish them, the total number of values ​​corresponding to the value range of the periodic tag of the second device can be referred to as the first quantity.

[0149] The value range of the periodic label of the first device (such as the third periodic label and / or the fourth periodic label) can be written as [0, Ny]. The total number of values ​​corresponding to the value range of the periodic label of the first device is (Ny+1). To distinguish them, the total number of values ​​corresponding to the value range of the periodic label of the first device can be called the third quantity.

[0150] In practical implementation, there may be a situation where (Nx+1) is less than (Ny+1), for example, (Nx+1) is 4 and (Ny+1) is 8. The periodic label of the output interface of the second device cycles within [0, 3], while the periodic label of the output interface of the first device cycles within [0, 7]. If the above is adopted... Figure 4The scheme shown and the above formula (2) calculate the corresponding delta=0 between the periodic tag of the second device and the periodic tag of the first device. For example, one T0 of the second device corresponds to one T0 of the first device. However, if the periodic tag of the second device is subsequently calculated according to formula (3) and the calculated delta, a problem will occur: when one T0 of the second device is calculated according to the above formula (3), a problem will occur. Figure 4 After the scheme shown is mapped to T0 of the first device, if the next T0 of the second device is calculated based on the calculated delta and the above formula (3), it will also be mapped to the next T0 of the first device. However, if based on the above... Figure 4 The scheme shown might mean that the next T0 of the second device could be mapped to T4 of the first device. Therefore, the same T0 of the second device calculated using either of these two methods could be mapped to either T0 or T4, resulting in an incorrect mapping. It is evident that if the above method is used directly... Figure 4 The schemes shown above, as well as the schemes shown in formulas (2) and (3) above, will cause errors when the periodic label of the second device is mapped to the periodic label of the first device.

[0151] For scenarios where (Nx+1) is less than (Ny+1), this application embodiment also provides a solution where a logical periodic label (such as a fifth periodic label and a sixth periodic label) can be set. The first device can first map the periodic label carried in the message sent by the second device to the logical periodic label, and then map the logical periodic label of the message to the periodic label of the first device's sending period. The value range of this logical periodic label is written as [0, Nz], that is, the total number of values ​​corresponding to the value range of the fifth periodic label and the sixth periodic label is (Nz + 1). To distinguish them, the total number of values ​​corresponding to the value range of the fifth periodic label can be referred to as the second quantity.

[0152] In one possible implementation, the second quantity is a common multiple of the first and third quantities, such as the least common multiple. (Nz+1) is a common multiple of (Nx+1) and (Ny+1). For example, if Nx is set to 3 and Ny is 7, then Nz can take values ​​of 7, 15, etc. In this embodiment, Nz is 7 as an example.

[0153] In S502 above, the first device determines the fifth cycle tag corresponding to the first cycle tag, and then the first device determines the third cycle tag corresponding to the fifth cycle tag. In S503 above, the first device determines the sixth cycle tag corresponding to the second cycle tag, and then the first device determines the fourth cycle tag corresponding to the sixth cycle tag.

[0154] Figure 7 An exemplary schematic diagram illustrates a structure for a second device to transmit data to a first device, such as... Figure 7 As shown, after the first device receives a message from the second device, it can first perform a period mapping, mapping the period tag carried in the message to a logical period tag. For example, a counter can be set up so that after a period tag is received, the counter automatically increments until it reaches the maximum value of the logical period tag, at which point it automatically resets to zero and starts counting again. The value of the counter can indicate the logical period tag corresponding to the period tag carried in the currently received message from the second device.

[0155] For example, when the first device receives a message from the second device carrying a period tag T0, the counter starts counting to 1, and the corresponding logical period tag is T0 (it could also be T1, T2, etc., which can be preset to correspond to the logical period tag of counter 1); when the first device receives a message from the second device carrying a period tag T1, the counter count changes to 2, and the corresponding logical period tag is T1; and so on... when the first device receives a message from the second device carrying a period tag T0, the counter count changes to 5, and the corresponding logical period tag is T4; when the first device receives a message from the second device carrying a period tag T1, the counter count changes to 6, and the corresponding logical period tag is T5; and so on... when the first device receives a message from the second device carrying a period tag T3, the counter count changes to 8, and the corresponding logical period tag is T7; the counter is reset to zero; next, when the first device receives a message from the second device carrying a period tag T0, the counter restarts counting, counting to 1, and the corresponding logical period tag is T0...

[0156] like Figure 7 As shown, the first device can perform a second period mapping, mapping the logical period label corresponding to the message to the first device's transmission period. That is, it determines the period label of the transmission period corresponding to the logical period label of the received message from the second device, and transmits the message in the period corresponding to that period label. The process by which the first device maps the logical period label of the message to its transmission period can be as described above. Figure 4 The difference between the scheme shown and the above formulas (2) and (3) is that, in the calculation process, the periodic label carried in the message of the second device is no longer used to calculate the periodic label of the message in the sending period of the first device. Instead, the logical periodic label corresponding to the message sent by the second device is used to calculate the periodic label of the message in the sending period of the first device. That is, in the above formula (2), Tx is replaced by Tz, and Tz is the logical periodic label corresponding to the periodic label of the message sent by the outgoing interface of the upstream device; in the above formula (3), Tx' is replaced by Tz', and Tz' is the logical periodic label corresponding to the periodic label of the message sent by the outgoing interface of the upstream device.

[0157] It should be noted that the first device maps the logical period tag of the received message to the first device's transmission period, which can be done first through... Figure 4 The scheme shown demonstrates the learning of periodic mapping relationships. The learning of periodic mapping relationships can be triggered by various conditions. For example, the message sent by the second device to the first device can include instruction information to instruct the first device to learn the periodic mapping relationship. This instruction information can be carried, for example, in the Differential Services Codepoint (DSCP) field of IPv4 (Internet Protocol version 4) or IPv6 (Internet Protocol version 6). Optionally, the periodic label carried in the message can also be a DSCP field.

[0158] For example, the first device calculates that the logical periodic label corresponding to the first message (carrying periodic label T1 (first periodic label)) is T1 (fifth periodic label), and the first device, based on the above... Figure 4 The scheme shown calculates the transmission period of the first message in the first device as T1 (third period tag) based on the fifth period tag, the reception time of the first message, and the preset processing time. Then, according to the above formula (2), delta is calculated to be 0. After that, the first device calculates the transmission period of the logical period tag corresponding to the received message in the first device according to the above formula (3). For example, if the period tag carried by the message received by the first device is T1 and its corresponding logical period tag is T5, then the transmission period of the message in the first device calculated according to the above formula (3) is T5. It can be seen that when there are two messages carrying period tag T1, and the logical period tags corresponding to the two messages are different, the transmission periods corresponding to the two messages in the first device are also different, thereby avoiding errors in the period tag mapping process.

[0159] It should be noted that the logical periodic label in this application embodiment is merely an intermediate periodic label used to map the periodic label carried by the message sent by the second device to the sending period of the first device. For the purpose of differentiation, it is named logical periodic label, which can be a periodic label, index value or identifier, etc.

[0160] In practical applications, some businesses may have special requirements, such as ensuring low latency for the business flow, which can also be called low-latency flows.

[0161] For example, parameters for one or more low-latency jitter streams can be preset. If the parameters of a certain service stream match the parameters of at least one low-latency jitter stream, then the service stream can be determined to be a low-latency stream. In other words, the latency of the service stream needs to be guaranteed as much as possible to avoid large deviations in its latency.

[0162] The parameters of the preset low-latency stream include at least one of the following: periodic label; source address; destination address; or priority information.

[0163] The period tag can be a period tag for a specific transmission cycle on the first device. For example, the parameters of a preset low-latency flow may include one or more logical period tags, such as the sixth period tag. In this scenario, the first device can determine that the packet corresponding to the sixth period tag belongs to the preset low-latency flow.

[0164] The source address can be a source Media Access Control (MAC) address, a source Internet Protocol (IP) address, etc. The destination address can be a destination MAC address, a destination IP address, etc. The priority information can be Virtual Local Area Network (VLAN) priority information.

[0165] For example, if the parameters of the preset low-latency flow include a period label (e.g., the sixth period label), source address, destination address, and priority information, then when the first device determines that the logical period label assigned to a packet is the sixth period label, and the source address, destination address, and priority information of the packet match or are the same as the source address, destination address, and priority information in the preset low-latency flow, then the first device can determine that the packet belongs to the preset low-latency flow.

[0166] This application embodiment may also provide a possible implementation method for further providing latency guarantees for low-latency streams. For example, if the second message is a message in a low-latency stream that requires further guarantees, then S502 executed before S503 can be replaced by: the first device, under the condition of satisfying the first condition, determining a third period tag corresponding to the first period tag, and sending the first message to the third device through the period corresponding to the third period tag.

[0167] The first condition may include: the estimated time when the first message is sent to the third device through the period corresponding to the third period tag is earlier than: the start time of the period corresponding to the fourth period tag.

[0168] Please continue reading. Figure 7The fourth start time is the start time of the period corresponding to the fourth period tag of the first device sending the second message. The first condition can be understood as follows: if the first device can complete sending the first message before it starts sending the second message, then the first device can send the first message through the period corresponding to the third period tag.

[0169] However, if the first device has not finished sending the first message before it starts sending the second message, the sending of the first message will affect the latency of the second message because the time domain resources corresponding to the third and fourth period tags overlap. For example, it may be necessary to continue sending the first message first, and then start sending the second message after the first message is sent. This will increase the latency of the second message, which belongs to the low-latency stream. To avoid this situation, if the first device determines that the first condition is not met, it can reduce the sending priority of the first message or discard the first message.

[0170] It should be noted that if the second message is a message in a low-latency stream that requires further protection, then all messages to be sent in the period that overlaps with the period corresponding to the fourth period tag used to send the second message can be checked (e.g., Figure 7 If the fourth period label is T4, then the messages to be sent in the four periods corresponding to T0 to T3 before T4 can be checked to ensure that at the start of the period corresponding to the fourth period label, the transmission of other messages (i.e., the messages to be sent in the four periods corresponding to T0 to T3 before T4) will not interfere with the transmission of the second message. That is, other messages will not preempt the time domain resources of the second message, thereby minimizing the delay of the second message. In this embodiment, an example is given of how to check the first message. The check of one of the other messages (i.e., the messages to be sent in the four periods corresponding to T0 to T3 before T4) can be referred to the above content. It is only necessary to replace the expected time in the first condition with: the expected time when the message is sent out in the period corresponding to the period label of the message.

[0171] Figure 8 Another message transmission method is illustrated by example, such as Figure 8As shown, the first device may also receive messages b1, b2, and b3 from the fourth device. The period duration for sending messages b1, b2, and b3 on the fourth device is equal to the period duration for sending messages b1, b2, and b3 on the first device. In one possible implementation, if the period tag value range of the fourth device is smaller than that of the period tag value range of the first device (e.g., the period tag value range of the fourth device is [0, 3], and the period tag value range of the first device is [0, 7]), the aforementioned... Figure 7 The same scheme is used to calculate the period mapping relationship between the fourth device and the first device. And according to the aforementioned formula (2), the delta corresponding to the first device and the fourth device is calculated, where Tx in formula (2) is replaced by Tz, and Tz is the logical period tag corresponding to the period tag of the message sent by the outgoing interface of the upstream device.

[0172] Furthermore, when calculating the transmission period Ty' corresponding to the message received by the first device from the fourth device, the above formula (3) cannot be used; instead, the following formula (4) should be used:

[0173] Ty' = ((Tz' + delta) R)mod Ny……Formula (4)

[0174] In formula (3), Tz' is the logical period tag corresponding to the period tag of the message sent by the outgoing interface of the fourth device;

[0175] delta is the delta corresponding to the first device and the fourth device;

[0176] Indicates multiplication;

[0177] R represents the ratio of duration c1 to duration c2, where duration c1 is the duration of one cycle corresponding to the port on the first device used to send message b1, and duration c2 is the duration of the interval between the start times of two adjacent cycles corresponding to the port on the first device used to send message b1.

[0178] mod is the remainder;

[0179] Ny represents the number of values ​​within the range of the periodic label for the downstream device.

[0180] Please continue reading. Figure 8 If delta is 2, duration c1 is 12.5 microseconds, duration c2 is 5 microseconds, R is 5, and Ny is 8, then when Tz' is 2, Ty' is 0; when Tz' is 3, Ty' is 5.

[0181] pass Figure 8As can be seen from the solutions shown, the embodiments of this application provide... Figure 7 In the scheme, the first device can receive messages with a shorter period corresponding to the period tag it carries; it can also be compatible with messages with a longer period corresponding to the period tag it carries. For such messages, the sending period corresponding to the message can be calculated using the above formula (3).

[0182] In addition to the above Figure 8 In addition to the scheme shown, this application embodiment can provide another possible implementation in which the value range of the periodic tag of the fourth device is greater than or equal to the value range of the periodic tag of the first device. In this case, the aforementioned method can be used. Figure 4 The relevant periodic mapping relationship learning scheme learns the periodic label mapping relationship between the fourth device and the first device, and then calculates delta according to the above formula (2), and further calculates the transmission period corresponding to the periodic label carried in the message sent by the fourth device on the first device according to formula (3).

[0183] According to the aforementioned method, Figure 9 This is a schematic diagram of the structure of the communication device provided in the embodiments of this application, such as... Figure 9 As shown, the communication device can be a network device, or it can be a chip or circuit, such as a chip or circuit that can be set in a network device. Figure 9 The communication device shown can be the first device mentioned above, and can be used to perform the aforementioned... Figure 5 S501, S502, and S503 in the example.

[0184] The communication device 901 includes a processor 902 and a transceiver 903.

[0185] Furthermore, the communication device 901 may include a memory 904. The memory 904 is shown as a dashed line in the figure, indicating that the memory is optional.

[0186] Furthermore, the communication device 901 may further include a bus system, wherein the processor 902, memory 904, and transceiver 903 can be connected through the bus system.

[0187] It should be understood that the processor 902 described above can be a chip. For example, the processor 902 can be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0188] In implementation, each step of the above method can be completed by the integrated logic circuitry of the hardware in the processor 902 or by instructions in software form. The steps of the method disclosed in the embodiments of this application can be directly implemented by the hardware processor, or by a combination of hardware and software modules in the processor 902. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory 904, and the processor 902 reads the information in memory 904 and, in conjunction with its hardware, completes the steps of the above method.

[0189] It should be noted that the processor 902 in this application embodiment can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiment can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in this application embodiment. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in this application embodiment can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0190] It is understood that the memory 904 in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0191] In one possible implementation, transceiver 903 is configured to receive a first message and a second message from a second device. The first message includes a first period tag and is a message sent by the second device according to the period corresponding to the first period tag. The second message includes a second period tag and is a message sent by the second device according to the period corresponding to the second period tag.

[0192] The processor 902 is configured to determine a third period tag corresponding to the first period tag, and send a first message to a third device through a transceiver 903 during the period corresponding to the third period tag; determine a fourth period tag corresponding to the second period tag, and send a second message to the third device through a transceiver 903 during the period corresponding to the fourth period tag; wherein the start time of the period corresponding to the fourth period tag is later than the start time of the period corresponding to the third period tag and earlier than the end time of the period corresponding to the third period tag.

[0193] In one possible implementation, the processor 902 is specifically configured to: determine a fifth period tag corresponding to a first period tag; and determine a third period tag corresponding to the fifth period tag. Wherein, the second quantity is a common multiple of the first quantity and the third quantity; the first quantity is the total number of values ​​corresponding to the value range of the first period tag; the second quantity is the total number of values ​​corresponding to the value range of the fifth period tag; and the third quantity is the total number of values ​​corresponding to the value range of the third period tag.

[0194] In one possible implementation, the processor 902 is specifically configured to: determine a periodic mapping relationship between the first device and the second device based on the fifth periodic tag and the third periodic tag; determine a sixth periodic tag corresponding to the second periodic tag; and determine a fourth periodic tag corresponding to the sixth periodic tag based on the periodic mapping relationship and the sixth periodic tag.

[0195] In one possible implementation, the processor 902 is specifically configured to: determine a third period tag corresponding to the first period tag when a first condition is met, and send a first message to a third device via transceiver 903 during the period corresponding to the third period tag. The first condition includes: the expected time when the first message is completed being sent to the third device during the period corresponding to the third period tag is earlier than: the start time of the period corresponding to the fourth period tag.

[0196] In one possible implementation, the processor 902 is further configured to: reduce the transmission priority of the first message or discard the first message if it is determined that the first condition is not met.

[0197] For the concepts, explanations, detailed descriptions, and other steps related to the technical solutions provided in the embodiments of this application, please refer to the descriptions of these contents in the foregoing methods or other embodiments, which will not be repeated here.

[0198] According to the aforementioned method, Figure 10 This is a schematic diagram of the structure of the communication device provided in the embodiments of this application, such as... Figure 10 As shown, the communication device 1001 may include a communication interface 1003 and a processor 1002. Further, the communication device 1001 may include a memory 1004. The memory 1004 is shown as a dashed line in the figure, indicating that the memory is optional. The communication interface 1003 is used for inputting and / or outputting information; the processor 1002 is used for executing computer programs or instructions, causing the communication device 1001 to perform the above-described functions. Figure 5 The method on the first device side in the relevant solutions. In this embodiment, the communication interface 1003 can implement the above. Figure 9 The transceiver 903 implements the above-mentioned solution, and the processor 1002 can implement it. Figure 9The processor 902 implements the above-mentioned solution, and the memory 1004 can implement the above-mentioned solution. Figure 9 The solution implemented by the 904 memory will not be elaborated here.

[0199] Based on the above embodiments and the same concept, Figure 11 A schematic diagram of the communication device provided in the embodiments of this application, such as... Figure 11 As shown, the communication device 1101 can be a network device, or a chip or circuit, such as a chip or circuit that can be installed in a network device.

[0200] The communication device 1101 includes a processing unit 1102 and a communication unit 1103. Further, the communication device 1101 may or may not include a storage unit 1104. In the figure, the storage unit 1104 is shown as a dashed line, further indicating that the memory is optional.

[0201] This communication device can correspond to the first device in the above method. This communication device can achieve the above... Figure 5 The steps performed by the first device in any one or more of the methods shown. The communication device may include a processing unit 1102, a communication unit 1103, and a storage unit 1104.

[0202] In one possible implementation, the communication unit 1103 is configured to receive a first message and a second message from a second device. The first message includes a first period tag and is a message sent by the second device according to the period corresponding to the first period tag. The second message includes a second period tag and is a message sent by the second device according to the period corresponding to the second period tag.

[0203] Processing unit 1102 is used to determine a third period tag corresponding to the first period tag, and send a first message to a third device through communication unit 1103 during the period corresponding to the third period tag; determine a fourth period tag corresponding to the second period tag, and send a second message to the third device through communication unit 1103 during the period corresponding to the fourth period tag; wherein the start time of the period corresponding to the fourth period tag is later than the start time of the period corresponding to the third period tag and earlier than the end time of the period corresponding to the third period tag.

[0204] The processing unit 1102 may be a processor or controller, such as a general-purpose central processing unit (CPU), a general-purpose processor, a digital signal processing unit (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The storage unit 1104 may be a memory. The communication unit 1103 is an interface circuit of the device for receiving signals from other devices. For example, when the device is implemented as a chip, the communication unit 1103 is an interface circuit for the chip to receive signals from other chips or devices, or an interface circuit for the chip to send signals to other chips or devices.

[0205] The communication device 1101 can be a network device in any of the above embodiments, or it can be a chip inside the network device. For example, when the communication device 1101 is a network device, the processing unit 1102 can be a processor, and the communication unit 1103 can be a transceiver. Optionally, the transceiver can include radio frequency circuitry, and the storage unit can be a memory. For example, when the communication device 1101 is a chip inside the network device, the processing unit 1102 can be a processor, and the communication unit 1103 can be an input / output interface, pins, or circuits. The processing unit 1102 can execute computer execution instructions stored in the storage unit. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. The storage unit can also be a storage unit located outside the chip within the session management network element, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, such as random access memory (RAM).

[0206] For the concepts, explanations, detailed descriptions, and other steps related to the technical solutions provided in the embodiments of this application, please refer to the descriptions of these contents in the foregoing methods or other embodiments, which will not be repeated here.

[0207] It is understood that the functions of each unit in the above-mentioned communication device 1101 can be referred to the implementation of the corresponding method embodiments, and will not be repeated here.

[0208] It should be understood that the above division of communication device units is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. In this embodiment, the communication unit 1103 can be composed of the above-mentioned... Figure 9 The transceiver 903 is implemented, and the processing unit 1102 can be implemented by the above. Figure 9 The processor 902 is implemented.

[0209] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code or instructions, which, when executed on a computer, cause the computer to perform... Figure 5 The method of any one of the embodiments shown.

[0210] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to perform... Figure 5 The method of any one of the embodiments shown.

[0211] According to the method provided in the embodiments of this application, this application also provides a chip system, which may include a processor. The processor is coupled to a memory and can be used to execute... Figure 5 The method of any one of the embodiments shown. Optionally, the chip system further includes a memory. The memory is used to store computer programs (also referred to as code or instructions). The processor is used to call and run the computer programs from the memory, causing the device on which the chip system is installed to perform... Figure 5 The method of any one of the embodiments shown.

[0212] According to the method provided in the embodiments of this application, this application also provides a system that includes one or more second devices and one or more first devices as described above.

[0213] 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. A computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is 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, computer instructions can be transmitted from one website, computer, server, or data center to another 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 media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).

[0214] It should be noted that a portion of this patent application contains copyrighted material. The copyright holder retains all rights except for making copies of the contents of patent documents or records from the patent office.

[0215] The first and second devices in the above-described device embodiments correspond to the first and second devices in the method embodiments. Corresponding modules or units execute corresponding steps. For example, a communication unit (transceiver) executes the receiving or sending steps in the method embodiments, while other steps besides sending and receiving can be executed by a processing unit (processor). The specific functions of each unit can be found in the corresponding method embodiments. There can be one or more processors.

[0216] The terms “component,” “module,” “system,” etc., used in this specification are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).

[0217] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

[0218] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0219] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0220] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.

[0221] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.

[0222] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A message transmission method, characterized in that, include: The first device receives a first message and a second message from the second device. The first message includes a first period tag and is a message sent by the second device according to the period corresponding to the first period tag. The second message includes a second period tag and is a message sent by the second device according to the period corresponding to the second period tag. The first device determines a third period tag corresponding to the first period tag, and sends the first message to the third device in the period corresponding to the third period tag; The first device determines a fourth period tag corresponding to the second period tag, and sends the second message to the third device in the period corresponding to the fourth period tag; Wherein, the start time of the period corresponding to the fourth period label is later than the start time of the period corresponding to the third period label, and earlier than the end time of the period corresponding to the third period label. The time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag is equal to the time interval between the start time of the period corresponding to the second period tag and the start time of the period corresponding to the first period tag.

2. The method as described in claim 1, characterized in that, The first duration is longer than the second duration; The first duration is the duration of the period corresponding to the third period tag and the fourth period tag; The second duration is the duration of the period corresponding to the first period tag and the second period tag.

3. The method as described in claim 2, characterized in that, The period corresponding to the fourth period label and the period corresponding to the third period label are two adjacent periods; The time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag is equal to the second time interval.

4. The method as described in claim 3, characterized in that, The first duration is an integer multiple of the second duration.

5. The method as described in claim 4, characterized in that, The total number of values ​​corresponding to the value range of the third period tag is determined based on the duration between the first duration and the start time of two adjacent periods of the first device.

6. The method according to any one of claims 1-5, characterized in that, The first device determines the third period tag corresponding to the first period tag, including: The first device determines the fifth period tag corresponding to the first period tag; the first device determines the third period tag corresponding to the fifth period tag; The second quantity is a common multiple of the first and third quantities; The first quantity is the total number of values ​​corresponding to the value range of the first periodic label; The second quantity is the total number of values ​​corresponding to the value range of the fifth period label; The third quantity is the total number of values ​​corresponding to the value range of the third periodic label.

7. The method as described in claim 6, characterized in that, The first device determines the fourth period tag corresponding to the second period tag, including: The first device determines the periodic mapping relationship between the first device and the second device based on the fifth periodic tag and the third periodic tag; The first device determines the sixth period tag corresponding to the second period tag; The first device determines the fourth period tag corresponding to the sixth period tag based on the period mapping relationship and the sixth period tag.

8. The method according to any one of claims 1-5, characterized in that, The first device determines a third period tag corresponding to the first period tag, and sends the first message to the third device according to the period corresponding to the third period tag, including: When the first condition is met, the first device determines the third period tag corresponding to the first period tag and sends the first message to the third device through the period corresponding to the third period tag. The first condition includes: The estimated time when the first message is sent to the third device through the period corresponding to the third period tag is earlier than the start time of the period corresponding to the fourth period tag.

9. The method as described in claim 8, characterized in that, The first condition also includes: the period corresponding to the fourth period label belongs to the period corresponding to the preset low-latency stream.

10. The method as described in claim 8, characterized in that, The first condition also includes at least one of the following: The source address of the second message is the same as the source address corresponding to the preset low-latency stream; The destination address of the second message is the same as the destination address corresponding to the preset low-latency stream; or, The priority information of the second message is the same as the priority information corresponding to the preset low-latency stream.

11. The method as described in claim 8, characterized in that, The method further includes: If the first device determines that the first condition is not met, it may either reduce the transmission priority of the first message or discard the first message.

12. A communication device for transmitting messages, characterized in that, The communication device includes a first device, comprising a communication interface and a processor: The communication interface is used to receive a first message and a second message from the second device. The first message includes a first period tag and is a message sent by the second device according to the period corresponding to the first period tag. The second message includes a second period tag and is a message sent by the second device according to the period corresponding to the second period tag. The processor is configured to determine a third period tag corresponding to the first period tag, and send the first message to a third device through the communication interface during the period corresponding to the third period tag; determine a fourth period tag corresponding to the second period tag, and send the second message to the third device through the communication interface during the period corresponding to the fourth period tag; wherein the start time of the period corresponding to the fourth period tag is later than the start time of the period corresponding to the third period tag and earlier than the end time of the period corresponding to the third period tag; the time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag is equal to the time interval between the start time of the period corresponding to the second period tag and the start time of the period corresponding to the first period tag.

13. The communication device as described in claim 12, characterized in that, The first duration is longer than the second duration; The first duration is the duration of the period corresponding to the third period tag and the fourth period tag; The second duration is the duration of the period corresponding to the first period tag and the second period tag.

14. The communication device as described in claim 13, characterized in that, The period corresponding to the fourth period label and the period corresponding to the third period label are two adjacent periods; The time interval between the start time of the period corresponding to the fourth period tag and the start time of the period corresponding to the third period tag is equal to the second time interval.

15. The communication device as described in claim 14, characterized in that, The first duration is an integer multiple of the second duration.

16. The communication device as described in claim 15, characterized in that, The total number of values ​​corresponding to the value range of the third period tag is determined based on the duration between the first duration and the start time of two adjacent periods of the first device.

17. The communication device according to any one of claims 12-16, characterized in that, The processor is specifically used for: Determine the fifth period label corresponding to the first period label; determine the third period label corresponding to the fifth period label; The second quantity is a common multiple of the first and third quantities; The first quantity is the total number of values ​​corresponding to the value range of the first periodic label; The second quantity is the total number of values ​​corresponding to the value range of the fifth period label; The third quantity is the total number of values ​​corresponding to the value range of the third periodic label.

18. The communication device as described in claim 17, characterized in that, The processor is specifically used for: The periodic mapping relationship between the first device and the second device is determined based on the fifth periodic tag and the third periodic tag; Determine the sixth period label corresponding to the second period label; Based on the period mapping relationship and the sixth period label, the fourth period label corresponding to the sixth period label is determined.

19. The communication device according to any one of claims 12-16, characterized in that, The processor is specifically used for: If the first condition is met, a third period tag corresponding to the first period tag is determined, and the first message is sent to the third device through the communication interface in the period corresponding to the third period tag. The first condition includes: The estimated time when the first message is sent to the third device through the period corresponding to the third period tag is earlier than the start time of the period corresponding to the fourth period tag.

20. The communication device as described in claim 19, characterized in that, The first condition also includes: the period corresponding to the fourth period label belongs to the period corresponding to the preset low-latency stream.

21. The communication device as described in claim 19, characterized in that, The first condition also includes at least one of the following: The source address of the second message is the same as the source address corresponding to the preset low-latency stream; The destination address of the second message is the same as the destination address corresponding to the preset low-latency stream; or, The priority information of the second message is the same as the priority information corresponding to the preset low-latency stream.

22. The communication device as described in claim 19, characterized in that, The processor is also used for: If it is determined that the first condition is not met: reduce the transmission priority of the first message, or discard the first message.

23. A communication device, characterized in that, The device includes a processor and a memory. The memory is used to store computer programs; The processor is configured to execute a computer program in memory, such that the method of any one of claims 1-11 is performed.

24. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when invoked by a computer, cause the computer to perform the method as described in any one of claims 1-11.

25. A chip system, characterized in that, include: A communication interface used for inputting and / or outputting information; A processor for executing a computer-executable program, causing a device having the chip system mounted to perform the method as described in any one of claims 1-11.

Citation Information

Patent Citations

  • Method for adjusting time domain resource boundary and communication device

    CN111867087A

  • Message transmission method, device and system

    CN112311494A

  • Data forwarding method and related device

    CN114363270A

  • System and Method for Transferring Data Among Computing Environments

    US20090030971A1