Systems and methods for reliably storing data using liquid distributed storage
First Claim
1. A method for repair of source data comprising one or more source objects stored as multiple fragments distributed across multiple storage nodes of a storage system, wherein one or more fragments of the multiple fragments includes redundant data for the one or more source objects, the method comprising:
- determining a portion of a source object of the one or more source objects to repair, wherein the portion of the source object to repair comprises data of at least one fragment of the multiple fragments;
reading data of a plurality of fragments of the multiple fragments from a plurality of storage nodes of the multiple storage nodes;
processing the data of the plurality of fragments read from the plurality of storage nodes to provide data of at least one additional fragment for the multiple fragments;
writing the data of the at least one additional fragment to at least one storage node of the multiple storage nodes;
provisioning a repair policy process with a repair bandwidth metric (R) to control the reading data of the plurality of fragments and writing the data of the at least one additional fragment for repair of source data within the storage system, wherein R is calculated as a function of data redundancy of the storage system provided by the one or more fragments including redundant data (β
); and
implementing the repair policy process with respect to the reading data of the plurality of fragments and writing the data of the at least one additional fragment, wherein repair bandwidth used by the repair policy process is controlled by the repair policy process to average to at most R over a window of time (W).
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments provide methodologies for reliably storing data within a storage system using liquid distributed storage control. Such liquid distributed storage control operates to compress repair bandwidth utilized within a storage system for data repair processing to the point of operating in a liquid regime. Liquid distributed storage control logic of embodiments may employ a lazy repair policy, repair bandwidth control, a large erasure code, and/or a repair queue. Embodiments of liquid distributed storage control logic may additionally or alternatively implement a data organization adapted to allow the repair policy to avoid handling large objects, instead streaming data into the storage nodes at a very fine granularity.
34 Citations
64 Claims
-
1. A method for repair of source data comprising one or more source objects stored as multiple fragments distributed across multiple storage nodes of a storage system, wherein one or more fragments of the multiple fragments includes redundant data for the one or more source objects, the method comprising:
-
determining a portion of a source object of the one or more source objects to repair, wherein the portion of the source object to repair comprises data of at least one fragment of the multiple fragments; reading data of a plurality of fragments of the multiple fragments from a plurality of storage nodes of the multiple storage nodes; processing the data of the plurality of fragments read from the plurality of storage nodes to provide data of at least one additional fragment for the multiple fragments; writing the data of the at least one additional fragment to at least one storage node of the multiple storage nodes; provisioning a repair policy process with a repair bandwidth metric (R) to control the reading data of the plurality of fragments and writing the data of the at least one additional fragment for repair of source data within the storage system, wherein R is calculated as a function of data redundancy of the storage system provided by the one or more fragments including redundant data (β
); andimplementing the repair policy process with respect to the reading data of the plurality of fragments and writing the data of the at least one additional fragment, wherein repair bandwidth used by the repair policy process is controlled by the repair policy process to average to at most R over a window of time (W). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. An apparatus for repair of source data comprising one or more source objects stored as multiple fragments distributed across multiple storage nodes of a storage system, wherein one or more fragments of the multiple fragments includes redundant data for the one or more source objects, the apparatus comprising:
-
one or more data processors; and one or more non-transitory computer-readable storage media containing program code configured to cause the one or more data processors to perform operations including; determining a portion of a source object of the one or more source objects to repair, wherein the portion of the source object to repair comprises data of at least one fragment of the multiple fragments; reading data of a plurality of fragments of the multiple fragments from a plurality of storage nodes of the multiple storage nodes; processing the data of the plurality of fragments read from the plurality of storage nodes to provide data of at least one additional fragment for the multiple fragments; writing the data of the at least one additional fragment to at least one storage node of the multiple storage nodes; and provisioning a repair policy process with a repair bandwidth metric (R) to control the reading the data of the plurality of fragments and writing the data of the at least one additional fragment for repair of source data within the storage system, wherein R is calculated as a function of data redundancy of the storage system provided by the one or more fragments including redundant data (β
); andimplementing the repair policy process with respect to the reading data of the plurality of fragments and writing the data of the at least one additional fragment, wherein repair bandwidth used by the repair policy process is controlled by the repair policy process to average to at most R over a window of time (W). - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. An apparatus for repair of source data comprising one or more source objects stored as multiple fragments distributed across multiple storage nodes of a storage system, wherein one or more fragments of the multiple fragments includes redundant data for the one or more source objects, the apparatus comprising:
-
means for determining a portion of a source object of the one or more source objects to repair, wherein the portion of the source object to repair comprises data of at least one fragment of the multiple fragments; means for reading data of a plurality of fragments of the multiple fragments from a plurality of storage nodes of the multiple storage nodes; means for processing the data of the plurality of fragments read from the plurality of storage nodes to provide data of at least one additional fragment for the multiple fragments; means for writing the data of the at least one additional fragment to at least one storage node of the multiple storage nodes; means for provisioning a repair policy process with a repair bandwidth metric (R) to control reading data of the plurality of fragments and writing data of the at least one additional fragment for repair of source data within the storage system, wherein R is calculated as a function of data redundancy of the storage system provided by the one or more fragments including redundant data (β
); andmeans for implementing the repair policy process with respect to reading data of the plurality of fragments and writing the data of the at least one additional fragment, wherein repair bandwidth used by the repair policy process is controlled by the repair policy process to average to at most R over a window of time (W). - View Dependent Claims (56, 57, 58, 59)
-
-
60. A non-transitory computer-readable medium comprising codes for repair of source data comprising one or more source objects stored as multiple fragments distributed across multiple storage nodes of a storage system, wherein one or more fragments of the multiple fragments includes redundant data for the one or more source objects, the codes causing a computer to:
-
determine a portion of a source object of the one or more source objects to repair, wherein the portion of the source object to repair comprises data of at least one fragment of the multiple fragments; read data of a plurality of fragments of the multiple fragments from a plurality of storage nodes of the multiple storage nodes; process the data of the plurality of fragments read from the plurality of storage nodes to provide data of at least one additional fragment for the multiple fragments; write the data of the at least one additional fragment to at least one storage node of the multiple storage nodes; provision a repair policy process with a repair bandwidth metric (R) to control reading data of the plurality of fragments and writing data of the at least one additional fragment for repair of source data within the storage system, wherein R is calculated as a function of data redundancy of the storage system provided by the one or more fragments including redundant data (β
); andimplement the repair policy process with respect to reading data of the plurality of fragments and writing the data of the at least one additional fragment, wherein repair bandwidth used by the repair policy process is controlled by the repair policy process to average to at most R over a window of time (W). - View Dependent Claims (61, 62, 63, 64)
-
Specification