Request/Reply Middleware Wrapper for Publish/Subscribe Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional middleware lacks direct support for request/reply programming semantics, requiring developers to implement complex communications using sockets API or unsuitable middleware APIs, making it difficult and time-consuming to design distributed systems.

Innovation Solution

A request/reply middleware wrapper that transposes request/reply communications into publish/subscribe communications using publish/subscribe middleware, facilitating easier implementation by providing a simpler API and leveraging existing publish/subscribe middleware for managing network communications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If sockets API is used to implement request/reply communications, then communication functionality is achieved, but implementation complexity and required expertise increase

Engineering Contradiction:
Improveease of implementationVSAvoidimplementation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a middleware layer that acts as an intermediary between application components and the underlying sockets API or publish/subscribe infrastructure. This middleware handles the complexity of implementing request/reply semantics by providing a simplified API that automatically manages message routing, correlation, and reply delivery, thereby resolving the contradiction between achieving communication functionality and reducing implementation complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the communication system into distinct layers: application components, middleware, and underlying communication infrastructure. By separating request/reply logic from the transport mechanism, the system allows developers to work with simple high-level APIs while the middleware handles the complex details of message exchange, correlation IDs, and reply routing

Inventive Principle:
Principle #1Segmentation

2Productivity

If conventional middleware APIs are used, then communication functionality is provided, but the API becomes complex and time-consuming to use

Engineering Contradiction:
Improvedevelopment speedVSAvoidAPI complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The middleware is designed to automatically perform tasks that would otherwise require manual configuration and management. It self-manages message correlation by generating and tracking correlation IDs, automatically routes replies to the correct requestors, and handles message formatting. This self-service capability eliminates the need for developers to write complex routing and correlation logic, thereby increasing productivity while maintaining simple APIs

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal middleware layer that can handle multiple communication patterns (request/reply, publish/subscribe) and works with different underlying transport mechanisms. This multi-functional middleware provides a consistent, simplified API regardless of the underlying infrastructure, allowing developers to write code once and deploy it across different platforms without dealing with API complexity

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

3Adaptability or versatility

If publish/subscribe middleware is used directly, then message routing capability is achieved, but request/reply semantics cannot be directly implemented

Engineering Contradiction:
Improvecommunication pattern flexibilityVSAvoidease of programming
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent inverts the traditional approach by not trying to make publish/subscribe middleware directly support request/reply semantics through complex configuration. Instead, it creates a request/reply-specific middleware layer that sits on top of the publish/subscribe infrastructure and translates request/reply interactions into publish/subscribe messages. This inversion allows the system to maintain the flexibility of publish/subscribe while providing simple request/reply programming semantics

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS7945896B2Implementing request/reply programming semantics using publish/subscribe middleware
Publication Date: 2011.05.17 STRIPE LLC
  • US7945896B2 patent drawing
  • US7945896B2 patent drawing
  • US7945896B2 patent drawing

AI summary

A request/reply middleware wrapper that transposes an application's request/reply communications into publish/subscribe communications implemented by publish/subscribe middleware where every distributed application component of a distributed application is referenced by a component type and name. Each component type has associated with it a request publish/subscribe topic and a reply publish/subscribe topic. Each distributed application component subscribes to its request and reply topics and can publish to request and reply topics of other component types. By utilizing callback objects, the middleware wrapper facilitates the transmission of a request and replies between distributed application components by posting the requests or replies on an appropriate request or reply publish/subscribe topic.