Concurrent Electronic Circuit Design with Local Client Implementation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic design automation (EDA) tools face challenges in allowing multiple users to concurrently work on complex electronic circuit designs, particularly across different geographical locations, due to synchronization issues and latency problems when changes need to be authorized by a server.
Innovation Solution
A computer-implemented method and system for multi-user, at least partially concurrent electronic circuit design that allows users to implement changes locally on a client device without immediate server authorization, synchronizing updates with the server while maintaining database integrity through asynchronous operations and unique database identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If server authorization is required for each change to maintain database integrity, then data consistency is improved, but system latency and user productivity deteriorate
Solution Approach 1:
The system performs preliminary actions by having the client device implement changes locally immediately without waiting for server authorization. The change is applied to the local database and displayed right away, while authorization and synchronization with the server happen in the background asynchronously, thus eliminating waiting time for users.
Solution Approach 2:
The client device acts as an intermediary that buffers between user actions and server authorization. It maintains a local database that can operate independently, allowing changes to be implemented locally first, then synchronized with the server later, decoupling the immediate user interaction from server response time.
2Reliability
If server authorization is required for each change, then database integrity is improved, but user productivity and real-time collaboration deteriorate
Solution Approach 1:
The client device performs preliminary local implementation of changes without waiting for server authorization. Multiple users can make and see each other's changes in real-time on their local devices, while the server eventually synchronizes all changes to maintain global database integrity.
Solution Approach 2:
The system maintains continuous useful action by allowing users to work continuously without interruption for server authorization. The asynchronous synchronization process runs in the background without blocking user operations, ensuring continuous productivity while still maintaining database integrity eventually.
3Speed
If changes are implemented locally without server authorization, then system latency is reduced, but database consistency and data reliability worsen
Solution Approach 1:
The client device implements changes preliminarily and locally immediately for fast user feedback, then performs asynchronous synchronization with the server in the background. This two-stage approach ensures both fast local response and eventual global consistency.
Solution Approach 2:
The system uses feedback mechanisms where the client device sends change notifications to the server and receives synchronization status updates. The server processes changes and feeds back synchronization results to the client, ensuring that local changes eventually align with the global database state while maintaining fast local responsiveness.
Data Source
AI summary
The present disclosure relates to a method for multi-user, at least partially concurrent, electronic circuit design. Embodiments may include receiving, at a client computing device, a user input corresponding to a change to an electronic circuit design, wherein the electronic circuit design is accessible by multiple users in an at least partially concurrent manner. Embodiments may also include implementing the change to the electronic circuit design at the client computing device without receiving authorization from a server computing device and transmitting the implemented change to the electronic circuit design to the server computing device.


