Client-Side Lock List for Concurrent Electronic Circuit Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electronic design automation (EDA) tools face challenges in managing concurrent multi-user access to complex electronic circuit designs, particularly in geographically dispersed teams, where synchronization and authorization processes can lead to latency and inefficiencies.

Innovation Solution

A computer-implemented method for multi-user, at least partially concurrent electronic circuit design that includes storing a lock list on a client device, receiving user input for lock or unlock requests, and transmitting these requests to a server for determination, without requiring server authorization, allowing for real-time updates and visualization across multiple users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If server authorization is required for every lock/unlock request in multi-user EDA tools, then data consistency is maintained, but system latency increases and collaboration efficiency deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining a lock list at the client device that tracks locked and unlocked objects before server authorization is needed. This allows users to work with locked objects locally without waiting for server confirmation, reducing latency while maintaining data consistency through periodic synchronization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The authorization process is segmented into client-side preliminary checks using the lock list and server-side final authorization. This segmentation allows the time-critical lock/unlock operations to proceed quickly at the client level while the server maintains overall data consistency, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If concurrent multi-user access is enabled in EDA tools, then collaboration efficiency improves, but synchronization complexity and device complexity increase

Engineering Contradiction:
Improvecollaboration efficiencyVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates a local copy of the lock list at each client device, allowing users to work concurrently without constantly communicating with the server. This copying approach enables efficient multi-user collaboration while reducing synchronization complexity by minimizing server-client communication overhead.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The lock list acts as an intermediary data structure that mediates between multiple users and the server. It tracks the state of locked objects locally, enabling concurrent access without direct server involvement for every operation, thus improving collaboration efficiency while managing synchronization complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If real-time updates are implemented without server authorization, then response speed improves, but data integrity risks increase

Engineering Contradiction:
Improveresponse speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary validation by checking the lock list locally before allowing real-time updates. This preliminary action ensures that updates only occur on properly locked objects, maintaining data integrity while enabling fast response speeds without requiring server authorization for every operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10404700B1Concurrent design process
Publication Date: 2019.09.03 CADENCE DESIGN SYST INC
  • US10404700B1 patent drawing
  • US10404700B1 patent drawing
  • US10404700B1 patent drawing

AI summary

The present disclosure relates to a method for multi-user, at least partially concurrent, electronic circuit design. Embodiments may include storing a lock list at a client computing device, wherein the lock list includes objects associated with an electronic design that have been locked or unlocked. Embodiments may further include receiving a user input corresponding to a lock/unlock request associated with an object of the design, wherein the design is accessible by multiple users in an at least partially concurrent manner. Embodiments may include transmitting the lock/unlock request to a server computing device. Embodiments may further include comparing the user input corresponding to at least one of the lock request or unlock request with the lock list and determining whether to lock or unlock the object based upon, at least in part, the comparison, wherein determining does not include receiving server authorization.