File system hierarchies and functionality with cloud object storage

US10642878B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10642878-B2
Application numberUS-201715610349-A
CountryUS
Kind codeB2
Filing dateMay 31, 2017
Priority dateJan 6, 2017
Publication dateMay 5, 2020
Grant dateMay 5, 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.

Techniques described herein relate to systems and methods of data storage, and more particularly to providing layering of file system functionality on an object interface. In certain embodiments, file system functionality may be layered on cloud object interfaces to provide cloud-based storage while allowing for functionality expected from a legacy applications. For instance, POSIX interfaces and semantics may be layered on cloud-based storage, while providing access to data in a manner consistent with file-based access with data organization in name hierarchies. Various embodiments also may provide for memory mapping of data so that memory map changes are reflected in persistent storage while ensuring consistency between memory map changes and writes. For example, by transforming a ZFS file system disk-based storage into ZFS cloud-based storage, the ZFS file system gains the elastic nature of cloud storage.

First claim

Opening claim text (preview).

What is claimed: 1. A method of layering functionality of a Z File System (ZFS) system on a cloud object store that is remote from the ZFS system, the method comprising: receiving, from an application layer of the ZFS system and through a system call interface of an interface layer of the ZFS system, a first set of one or more requests to perform a first transaction with respect to a file; storing, via one or more virtual devices of a plurality of virtual devices at a virtual device layer of the ZFS system, data blocks and corresponding metadata in a storage pool of storage devices of the ZFS system, wherein: the data blocks correspond to the file, and the data blocks and the corresponding metadata are stored separately as logical blocks according to a tree hierarchy; causing storage, in the cloud object store, of a set of cloud storage objects, the set of cloud storage objects comprising data of the data blocks and the corresponding metadata of the tree hierarchy; the causing storage comprising: creating, with at least one cloud interface device of the plurality of virtual devices, a mapping of each logical block in the tree hierarchy to a respective cloud storage object of the set of cloud storage objects in the cloud object store; and causing, by the at least one cloud interface device, communication of a second set of one or more requests to the cloud object store to specify storage of the set of cloud storage objects in the cloud object store so that the set of cloud storage objects preserves the data of the data blocks, the corresponding metadata, and relationships of the data blocks and the corresponding metadata according to the tree hierarchy; receiving, through the system call interface, a third set of one or more requests to perform a second transaction with respect to the file; converting, by the at least one cloud interface device, at least one I/O request, corresponding to the third set of one or more requests, into an object interface request; and transferring, by the at least one cloud interface device, the object interface request to cause communication with the cloud object store to perform at least one I/O operation with respect to at least a subset of the set of cloud storage objects. 2. The method of claim 1 , wherein the causing, by the at least one cloud interface device, the communication of the second set of one or more requests to the cloud object store comprises: transferring, by the at least one cloud interface device, a fourth set of one or more requests through the interface layer to a cloud daemon of the ZFS system; wherein, responsive to the fourth set of one or more requests, the cloud daemon communicates, via an object protocol over one or more networks, with the cloud object store to specify storage of the set of cloud storage objects. 3. The method of claim 1 , wherein the set of cloud storage objects is stored in the cloud object store to correspond to a cloud-based instantiation of the tree hierarchy. 4. The method of claim 3 , further comprising: converting requests compliant with Portable Operating System Interface (POSIX), from the application layer, into object interface requests to perform operations with respect to the cloud-based instantiation of the tree hierarchy stored in the cloud object store. 5. The method of claim 4 , further comprising: translating, by a data management unit of a transactional object layer of the ZFS system, the third set of one or more requests into the at least one I/O request to perform the at least one I/O operation; receiving, by the at least one cloud interface device, the at least one I/Of request; and the transferring the object interface request comprising: transferring, by the at least one cloud interface device, the object interface request through the interface layer to a cloud daemon; and responsive to the object interface request, communicating, by the cloud daemon via an object protocol over one or more networks, with the cloud object store to perform the at least one I/O operation with respect to at least the subset of the set of cloud storage objects. 6. The method of claim 5 , wherein the I/O operation corresponds to a write operation and is performed according to a copy-on-write process with respect to at least the subset of the set of cloud storage objects in the cloud object store. 7. The method of claim 6 , wherein the specifying the storage of the set of cloud storage objects in the cloud object store comprises: specifying a first object size to store a first subset of the set of cloud storage objects that are identified as being of a first data type; and specifying a second object size to store a second subset of the set of cloud storage objects that are identified as being of a second data type; wherein the first object size is different from the second object size, and the first data type is different from the second data type. 8. A system comprising: one or more processors communicatively coupled to memory, the one or more processors to facilitate: processing a first set of one or more requests to perform a first transaction with respect to a file, the first set of one or more requests received from an application layer of a Z File System (ZFS) system and through a system call interface of an interface layer of the ZFS system; storing, via one or more virtual devices of a plurality of virtual devices at a virtual device layer of the ZFS system, data blocks and corresponding metadata in a storage pool of storage devices of the ZFS system, wherein: the data blocks correspond to the file, and the data blocks and the corresponding metadata are stored separately as logical blocks according to a tree hierarchy; causing storage, in a cloud object store, of a set of cloud storage objects, the set of cloud storage objects comprising data of the data blocks and the corresponding metadata of the tree hierarchy; the causing storage comprising: creating, with at least one cloud interface device of the plurality of virtual devices, a mapping of each logical block in the tree hierarchy to a respective cloud storage object of the set of cloud storage objects in the cloud object store; and causing, by the at least one cloud interface device, communication of a second set of one or more requests to a cloud object store to specify storage of the set of cloud storage objects in the cloud object store so that the set of cloud storage objects preserves the data of the data blocks, the corresponding metadata, and relationships of the data blocks and the corresponding metadata according to the tree hierarchy; receiving, through the system call interface, a third set of one or more requests to perform a second transaction with respect to the file; converting, by the at least one cloud interface device, at least one I/O request, corresponding to the second set of one or more requests, into an object interface request; and transferring, by the at least one cloud interface device, the object interface request to cause communication with the cloud object store to perform at least one I/O operation with respect to at least a subset of the set of cloud storage objects. 9. The system of claim 8 , wherein the causing, by the at least one cloud interface device, the communication of the second set of one or more requests to the cloud object store comprises: transferring, by the at least one cloud interface device, a fourth set of one or more requests through the interface layer to a cloud daemon of the ZFS system; wherein, responsive to the fourth set of one or more requests, the cloud daemon communicates, via an object protocol over one or more networks, with the cloud object store to specify storage of the set of cloud storag

Assignees

Inventors

Classifications

  • Trees · CPC title

  • implemented as replicated file system · CPC title

  • with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list · CPC title

  • Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US10642878B2 cover?
Techniques described herein relate to systems and methods of data storage, and more particularly to providing layering of file system functionality on an object interface. In certain embodiments, file system functionality may be layered on cloud object interfaces to provide cloud-based storage while allowing for functionality expected from a legacy applications. For instance, POSIX interfaces a…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/067. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 05 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).