Einige Inhalte dieser Anwendung sind momentan nicht verfügbar.
Wenn diese Situation weiterhin besteht, kontaktieren Sie uns bitte unterFeedback&Kontakt
1. (WO2018128850) COMPRESSION AND SECURE, END-TO-END ENCRYPTED, ZFS CLOUD STORAGE
Anmerkung: Text basiert auf automatischer optischer Zeichenerkennung (OCR). Verwenden Sie bitte aus rechtlichen Gründen die PDF-Version.

WHAT IS CLAIMED:

1. A method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system, the method comprising:

receiving, at an application layer of the ZFS system and through a system call interface of an interface layer of the ZFS system, a first request to store or modify a file, the first request including file data;

generating, at a transactional object layer of the ZFS system, a plurality of data blocks, each data block of the plurality of data blocks corresponding to at least a portion of the file data;

receiving, at the application layer of the ZFS system and through the system call interface of the interface layer of the ZFS system, one or more communications that identify one or more transformation actions to perform on the plurality of data blocks, the one or more transformation actions including one or more of:

a compression type to compress each data block of the plurality of data blocks by; and

an encryption type to encrypt each data block of the plurality of data blocks, wherein an encryption key associated with the encryption type is retrieved locally from the ZFS system;

transforming each data block of the plurality of data blocks to form a plurality of transformed blocks by performing the one or more transformation actions on each data block of the plurality of data blocks;

generating, at the transactional object layer of the ZFS system, a plurality of metadata blocks corresponding to the plurality of transformed blocks, the plurality of metadata blocks being configured to hierarchically point to lower-level blocks associated with the file and thereby correspond to at least part of a tree hierarchy for the file, wherein:

each metadata block of the plurality of metadata blocks includes one or more address pointers, each address pointer of the one or more address pointers being pointed to a transformed block of the plurality of transformed blocks or to a metadata block of the plurality of metadata blocks;

each transformed block of the plurality of transformed blocks being pointed to by at least one metadata block of the plurality of metadata blocks;

the plurality of metadata blocks includes a root block that is positioned at a top of the tree hierarchy for the file and one or more non-root metadata blocks; and each non-root metadata block of the plurality of metadata blocks being pointed to by at least one metadata block of the plurality of metadata blocks of the tree hierarchy of the file;

causing a set of cloud storage objects to be stored in the cloud object store by transmitting the plurality of transformed blocks and the plurality of metadata blocks to a hybrid cloud storage system, the hybrid cloud storage system managing data storage in the cloud object store;

transmitting, to the hybrid cloud storage system, one or more second requests for a set of addresses, each address of the set of addresses corresponding to a transformed block of the plurality of transformed blocks or a metadata block of the plurality of metadata blocks; and receiving, from the hybrid cloud storage system, one or more responses to the one or more second requests, each response of the one or more responses identifying an address corresponding to a transformed block of the plurality of transformed blocks or a metadata block of the plurality of metadata blocks, the address identifying a storage location in the cloud object store.

2. The method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 1, wherein the compression type includes one of: LZ4, LZJB, GZIP, and ZLE.

3. The method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 1, wherein the encryption type includes AES with key lengths including 128, 192, and 256.

4. The method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 1, wherein the encryption key is randomly generated.

5. The method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 1, wherein a wrapping key is used to decrypt the encryption key.

6. The method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 5, wherein a wrapping key is a stored passphrase or an AES key.

7. The method of transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 1, wherein a compression ratio is 2 to 1.

8. One or more non -transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system, the computer process comprising:

receiving, at an application layer of the ZFS system and through a system call interface of an interface layer of the ZFS system, a first request to store or modify a file, the first request including file data;

generating, at a transactional object layer of the ZFS system, a plurality of data blocks, each data block of the plurality of data blocks corresponding to at least a portion of the file data;

receiving, at the application layer of the ZFS system and through the system call interface of the interface layer of the ZFS system, one or more communications that identify one or more transformation actions to perform on the plurality of data blocks, the one or more transformation actions including one or more of:

a compression type to compress each data block of the plurality of data blocks by; and

an encryption type to encrypt each data block of the plurality of data blocks, wherein an encryption key associated with the encryption type is retrieved locally from the ZFS system; and

transforming each data block of the plurality of data blocks to form a plurality of transformed blocks by performing the one or more transformation actions on each data block of the plurality of data blocks; and

generating, at the transactional object layer of the ZFS system, a plurality of metadata blocks corresponding to the plurality of transformed blocks, the plurality of metadata blocks being configured to hierarchically point to lower-level blocks associated with the file and thereby correspond to at least part of a tree hierarchy for the file, wherein:

each metadata block of the plurality of metadata blocks includes one or more address pointers, each address pointer of the one or more address pointers being pointed to a transformed block of the plurality of transformed blocks or to a metadata block of the plurality of metadata blocks;

each transformed block of the plurality of transformed blocks being pointed to by at least one metadata block of the plurality of metadata blocks;

the plurality of metadata blocks includes a root block that is positioned at a top of the tree hierarchy for the file and one or more non-root metadata blocks; and each non-root metadata block of the plurality of metadata blocks being pointed to by at least one metadata block of the plurality of metadata blocks of the tree hierarchy of the file;

causing a set of cloud storage objects to be stored in the cloud object store by transmitting the plurality of transformed blocks and the plurality of metadata blocks to a hybrid cloud storage system, the hybrid cloud storage system managing data storage in the cloud object store;

transmitting, to the hybrid cloud storage system, one or more second requests for a set of addresses, each address of the set of addresses corresponding to a transformed block of the plurality of transformed blocks or a metadata block of the plurality of metadata blocks; and receiving, from the hybrid cloud storage system, one or more responses to the one or more second requests, each response of the one or more responses identifying an address corresponding to a transformed block of the plurality of transformed blocks or a metadata block of the plurality of metadata blocks, the address identifying a storage location in the cloud object store.

9. The one or more non-transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system of Claim 8, wherein the compression type includes one of: LZ4, LZJB, GZIP, and ZLE.

10. The one or more non-transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system of Claim 8, wherein the encryption type includes AES with key lengths including 128, 192, and 256.

11. The one or more non-transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system of Claim 8, wherein the encryption key is randomly generated.

12. The one or more non-transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system of Claim 8, wherein a wrapping key is used to decrypt the encryption key.

13. The one or more non-transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system of Claim 12, wherein a wrapping key is a stored passphrase or an AES key.

14. The one or more non-transitory tangible computer-readable storage media storing computer-executable instructions for performing a computer process for transforming ZFS blocks on a cloud object store that is remote from a ZFS system on a computing system of Claim 8, wherein a compression ratio is 2 to 1.

15. A processor-based system for transforming ZFS blocks on a cloud object store that is remote from a ZFS system, the processor-based system performing operations including:

receiving, at an application layer of the ZFS system and through a system call interface of an interface layer of the ZFS system, a first request to store or modify a file, the first request including file data;

generating, at a transactional object layer of the ZFS system, a plurality of data blocks, each data block of the plurality of data blocks corresponding to at least a portion of the file data;

receiving, at the application layer of the ZFS system and through the system call interface of the interface layer of the ZFS system, one or more communications that identify one or more transformation actions to perform on the plurality of data blocks, the one or more transformation actions including one or more of:

a compression type to compress each data block of the plurality of data blocks by; and

an encryption type to encrypt each data block of the plurality of data blocks, wherein an encryption key associated with the encryption type is retrieved locally from the ZFS system; and

transforming each data block of the plurality of data blocks to form a plurality of transformed blocks by performing the one or more transformation actions on each data block of the plurality of data blocks;

generating, at the transactional object layer of the ZFS system, a plurality of metadata blocks corresponding to the plurality of transformed blocks, the plurality of metadata blocks being configured to hierarchically point to lower-level blocks associated with the file and thereby correspond to at least part of a tree hierarchy for the file, wherein:

each metadata block of the plurality of metadata blocks includes one or more address pointers, each address pointer of the one or more address pointers being pointed to a transformed block of the plurality of transformed blocks or to a metadata block of the plurality of metadata blocks;

each transformed block of the plurality of transformed blocks being pointed to by at least one metadata block of the plurality of metadata blocks;

the plurality of metadata blocks includes a root block that is positioned at a top of the tree hierarchy for the file and one or more non-root metadata blocks; and each non-root metadata block of the plurality of metadata blocks being pointed to by at least one metadata block of the plurality of metadata blocks of the tree hierarchy of the file;

causing a set of cloud storage objects to be stored in the cloud object store by transmitting the plurality of transformed blocks and the plurality of metadata blocks to a hybrid cloud storage system, the hybrid cloud storage system managing data storage in the cloud object store;

transmitting, to the hybrid cloud storage system, one or more second requests for a set of addresses, each address of the set of addresses corresponding to a transformed block of the plurality of transformed blocks or a metadata block of the plurality of metadata blocks; and receiving, from the hybrid cloud storage system, one or more responses to the one or more second requests, each response of the one or more responses identifying an address corresponding to a transformed block of the plurality of transformed blocks or a metadata block of the plurality of metadata blocks, the address identifying a storage location in the cloud object store.

16. The processor-based system for transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 15, wherein the compression type includes one of: LZ4, LZJB, GZIP, and ZLE.

17. The processor-based system for transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 15, wherein the encryption type includes AES with key lengths including 128, 192, and 256.

18. The processor-based system for transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 15, wherein the encryption key is randomly generated.

19. The processor-based system for transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 15, wherein a wrapping key is used to decrypt the encryption key.

20. The processor-based system for transforming ZFS blocks on a cloud object store that is remote from a ZFS system of Claim 19, wherein a wrapping key is a stored passphrase or an AES key.