US10802914B2ActiveUtilityA1

Method of using common storage of parity data for unique copy recording

47
Assignee: CISCO TECH INCPriority: Jul 23, 2018Filed: Jul 23, 2018Granted: Oct 13, 2020
Est. expiryJul 23, 2038(~12 yrs left)· nominal 20-yr term from priority
G06F 3/067G06F 2211/1014G06F 11/1076G06F 3/0619G06F 11/0727G06F 3/065G06F 3/061G06F 3/0689G06F 3/064
47
PatentIndex Score
0
Cited by
8
References
16
Claims

Abstract

A disclosed method is performed at a fault-tolerant object-based storage system including M data storage entities, each is configured to store data on an object-basis. The method includes obtaining a request to store N copies of a data object and in response, storing the N copies of the data object across the M data storage entities, where the N copies are distributed across the M data storage entities. The method additionally includes generating a first parity object for a first subset of M copies of the N copies of the data object, where the first parity object is stored on a first parity storage entity separate from the M data storage entities. The method also includes generating a manifest linking the first parity object with one or more other subsets of M copies of the N copies of the data object.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method comprising:
 at a fault-tolerant object storage system including M data storage entities, each configured to store data on an object-basis, and one or more controllers: 
 obtaining a request to store N copies of a data object within the fault-tolerant object storage system; 
 storing the N copies of the data object across the M data storage entities in response to the request, wherein the N copies of the data object are distributed across the M data storage entities such that any two sequential copies of the N copies are stored on two separate storage entities of the M data storage entities; 
 generating a first parity object for a first subset of M copies of the N copies of the data object, wherein the first parity object is stored on a first parity storage entity separate from the M data storage entities; 
 generating a manifest linking the first parity object with one or more other subsets of M copies of the N copies of the data object; 
 obtaining a parity compression indicator, wherein the parity compression indicator is user configurable; and 
 generating and storing a second parity object for a second subset of M copies of the N copies of the data object when the parity compression indicator is set to off, wherein the second parity object has a same value as the first parity object. 
 
     
     
       2. The method of  claim 1 , further comprising:
 determining a remainder number of the N copies of the data object, wherein the remainder number is less than M; and 
 generating a remainder parity object for the remainder number of the N copies of the data object. 
 
     
     
       3. The method of  claim 1 , further comprising:
 generating a third parity object for the first subset of M copies of the N copies of the data object, wherein the third parity object is different from the first parity object; 
 linking, within the manifest, the third parity object with the one or more other subsets of M copies of the N copies of the data object; and 
 storing the third parity object on a second parity storage entity separate from the first parity storage entity. 
 
     
     
       4. The method of  claim 1 , wherein the data object represents a portion of raw media data. 
     
     
       5. The method of  claim 1 , wherein:
 the N copies of the data object are evenly distributed across the M data storage entities; and 
 the first parity object is generated based on the M copies of the data object in the first subset. 
 
     
     
       6. The method of  claim 1 , wherein the first parity object includes a repeat indicator. 
     
     
       7. The method of  claim 1  further comprising restoring a missing data object using a corresponding parity object associated with the missing data object and corresponding data objects stored in the fault-tolerant object storage system. 
     
     
       8. The method of  claim 1 , wherein obtaining the request to store the N copies of the data object within the fault-tolerant object storage system includes:
 receiving multiple requests to store data within the fault-tolerant object storage system; 
 identifying the N copies of the data object in the data associated with the multiple requests; and 
 generating the request to store the N copies of the data object within the fault-tolerant object storage system. 
 
     
     
       9. A fault-tolerant object-based storage system comprising:
 M data storage entities, each configured to store data on an object-basis; 
 a controller with control links to each of the plurality of M data storage entities, wherein the controller is configured to: 
 obtain a request to store N copies of a data object within the fault-tolerant object storage system; 
 store the N copies of the data object across the M data storage entities in response to the request, wherein the N copies of the data object are distributed across the M data storage entities such that any two sequential copies of the N copies are stored on two separate storage entities of the M data storage entities; 
 generate a first parity object for a first subset of M copies of the N copies of the data object, wherein the first parity object is stored on a first parity storage entity separate from the M data storage entities; 
 generate a manifest linking the first parity object with one or more other subsets of M copies of the N copies of the data object; 
 obtain a parity compression indicator, wherein the parity compression indicator is user configurable; and 
 generate and store a second parity object for a second subset of M copies of the N copies of the data object when the parity compression indicator is set to off, wherein the second parity object has a same value as the first parity object. 
 
     
     
       10. The fault-tolerant object-based storage system of  claim 9 , wherein the controller is further configured to:
 determine a remainder number of the N copies of the data object, wherein the remainder number of copies is less than M; and 
 generate a remainder parity object for the remainder number of the N copies of the data object. 
 
     
     
       11. The fault-tolerant object-based storage system of  claim 9 , wherein the controller is further configured to:
 generate a third parity object for the first subset of M copies of the N copies of the data object, wherein the third parity object is different from the first parity object; 
 link, within the manifest, the third parity object with one or more other subsets of M copies of the N copies of the data object; and 
 store the third parity object on a second parity storage entity separate from the first parity storage entity. 
 
     
     
       12. The fault-tolerant object-based storage system of  claim 9 , wherein the controller is further configured to restore a missing data object using a corresponding parity object associated with the missing data object and corresponding data objects stored in the fault-tolerant object storage system. 
     
     
       13. The fault-tolerant object-based storage system of  claim 9 , wherein obtaining the request to store the N copies of the data object within the fault-tolerant object storage system includes:
 receiving multiple requests to store data within the fault-tolerant object storage system; 
 identifying the N copies of the data object in the data associated with the multiple requests; and 
 generating the request to store the N copies of the data object within the fault-tolerant object storage system. 
 
     
     
       14. A fault-tolerant object-based storage device configured to protect stored data from loss at M data storage entities, each configured to store data on an object-basis, comprising:
 one or more controllers; 
 a non-transitory memory; 
 one or more control links to the M data storage entities; 
 means for obtaining a request to store N copies of a data object within the fault-tolerant object storage system; 
 means for storing the N copies of the data object across the M data storage entities in response to the request, wherein the N copies of the data object are distributed across the M data storage entities such that any two sequential copies of the N copies are stored on two separate storage entities of the M data storage entities; 
 means for generating a first parity object for a first subset of M copies of the N copies of the data object, wherein the first parity object is stored on a first parity storage entity separate from the M data storage entities; 
 means for generating a manifest linking the first parity object with one or more other subsets of M copies of the N copies of the data object 
 means for obtaining a parity compression indicator, wherein the parity compression indicator is user configurable; and 
 means for generating and storing a second parity object for a second subset of M copies of the N copies of the data object when the parity compression indicator is set to off, wherein the second parity object has a same value as the first parity object. 
 
     
     
       15. The fault-tolerant object-based storage device of  claim 14 , wherein the means for obtaining the request to store the N copies of the data object within the fault-tolerant object storage system include:
 means for receiving multiple requests to store data within the fault-tolerant object storage system; 
 means for identifying the N copies of the data object in the data associated with the multiple requests; and 
 means for generating the request to store the N copies of the data object within the fault-tolerant object storage system. 
 
     
     
       16. The fault-tolerant object-based storage device of  claim 14 , further comprising means for restoring a missing data object using a corresponding parity object associated with the missing data object and corresponding data objects stored in the fault-tolerant object storage system.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.