Multi-Layer Data Storage Virtualization Using a Consistent Data Reference Model
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 hypervisor table with the first portion, thereby obtaining a master storage node identifier;
sending the data object and the hash value to a master storage node associated with the master storage node identifier;
at the master storage node, querying a master table with the second portion, thereby obtaining a storage node identifier; and
sending the data object and the hash value from the master storage node 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 hypervisor table is queried with the first portion, thereby obtaining a master storage node identifier. The data object and the hash value are sent to a master storage node associated with the master storage node identifier. At the master storage node, a master table is queried with the second portion, thereby obtaining a storage node identifier. The data object and the hash value are sent from the master storage node to a storage node associated with the storage node identifier.
240 Citations
17 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 hypervisor table with the first portion, thereby obtaining a master storage node identifier; sending the data object and the hash value to a master storage node associated with the master storage node identifier; at the master storage node, querying a master table with the second portion, thereby obtaining a storage node identifier; and sending the data object and the hash value from the master storage node to a storage node associated with the storage node identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for processing a write request that includes a data object and a hash value of the data object, the method comprising:
-
storing the data object at a storage location; updating a storage node table by adding an entry mapping the hash value to the storage location; and outputting a write acknowledgment that includes the hash value.
-
-
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 hash value of a data object, wherein the hash value includes a first portion and a second portion; querying a hypervisor table with the first portion, thereby obtaining a master storage node identifier; sending the hash value to a master storage node associated with the master storage node identifier; at the master storage node, querying a master table with the second portion, thereby obtaining a storage node identifier; and sending the hash value from the master storage node to a storage node associated with the storage node identifier. - View Dependent Claims (13, 14, 15)
-
-
16. A computer system for processing a read request that includes a hash value of a data object, the system comprising:
-
a non-transitory computer-readable storage medium storing computer program modules executable to perform steps comprising; querying a storage node table with the hash value, 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 (17)
-
Specification