Process and apparatus for downloading data from a server computer to a client computer
DCFirst Claim
1. A process for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the process has application protocol for sending data as a stream of data using a transport protocol over a computer network connecting the client computer to the server computer, comprising the steps, performed by the client computer, of:
- initiating a download of the data file as a stream of data by sending a message to the server computer using a second application protocol requesting an indication of a port for a server process for performing the download;
receiving the indicator of the port;
sending a message to the server process using the first application protocol at the indicated port, requesting the data file from the server computer over the computer network;
monitoring data successfully received by the client computer from the server computer, in response to the request;
storing said data successfully received by the client computer;
detecting a termination of the stream of data being downloaded, where the termination may occur anywhere within said stream of data; and
in response to the termination of the download of the data file, automatically restarting the download of the data file by initiating a second download of the data file bysending, using the first application protocol, a second request for the data file to the server computer, wherein the request specifies the amount of data successfully received.
3 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
A download of a data file from a server computer to a client computer is monitored by the client computer. The download is restarted automatically if a failure occurs. A failure may be a timeout, a loss of a connection, data errors, or other errors that terminate the download. The download may be restarted by instructing the server computer to start reading from a specified offset corresponding to an amount of data that was received reliably by the client, so that data is not unnecessarily retransmitted. This process increases the likelihood that a download will complete successfully. The client program, if specialized for performing downloads, may be stored at the server. In response to a request to download a file, the client program is downloaded first, with the location of the requested file stored within the program. The client program is then executed on the client computer to transfer the requested file. The client program can be made sufficiently small so that downloading of the client program takes little time. The client program can be executed immediately, at a time specified by the user or upon command from the user.
-
Citations
12 Claims
-
1. A process for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the process has application protocol for sending data as a stream of data using a transport protocol over a computer network connecting the client computer to the server computer, comprising the steps, performed by the client computer, of:
-
initiating a download of the data file as a stream of data by sending a message to the server computer using a second application protocol requesting an indication of a port for a server process for performing the download;
receiving the indicator of the port;sending a message to the server process using the first application protocol at the indicated port, requesting the data file from the server computer over the computer network; monitoring data successfully received by the client computer from the server computer, in response to the request; storing said data successfully received by the client computer; detecting a termination of the stream of data being downloaded, where the termination may occur anywhere within said stream of data; and
in response to the termination of the download of the data file, automatically restarting the download of the data file by initiating a second download of the data file bysending, using the first application protocol, a second request for the data file to the server computer, wherein the request specifies the amount of data successfully received.
-
-
2. A process for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the process sends data over a computer network connecting the client computer to the server computer, comprising the steps, performed by the client computer, of:
-
sending a request for a client program to the server computer over the computer network; receiving from the server computer, in response the request for the client program, a client program which when executed performs the steps of; initiating a download of the data file by sending a request for the data file to the server computer, using an application protocol, over the computer network; monitoring data received from the server computer in response to the request for the data file to detect termination of the download of the data file; in response to said termination of the download of the data file, where said termination may occur anywhere within the data file being downloaded, automatically restarting the download of the data file by sending a second request for the data file to the server computer, and executing a different application protocol so that a second server is requested to send a second client program.
-
-
3. A process for downloading a first file from a server computer to a client computer over a network connecting the client computer to the server computer, comprising the steps of:
-
sending a request for said first file to the server computer over the network; receiving from the server computer, in response to the request for said first file, a client program which, when executed by said client computer, performs the steps of; initiating a download of said first file by sending a request for said first file to the server computer, using an application protocol, over the computer network, and executing a different application protocol so that a second server is requested to send a second client program.
-
-
4. A process for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the process sends data over a computer network connecting the client computer to the server computer, comprising the steps, performed by the client computer, of:
-
sending a request for a client program to the server computer over the computer network; receiving from the server computer, in response to the request for the client program, a client program which when executed performs the steps of; initiating a download of the data file by sending a request to the server computer requesting an indication of a port for a server process for performing the download; receiving the indicator of the port; sending a message to the server process at the indicated port requesting the downloading of the data file; monitoring data received from the server computer in response to the request for the data file to detect termination of the download of the data file; and in response to said termination of the download of the data file, where said termination may occur anywhere within the data file being downloaded, automatically restarting the download of the data file by sending a second request for the data file to the server computer.
-
-
5. A client system for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the client system uses a first application protocol for sending data as a stream of data using a transport protocol over a computer network connecting the client computer to the server computer, comprising:
-
means for initiating a download of the data file as a stream of data by sending a message to the server computer using a second application protocol requesting an indication of a port for a server process for performing the download; means for receiving the indicator of the port;
means for sending a message to the server process using the first application protocol at the indicated port, requesting the data file by sending a request for the data file to the server computer over the computer network;means for monitoring data successfully received by the client computer from the server computer in response to the request; means for storing said data successfully received by the client computer; means for detecting a termination of the stream of data being downloaded, where the termination may occur anywhere within said stream of data; and means, operative in response to said termination of the download of the data file, for automatically restarting the download of the data file by initiating a second download of the data file by sending, using the first application protocol, a second request for the data file to the server computer, wherein the request specifies the amount of data successfully received.
-
-
6. A client system for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the client system sends data over a computer network connecting the client computer to the server computer, comprising:
-
for sending a request for a client program to the server computer over the computer network; means for receiving from the server computer, in response the request for the client program, such that the client system, when the client program is executed, comprises; means for initiating a download of the data file by sending for sending a message to the server computer requesting an indication of a port for a server process for performing the download; means for receiving the indicator of the port; and means for sending a message to the server process at the indicated port requesting the downloading of the data file; means for monitoring data received from the server computer in response to the request for the data file to detect termination of the download of the data file, where the termination may occur anywhere within the data file being sent; and means, operative in response to the detected termination of the download of the data file, for automatically restarting the download of the data file by sending a second request for the data file to the server computer.
-
-
7. A process for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the process has an application protocol for sending data as a stream of data using a transport protocol over a computer network connecting the client computer to the server computer, comprising the steps, performed by the client computer, of:
-
initiating a download of the data file as a stream of data by sending, using the application protocol, a request for the data file to the server computer over the computer network; monitoring data successfully received by the client computer from the server computer, in response to the request; storing said data successfully received by the client computer; detecting a termination of the stream of data being downloaded, where the termination may occur anywhere within said stream of data; and
in response to the termination of the download of the data file, testing for the existence of a viable connection from the client computer to the computer network and automatically restarting the download of the data file by initiating a second download of the data file bysending, using the application protocol, a second request for the data file to the server computer, wherein the request specifies the amount of data successfully received. - View Dependent Claims (9, 10, 11, 12)
-
-
8. A process for downloading a data file from a server computer to a client computer, wherein the data file is stored on a computer readable medium connected to the server computer, wherein the process sends data over a computer network connecting the client computer to the server computer, comprising the steps, performed by the client computer, of:
-
sending a request for a client program to the server computer over the computer network; receiving from the server computer, in response the request for the client program, a client program which when executed performs the steps of; initiating a download of the-data file by sending a request for the data file to the server computer over the computer network; monitoring data received from the server computer, in response to the request for the data file, to detect termination of the download of the data file; in response to said termination of the download of the data file, where said termination may occur anywhere within the data file being downloaded, testing for the existence of a viable connection from the client computer to the computer network; and automatically restarting the download of the data file by sending a second request for the data file to the server computer.
-
Specification