Active Access Pointers for Zero-Copy Shared Memory Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current communication methods between clients and servers in shared memory environments, such as in aircraft systems, face inefficiencies due to data copying at the operating system level, leading to potential data locking, blocking, and priority inversion issues, which can impact system performance and reliability.

Innovation Solution

The implementation of a mechanism using active access pointers that allocate data into mailslots with client- and server-controlled buffers, allowing direct manipulation of message data without copying at the operating system level, utilizing atomic operations and machine assembly language to enable zero-copy data exchange and prevent data locking or blocking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data copying is performed at the operating system level for communication between clients and servers, then data integrity and process isolation are maintained, but system performance deteriorates due to data locking, blocking, and priority inversion issues

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the data copying operation from the operating system level and performs it at the application level using active access pointers. This removes the bottleneck caused by OS-level data copying while maintaining process isolation through controlled memory access semantics, thereby improving system performance without sacrificing data integrity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces active access pointers as intermediaries between clients and servers. These pointers enable direct manipulation of message data in shared memory without requiring OS-level copying or locking mechanisms, thus eliminating blocking and priority inversion issues while preserving data integrity through controlled access

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If active access pointers are used to enable direct manipulation of message data without copying, then system performance improves through zero-copy data exchange, but device complexity increases due to the need for atomic operations and buffer management

Engineering Contradiction:
Improvedata exchange efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the shared memory into distinct buffers, each associated with specific clients or servers. This segmentation allows for organized management of message data and simplifies the complexity of buffer management by providing clear boundaries and ownership semantics for each buffer segment

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary allocation of buffers and assignment of active access pointers before data exchange occurs. This preliminary setup eliminates the need for complex runtime buffer management and atomic operations during actual data exchange, as the structure is predetermined and optimized for zero-copy communication

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If traditional OS-level data copying is used, then implementation simplicity is maintained, but system reliability deteriorates due to potential denial-of-service attacks and blocking issues

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsystem reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements self-service mechanisms where clients and servers directly manage their own buffer access through active access pointers without relying on OS-level copying or locking. This self-managed approach eliminates blocking issues and denial-of-service vulnerabilities while maintaining implementation simplicity through straightforward pointer-based access control

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10560542B2Mechanism and method for communicating between a client and a server by accessing message data in a shared memory
Publication Date: 2020.02.11 GE AVIATION SYSTEMS LLC
  • US10560542B2 patent drawing
  • US10560542B2 patent drawing
  • US10560542B2 patent drawing

AI summary

A mechanism and method for accessing message data in a shared memory by at least one client, includes an allocation of data in the shared memory, the memory configured in a plurality of buffers, and accessing the data by a client or a server without locking or restricting access to the data.