Application Snapshot System with Local-Remote Storage Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data recovery systems face challenges such as high storage costs, inefficiency in local recovery methods, and increased latency in remote recovery systems, which make them either costly or vulnerable to data loss and user lag.
Innovation Solution
A method that takes snapshots of application data on a computing device, leveraging local storage-class memory while utilizing remote storage, allowing for minimal performance impact by preconfiguring applications to record their state locally and remotely, and using background systems to identify consistency points for snapshot transfer without modifying the applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If applications periodically save their state to local storage device, then application performance and latency are reduced, but storage space becomes burdensome and cost prohibitive
Solution Approach 1:
The patent divides the storage system into two segments: local storage device for fast access and remote storage device for capacity. Application states are segmented into frequently accessed portions (stored locally) and less frequently accessed portions (stored remotely), resolving the contradiction between speed and storage quantity
Solution Approach 2:
The patent adds a spatial dimension to storage by introducing remote storage as a second location layer. Instead of expanding local storage capacity, the system moves data to a different spatial dimension (remote storage), maintaining local performance while reducing local storage burden
2Reliability
If applications save their state to remote storage device, then data recovery capability is improved, but application latency increases due to transmission time
Solution Approach 1:
The patent applies local quality by keeping frequently accessed application state portions on the local storage device while only remotely storing less frequently accessed portions. This ensures that critical performance-sensitive operations remain fast while still achieving data recovery capability
Solution Approach 2:
Instead of remotely storing the entire application state, the patent implements partial action by selectively storing only portions of the state that are less frequently accessed. This reduces the amount of data transmitted to remote storage, thereby minimizing latency impact while maintaining data recovery capability
3Reliability
If applications are modified to coordinate with remote data recovery method, then remote data recovery capability is achieved, but application complexity increases and modifications are time consuming
Solution Approach 1:
The patent introduces an intermediary component that manages the coordination between applications and remote storage. This intermediary handles the complexity of remote storage coordination, allowing applications to interact with a simplified interface while the intermediary manages the complex remote storage protocols and data synchronization
Solution Approach 2:
The patent creates a universal remote storage interface that can serve multiple applications with different requirements. Instead of modifying each application individually, the system provides a multi-functional remote storage service that handles various application state formats and access patterns through a common interface
Data Source
AI summary
Systems and methods herein obtain snapshots of one or more applications, while having minimal impact on performance of the applications. Embodiments may involve obtaining snapshots of modified application data within a node without disturbing the operations of the application. Systems may be configured to leverage the fast characteristics of local storage devices while utilizing the advantages provided by the remote storage of data. One or more applications may be preconfigured to record data modifications in one or more associated application state storages located on local memory. Further, one or more systems may operate in the background to identify modifications made to the associated application state storages and to determine an appropriate moment to take one or more snapshots of the stored data and transfer the one or more snapshots to one or more remote locations to be stored. Several factors may be used to determine when an appropriate moment has occurred.


