Bucket Snapshot Restore With Instant Client-Consistent Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional object storage products do not provide native support for bucket-level snapshots, placing the burden of backup and data recovery on the client, and existing snapshot restoration methods are not instantaneous or capable of recovering deleted object versions.
Innovation Solution
A storage system maintains a bucket with multiple object versions and creates snapshots of the bucket by adding a snapshot identifier and time indicator to a metafile, allowing for instantaneous and consistent restoration by redirecting object accesses to snapshot content and restoring previous versions on-demand.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional object storage products use client-side backup and recovery, then device complexity is reduced, but restoration speed and consistency are poor
Solution Approach 1:
The storage system creates snapshots of buckets at any point in time, preserving the state of all objects (including deleted versions) before restoration is needed. This preliminary action enables fast restoration by simply redirecting client requests to the snapshot rather than reconstructing data from scratch.
Solution Approach 2:
The patent introduces an intermediary mechanism where the storage system intercepts and redirects client read requests during restoration. Instead of clients traversing all objects to reconstruct data, the system redirects reads to the snapshot, making restoration appear instantaneous from the client perspective.
2Reliability
If traditional methods restore snapshots by traversing all objects, then data consistency is maintained, but restoration time increases significantly
Solution Approach 1:
The system creates a snapshot that copies the state of all objects at a specific point in time, including deleted versions. This snapshot acts as a frozen copy that can be restored instantly without traversing or reconstructing individual objects, maintaining data consistency while eliminating restoration time.
Solution Approach 2:
By creating snapshots in advance that capture the complete state of buckets (including deleted objects), the system performs the time-consuming consistency capture work before restoration is needed. This preliminary action eliminates the need for slow real-time traversal during restoration.
3Quantity of substance
If object versions are deleted to save space, then storage efficiency improves, but recovery capability deteriorates
Solution Approach 1:
The system creates snapshots that capture deleted object versions before they are permanently removed. This preliminary action preserves recovery capability by maintaining references to deleted versions in the snapshot, allowing restoration even after the versions have been deleted from active storage.
Solution Approach 2:
The snapshot acts as an intermediary that preserves deleted object versions. Instead of deleted versions disappearing completely, the snapshot intermediates their preservation, allowing clients to access and restore these versions even though they no longer exist in the bucket's active object list.
Data Source
AI summary
Systems and methods for performing an instant and immediately consistent snapshot restore from a client perspective are provided. In one example, a storage system, may restore a previous version of one or more objects to a bucket based on a snapshot of the bucket by performing a background restore process. During the background restore process, the restoration of the previous version of the one or more objects is made to appear instant to a client. For example, during the background restore process, object accesses by the client associated with a read-only operation may be redirected to content of the snapshot. Additionally or alternatively, during the background restore process, prior to acting on a request from the client involving an object-modifying operation relating to a particular object of the one or more objects, the previous version of the particular object may be restored on-demand.


