System for collaborative engineering using component and file-oriented tools
First Claim
1. A method for synchronizing changes to a plurality of components stored in a central repository, the repository being accessible to plural users, each of whom are permitted to revise the components in the repository, the components representing file-based data of an engineering design file, the method comprising:
- (a) a user creating a temporary design file at a local computer workstation by downloading the current data in the repository and converting the current data to create an original current version of the design file at the workstation;
(b) the user creating an edited version of the temporary design file from the original current version;
(c) the user requesting that the set of components which represent the edited version of the temporary design file be updated to reflect any component changes made in the repository since the creation of the original current version of the temporary design file by other users during the user'"'"'s step (b) editing time period; and
(d) during updating, locally detecting resolvable and unresolvable component conflicts on a per component basis between the components which represent the edited temporary version of the design file and the latest current version of the components.
8 Assignments
0 Petitions
Accused Products
Abstract
Conventional file-based engineering design data for an engineering model are represented by a plurality of components. Each component has a unique identifier, a set of fields, each field having a data type and a data value, and a program which interprets and modifies the fields. The plurality of components are stored in a repository of a server. The repository also stores a history of any changes made to the components. A plurality of client computers are bidirectionally connected to the server. Each client computer may obtain the current version of the components and may send locally edited versions of the components back to the server to replace the current versions in the repository. At the client computer, the user interacts with the components using conventional file-based software. Before locally edited versions of the components are committed to the server to replace the current versions, a synchronization and merging process occurs whereby the latest version of the components are downloaded to the client computer and are compared to the locally edited version of the components to detect resolvable (compatible) and unresolvable (incompatible) conflicts therebetween. The commit process is performed only if no unresolvable conflicts exist between the two versions of the components. To facilitate translation between file-based data and components, a schema is written to “wrap” each of the engineering file formats. Each schema is a set of classes that capture all of the information in the file-based data.
-
Citations
12 Claims
-
1. A method for synchronizing changes to a plurality of components stored in a central repository, the repository being accessible to plural users, each of whom are permitted to revise the components in the repository, the components representing file-based data of an engineering design file, the method comprising:
-
(a) a user creating a temporary design file at a local computer workstation by downloading the current data in the repository and converting the current data to create an original current version of the design file at the workstation;
(b) the user creating an edited version of the temporary design file from the original current version;
(c) the user requesting that the set of components which represent the edited version of the temporary design file be updated to reflect any component changes made in the repository since the creation of the original current version of the temporary design file by other users during the user'"'"'s step (b) editing time period; and
(d) during updating, locally detecting resolvable and unresolvable component conflicts on a per component basis between the components which represent the edited temporary version of the design file and the latest current version of the components. - View Dependent Claims (2, 3, 4, 5, 6)
(e) allowing the components represented by the locally updated and edited temporary version of the design file to replace the latest current version of the components in the repository only if no unresolved component conflicts exist between the two versions.
-
-
3. A method according to claim 2 further comprising:
(f) archiving (i) the latest version of the individual components, and (ii) information to fully document any changes made to each version of each component.
-
4. A method according to claim 1 further comprising:
(e) highlighting to the user any unresolvable component conflicts.
-
5. A method according to claim 1 wherein resolvable component conflicts detected in step (d) include differences that relate to different components which are not affected by each other or different aspects of the same component which do not conflict with one another.
-
6. A method according to claim 1 wherein unresolvable component conflicts detected in step (d) include differences that relate to the same aspects of a component or that relate to components which affect each other in a conflicting manner.
-
7. An apparatus for synchronizing changes to a plurality of components stored in a central repository, the repository being accessible to plural users, each of whom are permitted to revise the components in the repository, the components representing file-based data of an engineering design file, the apparatus comprising:
-
(a) means for creating a temporary design file at a local computer workstation by downloading the current data in the repository and converting the current data to create an original current version of the design file at the workstation, the temporary design file being manipulated by a user;
(b) means for creating an edited version of the temporary design file from the original current version, the edited version being created by the user during an editing time period;
(c) means for requesting that the set of components which represent the edited version of the temporary design file be updated to reflect any component changes made in the repository since the creation of the original current version of the temporary design file by other users during the user'"'"'s editing time period; and
(d) means for locally detecting resolvable and unresolvable component conflicts on a per component basis between the components which represent the edited temporary version of the design file and the latest current version of the components during the updating. - View Dependent Claims (8, 9, 10, 11, 12)
(e) means for allowing the components represented by the locally updated and edited temporary version of the design file to replace the latest current version of the components in the repository only if no unresolved component conflicts exist between the two versions.
-
-
9. An apparatus according to claim 8 further comprising:
(f) means for archiving (i) the latest version of the individual components, and (ii) information to fully document any changes made to each version of each component.
-
10. An apparatus according to claim 7 further comprising:
(e) means for highlighting the unresolvable component conflicts.
-
11. An apparatus according to claim 7 wherein resolvable component conflicts detected by the means for locally detecting resolvable and unresolvable component conflicts include differences that relate to different components which are not affected by each other or different aspects of the same component which do not conflict with one another.
-
12. An apparatus according to claim 7 wherein unresolvable component conflicts detected by the means for locally detecting resolvable and unresolvable component conflicts include differences that relate to the same aspects of a component or that relate to components which affect each other in a conflicting manner.
Specification