Blended Operational Transformation for Collaborative Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-user collaborative software applications face challenges in implementing operational transformation (OT) due to its complexity and requirement for full system implementation, which limits its use in situations where partial or less sophisticated concurrency methods are needed.

Innovation Solution

The introduction of 'blended operational transformations' that allow for a gradual degradation from full OT to less sophisticated concurrency methods, enabling incremental improvements and accommodating different types of edits by using full OT for well-understood operations, opaque representations for difficult edits, and binary-synchronization for opaque changes, thereby allowing OT to be used in situations where it cannot be implemented throughout a system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full operational transformation is implemented throughout the system, then synchronization performance and concurrency control are improved, but implementation complexity and time consumption increase significantly

Engineering Contradiction:
Improvesynchronization performanceVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the collaborative application into multiple zones or regions, each with its own synchronization strategy. Full OT is applied only to specific zones where it is most beneficial, while other zones use simpler synchronization methods. This segmentation allows the system to achieve good synchronization performance in critical areas without the overhead of implementing full OT system-wide.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different synchronization strategies are applied to different parts of the system based on local requirements. The patent allows developers to specify which regions should use full OT and which can use simpler methods like file locking or periodic synchronization. This local quality approach optimizes the balance between synchronization performance and implementation complexity by matching the synchronization strategy to the specific needs of each system region.

Inventive Principle:
Principle #3Local quality

2Productivity

If full operational transformation is implemented throughout the system, then fine-grained concurrency control is achieved, but the system becomes difficult to implement and maintain

Engineering Contradiction:
Improvefine-grained concurrencyVSAvoidease of implementation
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent implements OT partially rather than fully across the entire system. Developers can choose to apply full OT only to specific operations or data regions where fine-grained concurrency is most valuable, while using simpler synchronization mechanisms for other parts. This partial action approach maintains the productivity benefits of fine-grained concurrency in critical areas while significantly reducing implementation and maintenance complexity.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of manufacture

If less sophisticated concurrency methods like file locking are used, then implementation is easier, but synchronization performance and functionality are reduced

Engineering Contradiction:
Improveease of implementationVSAvoidsynchronization performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent merges multiple synchronization strategies into a unified hybrid approach. Simple methods like file locking are combined with full OT in a coordinated manner, allowing the system to leverage the ease of implementation of simple methods while compensating for their performance limitations through selective use of full OT in critical synchronization points. This merging creates a balanced solution that achieves both ease of implementation and acceptable synchronization performance.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10880372B2Blended operational transformation for multi-user collaborative applications
Publication Date: 2020.12.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10880372B2 patent drawing
  • US10880372B2 patent drawing
  • US10880372B2 patent drawing

AI summary

Multi-user collaborative software applications may synchronize data between multiple users or multiple devices. There are multiple existing ways to synchronize data. Some of these synchronization methods, such as file locking, are easy to implement but have performance or functionality drawbacks. Operational transformation (OT) is a high performance synchronization method, but difficult and time-consuming to implement in many cases, and cannot be partially implemented throughout a system. Methods and systems provide for blending operational transformation with other synchronization methods in the same collaborative software application, allowing operational transformation to be used in situations where it cannot be implemented throughout a system.