Synchronous-Asynchronous Operation Intermediary Layer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems cannot seamlessly integrate synchronous operations with asynchronous systems, requiring modifications and proprietary operations, which limits the reuse of conventional operations and inter-operability between different programming languages.
Innovation Solution
A computer program product and method that utilize an ordered list and stack data structure to manage operations, where a primary synchronous operation is invoked alongside secondary asynchronous operations, allowing determination of the primary operation's completion based on the completion of secondary operations, enabling conversion and inter-operability between synchronous and asynchronous communication models.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If synchronous operations are used in an asynchronous system, then the system can maintain simple operation models, but the system cannot seamlessly integrate operations from different programming languages without modifications
Solution Approach 1:
The patent introduces an intermediary layer that sits between synchronous and asynchronous operations. This layer uses an ordered list to queue operations and a stack to manage their execution context, allowing synchronous calls to be translated into asynchronous execution without requiring modifications to the operations themselves. The intermediary handles the conversion and coordination, enabling seamless integration between different programming language paradigms.
Solution Approach 2:
The patent segments the operation execution into distinct phases: queuing operations in an ordered list, managing their execution context on a stack, and handling completion events separately. This segmentation allows the system to process synchronous operations in an asynchronous manner by breaking down the execution flow into manageable segments that can be handled independently.
2Productivity
If synchronous operations block execution waiting for API calls to return, then the operation completion can be determined simply, but the application experiences latency and performance lag
Solution Approach 1:
The patent performs preliminary actions by queuing operations in an ordered list before execution begins. The system prepares the operation context on the stack in advance, allowing asynchronous operations to proceed without blocking the main execution flow. This preliminary setup enables the application to continue executing other tasks while waiting for API calls to complete, eliminating user-perceived latency.
Solution Approach 2:
The patent introduces dynamic execution flow where operations can be invoked asynchronously and completed at different times. The ordered list dynamically manages the sequence of operations, while the stack dynamically tracks their execution state. This dynamic approach allows the system to adapt to varying operation completion times without imposing static blocking behavior, thereby improving productivity while minimizing perceived latency.
3Productivity
If asynchronous API calls are used, then execution continues without blocking, but the system requires proprietary operations and cannot reuse conventional synchronous operations
Solution Approach 1:
The patent creates a universal operation interface that can handle both synchronous and asynchronous operations through the same ordered list and stack mechanism. Conventional synchronous operations can be invoked without modification, and the system automatically manages their asynchronous execution. This multi-functionality allows the same operation framework to serve both paradigms, eliminating the need for proprietary operations while maintaining non-blocking execution.
4Reliability
If synchronous and asynchronous communication models are used separately, then each model works reliably within its own context, but there is no way for them to communicate with each other
Solution Approach 1:
The patent introduces an intermediary communication layer that translates between synchronous and asynchronous models. The ordered list queues communication requests, while the stack manages the translation of communication semantics. This intermediary maintains the reliability of each communication model by preserving their respective protocols while enabling integration, allowing synchronous requesters to communicate with asynchronous services without direct interaction between the two models.
Data Source
AI summary
A method, system, and computer program product includes a processor storing, in an order of invocation, a plurality of operations in an ordered list. The first entry is a primary operation and that is a synchronous operation and the subsequent entries include an asynchronous operation, and the secondary operations are required to complete before the primary operation can complete. The processor invokes, in the order of invocation, the plurality of operations. Based on invoking the primary operation and the secondary operations, the processor stores information about the operations as content in a stack. The processor determines that the primary operation can be completed by analyzing a portion of the content of the stack.


