Bi-directional Asynchronous I/O Abstraction Using Tightly Coupled Reactive Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Reactive Streams (RS) currently support only unidirectional asynchronous communications, lacking a natural mechanism for real-time error reporting from the writing side, which often results in errors being logged or reported out of band, complicating error handling and reducing robustness.

Innovation Solution

Tightly coupling pairs of RS flows to enable bi-directional asynchronous communications, allowing errors to be routed within the RS flows, facilitating robust error handling by integrating error reporting into the existing RS protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If Reactive Streams support only unidirectional asynchronous communications, then the protocol remains simple and easy to implement, but error reporting becomes complex and must be handled out of band

Engineering Contradiction:
Improveease of implementing RS protocolVSAvoidcomplexity of error handling
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the communication channel into two separate unidirectional RS flows: one for data transmission and another for error reporting. This segmentation allows each flow to maintain its simplicity while collectively enabling bidirectional communication with proper error handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism that couples two unidirectional RS flows to create a bidirectional communication system. This intermediary layer handles the error reporting functionality without requiring modifications to the core RS protocol, thus maintaining ease of implementation while improving error handling capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If errors are reported out of band, then the unidirectional RS flow remains simple, but error handling robustness is reduced

Engineering Contradiction:
Improvesimplicity of unidirectional flowVSAvoidrobustness of error handling
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent merges error reporting functionality into the RS flow structure by establishing a dedicated error stream that is tightly coupled with the data stream. This integration allows errors to be handled within the same framework as data communication, improving robustness while maintaining flow simplicity through standardized RS mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements feedback mechanisms where the error stream provides real-time error information back to the data stream processor. This feedback loop enables robust error handling by allowing the system to respond to errors dynamically, while the feedback is carried through the standardized RS protocol structure.

Inventive Principle:
Principle #23Feedback

3Reliability

If bidirectional communication is implemented using tightly coupled RS flows, then error handling is improved, but the system complexity increases

Engineering Contradiction:
Improveerror handling capabilityVSAvoidcomplexity of flow coupling
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the RS flow structure universal by demonstrating how two unidirectional flows can be coupled to achieve bidirectional communication. The same RS mechanisms used for data transmission are reused for error reporting, reducing overall system complexity while improving error handling capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent embeds the error stream within the context of the data stream by tightly coupling the two unidirectional flows. This nesting approach allows the error handling functionality to be contained within the existing RS flow structure, minimizing additional complexity while maximizing error handling robustness.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10846249B2Bi-directional asynchronous I/O abstraction based upon pair of tightly coupled reactive streams flows
Publication Date: 2020.11.24 ORACLE INT CORP
  • US10846249B2 patent drawing
  • US10846249B2 patent drawing
  • US10846249B2 patent drawing

AI summary

Systems and methods are provided based on tightly coupled RS flows to provide bi-directional asynchronous stream processing with non-blocking back pressure. Signal, data, and error processing may be performed and routing of signals, data, and error information between multiple RS flows may be performed according to detected conditions.