IP Library Granted Patent US 10,044,622
Granted Patent B2
US 10,044,622 · App. 15/153,628 · Granted Aug 7, 2018

Load balancing for a virtual networking system

Inventors: Sushma Anantharam (Cupertino, CA); Amitabha Biswas (San Francisco, CA); Harshad S. Padhye (Santa Clara, CA)
Assignee: International Business Machines Corporation
H04L47/125G06F9/5088H04L47/822H04L67/1008G06F9/5077H04L12/4641H04L67/1002
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,044,622
App. No.
15/153,628
Granted
Aug 7, 2018
Kind
B2
Abstract

Embodiments of the invention provide a method for load balancing a networking system comprising multiple computing nodes. The method comprises maintaining one or more data sets on at least one computing node. The method further comprises receiving, from each computing node, a load information unit for the computing node, wherein the load information unit relates to resource usage on the computing node. For each computing node, the method determines whether the load information for the computing node exceeds a corresponding load threshold for the computing node. A data set on at least one computing node is transferred to another computing node when the load information for the at least one computing node exceeds a corresponding load threshold for the at least one computing node.

Claims (48)

1. A method for load balancing a virtual networking system comprising multiple computing nodes for maintaining one or more data sets of one or more tenants, wherein the multiple computing nodes comprise a primary computing node and additional computing nodes, and each computing node comprises a server including one or more resources, the method comprising:

at the primary computing node:

maintaining, for each additional computing node, a corresponding load threshold value;

receiving, from each additional computing node, a corresponding load information unit, wherein the corresponding load information unit relates to actual resource usage per tenant of one or more resources of the additional computing node;

triggering migration of a data set on one of the additional computing nodes to another one of the additional computing nodes based on each load threshold value maintained and each load information unit received; and

communicating updated mapping information for the migrated data set to each of the additional computing nodes in response to determining that a size of one or more data updates for the migrated data set does not exceed a pre-determined threshold number of elements, wherein the updated mapping information identifies that the migrated data set is mapped to the another one of the additional computing nodes, such that all data requests for the migrated data set are forwarded to the another one of the additional computing nodes.

2. The method of claim 1 , wherein the triggering comprises:

determining a first computing node of the additional computing nodes having the highest overall load among the additional computing nodes, wherein a first load information unit corresponding to the first computing node exceeds a first load threshold value corresponding to the first computing node;

determining a second computing node of the additional computing nodes having the lowest overall load among the additional computing nodes, wherein a second load information unit corresponding to the second computing node is less than a second load threshold value corresponding to the second computing node; and

sending an instruction to the first computing node to migrate a data set on the first computing node to the second computing node.

3. The method of claim 2 , wherein:

each load information unit corresponding to each computing node relates to usage of resources of the corresponding computing node;

the first load information unit exceeds a load information unit corresponding to any other additional computing node; and

the second load information unit is less than a load information unit corresponding to any other additional computing node.

4. The method of claim 2 , wherein the triggering further comprises:

determining which data set on the first computing node to migrate to the second computing node.

5. A system comprising a computer processor, a computer-readable hardware storage device, and program code embodied with the computer-readable hardware storage medium for execution by the computer processor to implement a method for load balancing a virtual networking system comprising multiple computing nodes for maintaining one or more data sets of one or more tenants, wherein the multiple computing nodes comprise a primary computing node and additional computing nodes, and each computing node comprises a server including one or more resources, the method comprising:

at the primary computing node:

maintaining, for each additional computing node, a corresponding load threshold value;

receiving, from each additional computing node, a corresponding load information unit, wherein the corresponding load information unit relates to actual resource usage per tenant of one or more resources of the additional computing node; and

triggering migration of a data set on one of the additional computing nodes to another one of the additional computing nodes based on each load threshold value maintained and each load information unit received; and

communicating updated mapping information for the migrated data set to each of the additional computing nodes in response to determining that a size of one or more data updates for the migrated data set does not exceed a pre-determined threshold number of elements, wherein the updated mapping information identifies that the migrated data set is mapped to the another one of the additional computing nodes, such that all data requests for the migrated data set are forwarded to the another one of the additional computing nodes.

6. The system of claim 5 , wherein the triggering comprises:

determining a first computing node of the additional computing nodes having the highest overall load among the additional computing nodes, wherein a first load information unit corresponding to the first computing node exceeds a first load threshold value corresponding to the first computing node;

determining a second computing node of the additional computing nodes having the lowest overall load among the additional computing nodes, wherein a second load information unit corresponding to the second computing node is less than a second load threshold value corresponding to the second computing node; and

sending an instruction to the first computing node to migrate a data set on the first computing node to the second computing node.

7. The system of claim 6 , wherein:

each load information unit corresponding to each computing node relates to usage of resources of the corresponding computing node;

the first load information unit exceeds a load information unit corresponding to any other additional computing node; and

the second load information unit is less than a load information unit corresponding to any other additional computing node.

8. The system of claim 6 , wherein the triggering further comprises:

determining which data set on the first computing node to migrate to the second computing node.

9. A computer program product comprising a non-transitory computer-readable hardware storage device having program code embodied therewith, the program code being executable by a computer to implement a method for load balancing a virtual networking system comprising multiple computing nodes for maintaining one or more data sets of one or more tenants, wherein the multiple computing nodes comprise a primary computing node and additional computing nodes, and each computing node comprises a server including one or more resources, the method comprising:

at the primary computing node:

maintaining, for each additional computing node, a corresponding load threshold value;

receiving, from each additional computing node, a corresponding load information unit, wherein the corresponding load information unit relates to actual resource usage per tenant of one or more resources of the additional computing node; and

triggering migration of a data set on one of the additional computing nodes to another one of the additional computing nodes based on each load threshold value maintained and each load information unit received; and

communicating updated mapping information for the migrated data set to each of the additional computing nodes in response to determining that a size of one or more data updates for the migrated data set does not exceed a pre-determined threshold number of elements, wherein the updated mapping information identifies that the migrated data set is mapped to the another one of the additional computing nodes, such that all data requests for the migrated data set are forwarded to the another one of the additional computing nodes.

10. The computer program product of claim 9 , wherein the triggering comprises:

determining a first computing node of the additional computing nodes having the highest overall load among the additional computing nodes, wherein a first load information unit corresponding to the first computing node exceeds a first load threshold value corresponding to the first computing node;

determining a second computing node of the additional computing nodes having the lowest overall load among the additional computing nodes, wherein a second load information unit corresponding to the second computing node is less than a second load threshold value corresponding to the second computing node; and

sending an instruction to the first computing node to migrate a data set on the first computing node to the second computing node.

11. The computer program product of claim 10 , wherein:

each load information unit corresponding to each computing node relates to usage of resources of the corresponding computing node;

the first load information unit exceeds a load information unit corresponding to any other additional computing node; and

the second load information unit is less than a load information unit corresponding to any other additional computing node.

12. The computer program product of claim 10 , wherein the triggering further comprises:

determining which data set on the first computing node to migrate to the second computing node.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2016
From: ANANTHARAM, SUSHMA; BISWAS, AMITABHA; PADHYE, HARSHAD S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038579/0827 →
Continuity (2)
Continuation 13802090 · Mar 13, 2013
Related Publication 20160261508A1 · Sep 8, 2016