Claims
- 1. A method of providing a persistent HTTP tunnel for a persistent virtual session, the method comprising:
(a) generating a data message complying with a connectionoriented protocol; (b) embedding the data message within a chunked data message complying with a chunking option of a HTTP specification; (c) transmitting the chunked data message between a Web client and a Web server via an HTTP connection; (d) upon receiving any chunked data message at the Web server, parsing the chunked data message and delivering the data message to one endpoint of a connection-oriented session, and upon receiving any chunked data message at the Web client, parsing the chunked data message and delivering the data message to another endpoint of the connection-oriented session; and (e) interleaving the chunked data messages from the Web client with the chunked data messages from the Web server on the persistent HTTP tunnel.
- 2. The method of claim 1, wherein the connection-oriented protocol is a Telnet protocol.
- 3. The method of claim 1, wherein the one endpoint of the connectionoriented session is a host system.
- 4. The method of claim 3, wherein the other endpoint of the connectionoriented session is a Web client application.
- 5. The method of claim 4, wherein the Web client application is a terminal emulator.
- 6. The method of claim 1, further comprising (f) transmitting a keep alive chunk message by the Web client to the Web server after a pre-determined time period in which chunked data messages were not transmitted.
- 7. 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, the method comprising:
establishing a connection between the Web client and the Web server using a chunking option in accordance with an HTTP protocol that allows a series of messages to be sent as chunked messages; establishing a virtual session between a host system and the Web client through an extension; transmitting a plurality of host messages from the host system to the Web server, inserting the host message within a chunked host message at the Web server, forwarding the chunked host message to the Web client over the connection, parsing the chunked host message at the Web client and delivering the host message to an application; transmitting a plurality of Web client messages from the application to a tunneling mechanism on the Web client, inserting the client message within a chunked client message at the Web client, forwarding the chunked client message to the Web server over the connection, parsing the chunked client message at the Web server and delivering the client message to the host system; and interleaving the chunked data messages from the Web client with the chunked data messages from the Web server on the persistent HTTP tunnel; wherein the transmitted chunked client message is forwarded to the extension before the Web server is forwarded the entire plurality of chunked client messages.
- 8. The method of claim 7, wherein the application is a terminal emulator.
- 9. A method of connecting a client computer on the Internet to a host system, the method comprising:
connecting a Web server to the host system through an extension that communicates with the host system using a connection-oriented protocol; connecting the client computer to the Web server using HTTP; generating connection-oriented data at the host system and the client computer; transmitting the connection-oriented data in a series of messages between the client computer and the Web server on a persistent connection, each message including a header and a data field for storing the connection-oriented data; parsing the transmitted messages received at the Web server in the extension and forwarding the connection-oriented data to the host system; and parsing the transmitted messages received at the client computer by an HTTP tunnel mechanism and forwarding the connection-oriented data to an emulator; wherein upon receipt of the message at the Web server, the Web server forwards the message to the extension before receiving the series of messages from the client computer.
- 10. A server for providing a persistent virtual session over HTTP, the server comprising:
a server software component operable to communicate via a persistent HTTP tunnel with a first endpoint of a connection-oriented session; and an extension operable to communicate with the server software component and a second endpoint of a connection-oriented session; wherein upon a connect request from the first endpoint, the extension establishes a connection-oriented session with the second endpoint to provide a virtua onnection-oriented session, after the-virtual-connection-oriented session is established, the extension (a) receives one or more chunked client messages complying with an HTTP specification from a client, each chunked client message comprising a chunk header and a data portion; (b) forwards the data portion to the second endpoint over the connection oriented session; (c) receives one or more second endpoint messages from the second endpoint; (d) encapsulates each second endpoint message into a chunked second endpoint message; and (e) forwards the chunked second endpoint message to the client that delivers the second endpoint message of the chunked second endpoint message to the first endpoint.
- 11. The server of claim 10, wherein the first endpoint is a client application.
- 12. The server of claim 11, wherein the client application is a terminal emulator.
- 13. The server of claim 10, wherein the second endpoint is a host system.
- 14. A Web client having a first endpoint with a persistent virtual session with a second endpoint over HTTP, the Web client comprising:
an application for sending and receiving data messages complying with a connection-oriented session at the second endpoint; and an HTTP tunnel mechanism for receiving the data messages generated by the application and inserting the data messages into a chunked data message complying with HTTP and transmitting the chunked data messages to a Web server and for receiving chunked data messages generated by the Web server and forwarding the data message within the chunked data message to the application.
- 15. The Web client of claim 14, wherein the application is a terminal emulator.
- 16. The Web client of claim 14, wherein the second endpoint is a host system.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation application of co-pending U.S. patent application No. 09/268,068, filed on Mar. 15, 1999, entitled METHOD AND SYSTEM FOR PROVIDING A PERSISTENT HTTP TUNNEL. Priority of the filing date of said co-pending application, the subject matter of which is specifically incorporated by reference, is claimed under 35 U.S.C. §120.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09268068 |
Mar 1999 |
US |
Child |
10175245 |
Jun 2002 |
US |