Management of upgradeable endpoints
First Claim
Patent Images
1. A method for conflict resolution performed by a computing device, the method comprising:
- responsive to a query involving an arbitrary key, accessing a data structure stored in a data store that is accessible by the computing device, the data structure representing a particular endpoint comprising a component that controls functionality of the particular endpoint;
retrieving from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of the arbitrary key, a first value, a first source identifier, and a first timestamp, wherein the first source identifier identifies a first source of the arbitrary key and the first value;
retrieving from the data structure a second property tuple that represents the arbitrary property of the component, the second property tuple consisting of the arbitrary key, a second value that differs from the first value, a second source identifier, and a second timestamp, wherein the second source identifier identifies a second source of the arbitrary key and the second value;
applying a conflict resolution policy to identify one of the first property tuple and the second property tuple as a selected property tuple and to identify the other of the first property tuple and the second property tuple as an unselected property tuple,wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the second timestamp;
determining whether the particular endpoint belongs to a targeted group of endpoints by comparing the selected property tuple to group criteria by which the targeted group is defined; and
responsive to determining that the particular endpoint belongs to the targeted group, deploying a release of at least one package to the particular endpoint, thereby making the release available to the particular endpoint for installation of the at least one package on the component of the particular endpoint, wherein the installation of the at least one package upgrades the functionality of the particular endpoint.
3 Assignments
0 Petitions
Accused Products
Abstract
Data structures are stored in an endpoint data store. Each data structure represents an endpoint having one or more components, each component having one or more arbitrary properties. Any packages installed on the components are represented in the data structures. Representations of the arbitrary properties within the data structure are aggregated from multiple sources, and conflict resolution methods are described.
-
Citations
20 Claims
-
1. A method for conflict resolution performed by a computing device, the method comprising:
-
responsive to a query involving an arbitrary key, accessing a data structure stored in a data store that is accessible by the computing device, the data structure representing a particular endpoint comprising a component that controls functionality of the particular endpoint; retrieving from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of the arbitrary key, a first value, a first source identifier, and a first timestamp, wherein the first source identifier identifies a first source of the arbitrary key and the first value; retrieving from the data structure a second property tuple that represents the arbitrary property of the component, the second property tuple consisting of the arbitrary key, a second value that differs from the first value, a second source identifier, and a second timestamp, wherein the second source identifier identifies a second source of the arbitrary key and the second value; applying a conflict resolution policy to identify one of the first property tuple and the second property tuple as a selected property tuple and to identify the other of the first property tuple and the second property tuple as an unselected property tuple, wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the second timestamp; determining whether the particular endpoint belongs to a targeted group of endpoints by comparing the selected property tuple to group criteria by which the targeted group is defined; and responsive to determining that the particular endpoint belongs to the targeted group, deploying a release of at least one package to the particular endpoint, thereby making the release available to the particular endpoint for installation of the at least one package on the component of the particular endpoint, wherein the installation of the at least one package upgrades the functionality of the particular endpoint. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for conflict resolution performed by a computing device, the method comprising:
-
accessing a data structure stored in a data store that is accessible by the computing device, the data structure representing a particular endpoint comprising a component that controls functionality of the particular endpoint; retrieving from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of an arbitrary key, a first value, a first source identifier, and a first timestamp; receiving from a source identified by a second source identifier a request to update the data structure, the request including the arbitrary key and a second value that differs from the first value; applying a conflict resolution policy to identify one of the first value and the second value as a selected value; responsive to identifying the first value as the selected value, rejecting the request; responsive to identifying the second value as the selected value, updating the data structure by replacing the first property tuple with a second property tuple that consists of the arbitrary key, the second value, the second source identifier, and a current timestamp; determining whether the particular endpoint belongs to a targeted group of endpoints by comparing the property tuple in the data structure to group criteria by which the targeted group is defined; and responsive to determining that the particular endpoint belongs to the targeted group, deploying a release of at least one package to the particular endpoint, thereby making the release available to the particular endpoint for installation of the at least one package on the component of the particular endpoint, wherein the installation of the at least one package upgrades the functionality of the particular endpoint, wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the current timestamp. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium having stored thereon computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to:
-
responsive to a query involving an arbitrary key, access a data structure stored in a data store, the data structure representing a particular endpoint comprising a component that controls functionality of the particular endpoint; retrieve from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of the arbitrary key, a first value, a first source identifier, and a first timestamp; retrieve from the data structure a second property tuple that represents the arbitrary property of the component, the second property tuple consisting of the arbitrary key, a second value that differs from the first value, a second source identifier, and a second timestamp; apply a conflict resolution policy to identify one of the first property tuple and the second property tuple as a selected property tuple and to identify the other of the first property tuple and the second property tuple as an unselected property tuple, wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the second timestamp; determine whether the particular endpoint belongs to a targeted group of endpoints by comparing the selected property tuple to group criteria by which the targeted group is defined; and responsive to determining that the particular endpoint belongs to the targeted group, deploy a release of at least one package to the particular endpoint, thereby making the release available to the particular endpoint for installation of the at least one package on the component of the particular endpoint, wherein the installation of the at least one package upgrades the functionality of the particular endpoint. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium having stored thereon computer-readable instructions which, when executed by a processor of a computing device, cause the computing device to:
-
access a data structure stored in a data store, the data structure representing a particular endpoint comprising a component that controls functionality of the particular endpoint; retrieve from the data structure a first property tuple that represents an arbitrary property of the component, the first property tuple consisting of an arbitrary key, a first value, a first source identifier, and a first timestamp; receive from a source identified by a second source identifier a request to update the data structure, the request including the arbitrary key and a second value that differs from the first value; apply a conflict resolution policy to identify one of the first value and the second value as a selected value; responsive to identifying the first value as the selected value, not grant the request; responsive to identifying the second value as the selected value, update the data structure by replacing the first property tuple with a second property tuple that consists of the arbitrary key, the second value, the second source identifier, and a current timestamp; determine whether the particular endpoint belongs to a targeted group of endpoints by comparing the property tuple in the data structure to group criteria by which the targeted group is defined; and responsive to determining that the particular endpoint belongs to the targeted group, deploy a release of at least one package to the particular endpoint, thereby making the release available to the particular endpoint for installation of the at least one package on the component of the particular endpoint, wherein the installation of the at least one package upgrades the functionality of the particular endpoint, wherein the conflict resolution policy is based on at least one of a comparison of the first value and the second value, a comparison of the first source identifier and the second source identifier, and a comparison of the first timestamp and the current timestamp. - View Dependent Claims (17, 18, 19, 20)
-
Specification