Accessible application cluster topology
First Claim
1. A method for maintaining a cluster topology for a cluster of application instances operating across a plurality of datacenters using a plurality of cluster managers operating on machines across the plurality of datacenters, each cluster manager for (i) managing a set of application instances of the cluster of application instances that operate on the same machine as the cluster manager and (ii) maintaining a copy of the cluster topology, the method comprising:
- at a cluster manager executing on a particular machine at which a particular one of the application instances operates;
exchanging a set of control data messages that comprise the cluster topology with a set of cluster managers in the plurality of cluster managers to maintain a cluster topology that identifies, for each application instance of the cluster, the datacenter of the plurality of datacenters in which the application instance operates;
from the particular application instance, receiving a query request for at least a portion of the cluster topology; and
providing the requested portion of the cluster topology to the particular application instance, wherein the particular application instance uses the cluster topology to identify locations of application instances in the plurality of datacenters and based on the identified locations to process differently at least two different sets of application data destined for two different application instances operating in two different datacenters.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a method for maintaining a cluster topology for a cluster of application instances operating across several datacenters. On a particular machine at which a particular one of the application instances operates, the method maintains a cluster topology that identifies, for each application instance of the cluster, the datacenter in which the application instance operates. From the particular application instance, the method receives a query request for at least a portion of the cluster topology through a programmatic interface. The method provides the requested portion of the cluster topology to the particular application instance. The particular application instance uses the cluster topology for processing application data based on the locations of a set of application instances within the several datacenters.
39 Citations
27 Claims
-
1. A method for maintaining a cluster topology for a cluster of application instances operating across a plurality of datacenters using a plurality of cluster managers operating on machines across the plurality of datacenters, each cluster manager for (i) managing a set of application instances of the cluster of application instances that operate on the same machine as the cluster manager and (ii) maintaining a copy of the cluster topology, the method comprising:
at a cluster manager executing on a particular machine at which a particular one of the application instances operates; exchanging a set of control data messages that comprise the cluster topology with a set of cluster managers in the plurality of cluster managers to maintain a cluster topology that identifies, for each application instance of the cluster, the datacenter of the plurality of datacenters in which the application instance operates; from the particular application instance, receiving a query request for at least a portion of the cluster topology; and providing the requested portion of the cluster topology to the particular application instance, wherein the particular application instance uses the cluster topology to identify locations of application instances in the plurality of datacenters and based on the identified locations to process differently at least two different sets of application data destined for two different application instances operating in two different datacenters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 24)
-
11. A non-transitory machine readable medium storing a control manager which when executed by at least one processing unit of a particular machine maintains a cluster topology for a cluster of application instances operating across a plurality of datacenters using a plurality of cluster managers operating on a plurality of machines across the plurality of datacenters, each cluster manager for (i) managing a set of application instances of the cluster of application instances that operate on the same machine as the cluster manager and (ii) maintaining a copy of the cluster topology, the control manager comprising sets of instructions for:
-
exchanging a set of control data messages that comprise the cluster topology with a set of cluster managers in the plurality of cluster managers to maintain a cluster topology that identifies, for each application instance of the cluster, the datacenter of the plurality of datacenters in which the application instance operates; from a particular application instance executing on the particular machine, receiving a query request for at least a portion of the cluster topology; and providing the requested portion of the cluster topology to the particular application instance, wherein the particular application instance uses the cluster topology to identify locations of application instances in the plurality of datacenters and based on the identified locations to process differently at least two different sets of application data destined for two different application instances operating in two different datacenters. - View Dependent Claims (12, 25, 26, 27)
-
-
14. A non-transitory machine readable medium storing a program which when executed by at least one processing unit maintains a cluster topology for a cluster of application instances operating across a plurality of datacenters, the program comprising sets of instructions for:
-
on a particular machine at which a first application instances operates, maintaining a cluster topology that identifies, for each application instance of the cluster, the datacenter of the plurality of datacenters in which the application instance operates; from the first application instance, receiving a query request for at least a portion of the cluster topology through a programmatic interface; and providing the requested portion of the cluster topology to the first application instance, wherein the first application instance uses the cluster topology to identify locations of application instances in the plurality of datacenters and (1) to process a first set of application data destined for a second application instance operating in the first datacenter by forwarding the first set of application data to the second application instance and (2) to process a second set of application data destined for a third application instance operating in a second datacenter by aggregating the second set of application data with other sets of application data from other application instances operating in the first datacenter before forwarding the aggregated sets of application data to the third application instance. - View Dependent Claims (15, 16, 19, 20, 21, 22)
-
-
17. A method for maintaining a cluster topology for a cluster of application instances operating across a plurality of datacenters, the method comprising:
-
on a particular machine at which a first application instances operates, maintaining a cluster topology that identifies, for each application instance of the cluster, the datacenter of the plurality of datacenters in which the application instance operates; from the first application instance, receiving a query request for at least a portion of the cluster topology through a programmatic interface; and providing the requested portion of the cluster topology to the first application instance, wherein the first application instance uses the cluster topology to identify locations of application instances in the plurality of datacenters and (1) to process a first set of application data destined for a application instance operating in the first datacenter by forwarding the first set of application data to the application instance and (2) to process a second set of application data destined for a third application instance operating in a second datacenter by aggregating the second set of application data with other sets of application data from other application instances operating in the first datacenter before forwarding the aggregated sets of application data to the third application instance. - View Dependent Claims (18, 23)
-
Specification