Memory Contention Detection in Replicated Systems

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 memory locations simultaneously, leading to race conditions and inconsistencies due to transmission delays and latency in communications networks.

Innovation Solution

A method and system that associate verification data with memory updating messages, using an updating format including a specific identifier, content, and a resident updating count to detect and resolve contention by comparing counts and resolving conflicts based on sequence and resolution values, ensuring consistent updates across multiple computers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple computers simultaneously update replicated memory locations, then computing speed and productivity are improved, but contention and race conditions occur leading to data inconsistencies

Engineering Contradiction:
Improvecomputing speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by attaching verification data (sequence numbers and resolution values) to memory updating messages before transmission. This allows the receiving computer to detect potential contentions and resolve them proactively by comparing the verification data with locally stored values, preventing race conditions before they cause data inconsistencies.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where receiving computers send acknowledgment messages back to transmitting computers after successfully updating memory locations. This feedback loop allows the system to track update successes and failures, enabling coordinated updates and resolving contentions through iterative communication until all computers agree on the final memory state.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If verification data is attached to every memory updating message, then contention detection accuracy is improved, but communication overhead and message complexity increase

Engineering Contradiction:
Improvecontention detection accuracyVSAvoidmessage structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple verification functions into a single verification data structure that includes both sequence numbers and resolution values. This combined approach allows the receiving computer to perform multiple checks (sequence validation, resolution value comparison, and timestamp verification) within a single message processing operation, reducing the overall complexity compared to separate verification mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the parameters of the verification data by using sequence numbers that increment with each update and resolution values that track the most recent successful update. This parameter-based approach provides efficient contention detection without requiring complex message formats, as the verification data grows only as needed based on the update history.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8086805B2Advanced contention detection
Publication Date: 2011.12.27 WARATEK LTD
  • US8086805B2 patent drawing
  • US8086805B2 patent drawing
  • US8086805B2 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. Contention detection and resolution is disclosed. A count value (99) indicative of the cumulative number of times each memory location has been updated is utilized. Contention is indicated if the currently stored count value and the incoming updating count value are the same. A method of echo suppression and a method of echo rejection are disclosed. In particular incrementing the count value by two in the case of consecutive sequential transmission to the same memory location (D) is disclosed.