# US 12,216,728 B2 · Concurrent website editing system having conflict handling protocol

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,216,728 B2
- Document ID: US12216728B2
- Status: Granted
- Kind: B2
- Application number: 18/147,372
- Filed: 2022-12-28
- Published: 2023-08-24
- Granted: 2025-02-04
- Earliest claimed: 2022-02-23
- Assignees: Wix.com Ltd.
- Applicants: Wix.Com Ltd.
- Inventors: Yuval Nissan
- Web page: https://patentgrep.com/patent/US12216728B2

## CPC

- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 40/197: Version control (for software G06F8/71)
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 16/93: Document management systems
- G06F 40/166: Editing, e.g. inserting or deleting
- G06Q 10/103: {Workflow collaboration or project management}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Methods, apparatuses, systems, and computer program products are disclosed for implementing network transactional-based concurrent editing of a document. An exemplary system includes a transaction assignment module configured to receive at least one object change set originating from at least one change interface session, wherein the at least one object change set is associated with a selected document, parse the at least one object change set to identify one or more objects, one or more object changes, and one or more object groups in the at least one object change set, apply a transaction assignment protocol to the one or more object groups to define at least one object change transaction, and output the at least one object change transaction to a transaction approval determination module.

## Claims

### Claim 1

A system for implementing network transactional-based concurrent editing of a document, the system comprising:
a transaction assignment module configured to:
receive at least one object change set originating from at least one change interface session, wherein the at least one object change set is associated with a selected document;
parse the at least one object change set to identify one or more objects, one or more object changes, and one or more object groups in the at least one object change set, wherein at least a first object group comprises at least a first object subject to an object change and at least a second, different object that is not subject to an object change;
apply a transaction assignment protocol to the one or more object groups to define at least one object change transaction; and
output the at least one object change transaction to a transaction approval determination module.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one change interface session comprises a first change interface session associated with a first web browser tab associated with a first user device and a second change interface session associated with a second web browser tab associated with the first user device.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one change interface session comprises a first change interface session associated with a first user device and a second change interface session associated with a second user device.

### Claim 4 (depends on 1)

The system of claim 1, wherein the one or more object groups are identified based on application of one or more object grouping protocols, wherein the one or more object grouping protocols comprise one or more of a contextual relationship protocol, a hierarchical data structure protocol, an anchor relationship protocol, a geometrical relationship protocol, or a semantic relationship protocol, each object grouping protocol defining grouping criteria for identifying a relationship between at least two objects of the one or more objects.

### Claim 5 (depends on 4)

The system of claim 4, wherein at least one identified relationship is predefined or programmatically generated at run-time.

### Claim 6 (depends on 4)

The system of claim 4, wherein the transaction assignment protocol is configured to define a first object transaction comprising a single object of the one or more objects in an instance wherein application of the one or more object grouping protocols does not identify an applicable relationship between the single object and another object of the one or more objects.

### Claim 7 (depends on 1)

The system of claim 1, wherein a first object change transaction of the at least one object change transaction comprises a single object associated with a single object change or two or more objects associated with two or more object changes.

### Claim 8 (depends on 1)

The system of claim 1, wherein a first object change set of the at least one object change set comprises a single object change to a single object or a plurality of object changes to a plurality of objects.

### Claim 9 (depends on 1)

The system of claim 1, wherein the one or more object changes of the at least one object change set comprises at least one of a component size change, a component position change, a component content change, a component content formatting change, a container size change, a container position change, a container content change, a container content formatting change, or a re-parenting of a component.

### Claim 10

A method for implementing network transactional-based concurrent editing of a document, the method comprising:
receiving at least one object change set originating from at least one change interface session, wherein the at least one object change set is associated with a selected document;
parsing the at least one object change set to identify one or more objects, one or more object changes, and one or more object groups in the at least one object change set, wherein at least a first object group comprises at least a first object subject to an object change and at least a second, different object that is not subject to an object change;
applying a transaction assignment protocol to the one or more object groups to define at least one object change transaction; and
outputting the at least one object change transaction to a transaction approval determination module.

### Claim 11 (depends on 10)

The method of claim 10, wherein the at least one change interface session comprises a first change interface session associated with a first web browser tab associated with a first user device and a second change interface session associated with a second web browser tab associated with the first user device.

### Claim 12 (depends on 10)

The method of claim 10, wherein the at least one change interface session comprises a first change interface session associated with a first user device and a second change interface session associated with a second user device.

### Claim 13 (depends on 10)

The method of claim 10, wherein the one or more object groups are identified based on application of one or more object grouping protocols, wherein the one or more object grouping protocols comprise one or more of a contextual relationship protocol, a hierarchical data structure protocol, an anchor relationship protocol, a geometrical relationship protocol, or a semantic relationship protocol, each object grouping protocol defining grouping criteria for identifying a relationship between at least two objects of the one or more objects.

### Claim 14 (depends on 13)

The method of claim 13, wherein at least one identified relationship is predefined or programmatically generated at run-time.

### Claim 15 (depends on 13)

The method of claim 13, wherein the transaction assignment protocol is configured to define a first object transaction comprising a single object of the one or more objects in an instance wherein application of the one or more object grouping protocols does not identify an applicable relationship between the single object and another object of the one or more objects.

### Claim 16 (depends on 10)

The method of claim 10, wherein a first object change transaction of the at least one object change transaction comprises a single object associated with a single object change or two or more objects associated with two or more object changes.

### Claim 17 (depends on 10)

The method of claim 10, wherein a first object change set of the at least one object change set comprises a single object change to a single object.

### Claim 18 (depends on 10)

The method of claim 10, wherein a first object change set of the at least one object change set comprises a plurality of object changes to a plurality of objects.

### Claim 19 (depends on 10)

The method of claim 10, wherein the one or more object changes of the at least one object change set comprises at least one of a component size change, a component position change, a component content change, a component content formatting change, a container size change, a container position change, a container content change, a container content formatting change, or a re-parenting of a component.

### Claim 20

A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon that, in execution with at least one processor is configured to:
receive at least one object change set originating from at least one change interface session, wherein the at least one object change set is associated with a selected document;
parse the at least one object change set to identify one or more objects, one or more object changes, and one or more object groups in the at least one object change set, wherein at least a first object group comprises at least a first object subject to an object change and at least a second, different object that is not subject to an object change;
apply a transaction assignment protocol to the one or more object groups to define at least one object change transaction; and
output the at least one object change transaction to a transaction approval determination module.
