WebSocket OData Transport Channel for Asynchronous Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing OData interfaces are designed for synchronous HTTP communication, which requires establishing and closing connections for each request, leading to performance inefficiencies and limitations in maintaining application sessions, whereas applications often require asynchronous communication to improve performance and enable push data capabilities.

Innovation Solution

Implementing an asynchronous transport channel using web sockets that upgrades HTTP connections to remain open for subsequent requests, allowing for asynchronous communication and enabling the application server to push data, while reusing existing OData service implementations and frameworks without modifying OData providers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If synchronous HTTP communication is used for OData interfaces, then connection establishment and closing for each request follows standard protocol design, but performance efficiency deteriorates and application session management becomes limited

Engineering Contradiction:
Improveperformance efficiencyVSAvoidconnection management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies the continuity principle by upgrading HTTP connections to WebSocket connections, which maintain persistent open connections instead of establishing and closing connections for each request. This continuous connection allows multiple OData requests and responses to flow through the same channel, eliminating repeated connection handshakes and improving performance efficiency while reducing connection management complexity.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements dynamics by transitioning from static HTTP request-response cycles to dynamic WebSocket connections that can adaptively handle multiple bidirectional communications. The connection remains flexible and alive, allowing the system to dynamically exchange OData requests and responses without rigid connection establishment and termination for each interaction.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If HTTP connections are established and closed for each OData request, then standard synchronous communication protocol is followed, but application server load increases and push data capabilities are lost

Engineering Contradiction:
Improvepush data capabilityVSAvoidapplication server load
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

By maintaining continuous WebSocket connections, the application server can proactively push data to clients without waiting for new request cycles. This eliminates the need to repeatedly establish connections and enables efficient server-initiated data推送, reducing application server load while improving ease of operation for push scenarios.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The WebSocket connection acts as an intermediary channel that facilitates bidirectional communication between the application server and clients. This intermediary enables push data capabilities by providing a persistent pathway through which the server can send data initiatively, rather than relying solely on client-initiated requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If multiple HTTP connections are established for subsequent OData requests, then each request is handled independently, but network overhead increases and session management becomes complex

Engineering Contradiction:
Improveconnection setup timeVSAvoidsession management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges multiple independent HTTP connections into a single persistent WebSocket connection that handles multiple OData requests and responses. This consolidation eliminates repeated connection setup times and simplifies session management by maintaining a unified communication channel, directly addressing both the time loss and complexity issues.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The WebSocket connection serves as a universal channel that can handle multiple types of OData communications (requests, responses, push data) within a single connection framework. This multi-functionality eliminates the need for separate connection management for different communication scenarios, reducing both setup time and session management complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11689626B2Transport channel via web socket for ODATA
Publication Date: 2023.06.27 SAP SE
  • US11689626B2 patent drawing
  • US11689626B2 patent drawing
  • US11689626B2 patent drawing

AI summary

The present disclosure involves systems, software, and computer implemented methods for providing an asynchronous transport channel for OData data using web sockets. One example method includes upgrading a HTTP connection to a web socket connection in response to an upgrade request. The web socket connection is maintained, after the upgrading, for receipt of subsequent web socket requests. An OData request is received, from a consuming application, over the web socket connection. The OData request is translated to a format used by an OData runtime environment and sent to the OData runtime environment. A response to the OData request is received from the OData runtime environment. The response is incorporated into a web socket message. The web socket message is sent to the consuming application, over the web socket connection, in response to the OData request, with the web socket connection remaining open after the web socket message is sent.