IP Library Granted Patent US 9,306,801
Granted Patent B2
US 9,306,801 · App. 14/261,339 · Granted Apr 5, 2016

Select on of anchor controllers for client devices within a network environment

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,306,801
App. No.
14/261,339
Granted
Apr 5, 2016
Kind
B2
Abstract

According to one embodiment of the invention, a non-transitory computer readable medium for improving the scalability and redundancy of a wireless communications network. One embodiment of the non-transitory computer readable medium comprises instructions that configure a first controller, of a plurality of controllers, as a primary controller for maintaining data associated with each particular device of a plurality of devices, for each particular device of the plurality of devices, select a respective secondary controller, from the plurality of controllers, for maintaining data associated with that particular device based on a respective identifier associated with that particular device, subsequent to selecting the secondary controller for each particular device of the plurality of devices, detect an error associated with the first controller, and responsive to detecting the error associated with the first controller, establish the secondary controller selected for each particular device, based on the respective identifier, as the primary controller for that particular device.

Claims (46)

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:

configuring a primary controller to

maintain data associated with a plurality of devices;

selecting respective secondary controllers for each device of the plurality of devices, wherein each secondary controller is to maintain data associated with its respective device based on an identifier associated with its respective device, wherein selecting respective secondary controllers comprises:

selecting a secondary controller for a first device based on an identifier associated with the first device; and

selecting a secondary controller for a second device based on an identifier associated with the second device, wherein the secondary controller selected for the first device is a different controller than the secondary controller selected for the second device;

detecting an error associated with the primary controller; and

in response to detecting an error associated with the primary controller: establishing each secondary controller as the primary controller for its respective device.

2. The medium of claim 1 , wherein detecting the error comprises:

establishing the secondary controller for the first device as the secondary controller for the first device in response to detecting the error associated with the first controller;

establishing the secondary controller for the second device as the secondary controller for the second device in response to detecting the error associated with the first controller.

3. The medium of claim 1 , wherein the operations further comprise: subsequent to detecting the error associated with the primary controller: notifying each controller, that is selected as a secondary controller for any of the plurality of devices, of the error associated with the primary controller.

4. The medium of claim 1 , wherein the operations further comprise: prior to detecting the error associated with the primary controller: synchronizing the data associated with each device between (a) the primary controller for the device and (b) the secondary controller for the device.

5. The medium of claim 1 , wherein configuring the primary controller further comprises configuring the primary controller to control configurations associated with each device of the plurality of devices.

6. The medium of claim 1 , wherein the plurality of devices comprise a plurality of client devices.

7. The medium of claim 1 , wherein the plurality of devices comprise a plurality of access points.

8. The medium of claim 1 , wherein the operations further comprise: subsequent to establishing each secondary controller as the primary controller for its respective device, selecting new secondary controllers for each device.

9. The medium of claim 1 , wherein the identifier associated with a device comprises a Media Access Control (MAC) address associated with the device.

10. A method, comprising:

configuring a primary controller to maintain data associated with a plurality of devices;

selecting respective secondary controllers for each device of the plurality of devices, wherein each secondary controller is to maintain data associated with its respective device based on an identifier associated with its respective device, wherein selecting respective secondary controllers comprises:

selecting a secondary controller for a first device based on an identifier associated with the first device; and

selecting a secondary controller for a second device based on an identifier associated with the second device, wherein the secondary controller selected for the first device is a different controller than the secondary controller selected for the second device;

detecting an error associated with the primary controller; and

in response to detecting an error associated with the primary controller:

establishing each secondary controller as the primary controller for its respective device.

11. The method of claim 10 , wherein detecting the error comprises:

establishing the secondary controller for the first device as the secondary controller for the first device in response to detecting the error associated with the first controller;

establishing the secondary controller for the second device as the secondary controller for the second device in response to detecting the error associated with the first controller.

12. The method of claim 10 , further including: subsequent to detecting the error associated with the primary controller: notifying each controller, that is selected as a secondary controller for any of the plurality of devices, of the error associated with the primary controller.

13. The method of claim 10 , wherein configuring the primary controller further comprises configuring the primary controller to control configurations associated with each device of the plurality of devices.

14. The method of claim 10 , further including: prior to detecting the error associated with the primary controller: synchronizing the data associated with each device between (a) the primary controller for the device and (b) the secondary controller for the device.

15. The method of claim 10 , further comprising: subsequent to establishing each secondary controller as the primary controller for its respective device, selecting new secondary controllers for each device.

16. A system, comprising:

a processing resource;

a memory resource, wherein the memory resource includes machine readable instructions to:

configure a primary controller to maintain data associated with a plurality of devices;

select respective secondary controllers for each device of the plurality of devices, wherein each secondary controller is to maintain data associated with its respective device based on an identifier associated with its respective device, wherein the instructions to select respective secondary controllers comprises instructions to:

select a secondary controller for a first device based on an identifier associated with the first device, and

select a secondary controller for a second device based on an identifier associated with the second device, wherein the secondary controller selected for the first device is a different controller than the secondary controller selected for the second device;

detect an error associated with the primary controller; and

in response to detecting an error associated with the primary controller: establish each secondary controller as the primary controller for its respective device.

17. The system of claim 16 , wherein the memory resource further includes machine readable instructions to: notify each controller that is selected as a secondary controller for any of the plurality of devices of the error associated with the primary controller, subsequent to detecting the error associated with the primary controller.

18. The system of claim 16 , wherein the system is implemented on the primary controller.

19. The system of claim 16 , wherein the system is implemented on a managing controller of the plurality of controllers.

20. The system of claim 16 , wherein the system is implemented on a Software-Defined Network (SDN) application.

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 Apr 29, 2014
From: YANG, SHEAUSONG; RAMAN, GOPALAKRISHNAN
To: ARUBA NETWORKS, INC.
Reel/Frame 032782/0940 →