Local storage clustering for redundancy coded data storage system
First Claim
Patent Images
1. A computer-implemented method, comprising:
- configuring a data storage system to provision a cluster comprising a plurality of data transfer devices, the cluster being capable of providing a capability of the data storage system without an operable connection to the data storage system, the capability including processing of data storage requests by at least generating a bundle of redundancy coded shards from data received in association with the data storage requests;
processing, by the cluster, a first data storage request from a customer entity associated therewith, by at least;
generating, by the cluster, a bundle of redundancy coded shards from data associated with the first data storage request, the bundle including at least a plurality of identity shards, a first identity shard of the plurality of identity shards containing an original form of the data, and an encoded shard containing a redundancy coded form of the data, the bundle being configured such that a quorum quantity of shards of the bundle is sufficient to reconstruct, using a redundancy code, the original data with the bundle; and
storing the bundle on at least a subset of the plurality of data transfer devices of the cluster;
processing, by the cluster, a second data storage request to retrieve at least a portion of the data, by at least;
retrieving at least a portion of the first identity shard corresponding to the portion of the data requested; and
providing the portion of the data to a requestor associated with the second data storage request; and
in response to an event associated with the first identity shard, causing the first identity shard to be stored on durable storage of the data storage system, the cluster and the data storage system sharing a common application programming interface.
1 Assignment
0 Petitions
Accused Products
Abstract
A data transfer device is used to augment the capabilities of a data storage system. The data transfer device may be capable of persistently storing data for an indeterminate amount of time, and may be configured to store a portion of a bundle of redundancy coded shards that span between the data transfer device and a data storage system configured to store the remainder of the bundle. Data stored on the data transfer device may be read from and written directly to the data transfer device without transfer of data to the data storage system. If the data transfer device is not available, the remaining shards of the bundle may provide a regenerated, original form of the data.
204 Citations
19 Claims
-
1. A computer-implemented method, comprising:
-
configuring a data storage system to provision a cluster comprising a plurality of data transfer devices, the cluster being capable of providing a capability of the data storage system without an operable connection to the data storage system, the capability including processing of data storage requests by at least generating a bundle of redundancy coded shards from data received in association with the data storage requests; processing, by the cluster, a first data storage request from a customer entity associated therewith, by at least; generating, by the cluster, a bundle of redundancy coded shards from data associated with the first data storage request, the bundle including at least a plurality of identity shards, a first identity shard of the plurality of identity shards containing an original form of the data, and an encoded shard containing a redundancy coded form of the data, the bundle being configured such that a quorum quantity of shards of the bundle is sufficient to reconstruct, using a redundancy code, the original data with the bundle; and storing the bundle on at least a subset of the plurality of data transfer devices of the cluster; processing, by the cluster, a second data storage request to retrieve at least a portion of the data, by at least; retrieving at least a portion of the first identity shard corresponding to the portion of the data requested; and providing the portion of the data to a requestor associated with the second data storage request; and in response to an event associated with the first identity shard, causing the first identity shard to be stored on durable storage of the data storage system, the cluster and the data storage system sharing a common application programming interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, comprising at least one computing device configured to implement one or more services, wherein the one or more services:
-
provision a cluster comprising a plurality of data transfer devices, the cluster providing a capability of the one or more services, the capability including data storage on a data storage system sharing a common application programming interface with the cluster, the plurality of data transfer devices usable for transferring data from a customer device to the system via an ingestion process, the customer device being remotely located relative to the system; co-locate the cluster with the customer device; cause the cluster to service a first set of requests requesting the capability directed to the cluster from the customer device; and forward a second set of requests requesting the capability and received by the one or more services to the cluster for processing. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium having stored 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:
-
configure a plurality of data transfer devices to function as a cluster, the cluster providing one or more capabilities associated with a data storage system operably connected to the computer system, the cluster and the data storage system sharing a common application programming interface; cause the cluster to be capable of providing the one or more capabilities to one or more requestors regardless of whether the cluster is operably connected to the data storage system; cause the cluster to service requests from the requestor requesting the capability; and if the cluster is incapable of servicing a portion of the requests, and if the cluster is operably connected to the data storage system, forward the portion of requests to the data storage system for further processing. - View Dependent Claims (17, 18, 19)
-
Specification