US 11,811,861 B2
Dynamically updating load balancing criteria
Saurav Suri, Bangalore (IN); Sambit Kumar Das, Hayward, CA (US); Shyam Sundar Govindaraj, Santa Clara, CA (US); and Sumit Kalra, Gurugram (IN)
Assigned to VMWARE, INC., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Jan. 5, 2022, as Appl. No. 17/568,806.
Claims priority of application No. 202141022086 (IN), filed on May 17, 2021.
Prior Publication US 2022/0368758 A1, Nov. 17, 2022
Int. Cl. H04L 67/1017 (2022.01); H04L 61/4511 (2022.01)
CPC H04L 67/1017 (2013.01) [H04L 61/4511 (2022.05)] 17 Claims
OG exemplary drawing
 
10. A method of performing load balancing for a group of machines that are distributed across a plurality of physical sites, the method comprising:
iteratively computing first and second sets of load values respectively for first and second sets of machines that are respectively located at first and second physical sites, wherein the first set of load values is calculated by a first set of controllers at the first physical site, and the second set of load values is calculated by a second set of controllers at the second physical site, said iteratively computing comprising iteratively:
calculating first and second sets of weight values to use to produce the first and second sets of load values;
computing an updated first set of load values from the calculated first set of weight values and a first set of load metrics used to quantify load on the first set of machines at the first physical site;
computing an updated second set of load values from the calculated second set of weight values and a second set of load metrics used to quantify load on the second set of machines at the second physical site;
using the computed first and second sets of load values to distribute received data messages, that the group of machines needs to process, among the machines in the first and second physical sites;
distributing the first set of load values from the first set of controllers to the second set of controllers to use at the second physical site; and
distributing the second set of load values from the second set of controllers to the first set of controllers to use at the first physical site.