Methods for managing snapshots in a distributed de-duplication system and devices thereof
US-2023016352-A1 · Jan 19, 2023 · US
US11797488B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11797488-B2 |
| Application number | US-202217739577-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 9, 2022 |
| Priority date | Aug 10, 2016 |
| Publication date | Oct 24, 2023 |
| Grant date | Oct 24, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
based on file chunks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.