Handling weakening of hash functions by using epochs
AssigneeEMC IP Holding Company LLC
InventorsMahadev Satyanarayanan, Niraj Tolia, Andrew Gaul
Life of this patent
Estimating the term…
Abstract
Techniques to manage the use of hash functions are disclosed. In various embodiments, a hash function epoch metadata is stored to associate a hash function with an epoch, the epoch defining a subset of data stored by a distributed file system. The distributed file system is configured to use the hash function epoch metadata to manage storage of data comprising the subset of data stored by the distributed file system.
Claims23
A method of managing use of hash functions, comprising:
- storing, by one or more processors, a hash function epoch metadata to associate a hash function with an epoch, the epoch defining a subset of data stored by a distributed file system, wherein the hash function epoch metadata comprises a mapping of one or more identifiers corresponding to epochs to one or more identifiers corresponding to hash functions, wherein the mapping of the one or more identifiers corresponding to epochs to the one or more identifiers corresponding to hash functions comprises a table that comprises a first column corresponding to the one or more identifiers corresponding to epochs, and a second column corresponding to the one or more identifiers corresponding to hash functions, the second column storing a bitmask value that is indicative of the one or more hash functions associated with the corresponding epoch;
- configuring, by one or more processors, the distributed file system to use the hash function epoch metadata to manage storage of data comprising the subset of data stored by the distributed file system;
- receiving, by one or more processors, a write request to write a chunk to the distributed file system;
- and
- determining, by one or more processors, whether to store the chunk at the distributed file system based at least in part on a hash function associated with the chunk corresponding to the write request and the mapping of the one or more identifiers corresponding to epochs to the one or more identifiers corresponding to hash functions.
A system to manage use of hash functions, comprising:
- a memory or other storage device;
- and
- a processor coupled to the memory or other storage device and configured to:
- store in the memory or other storage device a hash function epoch metadata to associate a hash function with an epoch, the epoch defining a subset of data stored by a distributed file system, wherein the hash function epoch metadata comprises a mapping of one or more identifiers corresponding to epochs to one or more identifiers corresponding to hash functions, wherein the mapping of the one or more identifiers corresponding to epochs to the one or more identifiers corresponding to hash functions comprises a table that comprises a first column corresponding to the one or more identifiers corresponding to epochs, and a second column corresponding to the one or more identifiers corresponding to hash functions, the second column storing a bitmask value that is indicative of the one or more hash functions associated with the corresponding epoch;
- configure the distributed file system to use the hash function epoch metadata to manage storage of data comprising the subset of data stored by the distributed file system;
- receive a write request to write a chunk to the distributed file system;
- and
- determine whether to store the chunk at the distributed file system based at least in part on a hash function associated with the chunk corresponding to the write request and the mapping of the one or more identifiers corresponding to epochs to the one or more identifiers corresponding to hash functions.
A computer program product to manage use of hash functions, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- storing a hash function epoch metadata to associate a hash function with an epoch, the epoch defining a subset of data stored by a distributed file system, wherein the hash function epoch metadata comprises a mapping of one or more identifiers corresponding to epochs to one or more identifiers corresponding to hash functions, wherein the mapping of the one or more identifiers corresponding to epochs to the one or more identifiers corresponding to hash functions comprises a table that comprises a first column corresponding to the one or more identifiers corresponding to epochs, and a second column corresponding to the one or more identifiers corresponding to hash functions, the second column storing a bitmask value that is indicative of the one or more hash functions associated with the corresponding epoch;
- configuring the distributed file system to use the hash function epoch metadata to manage storage of data comprising the subset of data stored by the distributed file system;
- receiving, by one or more processors, a write request to write a chunk to the distributed file system;
- and
- determining, by one or more processors, whether to store the chunk at the distributed file system based at least in part on a hash function associated with the chunk corresponding to the write request and the mapping of the one or more identifiers corresponding to epochs to the one or more identifiers corresponding to hash functions.
Dependencies are inferred from the claim text.