Distributed electronic design automation architecture
First Claim
1. A non-transitory machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform steps of a method comprising:
- (a) receiving at a first computer user input indicating a first requested change to a printed circuit board design;
(b) transmitting data corresponding to the first requested change to a second computer;
(c) receiving at the first computer a communication from the second computer corresponding to the first requested change;
(d) in response to the communication received in step (c), making the first requested change to a copy of the printed circuit board design stored at the first computer;
(e) receiving multiple additional communications from the second computer, wherein each of the multiple additional communications corresponds to a subsequent requested change to the printed circuit board design,each of the subsequent requested changes is a different change,at least one of the subsequent requested changes originated at the first computer,at least one of the subsequent requested changes originated at a computer which is not the first computer, andeach of the multiple additional communications and the communications received in step (c) includes an identifier associated with the originating computer for the requested change corresponding to the communication;
(f) determining, for each of the communications received in steps (c) and (e), the originating computer for the corresponding requested change; and
(g) prior to making each of the subsequent requested changes to the copy of the printed circuit board design stored at the first computer, adjusting settings of the first computer to match settings of the originating computer for that requested change, the adjusting being performed without modifying the copy of the printed circuit board design, whereinfor each of the subsequent requested changes, altering at least one of the settings of the first computer will cause that requested change to be made in a different manner, and wherein the settings of the first computer include a trace width or via diameter.
4 Assignments
0 Petitions
Accused Products
Abstract
A copy of a design is stored at each of multiple clients. When a client user provides input indicating a wish to modify the design in some way, the input is captured and one or more commands created. The commands are forwarded to a server, which queues commands received from all of the clients and then forwards each of those commands back to each of the clients. Upon receiving commands from the server, each of the clients executes those commands in the order received. Each client also maintains data indicating settings for all clients in a current editing session. Before executing a design changing command, each client adjusts its settings to match those of the client from which that command originated.
-
Citations
19 Claims
-
1. A non-transitory machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform steps of a method comprising:
-
(a) receiving at a first computer user input indicating a first requested change to a printed circuit board design; (b) transmitting data corresponding to the first requested change to a second computer; (c) receiving at the first computer a communication from the second computer corresponding to the first requested change; (d) in response to the communication received in step (c), making the first requested change to a copy of the printed circuit board design stored at the first computer; (e) receiving multiple additional communications from the second computer, wherein each of the multiple additional communications corresponds to a subsequent requested change to the printed circuit board design, each of the subsequent requested changes is a different change, at least one of the subsequent requested changes originated at the first computer, at least one of the subsequent requested changes originated at a computer which is not the first computer, and each of the multiple additional communications and the communications received in step (c) includes an identifier associated with the originating computer for the requested change corresponding to the communication; (f) determining, for each of the communications received in steps (c) and (e), the originating computer for the corresponding requested change; and (g) prior to making each of the subsequent requested changes to the copy of the printed circuit board design stored at the first computer, adjusting settings of the first computer to match settings of the originating computer for that requested change, the adjusting being performed without modifying the copy of the printed circuit board design, wherein for each of the subsequent requested changes, altering at least one of the settings of the first computer will cause that requested change to be made in a different manner, and wherein the settings of the first computer include a trace width or via diameter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform steps of a method comprising:
-
(a) receiving transmissions from a plurality of client computers, the transmissions including data corresponding to changes to a printed circuit board design, each of the changes being requested by a sending client computer but not yet performed by the sending client computer; (b) queuing the changes for which transmissions are received in step (a); (c) forwarding information regarding each of the queued changes to each of the client computers for entry of one or more of those changes by each of the client computers, wherein information for the queued changes is forwarded in the same order in which data corresponding to those changes was received in step (a); (d) receiving, subsequent to step (c), a request from a new client to join an editing session; (e) in response to the request of step (d), forwarding to the new client a copy of the printed circuit board design and information corresponding to at least one of the queued changes, wherein the copy of the printed circuit board design does not include the at least one of the queued changes; and (f) in response to the request of step (d), forwarding to the new client data regarding settings of each client computer of the plurality, wherein the settings of each client computer include values which can be modified without modifying the copy of the printed circuit board design, wherein modifying one or more values causes one of the at least one queued changes to be made in a different manner, and wherein the settings of each client computer include a trace width or via diameter. - View Dependent Claims (12, 13)
-
-
14. A computerized system for modifying a design, comprising:
-
a server; a first client; and a second client, wherein each of the first and second clients is configured to perform steps that include (c1) receiving user input indicating requested changes to the printed circuit board design, (c2) transmitting to the server data corresponding to the requested changes, (c3) receiving communications from the server corresponding to the requested (c4) in response to the communications received in step (c3), making the requested changes to a local copy of the printed circuit board design stored at the client, (c5) receiving communications from the server corresponding to requested printed circuit board design changes originating at the other of the first and second client, (c6) making, to the local copy of the printed circuit board design and in response to the communications received in step (c5), the requested printed circuit board design changes originating at the other of the first and second clients, (c7) determining, prior to making the changes in steps (c4) and (c6), and for each of the communications received in steps (c3) and (c5), the originating client for the requested printed circuit board design change corresponding to the received communication, and (c8) prior to making each of the changes in steps (c4) and (c6), adjusting settings of the client to match settings of the originating client for the change being made, the adjusting being performed without modifying the copy of the printed circuit board design, wherein for each change being made, altering at least one of the settings of the client will cause that change to be made in a different manner, and wherein the settings of the client include a trace width or via diameter. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification