Active Access Pointers for Zero-Copy Shared Memory Communication
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


