State synchronization in a service environment
First Claim
Patent Images
1. A system comprising:
- one or more processors; and
one or more computer-readable storage media storing computer-executable instructions that, responsive to execution by the one or more processors, cause the system to implement functionalities including;
a configuration manager configured to maintain resource models that each correspond to a different respective role in a service environment and that represent state descriptions for nodes in the service environment that correspond to different respective roles such that a different respective resource model exists for each different respective role, the resource models not including code for synchronizing individual nodes to their respective state description;
a deployment orchestrator configured to ascertain that nodes associated with different roles in the service environment are to synchronize their state in an order specified based on their respective roles, and notify the nodes in the specified order based on their respective roles;
a resource repository that is implemented independently of the configuration manager and the deployment orchestrator and that is configured to;
store configuration packages for updating states of the nodes in the service environment, the configuration packages including code for implementing the resource models; and
respond to a query from a respective agent that resides on a respective node with a configuration package that includes code for synchronizing the respective node with the respective resource model; and
an agent associated with a particular role and that resides on a particular node in the service environment, the agent configured to;
query the configuration manager to determine a particular resource model associated with the particular role; and
query the resource repository for a particular configuration package for synchronizing the particular node with the particular resource model.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for state synchronization in a service environment are described. In at least some embodiments, different synchronization models are employed to synchronize state for resources in a service environment. For instance, embodiments may employ a “pull model” whereby a resource periodically queries for changes in resource state to be applied to the resource. Alternatively or additionally, a “push model” can be employed whereby notifications are pushed to resources, informing the resources that they are to update their state. Thus, based on various considerations for a service environment, instances and/or combinations of the disclosed synchronization models can be implemented.
35 Citations
20 Claims
-
1. A system comprising:
-
one or more processors; and one or more computer-readable storage media storing computer-executable instructions that, responsive to execution by the one or more processors, cause the system to implement functionalities including; a configuration manager configured to maintain resource models that each correspond to a different respective role in a service environment and that represent state descriptions for nodes in the service environment that correspond to different respective roles such that a different respective resource model exists for each different respective role, the resource models not including code for synchronizing individual nodes to their respective state description; a deployment orchestrator configured to ascertain that nodes associated with different roles in the service environment are to synchronize their state in an order specified based on their respective roles, and notify the nodes in the specified order based on their respective roles; a resource repository that is implemented independently of the configuration manager and the deployment orchestrator and that is configured to; store configuration packages for updating states of the nodes in the service environment, the configuration packages including code for implementing the resource models; and respond to a query from a respective agent that resides on a respective node with a configuration package that includes code for synchronizing the respective node with the respective resource model; and an agent associated with a particular role and that resides on a particular node in the service environment, the agent configured to; query the configuration manager to determine a particular resource model associated with the particular role; and query the resource repository for a particular configuration package for synchronizing the particular node with the particular resource model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 18)
-
-
9. A system comprising:
-
one or more processors; and one or more computer-readable storage media storing computer-executable instructions that, responsive to execution by the one or more processors, cause the system to implement functionalities including; a deployment orchestrator configured to ascertain that nodes associated with a particular role in a service environment are to be updated, and to notify instances of an agent associated with the particular role and that reside on the nodes associated with the particular role that the nodes are to update their state; a configuration manager configured to maintain resource models that each correspond to a different respective state description for a different respective role in the service environment such that a different respective resource model exists for each different respective role, and to indicate to an instance of an agent that resides on the nodes that the nodes associated with the particular role are to be updated based on a resource model for the particular role, the resource models not including code for synchronizing individual nodes to their respective state description; and a resource repository that is implemented independently of the deployment orchestrator and the configuration manager and that is configured to; store configuration packages for updating states of the nodes in the service environment, the configuration packages including code for implementing the resource models; and respond to queries from the nodes with configuration packages that include code for synchronizing the nodes with their respective resource models. - View Dependent Claims (10, 11, 12, 19, 20)
-
-
13. One or more computer-readable storage media comprising instructions stored thereon that, responsive to execution by a computing device, cause the computing device to perform operations comprising:
-
submitting a query from a node to a configuration manager in a service environment as to whether an update for the node is available based on a role for the node in the service environment, the query identifying the role from among a plurality of roles; ascertaining based on a response to the query that an update is available for the identified role according to a resource model for the role, such that a different respective resource model exists for each respective one of the plurality of roles; retrieving the update from a resource repository that is remote from the configuration manager; and applying the update to the node to synchronize a state of the node with a resource model specified for the role. - View Dependent Claims (14, 15, 16, 17)
-
Specification