ARCHIVAL DATA IDENTIFICATION
First Claim
1. A computer-implemented method for managing data, comprising:
- under the control of one or more computer systems configured with executable instructions,receiving a data store request to store a data object;
causing the data object to be stored at a transient data store;
prior to storing the data object in a non-transient data storage location, providing a data object identifier for the data object, the data object identifier encoding at least storage location information used to indicate the non-transient data storage location, payload validation information, and policy information;
receiving a data retrieval request to retrieve the data object, the request specifying the data object identifier;
decoding the data object identifier to obtain at least storage location information, the payload validation information, and the policy information;
validating the data retrieval request using at least the policy information;
retrieving the data object from the non-transient data storage location using at least the storage location information;
validate integrity of the data object using at least the payload validation information; and
providing the data object.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided herein that facilitate cost-effective and reliable data identification in an archival data storage system. In an embodiment, a data object stored in an archival data storage system is identified by a data object identifier which encodes storage location information that may be used to locate a data object stored in an archival data storage system that reduces the cost to store a global index. The data object identifier may also encode policy information such as access control information usable for validating subsequent access to the data object, payload validation information such as size and digest usable for verifying the integrity of the payload data, metadata validation information such as error-detection codes usable for validating integrity of the data object identifier and other information.
147 Citations
28 Claims
-
1. A computer-implemented method for managing data, comprising:
-
under the control of one or more computer systems configured with executable instructions, receiving a data store request to store a data object; causing the data object to be stored at a transient data store; prior to storing the data object in a non-transient data storage location, providing a data object identifier for the data object, the data object identifier encoding at least storage location information used to indicate the non-transient data storage location, payload validation information, and policy information; receiving a data retrieval request to retrieve the data object, the request specifying the data object identifier; decoding the data object identifier to obtain at least storage location information, the payload validation information, and the policy information; validating the data retrieval request using at least the policy information; retrieving the data object from the non-transient data storage location using at least the storage location information; validate integrity of the data object using at least the payload validation information; and providing the data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method comprising:
-
under the control of one or more computer systems configured with executable instructions, receiving a request to retrieve a persistently stored data object, the request specifying a data object identifier, the data object identifier encoding at least storage location information and validation information related to the data object; retrieving the data object using at least the storage location information; and performing validation using at least the validation information. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An archival data storage system, comprising:
-
one or more processors; and memory, including instructions executable by the one or more processors to cause the computer system to at least; provide one or more application programming interface (“
APIs”
) for performing a plurality of data operations;receive, through the one or more APIs, a request to retrieve a data object, the request specifying a data object identifier, the data object identifier encapsulating at least storage location information and validation information related to the data object; de-encapsulate the data object identifier to obtain the storage location information and the validation information; validate the request based at least in part on the validation information; retrieve the data object based at least in part on the storage location information; and verify integrity of the data object using at least the validation information. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computing resource provider'"'"'s computer system, cause the computer system to at least:
-
receive a request to retrieve a persistently stored data object, the request specifying a data object identifier, the data object identifier encoding at least storage location information and validation information related to the data object; validate the request using at least the validation information; retrieve a plurality of data components using at least the storage location information, the plurality of data components being generated by causing application of one or more encoding schemes to the data object; restore the data object at least by causing application of one or more decoding schemes corresponding to the one or more encoding schemes to the plurality of data components; and verify integrity of the data object using at least the validation information. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification