Methods for managing storage in a distributed de-duplication system and devices thereof

US11797488B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11797488-B2
Application numberUS-202217739577-A
CountryUS
Kind codeB2
Filing dateMay 9, 2022
Priority dateAug 10, 2016
Publication dateOct 24, 2023
Grant dateOct 24, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, non-transitory computer readable medium, and device that assists with managing storage in a distributed deduplication system includes receiving an object to be stored from a client computing device. The received object is divided into a plurality of fragments. A plaintext hash value and a ciphertext hash value is determined for each of the plurality of fragments, wherein each of the plurality of fragments is renamed with the corresponding determined ciphertext hash value. Each of the renamed plurality of fragments are stored in a plurality of storage repositories.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: determining, by a computing device, a plurality of ciphertext hash values each based on at least a portion of content in a corresponding one of a plurality of file fragments which together comprise a received file; renaming, by the computing device, a filename of each of the plurality of file fragments with the corresponding determined ciphertext hash value; and storing, by the computing device, each of the renamed plurality of file fragments in a plurality of storage repositories when the ciphertext hash value fails to match in a storage repository of the plurality of storage repositories. 2. The method as set forth in claim 1 further comprising encrypting, by the computing device, each of the plurality of file fragments using a determined plaintext hash value and a tenant key associated with a client. 3. The method as set forth in claim 1 wherein the storing further comprises: storing, by the computing device, each of the renamed plurality of file fragments in the plurality of storage repositories when the one or more previously stored file fragments with an existing name equal to the renamed plurality of file fragments is determined to be absent. 4. The method as set forth in claim 1 further comprising: obtaining, by the computing device, each of the plurality of file fragments from the plurality of storage repositories using an identified ciphertext hash value of each of the plurality of file fragments associated with the received file in a read request. 5. The method as set forth in claim 4 further comprising: reassembling, by the computing device, the plurality of file fragments to form the requested file, wherein each of the plurality of file fragments is decompressed when decrypted plurality of file fragments are determined to be compressed. 6. The method as set forth in claim 1 further comprising: deleting, by the computing device, the ciphertext hash from the plurality of storage repositories, when the ciphertext hash value is un-referenced. 7. A non-transitory computer readable medium having stored thereon instructions for managing storage in a distributed deduplication system comprising executable code which when executed by a processor, causes the processor to: determine a plurality of ciphertext hash values each based on at least a portion of content in a corresponding one of a plurality of file fragments which together comprise a received file; rename a filename for each of the plurality of file fragments with the corresponding determined ciphertext hash value; and store each of the renamed plurality of file fragments in a plurality of storage repositories when the ciphertext hash value fails to match in a storage repository of the plurality of storage repositories. 8. The medium as set forth in claim 7 , wherein the executable code, when executed by the processor, further causes the processor to encrypt each of the plurality of file fragments using a determined plaintext hash value and a tenant key associated with a client. 9. The medium as set forth in claim 7 , wherein the executable code, when executed by the processor, further causes the processor to store each of the renamed plurality of file fragments in the plurality of storage repositories when the one or more previously stored file fragments with an existing name equal to the renamed plurality of file fragments is determined to be absent. 10. The medium as set forth in claim 7 , wherein the executable code, when ecexuted by the processor, further causes the processor to obtain each of the plurality of file fragments from the plurality of storage repositories using an identified ciphertext hash value of each of the plurality of file fragments associated with the received file in a read request. 11. The medium as set forth in claim 10 , wherein the executable code, when executed by the processor, further causes the processor to reassemble the plurality of file fragments to form the requested file, wherein each of the plurality of file fragments is decompressed when decrypted plurality of file fragments are determined to be compressed. 12. The medium as set forth in claim 7 , wherein the executable code, when executed by the processor, further causes the processor to delete the ciphertext hash from the plurality of storage repositories, when the ciphertext hash value is un-referenced. 13. A storage controller comprising: a processor; a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to: determine a plurality of ciphertext hash values each based on at least a portion of content in a corresponding one of a plurality of file fragments which together comprise a received file; rename a filename for each of the plurality of file fragments with the corresponding determined ciphertext hash value; and store each of the renamed plurality of file fragments in a plurality of storage repositories when the ciphertext hash value fails to match in a storage repository of the plurality of storage repositories. 14. The storage controller as set forth in claim 13 wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to encrypt each of the plurality of file fragments using a determined plaintext hash value and a tenant key associated with a client. 15. The storage controller as set forth in claim 13 wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory for the storing further comprises: store each of the renamed plurality of file fragments in the plurality of storage repositories when the one or more previously stored file fragments with an existing name equal to the renamed plurality of file fragments is determined to be absent. 16. The storage controller as set forth in claim 13 wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to: obtain each of the plurality of file fragments from the plurality of storage repositories using an identified ciphertext hash value of each of the plurality of file fragments associated with the received file in a read request. 17. The storage controller as set forth in claim 16 wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to: reassemble the plurality of file fragments to form the requested file, wherein each of the plurality of file fragments is decompressed when decrypted plurality of file fragments are determined to be compressed. 18. The storage controller as set forth in claim 13 wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to: delete the ciphertext hash from the plurality of storage repositories, when the ciphertext hash value is un-referenced.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11797488B2 cover?
A method, non-transitory computer readable medium, and device that assists with managing storage in a distributed deduplication system includes receiving an object to be stored from a client computing device. The received object is divided into a plurality of fragments. A plaintext hash value and a ciphertext hash value is determined for each of the plurality of fragments, wherein each of the p…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/1752. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).