IP Library Granted Patent US 9,467,326
Granted Patent B2
US 9,467,326 · App. 13/918,760 · Granted Oct 11, 2016

Rate limiting mechanism based on device load/capacity or traffic content

Inventors: Brijesh Nambiar (Sunnyvale, CA); Ramsundar Janakiraman (Sunnyvale, CA); Ravinder Verma (San Jose, CA)
Assignee: Hewlett-Packard Development Company, L.P.
H04L29/06217H04L45/60H04L45/748H04L47/11H04L47/28H04L63/0272H04L63/101H04L63/20H04L47/122
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,467,326
App. No.
13/918,760
Granted
Oct 11, 2016
Kind
B2
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 (66)

1. A method comprising:

receiving, by a network device, a request from an access point;

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;

determining, by the network device, whether the request is associated with dependent messages based on a message type of the request, wherein the dependent messages are to be transmitted to the network device by the access point according to a predetermined sequence order in response to successful transmission and processing of the request by the network device;

in response to the ratio between the current load and the capacity exceeding the threshold and the request being associated with dependent messages, determining, by the network device, a wait time period based at least on the ratio between the current load and the capacity; and

responding, by the network device, to the access point with a message including the wait time period.

2. 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 access point.

3. 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.

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

5. 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.

6. The method of claim 1 , 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.

7. 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 message based on the first number of concurrent sessions.

8. The method of claim 7 , 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.

9. The method of claim 8 , 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.

10. 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 an access point;

determine whether a ratio between a current load of the network device and a capacity of the network device exceeds a threshold;

determined whether the request is associated with dependent messages based on a message type of the request, wherein the dependent messages are to be transmitted to the network device by the access point according to a predetermined sequence order in response to successful transmission and processing of the request by the network device;

in response to the ratio between a current load and the capacity exceeding the threshold and the request being associated with dependent messages, determine a wait time period based at least on the ratio between the current load and the capacity; and

respond to the access point with a message including the wait time period.

11. The network device of claim 10 , wherein the plurality of CPU cores further to:

respond to the message from the access point in response to the ratio between the current load and the capacity not exceeding the threshold.

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

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

14. The network device of claim 10 , wherein the plurality of CPU cores further to:

inspect content of the request to determine a message type associated with the request.

15. The network device of claim 10 , 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.

16. The network device of claim 10 , 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 message based on the first number of concurrent sessions in response to the first number approaching the second number.

17. The network device of claim 16 , 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.

18. The network device of claim 17 , 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.

19. 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 an access point;

determining whether the request is associated with dependent messages based on a messages type of the request, wherein the dependent messages are to be transmitted to the network device by the access point according to a predetermined sequence order in response to successful transmission and processing of the request by the network device;

determining a ratio between a current load of the network device and a capacity of the network device;

in response to the ratio between the current load and the capacity exceeding the threshold and the request being associated with dependent messages, determining a wait time period based at least on the ratio between the current load and the capacity; and

responding to the access point with a message including the wait time period.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2013
From: NAMBIAR, BRIJESH; JANAKIRAMAN, RAMSUNDAR; VERMA, RAVINDER
To: ARUBA NETWORKS, INC.
Reel/Frame 030690/0446 →
Continuity (2)
Provisional Application 61732829 · Dec 3, 2012
Related Publication 20140153422A1 · Jun 5, 2014