Unidirectional Gateway Multiplexing with Shared-Memory Delivery Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data diodes lack the ability to confirm successful receipt of data at the untrusted side, resulting in lower throughput and computational efficiency due to re-transmission overhead, and have limited capability to support multiple concurrent data streams without additional computational/transmission overhead.
Innovation Solution
Employing a Peripheral Component Interconnect Express (PCIe) data link between compute devices in a trusted and untrusted domain, using non-routable schema to ensure unidirectional communication, with integrity verification and state tracking through shared memory locations and software monitoring to guarantee data delivery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data diodes transmit data without confirmation mechanism, then unidirectional isolation is maintained, but throughput decreases due to re-transmission overhead
Solution Approach 1:
The patent introduces shared memory locations as an intermediary between the trusted and untrusted domains to enable indirect confirmation of data receipt. The untrusted domain writes acknowledgment data to shared memory locations that the trusted domain can read, providing delivery confirmation without establishing a bidirectional communication channel. This mediator approach maintains unidirectional isolation while enabling reliability feedback.
2Adaptability or versatility
If data diodes support multiple concurrent data streams, then versatility increases, but computational overhead increases
Solution Approach 1:
The patent segments the data stream management by creating separate shared memory locations for different data streams and using state tables to track each stream independently. Each concurrent data stream is assigned specific memory locations and state entries, allowing parallel processing without interference. This segmentation enables multiple streams to be handled efficiently with minimal computational overhead by avoiding centralized arbitration.
3Productivity
If re-transmission overhead is reduced through confirmation, then productivity increases, but device complexity increases due to verification mechanisms
Solution Approach 1:
The untrusted domain performs self-verification by computing integrity checks (such as checksums or hashes) of received data and storing the results in shared memory locations. This self-service approach allows the untrusted domain to autonomously verify data integrity without requiring complex verification logic in the trusted domain, reducing overall system complexity while maintaining high computational efficiency.
Data Source
AI summary
A method includes transmitting data by a first interface card in a trusted domain. A second interface card in an untrusted domain receives the data. The second interface card stores the data in a first memory location of a plurality of first memory locations in the untrusted domain and verifies integrity of the data. The second interface card writes a result of the verifying in a second memory location of a plurality of second memory locations in the untrusted domain. The first interface card retrieves the result of the verifying from the second memory location of the plurality of second memory locations in the untrusted domain. The first interface card creates a table configured to identify and track a state of the second memory location of the plurality of second memory locations in the untrusted domain corresponding to the data received from the first interface card in the trusted domain.


