Compressed Application State Replay for Granular Memory Checkpoints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management techniques in computer architectures fail to leverage hardware resources efficiently for memory compression, leading to a lack of widespread adoption, and existing save states in applications like video games are non-standardized and lack granular replay capabilities.
Innovation Solution
Retain compressed application states in mass storage to allow for application replay, using parallel processing to compress and decompress memory pages, and synchronize memory swapping with compression to optimize resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory compression is implemented using existing memory management techniques, then memory storage efficiency is improved, but hardware resource utilization remains inefficient leading to lack of widespread adoption
Solution Approach 1:
The patent introduces a mass storage device as an intermediary component to store compressed application states. This mediator enables efficient memory management by offloading compressed data from main memory to mass storage, allowing rapid replay without burdening hardware resources during normal operation. The mass storage acts as a buffer that decouples compression operations from active memory management.
Solution Approach 2:
The system performs memory compression in advance and stores the compressed application states in mass storage before they are needed for replay. This preliminary compression action eliminates the need for real-time compression during application execution, improving hardware resource utilization while maintaining high storage efficiency.
2Adaptability or versatility
If traditional save states are used in applications like video games, then application state can be saved, but the save files are non-standardized and lack granular replay capabilities
Solution Approach 1:
The patent creates a universal standardized format for compressed application states that can be used across different applications and operating systems. This standardized format enables granular replay capabilities while maintaining ease of implementation through consistent data structures and compression algorithms that work universally across different software environments.
Solution Approach 2:
The system segments application memory into discrete pages and compresses them individually, allowing for granular replay capabilities. This segmentation enables selective restoration of specific memory regions rather than requiring complete save files, providing finer control over application replay while maintaining standardized compression procedures.
3Adaptability or versatility
If memory pages are swapped between physical memory and non-volatile memory, then memory management flexibility is improved, but the swapping process is time-consuming and reduces processing speed
Solution Approach 1:
The patent implements periodic compression of application states at designated checkpoints rather than continuous compression during memory swapping. This periodic action reduces the frequency of compression operations, maintaining memory management flexibility while minimizing the speed penalty associated with compression and decompression operations.
Solution Approach 2:
The system creates compressed copies of application states and stores them in mass storage, while the original uncompressed data remains in physical memory for active processing. This copying approach enables rapid replay from compressed copies without requiring time-consuming compression operations during normal memory swapping activities.
Data Source
AI summary
Application state data from a main memory may be compressed and the compressed data may be written to a first location in a mass storage. Updated application state data is generated, and the updated application state data is compressed from the main memory. The updated application state data is then written to a second location in the mass storage. Processing may then be paused on the application state data and updated application state data. The compressed application state data and compressed updated application state data stored in the mass storage is scanned and information corresponding to compressed application state data and updated compressed application state data stored in the mass storage is displayed using information from the scanned compressed application state data and compressed updated application state data.


