Patent classifications
G06F16/182
Tiered backup archival in multi-tenant cloud computing system
A system and method for backing up workloads for multiple tenants of a cloud computing system are disclosed. A method of backing up workloads for multiple tenants of a computing system includes triggering an archival process according to an archival policy set by a tenant, and executing the archival process by reading backup data of the tenant stored in a backup storage device of the computer system and transmitting the backup data to an archival store designated in the archival policy, and then deleting or invalidating the backup data stored in the backup storage device.
Proof-of-approval distributed ledger
A method and system for determining whether a consensus has been achieved for adding a block to a distributed ledger. The system receives a candidate block to add to the distributed ledger and receives block approvals of approving participants for the candidate block. The system calculates a total block approval stake that the approving participants have in the distributed ledger. The system identifies a total stake that participants have in the distributed ledger. When the total block approval stake is at least a threshold fraction of the total skate, the system indicates that the consensus has been achieved for adding the candidate block to the distributed ledger.
Systems and methods for uploading streamed objects to a cloud storage system
Methods in a cloud object store facilitate strong data encryption, customer-management of object (encryption) keys, reductions in latency, globally-distributed object storage, and handling of streamed uploads. A method for encrypting objects stored in a cloud includes encrypting each object with a unique encryption (object) key. The plaintext object keys are generated in advance of uploads. The plaintext object keys can be stored in an object database in the cloud. Alternatively, the plaintext object keys can be provided to a customer's HSM, encrypted, and returned to the cloud, such that encrypted object keys, encrypted by the customer, are stored in the cloud. The cloud can alternatively encrypt the customer's object keys with a master key for the customer, which is then encrypted by the customer's HSM before being stored in the cloud. Proxies are also deployed for efficiently communicating with customer security modules.
Systems and methods for uploading streamed objects to a cloud storage system
Methods in a cloud object store facilitate strong data encryption, customer-management of object (encryption) keys, reductions in latency, globally-distributed object storage, and handling of streamed uploads. A method for encrypting objects stored in a cloud includes encrypting each object with a unique encryption (object) key. The plaintext object keys are generated in advance of uploads. The plaintext object keys can be stored in an object database in the cloud. Alternatively, the plaintext object keys can be provided to a customer's HSM, encrypted, and returned to the cloud, such that encrypted object keys, encrypted by the customer, are stored in the cloud. The cloud can alternatively encrypt the customer's object keys with a master key for the customer, which is then encrypted by the customer's HSM before being stored in the cloud. Proxies are also deployed for efficiently communicating with customer security modules.
Methods and apparatuses for generating redo records for cloud-based database
Methods and apparatuses in a cloud-based database management system are described. Data in a database are stored in a plurality of pages in a page store of the database. A plurality of redo log records are received to be applied to the database. The redo log records within a predefined boundary are parsed to determine, for each given redo log record, a corresponding page to which the given log record is to be applied. The redo log records are reordered by corresponding page. The reordered redo log records are stored to be applied to the page store of the database.
Methods and apparatuses for generating redo records for cloud-based database
Methods and apparatuses in a cloud-based database management system are described. Data in a database are stored in a plurality of pages in a page store of the database. A plurality of redo log records are received to be applied to the database. The redo log records within a predefined boundary are parsed to determine, for each given redo log record, a corresponding page to which the given log record is to be applied. The redo log records are reordered by corresponding page. The reordered redo log records are stored to be applied to the page store of the database.
Systems and methods of providing fault-tolerant file access
Technologies are provided to ensure integrity of erasure coded data that is subject to read and write access from distributed processes. Multiple processes that access erasure coded data can be coordinated in an efficient, scalable and fault-tolerant manner so that integrity of the original data is maintained. The Technologies include a fault-tolerant access coordination protocol that ensures exclusive write access by a client. The coordination protocol achieves scalability by not relying on centralized components, and achieves efficiency and performance by piggy-packing access coordination messages on operations of the underlying erasure coding protocol.
File sharing system and method
A file sharing system and methods therefor share one or more files without requiring the files be sent to or stored on a server. The file sharing system enables files to be shared from a user device allowing users to maintain control of the files by storing and sharing files off the cloud. Sharing and file access is typically effectuated via a server and one or more links provided by the server. File access is limited to selected file access types.
Method and system for expanding storage capacity using cloud storage systems
In some embodiments, a computer system may buffer, in a local storage buffer, data to be stored at the cloud and upload the data to the cloud storage from the local storage buffer. Upon receipt of an acknowledgement, from the cloud storage, that the data was successfully uploaded, the computer system may delete the data from the local storage buffer. The computer system may provide a ghost file representation of the uploaded data through the computer system, through which the data uploaded to the cloud storage may be accessed. In some embodiments, the computer system may access multiple cloud storage accounts, each corresponding to a file folder on the computer system, allowing the user to easily access different cloud storage accounts. The computer system may recover data that was deleted from either local persistent storage or the cloud storage.
Method and system for expanding storage capacity using cloud storage systems
In some embodiments, a computer system may buffer, in a local storage buffer, data to be stored at the cloud and upload the data to the cloud storage from the local storage buffer. Upon receipt of an acknowledgement, from the cloud storage, that the data was successfully uploaded, the computer system may delete the data from the local storage buffer. The computer system may provide a ghost file representation of the uploaded data through the computer system, through which the data uploaded to the cloud storage may be accessed. In some embodiments, the computer system may access multiple cloud storage accounts, each corresponding to a file folder on the computer system, allowing the user to easily access different cloud storage accounts. The computer system may recover data that was deleted from either local persistent storage or the cloud storage.