# US 12,003,423 B1 · System and method for scheduling transmission of network packets

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

- Number: US 12,003,423 B1
- Document ID: US12003423B1
- Status: Granted
- Kind: B1
- Application number: 17/992,326
- Filed: 2022-11-22
- Published: 2024-05-23
- Granted: 2024-06-04
- Earliest claimed: 2022-11-22
- Assignees: Arbor Networks, Inc.
- Applicants: Arbor Networks, Inc.
- Inventors: Sean O'Hara
- Web page: https://patentgrep.com/patent/US12003423B1

## CPC

- H04L 47/622: {Queue service order}
- H04L 47/122: by diverting traffic away from congested entities
- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L 47/32: by discarding or delaying data units, e.g. packets or frames
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer method and system for scheduling packets for transmission over a network, via a gateway device having a packet buffer for temporarily storing packets intended for a network device. Upon reception of a packet in the gateway device intended for a network device, a determination is made as to whether the received packet is the start a new packet session for the network device. If yes, the packet is then caused to be forward to the intended network device. If no, then a determination is made as to whether drop the received packet contingent upon a determined current size of the packet buffer (e.g., does it exceed a predetermined packet size threshold value). If the packet is not dropped, then a determination is made as to whether mark the packet for network congestion control contingent upon the determined size of the packet buffer (e.g., does it exceed a predetermined network congestion packet size threshold value). The packet is then caused to be forwarded to the intended network device.

## Claims

### Claim 1

A computer-implemented method of scheduling packets for transmission over a network, via a gateway device having a packet buffer for temporarily storing packets intended for a network device, comprising:
receiving a packet at the gateway device, directed to the network device;
determining, in the gateway device, if the received packet is the start of a new packet session for the network device;
forwarding, by the gateway device, the received packet to the network device if determined to be start of the new packet session;
responsive to determining a size of the packet buffer is below a packet drop threshold value, dropping, by the gateway device, the received packet if determined not to be start of a new packet session;
marking for network congestion control, by the gateway device, the received packet if determined not to be start of a packet session and not to be dropped; and
forwarding the marked received packet to the network device.

### Claim 2 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the received packet is marked for network congestion responsive to determining the size of the packet buffer exceeds a packet mark threshold value.

### Claim 3 (depends on 2)

The computer-implemented method as recited in claim 2, further including forwarding the received packet to the network device if determined: not to be start of a packet session; not to be dropped; and not to be marked, responsive to determining the size of the packet buffer is below the packet mark threshold value.

### Claim 4 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the received packet is received from a Network Interface Controller (NIC) component.

### Claim 5 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the gateway device is configured for detecting and mitigating Denial of Service (DoS) attacks in inbound packets intended for the network device.

### Claim 6 (depends on 5)

The computer-implemented method as recited in claim 5, wherein the gateway device is further configured for detecting and mitigating malicious data in outbound packets sent from the network device.

### Claim 7 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the network device is a server.

### Claim 8

A computer-implemented method of scheduling packets for transmission over a network, via a gateway device having a packet buffer for temporarily storing packets intended for a network device, comprising:
determining a size of the packet buffer;
receiving a packet at the gateway device, directed to the network device;
determining, in the gateway device, if the received packet is the start of a new packet session for the network device;
forwarding, by the gateway device, the received packet to the network device if determined to be start of the new packet session; and
dropping, by the gateway device, the received packet if determined not to be start of a new packet session responsive to determining a size of the packet buffer is below a packet drop threshold value;
marking for network congestion control, by the gateway device, the received packet if determined not to be start of a packet session and not to be dropped, and responsive to determining the size of the packet buffer exceeds a packet mark threshold value; and
forwarding the marked received packet to the network device.

### Claim 9 (depends on 8)

The computer-implemented method as recited in claim 8, further including forwarding the received packet to the network device if determined: not to be start of a packet session; not to be dropped; and not to be marked, responsive to determining the size of the packet buffer is below the packet mark threshold value.

### Claim 10 (depends on 9)

The computer-implemented method as recited in claim 9, wherein determining if the received packet is the start of a new packet session for the network device utilizes a probabilistic algorithm for determining if the received packet is the start of a new packet session; and not to be marked, responsive to determining the size of the packet buffer is below the packet mark threshold value.

### Claim 11 (depends on 10)

The computer-implemented method as recited in claim 10, wherein the probabilistic algorithm is a Stochastic Fair Blue (SFB) active queue management algorithm.

### Claim 12 (depends on 9)

The computer-implemented method as recited in claim 9, wherein the gateway device is configured for detecting and mitigating Denial of Service (DoS) attacks in inbound packets intended for the network device.

### Claim 13 (depends on 12)

The computer-implemented method as recited in claim 12, wherein the gateway device is configured for detecting and mitigating malicious data in outbound packets sent from the network device.

### Claim 14 (depends on 8)

The computer-implemented method as recited in claim 8, wherein the received packet is received from a Network Interface Controller (NIC) component.

### Claim 15 (depends on 8)

The computer-implemented method as recited in claim 8, wherein the network device is a server.

### Claim 16

A network computing device comprising:
a processor;
a network interface; and
a memory including instructions operable to be executed by the processor to perform a set of actions to configure the processor to:
receive a packet at the network interface, directed to a network device;
determine if the received packet is the start of a new packet session for the network device;
forward the received packet to the network device if determined to be start of the new packet session;
drop the received packet if determined not to be start of a new packet session;
determine a size of the packet buffer, wherein the received packet is dropped to determining a size of the packet buffer is below a packet drop threshold value;
mark for network congestion control the received packet if determined not to be start of a packet session and not to be dropped, and responsive to determining the size of the packet buffer exceeds a packet mark threshold value; and
forward the marked received packet to the network device.

### Claim 17 (depends on 16)

The network computing device as recited in claim 16, wherein the processor is further configured to:
detect and mitigate Denial of Service (DoS) attacks in inbound packets directed for the network device; and
detect and mitigate malicious data in outbound packets sent from the network device.
