Unified Undo Stack Synchronizes Document Views

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Web page development environments, the differing document architectures of multiple views lead to inconsistent undo stack behaviors, causing confusion and unnecessary resource consumption due to superfluous change notifications, as each view maintains separate undo stacks that do not correspond to the actual changes in other views.

Innovation Solution

A unified undo stack is introduced that synchronizes undo operations across different document views by creating a global undo unit accessible to all views, allowing each view to insert its undo operations into this stack, ensuring consistent undo operations across views and reducing redundant notifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each view maintains separate undo stacks, then each view can independently manage its undo operations, but undo stack behaviors become inconsistent and confusing across different views

Engineering Contradiction:
Improveview independenceVSAvoidundo operation consistency
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent merges separate undo stacks from multiple views into a single shared undo stack. This allows undo operations to be consistently managed across all views while maintaining the ability to perform undo operations from any view. The unified stack ensures that undo behaviors are consistent regardless of which view is active, resolving the contradiction between view independence and undo consistency.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If each view maintains separate undo stacks, then each view can have its own undo architecture, but computer system resources are unnecessarily consumed due to superfluous change notifications

Engineering Contradiction:
Improveview-specific document architectureVSAvoidcomputer system resource consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

By consolidating multiple view-specific undo stacks into a single shared undo stack, the system eliminates redundant storage and processing. Change notifications are no longer propagated to multiple separate stacks, reducing the computational overhead and resource consumption associated with maintaining and synchronizing multiple independent undo mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared undo stack serves as a universal data structure that supports multiple views with different document architectures. Instead of requiring separate undo infrastructure for each view, the single stack provides undo functionality for all views, reducing overall system resource requirements while maintaining view-specific capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If a unified undo stack is introduced, then undo operations become consistent across views and resource consumption is reduced, but the complexity of managing different document architectures increases

Engineering Contradiction:
Improveundo operation consistencyVSAvoiddocument architecture management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer between the shared undo stack and multiple views with different document architectures. This intermediary handles the conversion and adaptation of undo operations to accommodate various document architectures, allowing the unified stack to maintain consistency while managing the complexity of different view requirements through a standardized interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7707191B2Synchronizing undo/redo operations between different document views
Publication Date: 2010.04.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7707191B2 patent drawing
  • US7707191B2 patent drawing
  • US7707191B2 patent drawing

AI summary

The present invention extends to methods, systems, and computer program products for synchronizing undo/redo operations between different document views. A unified undo stack uniformly stores undo operations and information for multiple views of a document. When a change in first view is detected, the first view submits an undo unit for storage in a global undo unit in the unified undo stack. A second view is notified of the detected change in the first view. In response, the second view submits an undo unit for storage in the global undo unit. Accordingly, undo information for both views is stored together at the unified undo stack. When an undo command is receive from either view, appropriate undo units for each view are applied to each view respectively.