Method and System for Providing Efficient Access to a Tape Storage System
First Claim
1. A computer-implemented method for asynchronously replicating data onto a tape medium, comprising:
- at a computing device having one or more processors and memory storing programs executed by the one or more processors, wherein the computing device is associated with a distributed storage system and connected to a tape storage system;
receiving a first request from a client for storing an object within the tape storage system;
storing the object within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of objects scheduled to be transferred to the tape storage system;
providing a first response to the requesting client, the first response indicating that the first request has been performed synchronously;
transferring one or more objects from the staging sub-system to the tape storage system if a predefined condition is met; and
for a respective transferred object,adding a reference to the object to a tape management sub-system of the tape storage system;
identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and
updating the parent object'"'"'s metadata to include the object'"'"'s location within the tape storage system.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for asynchronously replicating data onto a tape medium is implemented at one or more server computers associated with a distributed storage system and connected to a tape storage system. Upon receiving a first request from a client for storing an object within the tape storage system, a server computer stores the object within a staging sub-system of the distributed storage system and provides a first response to the requesting client. If a predefined condition is met, the server computer transfers objects from the staging sub-system to the tape storage system. For each transferred object, the server computer adds a reference to the object to a tape management sub-system, identifies a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system, and updates the parent object'"'"'s metadata to include the object'"'"'s location within the tape storage system.
-
Citations
26 Claims
-
1. A computer-implemented method for asynchronously replicating data onto a tape medium, comprising:
at a computing device having one or more processors and memory storing programs executed by the one or more processors, wherein the computing device is associated with a distributed storage system and connected to a tape storage system; receiving a first request from a client for storing an object within the tape storage system; storing the object within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of objects scheduled to be transferred to the tape storage system; providing a first response to the requesting client, the first response indicating that the first request has been performed synchronously; transferring one or more objects from the staging sub-system to the tape storage system if a predefined condition is met; and for a respective transferred object, adding a reference to the object to a tape management sub-system of the tape storage system; identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and updating the parent object'"'"'s metadata to include the object'"'"'s location within the tape storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A computer-implemented method for asynchronously replicating data from a tape medium, comprising:
at a computing device having one or more processors and memory storing programs executed by the one or more processors, wherein the computing device is associated with a distributed storage system and connected to a tape storage system; receiving a first request from a client for restoring an object from the tape storage system to a destination storage sub-system of the distributed storage system; generating an object restore entry that identifies the object to be restored and the destination storage sub-system; storing the object restore entry within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of object restore entries scheduled to be applied to the tape storage system; providing a first response to the requesting client, indicating that the first request will be performed asynchronously; applying one or more object restore entries within the staging sub-system to the tape storage system if a predefined condition is met; and for a respective restored object, transferring the object to the destination storage sub-system; identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and updating the parent object'"'"'s metadata to identify the object'"'"'s location within destination storage sub-system. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
23. A computing device associated with a distributed storage system, for asynchronously replicating data onto a tape medium, the computing device comprising:
-
one or more processors; and memory storing one or more programs to be executed by the one or more processors; the one or more programs comprising instructions for; receiving a first request from a client for storing an object within the tape storage system; storing the object within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of objects scheduled to be transferred to the tape storage system; providing a first response to the requesting client, the first response indicating that the first request has been performed synchronously; transferring one or more objects from the staging sub-system to the tape storage system if a predefined condition is met; and for a respective transferred object, adding a reference to the object to a tape management sub-system of the tape storage system; identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and updating the parent object'"'"'s metadata to include the object'"'"'s location within the tape storage system.
-
-
24. A computing device associated with a distributed storage system, for asynchronously replicating data from a tape medium, the computing device comprising:
-
one or more processors; and memory storing one or more programs to be executed by the one or more processors; the one or more programs comprising instructions for; receiving a first request from a client for restoring an object from the tape storage system to a destination storage sub-system of the distributed storage system; generating an object restore entry that identifies the object to be restored and the destination storage sub-system; storing the object restore entry within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of object restore entries scheduled to be applied to the tape storage system; providing a first response to the requesting client, indicating that the first request will be performed asynchronously; applying one or more object restore entries within the staging sub-system to the tape storage system if a predefined condition is met; and for a respective restored object, transferring the object to the destination storage sub-system; identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and updating the parent object'"'"'s metadata to identify the object'"'"'s location within destination storage sub-system.
-
-
25. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device associated with a distributed storage system, for asynchronously replicating data onto a tape medium, the one or more programs comprising instructions for:
-
receiving a first request from a client for storing an object within the tape storage system; storing the object within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of objects scheduled to be transferred to the tape storage system; providing a first response to the requesting client, the first response indicating that the first request has been performed synchronously; transferring one or more objects from the staging sub-system to the tape storage system if a predefined condition is met; and for a respective transferred object, adding a reference to the object to a tape management sub-system of the tape storage system; identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and updating the parent object'"'"'s metadata to include the object'"'"'s location within the tape storage system.
-
-
26. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device associated with a distributed storage system, for asynchronously replicating data from a tape medium, the one or more programs comprising instructions for:
-
receiving a first request from a client for restoring an object from the tape storage system to a destination storage sub-system of the distributed storage system; generating an object restore entry that identifies the object to be restored and the destination storage sub-system; storing the object restore entry within a staging sub-system of the distributed storage system, wherein the staging sub-system includes a plurality of object restore entries scheduled to be applied to the tape storage system; providing a first response to the requesting client, indicating that the first request will be performed asynchronously; applying one or more object restore entries within the staging sub-system to the tape storage system if a predefined condition is met; and for a respective restored object, transferring the object to the destination storage sub-system; identifying a corresponding parent object associated with the object and its metadata within a parent object management sub-system of the distributed storage system; and updating the parent object'"'"'s metadata to identify the object'"'"'s location within destination storage sub-system.
-
Specification