Performance optimizations for computer networks utilizing HTTP
First Claim
1. In a computer network, a method executed by an agent in the computer network between clients and a server for increasing performance between the clients and the server, the method comprising the steps of:
- receiving a first request from a client to open a single network connection to the server;
sending a plurality of requests to the server to open a plurality of network connections to the server;
receiving a second request from the client;
sending the second request to the server using one of the plurality of network connections;
wherein the plurality of network connections to the server are opened in response to the first request from the client to open a single network connection.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of increasing the performance of computer networks, especially networks connecting users to the Web, are provided. Performance is increased by reducing the latency the client experiences between sending a request to the server and receiving a response. A connection cache may be maintained by an agent on the network access equipment to more quickly respond to request for network connections to the server. Additionally, the agent may maintain a cache of information to more quickly respond to requests to get an object if it has been modified. These enhancements and other described herein may be implemented singly or in conjunction to reduce the latency involved in sending the requests to the server by saving round-trip times between computer network components.
-
Citations
48 Claims
-
1. In a computer network, a method executed by an agent in the computer network between clients and a server for increasing performance between the clients and the server, the method comprising the steps of:
-
receiving a first request from a client to open a single network connection to the server; sending a plurality of requests to the server to open a plurality of network connections to the server; receiving a second request from the client; sending the second request to the server using one of the plurality of network connections; wherein the plurality of network connections to the server are opened in response to the first request from the client to open a single network connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer network, comprising:
-
a client computer running a Web browser; a Web server networked to the client computer; a proxy server computer networked to the client computer for storing information available on the Web server; and network access equipment, networked between the client computer and the Web and proxy servers, including an agent that receives an HTTP request from the Web browser to open a single network connection to the server and sends a plurality of requests to the server to open a plurality of network connections to the server; wherein the plurality of network connections to the server are opened in response to the HTTP request from the Web browser to open a single network connection.
-
-
13. In a computer network, a method executed by an agent in the computer network between clients and a server for increasing performance between the clients and the server, the method comprising the steps of:
-
receiving a first request from a client to get an object from the server if the object has been modified after a specific timestamp; sending the first request to the server; receiving a first response from the server that the object has not been modified after the specific timestamp; sending the first response to the client; storing an identifier for the object and a timestamp in a cache; receiving a second request from the client to get the object from the server if the object has been modified after the specific timestamp; and if the timestamp stored in the cache is within a predetermined amount of time from the current time, sending a second response to the client that the object has not been modified after the specific timestamp without sending the second request to the server. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer network, comprising:
-
a client computer running a Web browser; a Web server networked to the client computer; a proxy server computer networked to the client computer for storing information available on the Web server; and network access equipment, networked between the client computer and the Web and proxy servers, including an agent that stores identifiers and timestamps for objects so that when the agent receives a request from the Web browser to get an object from the server if the object has been modified after a specific timestamp, the agent responds to the request without sending a request to the Web server.
-
-
19. In a computer network, a method executed by an agent in the computer network between a client and a Web and proxy servers for increasing performance between the client and the Web server, comprising the steps of:
-
receiving an HTTP request from a client; and sending the HTTP request to either the Web server or the proxy server depending on the HTTP request, the proxy server storing information available on the Web server; wherein the client does not need to be modified to utilize the proxy server. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A computer network, comprising:
-
a client computer running a Web browser; a Web server networked to the client computer; a proxy server computer networked to the client computer for storing information available on the Web server; and network access equipment, networked between the client computer and the Web and proxy servers, including an agent that receives HTTP requests and sends the HTTP requests to either the Web server or the proxy server depending on each HTTP request; wherein software on the client computer does not need to be modified to utilize the proxy server. - View Dependent Claims (25, 26, 27)
-
-
28. In a computer network, a method for increasing performance between a client on a client computer and a server utilizing a client hook on the client computer and an agent between the client computer and the server, comprising the steps of:
-
the client hook intercepting requests from the client to the server; the client hook modifying the requests from the client; the client hook sending the modified requests to the agent; the agent reconstructing the requests from the client according to the modified requests; and the agent sending the requests from the client to the server; wherein communication between the client hook and the agent increases performance of communication between the client and the server. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. In a computer network, a method for increasing performance between a client on a client computer and a server utilizing a client hook on the client computer and an agent between the client computer and the server, comprising the steps of:
-
the client hook intercepting a first request from the client to open a network connection to the server, the first request including an identifier for the server; the client hook immediately responding that a network connection to the server has been opened to the server and storing the identifier of the server; the client hook intercepting a second request from the client to be sent over the opened network connection to the server; and the client hook sending the second request and the identifier of the server to the agent. - View Dependent Claims (37, 38, 39)
-
-
40. In a computer network, a method executed by an agent in the computer network between a client and a server for increasing performance between the client and the server, the method comprising the steps of:
-
without first receiving a request from the client to open a network connection to the server, receiving a first request from the client to the server and an identifier for the server; utilizing the identifier for the server, sending a second request to the server to open a network connection; and sending the first request to the server over an open network connection. - View Dependent Claims (41, 42)
-
-
43. In a computer network, a method executed by an agent in the computer network between a client and a server for increasing performance between the client and the server, the method comprising the steps of:
-
storing first information included in a first request from the client to the server; receiving a second request from the client to the server that includes differences between the first information and second information of the second request instead of the second information; reconstructing the second information from the stored first information and the differences between the first and second information; and sending the second request to the server including the reconstructed second information. - View Dependent Claims (44)
-
-
45. In a computer network, a method for increasing performance between a client on a client computer and a server utilizing a client hook on the client computer and an agent between the client computer and the server, comprising the steps of:
-
the client hook intercepting a first request from the client to the server that includes first information; the client hook sending the first request to the agent for sending to the server; the agent storing a copy of the first information; the agent sending the first request to the server; the client hook intercepting a second request from the client to the server that includes second information; the client hook modifying the second request to include differences between the first and second information instead of the second information; the agent receiving the modified second request from the client; the agent reconstructing the second information from the stored first information and the differences between the first and second information; and the agent sending the second request to the server including the reconstructed second information. - View Dependent Claims (46, 47, 48)
-
Specification