Reservation of design elements in a parallel printed circuit board design environment
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-017/50
G06F-009/455
G06F-009/00
G06F-015/16
출원번호
UP-0870497
(2004-06-18)
등록번호
US-7516435
(2009-07-01)
발명자
/ 주소
Petunin, Vladimir V.
Pfeil, Charles L.
Potts, Henry
Shikalov, Vladimir B.
출원인 / 주소
Mentor Graphics Corporation
대리인 / 주소
Banner & Witcoff, Ltd.
인용정보
피인용 횟수 :
3인용 특허 :
61
초록▼
Multiple users simultaneously edit at least a portion of a printed circuit board (PCB) design. The PCB design portion is transmitted to first and second clients for graphical display at each of the clients. A first protection boundary is associated with an area of the PCB design being edited at the
Multiple users simultaneously edit at least a portion of a printed circuit board (PCB) design. The PCB design portion is transmitted to first and second clients for graphical display at each of the clients. A first protection boundary is associated with an area of the PCB design being edited at the first client. A second protection boundary is associated with an area of the PCB design being edited at the second client. The first and second protection boundaries are displayed at each of the first and second clients. A request from one of the clients to edit an object within a region bounded by a protection boundary associated with the other client is rejected. The protection boundary may surround a user's cursor. The size of the boundary may increase based on editing activity by a user in an area of a PCB design.
대표청구항▼
The invention claimed is: 1. A method for editing a printed circuit board design, comprising: receiving design data at each of first and second clients, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those co
The invention claimed is: 1. A method for editing a printed circuit board design, comprising: receiving design data at each of first and second clients, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; generating a first boundary associated with a part of the shared area being edited at the first client; displaying the first boundary, at the second client, as a collection of points separating one region of a graphical display of the pattern of electronec components and connections from another region of said graphically displated pattern; and preventing the second client from editing parts of the shared area within the first boundary. 2. The method of claim 1, wherein: said generating a first boundary comprises generating the first boundary at the first client, and said preventing the second client from editing comprises rejecting at the second client a request to edit a portion of the shared area within the first boundary. 3. The method of claim 1, fUrther comprising transmitting an edit request from the second client to a server, and wherein: the edit request includes a request to edit a portion of the shared area within the first boundary, and said preventing the second client from editing comprises receiving at the second client notification that the server has rejected the edit request. 4. The method of claim 1, wherein the first boundary defines an area around a location of a first cursor, said first cursor being controlled at the first client. 5. The method of claim 4, further comprising: increasing the size of the first boundary based on editing activity within the shared area performed at the first client. 6. The method of claim 1, further comprising: displaying at the second client an identifier associating the first boundary with at least one of the first client and a user editing the shared area from the first client. 7. A method for editing a printed circuit board design, comprising: receiving design data at each of first and second clients, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for a least a portion of the design, the design data includes data corresponding to a least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; associating each of a first plurality of sections of the shared area with a respective one of a first plurality of weight values; changing weight values of the first plurality of weight values based on editing activity at the first client, said editing activity pertaining to the shared area sections associated with the changed weight; generating a first boundary associated with a part of the shared area being edited at the first client, said generating the first boundary including determining a size of the first boundary based on at least some of the weight values; displaying the first boundary at the second client; and preventing the second client from editing parts of the shared area within the first boundary. 8. The method of claim 7, further comprising: changing individual weight values of the first plurality of weight values as a function of time. 9. The method of claim 7, wherein: the first boundary defines a region around a location of a first cursor, said first cursor being controlled at the first client, and said generating the first boundary comprises determining a size of the first boundary based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location. 10. The method of claim 7, further comprising: associating each of a second plurality of sections of the shared area with a respective one of a second plurality of weight values; changing weight values of the second plurality of weight values based on editing activity at the second client, said second client editing activity pertaining to the shared area sections associated with the changed weight values of the second plurality of weight values; generating a second boundary associated with a part of the shared area being edited at the second client, wherein the second boundary defines a region around a location of a second cursor, said second cursor being controlled at the second client, and said generating the second boundary comprises determining a size of the second boundary based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location; displaying the second boundary at the first client; and preventing the first client from editing a portion of the shared area within the second boundary. 11. The method of claim 10, further comprising: determining, prior to said step of preventing the first client from editing, a lower first client priority relative to a second client priority. 12. The method of claim 11, wherein: the priority of the first client is based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location, and the priority of the second client is based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location. 13. The method of claim 10, further comprising: displaying the first and second cursor positions at each of the first and second clients; and changing the manner in which at least one of the first cursor and the first boundary is displayed at the first client when the first cursor is within the region defined by the second boundary. 14. The method of claim 1, further comprising: enlarging the first boundary to include an object partially inside and partially outside the first boundary. 15. A method for editing design data for a printed circuit board, comprising: transmitting the design data to each of first and second clients, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; receiving data describing a first boundary associated with a part of the shared area being edited at the first client; transmitting the data describing the first boundary to the second client for display thereon as a collection of points separating one region of a graphical display of the pattern of electronic components and connections from another region of said graphically displayed pattern; and preventing the second client from editing parts of the shared area within the first boundary. 16. The method of claim 15, wherein said preventing the second client from editing comprises rejecting a request received from the second client to edit a portion of the shared area within the first boundary. 17. The method of claim 15, wherein the first boundary defines an area around a location of a first cursor, said first cursor being controlled at the first client. 18. The method of claim 17, further comprising: receiving additional data describing a changed size of the first boundary based on editing activity within the shared area performed at the first client. 19. The method of claim 15, further comprising: transmitting for display at the second client an identifier associating the first boundary with at least one of the first client and a user editing the shared area from the first client. 20. A method for editing design data for a printed circuit board, comprising; transmitting the design data to each of first and second clients, wherein the design data includes graphically desplayable information regarding a pattern of electronic components and connections berween those components for at least a portion of the design, the design data includes data corresponeing to at least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; receiving data describing a first boundary associated with a part of the shared area being edited at the first client; transmitting the data describing the first boundary to the second client for display thereon; preventing the second client from editing parts of the shared area within the first boundary: associating each of a first plurality of sections of the shared area with a respective one of a first plurality of weight values; and changing weight values of the first plurality of weight values based on editing activity at the first client, said editing activity pertaining to the shared area sections associated with the changed weight values, and wherein a size of the first boundary is based on at least some of the weight values. 21. The method of claim 20, further comprising: changing individual weight values of the first plurality of weight values as a function of time. 22. The method of claim 20, wherein: the first boundary defines a region around a location of a first cursor, the first cursor being controlled at the first client, and the size of the first boundary is based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location. 23. The method of claim 20, further comprising: associating each of a second plurality of sections of the shared area with a respective one of a second plurality of weight values; changing weight values of the second plurality of weight values based on editing activity at the second client, said editing activity pertaining to the shared area sections associated with the changed weight values of the second plurality of weight values; receiving data describing a second boundary associated with a part of the shared area being edited at the second client, wherein the second boundary defines a region around a location of a second cursor, the second cursor being controlled at the second client, and a size of the second boundary is based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location; transmitting the data describing the second boundary to the first client for display thereon; and preventing the first client from editing parts of the shared area within the second boundary. 24. The method of claim 23, further comprising: determining, prior to said step of preventing the first client from editing, a lower first client priority relative to a second client priority. 25. The method of claim 24, wherein: the priority of the first client is based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location, and the priority of the second client is based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location. 26. A method for editing a printed circuit board design, comprising: displaying design data at a first client, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by the first client and a second client; generating a first boundary associated with a part of the shared area being edited at the first client, said first boundary defining a region of the shared area protected from editing by the second client, said first boundary displayable at the second client as a collection points separating one region of a graphical display of the pattern of electronic components and connections from another region of said graphically displayed pattern; and transmitting data regarding the first boundary for display at the second client. 27. The method of claim 26 further comprising: displaying at the first client a second boundary associated with a part of the shared area being edited at the second client, said second boundary defining a region of the shared area protected from editing by the first client. 28. The method of claim 27, further comprising: increasing a size of the first boundary based on editing activity at the first client; transmitting data regarding the increased first boundary size for display at the second client; and receiving data regarding an increased size of the second boundary, said increase in the second boundary size being based on editing activity at the second client. 29. A method for editing a printed circuit board design, comprising: displaying design data at a first client, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by the first client and a second client; generating a first boundary associated with a part of the shared area being edited at the first client, said first boundary defining a region of the shared area protected form edition by the second client; transmitting data regarding the first boundary associated with a part of the shared area displaying at the first client a second boundary associated withe a part of the shared area being edeted at the second client, said second boundary defining a region of the shared area protected from editing by the first client, and wherein the first boundary defines an area around a location of a first cursor, said first cursor being controlled at the first client, and the second boundary defines an area around a location of a second cursor, said second cursor being controlled at the second client. 30. A tangible computer program product having stored thereon data representing sequences of instructions which, when executed by a processor, cause the processor to perform steps comprising: receiving printed circuit board design data at each of first and second clients, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data correspondeng to at least aportion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; generating a first boundary associated with a part of the shared area edited at the first client; displaying the first boundary, at the second client, as a collection of points separating one region of a graphical display of the pattern of electronic components and connections from another region of said graphically displayed pattern; and preventing the second client from editing parts of the shared area within the first boundary. 31. The tangible computer program product of claim 30, wherein: said generating a first boundary comprises generating the first boundary at the first client, and said preventing the second client from editing comprises rejecting at the second client a request to edit a portion of the shared area within the first boundary. 32. The tangible computer program product of claim 30, comprising further instructions for performing steps comprising transmitting an edit request from the second client to a server, and wherein: the edit request includes a request to edit a portion of the shared area within the first boundary, and said preventing the second client from editing comprises receiving at the second client notification that the server has rejected the edit request. 33. The tangible computer program product of claim 30, wherein the first boundary defines an area around a location of a first cursor, said first cursor being controlled at the first client. 34. The tangible computer program product of claim 33, comprising further instructions for performing steps comprising: increasing the size of the first boundary based on editing activity within the shared area performed at the first client. 35. The tangible computer program product of claim 30, comprising further instructions for performing steps comprising: displaying at the second client an identifier associating the first boundary with at least one of the first client and a user editing the shared area from the first client. 36. The tangible computer program product of claim 30, comprising further instructions for performing steps comprising: enlarging the first boundary to include an object partially inside and partially outside the first boundary. 37. A tangible computer program product having stored thereon data representing sequences of instruction which, when executed by a processor, cause the processor to preform steps comprising: receiving printed circuit board design data at each of first and sedond client, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data inlcudes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; associating each of a first plurality of sections of the shared area with a respective one of a first plurality of weight values; changing weight values of the first plurality of weight values based on editing activity at the first client, said editing activity pertaining to the shared area sections associated with the changed weight value; generating a first boundary associated with a part of the shared area beig edited at the first client, said generating the first boundary icluding determining a size of the first boundary based on at least some of the weight; displyig the first boundary at the second client; and preventing the second client from editing parts of the shared area within the first boundary. 38. The tangible computer program product of claim 37, comprising further instructions for performing steps comprising: changing individual weight values of the first plurality of weight values as a function of time. 39. The tangible computer program product of claim 37, wherein: the first boundary defines a region around a location of a first cursor, said first cursor being controlled at the first client, and said generating the first boundary comprises determining a size of the first boundary based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location. 40. The tangible computer program product of claim 37, comprising further instructions for performing steps comprising: associating each of a second plurality of sections of the shared area with a respective one of a second plurality of weight values; changing weight values of the second plurality of weight values based on editing activity at the second client, said second client editing activity pertaining to the shared area sections associated with the changed weight values of the second plurality of weight values; generating a second boundary associated with a part of the shared area being edited at the second client, wherein the second boundary defines a region around a location of a second cursor, said second cursor being controlled at the second client, and said generating the second boundary comprises determining a size of the second boundary based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location; displaying the second boundary at the first client; and preventing the first client from editing a portion of the shared area within the second boundary. 41. The tangible computer program product of claim 40, comprising further instructions for performing steps comprising: determining, prior to said step of preventing the first client from editing, a lower first client priority relative to a second client priority. 42. The tangible computer program product of claim 41, wherein: the priority of the first client is based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location, and the priority of the second client is based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location. 43. The tangible computer program product of claim 40, comprising further instructions for performing steps comprising: displaying the first and second cursor positions at each of the first and second clients; and changing the manner in which at least one of the first cursor and the first boundary is displayed at the first client when the first cursor is within the region defined by the second boundary. 44. A tangible computer program product having stored thereon data representing sequences of instructions which, when executed by a processor, cause the processor to perform steps comprising: transmitting printed circuit board design data to each of first and second clients, Wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; receiving data describing a first boundary associated with a part of the shared area being edited at the first client; transmitting the data describing the first boundary to the second client for display thereon as a collection of points separating one region of a graphical display of the pattern of electronic components and connections from another region of said graphically displayed pattern; and preventing the second client from editing parts of the shared area within the first boundary. 45. The tangible computer program product of claim 44, wherein said preventing the second client from editing comprises rejecting a request received from the second client to edit a portion of the shared area within the first boundary. 46. The tangible computer program product of claim 44, wherein the first boundary defines an area around a location of a first cursor, said first cursor being controlled at the first client. 47. The tangible computer program product of claim 46, comprising further instructions for performing steps comprising: receiving additional data describing a changed size of the first boundary based on editing activity within the shared area performed at the first client. 48. The tangible computer program product of claim 44, comprising further instructions for performing steps comprising: transmitting for display at the second client an identifier associating the first boundary with at least one of the first client and a user editing the shared area from the first client. 49. A tangible computer program product having stored theren data representing sequences of instruction which, when executed by a processor, cause the processor to preform steps comprising: transmitting printed circuit board design data at each of first and sedond client, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data inlcudes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by both of the clients; receiving data describing a first boundary associated with a part of the shared area being edited at the first client; transmitting the data describing the first boundary to the second client for display thereon; preventing the second client from editing parts of the shared area within the first boundary: associating each of a first plurality of sections of the shared area with a respective one of a first plurality of weight values; and changing weight values of the first plurality of weight values based on editing activity at the first client, said editing activity pertaining to the shared area sections associated with the changed weight values, and wherein a size of the first boundary is based on at least some of the weight values. 50. The tangible computer program product of claim 49, comprising further instructions for performing steps comprising: changing individual weight values of the first plurality of weight values as a function of time. 51. The tangible computer program product of claim 49, wherein: the first boundary defines a region around a location of a first cursor, the first cursor being controlled at the first client, and the size of the first boundary is based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location. 52. The tangible computer program product of claim 49, comprising further instructions for performing steps comprising: associating each of a second plurality of sections of the shared area with a respective one of a second plurality of weight values; changing weight values of the second plurality of weight values based on editing activity at the second client, said editing activity pertaining to the shared area sections associated with the changed weight values of the second plurality of weight values; receiving data describing a second boundary associated with a part of the shared area being edited at the second client, wherein the second boundary defines a region around a location of a second cursor, the second cursor being controlled at the second client, and a size of the second boundary is based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location; transmitting the data describing the second boundary to the first client for display thereon; and preventing the first client from editing parts of the shared area within the second boundary. 53. The tangible computer program product of claim 52, further comprising: determining, prior to said step of preventing the first client from editing, a lower first client priority relative to a second client priority. 54. The tangible computer program product of claim 53, wherein: the priority of the first client is based on the weight values associated with sections of the first plurality of shared area sections within a predefined range of the first cursor location, and the priority of the second client is based on the weight values associated with sections of the second plurality of shared area sections within a predefined range of the second cursor location. 55. A tangible computer program product having stored thereon data representing sequences of instructions which, when executed by a processor, cause the processor to perform steps comprising: displaying printed circuit board design data at a first client, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data corresponding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by the first client and a second client; generating a first boundary associated with a part of the shared area being edited at the first client, said first boundary defining a region of the shared area protected from editing by the second client, said first boundary displyable at the second client as a collection of points separating one region of a graphical display of the pattern of electronic components and conections from another region of said graphically displayed pattern; and transmitting data regarding the first boundary for display at the second client. 56. The tangible computer program product of claim 55, comprising further instructions for performing steps comprising: displaying at the first client a second boundary associated with a part of the shared area being edited at the second client, said second boundary defining a region of the shared area protected from editing by the first client. 57. The tangible computer program product of claim 56, comprising further instructions for performing steps comprising: increasing a size of the first boundary based on editing activity at the first client; transmitting data regarding the increased first boundary size for display at the second client; and receiving data regarding an increased size of the second boundary, said increase in the second boundary size being based on editing activity at the second client. 58. A tangible computer program product having stored thereon data representing sequences of istructions which, when executedd by a processor, cause the processor to preform steps comprising: displaying printed circuit board design data at a first client, wherein the design data includes graphically displayable information regarding a pattern of electronic components and connections between those components for at least a portion of the design, the design data includes data correpsonding to at least a portion of a shared area of the design, and the shared area is simultaneously editable by the first client and a second client; generating a first boundary associated with a part of the shared area being ecited at the first client, said firs boundary defining a region of the shared area protected from editing by the second client; transmitting data regarding the first boundary for display at the second client; and displaying at the first cleint a second boundary asscoiated with a part of the shared area being edited at the second cleint, said second boundary defining a region of the shared area protected from editing by the first client, and wherein the first boundary defines an area around a location of a first cursor, said first cursor being controlled at the first client, and the second boundary defines an area around a location of a second cursor, said second cursor being controlled at the second client.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (61)
Robertson, William H.; Plymale, James M., Automated method and system for selecting and procuring electronic components used in circuit and chip designs.
Berkowitz David B. (Palo Alto CA) Hao Ming C. (Los Altos CA) Lieu Hung C. (Santa Clara CA) Snow Franklin D. (Saratoga CA), Collaborative computing system using pseudo server process to allow input from different server processes individually a.
Perry, Jeffrey Robert; Garrison, Martin; Allison, III, Rex L.; Levin, Richard; Gibson, Phil; Sojrani, Vandana A.; Nguyen, Khang; Garrett, Wanda Carol, Creating a PC board (PCB) layout for a circuit in which the components of the circuit are placed in the determined PCB landing areas.
Koga,Chiaki; Tsuda,Masayuki; Nakayama,Akitsugu, Development method for integrated circuits, program storage medium for storing the development method for integrated circuits, and concurrent development system, development program, and development .
Vinciarelli Patrizio ; Foley Jeremiah Noel ; Nowak Scott William ; Skoolicas Charles Steven, Fabrication rules based automated design and manufacturing system and method.
Champagne Steven R. (Poughkeepsie NY) Nagelhout Gary J. (Wappingers Falls NY) Zych Peggy C. (Seven Hills OH), Locking and row by row modification of a database stored in a single master table and multiple virtual tables of a plura.
Rostoker Michael D. (Boulder Creek CA) Dangelo Carlos (Los Gatos CA) Watkins Daniel R. (Los Altos CA), Method and system for creating, deriving and validating structural description of electronic system from higher level, b.
Cuomo Gennaro A. ; Greco Carmine Fred ; Fraenkel Michael L. ; Nguyen Binh Q. ; Singhal Sandeep K., Method and system for interactive sharing of text in a networked environment.
Perry, Jeffrey Robert; Garrison, Martin; Allison, III, Rex L.; Levin, Richard; Gibson, Phil; Sojrani, Vandana A.; Nguyen, Khang; Garrett, Wanda Carol; Perzow, John D., Method to perform thermal simulation of an electronic circuit on a network.
Van Huben, Gary A.; Mueller, Joseph L., Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions.
Brathwaite,Nicholas E.; Bommakanti,Ram Gopal; Ganapathy,Visvanathan; Burns,Paul N.; Maddox,Douglas Edward; Durkan,Michael Anthony, System and method for design, procurement and manufacturing collaboration.
Tucker Marvin G. (Mesquite TX) Johnson Richard W. (Dallas TX) Brueggeman Jeffrey T. (Garland TX) Smyth James C. (Plano TX) Dines Carol E. (Wylie TX) Hawiszczak Robert S. (Richardson TX), System and method for determining quality analysis on fabrication and/or assembly design using shop capability data.
Petrie,Joseph; Chery,Yonald; Gray,Matthew; Cacioppo,Christopher; Leonardo,Christopher; Peden,Jeffrey, System and method for integrating electronic transcription systems.
Saether Christian D. (Seattle WA) Stoppani ; Jr. Peter (Woodinville WA), System of device independent file directories using a tag between the directories and file descriptors that migrate with.
Ginter Karl L. ; Shear Victor H. ; Sibert W. Olin ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.