Asynchronous Proxy for User Interface Communication

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

VSEngineering 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

Engineering Contradiction:
Improveuser interface responsivenessVSAvoidcommunication pattern complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improverequest processing speedVSAvoiduser waiting time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the UI waits for all responses before displaying results, then data consistency is maintained, but the user experience deteriorates due to blocking

Engineering Contradiction:
Improvedata consistencyVSAvoiduser interface usability
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8903891B2User interface communication utilizing service request identification to manage service requests
Publication Date: 2014.12.02 SAP SE
  • US8903891B2 patent drawing
  • US8903891B2 patent drawing
  • US8903891B2 patent drawing

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.