# US 12,120,036 B2 · Multi-link device adopting block acknowledgment and packet allocation method thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,120,036 B2
- Document ID: US12120036B2
- Status: Granted
- Kind: B2
- Application number: 17/903,059
- Filed: 2022-09-06
- Published: 2023-10-05
- Granted: 2024-10-15
- Earliest claimed: 2022-03-14
- Assignees: Realtek Semiconductor Corp.
- Applicants: Realtek Semiconductor Corp.
- Inventors: Wei-Kang Fan; Tung-Min Lin
- Web page: https://patentgrep.com/patent/US12120036B2

## CPC

- H04L 47/621: {Individual queue per connection or flow, e.g. per VC}
- H04L 47/34: ensuring sequence integrity, e.g. using sequence numbers
- H04L 47/6295: using multiple queues, one for each individual QoS, connection, flow or priority
- H04W 28/0278: {using buffer status reports (dynamic wireless traffic scheduling definition H04W72/12)}
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

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 for buffering a plurality of packets, each packet having a sequence number. The control circuit obtains a minimum sequence number of all packets in the first link queue and the second link queue, computes a maximum sequence number according to the minimum sequence number and a block acknowledgment window size, determines whether to allocate a set of packets from the common queue according to the maximum sequence number, and if so, allocates the set of packets to the first link queue and/or the second link queue. The first transmitter transmits a packet from the first link queue to a first receiving device, and the second transmitter transmits a packet from the second link queue to a second receiving device.

## Claims

### Claim 1

A multi-link device comprising:
a first link queue;
a second link queue;
a control circuit coupled to the first link queue and the second link queue, comprising a common queue configured to buffer a plurality of packets, each packet having a sequence number, and the control circuit being configured to obtain a minimum sequence number of all packets in the first link queue and all packets in the second link queue, compute a maximum sequence number according to the minimum sequence number and a block acknowledgment window size, determine whether to allocate a set of packets from the common queue according to the maximum sequence number, and if so, allocate the set of packets to the first link queue and/or the second link queue;
a first transmitter coupled to the first link queue, and configured to transmit a packet from the first link queue to a first receiving device; and
a second transmitter coupled to the second link queue and configured to transmit a packet from the second link queue to a second receiving device.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

The multi-link device of claim 2, wherein the control circuit is further configured to determine a first quantity of outgoing packets from the first link queue according to the second quantity, determine a second quantity of outgoing packets from the second link queue according to the second quantity, adjust the first low threshold according to the first quantity of outgoing packets, and adjust the second low threshold according to the second quantity of outgoing packets.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

The multi-link device of claim 1, wherein the control circuit is configured to alternately allocate the set of packets of a first multi-link device and another set of packets of a second multi-link device from the common queue to the first link queue and/or the second link queue.

### Claim 6 (depends on 1)

The multi-link device of claim 1, wherein the control circuit is further configured to obtain a first quantity of all packets in the first link queue and a second quantity of all packets in the second link queue, determine a first quantity of outgoing packets from the first link queue according to the second quantity, determine a second quantity of outgoing packets from the second link queue according to the second quantity, and allocate a plurality of packets of the set of packets according to the first quantity of outgoing packets and the second quantity of outgoing packets.

### Claim 7 (depends on 1)

The multi-link device of claim 1, wherein if one packet of the set of packets is a time-sensitive packet of the first receiving device, the control circuit is configured to allocate the packet to the first link queue, and if the packet is a time-sensitive packet of the second receiving device, the control circuit is configured to allocate the packet to the second link queue.

### Claim 8 (depends on 1)

The multi-link device of claim 1, wherein if a transmission to the first receiving device is about to stop, the control circuit is configured to allocate the set of packets to the second link queue.

### Claim 9

A packet allocation method for 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 being coupled to the first link queue and the second link queue, and the control circuit comprising a common queue configured to buffer a plurality of packets, each packet having a sequence number, the first transmitter being coupled to the first link queue, the second transmitter being coupled to the second link queue, and the packet allocation method comprising:
the control circuit obtaining a minimum sequence number of all packets in the first link queue and all packets in the second link queue;
the control circuit computing a maximum sequence number according to the minimum sequence number and a block acknowledgement window size;
the control circuit determining whether to allocate a set of packets from the common queue according to the maximum sequence number;
if the control circuit determines to allocate the set of packets, the control circuit allocating the set of packets to the first link queue and/or the second link queue;
the first transmitter transmitting a packet in the first link queue to a first receiving device; and
the second transmitter transmitting a packet in the second link queue to a second receiving device.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
the control circuit obtaining a first quantity of all packets in the first link queue and a second quantity of all packets in the second link queue; and
when the first quantity is less than a first low threshold, the control circuit increasing an allocation priority to the first link queue, and when the second quantity is less than a second low threshold, the control circuit increasing an allocation priority to the second link queue.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
the control circuit determining a first quantity of outgoing packets from the first link queue according to the first quantity, and determining a second quantity of outgoing packets from the second link queue according to the second quantity; and
the control circuit adjusting the first low threshold according to the first quantity of outgoing packets, and adjusting the second low threshold according to the second quantity of outgoing packets.

### Claim 12 (depends on 9)

The method of claim 9, further comprising:
the control circuit obtaining a first quantity of all packets in the first link queue and a second quantity of all packets in the second link queue; and
when the first quantity exceeds a first high threshold, stopping from allocating packets to the first link queue, and when the second quantity exceeds a second high threshold, stopping from allocating packets to the second link queue.

### Claim 13 (depends on 9)

The method of claim 9, wherein if it the control circuit determines to allocate the set of packets, the control circuit allocating the set of packets to the first link queue and/or the second link queue comprising:
the control circuit alternately allocating the set of packets of a first multi-link device and another set of packets of a second multi-link device from the common queue to the first link queue and/or the second link queue.

### Claim 14 (depends on 9)

The method of claim 9, wherein if it the control circuit determines to allocate the set of packets, the control circuit allocating the set of packets to the first link queue and/or the second link queue comprising:
the control circuit obtaining a first quantity of all packets in the first link queue and a second quantity of all packets in the second link queue;
the control circuit determining a first quantity of outgoing packets from the first link queue according to the first quantity, and determining a second quantity of outgoing packets from the second link queue according to the second quantity; and
the control circuit allocating a plurality of packets of the set of packets according to the first quantity of outgoing packets and the second quantity of outgoing packets.

### Claim 15 (depends on 9)

The method of claim 9, wherein if it the control circuit determines to allocate the set of packets, the control circuit allocating the set of packets to the first link queue and/or the second link queue comprising:
if one packet of the set of packets is a time-sensitive packet of the first receiving device, the control circuit allocating the packet to the first link queue; and
if the packet is a time-sensitive packet of the second receiving device, the control circuit allocating the packet to the second link queue.

### Claim 16 (depends on 9)

The method of claim 9, wherein if the control circuit determines to allocate the set of packets, the control circuit allocating the set of packets to the first link queue and/or the second link queue comprising:
if a transmission to the first receiving device is about to stop, the control circuit allocating the set of packets to the second link queue.
