OT Proxy for Collaborative Editing Reducing Server Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional collaborative editing systems using a server-client model can be resource-intensive and lead to scalability issues, particularly when supporting thin clients with limited hardware resources, as they require server-side operational transformation, which may not be feasible for all client devices.

Innovation Solution

Implementing an operational transformation proxy (OT proxy) that acts as an intermediate component between the server and thin clients, allowing for local operational transformation of updates on smart clients and ensuring convergence of client and server versions of electronic documents, thereby reducing server load and supporting a diverse range of clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If server-side operational transformation is used to support thin clients, then collaborative editing functionality is provided, but server resource consumption increases and scalability deteriorates

Engineering Contradiction:
Improvesupport for thin clientsVSAvoidserver resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The patent introduces an OT proxy as an intermediary component between the server and thin clients. The proxy performs operational transformation locally, converting server mutations into client-applicable transformations without requiring the server to directly handle transformation logic for each client. This mediator approach enables thin client support while preserving server resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If operational transformation is performed on the server for each client update, then sequential correctness is maintained, but network latency increases and user experience deteriorates

Engineering Contradiction:
Improvesequential correctnessVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary operational transformation at the proxy level before updates reach the client. By pre-transforming server mutations into client-specific transformations and caching them locally, the system ensures sequential correctness is maintained while eliminating the need for real-time network round-trips during the transformation process.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If smart clients perform local operational transformation, then update speed increases, but compatibility with thin clients is lost

Engineering Contradiction:
Improveupdate speedVSAvoidclient compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements local quality by enabling operational transformation capabilities at the proxy level specifically for thin clients, while smart clients can continue to perform transformations locally. The proxy adapts the transformation approach based on client capabilities, providing smart client-level performance for capable clients and proxy-mediated transformation for thin clients, thus maintaining both update speed and client compatibility.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10956667B2Operational transformations proxy for thin clients
Publication Date: 2021.03.23 GOOGLE LLC
  • US10956667B2 patent drawing
  • US10956667B2 patent drawing
  • US10956667B2 patent drawing

AI summary

Systems and methods are disclosed herein for an operational transformation proxy for a thin client. The systems and methods may be used for collaboratively editing an electronic object such as an electronic document from a thin client. A first request is received at an OT proxy from the thin client to make a first change to a first version of the electronic object. A first mutation, including the first change to the first version of the electronic document, is created. A second mutation is received at the OT proxy from the server. At the OT proxy, the second mutation of the electronic object is converted into a third mutation of the electronic object based on the first mutation.