Claims
- 1. A method comprising:
displaying a master design to a plurality of users; allowing a first user to make first edits to the master design; and simultaneously allowing a second user to make second edits to the master design while maintaining integrity of the master design.
- 2. The method of claim 1, additionally comprising:
determining if the first and second edits conflict; and if the first and second edits do not conflict, then applying the first and second edits to the master design.
- 3. The method of claim 1, wherein displaying the master design comprises displaying all available areas of the master design.
- 4. The method of claim 1, wherein the first and second users edit in shared areas of the master design.
- 5. A method comprising:
displaying a master design to a plurality of users each corresponding to a client, the master design comprising a plurality of arbitrary sections; allowing a first user on a first client to make a first edit to a first arbitrary section of the master design; allowing a second user on a second client to make a second edit to a second arbitrary section of the master design simultaneously with allowing the first user on the first client to make a first edit to the first arbitrary section of the master design; determining if the first and second edits conflict; and applying the first and second edits to the master design to create a compiled master design if the first and second edits do not conflict.
- 6. The method of claim 5, wherein the first and second edits conflict if the first and second edits result in a DRC (design rule check) violation.
- 7. The method of claim 5, additionally comprising synchronizing at least one of the clients with the compiled master design.
- 8. A method comprising:
displaying a master design to a plurality of users each corresponding to a client, the master design comprising a plurality of arbitrary sections, including shared areas and exclusive areas; allowing a first user on a first client to make a first edit to a first arbitrary section of the master design, the first arbitrary section being a shared area of the master design; allowing a second user on a second client to make a second edit to a second arbitrary section of the master design simultaneously with allowing the first user on the first client to make a first edit to a first arbitrary section of the master design, the second arbitrary section being a shared area of the master design; determining if the first and second edits conflict; if the first and second edits conflict, then determining if the conflict can be resolved; if the conflict cannot be resolved, then reporting the conflict to the user who requested the conflicting edit; if the conflict can be resolved, then applying the first and second edits to the master design to create a compiled master design; and synchronizing the clients with the compiled master design.
- 9. The method of claim 8, wherein the first and second edits conflict if the first and second edits result in a DRC (design rule check) violation.
- 10. The method of claim 8, wherein said synchronizing the clients comprises broadcasting the compiled master design to each of the clients.
- 11. A method comprising:
displaying a master design to a plurality of users, the master design having exclusive areas and shared areas, each exclusive area being available for editing by a single user of the plurality of users, and each shared area being available for editing by multiple users of the plurality of users; allowing a first user of the plurality of users to edit within a first exclusive area of the exclusive areas; and simultaneously allowing a second user to edit within a second exclusive area of the exclusive areas.
- 12. The method of claim 11, wherein displaying the master design comprises displaying all available areas of the master design.
- 13. The method of claim 11, additionally comprising allowing a third user to edit within a first shared area of the shared areas.
- 14. A method comprising:
displaying a master design to a plurality of users each corresponding to a client, the master design comprising shared areas and exclusive areas; allowing a first user on a first client to make a first edit to a first exclusive area of the master design; allowing a second user on a second client to make a second edit to a first shared area of the master design simultaneously with allowing the first user on the first client to make a first edit to the first exclusive area of the master design; and allowing a third user on a third client to make a third edit to a second shared area of the master design simultaneously with allowing the first user on the first client to make a first edit to the first exclusive area of the master design, and simultaneously with allowing the second user on the second client to make a second edit to the first shared area of the master design.
- 15. The method of claim 14, additionally comprising:
determining if the second and third edits conflict; if the second and third edits conflict, then determining if the conflict can be resolved; if the conflict cannot be resolved, then reporting the conflict to the user of the plurality of users who requested the conflicting edit; if the conflict can be resolved, then applying the second and third edits to the master design to create a compiled master design.
- 16. The method of claim 15, wherein the second and third edits conflict if the first and second edits result in a DRC (design rule check) violation.
- 17. The method of claim 15, additionally comprising applying the first edit to the master design to update the compiled master design.
- 18. The method of claim 17, additionally comprising synchronizing the clients with the compiled master design.
- 19. The method of claim 18, wherein said synchronizing the clients comprises broadcasting the compiled master design to each of the clients.
- 20. An apparatus comprising:
a conflict checking and resolution module to:
receive an edit request from a client; and perform design rule checking and conflict resolution on the edit request; and a merger unit to apply the edit request to a master design to create a compiled master design if the edit request passes design rule checking and conflict resolution; and a synchronizer to synchronize one or more clients with the compiled master design.
- 21. The apparatus of claim 20, wherein the synchronizer synchronizes all of the one or more clients with the compiled master design in response to the merger unit applying the edit request to the master design.
- 22. The apparatus of claim 20, wherein the synchronizer synchronizes one or more clients with the compiled master design in response to receiving a request from the one or more clients to synchronize.
- 23. A system comprising:
at least one client, where a first client of the at least one client allows a user to request edits to a master design concurrently with a user on a second client of the at least one client; and a server coupled to the at least one client to apply the edit requests to the master design to create a compiled master design.
- 24. The system of claim 23, each client of the at least one client to additionally perform conflict checking and resolution.
- 25. The system of claim 23, the server to additionally perform conflict checking and resolution.
- 26. The system of claim 25, the server to additionally synchronize the at least one client with the compiled master design.
- 27. An apparatus comprising:
a first means to:
receive an edit request from a client; and perform design rule checking and conflict resolution on the edit request; and a second means to apply the edit request to a master design to create a compiled master design if the edit request passes design rule checking and conflict resolution; and a third means to synchronize one or more clients with the compiled master design.
- 28. The apparatus of claim 27, wherein the third means synchronizes all of the one or more clients with the compiled master design in response to the second means applying the edit request to the master design.
- 29. The apparatus of claim 27, wherein the third means synchronizes one or more clients with the compiled master design in response to receiving a request from the one or more clients to synchronize.
- 30. A system comprising:
a first means to allow a user to request edits to a master design concurrently with a user on a second client of the at least one client; and a second means to the first means to apply the edit requests to the master design to create a compiled master design.
- 31. The system of claim 30, the first means to additionally perform conflict checking and resolution.
- 32. The system of claim 30, the second means to additionally perform conflict checking and resolution.
- 33. A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to perform the following:
display a master design to a plurality of users, the master design having a plurality of exclusive areas, each exclusive area being available for editing by a single user of the plurality of users; allow a first user of the plurality of users to edit within a first exclusive area of the plurality of exclusive areas; and simultaneously allow a second user to edit within a second exclusive area of the plurality of exclusive areas.
- 34. The machine-readable medium of claim 33, wherein displaying the master design comprises displaying all available areas of the master design.
- 35. The machine-readable medium of claim 33, wherein the master design additionally comprises shared areas available for editing by multiple users of the plurality of users.
- 36. A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to perform the following:
display a master design to a plurality of users; allow a first user to make first edits to the master design; and simultaneously allow a second user to make second edits to the master design while maintaining integrity of the master design.
- 37. The machine-readable medium of claim 36, the processor to additionally perform the following:
determine if the first and second edits conflict; and if the first and second edits do not conflict, then apply the first and second edits to the master design.
- 38. The machine-readable medium of claim 36, wherein the processor displays the master design by displaying all available areas of the master design.
- 39. A method comprising the steps of:
displaying a master design to a plurality of users; allowing a first user to make first edits to the master design; and simultaneously allowing a second user to make second edits to the master design while maintaining integrity of the master design.
- 40. The method of claim 39, additionally comprising the steps of:
determining if the first and second edits conflict; and if the first and second edits do not conflict, then applying the first and second edits to the master design.
- 41. The method of claim 39, wherein the step of displaying the master design comprises displaying all available areas of the master design.
- 42. A method comprising the steps of:
displaying a master design to a plurality of users, the master design having a plurality of exclusive areas, each exclusive area being available for editing by a single user of the plurality of users; allowing a first user of the plurality of users to edit within a first exclusive area of the plurality of exclusive areas; and simultaneously allowing a second user to edit within a second exclusive area of the plurality of exclusive areas.
- 43. The method of claim 42, wherein the step of displaying the master design comprises displaying all available areas of the master design.
- 44. The method of claim 42, wherein the master design additionally comprises shared areas available for editing by multiple users of the plurality of users.
CLAIM OF PRIORITY
[0001] This application claims the benefit of U.S. Provisional Application No. 60/341,037, filed Dec. 10, 2001. This application is also related to U.S. application Ser. No. ______, entitled “Parallel Electronic Design Automation: Distributed Simultaneous Editing”, filed concurrently on Oct. 10, 2002.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60341037 |
Dec 2001 |
US |
|
60340963 |
Dec 2001 |
US |