Persistent Undo Redo Indexing Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software applications lose records of user data changes when they exit or go offline, limiting the ability to perform persistent undo and redo operations across different states.

Innovation Solution

A method involving the use of a current index value, undo limit, redo limit, and increment/decrement values to save backup copies of user data, allowing for the restoration of previous states through persistent memory, enabling undo and redo operations regardless of the software application's state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional software applications store change records only in memory, then the software can operate quickly with easy access to change data, but the change records are lost when the application exits or the machine goes offline

Engineering Contradiction:
Improvepersistence of change recordsVSAvoiddata management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transitions change record storage from a single volatile memory dimension to a multi-dimensional storage architecture spanning volatile memory, persistent storage, and cloud-based repositories. This dimensional expansion ensures change records survive application exits and machine shutdowns while maintaining accessibility through indexed retrieval mechanisms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent segments change records into discrete versioned entries with individual metadata (timestamps, user identifiers, change descriptions). Each change record is treated as an independent unit that can be individually retrieved, restored, or deleted, enabling granular control over historical data without requiring complete data structure reconstruction.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the software application saves backup copies of user data with each change, then previous states can be restored through undo operations, but storage space is consumed and write operations increase

Engineering Contradiction:
Improveundo and redo functionalityVSAvoidwrite operations and storage usage
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent employs incremental change records and difference encoding techniques where only the minimal necessary data representing each change is stored. Rather than saving complete backup copies of user data, the system stores compact change descriptors that can be applied to reconstruct previous states, significantly reducing storage requirements and write operation overhead.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the fundamental parameter of what is being stored from complete data copies to change metadata and differential representations. By storing change type, affected elements, and transformation parameters rather than full data states, the system enables undo/redo functionality with minimal storage consumption and write energy expenditure.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the software maintains a detailed history of all changes for persistent undo and redo operations, then comprehensive recovery is possible, but the complexity of managing and retrieving these records increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidchange record management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent pre-structures change records with standardized metadata fields, version identifiers, and indexed keys at the time of each modification. This preliminary organization during the write operation eliminates the need for complex post-processing or data structure reconstruction during retrieval, simplifying the recovery process while maintaining comprehensive change history.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary change log layer between the application and persistent storage. This intermediary structure standardizes and simplifies change record formatting, indexing, and retrieval operations, reducing the complexity of managing detailed change histories while enabling comprehensive recovery through a unified access interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9268755B2Performing persistent undo and redo operation within computer software
Publication Date: 2016.02.23 BHIDE SHASHANK
  • US9268755B2 patent drawing
  • US9268755B2 patent drawing
  • US9268755B2 patent drawing

AI summary

A method and apparatus for managing persistent change operations on user data is disclosed. For each change, a record of the change is saved. An index tracks the current state of the user data. Changes can be undone or redone in a sequential manner if certain criteria are met. Variables pertaining to the changes are saved in a persistent storage, enabling an undo/redo history to be preserved if a program is exited and restarted.