Hybrid cloud methods, apparatus and systems for secure file sharing and synchronization with backup and server virtualization
US-2018159929-A1 · Jun 7, 2018 · US
US11442898B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11442898-B2 |
| Application number | US-202016822406-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 18, 2020 |
| Priority date | Jan 6, 2017 |
| Publication date | Sep 13, 2022 |
| Grant date | Sep 13, 2022 |
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 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.
Opening claim text (preview).
What is claimed: 1. A method comprising: receiving, via a block storage system, a first set of one or more requests to perform a first transaction with respect to a file; storing, via the block storage system, data blocks and corresponding metadata in one or more storage devices of the block storage 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, where the set of cloud storage objects comprises data of the data blocks and the corresponding metadata of the tree hierarchy, and the causing storage comprises causing 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, 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; receiving, via the block storage system, a third set of one or more requests to perform a second transaction with respect to the file; converting at least one I/O request, corresponding to the third set of one or more requests, into an object interface request; and transferring 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 as recited in claim 1 , wherein the causing the communication of the second set of one or more requests to the cloud object store comprises: transferring a fourth set of one or more requests to a cloud daemon; 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 as recited in claim 1 , further comprising: converting a plurality of requests that are compliant with Portable Operating System Interface (POSIX) into a plurality of object interface requests to perform operations with respect to the cloud-based instantiation of the tree hierarchy stored in the cloud object store, where the plurality of requests comprises the at least one I/O request and the plurality of object interface requests comprises the object interface request. 4. The method as recited in claim 1 , further comprising: translating 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, where the transferring the object interface request comprises communicating 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. 5. The method as recited in claim 4 , 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. 6. The method as recited in claim 5 , 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. 7. 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; storing data blocks and corresponding metadata in one or more storage devices of a block storage 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, where the set of cloud storage objects comprises data of the data blocks and the corresponding metadata of the tree hierarchy, and the causing storage comprises causing 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, 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; processing a third set of one or more requests to perform a second transaction with respect to the file; converting at least one I/O request, corresponding to the third set of one or more requests, into an object interface request; and transferring 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. 8. The system as recited in claim 7 , wherein the causing the communication of the second set of one or more requests to the cloud object store comprises: transferring a fourth set of one or more requests to a cloud daemon; 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. 9. The system as recited in claim 8 , the one or more processors further to facilitate: converting a plurality of requests that are compliant with Portable Operating System Interface (POSIX) into a plurality of object interface requests to perform operations with respect to the cloud-based instantiation of the tree hierarchy stored in the cloud object store, where the plurality of requests comprises the at least one I/O request and the plurality of object interface requests comprises the object interface request. 10. The system as recited in claim 7 , the one or more processors further to facilitate: translating 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, where the transferring the object interface request comprises communicating 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. 11. The system as recited in claim 10 , 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. 12. The system as recited in claim 11 , 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
Providing cryptographic facilities or services · CPC title
Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction · CPC title
Management of files · CPC title
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
Trees · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.