Partitioned Acyclic Data Structure Integrity via Function-Call Identifier Tagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems handling partitioned acyclic data structures, processor exceptions or interrupts during modifications can lead to integrity and structure issues, as intervening processes may alter the data structure incorrectly.

Innovation Solution

A computer processor-implemented method where a function-call identifier is stored for each processing function instance modifying a partitioned acyclic data structure, and exclusive access is defined and released for memory locations, ensuring that modifications are only processed if the identifier remains consistent throughout the operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If processor exceptions or interrupts are allowed during data structure modifications, then system responsiveness and multitasking capability are improved, but data structure integrity and correctness deteriorate

Engineering Contradiction:
Improvesystem responsivenessVSAvoiddata structure integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system stores the function-call identifier at the beginning of the modification operation, before any pointer changes occur. This preliminary recording of the identifier state allows the system to later verify that no intervening modifications occurred during the operation, even if processor exceptions or interrupts occurred in between.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a verification mechanism that checks whether the function-call identifier remains unchanged after the modification operation. This feedback loop detects any intervening modifications that may have occurred during processor exceptions or interrupts, allowing the system to identify and handle corrupted data structure states.

Inventive Principle:
Principle #23Feedback

2Reliability

If exclusive access tagging is applied to memory locations during pointer modifications, then data structure integrity is improved, but processing speed and operation throughput deteriorate

Engineering Contradiction:
Improvedata structure integrityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The exclusive access tagging mechanism is applied selectively and locally only to the specific memory locations containing pointers that are being modified, rather than applying broad locks to entire data structures or memory regions. This localized approach minimizes the impact on other processing operations while still providing the necessary protection for the critical pointer modifications.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies the exclusive tag to the target memory location before the pointer modification occurs, and releases it immediately after the modification is complete. This brief, pre-planned exclusive access window ensures data integrity for the critical operation while minimizing the duration of the lock, thereby reducing the impact on overall processing throughput.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11334627B2Data processing
Publication Date: 2022.05.17 ARM LTD
  • US11334627B2 patent drawing
  • US11334627B2 patent drawing
  • US11334627B2 patent drawing

AI summary

A computer-processor-implemented data processing method comprises: a computer processor executing instances of one or more processing functions, each instance of a processing function having an associated function-call identifier; and in response to initiation of execution by the computer processor of a given processing function instance configured to modify one or more pointers of a partitioned acyclic data structure: the computer processor storing the function-call identifier for that processing function instance in a memory at a storage location associated with the partitioned acyclic data structure; for a memory location which stores data representing a given pointer of the partitioned acyclic data structure, the computer processor defining a period of exclusive access to at least that memory location by applying and subsequently releasing an exclusive tag for at least that memory location; and the computer processor selectively processing the given pointer during the period of exclusive access in dependence upon whether the function-call identifier of the prevailing processing function instance is identical to the function-call identifier stored in association with the partitioned acyclic data structure.