Systems for managing network resources
First Claim
1. A computer network comprising:
- a file server;
a file server application installed on the file server;
a client computer;
a client application installed on the client computer;
a proxy server application installed on the file server, the proxy server application communicatively coupled through a network as an intermediary between the client application and the file server application, the proxy server application programmatically operative to receive a download request for data from the client application, determine if a utilization load of the file server exceeds a predetermined threshold, and in response to the utilization load exceeding the predetermined threshold, calculating an estimated start-time to begin a download of the data requested from the file server to the client computer, and store the estimated start-time along with an identifier for the data requested, wherein the estimated start-time is based upon a number of outstanding bytes still to be downloaded from the file server and an available bandwidth of the network;
send a client side applet to the client computer in response to the data requested, and send the client side applet status information regarding the data requested for download from the file server, including the estimated start-time to download the data requested, and an estimated time to complete the download of the data requested, and a count of other pending download requests received by the file server.
4 Assignments
0 Petitions
Accused Products
Abstract
One aspect of the invention is a system for managing a high volume of request reaching a file server which avoids slowing down of the request of all client computers. The system serves a limited number of clients at one time, and deploys an applet to other requesting clients which is programmed to check the server at a later time for availability, and through which a client user can be informed of estimated times to start and complete the download.
A second aspect of the invention is a system managing traffic through a gateway between an Intranet and the Internet which accepts web resource requests along with threshold time value. The system matches up requests for the same resource received from different clients, and issues a single request for the matched up requests. The threshold time values of the requests may correspond to off peak hours when the gateway'"'"'s resources are not over utilized.
Methods and software for the systems are disclosed.
-
Citations
12 Claims
-
1. A computer network comprising:
-
a file server;
a file server application installed on the file server;
a client computer;
a client application installed on the client computer;
a proxy server application installed on the file server, the proxy server application communicatively coupled through a network as an intermediary between the client application and the file server application, the proxy server application programmatically operative to receive a download request for data from the client application, determine if a utilization load of the file server exceeds a predetermined threshold, and in response to the utilization load exceeding the predetermined threshold, calculating an estimated start-time to begin a download of the data requested from the file server to the client computer, and store the estimated start-time along with an identifier for the data requested, wherein the estimated start-time is based upon a number of outstanding bytes still to be downloaded from the file server and an available bandwidth of the network;
send a client side applet to the client computer in response to the data requested, and send the client side applet status information regarding the data requested for download from the file server, including the estimated start-time to download the data requested, and an estimated time to complete the download of the data requested, and a count of other pending download requests received by the file server. - View Dependent Claims (5, 6)
comparing a requested file type of a file corresponding to the information resource requested to a list of one or more file types and in response to the requested file type matching at least one of the file types on the list, calculating the estimated start-time based upon the requested file type which is different than the estimated start-time for a requested file type not matching at least one of the file types on the list.
-
-
6. The computer implemented method of claim 1, further comprising:
-
receiving a status request from the applet by the proxy server application; and
checking if the utilization of the file server is below the predetermined threshold after receiving the status request from the applet and in response to the utilization load of the file server being below the predetermined threshold, begin downloading the requested resource from the file server to the client.
-
-
2. A computer implemented method for managing requests for resources received at a file server using a proxy server application, the method comprising:
-
receiving a download request for an information resource located on a file server from a client application, wherein the request is received through a proxy server application acting as a communications intermediary between the file server and the client application, and wherein the file server and the client application are communicatively coupled over a network;
recording information relative to the download request in a database;
sending an applet to the client computer;
determining if a utilization load of the file server exceeds a predetermined threshold, and in response to the utilization load exceeding the predetermined threshold, calculating an estimated start-time to begin a download of the information resource requested from the file server to the client computer, and store the estimated start-time along with an identifier for the information resource requested in the database, wherein the estimated start-time is based upon a number of outstanding bytes still to be downloaded from the file server and an available bandwidth of the network; and
sending status information for the information resource requested to the applet including the estimated start-time to download the information resource along with an estimated time to complete the download of the information resource. - View Dependent Claims (3, 4)
receiving a status request from the applet by the proxy server application, re-determining if the utilization load of the file server exceeds the predetermined threshold, and in response to the utilization load exceeding the predetermined threshold, re-calculating the estimated start-time to begin the download of the information resource from the file server to the client computer; and
sending updated status information for the information resource requested to the applet.
-
-
4. The computer implemented method of claim 2, further comprising:
-
accessing a file size corresponding to the requested information resource; and
comparing the file size to a limit value and in response to the file size being larger than the limit value, recalculating the estimated start-time based upon the file size after any other pending download requests are complete.
-
-
7. A computer readable medium containing programming instructions for managing request for resources received at a file server comprising programming instructions for:
-
receiving a download request for an information resource located on a file server from a client application, wherein the request is received through a proxy server application acting as a communications intermediary between the file server and the client application, and wherein the file server and the client application are communicatively coupled over a network;
recording information relative to the download request in a database;
sending an applet to the client computer;
determining if a utilization load of the file server exceeds a predetermined threshold, and in response to the utilization load exceeding the predetermined threshold, calculating an estimated start-time to begin a download of the information resource requested from the file server to the client computer, and store the estimated start-time along with an identifier for the information resource requested in the database, wherein th estimated start-time is based upon a number of outstanding bytes still to be downloaded from the file server and an available bandwidth of the network; and
sending status information for the information resource requested to the applet including the estimated start-time to download the information resource along with an estimated time to complete the download of the information resource. - View Dependent Claims (8, 9, 10, 11)
receiving a status request from the applet by the proxy server application, re-determining if the utilization load of the file server exceeds the predetermined threshold, and in response to the utilization load exceeding the predetermined threshold, re-calculating the estimated start-time to begin the download of the information resource from the file server to the client computer; and
sending updated status information for the information resource requested to the applet.
-
-
9. The computer readable medium of claim 7, further comprising the instructions for:
-
accessing a file size corresponding to the requested information resource; and
comparing the file size to a limit value and in response to the file size being larger than the limit value, re-calculating the estimated start-time based upon the file size after any other pending download requests are complete.
-
-
10. The computer readable medium of claim 7, further comprising the instructions for:
comparing a requested file type of a file corresponding to the information resource requested to a list of one or more file types and in response to the requested file type matching at least one of the file types on the list, calculating the estimated start-time based upon the requested file type which is different than the estimated start-time for a requested file type not matching at least one of the file types on the list.
-
11. The computer readable medium of claim 7, further comprising the instructions for:
-
receiving a status request from the applet by the proxy server application; and
checking if the utilization of the file server is below the predetermined threshold after receiving the status request from the applet and in response to the utilization load of the file server being below the predetermined threshold, begin downloading the requested resource from the file server to the client.
-
-
12. A proxy server comprising:
-
an internet network connected to at least one file server;
an intranet network connected to at least one client running a client application;
a proxy server application acting as a communications intermediary between the file server and the client application, the proxy server application including;
a cached request database;
an initial request manager which receives a download request with a threshold time from the client application running on the client for data on the file server, wherein the initial request manager records the threshold time and a request identifier in the cached request database along with a status identifier;
a schedule manager which for each download request received, compares the download request with previous request identifiers stored in the cached request database and in response to a match found in the cached database, changing the associated status identifier to indicate a match was found, wherein the schedule manager periodically compares a current proxy server application time to the threshold time recorded in the cached request database, and in response to the current proxy server time exceeding the threshold time, the status identifier is changed to the download request; and
a request manager which periodically compares the status identifier in the cached request database, and in response to the status identifier matching the download request, downloading the requested data file from the file server to the client.
-
Specification