Namespace hierarchy preservation with multiple object storage objects

US11334540B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11334540-B2
Application numberUS-201615143339-A
CountryUS
Kind codeB2
Filing dateApr 29, 2016
Priority dateSep 25, 2015
Publication dateMay 17, 2022
Grant dateMay 17, 2022

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.

To leverage the attributes of object storage for applications/systems created to interface with a network files system, an object storage backed file system can accept the defined file system commands from the applications/systems and transform the file system commands into requests that target object storage. The file system is “backed” by object storage because attributes and content of file system entities are stored in objects. For instance, content data and metadata of a file are stored in objects in object storage. This object storage backed file system can be considered a bridge between a client perceived hierarchical file system namespace and a flat namespace of an object storage.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: requesting, from an object storage that stores objects that back a file system, a first listing of namespace object keys each of which begins with a first object key by setting a list parameter as a root inode object key, wherein the object storage stores inode metadata of the file system as inode objects and hierarchical namespace encoding of the file system as namespace objects according to a flat namespace; updating a structure based, at least in part, on the namespace object keys in the first listing, wherein the structure indicates a namespace hierarchy for the file system; for each of the namespace object keys in the first listing, retrieving from the object storage a namespace object identified by the first object key; determining a second object key from the namespace object identified by the first object key; setting the list parameter to the second object key; and traversing the namespace hierarchy, including requesting from the object storage a second listing of namespace object keys, wherein each namespace object key in the second listing begins with the second object key; constructing the namespace hierarchy, including updating the structure based, at least in part, on the namespace object keys in the second listing; and supplying the structure for presentation of the namespace hierarchy. 2. The method of claim 1 , wherein each of the namespace objects in the first listing of namespace object keys comprise a self-identifying object key and an object key that identifies a corresponding second object. 3. The method of claim 1 , wherein the first listing of namespace object keys and the second listing of namespace object keys are listings of different subsets of objects. 4. The method of claim 1 , wherein each of the namespace object keys identified by the first listing of namespace object keys comprises a name of a file or file container represented by a first namespace object and an object key of a second namespace object that represents a parent file container of the file or file container represented by the first namespace object. 5. The method of claim 1 , wherein each of the namespace objects identified by the first listing of namespace object keys corresponds to an inode object that comprises an inode number of a file or file container represented by the inode object. 6. The method of claim 1 , wherein each of the namespace objects identified by the first listing of namespace object keys and a corresponding inode object represent a file or file container of the file system. 7. The method of claim 1 , wherein each of the namespace objects identified by the first listing of namespace object keys has a corresponding inode object comprising a self-identifying key and at least an indication of a file or file container. 8. The method of claim 1 , wherein the second object key is determined from the namespace object identified by the first object key through a mapping of an inode number of a file system entity to a parent inode and entity name. 9. One or more non-transitory machine-readable media having program code for an object storage backed file system, the program code comprising instructions to: request, from an object storage that stores objects that back a file system, a first listing of namespace object keys that each begins with a first object key by setting a list parameter as a root inode object key, wherein the object storage stores inode metadata of the file system as inode objects and hierarchical namespace encoding of the file system as namespace objects according to a flat namespace; update a structure based, at least in part, on the namespace object keys in the first listing, wherein the structure indicates a namespace hierarchy for the file system; for each of the namespace object keys in the first listing, retrieve from the object storage a namespace object identified by the first object key; determine a second object key from the namespace object identified by the first object key; set the list parameter to the second object key; and traverse the namespace hierarchy, including requesting from the object storage a second listing of namespace object keys that each begins with the second object key; construct the namespace hierarchy, including updating the structure based, at least in part, on the namespace object keys in the second listing; and supply the structure for presentation of the namespace hierarchy. 10. The non-transitory machine-readable media of claim 9 , wherein each of the namespace objects in the first listing of namespace object keys comprise a self-identifying object key and an object key that identifies a corresponding second object. 11. The non-transitory machine-readable media of claim 9 , wherein the first listing of namespace object keys and the second listing of namespace object keys are listings of different subsets of objects. 12. The non-transitory machine-readable media of claim 9 , wherein each of the namespace object keys identified by the first listing of namespace object keys comprises a name of a file or file container represented by a first namespace object and an object key of a second namespace object that represents a parent file container of the file or file container represented by the first namespace object. 13. The non-transitory machine-readable media of claim 9 , wherein each of the namespace objects identified by the first listing of namespace object keys corresponds to an inode object that comprises an inode number of a file or file container represented by the inode object. 14. The non-transitory machine-readable media of claim 9 , wherein each of the namespace objects identified by the first listing of namespace object keys and a corresponding inode object represent a file or file container of the file system. 15. The non-transitory machine-readable media of claim 9 , wherein each of the namespace objects identified by the first listing of namespace object keys has a corresponding inode object comprising a self-identifying key and at least an indication of a file or file container. 16. An apparatus comprising: a processor; a network interface; and a machine-readable medium comprising program code executable by the processor to cause the apparatus to, request, via the network interface from an object storage that stores objects that back a file system, a first listing of namespace object keys that each begins with a first object key by setting a list parameter as a root inode object key, wherein the object storage stores inode metadata of the file system as inode objects and hierarchical namespace encoding of the file system as namespace objects according to a flat namespace; update a structure based, at least in part, on the namespace object keys in the first listing, wherein the structure indicates a namespace hierarchy for the file system; for each of the namespace object keys in the first listing, retrieve from the object storage a namespace object identified by the first object key; determine a second object key from the namespace object identified by the first object key; set the list parameter to the second object key; and traverse the namespace hierarchy, including requesting from the object storage a second listing of namespace object keys that each begins with the second object key; construct the namespace hierarchy, including updating the structure based, at least in part, on the namespace object keys in the second listing; and supply the structure for presentation of the namespace hierarchy. 17. The apparatus

Assignees

Inventors

Classifications

  • G06F16/192Primary

    Implementing virtual folder structures · CPC title

  • G06F16/22Primary

    Indexing; Data structures therefor; Storage structures · CPC title

  • Transactional file systems · CPC title

  • File meta data generation · 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 US11334540B2 cover?
To leverage the attributes of object storage for applications/systems created to interface with a network files system, an object storage backed file system can accept the defined file system commands from the applications/systems and transform the file system commands into requests that target object storage. The file system is “backed” by object storage because attributes and content of file …
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/192. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 17 2022 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).