Object storage system for an unreliable storage medium
First Claim
Patent Images
1. A distributed storage system, comprising:
- a plurality of storage elements; and
control circuitry configured to;
receive a data item, via a communication network, from a device that requests storage of the data item;
determine a size of the data item;
generate redundant data elements by;
in response to determining that the size of the data item is less than a first predetermined threshold;
generating replicas of the data item in accordance with a spreading parameter;
in response to determining that the size of the data item is greater than or equal to the first predetermined threshold and less than a second predetermined threshold;
dividing the data item into data blocks based on the spreading parameter; and
processing the data blocks with an erasure coding algorithm;
in response to determining that the size of the data item is greater than or equal to the second predetermined threshold;
dividing the data item into a plurality of sections of predetermined length;
dividing each section into data blocks based on the spreading parameter; and
processing the data blocks with an erasure coding algorithm; and
store the redundant data elements among the plurality of storage elements.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and computer device for storage and retrieval of a data object on a storage medium. The method includes steps of disassembling the data object into a predetermined number of redundant sub blocks, storing the redundant sub blocks on the storage medium, retrieving at least a predetermined multiple of a minimal spreading requirement of the redundant sub blocks from the storage medium, and assembling the data object from any combination of a particular number of the redundant sub blocks, the particular number corresponding to a predetermined multiple of a minimal spreading requirement. The computer device includes modules for performing the steps.
126 Citations
20 Claims
-
1. A distributed storage system, comprising:
-
a plurality of storage elements; and control circuitry configured to; receive a data item, via a communication network, from a device that requests storage of the data item; determine a size of the data item; generate redundant data elements by; in response to determining that the size of the data item is less than a first predetermined threshold; generating replicas of the data item in accordance with a spreading parameter; in response to determining that the size of the data item is greater than or equal to the first predetermined threshold and less than a second predetermined threshold; dividing the data item into data blocks based on the spreading parameter; and processing the data blocks with an erasure coding algorithm; in response to determining that the size of the data item is greater than or equal to the second predetermined threshold; dividing the data item into a plurality of sections of predetermined length; dividing each section into data blocks based on the spreading parameter; and processing the data blocks with an erasure coding algorithm; and store the redundant data elements among the plurality of storage elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of storing a data item in a distributed storage system, comprising:
-
receiving, with control circuitry, the data item from a device via a communication network, the device requesting storage of the data item; determining, with the control circuitry, a size of the data item; generating redundant data elements by; in response to determining that the size of the data item is less than a first predetermined threshold; generating replicas of the data item in accordance with a spreading parameter; in response to determining that the size of the data item is greater than or equal to the first predetermined threshold and less than a second predetermined threshold; dividing the data item into data blocks based on the spreading parameter; and processing the data blocks with an erasure coding algorithm; in response to determining that the size of the data item is greater than or equal to the second predetermined threshold; dividing the data item into a plurality of sections of predetermined length; dividing each section into data blocks based on the spreading parameter; and processing the data blocks with an erasure coding algorithm; and storing, by the control circuitry, the redundant data elements among a plurality of storage elements. - View Dependent Claims (16, 17)
-
-
18. A distributed storage system, comprising:
-
means for receiving a data item from a device that requests storage of the data item; means for generating redundant data elements by; in response to a size of the data item being less than a first predetermined threshold; generating replicas of the data item in accordance with a spreading parameter; in response to the size of the data item being greater than or equal to the first predetermined threshold and less than a second predetermined threshold; dividing the data item into data blocks based on the spreading parameter; and processing the data blocks with an erasure coding algorithm; in response to the size of the data item being greater than or equal to the second predetermined threshold; dividing the data item into a plurality of sections of predetermined length; dividing each section into data blocks based on the spreading parameter; and processing the data blocks with an erasure coding algorithm; and means for storing the redundant data elements in a plurality of storage elements. - View Dependent Claims (19, 20)
-
Specification