Custom promotion tiers
AssigneeAmazon Technologies, Inc.
InventorsSandor Loren Maurice, Alexey Kuznetsov, Stefano Stefani
Life of this patent
Estimating the term…
Abstract
A system and method for failover in a distributed system may comprise a computing device that receives information associating computing nodes with ordinal identifiers, such that the computing nodes are divided into at least a first and second subset based on the identifiers. The identifiers may further define an ordering of the subsets. When failover occurs, candidate computing nodes may be identified and selected based at least in part on the ordering. Secondary considerations, including functions performed by other members of a candidate's subset, are considered when identifying candidate nodes.
Claims20
A system comprising:
- a plurality of computing nodes operable by a provider of a computing service to a client, the computing service comprising a first computing function;
- and
- a computing device that at least:
- sends, to the client, information indicative of an interface for associating one or more computing nodes, of the plurality of computing nodes, with one or more identifiers indicative of a promotion order for performing the first computing function in response to information indicative of an unhealthy operating status of another computing node that previously performed the first computing function;
- receives, from the client via the interface, information indicative of associations between a first subset of the plurality of computing nodes and a first identifier, the first identifier indicative of an ordering of the first subset with respect to other subsets of the plurality of computing nodes;
- receives, from the client via the interface, information indicative of associations between a second subset of the plurality of computing nodes and a second identifier, the second identifier indicative of a lower ordering of the second subset, with respect to other subsets of the plurality of computing nodes, than the first subset;
- determines to select a computing node, of the plurality of computing nodes, to perform the first computing function associated with a first computing node of the first subset, the determining based at least in part on information indicative of an unhealthy operating status of the first computing node;
- causes a second computing node of the first subset to perform the first computing function, based at least in part on the first identifier, when the second computing node is determined to be a candidate for performing the first computing function, the determination based at least in part on a criteria specified by the provider of the computing service, the criteria comprising at least one of capacity, location, or role of the second computing node;
- and
- causes a third computing node of the second subset to perform the first computing function, based at least in part on the second identifier, when no computing node of the first subset is a candidate for performing the first computing function and at least the third computing node of the second subset is a candidate for performing the first computing function.
A computer-implemented method comprising:
- providing an interface for associating one or more of a plurality of computing nodes with one or more identifiers indicative of an order of selecting one of the plurality of computing nodes for promotion to perform a computing function in response to information indicative of an unhealthy operating status of another computing node that previously performed the computing function;
- receiving, from an invocation of the interface, information indicative of an association between a first subset of the plurality of computing nodes and a first identifier, the plurality of computing nodes operated on behalf of a client by a provider;
- receiving information indicative of an association between a second subset of the plurality of computing nodes and a second identifier, the second identifier of a lower ordinal position than the first identifier;
- receiving information indicative of selecting a computing node, of the plurality of computing nodes, to perform a first computing function associated with a first computing node of the first subset;
- causing a second computing node of the first subset to perform the first computing function, based at least in part on the first identifier, when the second computing node of the first subset is a candidate for performing the first computing function;
- and
- causing a third computing node of the second subset to perform the first computing function, based at least in part on the second identifier, when no computing node of the first subset is a candidate for performing the first computing function, and the third computing node of the second subset is a candidate for performing the first computing function.
A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:
- receive, by a client invocation of an interface for associating one or more computing nodes, of a plurality of computing nodes, with one or more identifiers indicative of a promotion tier to perform a computing function in response to information indicative of an unhealthy operating status of another computing node that previously performed the computing function, information indicative of an association between a first subset of the plurality of computing nodes and a first identifier, the plurality of computing nodes operated on behalf of a client by a provider;
- receive information indicative of an association between a second subset of the plurality of computing nodes and a second identifier, the second identifier of a lower ordinal position than the first identifier;
- determine to select a computing node, of the plurality of computing nodes, to perform a first computing function associated with a first computing node of the first subset;
- cause a second computing node of the first subset to perform the first computing function, based at least in part on the first identifier, when the second computing node of the first subset is a candidate for performing the first computing function;
- and
- cause a third computing node of the second subset to perform the first computing function, based at least in part on the second identifier, when no computing node of the first subset is a candidate for performing the first computing function, and the third computing node of the second subset is a candidate for performing the first computing function.
Dependencies are inferred from the claim text.