Application State Compression for Frequent Replay Save Points
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management techniques in computer systems lack efficient methods for compressing and retaining application state data in mass storage, limiting the ability to implement application replay and save states, which are crucial for functionalities like game saves, simulator restarts, and program debugging.
Innovation Solution
Compressing application state data in main memory pages and retaining them in mass storage allows for application replay by copying and compressing application state data at predetermined intervals, using parallel processing to manage memory swapping and compression, and employing various compression algorithms to optimize storage efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If application state data is stored uncompressed in main memory, then access speed is fast, but storage capacity is limited and cannot support frequent save points
Solution Approach 1:
The patent applies compression algorithms to change the physical state of application state data from uncompressed to compressed form, enabling more data to be stored in the same mass storage capacity. The system dynamically selects between different compression algorithms based on data characteristics, optimizing both storage efficiency and decompression speed.
Solution Approach 2:
The patent introduces a memory management system that acts as an intermediary between main memory and mass storage. This intermediary layer handles compression and decompression operations, allowing uncompressed data to reside in main memory for fast access while compressed data is stored in mass storage, thus resolving the contradiction between storage capacity and access speed.
2Quantity of substance
If compression algorithms are applied to application state data, then storage efficiency improves, but processing time increases
Solution Approach 1:
The patent performs compression of application state data in advance during periods when the application is not actively running or during idle processing cycles. This preliminary compression action ensures that when replay or save operations are needed, the data is already prepared in compressed form, minimizing the time loss during actual use.
Solution Approach 2:
The system dynamically adjusts compression levels and algorithm selection based on current system conditions, data characteristics, and user preferences. This dynamic approach allows the system to optimize the balance between storage efficiency and processing time in real-time, rather than using a fixed compression strategy.
3Quantity of substance
If mass storage is used for application state data, then storage capacity increases, but access speed decreases compared to main memory
Solution Approach 1:
The patent segments application state data into different portions: frequently accessed data remains in main memory for fast access, while less frequently accessed data is stored in mass storage in compressed form. The system intelligently manages this segmentation, moving data between memory and storage based on access patterns, thus resolving the speed-capacity contradiction.
4Adaptability or versatility
If frequent save points are implemented, then application replay capability improves, but storage resource consumption increases
Solution Approach 1:
The patent uses compression algorithms to change the size parameter of saved application state data, enabling frequent save points to be implemented without proportionally increasing storage resource consumption. By compressing each save state, the system can maintain multiple save points within available storage capacity.
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.


