Live-Rendered Forkable Graphic Edit Trails for Collaborative Canvas
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Collaborative editing of media assets in a multi-user and mixed computing environment faces challenges such as latency, bandwidth limitations, and achieving tight clock synchronization, especially in geographically diverse locales, which complicates real-time rendering of editing actions and ensuring consistency among users.
Innovation Solution
The system employs a central server to manage a shared canvas with hybrid logical clocks (HLCs) for timestamping changes, uses conflict-free replicated data types (CRDTs) for operational ordering, and implements a last-writer-wins conflict resolution protocol to ensure consistency, allowing multiple users to edit media assets and view changes in real-time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple users in geographically diverse locales collaborate in real-time, then collaborative editing capability is improved, but network latency and bandwidth limitations worsen
Solution Approach 1:
The patent segments the collaborative editing system into independent components: local state management at each user device, selective change propagation via patches, and distributed conflict resolution. Each user device independently manages its local canvas state and only transmits incremental changes (patches) rather than complete state, reducing network bandwidth requirements and latency impact.
Solution Approach 2:
The system performs preliminary actions by establishing hybrid logical clocks (HLCs) and conflict resolution protocols in advance before conflicts occur. HLCs are maintained locally at each device, enabling immediate ordering of operations without waiting for server confirmation, thus reducing perceived latency while maintaining consistency.
2Reliability
If tight clock synchronization is achieved across distributed devices, then consistency assurance is improved, but synchronization complexity and resource requirements worsen
Solution Approach 1:
The patent introduces hybrid logical clocks (HLCs) as an intermediary mechanism that combines physical clock timestamps with logical counters. This intermediary structure enables distributed devices to order events without requiring tight synchronization of physical clocks, reducing synchronization complexity while maintaining consistency through the logical ordering component.
Solution Approach 2:
The system replaces the mechanical approach of tight physical clock synchronization with a software-based hybrid logical clock mechanism. Instead of relying on synchronized hardware clocks across distributed devices, the HLC uses local physical timestamps combined with logical event counters, substituting complex hardware synchronization with simpler software-based ordering.
3Reliability
If entire local state is repeatedly uploaded for synchronization, then data consistency is improved, but bandwidth consumption and upload time worsen
Solution Approach 1:
The patent extracts only the necessary changes (patches) from the complete local state and transmits only these incremental modifications to other users. Instead of uploading entire canvas states, the system identifies and transmits only the minimal set of operations needed to replicate local changes remotely, dramatically reducing bandwidth consumption while maintaining consistency.
Solution Approach 2:
The system applies partial action by transmitting only the portion of state changes that are necessary for synchronization. Rather than complete state replication, selective patch transmission sends only the minimal required information to achieve consistency, optimizing bandwidth usage while ensuring all users receive necessary updates.
Data Source
AI summary
A user computing device may receive a command from a user to modify an object of a canvas. The received command may be accepted and the user computing device may perform one or more operations on the object of the canvas according to the command, such as modifying a mutable attribute. The canvas state may then be captured by the computing device using one or more patches. The computing device may generate and store one or more snapshots to include a subset of the one or more patches and further provide the one or more snapshots to playback a sequence of at least some of the one or more operations that were performed on the object of the canvas.


