Document Synchronization via Stateless Cell Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing document systems require transmitting low-level data and managing locks across a network, leading to inefficiencies and inflexibility due to the need for garbage collection and defragmentation, which complicates collaborative document editing.
Innovation Solution
A stateless protocol for file synchronization that breaks documents into units of consistency, using a data structure with cells and revision manifests to manage changes independently, allowing for efficient synchronization and minimal server resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If documents are accessed at the whole document level with low level data transmission, then complete document editing is enabled, but network transmission efficiency deteriorates and server resources are wasted
Solution Approach 1:
The patent segments documents into independent cells with unique identifiers, allowing the system to transmit only the specific cell data that has changed rather than the entire document. This segmentation enables partial document updates, improving network transmission efficiency while maintaining complete document editing capability.
2Quantity of substance
If incremental document formats are used with garbage collection and defragmentation, then document storage efficiency is improved, but network complexity and operation difficulty increase
Solution Approach 1:
The patent extracts and eliminates the need for garbage collection and defragmentation operations by using a cell-based architecture where each cell is independently identified and managed. This extraction removes complex network operations while maintaining storage efficiency through selective cell transmission and updating.
Solution Approach 2:
The cell-based structure with unique identifiers enables automatic tracking and management of document portions without requiring complex garbage collection or defragmentation protocols. Each cell independently manages its own state and identification, simplifying the overall system operation.
3Reliability
If locks are controlled across the network for collaborative editing, then concurrent access control is achieved, but system complexity and fragility increase
Solution Approach 1:
The patent segments the document into independent cells, allowing fine-grained locking at the cell level rather than requiring document-level or user-level locks. This segmentation reduces lock control complexity by enabling concurrent editing of different cells by different users while maintaining reliability through targeted access control.
4Manufacturing precision
If low level file format data is transmitted, then precise document representation is achieved, but flexibility and adaptability are reduced
Solution Approach 1:
The patent changes the fundamental parameter of document representation from low-level binary data to high-level cell-based structures with unique identifiers and revision information. This parameter change maintains precise document representation through structured cell data while dramatically improving flexibility and adaptability by enabling selective transmission, caching, and manipulation of individual cells independent of the underlying file format.
Data Source
AI summary
Example systems, methods, and data structures are directed at synchronizing documents. One example data structure includes receiving a request from a first client to edit a document, and sending short-term check out metadata to the first client to begin an editing session. The data structure includes a plurality of cells and a plurality of data objects defining content of the document. Each data object is associated with one of the cells and has an object identifier that uniquely identifies the data object within the associated cell, and is configured to communicate with other cells and with objects within the associated cell. In addition, each of the cells is defined so that each other cell remains unaffected by changes to data objects of the cell.


