Reading and writing during cluster growth phase
First Claim
1. A method comprising:
- transmitting, by a client device, an initial write request to a set of servers replicas;
receiving, by the client device, in response to the initial write request an indication that a version of storage assignment mappings utilized by the client device is not a most recent version;
retrieving the most recent version of the storage assignment mappings;
determining, by the client device, one or more growth servers designated to replace a corresponding one or more server replicas of the set of server replicas associated with a storage index; and
transmitting, by the client device, a write request associated with the storage index to the set of server replicas and the one or more growth servers.
2 Assignments
0 Petitions
Accused Products
Abstract
A client device configured to write to both a growth server and a live server replica that the growth server is replacing during a growth phase is described herein. The client device first determines the growth server designated to replace a corresponding live server replica of a set of server replicas associated with a storage index. The client device then transmits a write request associated with the storage index to the set of server replicas and to the growth server. The client device may perform the determining based on storage assignment mappings. The storage assignment mappings are provided to the client device by a metadata server while the growth server retrieves data associated with the storage index from the live server replica.
101 Citations
19 Claims
-
1. A method comprising:
-
transmitting, by a client device, an initial write request to a set of servers replicas; receiving, by the client device, in response to the initial write request an indication that a version of storage assignment mappings utilized by the client device is not a most recent version; retrieving the most recent version of the storage assignment mappings; determining, by the client device, one or more growth servers designated to replace a corresponding one or more server replicas of the set of server replicas associated with a storage index; and transmitting, by the client device, a write request associated with the storage index to the set of server replicas and the one or more growth servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A client device comprising:
-
a processor; and a plurality of instructions configured to be executed by the processor to perform operations including; transmitting an initial write request to a set of servers replicas; receiving in response to the initial write request an indication that a version of storage assignment mappings utilized by the client device is not a most recent version; and retrieving the most recent version of the storage assignment mappings determining whether one or more growth servers are designated to replace a corresponding one or more server replicas of set of server replicas associated with a storage index; and in response to determining that growth servers are designated to replace corresponding server replicas, writing data associated with the storage index to the set of server replicas and the one or more growth servers, and reading data associated with the storage index from the set of server replicas without reading data from the growth servers. - View Dependent Claims (12, 13)
-
-
14. One or more computer-readable storage media including a plurality of computer-executable instructions stored thereon and configured to program a metadata server to perform operations comprising:
-
instructing a growth server designated to replace a live server with respect to a storage index to retrieve data stored on the live server both from the live server and from other server replicas associated with the storage index; while the growth server retrieves the data, providing storage assignment mappings associating the live server, the growth server, and other server replicas with the storage index to one or more client devices to enable the client devices to transmit first write requests associated with the storage index to the live server, the growth server, and the other server replicas; receiving an indication from the growth server that the growth server has retrieved the data; and in response to receiving the indication, providing to the one or more client devices updated storage assignment mappings replacing the live server with the growth server with respect to the storage index, the updated storage assignment mappings enabling the client devices to transmit second write requests to the growth server and the other server replicas without transmitting the second write requests to the live server. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification