# US 10,503,840 B2 · System and methods for multi-user CAx editing data consistency

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

- Number: US 10,503,840 B2
- Document ID: US10503840B2
- Status: Granted
- Kind: B2
- Application number: 14/185,823
- Filed: 2014-02-20
- Published: 2014-08-21
- Granted: 2019-12-10
- Earliest claimed: 2013-02-20
- Assignees: Brigham Young University
- Applicants: Brigham Young University
- Inventors: Thomas Trevor Nysetvold; Charles Gregory Jensen; Joshua John Bennett; Glen Phelps; Ammon Ikaika No Kapono Hepworth
- Web page: https://patentgrep.com/patent/US10503840B2

## CPC

- G06F 30/12: characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
- G06F 30/00: Computer-aided design [CAD]
- G06F 2111/02: CAD in a network environment, e.g. collaborative CAD or distributed simulation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A multi-user CAx editing system may comprise a plurality of editing clients. The editing clients may be configured to maintain data consistency for geometric elements created within each local instance of a model of an engineering object. For example, each of the plurality of editing clients may include a synchronization module configured to identify one or more distinguishing parameters for each locally created geometric element and generate a unique persistent label for the geometric element, and communicate the unique persistent label and the distinguishing parameters to other editing clients. The communication may occur via a collaborative editing server. The other editing clients may find a geometric element within their local instance of the model that matches the distinguishing parameters and associate the unique persistent label with that geometric element. Subsequent references to the geometric element may be made by referring to the unique persistent label.

## Claims

### Claim 1

A computer-implemented method, executed by one or more processors, the computer-implemented method comprising:
obtaining, via the one or more processors, a first globally unique identifier and one or more first distinguishing parameters for a geometric element responsive to creation of a first feature within a first instance of a model of an engineering object by a first concurrent user, the first instance represented in a first model format associated with a first CAx application;
responsive to obtaining the first globally unique identifier and the one or more first distinguishing parameters, creating, via the one or more processors, a corresponding first feature on a second instance of the model, the second instance corresponding to a second concurrent user, the second instance represented in a second model format associated with a second CAx application not directly compatible with the first CAx application; and
responsive to obtaining the first globally unique identifier and the one or more first distinguishing parameters, assigning, via the one or more processors, the first globally unique identifier to a corresponding geometric element of the corresponding first feature within the second instance of the model that has matching distinguishing parameters to the one or more first distinguishing parameters.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising determining, via the one or more processors, which geometric element within the second instance of the model has matching distinguishing parameters.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the first distinguishing parameters comprise one or more vertices or control points.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first distinguishing parameters comprise a feature identifier associated with the feature.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the first globally unique identifier comprises a user name.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
obtaining, via the one or more processors, a second globally unique identifier and one or more second distinguishing parameters for a geometric element responsive to creation of a second feature within the second instance of the model of the engineering object by the second user, the second instance represented in the second model format associated with the second CAx application;
responsive to obtaining the second globally unique identifier and the one or more second distinguishing parameters, creating, via the one or more processors, a corresponding second feature on the first instance of the model; and
responsive to obtaining the second globally unique identifier and the one or more second distinguishing parameters, assigning, via the one or more processors, the second globally unique identifier to a corresponding geometric element of the corresponding second feature within the first instance of the model that has matching distinguishing parameters to the one or more second distinguishing parameters.

### Claim 7 (depends on 1)

The method of claim 1, wherein at least the operation of assigning the first globally unique identifier to the corresponding geometric element within the second instance of the model is conducted by a software layer that is integral to a client computer itself.

### Claim 8

A computer-implemented method, executed by one or more processors, the computer-implemented method comprising:
identifying, via the one or more processors, one or more first distinguishing parameters for a first geometric element created in response to creating a feature within a first instance of a model of an engineering object, the first instance represented in a first model format associated with a first CAx application;
responsive to identifying the one or more first distinguishing parameters, generating, via the one or more processors, a first globally unique identifier for the geometric element;
responsive to generating the first globally unique identifier, communicating, via the one or more processors, the first globally unique identifier and the first distinguishing parameters to a device corresponding to a second instance of the model of the engineering object the second instance corresponding to a second concurrent user, the second instance represented in a second model format associated with a second CAx application not directly compatible with the first CAx application;
responsive to communication of the first globally unique identifier and the one or more first distinguishing parameters, creating, via the one or more processors, a corresponding first feature within the second instance of the model of the engineering object; and
responsive to creating the corresponding first feature within the second instance of the model of the engineering object, assigning, via the one or more processors, the first globally unique identifier to a corresponding geometric element of the corresponding first feature in the second instance of the model of the engineering object that has matching distinguishing parameters to the one or more first distinguishing parameters.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein the first distinguishing parameters comprise one or more vertices or control points.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, wherein the first distinguishing parameters comprise a feature identifier corresponding to the feature.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, wherein the first globally unique identifier comprises a user name.

### Claim 12 (depends on 8)

The computer-implemented method of claim 8, further comprising:
obtaining, via the one or more processors, a second globally unique identifier and one or more second distinguishing parameters for a geometric element in response to creation of a second feature within the second instance of the model of the engineering object by the second concurrent user, the second instance represented in the second model format associated with the second CAx application;
responsive to obtaining the second globally unique identifier and the one or more second distinguishing parameters, creating, via the one or more processors, a corresponding second feature on the first instance of the model; and
responsive to creating the corresponding second feature on the first instance of the model, assigning, via the one or more processors, the second globally unique identifier to a corresponding geometric element of the corresponding second feature within the first instance of the model that has matching distinguishing parameters to the one or more second distinguishing parameters.

### Claim 13

A system comprising:
a plurality of editing clients comprising a first editing client and a second editing client, configured to concurrently edit a local instance of a model of an engineering object, the first editing client executing a first CAx application that uses a first CAx model format and the second editing client executing a second CAx application that uses a first CAx model format, wherein the second CAx application is not directly compatible with the first CAx application; and
wherein each of the plurality of editing clients comprise a synchronization module, comprising one or more processors and corresponding software for execution on the one or more processors, wherein the synchronization module of the first editing client is configured to identify one or more first distinguishing parameters for a first geometric element created in response to a local user creating a first feature within the local instance of the model, generate a first globally unique identifier for the geometric element, and communicate the first globally unique identifier and the first distinguishing parameters to the second editing client of the plurality of editing clients; and
wherein the synchronization module of the second editing client is configured to, responsive to communication of the first globally unique identifier and the first distinguishing parameters, create a corresponding feature within a second instance of the model of the engineering object, and assign the first globally unique identifier to a corresponding geometric element of the corresponding feature in the second instance of the model of the engineering object that has matching distinguishing parameters to the one or more first distinguishing parameters.

### Claim 14 (depends on 13)

The system of claim 13, wherein the synchronization module is configured to obtain a second globally unique identifier and one or more second distinguishing parameters for a second geometric element responsive to creation of a second feature within another instance of a model of an engineering object by a remote concurrent user.

### Claim 15 (depends on 14)

The system of claim 14, wherein the synchronization module is configured to create the second feature within a remote instance of the model corresponding to a remote concurrent user.

### Claim 16 (depends on 15)

The system of claim 15, wherein the synchronization module is configured to assign the second globally unique identifier to a second geometric element within the local instance of the model that has distinguishing parameters that match the second distinguishing parameters.

### Claim 17 (depends on 13)

The system of claim 13, wherein the first distinguishing parameters comprise one or more vertices or control points.

### Claim 18 (depends on 13)

The system of claim 13, wherein the first distinguishing parameters comprise a first feature identifier associated with the first feature.

### Claim 19 (depends on 13)

The system of claim 13, wherein the first globally unique identifier comprises a user name.

### Claim 20 (depends on 13)

The system of claim 13, wherein at least the operation of assigning the first globally unique identifier to the corresponding geometric element within the second instance of the model is conducted by a software layer that is integral to a client computer itself.
