BLOCK ALLOCATION BASED ON SERVER UTILIZATION
First Claim
1. A computer-implemented method, comprising:
- determining a state change of a replicated state machine comprising a set of shards;
generating a consensus message to enable the set of shards to establish a current state of the replicated state machine based at least in part on the state change;
inserting, into the consensus, message utilization information associated with a computer system of one or more computer systems participating in the replicated state machine; and
providing the consensus message to another computer system of the one or more computer systems participating in the replicated state machine.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing resource service provider may operate a data storage service configured to provide data storage for one or more customers of the computing resource service provider. The data storage service may store customer data in one or more replicated state machines, where the replicated state machines comprise a plurality of replicated state machine-shards. The replicated state machine-shards may cause the computer system hosting the replicated state machine-shard to transmit a consensus message to other computer system. The consensus message may include utilization information corresponding to the other computer system. The utilization information may be used to calculate a utilization rate for the replicated state machine usable in block allocation operations.
1 Citation
20 Claims
-
1. A computer-implemented method, comprising:
-
determining a state change of a replicated state machine comprising a set of shards; generating a consensus message to enable the set of shards to establish a current state of the replicated state machine based at least in part on the state change; inserting, into the consensus, message utilization information associated with a computer system of one or more computer systems participating in the replicated state machine; and providing the consensus message to another computer system of the one or more computer systems participating in the replicated state machine. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
-
receive a message from another computer system, the message including resource utilization information of the other computer system; receive a request to allocate a block of data; and allocate the block of data by at least; determining a set of replicated state machines capable of allocating the block of data; calculating a utilization rate for at least a subset of the set of replicated state machines based at least in part on resource utilization information included in the message; and determining a particular replicated state machine of the set of replicated state machines based at least in part on the calculated utilization rates. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
one or more processors; and memory that stores computer-executable instructions that, if executed, cause the one or more processors to; generate a consensus message to enable a set of shards to establish a current state of a replicated state machine based at least in part on a state change of the system; determine utilization information associated with the system to include in the consensus message; and provide the consensus message to at least one other system participating in the replicated state machine. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification