US 11,729,296 B2
Dynamically scaling control plane for ingress services for large numbers of applications with minimal traffic disruption
Sudipta Biswas, Bangalore (IN); Monotosh Das, Bangalore (IN); and Hemant Kumar Shaw, Bangalore (IN)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMWARE, INC., Palo Alto, CA (US)
Filed on Aug. 4, 2021, as Appl. No. 17/393,533.
Claims priority of application No. 202141023346 (IN), filed on May 25, 2021.
Prior Publication US 2022/0385733 A1, Dec. 1, 2022
Int. Cl. H04L 67/60 (2022.01); G06F 9/50 (2006.01); H04L 61/4511 (2022.01); G06F 11/20 (2006.01); H04L 67/00 (2022.01)
CPC H04L 67/60 (2022.05) [G06F 9/505 (2013.01); G06F 9/5038 (2013.01); G06F 9/5077 (2013.01); G06F 11/2048 (2013.01); H04L 61/4511 (2022.05); H04L 67/34 (2013.01)] 33 Claims
OG exemplary drawing
 
1. A method comprising:
receiving an estimate of a number of applications to be executed by a plurality of clusters implemented by an orchestrator platform, each cluster comprising a plurality of containers, the plurality of clusters implementing a centralized controller configured to control execution of applications by the plurality of clusters;
receiving a threshold number of applications that the centralized controller is configured to control;
sharding the centralized controller into a variable plurality of controllers configured to collectively control the applications based on the estimate of the number of applications and a pre-determined number of applications that each controller of the variable plurality of controllers is configured to control, wherein sharding the centralized controller into the variable plurality of controllers comprises:
determining a plurality of unique identifiers for the variable plurality of controllers;
for each controller of the variable plurality of controllers, associating a unique identifier of the controller with each application in a respective subset of the applications being executed by the controller; and
for each of the plurality of unique identifiers, adding the unique identifier to a domain name service (DNS) manager that maintains a log of the variable plurality of controllers and the respective subset of applications being executed by each controller of the variable plurality of controllers, wherein the DNS manager associates the unique identifier of the controller with the respective controller and the respective subset of the applications being executed by the controller;
controlling, by each controller of the variable plurality of controllers, an execution of the respective subset of the applications; and
in response to a change in the estimate of the number of applications over time, modifying the variable plurality of controllers based on the estimate of the number of applications to be executed by the plurality of clusters at any given time.