Memory Management and Recovery for Datacenters
First Claim
1. A method implemented by at least one metadata server, comprising:
- determining that a server of a plurality of servers has failed;
determining tracts of data stored on the failed server;
determining other servers of the plurality of servers also storing the tracts of data, the tracts of data being distributed among the other servers; and
instructing the other servers to write the tracts of data to additional servers to create replicas of the tracts of data, at least two of the other servers performing the writing in parallel.
2 Assignments
0 Petitions
Accused Products
Abstract
A system including a plurality of servers, a client, and a metadata server is described herein. The servers each store tracts of data, a plurality of the tracts comprising a byte sequence and being distributed among the plurality of servers. To locate the tracts, the metadata server generates a table that is used by the client to identify servers associated with the tracts, enabling the client to provide requests to the servers. The metadata server also enables recovery in the event of a server failure. Further, the servers construct tables of tract identifiers and locations to use in responding to the client requests.
-
Citations
20 Claims
-
1. A method implemented by at least one metadata server, comprising:
-
determining that a server of a plurality of servers has failed; determining tracts of data stored on the failed server; determining other servers of the plurality of servers also storing the tracts of data, the tracts of data being distributed among the other servers; and instructing the other servers to write the tracts of data to additional servers to create replicas of the tracts of data, at least two of the other servers performing the writing in parallel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A server system comprising:
-
a processor; a storage unit coupled to the processor and storing a plurality of tracts of data and identifiers of the tracts, each tract having a same size as each other tract, each tract identifier having a same size as each other tract identifier, and each tract identifier being stored next to the tract it identifies; and a plurality of executable instructions configured to be operated by the processor to program the server system to construct a table identifying the tracts stored in the storage unit and their locations in the storage unit by scanning the storage unit for tract identifiers based at least in part on the tract size and the tract identifier size. - View Dependent Claims (10, 11, 12)
-
-
13. A computer-readable storage medium comprising:
a plurality of computer-readable instructions stored on the storage medium and configured to program a server system to perform operations including; marking one or more entries in a table for a first part of a storage unit memory as out of date, the table indicating identities of tracts of data stored in the storage unit memory and locations in the storage unit memory where the tracts are stored; writing tracts received in a plurality of write requests to the first part of the storage unit memory; and in response to filling the first part of the storage unit memory, updating the one or more entries marked out of date with the identities of the written tracts and their locations, and marking additional one or more entries for a second part of the storage unit memory as out of date. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
Specification