# US 2014/0153422 A1 · Rate limiting mechanism based on device load/capacity or traffic content

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

- Number: US 2014/0153422 A1
- Document ID: US20140153422A1
- Status: Published application
- Kind: A1
- Application number: 13/918,760
- Filed: 2013-06-14
- Published: 2014-06-05
- Earliest claimed: 2012-12-03
- Assignees: Aruba Networks, Inc.
- Applicants: Aruba Networks, Inc.
- Inventors: Brijesh Nambiar; Ramsundar Janakiraman; Ravinder Verma
- Web page: https://patentgrep.com/patent/US20140153422A1

## CPC

- H04L 47/28: in relation to timing considerations
- H04L 49/3009: {Header conversion, routing tables or routing tags}
- H04L 45/566: {Routing instructions carried by the data packet, e.g. active networks}
- H04L 47/122: by diverting traffic away from congested entities
- H04L 47/19: at layers above the network layer (network arrangements for networked applications for scheduling or organising the servicing of application requests H04L67/60)
- H04L 61/25: of the same type
- H04L 63/0272: {Virtual private networks}
- H04L 63/101: {Access control lists [ACL]}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure discloses a method and network device for a rate limiting mechanism based on device load/capacity or traffic content. Specifically, the system receives a request from a network node, and determines whether a ratio between a current load and a capacity exceeds a threshold. If so, the system determines a wait time period based on current load/capacity ratio, and responds to the network node with a message including the wait time period. Moreover, the system can inspect content of the request to determine a message type, and whether the message type indicates that the request is associated with dependent messages. If so, the system responds to the request with a busy message including the wait time period. Further, the system rejects new session requests if the number of concurrent sessions currently connected to the network device approaches the number of sessions associated with a regression point.

## Claims

### Claim 1

A method comprising:
receiving, by a network device, a request from a network node;
determining, by the network device, whether a ratio between a current load of the network device and a capacity of the network device exceeds a threshold; and
in response to the ratio between the current load and the capacity exceeding the threshold,
determining, by the network device, a wait time period based on the ratio between the current load and the capacity; and
responding, by the network device, to the network node with a message including the wait time period.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
in response to the ratio between the current load and the capacity not exceeding the threshold, responding, by the network device, to the message from the network node.

### Claim 3 (depends on 1)

The method of claim 1, wherein the determined wait time period increases in response to an increase in the ratio between the current load and the capacity.

### Claim 4 (depends on 3)

The method of claim 3, wherein the determined wait time period is proportional to the ratio between the current load and the capacity.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
inspecting, by the network device, content of the request to determine a message type associated with the request.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
determining, by the network device, whether the message type indicates that the request is associated with dependent messages; and
wherein determining the wait time period based on the ratio between the current load and the capacity is in response to the message type indicating that the request is associated with dependent messages.

### Claim 7 (depends on 6)

The method of claim 6, wherein the request comprises a hello message, and wherein the dependent messages comprise one or more of a hello response message, an access point configuration message, and a client message.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
determining, by the network device, a first number of concurrent sessions currently connected to the network device;
identifying, by the network device, a second number of sessions associated with a regression point, wherein an actual number of access points connected to the network device regresses in response to the network device accepting additional sessions beyond the regression point;
determining, by the network device, whether the first number approaches to the second number; and
in response to the first number approaching the second number, responding, by the network device, with the busy message based on the first number of concurrent sessions.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
using an access control list (ACL) to limit the first number of concurrent sessions, wherein the ACL indicates a rate associated with a total number of sessions per second that the network device accepts.

### Claim 10 (depends on 9)

The method of claim 9, wherein the ACL comprises one or more of:
an access point (AP) sub-network;
a controller Internet Protocol (IP) address;
a protocol;
a source port;
a destination port;
an access control policy indicating one or more of: the rate associated with the total number of sessions per second that the network device accepts, and a maximum number of concurrent sessions that the network device accepts.

### Claim 11

A network device having a symmetric multiprocessing architecture, the network device comprising:
a plurality of CPU cores;
a network interface to receive one or more data packets; and
a memory whose access is shared by the dedicated CPU core and the plurality of CPU cores;
wherein the plurality of CPU cores are to:
receive a request from a network node;
determine whether a ratio between a current load of the network device and a capacity of the network device exceeds a threshold; and
in response to the ratio between the current load and the capacity exceeding the threshold,
determine a wait time period based on the ratio between the current load and the capacity; and
respond to the network node with a message including the wait time period.

### Claim 12 (depends on 11)

The network device of claim 11, wherein the plurality of CPU cores further to:
respond to the message from the network node in response to the ratio between the current load and the capacity not exceeding the threshold.

### Claim 13 (depends on 11)

The network device of claim 11, wherein the determined wait time period increases in response to an increase in the ratio between the current load and the capacity.

### Claim 14 (depends on 13)

The network device of claim 13, wherein the determined wait time period is proportional to the ratio between the current load and the capacity.

### Claim 15 (depends on 11)

The network device of claim 11, wherein the plurality of CPU cores further to:
inspect content of the request to determine a message type associated with the request.

### Claim 16 (depends on 15)

The network device of claim 15, wherein the plurality of CPU cores further to:
determine whether the message type indicates that the request is associated with dependent messages; and
wherein the plurality of CPU cores determine the wait time period based on the ratio between the current load and the capacity in response to the message type indicating that the request is associated with dependent messages.

### Claim 17 (depends on 16)

The network device of claim 16, wherein the request comprises a hello message, and wherein the dependent messages comprise one or more of a hello response message, an access point configuration message, and a client message.

### Claim 18 (depends on 11)

The network device of claim 11, wherein the plurality of CPU cores further to:
determine a first number of concurrent sessions currently connected to the network device;
identify a second number of sessions associated with a regression point, wherein an actual number of access points connected to the network device regresses in response to the network device accepting additional sessions beyond the regression point;
determine whether the first number approaches to the second number; and
respond with the busy message based on the first number of concurrent sessions in response to the first number approaching the second number.

### Claim 19 (depends on 18)

The network device of claim 18, wherein the plurality of CPU cores further to:
use an access control list (ACL) to limit the first number of concurrent sessions, wherein the ACL indicates a rate associated with a total number of sessions per second that the network device accepts.

### Claim 20 (depends on 19)

The network device of claim 19, wherein the ACL comprises one or more of:
an access point (AP) sub-network;
a controller Internet Protocol (IP) address;
a protocol;
a source port;
a destination port;
an access control policy indicating one or more of: the rate associated with the total number of sessions per second that the network device accepts, and a maximum number of concurrent sessions that the network device accepts.

### Claim 21

A non-transitory computer-readable storage medium storing embedded instructions for a plurality of operations that are executed by one or more mechanisms implemented within a network device having a symmetric multiprocessing architecture, the plurality of operations comprising:
receiving a request from a network node;
inspecting content of the request to determine a message type associated with the request;
determining whether the message type indicates that the request is associated with dependent messages;
determining a first number of concurrent sessions currently connected to the network device;
identifying a second number of sessions associated with a regression point;
determining a ratio between a current load of the network device and a capacity of the network device; and
in response to one or more of: (a) the ratio between the current load and the capacity exceeding the threshold, (b) the message type indicating that the request is associated with dependent messages, and (c) the first number approaching the second number, responding, by the network device,
determining, by the network device, a wait time period based on one or more of (a) the ratio between the current load and the capacity, and (b) the first number of concurrent sessions; and
responding, by the network device, to the network node with a message including the wait time period.
