IP Library › Granted Patent US 11,575,572
Granted Patent B2
US 11,575,572 · App. 17/305,110 · Granted Feb 7, 2023

Network controller horizontal scaling for network device configuration sessions management

Inventors: Madhura Mysore Nagaprakash (Bengaluru, IN); Patricio Giecco (Upland, CA); Shivaprasad Gali (Bangalore, IN)
Assignee: Juniper Networks, Inc.
H04L41/0816H04L41/0886H04L43/0811
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 11,575,572
App. No.
17/305,110
Granted
Feb 7, 2023
Kind
B2
Abstract

A first plurality of network configuration controllers of a controller may distribute, using a consistent hashing algorithm, a plurality of connection sessions with a plurality of network devices among the plurality of network configuration controllers. The controller may monitor a number of connection sessions maintained by each of the first plurality of network configuration controllers. The controller may add, based on monitoring the number of connection sessions maintained by each of the first plurality of network configuration controllers, an additional network configuration controller to the first plurality of network configuration controllers to form a second plurality of network configuration controllers. The second plurality of network configuration controllers may, in response to adding the additional network configuration controller to the first plurality of network configuration controllers, re-distribute, using the consistent hashing algorithm, one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

Claims (49)

1. A method comprising:

distributing, by a first plurality of network configuration controllers of a controller and using a consistent hashing algorithm, a plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers;

monitoring, by the controller, a number of connection sessions maintained by each of the first plurality of network configuration controllers;

adding, by the controller and in response to determining that the number of connection sessions maintained by at least one of the first plurality of network configuration controllers is greater than a maximum number of connections that can be maintained by each of the first plurality of network configuration controllers, an additional network configuration controller to the first plurality of network configuration controllers to form a second plurality of network configuration controllers; and

in response to adding the additional network configuration controller to the first plurality of network configuration controllers, re-distributing, by the second plurality of network configuration controllers and using the consistent hashing algorithm, one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

2. The method of claim 1 , wherein distributing, using the consistent hashing algorithm, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers further comprises:

determining, by each of the first plurality of network configuration controllers and using the consistent hashing algorithm, a corresponding non-overlapping portion of the plurality of connection sessions to maintain.

3. The method of claim 1 , wherein distributing, using the consistent hashing algorithm, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers further comprises:

hashing, by the first plurality of network configuration controllers of the controller, and using the consistent hashing algorithm, each of a plurality of device identifiers associated with the plurality of network devices to determine, for each of the plurality of network devices, a corresponding hash value; and

distributing, by the first plurality of network configuration controllers of the controller, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers based at least in part on the corresponding hash value of each of the plurality of network devices.

4. The method of claim 1 , wherein distributing, using the consistent hashing algorithm, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers further comprises:

distributing, by the first plurality of network configuration controllers of the controller using a consistent hash ring, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers.

5. The method of claim 1 , wherein monitoring the number of connection sessions maintained by each of the plurality of connection sessions further comprises:

periodically determining, by a timed task at the controller, the number of connection sessions maintained by each of the plurality of connection sessions.

6. The method of claim 1 , wherein re-distributing, using the consistent hashing algorithm, the one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers further comprises:

determining, by each of the second plurality of network configuration controllers at the controller using the consistent hashing algorithm, a corresponding second non-overlapping portion of the plurality of connection sessions to maintain to re-distribute the one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

7. The method of claim 1 , further comprising:

determining, by the controller, that a network configuration controller of the second plurality of network configuration controllers have stopped working; and

in response to determining that the network configuration controller of the second plurality of network configuration controllers have stopped working,

re-distributing, by the second plurality of network configuration controllers using the consistent hashing algorithm, the one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

8. The method of claim 7 , wherein determining, by the controller, that the network configuration controller of the second plurality of network configuration controllers have stopped working further comprises:

periodically registering, by each of the second plurality of network configuration controllers, with the controller; and

determining, by the controller, that the network configuration controller has failed to register with the controller.

9. The method of claim 1 , wherein:

The first plurality of network configuration controllers and the second plurality of network configuration controllers comprise a plurality of Network Configuration Protocol (NETCONF) controllers; and

the plurality of connection sessions comprise a plurality of NETCONF sessions.

10. A computing device comprising:

a memory; and

processing circuitry in communication with the memory, the processing circuitry configured to:

distribute, by a first plurality of network configuration controllers and using a consistent hashing algorithm, a plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers;

monitor a number of connection sessions maintained by each of the first plurality of network configuration controllers;

add, in response to determining that the number of connection sessions maintained by at least one of the first plurality of network configuration controllers is greater than a maximum number of connections that can be maintained by each of the first plurality of network configuration controllers, an additional network configuration controller to the first plurality of network configuration controllers to form a second plurality of network configuration controllers; and

in response to adding the additional network configuration controller to the first plurality of network configuration controllers, re-distribute, by the second plurality of network configuration controllers and using the consistent hashing algorithm, one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

11. The computing device of claim 10 , wherein to determine, using the consistent hashing algorithm, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers, the processing circuitry is further configured to:

determine, by each of the first plurality of network configuration controllers and using the consistent hashing algorithm, a corresponding non-overlapping portion of the plurality of connection sessions to maintain.

12. The computing device of claim 10 , wherein to determine, using the consistent hashing algorithm, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers, the processing circuitry is further configured to:

hash, by the first plurality of network configuration controllers, and using the consistent hashing algorithm, each of a plurality of device identifiers associated with the plurality of network devices to determine, for each of the plurality of network devices, a corresponding hash value; and

distribute, by the first plurality of network configuration controllers, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers based at least in part on the corresponding hash value of each of the plurality of network devices.

13. The computing device of claim 10 , wherein to determine, using the consistent hashing algorithm, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers, the processing circuitry is further configured to:

distribute, by the first plurality of network configuration controllers using a consistent hash ring, the plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers.

14. The computing device of claim 10 , wherein to monitor the number of connection sessions maintained by each of the plurality of connection sessions, the processing circuitry is further configured to:

periodically determine, by a timed task, the number of connection sessions maintained by each of the plurality of connection sessions.

15. The computing device of claim 10 , wherein to re-distribute, using the consistent hashing algorithm, the one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers, the processing circuitry is further configured to:

determine, by each of the second plurality of network configuration controllers using the consistent hashing algorithm, a corresponding second non-overlapping portion of the plurality of connection sessions to maintain to re-distribute the one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

16. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more programmable processors to:

distribute, by a first plurality of network configuration controllers and using a consistent hashing algorithm, a plurality of connection sessions with a plurality of network devices among the first plurality of network configuration controllers;

monitor a number of connection sessions maintained by each of the first plurality of network configuration controllers;

add, in response to determining that the number of connection sessions maintained by at least one of the first plurality of network configuration controllers is greater than a maximum number of connections that can be maintained by each of the first plurality of network configuration controllers, an additional network configuration controller to the first plurality of network configuration controllers to form a second plurality of network configuration controllers; and

in response to adding the additional network configuration controller to the first plurality of network configuration controllers, re-distribute, by the second plurality of network configuration controllers and using the consistent hashing algorithm, one or more connection sessions of the plurality of connection sessions among the second plurality of network configuration controllers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2023
From: NAGAPRAKASH, MADHURA MYSORE; GIECCO, PATRICIO; GALI, SHIVAPRASAD
To: JUNIPER NETWORKS, INC.
Reel/Frame 065656/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2021
From: NAGAPRAKASH, MADHURA MYSORE; GIECCO, PATRICIO; GALI, SHIVAPRASAD
To: JUNIPER NETWORKS, INC.
Reel/Frame 057166/0156 →
Priority Claims (1)
IN 202141017207 · Apr 13, 2021 · national
Continuity (1)
Related Publication 20220329486A1 · Oct 13, 2022
Cited By (6)
US 12,250,117 US 12,255,802 US 12,289,249 US 12,621,234 US 12,671,652 US 12,701,070