Client Endpoint Specification for Asynchronous Web Service Responses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web services face inefficiencies due to the need to maintain protocol connections for extended periods, which is impractical and resource-intensive, especially when responses take minutes to hours, and breaking connections prevents response delivery to clients.

Innovation Solution

Implementing a method where a client includes an endpoint identifier in API requests, allowing the server to close the initial connection, process the request asynchronously, and reconnect to send the response through a second network connection, enabling role reversal and efficient communication without maintaining continuous connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a protocol connection is maintained for the duration of long-processing web services (minutes to hours), then the service can provide responses to clients, but resource usage increases and the system becomes impractical

Engineering Contradiction:
Improveresponse delivery reliabilityVSAvoidconnection maintenance resource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The client sends the request and establishes the connection in advance, then the server can close the connection while keeping the request and endpoint information stored. This preliminary action allows the connection to be terminated before the long processing begins, yet the response can still be delivered later by re-establishing a new connection to the same endpoint.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The communication process is segmented into two separate connections: a first connection for sending the request and receiving an endpoint identifier, and a second connection for receiving the response. This segmentation allows the initial connection to be closed after transmitting the endpoint, eliminating the need to maintain it during long processing while ensuring response delivery through the second connection.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the protocol connection is broken to optimize resource usage, then resource efficiency improves, but the web service cannot provide responses to clients

Engineering Contradiction:
Improveresource efficiencyVSAvoidresponse delivery capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The endpoint identifier acts as an intermediary that bridges the gap between connection termination and response delivery. The server stores this endpoint information received during the first connection, uses it to re-establish a second connection after processing completes, thereby ensuring response delivery without maintaining the original connection throughout the processing period.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The endpoint identifier is captured in advance during the first connection before it is closed. This preliminary capture of the endpoint information ensures that even though the connection is broken for resource efficiency, the server retains the necessary information to re-connect and deliver the response reliably.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If continuous connections are maintained for long-processing services, then response delivery is ensured, but connection management complexity increases

Engineering Contradiction:
Improveresponse delivery guaranteeVSAvoidconnection management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The connection management is segmented into distinct phases: first connection for request submission and endpoint exchange, then connection closure, followed by second connection for response delivery. This segmentation simplifies connection management by allowing the first connection to be cleanly closed with all necessary information exchanged, eliminating the need to manage long-lived connections while still ensuring reliable response delivery through the second connection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

All necessary connection information including the endpoint identifier is exchanged in advance during the first connection before closure. This preliminary exchange of information simplifies subsequent connection management by eliminating the need to maintain state across long processing periods, as the endpoint information is already captured and can be used to re-establish connectivity when needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9882957B1Client-side endpoint specification in a network service request
Publication Date: 2018.01.30 AMAZON TECH INC
  • US9882957B1 patent drawing
  • US9882957B1 patent drawing
  • US9882957B1 patent drawing

AI summary

Client-side endpoint configuration can be accomplished by allowing a client to include as part of an API request, a desired endpoint for subsequent notifications from a server. The endpoint can be an endpoint identifier, such as a Uniform Resource Identifier (URI) or a domain name. When a web service receives the API request from a client device, the web service can generate a response to the request and send the response to the endpoint identified in the request. The API request can asynchronously communicate with the client device whenever the response is completed.