Asynchronous Proxy for User Interface Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web-based user interfaces using synchronous communication patterns result in a blocked or 'frozen' user interface, as they cannot push information from the server to the client, leading to inefficiencies in processing user requests, particularly in multi-system environments where responses from multiple systems need to be accumulated before displaying results.
Innovation Solution
Implementing an asynchronous communication pattern through a Back End Connectivity Layer that uses an asynchronous proxy to parallelize service calls, allowing the user interface to continue functioning while responses are processed, and utilizing a 'pseudo-push' mechanism with real-time messaging to inform the UI of available data, enabling the UI to display responses as they become available from multiple systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If synchronous communication pattern is used, then the server can process requests sequentially with simple architecture, but the user interface becomes blocked or frozen until response is received
Solution Approach 1:
The patent introduces a service request identifier as an intermediary mechanism that decouples the synchronous UI interaction from the asynchronous backend processing. The identifier acts as a mediator that allows the UI to initiate requests without blocking, while still being able to correlate and display responses in the correct order.
Solution Approach 2:
The system performs preliminary actions by generating service request identifiers and establishing async communication channels before the actual data processing completes. This allows the UI to remain responsive while the backend processes requests in parallel.
2Productivity
If synchronous request processing is used, then the request flow is simple to manage, but the processing time increases as the UI must wait for all responses
Solution Approach 1:
The asynchronous communication pattern enables continuous useful action by allowing the UI to remain operational and accept new user input while backend requests are being processed. Multiple requests can be processed in parallel without the UI idle-waiting, maximizing system throughput and user productivity.
Solution Approach 2:
By preliminarily establishing async communication channels and generating request identifiers before processing completes, the system enables overlapping of request issuance with response retrieval, eliminating idle waiting time.
3Reliability
If the UI waits for all responses before displaying results, then data consistency is maintained, but the user experience deteriorates due to blocking
Solution Approach 1:
The service request identifier serves as a mediator that maintains data consistency while enabling async operations. By correlating responses with their corresponding requests through these identifiers, the system ensures that data is displayed in the correct logical sequence even though processing occurs in parallel.
Solution Approach 2:
The system preliminarily establishes the mapping between requests and responses using service request identifiers, enabling the UI to display data as it becomes available while maintaining proper association and consistency through the pre-established identifier relationships.
Data Source
AI summary
Apparatus, systems, and methods may operate to receive a first service request for data from a user application executing on at least one first machine and, in response to the receiving, synchronously transmit a service request identification to the user application in reply to the first service request, as well as dispatching the first service request as an additional request to an application layer executing on at least one second machine. Further activities may include notifying the user application that a second response, including the data, is available for consumption (after receiving a response to the additional request), receiving a second service request from the user application, along with the service request identification, and synchronously transmitting the second response to the user application in reply to the second service request. Additional apparatus, systems, and methods are disclosed.


