← Back to Patent Explorer
US6711718B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel electronic design automation: distributed simultaneous editing

Assignee: Siemens Industry Software Inc
•
Filing: 2002-10-10
•
Granted: 2004-03-23
•
Expires: 2022-10-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus are described for allowing multiple users to simultaneously edit a design while being able to view edits to the entire design. A design (such as for a printed circuit board) having a plurality of exclusive areas is displayed to a plurality of users. A first user checks out a corresponding section of the design, and edits the design. A second user checks out a corresponding section of the design, and edits the design simultaneously with the first user editing the design.

Inventors

  • 👤 Charles Pfeil
  • 👤 Edwin Franklin Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 08:43
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F2111/00; G06F2111/12; G06F2115/00; G06F2115/12

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 270 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 exclusive sub-portions of a 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, 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 PCB master design portion including first and second exclusive sub-portions, the graphical displays on each of said clients including representations of PCB artwork corresponding to both the first and second exclusive sub-portions; receiving edit requests from the first and second clients during the editing session; determining if edit requests from the first client conflict with edit requests from the second client; accepting requests from the first client to edit the first exclusive sub-portion; accepting requests from the second client to edit the second exclusive sub-portion; rejecting requests from the first client to edit the second exclusive sub-portion; rejecting requests from the second client to edit the first exclusive sub-portion; rejecting a request from the first client to edit the first exclusive sub-portion based on a conflict with a request from the second client to edit the second exclusive sub-portion; and transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on each of the first and second clients during the editing session to reflect application of the accepted edit requests to the respective first and second exclusive sub-portions.
Claim 2
Independent Claim 270 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 exclusive sub-portions of a 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, 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 PCB master design portion including first and second exclusive sub-portions, the graphical displays on each of said clients including representations of PCB artwork corresponding to both the first and second exclusive sub-portions; receiving edit requests from the first and second clients during the editing session; determining if edit requests from the first client conflict with edit requests from the second client; accepting requests from the first client to edit the first exclusive sub-portion; accepting requests from the second client to edit the second exclusive sub-portion; rejecting requests from the first client to edit the second exclusive sub-portion; rejecting requests from the second client to edit the first exclusive sub-portion; rejecting a request from the first client to edit the first exclusive sub-portion based on a conflict with a request from the second client to edit the second exclusive sub-portion; and transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on each of the first and second clients during the editing session to reflect application of the accepted edit requests to the respective first and second exclusive sub-portions.
Claim 3
Dependent Claim 33 words
The method of claim 1 , wherein the receiving edit requests from the first and second clients comprises receiving edit requests from a human designer as one of the first and second users.
Claim 4
Dependent Claim 34 words
The method of claim 2 , wherein the receiving edit requests from the first and second clients comprises receiving edit requests from an automated program as the other of the first and second users.
Claim 5
Dependent Claim 21 words
The method of claim 1 , wherein the transmitting the PCB master design portion comprises transmitting the entire PCB master design.
Claim 6
Dependent Claim 20 words
The method of claim 1 , further comprising partitioning the PCB master design into the first and second exclusive sub-portions.
Claim 7
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 8
Dependent Claim 33 words
The method of claim 1 , further comprising: placing the edit requests in a queue; and processing the edit requests on a first-in-first-out (FIFO) basis, said processing comprising the accepting and rejecting steps.
Claim 9
Dependent Claim 102 words
The method of claim 1 , wherein said determining if edit requests from the first client conflict with edit requests from the second client comprises at least one of: determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a spacing rule, determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a geometry rule, and determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a connectivity rule.
Claim 10
Dependent Claim 89 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 by applying the additional edit request from the first client to the first exclusive sub-portion and applying the additional edit request from the second client to the second exclusive sub-portion.
Claim 11
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 12
Dependent Claim 24 words
The method of claim 1 , wherein said transmitting synchronization data comprises retransmitting the PCB master design portion to the first and second clients.
Claim 13
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 14
Dependent Claim 115 words
The method of claim 1 , wherein said transmitting a PCB master design portion further comprises: transmitting the first exclusive sub-portion for graphical display on the first client so as to indicate that the first user may edit the first exclusive sub-portion and for graphical display on the second client so as to indicate that the second user may not edit the first exclusive sub-portion; and transmitting the second exclusive sub-portion for graphical display on the second client so as to indicate that the second user may edit the second exclusive sub-portion and for graphical display on the first client so as to indicate that the first user may not edit the second exclusive sub-portion.
Claim 15
Dependent Claim 34 words
The method of claim 1 , wherein: the PCB master design portion comprises first and second layers, the first exclusive sub-portion comprises the first layer, and the second exclusive sub-portion comprises the second layer.
Claim 16
Dependent Claim 293 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 exclusive sub-portions of the 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, 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 respective first and second clients for graphical display on each of said clients, the PCB master design portion including first and second exclusive sub-portions, the graphical displays on each of said clients including representations of PCB artwork corresponding to both the first and second exclusive sub-portions, receive edit requests from the first and second clients during the editing session, determine if edit requests from the first client conflict with edit requests from the second client, accept requests from the first client to edit the first exclusive sub-portion, accept requests from the second client to edit the second exclusive sub-portion, reject requests from the first client to edit the second exclusive sub-portion, reject requests from the second client to edit the first exclusive sub-portion, reject a request from the first client to edit the first exclusive sub-portion based on a conflict with a request from the second client to edit the second exclusive sub-portion, and transmit synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on each of the first and second clients during the editing session to reflect application of the accepted edit requests to the respective first and second exclusive sub-portions.
Claim 17
Dependent Claim 293 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 exclusive sub-portions of the 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, 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 respective first and second clients for graphical display on each of said clients, the PCB master design portion including first and second exclusive sub-portions, the graphical displays on each of said clients including representations of PCB artwork corresponding to both the first and second exclusive sub-portions, receive edit requests from the first and second clients during the editing session, determine if edit requests from the first client conflict with edit requests from the second client, accept requests from the first client to edit the first exclusive sub-portion, accept requests from the second client to edit the second exclusive sub-portion, reject requests from the first client to edit the second exclusive sub-portion, reject requests from the second client to edit the first exclusive sub-portion, reject a request from the first client to edit the first exclusive sub-portion based on a conflict with a request from the second client to edit the second exclusive sub-portion, and transmit synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on each of the first and second clients during the editing session to reflect application of the accepted edit requests to the respective first and second exclusive sub-portions.
Claim 18
Dependent Claim 37 words
The server of claim 15 , wherein the processor is configured to receive edit requests from the first and second clients by receiving edit requests from a human designer as one of the first and second users.
Claim 19
Dependent Claim 38 words
The server of claim 16 , wherein the processor is configured to receive edit requests from the first and second clients by receiving edit requests from an automated program as the other of the first and second users.
Claim 20
Dependent Claim 25 words
The server of claim 15 , wherein the processor is configured to transmit the PCB master design portion by transmitting the entire PCB master design.
Claim 21
Dependent Claim 22 words
The server of claim 15 , wherein the processor is configured to partition the PCB master design into and second exclusive sub-portions.
Claim 22
Dependent Claim 62 words
The server of claim 15 , 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 23
Dependent Claim 35 words
The server of claim 15 , wherein the processor is configured to: place the edit requests in a queue, and process the edit requests, on a first-in-first-out (FIFO) basis, by accepting or rejecting edit requests.
Claim 24
Dependent Claim 106 words
The server of claim 15 , wherein the processor is configured to determine if edit requests from the first client conflict with edit requests from the second client by at least one of: determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a spacing rule, determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a geometry rule, and determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a connectivity rule.
Claim 25
Dependent Claim 93 words
The server of claim 15 , wherein the processor is configured to: determine 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, determine if the conflict can be resolved, and upon determining that the conflict can be resolved, accept said additional edit requests by applying the additional edit request from the first client to the first exclusive sub-portion and applying the additional edit request from the second client to the second exclusive sub-portion.
Claim 26
Dependent Claim 98 words
The server of claim 15 , 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 27
Dependent Claim 28 words
The server of claim 15 , wherein the server is configured to transmit synchronization data by retransmitting the PCB master design portion to the first and second clients.
Claim 28
Dependent Claim 30 words
The server of claim 15 , wherein the server is configured to transmit synchronization data by transmitting synchronization data simultaneously with applying an edit request to the PCB master design.
Claim 29
Dependent Claim 118 words
The server of claim 15 , wherein the server is configured to transmit a PCB master design portion by: transmitting the first exclusive sub-portion for graphical display on the first client so as to indicate that the first user may edit the first exclusive sub-portion and for graphical display on the second client so as to indicate that the second user may not edit the first exclusive sub-portion, and transmitting the second exclusive sub-portion for graphical display on the second client so as to indicate that the second user may edit the second exclusive sub-portion and for graphical display on the first client so as to indicate that the first user may not edit the second exclusive sub-portion.
Claim 30
Dependent Claim 34 words
The server of claim 15 , wherein: the PCB master design portion comprises first and second layers, the first exclusive sub-portion comprises the first layer, and the second exclusive sub-portion comprises the second layer.
Claim 31
Dependent Claim 287 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 exclusive sub-portions of a 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, wherein: the PCB master design portion includes first and second exclusive sub-portions and 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 on each of said clients include representations of PCB artwork corresponding to both the first and second exclusive sub-portions; receiving edit requests from the first and second clients during the editing session; determining if edit requests from the first client conflict with edit requests from the second client; accepting requests from the first client to edit the first exclusive sub-portion; accepting requests from the second client to edit the second exclusive sub-portion; rejecting requests from the first client to edit the second exclusive sub-portion; rejecting requests from the second client to edit the first exclusive sub-portion; rejecting a request from the first client to edit the first exclusive sub-portion based on a conflict with a request from the second client to edit the second exclusive sub-portion; and transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on each of the first and second clients during the editing session to reflect application of the accepted edit requests to the respective first and second exclusive sub-portions.
Claim 32
Dependent Claim 287 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 exclusive sub-portions of a 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, wherein: the PCB master design portion includes first and second exclusive sub-portions and 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 on each of said clients include representations of PCB artwork corresponding to both the first and second exclusive sub-portions; receiving edit requests from the first and second clients during the editing session; determining if edit requests from the first client conflict with edit requests from the second client; accepting requests from the first client to edit the first exclusive sub-portion; accepting requests from the second client to edit the second exclusive sub-portion; rejecting requests from the first client to edit the second exclusive sub-portion; rejecting requests from the second client to edit the first exclusive sub-portion; rejecting a request from the first client to edit the first exclusive sub-portion based on a conflict with a request from the second client to edit the second exclusive sub-portion; and transmitting synchronization data to the first and second clients, the synchronization data permitting update of the graphical displays on each of the first and second clients during the editing session to reflect application of the accepted edit requests to the respective first and second exclusive sub-portions.
Claim 33
Dependent Claim 34 words
The machine-readable medium of claim 29 , wherein the receiving edit requests from the first and second clients comprises receiving edit requests from a human designer as one of the first and second users.
Claim 34
Dependent Claim 35 words
The machine-readable medium of claim 29 , wherein the receiving edit requests from the first and second clients comprises receiving edit requests from an automated program as the other of the first and second users.
Claim 35
Dependent Claim 22 words
The machine-readable medium of claim 29 , wherein the transmitting the PCB master design portion comprises transmitting the entire PCB master design.
Claim 36
Dependent Claim 22 words
The machine-readable medium comprising further instructions for performing steps comprising partitioning the PCB master design into the first and second exclusive sub-portions.
Claim 37
Dependent Claim 22 words
The machine-readable medium comprising further instructions for performing steps comprising partitioning the PCB master design into the first and second exclusive sub-portions.
Claim 38
Dependent Claim 63 words
The machine-readable medium of claim 29 , 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 39
Dependent Claim 39 words
The machine-readable medium of claim 29 , comprising further instructions for performing steps comprising: placing the edit requests in a queue; and processing the edit requests on a first-in-first-out (FIFO) basis, said processing comprising the accepting and rejecting steps.
Claim 40
Dependent Claim 101 words
The machine-readable medium of claim 29 , wherein said determining if edit requests from the first client conflict with edit requests from the second client comprises at least one of: determining whether acceptance of a request from the first client and acceptance of a request from the second client will violate a spacing rule, determining whether acceptance of request from the first client and acceptance of a request from the second client will violate a geometry rule, and determining whether acceptance of request from the first client and acceptance of a request from the second client will violate a connectivity rule.
Claim 41
Dependent Claim 95 words
The machine-readable medium of claim 29 , 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 by applying the additional edit request from the first client to the first exclusive sub-portion and applying the additional edit request from the second client to the second exclusive sub-portion.
Claim 42
Dependent Claim 99 words
The machine-readable medium of claim 29 , 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 43
Dependent Claim 25 words
The machine-readable medium of claim 29 , wherein said transmitting synchronization data comprises retransmitting the PCB master design portion to the first and second clients.
Claim 44
Dependent Claim 27 words
The machine-readable medium of claim 29 , wherein said transmitting synchronization data comprises transmitting synchronization data simultaneously with applying an edit request to the PCB master design.
Claim 45
Dependent Claim 116 words
The machine-readable medium of claim 29 , wherein said transmitting a PCB master design portion further comprises: transmitting the first exclusive sub-portion for graphical display on the first client so as to indicate that the first user may edit the first exclusive sub-portion and for graphical display on the second client so as to indicate that the second user may not edit the first exclusive sub-portion; and transmitting the second exclusive sub-portion for graphical display on the second client so as to indicate that the second user may edit the second exclusive sub-portion and for graphical display on the first client so as to indicate that the first user may not edit the second exclusive sub-portion.
Claim 46
Dependent Claim 35 words
The machine-readable medium of claim 29 , wherein: the PCB master design portion comprises first and second layers, the first exclusive sub-portion comprises the first layer, and the second exclusive sub-portion comprises the second layer.
Claim 47
Independent Claim 271 words
A method for editing a printed circuit board (PCB) master design during an editing session throughout which each of first and second users at respective first and second clients may edit exclusive sub-portions of a PCB master design and view edits made to the PCB master design by the other of the first and second users, comprising: receiving a PCB master design portion at the first and second clients for graphical display on each of said clients, the PCB master design portion including first and second exclusive sub-portions, the graphical displays on each of said clients including representations of PCB artwork corresponding to both the first and second exclusive sub-portions; transmitting edit requests from the first and second clients during the editing session; and receiving synchronization data transmitted to the first and second clients during the editing session, the synchronization data permitting update of the graphical displays on each of the first and second clients to reflect: application to the PCB master design of a request from the first client to edit the first exclusive sub-portion, application to the PCB master design of a request from the second client to edit the second exclusive sub-portion, rejection of a request from the first client to edit the second exclusive sub-portion, rejection of a request from the second client to edit the first exclusive sub-portion, and rejection, subsequent to a determination of a conflict between a request from the first client to edit the first exclusive sub-portion and a request from the second client to edit the second exclusive sub-portion, of a request from the first client to edit the first exclusive sub-portion.
Claim 48
Independent Claim 271 words
A method for editing a printed circuit board (PCB) master design during an editing session throughout which each of first and second users at respective first and second clients may edit exclusive sub-portions of a PCB master design and view edits made to the PCB master design by the other of the first and second users, comprising: receiving a PCB master design portion at the first and second clients for graphical display on each of said clients, the PCB master design portion including first and second exclusive sub-portions, the graphical displays on each of said clients including representations of PCB artwork corresponding to both the first and second exclusive sub-portions; transmitting edit requests from the first and second clients during the editing session; and receiving synchronization data transmitted to the first and second clients during the editing session, the synchronization data permitting update of the graphical displays on each of the first and second clients to reflect: application to the PCB master design of a request from the first client to edit the first exclusive sub-portion, application to the PCB master design of a request from the second client to edit the second exclusive sub-portion, rejection of a request from the first client to edit the second exclusive sub-portion, rejection of a request from the second client to edit the first exclusive sub-portion, and rejection, subsequent to a determination of a conflict between a request from the first client to edit the first exclusive sub-portion and a request from the second client to edit the second exclusive sub-portion, of a request from the first client to edit the first exclusive sub-portion.

References Cited (Backward Citations)

US6023565A Cited
US5983277A Cited
US5950201A Cited
US6094654A Cited
US20020144212A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-03-23 2007-09-22 2008-03-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-03-23 2011-09-22 2012-03-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-03-23 2015-09-22 2016-03-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag