Fleet node management system
First Claim
Patent Images
1. A method, comprising:
- performing, by a fleet node implemented by one or more computing devices and configured to perform one or more functions and store a local version of metadata that is used to perform the one or more functions;
requesting, within a gossip group time threshold, metadata version information from a quantity of multiple fleet nodes of a plurality of fleet nodes, wherein the quantity is at least equal to a gossip group size threshold;
in response to receiving a metadata version response from at least one of the multiple fleet nodes within the gossip group time threshold, determining whether the local version is stale based at least in part on whether the metadata version response indicates a version of the metadata that is more recent than the local version by at least a staleness threshold;
determining whether the local version is indeterminate based at least in part on whether at least the gossip group size threshold of metadata version responses were received from the multiple fleet nodes within the gossip group time threshold; and
halting the fleet node from further performance of the one or more functions if the local version is stale, indeterminate, or both;
orcontinuing further performance of the one or more functions by the fleet node if the local version is not stale and is not indeterminate.
1 Assignment
0 Petitions
Accused Products
Abstract
A fleet node management system may include a metadata store, a plurality of fleet nodes, and one or more metadata mutation devices. The metadata store may be configured to store dynamic metadata. The plurality of fleet nodes may be configured to determine, based on a gossip protocol, whether to continue performance of a function that uses a local version of the metadata. The one or more metadata mutation devices may be configured to determine, based on a global state of the fleet nodes, whether to modify the dynamic metadata for the fleet nodes.
31 Citations
20 Claims
-
1. A method, comprising:
performing, by a fleet node implemented by one or more computing devices and configured to perform one or more functions and store a local version of metadata that is used to perform the one or more functions; requesting, within a gossip group time threshold, metadata version information from a quantity of multiple fleet nodes of a plurality of fleet nodes, wherein the quantity is at least equal to a gossip group size threshold; in response to receiving a metadata version response from at least one of the multiple fleet nodes within the gossip group time threshold, determining whether the local version is stale based at least in part on whether the metadata version response indicates a version of the metadata that is more recent than the local version by at least a staleness threshold; determining whether the local version is indeterminate based at least in part on whether at least the gossip group size threshold of metadata version responses were received from the multiple fleet nodes within the gossip group time threshold; and halting the fleet node from further performance of the one or more functions if the local version is stale, indeterminate, or both;
orcontinuing further performance of the one or more functions by the fleet node if the local version is not stale and is not indeterminate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A system, comprising:
a particular fleet node implemented by one or more computing devices and configured to perform one or more functions and store respective local versions of dynamic metadata that is used to perform the one or more functions, and configured to; request, within a gossip group time threshold, metadata version information from a quantity of multiple fleet nodes of a plurality of fleet nodes, wherein the quantity is at least equal to a gossip group size threshold; in response to receiving a metadata version response from at least one of the multiple fleet nodes within the gossip group time threshold, determine whether the local version is stale based at least in part on whether the metadata version response indicates a version of the dynamic metadata that is more recent than the local version by at least a staleness threshold; determine whether the local version is indeterminate based at least in part on whether at least the gossip group size threshold of metadata version responses were received from the multiple fleet nodes within the gossip group time threshold; in response to determining that the local version is stale, indeterminate, or both, halt the particular fleet node from further performance of a function of the one or more functions, wherein the function is dependent on the local version; and in response to determining that the local version is not stale and is not indeterminate, continue further performance of the function by the particular fleet node. - View Dependent Claims (10, 11, 12, 13, 14)
-
15. A non-transitory, computer-readable storage medium storing program instructions that, when executed on one or more computers, cause the one or more computers to implement a particular fleet node to:
-
request, within a gossip group time threshold, metadata version information from a quantity of multiple fleet nodes of a plurality of fleet nodes, wherein the metadata information pertains to a local version of dynamic metadata stored by the particular fleet node and the quantity is at least equal to a gossip group size threshold; in response to receiving a metadata version response from a at least one of the multiple fleet nodes within the gossip group time threshold, determine whether the local version is stale based at least in part on whether the metadata version response indicates a version of the dynamic metadata that is more recent than the local version by at least a staleness threshold; determine whether the local version is indeterminate based at least in part on whether at least the gossip group size threshold of metadata version responses were received from the multiple fleet nodes within the gossip group time threshold; in response to determining that the local version is stale, indeterminate, or both, halt the particular fleet node from further performance of a function of the particular fleet node, wherein the function is dependent on the local version; and in response to determining that the local version is not stale and is not indeterminate, continue further performance of the function by the fleet node. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification