Reversible Data Deletion in Collaborative Development Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems perform garbage collection by removing unused data, but this process is irreversible, leading to a need for methods and systems that can both delete unused data and allow for its recovery.

Innovation Solution

The system identifies objects not linked to the root object in a data model, generates a fingerprint for deletion instructions, and uses a stack data structure to store reverse instructions for undoing deletions, enabling data recovery by transmitting specific instructions to user devices for deletion and restoration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection removes unused data from memory, then memory space is freed for needed operations, but the deleted data cannot be recovered by the end user

Engineering Contradiction:
Improvememory space availabilityVSAvoiddata recoverability
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The system performs preliminary actions by creating a reversible copy of the deletion operation. Before permanently removing data, the system stores reverse instructions in a stack data structure that contain all necessary information to restore the deleted object. This preliminary preparation enables data recovery while still allowing garbage collection to free memory space.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a discard and recover mechanism where deleted objects are not immediately and permanently removed. Instead, the system discards the original data references while retaining the capability to recover them through stored reverse instructions. When a user requests recovery, the system executes these reverse instructions to restore the deleted data, thus enabling both memory management and data recovery.

Inventive Principle:
Principle #34Discarding and recovering

2Loss of information

If the system stores reverse instructions for every deletion to enable recovery, then data can be recovered, but system complexity increases

Engineering Contradiction:
Improvedata recoverabilityVSAvoidsystem structure
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system creates a simplified copy of the deletion operation in the form of reverse instructions stored in a stack. Instead of maintaining complex undo mechanisms, the system copies the essential information needed for recovery (fingerprint, reverse operation details) into a simple stack data structure. This copying approach enables data recovery while keeping the system structure relatively simple and manageable.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If the system transmits deletion instructions to multiple user devices, then data consistency is maintained across devices, but network communication overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork communication
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system transmits copies of deletion and reverse instructions to multiple user devices to maintain data consistency across the collaborative environment. Each device receives and stores these instructions locally, enabling independent execution and recovery operations without requiring constant network communication. This copying approach ensures consistency while reducing ongoing network overhead.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9336137B2System and method for performing data management in a collaborative development environment
Publication Date: 2016.05.10 GOOGLE LLC
  • US9336137B2 patent drawing
  • US9336137B2 patent drawing
  • US9336137B2 patent drawing

AI summary

An object that is not linked to a root object of a data model is identified. A first instruction comprising a fingerprint and a request to delete the object from memory is transmitted to a plurality of user devices. A second instruction to undo the first instruction is received from one of the plurality of user devices, and, in response to the second instruction, a third instruction comprising the fingerprint and a request to execute and delete any instruction that includes the fingerprint is transmitted to the plurality of user devices.