Replicated Memory Contention Resolution via Update Counting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with replicated shared memory across multiple interconnected computers, contention arises when multiple sources attempt to update the same memory location simultaneously, leading to race conditions and inconsistencies due to transmission delays and latency in communications networks.

Innovation Solution

A method and system that utilize an updating format including a specific memory location identifier, content, and resident updating count, where receiving memory locations store and compare updating counts to determine the sequence of updates, and employ a resolution value to resolve contention by overwriting data only if the received update's resolution value is greater than the resident value.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple sources update the same memory location simultaneously in replicated shared memory, then computing speed and parallel processing capability are improved, but race conditions and data inconsistencies occur

Engineering Contradiction:
Improvecomputing speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by incorporating update timestamps and version numbers into the update packets before transmission. These preliminary metadata elements allow receiving systems to pre-evaluate the validity and recency of updates without executing them immediately, thereby preventing race conditions while maintaining parallel processing benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where receiving systems compare incoming update timestamps and version numbers against locally stored values. This feedback loop enables automatic determination of whether to apply an update or discard it, ensuring data consistency across replicated memory locations without requiring centralized coordination

Inventive Principle:
Principle #23Feedback

2Reliability

If update propagation is performed immediately across all replicated memory locations, then data consistency is maintained, but transmission delays and network latency cause race conditions

Engineering Contradiction:
Improvedata consistencyVSAvoidtransmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by embedding timestamp and version number metadata directly into update packets before transmission. This allows receiving systems to perform preliminary validation of update recency and validity without waiting for complete propagation or additional round-trip communications, thereby reducing the impact of transmission delays while maintaining consistency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by replicating not only data values but also metadata (timestamps and version numbers) across all memory locations. This metadata copying enables distributed systems to independently verify update validity without requiring synchronous coordination, effectively eliminating race conditions caused by network latency

Inventive Principle:
Principle #26Copying

3Device complexity

If a simple update mechanism is used without contention resolution, then device complexity is reduced, but race conditions and anomalous conditions arise

Engineering Contradiction:
Improveupdate mechanism complexityVSAvoidoperation reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies preliminary action by incorporating timestamps and version numbers into update packets before transmission. These preliminary metadata elements enable receiving systems to autonomously determine update validity and resolve contentions locally without requiring complex centralized arbitration or additional communication protocols, thus maintaining simplicity while ensuring reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling each memory location to autonomously manage its own update validity using embedded timestamps and version numbers. Receiving systems independently compare metadata against stored values and make local decisions about applying updates or discarding them, eliminating the need for complex external coordination while ensuring consistent operation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8473564B2Contention detection and resolution
Publication Date: 2013.06.25 WARATEK LTD
  • US8473564B2 patent drawing
  • US8473564B2 patent drawing
  • US8473564B2 patent drawing

AI summary

A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. In particular a method of detecting and resolving contention is disclosed which utilizes a count value indicative of the number of the sequence of occasions on which each memory location has been updated. Contention is indicated if the currently stored count value and the incoming updating count value are the same. The contention can be resolved by providing a further rule. One such further rule is that in the presence of contention the updating message from the higher numbered computer is to be accepted and the updating message from the lower numbered computer is to be rejected. Other further rules are also disclosed.