Intermediary Gateway Multiplexing Asynchronous HTTP Push

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web 2.0 applications using HTTP for asynchronous updates face challenges such as increased server load, bandwidth wastage, and scalability issues due to polling mechanisms, and long-polling/streaming-response techniques require many open connections, overwhelming server resources.

Innovation Solution

An intermediary device offloads connection management, acting as a proxy to hold and multiplex millions of client connections, using a few server-side connections for reliable, secure, and scalable data push operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the server keeps connections open for each client to enable push notifications, then responsiveness is improved, but server resources are overwhelmed

Engineering Contradiction:
ImproveresponsivenessVSAvoidnumber of open connections
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent introduces a gateway as an intermediary component between clients and servers. The gateway maintains open connections with clients and manages connection multiplexing, while servers only maintain connections with the gateway. This mediator architecture allows push notifications to reach clients rapidly without requiring each server to maintain numerous open connections, thus improving responsiveness while conserving server resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the connection management function by separating client connection handling from server connection handling. The gateway handles client connection establishment, maintenance, and teardown, while servers focus on business logic. This segmentation allows the server to work with fewer connections (only to the gateway) while still supporting many clients through the gateway's connection pooling and multiplexing capabilities.

Inventive Principle:
Principle #1Segmentation

2Speed

If the client polls the server frequently to check for updates, then responsiveness is improved, but bandwidth consumption increases

Engineering Contradiction:
ImproveresponsivenessVSAvoidbandwidth consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The gateway maintains continuous open connections with both clients and servers, eliminating the need for periodic polling. Data can be pushed immediately from server to gateway to client along the established connection path. This continuous connection state enables rapid update delivery without the bandwidth waste of repeated connection establishment and polling requests.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the server validates and responds to each poll request, then data accuracy is improved, but server load increases

Engineering Contradiction:
Improvedata accuracyVSAvoidserver load
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the connection management and validation functions from the server and relocates them to the gateway. The gateway handles connection validation, maintenance, and request routing, while the server focuses on processing business logic and generating data. This extraction reduces server load by removing the overhead of validating and responding to each poll request, while the gateway ensures data accuracy through proper connection management.

Inventive Principle:
Principle #2Taking out (Extraction)

4Loss of energy

If long-polling or streaming-response techniques are used to push updates, then bandwidth efficiency is improved, but the number of open connections increases

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidnumber of open connections
Core Design Contradiction:
Loss of energyVSQuantity of substance

Solution Approach 1:

The patent merges multiple client connections into a single gateway connection through connection multiplexing. The gateway maintains one connection to the server and uses it to service multiple clients, or maintains a pool of connections that are shared across many clients. This merging allows the system to achieve bandwidth efficiency similar to long-polling or streaming-response while dramatically reducing the total number of open connections required, as the gateway handles connection proliferation rather than individual servers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2335393B1Connection management for pushing asynchronous messages from servers to clients
Publication Date: 2018.03.28 CITRIX SYSTEMS INC
  • EP2335393B1 patent drawingFigure 1A
  • EP2335393B1 patent drawingFigure 1B
  • EP2335393B1 patent drawingFigure 1C

AI summary

Described are methods and systems for managing the connections between a client, an intermediary appliance and a server, so that asynchronous messages can be transmitted over HTTP from the server to a client. When a connection is established between a client and an intermediary, and the intermediary and a server to establish a logical client-server connection, that logical client-server connection is labeled and not maintained, while the connection between the client and the intermediary is maintained. Messages generated by the server and destined for the client are transmitted to the intermediary along with the connection label. The intermediary can then use the connection label to determine which client should receive the message.