Implementing availability domain aware replication policies
First Claim
1. A method comprising:
- accessing a data item describing a plurality of computing nodes in a distributed system, the plurality of computing nodes to be organized into a ring topology, wherein the ring topology exhibits a quantitative failure-resilient characteristic;
identifying two or more availability domains into which the plurality of computing nodes can be mapped;
receiving a metric that comprises a quantitative value pertaining to the quantitative failure-resilient characteristic;
enumerating a plurality of candidate ring topologies, wherein the plurality of computing nodes is mapped into the two or more availability domains;
evaluating, using the quantitative failure-resilient characteristic, at least some of the plurality of candidate ring topologies to determine a configuration score for a set of scored candidate ring topologies; and
selecting a scored candidate ring topology from the set of scored candidate ring topologies based at least in part on the configuration score surpassing a configuration threshold score.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems for distributed data storage. A method commences upon accessing a set of data items that describe computing nodes to be organized into a ring topology. The ring topology and distributed data storage policies are characterized by quantitative failure-resilient characteristics such as a replication factor. Various characteristics of the topology serve to bound two or more availability domains of the ring into which the computing nodes can be mapped. A set of quantitative values pertaining to respective quantitative failure-resilient characteristics are used for enumerating candidate ring topologies where the computing nodes are mapped into the availability domains. Using the quantitative failure-resilient characteristics, alternative candidate ring topologies are evaluated so as to determine a configuration score for candidate ring topologies. A candidate ring topology is configured based on a computed configuration score surpassing a threshold score. When a failure event is detected, the ring is reevaluated, remapped, and considered for reconfiguration.
40 Citations
23 Claims
-
1. A method comprising:
-
accessing a data item describing a plurality of computing nodes in a distributed system, the plurality of computing nodes to be organized into a ring topology, wherein the ring topology exhibits a quantitative failure-resilient characteristic; identifying two or more availability domains into which the plurality of computing nodes can be mapped; receiving a metric that comprises a quantitative value pertaining to the quantitative failure-resilient characteristic; enumerating a plurality of candidate ring topologies, wherein the plurality of computing nodes is mapped into the two or more availability domains; evaluating, using the quantitative failure-resilient characteristic, at least some of the plurality of candidate ring topologies to determine a configuration score for a set of scored candidate ring topologies; and selecting a scored candidate ring topology from the set of scored candidate ring topologies based at least in part on the configuration score surpassing a configuration threshold score. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor causes the processor to perform a set of acts, the set of acts comprising:
-
accessing a data item describing a plurality of computing nodes in a distributed system, the plurality of computing nodes to be organized into a ring topology, wherein the ring topology exhibits a quantitative failure-resilient characteristic; identifying two or more availability domains into which the plurality of computing nodes can be mapped; receiving a metric that comprises a quantitative value pertaining to the quantitative failure-resilient characteristic; enumerating a plurality of candidate ring topologies, wherein the plurality of computing nodes is mapped into the two or more availability domains; evaluating, using the quantitative failure-resilient characteristic, at least some of the plurality of candidate ring topologies to determine a configuration score for a set of scored candidate ring topologies; and selecting a scored candidate ring topology from the set of scored candidate ring topologies based at least in part on the configuration score surpassing a configuration threshold score. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23)
-
-
21. A system:
-
a non-transitory storage medium having stored thereon a sequence of instructions; and a processor or processors that execute the sequence of instructions to cause the processor or processors to perform a set of acts, the set of acts comprising;
accessing a data item describing a plurality of computing nodes in a distributed system, the plurality of computing nodes to be organized into a ring topology, wherein the ring topology exhibits a quantitative failure-resilient characteristic;identifying two or more availability domains into which the plurality of computing nodes can be mapped; receiving a metric that comprises a quantitative value pertaining to the quantitative failure-resilient characteristic; enumerating a plurality of candidate ring topologies, wherein the plurality of computing nodes is mapped into the two or more availability domains; evaluating, using the quantitative failure-resilient characteristic, at least some of the plurality of candidate ring topologies to determine a configuration score for a set of scored candidate ring topologies; and selecting a scored candidate ring topology from the set of scored candidate ring topologies based at least in part on the configuration score surpassing a configuration threshold score. - View Dependent Claims (22)
-
Specification