Distributed state manager jury selection
First Claim
Patent Images
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
21 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. 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. - View Dependent Claims (19, 20, 21)
-
Specification