Centralized Server for Collaborative Editing Operation Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current collaborative editing systems face challenges in maintaining consistent ordering of operations across clients, leading to increased complexity and limitations in flexibility and capabilities, as each client must independently reorder operations, resulting in a significant burden on the system.

Innovation Solution

Implementing a client-server model where a centralized server determines and enforces a consistent ordering of operations, assigning unique identifiers to ensure all clients maintain a synchronized list of operations, thereby reducing the burden and enhancing flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each client maintains separate order of operations using vector clock, then each client can independently track operations, but the system complexity increases and flexibility is constrained

Engineering Contradiction:
Improveoperation consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a server as an intermediary that centralizes the operation ordering function. Instead of each client independently maintaining vector clocks and reordering operations, the server receives operations from all clients, determines their order, and distributes the ordered operations back to clients. This mediator approach resolves the contradiction by improving operation consistency through centralized control while reducing system complexity by eliminating the need for complex distributed consensus algorithms at each client.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If each client independently reorders operations, then operation consistency can be maintained, but additional operations are required and burden on the collaborative system increases

Engineering Contradiction:
Improveoperation consistencyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The server acts as a central coordinator that consolidates the operation ordering task. Rather than each client performing independent reordering operations that generate additional traffic and processing overhead, the server performs the ordering once and distributes the results. This eliminates redundant reordering operations at each client and reduces the overall burden on the collaborative system, thereby improving productivity while maintaining consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If separate ordering is maintained at each client, then distributed autonomy is preserved, but flexibility of operations and collaborative capabilities are constrained

Engineering Contradiction:
Improvecollaborative flexibilityVSAvoidordering management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The centralized server simplifies ordering management by handling all operation sequencing in one place. This approach increases collaborative flexibility because the server can implement sophisticated ordering strategies (such as prioritizing certain operations, handling conflicts, or optimizing for specific collaborative patterns) without requiring complex client-side logic. Clients gain versatility in their collaborative capabilities while the server manages the complexity of operation ordering centrally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10360536B2Implementing a consistent ordering of operations in collaborative editing of shared content items
Publication Date: 2019.07.23 DROPBOX INC
  • US10360536B2 patent drawing
  • US10360536B2 patent drawing
  • US10360536B2 patent drawing

AI summary

Systems, methods, and computer-readable storage media for ordering editing operations in collaborative editing of shared content items. The content management system can receive an edit operation from a first client for a content item that is shared for collaborative editing between the first client and a second client. In response to receiving the operation, the system can send an update to the first client including a previous operation received from the second client prior to receiving the operation from the first client, wherein the update can instruct the first client to perform a transform operation to transform a parameter of the operation according to an effect of the previous operation received from the second client. The system can then receive a result of the transform operation from the first client and update the shared content item based on the previous operation and the result of the transform operation.