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, message utilization information associated with a first computer system of one or more computer systems participating in the replicated state machine;
providing the consensus message to a second computer system of the one or more computer systems participating in the replicated state machine; and
in response to receiving the consensus message, causing the second computer system to obtain, from the consensus message, utilization information determine a utilization rate for the first computer system based at least in part on the utilization information.
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.
35 Citations
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, message utilization information associated with a first computer system of one or more computer systems participating in the replicated state machine; providing the consensus message to a second computer system of the one or more computer systems participating in the replicated state machine; and in response to receiving the consensus message, causing the second computer system to obtain, from the consensus message, utilization information determine a utilization rate for the first computer system based at least in part on the utilization information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
one or more processors; and memory that stores computer-executable instructions that, upon execution by the one or more processors, cause the system to; generate a first 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 first utilization information associated with the system to include in the first consensus message; provide the first consensus message, including the utilization information, to at least one other system participating in the replicated state machine; obtain second utilization information from a second consensus message from a second system hosting a shard of the set of shards; and determine a utilization rate for the shard based at least in part on the second utilization information. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium storing 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:
-
determine a state change of a replicated state machine, the replicated state machine including a set of shards of which the computer system is a member; generate a consensus message to indicating a current state of the replicated state machine based at least in part on the state change; insert, into the consensus message, message utilization information of the computer system; and provide the consensus message to a second computer system participating in the replicated state machine and executing at least one shard of the set of shards, the consensus message, upon receipt by the second computer system, causing the second computer system to obtain, from the consensus message, the utilization information to determine a utilization rate for the computer system based at least in part on the utilization information. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification