Distributed network services
AssigneeVMware, Inc.
InventorsMurali Basavaiah, Ranganathan Rajagopalan
Life of this patent
Estimating the term…
Abstract
Providing a distributed network service includes: receiving network traffic at a first physical device; and executing a service engine to participate in the distributed network service. The distributed network service is provided to at least the first target application instance executing in a first VM on the first physical device, and a second target application instance executing in a second VM on a second physical device; and a shared state of the distributed network service is maintained with respect to the first physical device and the second physical device.
Claims13
A method for managing a set of load balancers that perform a load balancing service for a plurality of target application instances, the method comprising:
- collecting state information relating to data messages that the set of load balancers distribute to the plurality of target application instances, the plurality of load balancers and target application instances executing on a plurality of physical devices with at least a set of load balancers executing on a set of physical devices on which a set of target application instances execute;
- generating aggregated state information from the collected state information;
- distributing the aggregated state information to at least a subset of the plurality of load balancers to cause the subset of load balancers to adjust how they distribute new data message flows to the plurality of target application instances;
- and
- providing to each load balancer in the subset of load balancers a set of numerical values that the load balancer uses to spread the data messages among the target application instances as part of an initial configuration of the load balancer,
- wherein each load balancer in the subset of load balancers spreads the data messages among the target application instances based on the set of numerical values, and each load balancer in the subset of load balancers that receives the aggregated state information adjusts the load balancer's set of numerical values based on the aggregated state information.
A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for managing a plurality of load balancers that perform a load balancing service for a plurality of target application instances, the program comprising sets of instructions for:
- collecting state information relating to data messages that the set of load balancers distribute to the plurality of target application instances, the plurality of load balancers and target application instances executing on a plurality of physical devices with at least a set of load balancers executing on a set of physical devices on which a set of target application instances execute;
- generating aggregated state information from the collected state information;
- distributing the aggregated state information to at least a subset of the plurality of load balancers to cause the subset of load balancers to adjust how they distribute new data message flows to the plurality of target application instances;
- and
- providing to each load balancer in the subset of load balancers a set of numerical values that the load balancer uses to spread the data messages among the target application instances as part of an initial configuration of the load balancer,
- wherein each load balancer in the subset of load balancers spreads the data messages among the target application instances based on the set of numerical values, and each load balancer in the subset of load balancers that receives the aggregated state information adjusts the load balancer's set of numerical values based on the aggregated state information.
Dependencies are inferred from the claim text.