Synchronous Interface for Asynchronous Service Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Clients requiring synchronous functionality often face instability or early termination when only asynchronous services are available, as they cannot meet operational constraints or preferences.

Innovation Solution

A synchronous interface is provided for asynchronous services, allowing clients to interact with asynchronous services as if they were synchronous, by issuing requests with unique client identifiers and associating wait conditions represented by semaphores or hash tables, ensuring clients wait for and receive results correctly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If clients use asynchronous services to process functions, then service flexibility and resource sharing are improved, but client stability and predictability deteriorate due to inability to meet operational constraints

Engineering Contradiction:
Improveservice flexibilityVSAvoidclient stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a synchronous interface as an intermediary layer between synchronous clients and asynchronous services. This interface accepts synchronous function calls from clients, converts them into asynchronous service requests, and manages the waiting process using semaphores or hash tables to track client identifiers. When the asynchronous service completes, the interface retrieves results and returns them to clients, thereby enabling clients to use asynchronous services while maintaining synchronous programming behavior and stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If clients wait for asynchronous service results, then operational constraints are met, but response time and efficiency worsen

Engineering Contradiction:
Improveoperational constraint complianceVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-allocating wait conditions (semaphores or hash table entries) for each client identifier before asynchronous service execution. When a client issues a synchronous request, the interface immediately sets up the waiting mechanism and client tracking structure, allowing the client to block efficiently without repeated checking. This preliminary preparation reduces the overhead of waiting and improves response time compared to naive polling or repeated synchronous calls.

Inventive Principle:
Principle #10Preliminary action

3Speed

If clients issue synchronous requests to asynchronous services, then immediate response is obtained, but service resource utilization deteriorates

Engineering Contradiction:
Improveresponse speedVSAvoidservice resource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies dynamics by making the waiting mechanism adaptive based on service availability and client needs. The synchronous interface dynamically manages client identifiers and wait conditions, allowing clients to block when services are unavailable while preventing resource exhaustion through proper semaphore management. This dynamic approach enables immediate response for clients that need it while allowing the asynchronous service to continue processing other requests in parallel, maintaining high resource utilization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7970814B2Method and apparatus for providing a synchronous interface for an asynchronous service
Publication Date: 2011.06.28 RAYTHEON CO
  • US7970814B2 patent drawing
  • US7970814B2 patent drawing
  • US7970814B2 patent drawing

AI summary

Methods and apparatus for providing a synchronous interface for an asynchronous service including, in a synchronous interface engine executing on a processor, receiving a request from a client for the asynchronous service, issuing an asynchronous service request to perform the asynchronous service, the asynchronous service request including a unique client identifier, and associating a wait condition with the unique client identifier to indicate to the client to wait for a result of the asynchronous service. Methods and apparatus further include receiving the result of the asynchronous service, the result including the unique client identifier, removing the associated wait condition, and sending the result to the client.