Supporting glacier tiering of archived data in cloud/object storage
US-10783114-B2 · Sep 22, 2020 · US
US11797477B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11797477-B2 |
| Application number | US-202117498368-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 11, 2021 |
| Priority date | Mar 8, 2019 |
| 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.
Techniques are provided for managing objects within an object store. An object is maintained within an object store. The object comprises a plurality of slots. Each slot is used to store a unit of data accessible to applications hosted by remote computing devices. The object comprises an object header used to store metadata for each slot. A determination is made that the object is a fragmented object comprising an in-use slot of in-use data and a freed slot from which data was freed. The object is compacted to retain in-use data and exclude freed data as a rewritten object.
Opening claim text (preview).
What is claimed is: 1. A method comprising: creating an object comprising an object header used to store metadata for slots of the object, wherein the object header is part of the object; populating the object header with an indication that a slot comprises in-use data, wherein the in-use data is stored within the slot in a compressed state; in response to receiving a read operation for the in-use data, evaluating the object header to identify the slot within the object as comprising the in-use data; evaluating the object header to identify compression information used to decompress the in-use data from the compressed state to a decompressed state; and executing the read operation upon the slot, wherein the compression information is used to decompress the in-use data in the slot for access in the decompressed state by the read operation. 2. The method of claim 1 , comprising: in response to receiving an operation to write new data into the slot, creating a new version of the object for storing the new data. 3. The method of claim 2 , comprising: executing the operation upon the new version of the object to store the new data within the new version of the object. 4. The method of claim 3 , comprising: retaining the object in an unmodified state. 5. The method of claim 3 , comprising: populating a new object header of the new version of the object with metadata indicating that the new data is stored within a new slot of the new version of the object. 6. The method of claim 1 , comprising: setting a flag within the object header to indicate that the slot comprises normalized content. 7. The method of claim 1 , comprising: creating the object header as a static array of slot context comprising metadata used to access data in the slots of the object. 8. The method of claim 1 , wherein the in-use data comprises compressed data, and wherein the method comprises: populating the object header with information used to compress the compressed data within the slot. 9. The method of claim 1 , comprising: creating the object header having a size aligned with a start of a plurality of slots of the object. 10. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to: create an object comprising an object header used to store metadata for slots of the object, wherein the object header is part of the object; populate the object header with an indication that a slot comprises in-use data, wherein the in-use data is stored within the slot in a compressed state; in response to receiving a read operation for the in-use data, evaluate the object header to identify the slot within the object as comprising the in-use data; evaluate the object header to identify compression information used to decompress the in-use data from the compressed state to a decompressed state; and execute the read operation upon the slot, wherein the compression information is used to decompress the in-use data in the slot for access in the decompressed state by the read operation. 11. The non-transitory machine readable medium of claim 10 , wherein the instructions cause the machine to: populate the object header with a version identifier of the object. 12. The non-transitory machine readable medium of claim 10 , wherein the instructions cause the machine to: populate the object header with a header checksum. 13. The non-transitory machine readable medium of claim 10 , wherein the instructions cause the machine to: populate the object header with a length of the object. 14. The non-transitory machine readable medium of claim 10 , wherein the instructions cause the machine to: populate the object header with a slot context of the slot in the object. 15. A computing device comprising: a memory comprising machine executable code for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: create an object comprising an object header used to store metadata for slots of the object, wherein the object header is part of the object; populate the object header with an indication that a slot comprises in-use data, wherein the in-use data is stored within the slot in a compressed state; in response to receiving a read operation for the in-use data, evaluate the object header to identify the slot within the object as comprising the in-use data; evaluate the object header to identify compression information used to decompress the in-use data from the compressed state to a decompressed state; and execute the read operation upon the slot, wherein the compression information is used to decompress the in-use data in the slot for access in the decompressed state by the read operation. 16. The computing device of claim 15 , wherein the machine executable code causes the processor to: populate the object header with a slot context of the slot in the object. 17. The computing device of claim 16 , wherein the machine executable code causes the processor to: populate the slot context with a compression type of the slot. 18. The computing device of claim 16 , wherein the machine executable code causes the processor to: populate the slot context with a start offset of the slot within the object. 19. The computing device of claim 16 , wherein the machine executable code causes the processor to: populate the slot context with a logical data length of the slot within the object. 20. The computing device of claim 16 , wherein the machine executable code causes the processor to: populate the slot context with at least one of a logical data length of the slot, a compression length of the slot, an index of the slot within a compression group of multiple slots, or a logical data checksum.
Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16) · CPC title
Details of searching files based on file metadata · CPC title
Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually · CPC title
Garbage collection, i.e. reclamation of unreferenced memory · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.