Tree-oriented configuration management service
First Claim
1. A system, comprising:
- one or more computing devices configured to implement a configuration management service that provides a service interface for a plurality of clients, wherein the configuration management service is configured to;
for the plurality of clients, generate respective tree representations of a plurality of configuration elements of a distributed application configured to execute on a plurality of execution platforms, wherein each respective tree representation comprises a plurality of non-leaf nodes and a plurality of leaf nodes, wherein each non-leaf node represents a respective collection of configuration elements, and wherein each leaf node represents a respective configuration element comprising one or more values corresponding to designs or deployment architectures of the distributed application;
for the plurality of clients, store respective authorization information for one or more nodes of each respective tree representation, wherein the respective authorization information for a particular node includes an indication of at least one respective operation that a respective client of the plurality of clients is allowed to perform on at least one configuration element in the particular node;
receive, via the service interface and from a particular client of the plurality of clients, a network request to perform a particular operation on one or more configuration elements of the respective tree representation corresponding to the particular client;
in response to (a) the network request received via the service interface to perform the particular operation on the one or more configuration elements in a specified node and (b) a determination that authorization information for the specified node permits the particular operation, initiate the particular operation on the one or more configuration elements in the specified node; and
in response to (a) a first request from a first client of the plurality of clients identifying a first node of a tree representation corresponding to both the first client and a second client of the plurality of clients, and (b) a second request from the second client of the plurality of clients identifying a second node of the tree representation corresponding to both the first client and the second client, wherein the first node is not an ancestor node of the second node, and the second node is not an ancestor node of the first node, perform concurrent modifications to the first node and the second node.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for a tree-oriented configuration service are disclosed. A system includes computing devices that generate a tree-structured representation of a plurality of configuration elements of a distributed application. The devices implement a programmatic interface allowing a client to request an operation on a configuration element via a network request that indicates a path from a root node of the tree to one or more nodes corresponding to the configuration element. In response to (a) a network request received via the programmatic interface to perform a particular operation on a configuration element associated with a specified node and (b) a determination that authorization information associated with the specified node permits the requested operation, the operation is performed.
-
Citations
24 Claims
-
1. A system, comprising:
one or more computing devices configured to implement a configuration management service that provides a service interface for a plurality of clients, wherein the configuration management service is configured to; for the plurality of clients, generate respective tree representations of a plurality of configuration elements of a distributed application configured to execute on a plurality of execution platforms, wherein each respective tree representation comprises a plurality of non-leaf nodes and a plurality of leaf nodes, wherein each non-leaf node represents a respective collection of configuration elements, and wherein each leaf node represents a respective configuration element comprising one or more values corresponding to designs or deployment architectures of the distributed application; for the plurality of clients, store respective authorization information for one or more nodes of each respective tree representation, wherein the respective authorization information for a particular node includes an indication of at least one respective operation that a respective client of the plurality of clients is allowed to perform on at least one configuration element in the particular node; receive, via the service interface and from a particular client of the plurality of clients, a network request to perform a particular operation on one or more configuration elements of the respective tree representation corresponding to the particular client; in response to (a) the network request received via the service interface to perform the particular operation on the one or more configuration elements in a specified node and (b) a determination that authorization information for the specified node permits the particular operation, initiate the particular operation on the one or more configuration elements in the specified node; and in response to (a) a first request from a first client of the plurality of clients identifying a first node of a tree representation corresponding to both the first client and a second client of the plurality of clients, and (b) a second request from the second client of the plurality of clients identifying a second node of the tree representation corresponding to both the first client and the second client, wherein the first node is not an ancestor node of the second node, and the second node is not an ancestor node of the first node, perform concurrent modifications to the first node and the second node. - View Dependent Claims (2, 3, 4)
-
5. A method, comprising:
-
for a plurality of clients of a configuration management service, generating respective tree representations of a plurality of configuration elements of a distributed application configured to execute on a plurality of execution platforms, wherein each tree representation comprises a plurality of non-leaf nodes and a plurality of leaf nodes, wherein each non-leaf node represents a respective collection of configuration elements, and wherein each leaf node represents a respective configuration element comprising one or more values corresponding to designs or deployment architectures of the distributed application; receiving, via a service interface and from a particular client of the plurality of clients, a network request to perform an operation on one or more configuration elements of the respective tree representation corresponding to the particular client; in response to (a) the network request received via the service interface to perform the operation on the one or more configuration elements in a specified node and (b) a determination that authorization information for the specified node permits the particular operation, performing the operation on the one or more configuration elements in the specified node; and in response to (a) a first request from a first client of the plurality of clients identifying a first node of a tree representation corresponding to the first client and a second client of the plurality of clients, and (b) a second request from the second client of the plurality of clients identifying a second node of the tree representation corresponding to both the first client and the second client, wherein the first node is not an ancestor node of the second node, and the second node is not an ancestor node of the first node, performing concurrent modifying operations to the first node and the second node. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a configuration management service that provides a service interface for a plurality of clients, wherein the configuration management service is configured to:
-
generate, for the plurality of clients, respective tree representations of a plurality of configuration elements of an application, wherein each respective tree representation comprises a plurality of non-leaf nodes and a plurality of leaf nodes, wherein each non-leaf node represents a respective collection of configuration elements, and wherein each leaf node represents a respective configuration element comprising one or more values corresponding to designs or deployment architectures of the application; receiving, via the service interface and from a particular client of the plurality of clients, a network request to perform an operation on one or more configuration elements of the respective tree representation corresponding to the particular client; in response to (a) the network request received via the service interface to perform the operation on the one or more configuration elements in a specified node and (b) a determination that authorization information for the specified node permits the particular operation, initiate the operation on the one or more configuration elements in the specified node; and in response to (a) a first request from a first client of the plurality of clients identifying a first node of a tree representation corresponding to both the first client and a second client of the plurality of clients, and (b) a second request from the second client of the plurality of clients identifying a second node of the tree representation corresponding to both the first client and the second client, wherein the first node is not an ancestor node of the second node, and the second node is not an ancestor node of the first node, perform concurrent modifications to the first node and the second node. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification