US6708313B2
Expired / Lapsed
US
⏱️ 0.0 years remaining
Parallel electronic design automation: shared simultaneous editing
Assignee: Siemens Industry Software Inc
•
Filing: 2002-10-10
•
Granted: 2004-03-16
•
Expires: 2022-10-10
Abstract
Abstract A method to simultaneously allow multiple users to edit in shared areas of a master design includes displaying the master design, allowing a first user to edit in a shared area of the design, while simultaneously allowing a second user to edit in a shared area of the design while preserving the integrity of the design
Inventors
- 👤 Charles Pfeil
- 👤 Edwin Franklin Smith
- 👤 Vladimir Petunin
- 👤 Henry Potts
- 👤 Venkat Natarajan
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 07:02
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39
Claims Analysis
Total Claims: 44
Claim 1
Independent Claim
278 words
A method for editing a printed circuit board (PCB) master design during an editing session throughout which each of first and second users may edit a PCB master design portion and view edits made to the same PCB master design portion by the other of the first and second users during the editing session, comprising: transmitting the PCB master design portion to the first and second users at respective first and second clients for graphical display on each of said clients, the graphical displays including representations of PCB artwork corresponding to the PCB master design portion; receiving, during the editing session, a first edit request from the first client and a second edit request from the second client; determining if the first edit request conflicts with the second edit request; accepting the first and second edit requests by applying the edit requests to the PCB master design; transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect the first and second edits; receiving respective third and fourth edit requests from the first and second clients during the editing session; determining if the third edit request conflicts with the fourth edit request; upon determining that the third and fourth edit requests conflict, transmitting subsequent synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 2
Independent Claim
278 words
A method for editing a printed circuit board (PCB) master design during an editing session throughout which each of first and second users may edit a PCB master design portion and view edits made to the same PCB master design portion by the other of the first and second users during the editing session, comprising: transmitting the PCB master design portion to the first and second users at respective first and second clients for graphical display on each of said clients, the graphical displays including representations of PCB artwork corresponding to the PCB master design portion; receiving, during the editing session, a first edit request from the first client and a second edit request from the second client; determining if the first edit request conflicts with the second edit request; accepting the first and second edit requests by applying the edit requests to the PCB master design; transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect the first and second edits; receiving respective third and fourth edit requests from the first and second clients during the editing session; determining if the third edit request conflicts with the fourth edit request; upon determining that the third and fourth edit requests conflict, transmitting subsequent synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 3
Dependent Claim
62 words
The method of claim 1 , wherein: at least one of the edit requests is automatically generated in response to selection of an object and a command, the object is at least one of a route, a component, a trace, a via, text, and a drawing object, and the command is at least one of move left, move right, delete and add.
Claim 4
Dependent Claim
31 words
The method of claim 1 , further comprising: placing the first and second edit requests in a queue; and accepting the first and second edit requests on a first-in-first-out (FIFO) basis.
Claim 5
Dependent Claim
17 words
The method of claim 1 , wherein the PCB master design portion comprises an entire PCB design.
Claim 6
Dependent Claim
70 words
The method of claim 1 , wherein said determining if the first and second requests conflict comprises at least one of: determining whether acceptance of both the first and second edit requests will violate a spacing rule, determining whether acceptance of both the first and second edit requests will violate a geometry rule, and determining whether acceptance of both the first and second edit requests will violate a connectivity rule.
Claim 7
Dependent Claim
59 words
The method of claim 1 , further comprising: determining if an additional edit request received from the first client conflicts with an additional edit request received from the second client; upon determining that said additional edit requests conflict, determining if the conflict can be resolved; and upon determining that the conflict can be resolved, accepting said additional edit requests.
Claim 8
Dependent Claim
98 words
The method of claim 1 , wherein: one of the edit requests is automatically generated in response to the first or second user selecting, moving, and then releasing a first object, another of the edit requests is automatically generated in response to the first or second user selecting a second object and then moving the second object to a graphically represented deletion area, and another of the edit requests is automatically generated in response to the first or second user selecting a third object, placing the third object on the displayed artwork, and then releasing the third object.
Claim 9
Dependent Claim
31 words
The method of claim 1 , wherein said transmitting synchronization data comprises retransmitting the PCB master design portion to the first and second users at the respective first and second clients.
Claim 10
Dependent Claim
26 words
The method of claim 1 , wherein said transmitting synchronization data comprises transmitting synchronization data simultaneously with applying an edit request to the PCB master design.
Claim 11
Dependent Claim
105 words
The method of claim 1 , wherein: said transmitting a PCB master design portion comprises transmitting a shared sub-portion for graphical display at the first and second clients and an exclusive sub-portion for graphical display at the first and second clients, and said receiving edit requests from the first and second clients comprises receiving requests to edit the shared sub-portion, and further comprising: receiving a request by the first user to edit to the exclusive sub-portion; accepting the request by the first user by applying said request to the exclusive sub-portion; and rejecting a request by the second user to edit to the exclusive sub-portion.
Claim 12
Dependent Claim
94 words
The method of claim 10 , wherein said transmitting a PCB master design portion further comprises: transmitting the shared sub-portion for graphical display on the first and second clients so as to indicate that the first and second users may edit the shared sub-portion, transmitting the exclusive sub-portion for graphical display on the first client so as to indicate that the first user may edit the exclusive sub-portion, and transmitting the exclusive sub-portion for graphical display on the second client so as to indicate that the second user may not edit the exclusive sub-portion.
Claim 13
Dependent Claim
58 words
The method of claim 1 , further comprising: placing, in response to an instruction from the first user, a protection boundary around a sub-portion of the PCB master design portion; subsequently receiving a request by the second user to edit the sub-portion; and rejecting the request by the second user based on the placement of the protection boundary.
Claim 14
Dependent Claim
66 words
The method of claim 1 , further comprising: placing a protection boundary around a sub-portion of the PCB master design portion, the sub-portion corresponding to an area surrounding a cursor on a display screen of the first client; subsequently receiving a request by the second user to edit the sub-portion; and rejecting the request by the second user based on the placement of the protection boundary.
Claim 15
Dependent Claim
302 words
A server for receiving and processing requests to edit a printed circuit board (PCB) master design during an editing session throughout which each of first and second users may edit a PCB master design portion and view edits made to the same PCB master design portion by the other of the first and second users during the editing session, comprising: a database for maintaining the master design; connections to first and second clients; and a processor configured to: transmit the PCB master design portion to the first and second users at the respective first and second clients for graphical display on each of said clients, the graphical displays including representations of PCB artwork corresponding to the PCB master design portion, receive, during the editing session, a first edit request from the first client and a second edit request from the second client, determine if the first edit request conflicts with the second edit request, accept the first and second edit requests by applying the edit requests to the PCB master design, transmit synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect the first and second edits, receive respective third and fourth edit requests from the first and second clients during the editing session, determine if the third edit request conflicts with the fourth edit request, upon determining that the third and fourth edit requests conflict, transmit subsequent synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 16
Dependent Claim
302 words
A server for receiving and processing requests to edit a printed circuit board (PCB) master design during an editing session throughout which each of first and second users may edit a PCB master design portion and view edits made to the same PCB master design portion by the other of the first and second users during the editing session, comprising: a database for maintaining the master design; connections to first and second clients; and a processor configured to: transmit the PCB master design portion to the first and second users at the respective first and second clients for graphical display on each of said clients, the graphical displays including representations of PCB artwork corresponding to the PCB master design portion, receive, during the editing session, a first edit request from the first client and a second edit request from the second client, determine if the first edit request conflicts with the second edit request, accept the first and second edit requests by applying the edit requests to the PCB master design, transmit synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect the first and second edits, receive respective third and fourth edit requests from the first and second clients during the editing session, determine if the third edit request conflicts with the fourth edit request, upon determining that the third and fourth edit requests conflict, transmit subsequent synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 17
Dependent Claim
62 words
The server of claim 14 , wherein: at least one of the edit requests is automatically generated in response to selection of an object and a command, the object is at least one of a route, a component, a trace, a via, text, and a drawing object, and the command is at least one of move left, move right, delete and add.
Claim 18
Dependent Claim
35 words
The server of claim 14 , wherein the processor is configured to: place the first and second edit requests in a queue, and accept the first and second edit requests on a first-in-first-out (FIFO) basis.
Claim 19
Dependent Claim
17 words
The server of claim 14 , wherein the PCB master design portion comprises an entire PCB design.
Claim 20
Dependent Claim
74 words
The server of claim 14 , wherein the processor is configured to determine if the first and second requests conflict by at least one of: determining whether acceptance of both the first and second edit requests will violate a spacing rule, determining whether acceptance of both the first and second edit requests will violate a geometry rule, and determining whether acceptance of both the first and second edit requests will violate a connectivity rule.
Claim 21
Dependent Claim
62 words
The server of claim 14 , wherein the processor is configured to: determine if an additional edit request received from the first client conflicts with an additional request received from the second client, upon determining that said additional edit requests conflict, determine if the conflict can be resolved, and upon determining that the conflict can be resolved, accept said additional edit requests.
Claim 22
Dependent Claim
98 words
The server of claim 14 , wherein: one of the edit requests is automatically generated in response to the first or second user selecting, moving, and then releasing a first object, another of the edit requests is automatically generated in response to the first or second user selecting a second object and then moving the second object to a graphically represented deletion area, and another of the edit requests is automatically generated in response to the first or second user selecting a third object, placing the third object on the displayed artwork, and then releasing the third object.
Claim 23
Dependent Claim
34 words
The server of claim 14 , wherein the processor is configured to transmit synchronization data by retransmitting the PCB master design portion the first and second users at the respective first and second clients.
Claim 24
Dependent Claim
30 words
The server of claim 14 , wherein the processor is configured to transmit synchronization data by transmitting synchronization data simultaneously with applying an edit request to the PCB master design.
Claim 25
Dependent Claim
83 words
The server of claim 14 , wherein the processor is configured to: transmit a PCB master design portion by transmitting a shared sub-portion for graphical display at the first and second clients and an exclusive sub-portion for graphical display at the first and second clients, accept requests by the first and second clients to edit the shared sub-portion, accept a request by the first user to edit the exclusive sub-portion, and reject a request by the second user to edit the exclusive sub-portion.
Claim 26
Dependent Claim
97 words
The server of claim 23 , wherein the processor is configured to transmit a PCB master design portion by: transmitting the shared sub-portion for graphical display on the first and second clients so as to indicate that the first and second users may edit the shared sub-portion, transmitting the exclusive sub-portion for graphical display on the first client so as to indicate that the first user may edit the exclusive sub-portion, and transmitting the exclusive sub-portion for graphical display on the second client so as to indicate that the second user may not edit the exclusive sub-portion.
Claim 27
Dependent Claim
62 words
The server of claim 14 , wherein the processor is configured to: place, in response to an instruction from the first user, a protection boundary around a sub-portion of the PCB master design portion, subsequently receive a request by the second user to edit the sub-portion, and reject the request by the second user based on the placement of the protection boundary.
Claim 28
Dependent Claim
70 words
The server of claim 14 , wherein the processor is configured to: place a protection boundary around a sub-portion of the PCB master design portion, the sub-portion corresponding to an area surrounding a cursor on a display screen of the first client, subsequently receive a request by the second user to edit the sub-portion, and reject the request by the second user based on the placement of the protection boundary.
Claim 29
Dependent Claim
299 words
A machine-readable medium having stored thereon data representing sequences of instructions which, when executed by a processor, cause the processor to perform steps comprising: transmitting a PCB master design portion during an editing session throughout which each of first and second users may edit a PCB master design portion and view edits made to the same PCB master design portion by the other of the first and second users during the editing session, wherein: the PCB master design portion is transmitted to the first and second users at respective first and second clients for graphical display on each of said clients, and the graphical displays include representations of PCB artwork corresponding to the PCB master design portion; receiving, during the editing session, a first edit request from the first client and a second edit request from the second client; determining if the first edit request conflicts with the second edit request; accepting the first and second edit requests by applying the edit requests to the PCB master design; transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect the first and second edits; receiving respective third and fourth edit requests from the first and second clients during the editing session; determining if the third edit request conflicts with the fourth edit request; upon determining that the third and fourth edit requests conflict, transmitting subsequent synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 30
Dependent Claim
299 words
A machine-readable medium having stored thereon data representing sequences of instructions which, when executed by a processor, cause the processor to perform steps comprising: transmitting a PCB master design portion during an editing session throughout which each of first and second users may edit a PCB master design portion and view edits made to the same PCB master design portion by the other of the first and second users during the editing session, wherein: the PCB master design portion is transmitted to the first and second users at respective first and second clients for graphical display on each of said clients, and the graphical displays include representations of PCB artwork corresponding to the PCB master design portion; receiving, during the editing session, a first edit request from the first client and a second edit request from the second client; determining if the first edit request conflicts with the second edit request; accepting the first and second edit requests by applying the edit requests to the PCB master design; transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect the first and second edits; receiving respective third and fourth edit requests from the first and second clients during the editing session; determining if the third edit request conflicts with the fourth edit request; upon determining that the third and fourth edit requests conflict, transmitting subsequent synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on the first and second clients during the editing session to reflect: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 31
Dependent Claim
64 words
The machine readable medium of claim 27 , wherein: at least one of the edit requests is automatically generated in response to selection of an object and a command, the object is at least one of a route, a component, a trace, a via, text, and a drawing object, and the command is at least one of move left, move right, delete and add.
Claim 32
Dependent Claim
38 words
The machine readable medium of claim 27 , comprising further instructions for performing steps comprising: placing the first and second edit requests in a queue; and accepting the first and second edit requests on a first-in-first-out (FIFO) basis.
Claim 33
Dependent Claim
19 words
The machine readable medium of claim 27 , wherein the PCB master design portion comprises an entire PCB design.
Claim 34
Dependent Claim
72 words
The machine readable medium of claim 27 , wherein said determining if the first and second requests conflict comprises at least one of: determining whether acceptance of both the first and second edit requests will violate a spacing rule, determining whether acceptance of both the first and second edit requests will violate a geometry rule, and determining whether acceptance of both the first and second edit requests will violate a connectivity rule.
Claim 35
Dependent Claim
66 words
The machine readable medium of claim 27 , comprising further instructions for performing steps comprising: determining if an additional edit request received from the first client conflicts with an additional edit request received from the second client; upon determining that said additional edit requests conflict, determining if the conflict can be resolved; and upon determining that the conflict can be resolved, accepting said additional edit requests.
Claim 36
Dependent Claim
100 words
The machine readable medium of claim 27 , wherein: one of the edit requests is automatically generated in response to the first or second user selecting, moving, and then releasing a first object, another of the edit requests is automatically generated in response to the first or second user selecting a second object and then moving the second object to a graphically represented deletion area, and another of the edit requests is automatically generated in response to the first or second user selecting a third object, placing the third object on the displayed artwork, and then releasing the third object.
Claim 37
Dependent Claim
33 words
The machine readable medium of claim 27 , wherein said transmitting synchronization data comprises retransmitting the PCB master design portion to the first and second users at the respective first and second clients.
Claim 38
Dependent Claim
28 words
The machine readable medium of claim 27 , wherein said transmitting synchronization data comprises transmitting synchronization data simultaneously with applying an edit request to the PCB master design.
Claim 39
Dependent Claim
112 words
The machine readable medium of claim 27 , wherein: said transmitting a PCB master design portion comprises transmitting a shared sub-portion for graphical display at the first and second clients and an exclusive sub-portion for graphical display at the first and second clients, and said receiving edit requests from the first and second clients comprises receiving requests to edit the shared sub-portion, and comprising further instructions for performing steps comprising: receiving a request by the first user to edit to the exclusive sub-portion; accepting the request by the first user by applying said request to the exclusive sub-portion; and rejecting a request by the second user to edit to the exclusive sub-portion.
Claim 40
Dependent Claim
96 words
The machine readable medium of claim 36 , wherein said transmitting a PCB master design portion further comprises: transmitting the shared sub-portion for graphical display on the first and second clients so as to indicate that the first and second users may edit the shared sub-portion, transmitting the exclusive sub-portion for graphical display on the first client so as to indicate that the first user may edit the exclusive sub-portion, and transmitting the exclusive sub-portion for graphical display on the second client so as to indicate that the second user may not edit the exclusive sub-portion.
Claim 41
Dependent Claim
65 words
The machine readable medium of claim 27 , comprising further instructions for performing steps comprising: placing, in response to an instruction from the first user, a protection boundary around a sub-portion of the PCB master design portion; subsequently receiving a request by the second user to edit the sub-portion; and rejecting the request by the second user based on the placement of the protection boundary.
Claim 42
Dependent Claim
73 words
The machine readable medium of claim 27 , comprising further instructions for performing steps comprising: placing a protection boundary around a sub-portion of the PCB master design portion, the sub-portion corresponding to an area surrounding a cursor on a display screen of the first client; subsequently receiving a request by the second user to edit the sub-portion; and rejecting the request by the second user based on the placement of the protection boundary.
Claim 43
Independent Claim
258 words
A method for editing a printed circuit board (PCB) master design, comprising: receiving, for display on first and second clients, a PCB master design portion that has been transmitted to the first client and second clients for graphical display on each of said clients so as to include representations of PCB artwork corresponding to the PCB master design portion; transmitting respective first and second edit requests from the first and second clients during an editing session throughout which each of first and second users at the respective first and second clients may edit the same PCB master design portion and view edits made to the PCB master design portion by the other of the first and second users during the editing session; receiving synchronization data at each of the first and second clients, the synchronization data permitting update of graphical displays on the first and second clients during the editing session to reflect the application to the PCB master design portion of the first and second edit requests; transmitting respective third and fourth edit requests from the first and second clients during the editing session; and receiving subsequent synchronization data at each of the first and second clients, the subsequent synchronization data permitting update of graphical displays on the first and second clients during the editing session to reflect, subsequent to determination of a conflict between the third and fourth edit requests: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
Claim 44
Independent Claim
258 words
A method for editing a printed circuit board (PCB) master design, comprising: receiving, for display on first and second clients, a PCB master design portion that has been transmitted to the first client and second clients for graphical display on each of said clients so as to include representations of PCB artwork corresponding to the PCB master design portion; transmitting respective first and second edit requests from the first and second clients during an editing session throughout which each of first and second users at the respective first and second clients may edit the same PCB master design portion and view edits made to the PCB master design portion by the other of the first and second users during the editing session; receiving synchronization data at each of the first and second clients, the synchronization data permitting update of graphical displays on the first and second clients during the editing session to reflect the application to the PCB master design portion of the first and second edit requests; transmitting respective third and fourth edit requests from the first and second clients during the editing session; and receiving subsequent synchronization data at each of the first and second clients, the subsequent synchronization data permitting update of graphical displays on the first and second clients during the editing session to reflect, subsequent to determination of a conflict between the third and fourth edit requests: acceptance of the third edit request by application of the third edit request to the PCB master design portion, and rejection of the fourth edit request.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2007-03-16 | 2007-09-15 | 2008-03-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2011-03-16 | 2011-09-15 | 2012-03-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2015-03-16 | 2015-09-15 | 2016-03-16 | $7700.00 | Window Closed / Lapsed |