Method and system for providing a persistent HTTP tunnel

Electrical computers and digital processing systems: multicomput – Computer-to-computer session/connection establishing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S219000, C709S236000, C709S245000

Reexamination Certificate

active

06721792

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to communications between two computers, and, more particularly, to a communication method and system that provides a persistent HTTP tunnel for a connection-oriented protocol between the two computers.
BACKGROUND OF THE INVENTION
Many corporations continue to maintain their corporate computer data on what are referred to as “legacy host” systems. These systems are generally older mainframe or mini-computers that cannot be easily replaced. As personal computers become more commonplace, a significant effort has been devoted to methods by which a user of a personal computer can access data stored on a legacy host. One such system is shown in
FIG. 1
, whereby access to a host system
10
may be through a terminal
12
directly coupled to the host system
10
that provides a local login capability. If a workstation
14
desires to connect to the host system
10
over a Local Area Network (LAN)
16
, the workstation
14
runs a terminal emulator
18
. A Telnet protocol is used between the host system
10
and the workstation
14
to provide the workstation
14
access to the host system
10
as if the workstation was a local terminal directly connected to the host system.
With the phenomenal growth of the Internet, a need developed to provide the ability of a user to access a host computer from anywhere in the world. A typical configuration to allow such Internet access includes a Web server
20
coupled to the host system
10
via the LAN
16
. The Web server
20
is then coupled to the Internet
22
through a firewall
24
. The firewall
24
enforces a security policy between a secure internal network containing the host system
10
and an untrusted network such as the Internet. The firewall may be a personal computer (PC), a router, a mainframe, a UNIX workstation, or any combination of such devices responsible for enforcing the security policy. A Web client computer
26
runs a browser program
25
to access the Web server
20
through the Internet
22
.
Because the Internet
22
is an unsecured network, most firewall security policies will not allow the Web client
26
to communicate using the well known “Telnet port
23
,” shown at
28
. However, most firewalls allow communications through the well known “HyperText Transfer Protocol (HTTP) port
80
,” shown at
30
, and the secure “HTTP port
443
,” shown at
30
′. Therefore, a current system that provides a local login experience to a Web client
26
uses one of these HTTP ports
30
30
′. In this system, the Web server
20
runs a terminal emulator
32
that provides a Telnet session with the host system
10
. The Web server
20
receives the Telnet data from the host system
10
and instead of displaying the data as a typical text screen will instead send the Telnet data to a translator
33
. The translator
33
translates the Telnet data to HyperText Markup Language (HTML) statements that are sent to the browser program
25
running on the Web client
26
. The browser
25
then translates the HTML statements and displays an HTML page on the Web client.
A problem with this type of system is that the translated HTML screen does not look sufficiently similar to a local login screen that the user would see if they were directly connected to the host system and the interaction with the HTML screen is not sufficiently similar to the interaction with the directly connected terminal. In certain situations, the differences may require additional training of the users on the Web client. Another problem is that the response times between a user request on the Web client
26
and the return response from the host system is more variable in comparison with a local login response time. For example, response times may range from a second to thirty seconds using the HTML screen, in comparison with response times in the range of one second to three seconds with a directly connected terminal. The variable response times are due to the nature of the HTTP protocol.
HTTP is a request/response protocol. The Web client
26
, using the browser
25
, establishes a connection with the Web server
20
and sends a request to the Web server. After the Web server sends a response to the browser
25
, the connection is closed. Before additional requests may be handled, a new connection must be established. Even though the newer HTTP 1.1 specification provides a keep-alive mechanism that allows one connection for multiple objects on an HTML page, the connection is closed either by the Web server or the browser after a period of inactivity. The period of inactivity may range from several seconds to a fraction of a second depending on the activity on the Web server. Many protocols, including Telnet, have insufficient transaction rates to maintain an alive connection even when the Web server is only modestly loaded. Closing the connection and establishing a new connection creates significant overhead resulting in decreased performance.
Given the shortcomings associated with the prior art method of providing access to host computer systems for Web clients, there is a need for a method that uses existing standard ports in the firewall while providing more consistent response times similar to the response times of a workstation connected through a LAN to a host system. The present invention is directed to filling this need.
SUMMARY OF THE INVENTION
In accordance with this invention, a server, a client, and a method of operation are provided for a Web client to access a host system with performance and displays comparable to the performance and displays of a workstation connected through a LAN to the host system.
In accordance with one aspect of this invention, a method of providing a persistent HTTP tunnel for a persistent virtual session is provided. A data message complying with a connection-oriented protocol is generated at an endpoint of a connection-oriented virtual session. The data message is embedded into a chunked data message complying with a chunking option of an HTTP specification. The chunked data message is transmitted between a Web client and a Web server via an HTTP connection. Upon receiving any chunked data message at the Web server, the Web server parses the chunked data message and delivers the data message to one endpoint of the connection-oriented virtual session. In the other direction, upon receiving any chunked data message at the Web client, the Web client parses the chunked data message and delivers the data message to another endpoint of the connection-oriented virtual session. The chunked data messages from the Web client are interleaved with the chunked data messages from the Web server on the persistent HTTP tunnel.
In accordance with other aspects of this invention, the connection-oriented protocol is a Telnet protocol.
In accordance with still further aspects of this invention, one endpoint of the connection-oriented virtual session is a host system.
In accordance with yet further aspects of this invention, the other endpoint of the connection-oriented session is a Web client application.
In accordance with still other aspects of this invention, the Web client application is a terminal emulator.
In accordance with another aspect of this invention, a method for creating a persistent tunnel between a Web client and a Web server using an HTTP protocol for providing a persistent virtual connection between a host system and the Web client is provided. A connection between the Web client and the Web server is established using a chunking option in accordance with an HTTP protocol that allows a series of messages to be sent as chunked messages. A virtual session is established between the host system and the Web client through a Web Server extension. A plurality of host messages are transmitted from the host system to the Web server extension and inserted into a chunked host message at the Web server. The Web server forwards the chunked host messages to the Web client over the connection. The Web client parses the chunked host message and delivers the host me

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for providing a persistent HTTP tunnel does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for providing a persistent HTTP tunnel, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for providing a persistent HTTP tunnel will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3215122

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.