State-Based Revision Records for Document Collaboration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Document collaboration systems face challenges in scaling logical complexity while maintaining rapid change propagation, as existing approaches either result in poor scaling or inadequate change propagation.

Innovation Solution

The implementation of state-based revisions in document collaboration systems, where a state-based revision record with a header and body section is created and transmitted, allowing for rapid change propagation by describing the type of object edited and its modified state, and enabling operational transforms for consistency maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If operational transformation is used to merge small custom records with changes from other clients, then rapid change propagation is achieved, but the system's logical complexity scales poorly with complex documents and voluminous operations

Engineering Contradiction:
Improvechange propagation speedVSAvoidsystem logical complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The document is segmented into discrete editable objects (text, images, tables, etc.), each with a unique identifier. Instead of tracking changes at the character or word level, the system segments changes into object-level operations, reducing the volume of operations that need to be transformed and propagated across clients.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary data structure called a state-based revision (SBR) record that acts as a mediator between local edits and remote propagation. The SBR record captures the before and after states of edited objects, allowing the system to propagate changes without requiring complex operational transformation logic for every individual operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If an entire new copy of the document is sent to a receiving client for change detection, then scaling of system logical complexity is achieved, but rapid change propagation is not provided

Engineering Contradiction:
Improvesystem logical complexity scalingVSAvoidchange propagation speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent extracts only the essential change information from the full document state by creating SBR records that contain only the header (object type, object ID, state description) and body (modified state) of edited objects. This extracted change data is then propagated to clients, eliminating the need to transmit or process entire document copies while maintaining the ability to handle complex documents.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If small custom records are merged through operational transformation, then rapid change propagation is achieved, but scalability with voluminous operations is poor

Engineering Contradiction:
Improvechange propagation efficiencyVSAvoidoperation volume handling
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple small custom records into a single state-based revision record that consolidates changes to one or more editable objects. Instead of propagating and transforming numerous individual operation records, the system merges them into SBR records that represent the net state change, significantly reducing the volume of data that needs to be propagated and processed across the collaboration system.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10936797B2Collaborative document editing using state-based revision
Publication Date: 2021.03.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10936797B2 patent drawing
  • US10936797B2 patent drawing
  • US10936797B2 patent drawing

AI summary

The present disclosure provides methods, systems, and computer products for providing state-based revisions in a document collaboration system. In some aspects, a plurality of users may be simultaneously editing the same document on their respective computing devices. The document may comprise a plurality of editable objects having unique objects identifiers. In such aspects, when a user edits an object in a local version of the document, a state-based revision (“SBR”) record is created. The SBR is populated with information such as, information describing the type of object being edited, a descriptor that uniquely identifies the specific instance of the object being edited, a collection of common references that can be adjusted by the document collaboration engine and an opaque binary stream comprising the modified state of the edited object. The SBR record is then transmitted to one or more additional devices.