Web Page Document Three-Way Merge via Key-Value Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple users independently propose changes to the same document, then collaboration capability is improved, but conflict frequency increases

Engineering Contradiction:
Improvecollaboration capabilityVSAvoidconflict frequency
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If changes are merged manually using command-line tools, then merging precision is improved, but productivity deteriorates

Engineering Contradiction:
Improvemerging precisionVSAvoidmerging speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If real-time editing is allowed, then ease of operation is improved, but conflict frequency increases

Engineering Contradiction:
Improveediting convenienceVSAvoidconflict frequency
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #1Segmentation

4Reliability

If sequential editing is enforced, then conflict frequency is reduced, but productivity deteriorates

Engineering Contradiction:
Improveconflict frequencyVSAvoidcollaboration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11334644B2Methods and systems for three-way merges of object representations
Publication Date: 2022.05.17 JERDONEK CHRISTOPHER J
  • US11334644B2 patent drawing
  • US11334644B2 patent drawing
  • US11334644B2 patent drawing

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.