IP Library Granted Patent US 10,250,445
Granted Patent B2
US 10,250,445 · App. 15/434,581 · Granted Apr 2, 2019

Automatic load balancing of switches in a cluster of controllers in a software-defined switch network

Inventors: David W. Kasberg (Auburn, CA); Deepak Udapudi (Bangalore, IN); Mohammed A. K. Yasser (Bengaluru, IN)
Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
H04L41/0893H04L47/125H04L49/15H04L43/0817H04L43/0882
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 10,250,445
App. No.
15/434,581
Granted
Apr 2, 2019
Kind
B2
Abstract

Disclosed herein are systems and methods for automatic load balancing of switches in a cluster of controllers in SDNs. According to an aspect, the system comprises a network controlling device comprising at least one processor and memory. The network controlling device of the system is configured to receive a request to establish a connection from a switch residing in a switch network. The network controlling device of the system is also configured to determine whether a connection may be established between the switch and the network controlling device based on a load balancing policy for the network controlling device. The network controlling device of the system is also configured to determine another network controlling device residing in the switch network for establishment of the connection with the switch in response to determining the connection may not be established with the network controlling device.

Claims (35)

1. A method, comprising:

receiving a request to establish a connection from a switch residing in a switch network;

determining whether a network controlling device may establish the connection with the switch based on a load balancing policy for the network controlling device;

determining whether a central processing unit (CPU) requirement and a bandwidth utilization requirement of at least one switch port of the network controlling device exceeds a predetermined threshold;

in response to determining the network controlling device may not establish the connection, determining another network controlling device residing in the switch network for establishing the connection with the switch;

in response to determining that the CPU requirement and the bandwidth utilization requirement exceeds the predetermined threshold, selecting another network controlling device in the switch network; and

communicating, to the switch, a message identifying the other network controlling device for establishment of the connection with the switch.

2. The method of claim 1 , wherein the request comprises a new switch connection message identifying the switch.

3. The method of claim 1 , wherein the switch network comprises a software-defined switch network.

4. The method of claim 1 , wherein the load balancing policy comprises one of a load balancing rule, a load balancing parameter, a maximum number of SSL connections and a maximum number of switches the network controlling device can establish connection with.

5. The method of claim 1 , wherein selecting another network controlling device comprises:

receiving performance information from one or more other network controlling devices in the switch network; and

selecting the other network controlling device based on the received performance information.

6. The method of claim 5 , wherein the performance information indicates one of a load balancing policy and current operation status of each of the other network controlling devices.

7. The method of claim 5 , wherein receiving performance information comprises receiving the performance information at regular intervals from the other network controlling devices.

8. The method of claim 1 , wherein the message comprises an open flow message.

9. The method of claim 8 , wherein the open flow message comprises one of a disconnect and reconnect open flow message.

10. A system comprising:

a network controlling device comprising at least one processor and memory that:

receives a request to establish a connection from a switch residing in a switch network;

determines whether a central processing unit (CPU) requirement and a bandwidth utilization requirement of at least one switch port of the network controlling device exceeds a predetermined threshold;

determines whether a connection may be established between the switch and the network controlling device based on a load balancing policy for the network controlling device;

determines another network controlling device residing in the switch network for establishing the connection with the switch in response to determining the connection may not be established with the network controlling device;

in response to determining that the CPU requirement and the bandwidth utilization requirement exceeds the predetermined threshold, selecting another network controlling device in the switch network; and

communicates, to the switch, a message identifying the other network controlling device for establishment of the connection with the switch.

11. The system of claim 10 , wherein the request comprises a new switch connection message identifying the switch.

12. The system of claim 10 , wherein the switch network comprises a software-defined switch network.

13. The system of claim 10 , wherein the load balancing policy comprises one of a load balancing rule, a load balancing parameter, a maximum number of SSL connections and a maximum number of switches the network controlling device can establish connection with.

14. The system of claim 10 , wherein the processor and memory:

receives performance information from one or more other network controlling devices in the switch network; and

determines the other network controlling device based on the received performance information.

15. The system of claim 14 , wherein the performance information comprises one of a load balancing policy and current operation status of each of the other network controlling devices.

16. The system of claim 14 , wherein receiving performance information comprises receiving the performance information at regular intervals from the other network controlling devices.

17. The system of claim 14 , wherein the message comprises an open flow message.

18. The system of claim 17 , wherein the open flow message comprises one of a disconnect and reconnect open flow message.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: LENOVO (SINGAPORE) PTE LTD
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 051024/0514 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2017
From: KASBERG, DAVID W.; UDAPUDI, DEEPAK; YASSER, MOHAMMED A.K.
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 041283/0915 →
Continuity (1)
Related Publication 20180234296A1 · Aug 16, 2018