Emulating a persistent connection using http
First Claim
1. An apparatus for Hypertext Transfer Protocol (HTTP) data interchange, the apparatus comprising:
- a first client configured to establish a connection with an HTTP server and send an empty get that is marked as an empty packet to the HTTP server, the empty get being an HTTP request method;
the HTTP server configured to receive the empty get from the first client, and if the HTTP server has data that is to be sent to the first client, then the HTTP server is configured to respond to the empty get by sending the data to the first client and closing the connection between the first client and the HTTP server, otherwise the HTTP server is configured to hold the empty packet of the empty get until the HTTP server receives data that is to be sent to the first client, and then respond to the empty get by sending the data to the first client and closing the connection between the first client and the HTTP server.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, method and computer program product for emulating a persistent connection using http. According to one embodiment, the method includes receiving an empty get from a first client; receiving a get from a second client, the get containing data to be sent to the first client; and sending a response to the first client, in response to the empty get, the response containing the data. According to another embodiment, the method includes receiving, from a client, a get containing first data to be sent to an application server; sending the first data to the application server; sending an ack response to the client in response to the get; receiving a response from the application server, the response containing second data to be sent to the client; waiting for an empty get from the client; receiving an empty get from the client; and sending the second data to the client in response to the empty get. According to another embodiment, the method includes receiving, from a client, a get containing first data to be sent to an application server; sending the first data to the application server; sending an ack response to the client in response to the get; receiving an empty get from the client; receiving a response from the application server, the response containing second data to be sent to the client; and sending the second data to the client in response to the empty get.
340 Citations
13 Claims
-
1. An apparatus for Hypertext Transfer Protocol (HTTP) data interchange, the apparatus comprising:
-
a first client configured to establish a connection with an HTTP server and send an empty get that is marked as an empty packet to the HTTP server, the empty get being an HTTP request method;
the HTTP server configured to receive the empty get from the first client, and if the HTTP server has data that is to be sent to the first client, then the HTTP server is configured to respond to the empty get by sending the data to the first client and closing the connection between the first client and the HTTP server, otherwise the HTTP server is configured to hold the empty packet of the empty get until the HTTP server receives data that is to be sent to the first client, and then respond to the empty get by sending the data to the first client and closing the connection between the first client and the HTTP server. - View Dependent Claims (2, 3)
-
-
4. An apparatus for Hypertext Transfer Protocol (HTTP) data interchange, comprising:
-
a client configured to run an application that is hosted by an application server, the client configured to establish a first connection with an HTTP server and send a get that includes data to the HTTP server, the get being an HTTP request method;
the HTTP server configured to forward the data to the application server and send an acknowledgement response to the client that the HTTP server has received the get and close the first connection between the client and the HTTP server, the HTTP server further configured to receive second data from the application server that is to be sent to the client, wherein the client is further configured to establish a second connection with the HTTP server and send an empty get that is marked as an empty packet to the HTTP server, the empty get being a an HTTP request method, if the HTTP server receives the empty get from the client prior to receiving the second data from the application server, then the HTTP server is configured to immediately forward the second data, upon receipt of the second data, to the client and close the second connection between the client and the HTTP server, in response to the empty get, otherwise if the HTTP server receives the empty get from the client after receiving the second data from the application server, then the HTTP server is configured to hold the second data until the HTTP server receives the empty get from the client, and then forward the second data to the client and close the second connection between the client and the HTTP server, in response to the empty get.
-
-
5. A method for Hypertext Transfer Protocol (HTTP) data interchange, comprising:
-
establishing a connection with a first client and receiving an empty get that is marked as an empty packet from the first client, the empty get being an HTTP request method;
receiving a get from a second client, the get containing data to be sent to the first client, the get being an HTTP request method; and
sending a response to the first client and closing the connection with the first client, in response to the empty get, the response containing the data.
-
-
6. A method for Hypertext Transfer Protocol (HTTP) data interchange, comprising:
-
establishing a first connection with a client and receiving, from the client, a get containing first data to be sent to an application server, the get being an HTTP request method;
sending the first data to the application server;
sending an ack response to the client and closing the first connection with the client, in response to the get;
receiving a response from the application server, the response containing second data to be sent to the client;
waiting for an empty get from the client, an empty get being an HTTP request method;
establishing a second connection with the client and receiving an empty get that is marked as an empty packet from the client; and
sending the second data to the client and closing the first connection with the client, in response to the empty get.
-
-
7. A method for Hypertext Transfer Protocol (HTTP) data interchange, comprising:
-
establishing a first connection with a client and receiving, from the client, a get containing first data to be sent to an application server, the get being an HTTP request method;
sending the first data to the application server;
sending an ack response to the client and closing the first connection with the client, in response to the get;
establishing a second connection with the client and receiving an empty get that is marked as an empty packet from the client, the empty get being an HTTP request method;
receiving a response from the application server, the response containing second data to be sent to the client; and
sending the second data to the client and closing the first connection with the client, in response to the empty get.
-
-
8. A computer program product for Hypertext Transfer Protocol (HTTP) data interchange, the computer program product comprising a computer usable medium having computer readable program code means embodied in the medium, the computer readable program code means comprising:
-
computer readable program code means for causing a computer to establish a connection with a first client and receive an empty get that is marked as an empty packet from a first client, the empty get being an HTTP request method;
computer readable program code means for causing a computer to receive a get from a second client, the get containing data to be sent to the first client, the get being an HTTP request method; and
computer readable program code means for causing a computer to send a response to the first client and close the connection with the first client, in response to the empty get, the response containing the data.
-
-
9. A computer program product for Hypertext Transfer Protocol (HTTP) data interchange, the computer program product comprising a computer usable medium having computer readable program code means embodied in the medium, the computer readable program code means comprising:
-
computer readable program code means for causing a computer to establish a first connection with a client and receive, from the client, a get containing first data to be sent to an application server, the get being an HTTP request method;
computer readable program code means for causing a computer to send the first data to the application server;
computer readable program code means for causing a computer to send an ack response to the client and close the first connection with the client, in response to the get;
computer readable program code means for causing a computer to receive a response from the application server, the response containing second data to be sent to the client;
computer readable program code means for causing a computer to wait for an empty get from the client, the empty get being an HTTP request method;
computer readable program code means for causing a computer to establish a second connection with the client and receive an empty get that is marked as an empty packet from the client; and
computer readable program code means for causing a computer to send the second data to the client and close the first connection with the client, in response to the empty get.
-
-
10. A computer program product for Hypertext Transfer Protocol (HTTP) data interchange, the computer program product comprising a computer usable medium having computer readable program code means embodied in the medium, the computer readable program code means comprising:
-
computer readable program code means-for causing a computer to establish a first connection with a client and receive, from a the client, a get containing first data to be sent to an application server, the get being an HTTP request method;
computer readable program code means for causing a computer to receive send the first data to the application server;
computer readable program code means for causing a computer to receive send an ack response to the client and close the first connection with the client, in response to the get;
computer readable program code means for causing a computer to establish a second connection with the client and receive an empty get that is marked as an empty packet from the client, the empty get being an HTTP request method;
computer readable program code means for causing a computer to receive a response from the application server, the response containing second data to be sent to the client; and
computer readable program code means for causing a computer to send the second data to the client and close the first connection with the client, in response to the empty get.
-
-
11. A system for emulating a persistent connection using a Hypertext Transfer Protocol (HTTP) data interchange, the system comprising:
-
a client configured to open a connection with an HTTP server and send an HTTP get method containing data to the HTTP server when the client has data to send to the HTTP server, or send an empty HTTP get method that is marked as an empty packet to the HTTP server when the client does not have data to send to the HTTP server;
the HTTP server configured to receive, from the client, a get method containing data or an empty HTTP get method that is marked as an empty packet, wherein A) if the HTTP server receives an HTTP get method containing data and the HTTP server has second data to respond to the HTTP get method, then the HTTP server will send the second data to the client and close the-connection between the client and the HTTP server, in response to the HTTP get method, B) if the HTTP server receives an HTTP get method containing data and the HTTP server does not have second data to respond to the HTTP get method, then the HTTP server will send an acknowledgement response to the client and close the connection between the client and the HTTP server, in response to the HTTP get method, C) if the HTTP server receives an empty HTTP get method marked as an empty packet and the HTTP server has second data to respond to the empty HTTP get method, then the HTTP server will send the second data to the client and close the connection between the client and the HTTP server, in response to the empty HTTP get method, D) if the HTTP server receives an empty HTTP get method that is marked as an empty packet and the HTTP server does not have second data to respond to the empty HTTP get method, then the HTTP server will hold the empty packet until the HTTP server receives second data to be sent to the client and then forward the second data to the client and close the second connection between the client and the HTTP server, in response to the empty HTTP get method. - View Dependent Claims (12, 13)
-
Specification