Distributed Memory Lock Mechanism for Data Coherence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for simultaneous operation of application programs across multiple computers interconnected via a communications network face issues with stale data values due to updating delays, which can lead to inefficiencies and errors.
Innovation Solution
Implementing a system where each computer acquires a lock on an object or resource before writing new content, records the updated memory locations, releases the lock, and then transmits the updated content to other computers, ensuring that subsequent lock acquirers obtain the latest values without waiting for all computers to update.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If memory locations are replicated across multiple computers and updated via communications network after each write operation, then computing speed is substantially improved due to frequent reading, but data coherence problems arise because of transmission delays causing some computers to access stale data
Solution Approach 1:
The patent applies preliminary action by establishing a lock acquisition requirement before any memory write operation. When a computer wishes to write to a replicated memory location, it must first acquire a lock, ensuring that no other computer can simultaneously read or write to that location. This prevents race conditions and ensures data coherence before the actual write occurs.
Solution Approach 2:
The patent implements feedback through the lock release mechanism that automatically transmits updated memory location information to other computers. When a computer releases the lock after completing a write operation, it sends feedback signals containing the updated memory location data to other computers in the network, ensuring they receive the latest information without requiring continuous polling.
2Reliability
If locks are acquired before writing to replicated memory locations, then data coherence is maintained, but waiting time increases due to lock acquisition and transmission delays
Solution Approach 1:
The patent applies copying by creating a copy of the lock state and memory location information that is transmitted to other computers when the lock is released. This copied information allows other computers to update their local views of memory locations without requiring them to wait for the original writer to complete all operations, reducing waiting time while maintaining coherence.
Solution Approach 2:
The patent uses the lock release mechanism as an intermediary that coordinates between the writing computer and reading computers. The lock release act serves as a mediator that triggers the transmission of updated memory location information, allowing readers to acquire their data without directly waiting for the writer to finish all operations, thus reducing waiting time.
3Reliability
If all computers must be updated before a lock can be acquired by another computer, then data coherence is ensured, but productivity decreases due to sequential waiting
Solution Approach 1:
The patent applies segmentation by dividing the update process into two phases: the lock acquisition phase (which ensures coherence) and the data transmission phase (which occurs upon lock release). This segmentation allows other computers to proceed with acquiring locks for different memory locations without waiting for all computers to complete updates, thereby improving productivity while maintaining data coherence through the structured lock management.
Data Source
AI summary
A multiple computer environment is disclosed in which an application program executes simultaneously on a plurality of computers (M1, M2, . . . Mn) interconnected by a communications network (53) and in which the local memory of each computer is maintained substantially the same by updating in due course. A lock mechanism is provided to permit exclusive access to an asset, object, or structure (ie memory location) by acquisition and release of the lock. In particular, before a new lock can be acquired by any other computer on a memory location previously locked by one computer, any re-written content(s) for the previously locked memory location are transmitted to all the other computers and their corresponding memory locations (before the in due course updating). Thus when the new lock is acquired all the corresponding memory locations of all computers have been updated.


