Multi-link device and packet allocation method thereof

By introducing control circuits and block confirmation mechanisms into multi-link devices, packets are allocated to each link queue in real time, solving the problems of information exchange delay and resource allocation efficiency between links, and achieving efficient wireless transmission.

CN116828477BActive Publication Date: 2026-04-28REALTEK SEMICON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
REALTEK SEMICON CORP
Filing Date
2022-03-21
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In multi-link devices, the inability of links to exchange information leads to excessive transmission delays and resource consumption, failing to meet the timeliness requirements of control information, and changes in the wireless environment affect the efficiency of link resource allocation.

Method used

The first and second link queues are coupled by a control circuit. Packets are temporarily stored in a common queue. The maximum sequence number is calculated using the block confirmation window size and the packet sequence number. Packets are allocated to each link queue in real time. Resource allocation is optimized by combining low threshold and high threshold values.

Benefits of technology

It reduces information feedback latency and bandwidth, maintains link independence, adjusts resource allocation in real time, improves transmission efficiency and throughput, and adapts to changes in the wireless environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116828477B_ABST
    Figure CN116828477B_ABST
Patent Text Reader

Abstract

The present invention relates to a multi-link device and a packet distribution method thereof. A multi-link device includes a first link queue, a second link queue, a control circuit, a first transmitter and a second transmitter. The control circuit includes a common queue to temporarily store a plurality of packets, each packet having a sequence number. The control circuit is configured to obtain a minimum sequence number of all packets in the first link queue and all packets in the second link queue, calculate a maximum sequence number based on the minimum sequence number and a block acknowledgement window size, determine whether a group of packets in the common queue should be distributed based on the maximum sequence number, and if so, distribute the group of packets to the first link queue and / or the second link queue. The first transmitter is configured to transmit packets in the first link queue to a first receiving device. The second transmitter is configured to transmit packets in the second link queue to a second receiving device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to wireless communication, and in particular to a multi-link device and its packet distribution method. Background Technology

[0002] The IEEE 802.11be communication protocol specification for Wi-Fi 7 technology supports multi-link operation (MLO) and block acknowledgement (BA) mechanisms. MLO can simultaneously aggregate multiple channels on different frequency bands, ensuring seamless data transmission even if some bands experience interference or congestion. This makes networking faster and more reliable, crucial for applications requiring stable, continuous, and real-time signal transmission quality, such as video streaming and gaming. Block acknowledgement uses BA frames to confirm the successful receipt of a group of packets. MLO and block acknowledgement can be used to achieve high transmission rates, high throughput, and low latency.

[0003] In related technologies, multi-link devices use software to control the data flow of each link during data transmission. However, since each link operates independently and cannot exchange information during transmission, sending control information to the software results in significant transmission delays and consumes substantial system resources, failing to meet the timeliness requirements of control information. Furthermore, in some data systems, such as Universal Serial Bus (USB), wireless environment reports cannot be uploaded to the software, preventing the software from obtaining the necessary control information and thus hindering proper control of the data flow of each link. Moreover, even after obtaining control information, the software still needs to expend computational resources for transmission resource scheduling, and the wireless environment may change between setup and packet transmission, preventing optimal link resource allocation. Summary of the Invention

[0004] This invention provides a multi-link device, comprising a first link queue, a second link queue, a control circuit, a first transmitter, and a second transmitter. The control circuit is coupled to the first and second link queues and includes a common queue for temporarily storing multiple packets, each packet having a sequence number. The control circuit obtains the minimum sequence number of all packets in the first and second link queues, calculates the maximum sequence number based on the minimum sequence number and the block acknowledgment window size, determines whether a group of packets in the common queue should be allocated based on the maximum sequence number, and if it determines that the group of packets should be allocated, allocates the group of packets to the first and / or second link queues. The first transmitter is coupled to the first link queue and transmits packets in the first link queue to a first receiving device. The second transmitter is coupled to the second link queue and transmits packets in the second link queue to a second receiving device.

[0005] This invention provides another packet allocation method for a multi-link device. The multi-link device includes a first link queue, a second link queue, a control circuit, a first transmitter, and a second transmitter. The control circuit is coupled to the first and second link queues. The control circuit includes a common queue for temporarily storing multiple packets, each packet having a sequence number. The first transmitter is coupled to the first link queue, and the second transmitter is coupled to the second link queue. The packet allocation method includes the control circuit obtaining the minimum sequence number of all packets in the first and second link queues; the control circuit calculating the maximum sequence number based on the minimum sequence number and the block confirmation window size; the control circuit determining whether a group of packets in the common queue should be allocated based on the maximum sequence number; if it determines that the group of packets should be allocated, the control circuit allocates the group of packets to the first and / or second link queues; the first transmitter transmits packets from the first link queue to a first receiving device; and the second transmitter transmits packets from the second link queue to a second receiving device. Attached Figure Description

[0006] Figure 1 This is a schematic diagram of a multi-link communication system according to an embodiment of the present invention.

[0007] Figure 2 This is a block diagram of an access point multilink device according to an embodiment of the present invention.

[0008] Figure 3 yes Figure 2 A flowchart of the packet allocation method for access point multi-link devices. Detailed Implementation

[0009] Figure 1This is a schematic diagram of a multi-link communication system 1 according to an embodiment of the present invention. The multi-link communication system 1 includes an access point multi-link device (AP MLD) 10 and a non-access point multi-link device (non-AP MLD) 12. The multi-link communication system 1 is compatible with the IEEE 802.11 standard, for example, compatible with the IEEE 802.11be standard.

[0010] AP MLD 10 includes access points (APs) 101 and 102, while non-AP MLD 12 includes stations (STAs) 121 and 122. Access points 101 and 102, and stations 121 and 122, can be logical devices and can be implemented by hardware, software, firmware, or a combination thereof. Links 141 and 142 can be established between AP MLD 10 and non-AP MLD 12 on the same or different frequency bands. For example, link 141 can operate in the 2.4 GHz band, and link 142 can operate in the 5 GHz band. Access points 101 and 102 can communicate simultaneously with stations 121 and 122 via links 141 and 142, respectively.

[0011] Multi-link communication system 1 can employ a block acknowledgement (BA) mechanism. AP MLD 10 and non-AP MLD 12 can establish a BA agreement for multi-link operation (MLO) between them. The BA agreement includes the BA window size to maintain the BA window within a BA session. The BA window size can be 64, 128, 256, 1024, or other numbers of Media Access Control (MAC) packets. Each MAC packet can have a sequence number (SN) and can be indexed based on its sequence number. For example, the upper-layer software of AP MLD 10 can divide a single file into 100 MAC packets and sequentially attach sequence numbers from 1 to 100. If the BA window size is 64 MAC packets, during downlink transmission, after AP MLD 10 transmits 64 MAC packets with sequence numbers 1 to 64 to non-AP MLD 12 via links 141 and / or 142, non-AP MLD 12 can send back a BA frame to confirm whether the 64 packets were successfully received. Since there is no need for individual confirmation after transmitting each MAC packet, and MAC packets within the BA window can share the physical layer protocol header (PHY header), the BA mechanism reduces the overhead of the multi-link communication system 1 and improves throughput.

[0012] Although Figure 1 This invention only shows that AP MLD 10 contains 2 access points and non-AP MLD 12 contains 2 sites, and 2 links are established between AP MLD 10 and non-AP MLD 12. However, this invention is not limited to this. In some embodiments, AP MLD 10 may also contain other numbers of access points, non-AP MLD 12 may also contain other numbers of sites, and other numbers of links may also be established between AP MLD 10 and non-AP MLD 12.

[0013] Figure 2This is a block diagram of an AP MLD 10 or a non-AP MLD 12 according to an embodiment of the present invention. Taking AP MLD 10 as an example, AP MLD 10 may include link queue 241, link queue 242, multi-link operation (MLO) engine 22 (control circuit), transmitter 261, and transmitter 262. MLO engine 22 may include a common queue 20. MLO engine 22 is coupled to link queue 241 and link queue 242. Transmitter 261 is coupled to link queue 241, and transmitter 262 is coupled to link queue 242.

[0014] Common queue 20 can obtain multiple MAC packets from upper-layer software or a host and temporarily store these MAC packets. For example, common queue 20 can temporarily store 100 MAC packets with sequence numbers from 1 to 100. Link queue 241 can temporarily store MAC packets to be transmitted via link 141, and link queue 242 can temporarily store MAC packets to be transmitted via link 142. The sequence number order of MAC packets in link queue 241 can be consecutive or non-consecutive, and the sequence number order of MAC packets in link queue 242 can be consecutive or non-consecutive. As the wireless environment changes over time, the connection quality of links 141 and 142 will change with the wireless environment. MLO engine 22 can allocate these MAC packets temporarily stored in common queue 20 to link queue 241 and / or link queue 242 according to the real-time wireless environment. Transmitter 261 can transmit the MAC packets in link queue 241 to station 121 via link 141. Transmitter 262 can transmit MAC packets in link queue 242 to station 122 via link 142. Figure 2 The same implementation also applies to non-AP MLD 12. When acting as a non-AP MLD 12, transmitter 261 can transmit MAC packets in link queue 241 to access point 101 via link 141. Transmitter 262 can transmit MAC packets in link queue 242 to access point 102 via link 142.

[0015] The MLO engine 22 can be implemented by hardware and firmware and can quickly obtain system information and environmental parameters. If the allocation conditions are not met temporarily, these MAC packets can be temporarily stored in the common queue 20 without being allocated. If the allocation conditions are met, the MLO engine 22 can allocate a group of MAC packets in the common queue 20 to the link queue 241 and / or the link queue 242 according to the system information and environmental parameters, which greatly reduces the latency and bandwidth of information feedback, maintains the independence of link 141 and link 142, conforms to the BA mechanism specification, and responds to the connection quality of link 141 and link 142 in real time.

[0016] In some embodiments, the MLO engine 22 can configure a first low threshold and a first high threshold for link queue 241, and a second low threshold and a second high threshold for link queue 242. When the first number of all MAC packets in link queue 241 is less than the first low threshold, the MLO engine 22 can increase the allocation priority of link queue 241; when the first number exceeds the first high threshold, the MLO engine 22 can stop allocating MAC packets to link queue 241. Similarly, when the second number of all MAC packets in link queue 242 is less than the second low threshold, the MLO engine 22 can increase the allocation priority of link queue 242; when the second number exceeds the second high threshold, the MLO engine 22 can stop allocating MAC packets to link queue 242. For example, if the first low threshold is 5, the first high threshold is 32, and the first quantity is 4; and the second low threshold is 5, the second high threshold is 32, and the second quantity is 30, then the MLO engine 22 can increase the allocation priority of link queue 241 to be higher than that of link queue 242, and allocate packets to link queue 241 first, and then to 242. By using low and high threshold values, the MLO engine 22 can avoid allocating MAC packets to specific link queues, and instead perform downlink transmissions only for specific sites most of the time, thus affecting downlink transmissions for other sites.

[0017] In other embodiments, the MLO engine 22 may supplement a set of MAC packets from the common queue 20 to link queues 241 and / or 242 based on system information and / or environmental parameters. System information may include the data status of link queue 241, the data status of link queue 242, power-saving status, BA window size, and other information. In some embodiments, the MLO engine 22 may obtain the packet sequence number and packet quantity of link queue 241 and link queue 242 from link queues 241 and 242, respectively. The MLO engine 22 may determine the minimum sequence number based on the packet sequence numbers of link queues 241 and 242, and allocate a set of packets from the common queue 20 conforming to the BA mechanism to link queues 241 and / or 242 based on the minimum sequence number. The allocation method for this set of packets may be as follows: Figure 3As shown, this will be explained in subsequent paragraphs. Under the BA (Balance of Entities) mechanism, the MLO engine 22 can determine the packet consumption count of link queue 241 based on the packet count of link queue 241, determine the packet consumption count of link queue 242 based on the packet count of link queue 242, and replenish packets to link queue 241 according to the packet consumption count until the first high threshold is reached, and replenish packets to link queue 242 according to the packet consumption count of link queue 242 until the second high threshold is reached. For example, if both the first and second high thresholds are 32, the packet consumption count of link queue 241 is 10 and the packet consumption count of link queue 242 is 0, under the BA mechanism, the MLO engine 22 can replenish 10 or more packets to link queue 241 until link queue 241 has 32 packets, and then stop replenishing packets to link queue 242. Environmental parameters may include channel state, transmission speed, transmission bandwidth, transmission success rate, and other parameters. In some embodiments, the MLO engine 22 can collect data from all connected sites, and the firmware can analyze the collected data to obtain environmental parameters. For example, if both the first and second high thresholds are 32, the channel status of link 141 is excellent, and the channel status of link 142 is poor, under the BA mechanism, the MLO engine 22 can continuously replenish packets to the link queue 241 until the link queue 241 has 32 packets, and then stop replenishing packets to the link queue 242.

[0018] In other embodiments, if the channel condition is poor, the transmission speed is slow, the transmission bandwidth is insufficient, the transmission success rate is poor, and / or the packet consumption rate of the link queue is slow, the MLO engine 22 can lower the low threshold value of the corresponding link queue; if the channel condition is good, the transmission speed is fast, the transmission bandwidth is sufficient, the transmission success rate is good, and / or the packet consumption rate of the link queue is fast, the MLO engine 22 can raise the low threshold value of the corresponding link queue. For example, if the channel condition of link 141 is poor, the transmission speed is slow, the transmission bandwidth is insufficient, the transmission success rate is poor, and / or the packet consumption rate of link queue 241 is slow, the MLO engine 22 can lower the low threshold value of link queue 241 from 5 to 4, thereby reducing the allocation priority of link queue 241. Conversely, if the channel condition of link 141 is good, the transmission speed is fast, the transmission bandwidth is sufficient, the transmission success rate is good, and / or the packet consumption rate of link queue 241 is fast, then the MLO engine 22 can increase the low threshold value of link queue 241 from 5 to 6, thereby increasing the allocation priority of link queue 241.

[0019] In other embodiments, the MLO engine 22 can adjust the allocation ratio N:M based on system information and environmental parameters, and allocate the group of MAC packets to link queues 241 and / or 242 at the allocation ratio N:M, where N and M are the same or different positive integers, for example, N and M can be 1 and 1. For example, if the BA window size is 64 MAC packets and N:M is 1:1, when downlink transmission begins, the MLO engine 22 can allocate MAC packets with receive sequence numbers 1 to 64 in the common queue 20. In some embodiments, the MLO engine 22 can allocate MAC packets with allocation sequence numbers 1 to 32 to link queue 241, and allocate MAC packets with allocation sequence numbers 33 to 64 to link queue 242.

[0020] In some embodiments, the MLO engine 22 can allocate packets based on the power-saving status of the AP MLD 10. For example, if the power-saving status of the AP MLD 10 indicates that it will soon stop using link 141 to transmit MAC packets to site 121, the MLO engine 22 can allocate that group of MAC packets to link queue 242.

[0021] In other embodiments, if the channel condition is poor, the transmission speed is slow, the transmission bandwidth is insufficient, the transmission success rate is poor, and / or the packet consumption rate of the link queue is slow, the MLO engine 22 can reduce the packet allocation ratio of the corresponding link queue; if the channel condition is good, the transmission speed is fast, the transmission bandwidth is sufficient, the transmission success rate is good, and / or the packet consumption rate of the link queue is fast, the MLO engine 22 can increase the packet allocation ratio of the corresponding link queue. For example, if the channel condition of link 141 is poor, the transmission speed is slow, the transmission bandwidth is insufficient, the transmission success rate is poor, and / or the packet consumption rate of link queue 241 is slow, the MLO engine 22 can reduce the packet allocation ratio of link queue 241. Conversely, if the channel condition of link 141 is good, the transmission speed is fast, the transmission bandwidth is sufficient, the transmission success rate is good, and / or the packet consumption rate of link queue 241 is fast, the MLO engine 22 can increase the packet allocation ratio of link queue 241.

[0022] In other embodiments, when the configuration of the first low threshold and the second low threshold is met, the MLO engine 22 can use three packet allocation modes, namely time allocation mode (traffic light mode), dynamic allocation mode (traffic management mode), or special release mode (emergency mode), to allocate packets.

[0023] In time-based allocation mode, the MLO engine 22 can allocate multiple sets of MAC packets from the common queue 20 to link queues 241 and / or 242 in turn. These sets of MAC packets correspond to multiple non-AP MLDs, respectively. In some embodiments, the AP MLD 10 can establish connections with a first non-AP MLD, a second non-AP MLD, and a third non-AP MLD. The MLO engine 22 can plan the channel resources used by each site for downlink transmission through packet allocation. For example, MLO engine 22 can allocate the corresponding group of MAC packets of the first non-AP MLD to link queue 241 and / or link queue 242, so that the first non-AP MLD can receive MAC packets in link queue 241 and / or link queue 242 for 1 second; then MLO engine 22 can allocate the corresponding group of MAC packets of the second non-AP MLD to link queue 241 and / or link queue 242, so that the second non-AP MLD can receive MAC packets in link queue 241 and / or link queue 242 for 1 second; then MLO engine 22 can allocate the corresponding group of MAC packets of the third non-AP MLD to link queue 241 and / or link queue 242, so that the third non-AP MLD can receive MAC packets in link queue 241 and / or link queue 242 for 1 second; repeat the above loop so that the first non-AP MLD, the second non-AP MLD and the third non-AP MLD take turns receiving MAC packets in link queue 241 and / or link queue 242. The time allocation mode prevents a specific non-AP MLD from consuming excessive channel resources, thus preventing other non-AP MLDs from using channel resources and entering a state of starvation. In other words, the first non-AP MLD, the second non-AP MLD, and the third non-AP MLD can share links 141 and 142 in a time-sharing, multi-tasking manner. In some embodiments, the time allocation mode can be applied to AP MLD 10.

[0024] In dynamic allocation mode, MLO engine 22 can allocate packets to link queues 241 and / or 242 based on packet consumption. In some embodiments, MLO engine 22 can obtain a first number of all MAC packets in link queue 241 and a second number of all MAC packets in link queue 242, determine the first MAC packet consumption of link queue 241 based on the first number, determine the second MAC packet consumption of link queue 242 based on the second number, and allocate multiple MAC packets from the group of MAC packets according to the first and second MAC packet consumption numbers. In some embodiments, MLO engine 22 can supplement link queue 241 with the same number of packets as the first MAC packet consumption number, and supplement link queue 242 with the same number of packets as the second MAC packet consumption number. If the link quality is good, the MAC packet consumption of the corresponding link queue will be greater, and the more supplementary MAC packets it obtains will be, increasing the transmission capacity of the link. In some embodiments, dynamic allocation mode can be applied to non-AP MLD 12.

[0025] In the special release mode, the MLO engine 22 can allocate packets to link queue 241 or link queue 242 with the highest priority when special conditions are met, thereby handling special or unexpected situations. In some embodiments, when the MAC packets in the group belong to the time-sensitive MAC packets of site 121, the MLO engine 22 allocates the MAC packets to link queue 241; if the MAC packets belong to the time-sensitive MAC packets of site 122, the MLO engine 22 allocates the MAC packets to link queue 242. Time-sensitive MAC packets can be periodically sent connection acknowledgment packets, audio packets, video packets, packets from sites about to enter a starvation state, or other time-sensitive data packets. In some embodiments, the special allocation mode can be applied to AP MLD 10 and non-AP MLD 12.

[0026] Figure 3 This is a flowchart of the packet allocation method 300 for AP MLD 10. The packet allocation method 300 includes steps S302 to S310 for allocating packets during MLO operations. Any reasonable technical modifications or adjustments to the steps fall within the scope of this invention. The details of steps S302 to S310 are as follows:

[0027] Step S302: Obtain the minimum sequence number of all MAC packets in link queue 241 and all MAC packets in link queue 242;

[0028] Step S304: Calculate the maximum sequence number based on the minimum sequence number and the BA window size;

[0029] Step S306: Determine whether a group of MAC packets should be allocated from the common queue 20 based on the maximum sequence number; if yes, continue to step S308; if no, skip to step S302.

[0030] Step S308: Assign the group of MAC packets to link queue 241 and / or link queue 242;

[0031] Step S310: Transmitter 261 transmits MAC packets in link queue 241 to station 121, and transmitter 262 transmits MAC packets in link queue 242 to station 122.

[0032] In step S302, the MLO engine 22 obtains the sequence numbers of all MAC packets in link queue 241 from link queue 241 and the sequence numbers of all MAC packets in link queue 242 from link queue 242 to determine the minimum sequence number. For example, if MAC packets with sequence numbers 1 to 32 have not yet been successfully transmitted and are still temporarily stored in link queue 241, and MAC packets with sequence numbers 33 to 64 in link queue 242 have all been transmitted, then the MLO engine 22 can determine that the minimum sequence number is 1. In step S304, the MLO engine 22 calculates the maximum sequence number that conforms to the BA window size based on the minimum sequence number. For example, if the BA window size is 64 MAC packets and the minimum sequence number is 1, then the MLO engine 22 can calculate the maximum sequence number as 64. In step S306, the MLO engine 22 determines whether a group of MAC packets should be allocated in the common queue 20 based on the maximum sequence number to conform to the BA mechanism specifications. For example, if the maximum sequence number is 64, since the common queue 20 only contains MAC packets with sequence numbers 65 to 100, it does not meet the allocation conditions, and the MLO engine 22 can allow the MAC packets to reside temporarily in the common queue 20 without allocation. In another example, if all MAC packets with sequence numbers 1 to 32 in the link queue 241 have been transmitted, and MAC packets with sequence numbers 33 to 64 have not yet been successfully transmitted and are still temporarily stored in the link queue 242, then the minimum sequence number is 33 (step S302); the MLO engine 22 can calculate the maximum sequence number as 96 (step S304); since the common queue 20 contains MAC packets with sequence numbers 65 to 96, it meets the allocation conditions, and the MLO engine 22 can allocate a group of MAC packets in the common queue 20, which contains MAC packets with sequence numbers 65 to 96 (step S306).

[0033] In step S308, the MLO engine 22 allocates the group of MAC packets to link queue 241 or link queue 242 using low and high threshold configurations and three packet allocation modes based on system information and environmental parameters. Details of this can be found in the preceding paragraphs and will not be repeated here. In step S310, transmitters 261 and 262 transmit the MAC packets from link queue 241 and link queue 242 to station 121 (first receiving device) and station 122 (second receiving device), respectively.

[0034] Figure 3 The same implementation also applies to non-AP MLD 12. When it is a non-AP MLD 12, in step S310, transmitter 261 transmits MAC packets in link queue 241 to access point 101 via link 141. Transmitter 262 transmits MAC packets in link queue 242 to access point 102 via link 142.

[0035] Figure 2 and Figure 3 The embodiments disclose a multi-link device and its packet allocation method that allocates packets in MLO operation based on system information and environmental parameters, which significantly reduces the latency and bandwidth of information feedback, maintains the independence of individual links, conforms to the specifications of the BA mechanism, responds to the connection quality of individual links in real time, avoids specific sites occupying too much channel resources, increases the transmission volume of links, and takes into account special packet allocation for special situations.

[0036] The above description is only a preferred embodiment of the present invention. All equivalent changes and modifications made within the scope of the claims of the present invention should be included in the scope of the present invention.

[0037] [Symbol Explanation]

[0038] 1: Multi-link communication system

[0039] 10: Access Point Multilink Device

[0040] 101 and 102: Access Points

[0041] 12: Non-access point multi-link device

[0042] 121 and 122: Sites

[0043] Links 141 and 142

[0044] 20: Common Queue

[0045] 241 and 242: Link Queues

[0046] 22: Multi-link operation engine

[0047] 261 and 262: Transporters

[0048] 300: Packet Allocation Method

[0049] S302 to S310: Steps

Claims

1. A multi-link device, comprising: First link queue; Second link queue; The control circuit, coupled to the first link queue and the second link queue, includes a common queue for temporarily storing multiple packets, each packet having a sequence number. The control circuit obtains the minimum sequence number of all packets in the first link queue and all packets in the second link queue, calculates the maximum sequence number based on the minimum sequence number and the block confirmation window size, determines whether a group of packets in the common queue should be allocated based on the maximum sequence number, and if it determines that the group of packets should be allocated, allocates the group of packets to the first link queue and / or the second link queue. A first transmitter, coupled to the first link queue, is used to transmit packets in the first link queue to a first receiving device; as well as A second transmitter, coupled to the second link queue, is used to transmit packets in the second link queue to a second receiving device.

2. The multi-link device according to claim 1, wherein the control circuit is further configured to obtain a first number of all packets in the first link queue and a second number of all packets in the second link queue, and when the first number is less than a first low threshold, increase the allocation priority of the first link queue, and when the second number is less than a second low threshold, increase the allocation priority of the second link queue.

3. The multi-link device according to claim 1, wherein the control circuit is further configured to obtain a first number of all packets in the first link queue and a second number of all packets in the second link queue, and when the first number exceeds a first high threshold, stop allocating packets to the first link queue, and when the second number exceeds a second high threshold, stop allocating packets to the second link queue.

4. The multi-link device according to claim 3, wherein the control circuit is further configured to determine the first packet consumption quantity of the first link queue according to the first quantity, determine the second packet consumption quantity of the second link queue according to the second quantity, adjust the first high threshold value according to the first packet consumption quantity, and adjust the second high threshold value according to the second packet consumption quantity.

5. The multi-link device according to claim 1, wherein the control circuit alternately allocates the group of packets of the first multi-link device and another group of packets of the second multi-link device in the common queue to the first link queue and / or the second link queue.

6. The multi-link device according to claim 1, wherein the control circuit is further configured to obtain a first number of all packets in the first link queue and a second number of all packets in the second link queue, determine a first packet consumption number in the first link queue based on the first number, determine a second packet consumption number in the second link queue based on the second number, and allocate multiple packets in the group of packets based on the first packet consumption number and the second packet consumption number.

7. The multi-link device according to claim 1, wherein if a packet in the group of packets belongs to a time-sensitive packet of the first receiving device, the control circuit allocates the packet to the first link queue; and if the packet belongs to a time-sensitive packet of the second receiving device, the control circuit allocates the packet to the second link queue.

8. The multi-link device according to claim 1, wherein if the transmission of a packet to the first receiving device is about to be stopped, the control circuit allocates the packet to the second link queue.

9. A packet allocation method for a multi-link device, the multi-link device comprising a first link queue, a second link queue, a control circuit, a first transmitter, and a second transmitter, the control circuit being coupled to the first link queue and the second link queue, and the control circuit including a common queue for temporarily storing multiple packets, each packet having a sequence number, the first transmitter being coupled to the first link queue, and the second transmitter being coupled to the second link queue, the packet allocation method comprising: The control circuit obtains the minimum sequence number of all packets in the first link queue and all packets in the second link queue; The control circuit calculates the maximum sequence number based on the minimum sequence number and the block confirmation window size; The control circuit determines whether a group of packets should be allocated in the common queue based on the maximum sequence number. If it is determined that the group of packets should be allocated, the control circuit allocates the group of packets to the first link queue and / or the second link queue; The first transmitter transmits packets in the first link queue to the first receiving device; as well as The second transmitter transmits packets from the second link queue to the second receiving device.

10. The packet distribution method according to claim 9, further comprising: The control circuit obtains a first number of all packets in the first link queue and a second number of all packets in the second link queue; and When the first quantity is less than the first low threshold, the control circuit increases the allocation priority of the first link queue, and when the second quantity is less than the second low threshold, the control circuit increases the allocation priority of the second link queue.

Citation Information

Patent Citations

  • Data transmission system and method

    CN107743057A

  • Multilink data transmission method, receiving device and storage medium

    CN109802898A