Asynchronous Web Service Transport for Scalable Client Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web service environments face challenges in supporting scalable asynchronous clients, as current technologies like JAX-WS primarily address asynchronous threading at the client level, leading to added complexity and performance issues when clients interact with larger applications or clusters.

Innovation Solution

The system extends web service environments by enabling asynchronous transport, allowing decoupling of request and response messages, with clients using SOAP headers and HTTP for communication, and automatically deploying endpoint references for response delivery, thereby simplifying the development of complex asynchronous environments and improving quality of service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If JAX-WS addresses asynchronous threading at the client level, then asynchronous client support is provided, but the client becomes a de facto server adding complexity

Engineering Contradiction:
Improveasynchronous client supportVSAvoidclient complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a transport layer as an intermediary between the client and web service that handles asynchronous message delivery. The transport decouples the request-response cycle, allowing the client to send requests and receive responses at different times without becoming a server. The transport manages the complexity of asynchronous communication, thread pooling, and message routing, while the client maintains its simple client role.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the client is part of a larger application or cluster, then sophisticated needs arise, but the added complexity creates a burden on the developer

Engineering Contradiction:
Improvesupport for larger applications and clustersVSAvoiddeveloper burden
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent segments the web service communication system into distinct layers: the client layer for simple request initiation, the transport layer for managing asynchronous message delivery and thread pooling, and the service layer for business logic. This segmentation allows each layer to handle specific concerns independently, reducing the burden on developers who only need to work with the simple client interface while the transport handles complex clustering and asynchronous delivery requirements.

Inventive Principle:
Principle #1Segmentation

3Reliability

If the client blocks at the transport level, then request-response interaction occurs, but performance is affected

Engineering Contradiction:
Improverequest-response interactionVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic thread pooling at the transport layer that can adapt to varying load conditions. The transport maintains a pool of worker threads that can be dynamically allocated to handle multiple asynchronous requests concurrently. This dynamic resource management allows the system to maintain reliable request-response interaction while improving performance by preventing client blocking and enabling parallel message processing.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10318358B2System and method for extending a web service environment to support scalable asynchronous clients
Publication Date: 2019.06.11 ORACLE INT CORP
  • US10318358B2 patent drawing
  • US10318358B2 patent drawing
  • US10318358B2 patent drawing

AI summary

An asynchronous transport enables decoupling the delivery of an operation's request and response messages, from the request and response cycle of a single exchange on the transport. The response message need not be delivered as the response to the initial transport request, but can instead be delivered by the web service to a response endpoint or other location selected by the client, using a new connection originating from the service. In accordance with an embodiment, the client communicates with the web service via request messages that include a SOAP header, formatted according to an XML format, and conveyed using the HTTP. The asynchronous transport automatically deploys, for a client, an endpoint reference that will ultimately receive corresponding response messages. This allows the response to ultimately return to the client application in a manner consistent with the JAX-WS specification, without the developer having to change their original client application.