HTTP Pub-Sub Server for JMS Client Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies, such as the Bayeux protocol, do not effectively integrate channel-based communication between web-based clients and JMS-based application servers, limiting the ability of thousands of HTTP-based clients to simultaneously access information from a single JMS provider.

Innovation Solution

A publish and subscribe (pub/sub) server system that uses HTTP to enable channel-based communication, allowing web clients to send and receive asynchronous messages by identifying clients, negotiating trust, and exchanging messages, while associating HTTP channels with JMS destinations, thereby bridging the gap between JMS-based backend servers and channel-based HTTP servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the Bayeux protocol is used for channel-based communication, then asynchronous message delivery is achieved, but the system cannot effectively support thousands of simultaneous HTTP clients accessing a single JMS provider

Engineering Contradiction:
Improvenumber of simultaneous clientsVSAvoidmessage delivery reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an HTTP publish-subscribe server as an intermediary component between HTTP clients and the JMS provider. This mediator receives messages from JMS destinations, maintains channel subscriptions, and distributes messages to appropriate HTTP clients. The intermediary absorbs the complexity of managing thousands of simultaneous connections, allowing the JMS provider to focus on reliable message delivery while the HTTP layer handles client scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct JMS integration is used, then message delivery reliability is maintained, but the system complexity increases and cannot scale to thousands of clients

Engineering Contradiction:
Improveclient scalabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct functional layers: the JMS provider layer handles message production and reliable delivery, the HTTP publish-subscribe server layer handles channel management and client connection management, and the client layer handles message consumption. This segmentation allows each component to be optimized independently, reducing overall system complexity while enabling scalability to thousands of clients.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If channel-based communication is implemented over HTTP, then web client accessibility is improved, but the ability to effectively utilize JMS provider capabilities is limited

Engineering Contradiction:
Improveweb client compatibilityVSAvoidintegration effectiveness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The HTTP publish-subscribe server creates a copy of the JMS message delivery model adapted for HTTP protocols. It maintains channel subscriptions that mirror JMS topic subscriptions, translates JMS messages into HTTP responses, and preserves the publish-subscribe semantics. This copying approach allows web clients to access JMS provider capabilities through familiar HTTP protocols while maintaining the reliability and effectiveness of the underlying JMS infrastructure.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8849946B2System and method for hypertext transfer protocol publish and subscribe server
Publication Date: 2014.09.30 ORACLE INT CORP
  • US8849946B2 patent drawing
  • US8849946B2 patent drawing
  • US8849946B2 patent drawing

AI summary

A system and method for providing a publish and subscribe server that includes channels to allow web based clients to send and receive asynchronous messages. In accordance with an embodiment, the system provides a Hypertext Transfer Protocol (HTTP) publish and subscribe (pub/sub) server that includes a channels-based means to allow web based clients to send and receive asynchronous messages over HTTP, including in some embodiments messages published by a JMS provider.