System and method of using data blocks to optimize file storage

US10747724B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10747724-B2
Application numberUS-201715846308-A
CountryUS
Kind codeB2
Filing dateDec 19, 2017
Priority dateJan 4, 2016
Publication dateAug 18, 2020
Grant dateAug 18, 2020

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 system and method is disclosed for using data blocks to optimize file storage in electronic data storage. An example method includes storing data objects in a storage service that correspond to a main block and multiple secondary blocks. The main block is stored in a first bucket and the secondary blocks are stored in one or more second buckets, with the main block including metadata indicating a unique identifier of the second bucket. The method further includes receiving a request to delete the data file to free storage; marking the main block of the data file for deletion that prevents a reading operation or a writing operation of additional data to the data file; deleting the secondary blocks of the data file; and after the secondary blocks are deleted, deleting the marked main block of the data file.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing electronic data stored in a storage service, the method comprising: storing in the storage service, by a processor, a plurality of data objects that correspond to a main block and a plurality of secondary blocks of a data file, wherein the main block is stored in a first bucket and has a name being a file name of the data file and the plurality of secondary blocks are stored in at least one second bucket, wherein the main block includes metadata indicating a unique identifier of the at least one second bucket and each secondary block contains a portion of the electronic data of the data file; receiving, by the processor of the storage service, a request to delete the data file to free at least one storage location including the first bucket and the at least one second bucket; based on the request to delete the data file, marking, by the processor, the main block of the data file for deletion by providing an indicator in the metadata of the main block that prevents at least one of a reading operation of the data file and a writing operation of additional data to the data file; deleting, by the processor, the plurality of secondary blocks of the data file from the at least one second bucket; and after the plurality of secondary blocks are deleted, deleting, by the processor, the marked main block of the data file from the first bucket, such that the at least one storage location is free to store a new data file. 2. The method of claim 1 , wherein the plurality of secondary blocks comprise names containing coded offsets relative to a start of the data file. 3. The method of claim 2 , wherein the metadata included in the main block indicating the unique identifier corresponds to the coded offsets of the plurality of secondary blocks, respectively. 4. The method of claim 1 , further comprising storing, by the processor, a new data file in the freed at least one storage location in the storage service where at least one of the main block and the plurality of secondary blocks was previous stored. 5. The method of claim 1 , further comprising after the marking of the main block of the data file and before the deleting of the plurality of secondary blocks, creating by the processor, copies of the main block and the plurality of secondary blocks of the data file and saving, by the processor, the created copies as a new main block and new plurality of second blocks in another first bucket and another at least one second bucket, respectively, of the storage service. 6. The method of claim 5 , wherein the marking of the main block for deletion comprises locking, by the processor, the main block by: accessing the metadata of the main block of the data file; deserializing the accessed metadata; and refreshing the metadata of the main block of the data file with the refreshed metadata including a data identifier that indicates a lock type and a lock time expiration. 7. The method of claim 1 , further comprising writing, by the processor, a plurality of zeroes in a data buffer of a client computer that correspond to a position of the deleted data file the client computer attempts to perform a read operation of the data file. 8. The method of claim 1 , wherein the first and second buckets comprise roots of object namespaces that are associated with a client computer using the storage service. 9. A system for managing electronic data stored in a storage service, the system comprising: a processor configured to: store, in the storage service, a plurality of data objects that correspond to a main block and a plurality of secondary blocks of a data file, wherein the main block is stored in a first bucket and has a name being a file name of the data file and the plurality of secondary blocks are stored in at least one second bucket, wherein the main block includes metadata indicating a unique identifier of the at least one second bucket and each secondary block contains a portion of the electronic data of the data file, receive a request to delete the data file to free at least one storage location including the first bucket and the at least one second bucket, based on the request to delete the data file, mark the main block of the data file for deletion by providing an indicator in the metadata of the main block that prevents at least one of a reading operation of the data file and a writing operation of additional data to the data file, delete the plurality of secondary blocks of the data file from the at least one second bucket, and after the plurality of secondary blocks are deleted, delete the marked main block of the data file from the first bucket, such that the at least one storage location is free to store a new data file. 10. The system of claim 9 , wherein the plurality of secondary blocks comprise names containing coded offsets relative to a start of the data file. 11. The system of claim 10 , wherein the metadata included in the main block indicating the unique identifier corresponds to the coded offsets of the plurality of secondary blocks, respectively. 12. The system of claim 9 , wherein the processor is further configured to store a new data file in the freed at least one storage location in the storage service where at least one of the main block and the plurality of secondary blocks was previous stored. 13. The system of claim 9 , wherein, after the marking of the main block of the data file and before the deleting of the plurality of secondary blocks, the processor is further configured to create copies of the main block and the plurality of secondary blocks of the data file and saving the created copies as a new main block and new plurality of second blocks in another first bucket and another at least one second bucket, respectively, of the storage service. 14. The system of claim 13 , wherein the processor is configured to lock the main block before creating copies of the main block and the plurality of secondary blocks by: accessing the metadata of the main block of the data file; deserializing the accessed metadata; and refreshing the metadata of the main block of the data file with the refreshed metadata including a data identifier that indicates a lock type and a lock time expiration. 15. The system of claim 9 , wherein the processor is further configured to write a plurality of zeroes in a data buffer of a client computer that correspond to a position of the deleted data file the client computer attempts to perform a read operation of the data file. 16. The system of claim 9 , wherein the first and second buckets comprise roots of object namespaces that are associated with a client computer using the storage service. 17. A non-transitory computer readable medium storing computer executable instructions for managing electronic data stored in a storage service, including instructions for: storing, in the storage service, a plurality of data objects that correspond to a main block and a plurality of secondary blocks of a data file, wherein the main block is stored in a first bucket and has a name being a file name of the data file and the plurality of secondary blocks are stored in at least one second bucket, wherein the main block includes metadata indicating a unique identifier of the at least one second bucket and each secondary block contains a portion of the electronic data of the data file; receiving, by the storage service, a request to delete the data file to free at least one storage location including the first bucket and the at least one second bucket; based on the request to delete the data file, marking th

Assignees

Inventors

Classifications

  • using compression, e.g. sparse files · CPC title

  • Indexing; Data structures therefor; Storage structures · CPC title

  • Delete operations (erasing in storage systems G06F3/0652) · CPC title

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 US10747724B2 cover?
A system and method is disclosed for using data blocks to optimize file storage in electronic data storage. An example method includes storing data objects in a storage service that correspond to a main block and multiple secondary blocks. The main block is stored in a first bucket and the secondary blocks are stored in one or more second buckets, with the main block including metadata indicati…
Who is the assignee on this patent?
Acronis Int Gmbh
What technology area does this patent fall under?
Primary CPC classification G06F16/1744. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 18 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).