Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

HTTP Tunneling using Hybrid Polling

IP.com Disclosure Number: IPCOM000020626D
Original Publication Date: 2003-Dec-04
Included in the Prior Art Database: 2003-Dec-04
Document File: 5 page(s) / 61K

Publishing Venue

IBM

Abstract

It is common for client-server application to support HTTP Tunnelling in their connectivity scheme for the case where direct connection using plain socket connection is not applicable (e.g. pass firewalls to and from an organization). HTTP Tunnelling is based on Http protocol which by definition is a request response protocol where requests are initiated solely by the client and responses by the server. In order to achieve a persistent connection between the client and the server, the client needs to poll the server constantly in order to get updates. Existing polling methods are highly resource consuming or/and provide long response times. By using the Hybrid Polling method we minimize resource usage and gain better response time.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 47% of the total text.

Page 1 of 5

HTTP Tunneling using Hybrid Polling

It is common for client-server application to support HTTP Tunnelling in their connectivity scheme for the case where direct connection using plain socket connection is not applicable (e.g. pass firewalls to and from an organization). HTTP Tunnelling is based on Http protocol which by definition is a request response protocol where requests are initiated solely by the client and responses by the server. In order to achieve a persistent connection between the client and the server, the client needs to poll the server constantly in order to get updates. Existing polling methods are highly resource consuming or/and provide long response times. By using the Hybrid Polling method we minimize resource usage and gain better response time.

    The idea in Hybrid Polling is that the client sends a request to the server which then keeps the connection open (without sending a response), till the server has some new data to pass to the client. When the server does send the response back to the client, the client receives a response and will immediately send a new request to the server in order to re-establish the connection to the server.

    This way the connections are recreated only when needed and we always have a connection open that could be used immediately without delay.

Advantages:
1. Minimize resource usages - connections are destroyed and recreated only when there is actual data transfer and not at constant rate.
2. Faster response time - The server can immediately send data to the client on the open connection as it would on a socket connection.
3. Enables building a more scalable solution on the server since the number of connections that need to established will be much lower.

Client Polling policy

    The client will maintain a connection open to the server at all time. When the connection is closed, the client will initiate a new connection immediately.

The connection will closed in the following cases:
1. The server has new information to send to the client. The information will be sent and the connection will be closed.
2. The client has new request to send to the server. The client will initiate a new connection. when the server detects that two connections are open the server, the first connection will be terminated.

    Other then cases above the connection might fail because of networking problems. The client will try x times to restore the connection.

Sequence Diagram 1 - Demonstrates the following:

A typical client authentication Exchange of application specific data from the client to the server Data exchange initiated by the server to the client.

Page 2 of 5

Client

Server

HTTP Request - HandShake Message

HTTP Response - Authentication Reply

HTTP Request - Application Specific Request

HTTP Response - Server acknowledges receive of request

HTTP Request - Client reopens connection

HTTP Response - Server sends update to the client

Typical Client-Server handshake process to

establish authentication and a...