Web Page Document Three-Way Merge via Key-Value Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current collaboration systems face challenges in efficiently merging multiple, independent changes to web page documents, particularly when these changes are incompatible, leading to conflicts and loss of user contributions, especially as the number of users grows or the complexity of changes increases.
Innovation Solution
A method and system for automatically merging changes to web page documents by generating key-value mappings for original and changed objects, selecting relevant attributes, and constructing a merged version using a three-way merge strategy that combines attribute values, allowing for intelligent incorporation of changes while minimizing conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple users independently propose changes to the same document, then collaboration capability is improved, but conflict frequency increases
Solution Approach 1:
The patent segments the document into discrete objects (elements, components, or blocks) that can be independently identified and merged. Each object has a unique identifier and structure that allows the system to track and combine changes from multiple users without conflicts, even when changes overlap in the original document space.
Solution Approach 2:
The patent introduces an intermediary merging system that acts as a mediator between multiple user changes. This system automatically resolves conflicts by comparing object structures, identifying compatible changes, and combining them according to predefined rules, eliminating the need for manual conflict resolution and preventing loss of user contributions.
2Manufacturing precision
If changes are merged manually using command-line tools, then merging precision is improved, but productivity deteriorates
Solution Approach 1:
The patent implements self-service merging where the system automatically performs the merging operation without requiring manual intervention. The merging algorithm autonomously compares changes, resolves conflicts, and produces the merged document, maintaining high precision while dramatically improving productivity by eliminating manual command-line operations.
Solution Approach 2:
The patent changes the parameters of the merging process by representing documents as structured objects with identifiable attributes rather than raw text. This parameterization enables automated comparison and merging operations that maintain precision while executing at machine speed, unlike manual command-line tools.
3Ease of operation
If real-time editing is allowed, then ease of operation is improved, but conflict frequency increases
Solution Approach 1:
The patent segments the document into independent objects that can be edited simultaneously by multiple users without causing conflicts. Each object can be modified independently in real-time, and the system automatically merges these changes, allowing ease of operation while preventing conflicts through structured object management.
4Reliability
If sequential editing is enforced, then conflict frequency is reduced, but productivity deteriorates
Solution Approach 1:
The patent segments the document into independent objects that enable parallel editing by multiple users. This segmentation allows simultaneous collaboration on different parts of the document without sequential constraints, maintaining low conflict frequency through structured object management while dramatically improving collaboration efficiency.
Data Source
AI summary
In one aspect, a method for automatically merging changes to a web page document, includes the step of providing an object of a web page document. The method includes determining an object type of the object of the web page document. The web page document is coded in a markup language. The method includes selecting a set of attributes of the object type that are to be taken into account during a merging operation involving a plurality of changes to the object. Given the object of the object type, the method includes receiving a plurality of changes to the object. The plurality of changes comprises a first set of changes and a second set of changes. The method includes the step of generating a key-value mapping for an original object. The set of attributes is used to associate with the object a key-value mapping. The key-value mapping includes, for each attribute of the set of attributes a key-value of the mapping, where the name of the attribute is the mapping key and the value of the attribute is the mapping value. The method includes generating a key-value mapping for the object after the first set of changes. The method includes generating a key-value mapping for the object after the second set of changes. The method includes constructing a merged version of the object that incorporates the plurality of changes to the object by: constructing a merged key-value mapping of attributes from the key-value mapping of the original object, the key-value mapping of the object after the first set of changes, and the key-value mapping of the object after the second set of changes, combining all of the merged attribute values, and using the attribute names as the keys.


