Distributed state manager jury selection
AssigneeAmazon Technologies, Inc.
InventorsCarlos Vara Callau, Allan Henry Vermeulen, Christopher Richard Jacques De Kadt
Life of this patent
Estimating the term…
Abstract
A jury candidate server (JCS) of a distributed state manager (DSM) implements a plurality of jury configuration evaluation iterations. In a particular iteration, the JCS generates one or more jury configuration options (JCOs) representing changes to a current jury, and assigns quality metrics to the JCOs based at least in part on a prioritized set of criteria among which location diversity has the highest priority. If a JCO meets a quality threshold, a corresponding jury transition is proposed for approval by the current jury.
Claims21
A system, comprising:
- one or more computing devices of a provider network, the one or more computing devices comprising one or more processors and memory storing program instructions that are executable by the one or more processors to instantiate a plurality of jury candidate servers (JCSs) of a distributed state manager (DSM), including a particular JCS, wherein one or more JCSs of the plurality of JCSs are designated as members of a jury responsible for determining whether to accept proposed transitions to at least a first state machine representing a distributed application;
- and
- one or more client nodes of the distributed application;
- wherein the particular JCS is configured to implement a sequence of configuration evaluation iterations, wherein a particular configuration evaluation iteration of the sequence comprises:
- obtaining, using one or more locally-stored records at the particular JCS, (a) a first view of a respective availability status of individual JCSs of the plurality of JCSs, and (b) a second view of membership of a current jury;
- generating one or more jury configuration options (JCOs) based at least in part on the first and second views, wherein a particular JCO of the one or more JCOs includes at least one change to the current jury;
- computing, based at least in part on a plurality of prioritized criteria including (a) a location diversity criterion assigned a first priority and (b) an availability status criterion assigned a lower priority than the first priority:
- a respective configuration quality score (CQS) of each of the one or more JCOs;
- and
- a CQS of the current jury;
- and
- proposing, for approval by the current jury, in response to a determination that a particular JCO's CQS meets a threshold criterion with respect to the CQS of the current jury, a jury transition corresponding to the particular JCO;
- and
- in response to determining that the jury transition has been approved, storing a particular local record indicative of a new jury resulting from the jury transition;
- and
- wherein, in response to an approval by the new jury of a data modification request pertaining to the distributed application and received from a particular client node of the one or more client nodes, the particular JCS is configured to store an indication of the data modification corresponding to the data modification request.
A method, comprising:
- performing, by one or more computing devices configured as a particular jury candidate server (JCS) of a plurality of JCSs of a distributed state manager (DSM), one or more configuration evaluation iterations, wherein one or more JCSs of the plurality of JCSs are designated as members of a jury responsible for implementing a state machine representing a particular application, wherein a particular configuration evaluation iteration of the one or more configuration evaluation iterations comprises:
- generating one or more jury configuration options (JCOs), wherein a particular JCO of the one or more JCOs includes at least one change to a current jury membership;
- computing, based at least on part on a plurality of prioritized criteria including a location diversity criterion assigned a highest priority among the plurality of prioritized criteria, a respective configuration quality ranking (CQR) of (a) each of the one or more JCOs and (b) the current jury membership;
- and
- proposing, for approval by a current jury, in response to a determination that a CQR of a particular JCO of the one or more JCOs meets a threshold criterion, a jury transition corresponding to the particular JCO;
- and
- in response to determining that the jury transition has been approved, storing a particular local record indicative of a new jury corresponding to the jury transition.
A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a particular jury candidate server (JCS) of a plurality of JCSs of a distributed state manager (DSM), wherein the plurality of JCSs include one or more JCSs designated as members of a jury responsible for implementing a state machine, wherein the particular JCS is configured to perform one or more configuration evaluation iterations including a particular configuration evaluation iteration comprising:
- generating one or more jury configuration options (JCOs), wherein a particular JCO of the one or more JCOs includes at least one change to a current jury membership;
- determining, based at least on part on a plurality of prioritized criteria including a location diversity criterion assigned a highest priority among the plurality of prioritized criteria, a respective configuration quality ranking (CQR) of each of the one or more JCOs;
- and
- proposing, for approval by a current jury, in response to a determination that a particular JCO of the one or more JCOs has a higher CQR than a CQR of the current jury, a jury transition corresponding to the particular JCO;
- and
- in response to determining that the jury transition has been approved, storing a particular local record indicative of a new jury membership corresponding to the jury transition.
Dependencies are inferred from the claim text.