# US 12,120,038 B2 · Switch and scheduling method for packet forwarding of the same

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

- Number: US 12,120,038 B2
- Document ID: US12120038B2
- Status: Granted
- Kind: B2
- Application number: 17/412,504
- Filed: 2021-08-26
- Published: 2022-03-03
- Granted: 2024-10-15
- Earliest claimed: 2020-08-27
- Assignees: Realtek Semiconductor Corp.
- Applicants: Realtek Semiconductor Corp.
- Inventors: Kuo-Cheng Lu; Yung-Chang Lin; Yu-Mei Pan
- Web page: https://patentgrep.com/patent/US12120038B2

## CPC

- H04L 47/6275: based on priority
- H04L 47/622: {Queue service order}
- H04L 47/6215: {Individual queue per QOS, rate or priority}
- H04L 49/3027: {Output queuing}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A switch and a scheduling method for packet forwarding of the same are provided. The switch includes a plurality of absorb queues, a plurality of egress ports, and an absorb scheduler. Each of the egress ports includes a plurality of egress queues that are respectively connected to one of the absorb queues that are different from one another. The scheduling method includes: generating a priority state for each of the egress queues of each of the egress ports; a packet forwarding priority state of each of the absorb queues is determined according to the priority state of each of the egress queues connected thereto; and the absorb scheduler selecting one of the absorb queues to send a packet stored therein to a target egress queue of a target egress port to be sent to, according to the priority state of each of the egress queues.

## Claims

### Claim 1

A scheduling method for packet forwarding adapted to a switch, the switch including a plurality of absorb queues, a plurality of egress ports, and an absorb scheduler, each of the egress ports including a plurality of egress queues, and each of the egress queues being connected to one of the absorb queues that are different from one another, the scheduling method comprising:
generating a priority state for each of the egress queues of each of the egress ports, the priority states being used to reflect an imminence that the egress queues corresponding to the priority states are to have no packets to send; and
selecting, by the absorb scheduler, one of the absorb queues to send a packet stored therein to a target egress queue of a target egress port to be sent to, according to the priority state of each of the egress queues,
wherein each of the egress queues returns the priority state of each of the egress queues to one of the absorb queues connected thereto, and the scheduling method further comprises:
determining a packet forwarding priority state of each of the absorb queues according to the priority state of each of the egress queues connected thereto, the packet forwarding priority states being used to reflect a degree of priority state of sending the packets stored in the absorb queues corresponding to the packet forwarding priority states, respectively.

### Claim 2 (depends on 1)

The scheduling method according to claim 1, wherein the priority state of each of the egress queues is generated according to a result of a comparison between an amount of queue usage thereof and at least one threshold value.

### Claim 3 (depends on 1)

The scheduling method according to claim 1, wherein the priority state of each of the egress queues is generated according to a result of a comparison between an amount of queue usage thereof and a flow rate thereof.

### Claim 4 (depends on 1)

The scheduling method according to claim 1, wherein a step of the absorb scheduler selecting one of the absorb queues according to the priority state of each of the egress queues includes:
determining, by the absorb scheduler, one of the absorb queues as one that most urgently needs to send the packet stored therein according to the packet forwarding priority state of each of the absorb queues.

### Claim 5 (depends on 4)

The scheduling method according to claim 4, wherein, when two or more of the packet forwarding priority states of the absorb queues reflects that the absorb queues corresponding to the two or more packet forwarding priority states are the absorb queues that most urgently need to send the packet stored therein, the absorb scheduler selects one of the absorb queues corresponding to the two or more packet forwarding priority states through a round robin scheduling or a random scheduling.

### Claim 6 (depends on 4)

The scheduling method according to claim 4, wherein each of the absorb queues further performs a counting of the packets that are sent to each of the egress ports, respectively, and determines an empty state value of each of the egress queues of each of the egress ports according to a result of the counting.

### Claim 7 (depends on 6)

The scheduling method according to claim 6, wherein the empty state value is used to indicate whether no packet is sent to a corresponding one of the egress queues of each of the egress ports.

### Claim 8 (depends on 7)

The scheduling method according to claim 7, further comprising: adjusting the priority state returned by the corresponding one of the egress queues of each of the egress ports according to the empty state value.

### Claim 9

A switch, comprising:
a plurality of absorb queues;
a plurality of egress ports, each of the egress ports including a plurality of egress queues, and each of the egress queues being connected to one of the absorb queues that are different from one another; wherein the switch generates a priority state for each of the egress queues of each of the egress ports, and the priority states are used to reflect an imminence that the egress queues corresponding to the priority states are to have no packets to send; and
an absorb scheduler selecting one of the absorb queues to send a packet stored therein to a target egress queue of a target egress port to be sent to, according to the priority state of each of the egress queues,
wherein each of the egress queues returns the priority state of each of the egress queues to one of the absorb queues connected thereto, and the switch is further used for:
determining a packet forwarding priority state of each of the absorb queues according to the priority state of each of the egress queues connected thereto, and the packet forwarding priority states being used to reflect a degree of priority state of the absorb queues sending the packets stored therein, respectively.

### Claim 10 (depends on 9)

The switch according to claim 9, wherein the priority state of each of the egress queues is generated according to a result of a comparison between an amount of queue usage thereof and at least one threshold value.

### Claim 11 (depends on 9)

The switch according to claim 9, wherein the priority state of each of the egress queues is generated according to a result of a comparison between an amount of queue usage thereof and a flow rate thereof.

### Claim 12 (depends on 9)

The switch according to claim 9, wherein a step of the absorb scheduler selecting one of the absorb queues according to the priority state of each of the egress queues includes:
determining, by the absorb scheduler, one of the absorb queues as one that most urgently needs to send the packet stored therein according to the packet forwarding priority state of each of the absorb queues.

### Claim 13 (depends on 12)

The switch according to claim 12, wherein, when two or more of the packet forwarding priority states of the absorb queues reflects that the absorb queues corresponding to the two or more of the packet forwarding priority states are the absorb queues that most urgently need to send the packet stored therein, the absorb scheduler selects one of the absorb queues corresponding to the two or more of the packet forwarding priority states through a round robin scheduling or a random scheduling.

### Claim 14 (depends on 12)

The switch according to claim 12, wherein each of the absorb queues further performs a counting of the packets that are sent to each of the egress ports, respectively, and determines an empty state value of each of the egress queues of each of the egress ports according to a result of the counting.

### Claim 15 (depends on 14)

The switch according to claim 14, wherein the empty state value is used to indicate whether no packet is sent to a corresponding one of the egress queues of each of the egress ports.

### Claim 16 (depends on 15)

The switch according to claim 15, wherein each of the absorb queues further includes a logic circuit, and the logic circuits adjust the priority state returned by the corresponding one of the egress queues of each of the egress ports according to the empty state value.
