Unidirectional Gateway Multiplexing with Shared-Memory Delivery Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If data diodes transmit data without confirmation mechanism, then unidirectional isolation is maintained, but throughput decreases due to re-transmission overhead

Engineering Contradiction:
Improvedata delivery confirmationVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If data diodes support multiple concurrent data streams, then versatility increases, but computational overhead increases

Engineering Contradiction:
Improveconcurrent data streams supportVSAvoidcomputational overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

3Productivity

If re-transmission overhead is reduced through confirmation, then productivity increases, but device complexity increases due to verification mechanisms

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidverification mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12407655B2Unidirectional gateway mediated multiplexing of concurrent data message streams
Publication Date: 2025.09.02 OPSWAT INC
  • US12407655B2 patent drawing
  • US12407655B2 patent drawing
  • US12407655B2 patent drawing

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.