Multi-User Document Editing via Segmented Objects and Granular Locking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current document sharing systems lack the ability for multiple users to simultaneously edit a document associated with a database while maintaining fine-grained control over modifications, leading to inefficient serial editing and inconsistencies in document presentation.
Innovation Solution
A multi-user document editing system that allows simultaneous editing by representing documents as discrete objects, enabling granular locking and check-out mechanisms, and using a model-view-controller design pattern with a first-in-first-out queue to manage modification requests, ensuring real-time updates and parallel editing capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If document locking mechanisms are implemented to prevent simultaneous editing, then document consistency is maintained, but user productivity and editing efficiency deteriorate due to serial editing requirements
Solution Approach 1:
The patent segments the document into discrete objects at multiple hierarchical levels (document, section, paragraph, line, character). This segmentation allows different users to lock and edit different segments simultaneously without conflicting with each other, thereby maintaining document consistency while enabling parallel editing and improving user productivity.
Solution Approach 2:
The patent implements fine-grained locking where users can lock specific discrete objects or portions of the document rather than the entire document. This local quality approach allows other users to edit different portions simultaneously, resolving the contradiction between maintaining consistency through locking and preserving productivity through parallel access.
2Productivity
If documents are broken into sub-documents to enable simultaneous editing, then user productivity improves through parallel editing, but document consistency deteriorates due to disjointed layout and formatting
Solution Approach 1:
The patent implements a multi-level hierarchical structure where discrete objects are nested within sections, which are nested within documents. This nesting allows users to work on different levels simultaneously (e.g., one user edits a paragraph while another edits the section structure), maintaining both parallel editing capability and document consistency through the hierarchical framework.
Solution Approach 2:
The discrete objects in the patent serve multiple functions: they are the basic units for editing, locking, and hierarchical organization. This multi-functionality allows the same segmented structure to support both parallel editing operations and consistent document assembly, resolving the contradiction between productivity and consistency.
3Manufacturing precision
If fine-grained locking mechanisms are implemented, then editing precision and control improve, but system complexity increases due to granular lock management
Solution Approach 1:
The patent implements dynamic lock management where locks can be acquired and released at different hierarchical levels based on user needs. The system automatically manages lock escalation and de-escalation, providing fine-grained editing precision while reducing the perceived complexity for users through automated lock management mechanisms.
Solution Approach 2:
The patent introduces a server as an intermediary that manages the complex lock hierarchy and discrete object relationships. The server handles lock conflicts, coordinates between users, and maintains the hierarchical structure, thereby providing fine-grained control precision while shielding users from the underlying system complexity.
4Stability of the object's composition
If presentation data is intermixed with content data, then document integration is improved, but resource intensity increases when updating formatting due to large numbers of records being updated
Solution Approach 1:
The patent segments presentation data and content data into separate discrete objects within the hierarchical structure. This segmentation allows formatting updates to be applied only to specific presentation objects rather than forcing updates across all content records, maintaining document integration while reducing resource intensity during formatting operations.
Solution Approach 2:
The patent applies local quality by allowing different discrete objects to have different presentation properties independently. When formatting needs to be updated, only the specific presentation objects requiring changes are updated rather than all records, thereby maintaining integrated document structure while reducing the computational resources required for formatting updates.
Data Source
AI summary
A multi-user document editing system and method. Embodiments of the invention utilize a model-view-controller design pattern to successfully control changes in parallel to underlying backend database information presentation related information. Granularity of protection and check in/check out on family, spread, presentation layer and presentation object. In addition, enables automatic update of changes to all users editing or viewing the information. Changes to the backend database may also include changes to the family hierarchy with real-time update of publication WYSIWYG pages for example. Enables rollback of changes. Instead of waiting constantly for other users to finish editing information before other edits can be made, the typical serial editing methodology is transformed by embodiments of the invention into a parallel methodology that greatly increases throughput and lowers the costs associated with large publications.


