High-Performance Distributed Data Storage System with Implicit Content Routing and Data Deduplication
First Claim
1. A method for processing a write request that includes a data object, the method comprising:
- executing a hash function on the data object, thereby generating a hash value that includes a first portion and a second portion;
querying a data location table with the first portion, thereby obtaining a storage node identifier; and
sending the data object to a storage node associated with the storage node identifier.
4 Assignments
0 Petitions
Accused Products
Abstract
A write request that includes a data object is processed. A hash function is executed on the data object, thereby generating a hash value that includes a first portion and a second portion. A data location table is queried with the first portion, thereby obtaining a storage node identifier. The data object is sent to a storage node associated with the storage node identifier. A write request that includes a data object and a pending data object identification (DOID) is processed, wherein the pending DOID comprises a hash value of the data object. The pending DOID is finalized, thereby generating a finalized data object identification (DOID). The data object is stored at a storage location. A storage manager catalog is updated by adding an entry mapping the finalized DOID to the storage location. The finalized DOID is output.
236 Citations
16 Claims
-
1. A method for processing a write request that includes a data object, the method comprising:
-
executing a hash function on the data object, thereby generating a hash value that includes a first portion and a second portion; querying a data location table with the first portion, thereby obtaining a storage node identifier; and sending the data object to a storage node associated with the storage node identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing a write request that includes a data object and a pending data object identification (DOID), wherein the pending DOID comprises a hash value of the data object, the method comprising:
-
finalizing the pending DOID, thereby generating a finalized data object identification (DOID); storing the data object at a storage location; updating a storage manager catalog by adding an entry mapping the finalized DOID to the storage location; and outputting the finalized DOID. - View Dependent Claims (9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium storing computer program modules for processing a read request that includes an application data identifier, the computer program modules executable to perform steps comprising:
-
querying a virtual volume catalog with the application data identifier, thereby obtaining a data object identification (DOID), wherein the DOID comprises a hash value of a data object, and wherein the hash value includes a first portion and a second portion; querying a data location table with the first portion, thereby obtaining a storage node identifier; and sending the DOID to a storage node associated with the storage node identifier. - View Dependent Claims (13, 14)
-
-
15. A system for processing a read request that includes a data object identification (DOID), wherein the DOID comprises a hash value of a data object, and wherein the hash value includes a first portion and a second portion, the system comprising:
-
a non-transitory computer-readable storage medium storing computer program modules executable to perform steps comprising; querying a storage manager catalog with the first portion, thereby obtaining a storage location; and retrieving the data object from the storage location; and a computer processor for executing the computer program modules. - View Dependent Claims (16)
-
Specification