IP Library Granted Patent US 9,405,591
Granted Patent B2
US 9,405,591 · App. 14/067,802 · Granted Aug 2, 2016

Method for dynamic load balancing in campus deployments

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,405,591
App. No.
14/067,802
Granted
Aug 2, 2016
Kind
B2
Abstract

A method is described for dynamically assigning tasks to entities of different types within a network system based on preferences to perform the tasks on particular entities and/or network/device conditions. This ability to dynamically assign processing of tasks between disparate devices in a network system provides a more efficient network configuration and utilization of resources while not compromising throughput, overall network security, and/or network flexibility.

Claims (48)

1. A non-transitory Computer Readable Medium (CRM) comprising instructions which, when executed by one or more devices, cause the one or more devices to:

identify a task to be performed by a device of a plurality of devices, the plurality of devices comprising an access point and a controller;

determine a first preference score for the task to be performed by the access point and a second preference score for the task to be performed by the controller, wherein the access point comprises functionality to perform the task, and wherein the controller comprises functionality to perform the task;

determine an estimated load on each of the access point and the controller to perform the task; and

based at least on the first preference score and the second preference score and the estimated loads for the access point and the controller, select one of the access point and the controller to perform the task.

2. The non-transitory CRM of claim 1 , wherein the first preference score is based in part on a current load of the access point and wherein the second preference score is based in part on a current load of the controller.

3. The non-transitory CRM of claim 2 , wherein the current load on the access point and the current load on the controller include memory and processor utilization loads.

4. The non-transitory CRM of claim 2 , wherein, to select one of the access point and the controller to perform the task, the instructions cause the one or more devices to:

sort the access point and the controller in a list;

assign the task to one of the access point and the controller with the greatest ratio of associated preference score to load with the task while a set of predefined load thresholds are not exceeded; and

remove the assigned access point or assigned controller from the list after the task is assigned.

5. The non-transitory CRM of claim 1 , wherein the task describes a class of operations, including one of 1) encryption and decryption operations, 2) Media Access Control Service Data Unit processing operations, and 3) multicast optimization operations.

6. The non-transitory CRM of claim 5 , wherein the task is subdivided and assigned to either the access point or the controller based on one or more of 1) client identifiers, 2) Wi-Fi Multimedia (WMM) traffic type, 3) session identifiers, 4) application identifiers, 5) packet types, and 6) virtual access point identifiers.

7. The non-transitory CRM of claim 6 , wherein the level of division of the task for assignment is based on processing constraints on the one or more devices and time constraints.

8. The non-transitory CRM of claim 1 , wherein, to select one of the access point and the controller to perform the task, the instructions cause the one or more devices to:

sort the access point and the controller into a list;

select a component from the list;

assign the task to the selected component such that a sum of preference scores of tasks assigned to the selected component is maximized while the load on the selected component does not exceed a set of predefined load thresholds; and

remove the selected component from the list after assigning the task to the selected component.

9. The non-transitory CRM of claim 8 , wherein the list is sorted based on one of 1) load on each of the access point and the controller, 2) type of the access point and the controller, and 3) a number of client devices associated with each of the access point and the controller.

10. The non-transitory CRM of claim 8 , the instructions further cause the one or more devices to:

detect a triggering event, wherein the identifying, determining, and selecting operations of the one or more devices are performed in response to detecting the triggering event,

wherein the triggering event includes one or more of 1) detecting the load on one or more of the access point and the controller exceeds the set of predefined load thresholds and 2) detecting that network utilization is above a network utilization threshold.

11. A system comprising:

a hardware processor; and

a memory storing instructions that when executed by the hardware processor cause the hardware processor to:

identify a task to be performed by a device of a plurality of devices, the plurality of devices comprising an access point and a controller;

determine a first preference score for the task to be performed by the access point and a second preference score for the task to be performed by the controller, wherein the access point comprises functionality to perform the task, and wherein the controller comprises functionality to perform the task;

determine an estimated load on each of the access point and the controller to perform the task; and

based at least on the first preference score and the second preference score and the estimated loads for the access point and the controller, select one of the access point and the controller to perform the task.

12. The system of claim 11 , wherein the first preference score is based in part on a current load of the access point and wherein the second preference score is based in part on a current load of the controller.

13. The system of claim 12 , wherein the current load on the access point and the current load on the controller include memory and processor utilization loads.

14. The system of claim 12 , wherein, to select one of the access point and the controller to perform the task, the instructions cause the hardware processor to:

sort the access point and the controller into a list;

assign the task to one of the access point and the controller with the greatest ratio of associated preference score to load with the task while a set of predefined load thresholds are not exceeded; and

remove the assigned access point or controller from the list after the task is assigned.

15. The system of claim 11 , wherein the task describes a class of operations, including one of 1) encryption and decryption operations, 2) Media Access Control Service Data Unit processing operations, and 3) multicast optimization operations.

16. The system of claim 15 , wherein the task is subdivided and assigned to either the access point or the controller based on one or more of 1) client identifiers, 2) Wi-Fi Multimedia (WMM) traffic type, 3) session identifiers, 4) application identifiers, 5) packet types, and 6) virtual access point identifiers.

17. The system of claim 16 , wherein the level of division of the task for assignment is based on processing constraints on the one or more devices and time constraints.

18. The system of claim 11 , wherein, to select one of the access point and the controller to perform the task, the instructions cause the hardware processor to:

sort the access point and the controller into a list;

select a component from the list;

assign the task to the selected component such that a sum of preference scores of tasks assigned to the selected component is maximized while the load on the selected component does not exceed a set of predefined load thresholds; and

remove the selected component from the list after assigning the task to the selected component.

19. The system of claim 18 , wherein the list is sorted based on one of 1) load on each of the access point and the controller, 2) type of the access point and the controller, and 3) a number of client devices associated with each of the access point and the controller.

20. The system of claim 18 , the instructions further cause the hardware processor to:

detect a triggering event, wherein the identifying, determining, and selecting operations of the hardware processor are performed in response to detecting the triggering event,

wherein the triggering event includes one or more of 1) detecting the load on one or more of the access point and the controller exceeds the set of predefined load thresholds and 2) detecting that network utilization is above a network utilization threshold.

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 Dec 11, 2013
From: BHANAGE, GAUTAM D.; KANNAN, VENKATESH; NARASIMHAN, PARTHA
To: ARUBA NETWORKS, INC.
Reel/Frame 031759/0438 →