Efficient handling of download requests
First Claim
1. A method for downloading data, comprising the steps of:
- establishing a connection over a communication network between a remote client and a server, said connection comprising a socket;
receiving a download request from said client via said connection for download of information from said server;
transferring said socket to a download manager process executing on said server; and
transmitting said information to said client from said download manager process using said socket.
1 Assignment
0 Petitions
Accused Products
Abstract
A server is capable of receiving large numbers of concurrent download requests, establishing TCP sessions with each client. A copy of the socket of each session, together with descriptor information of the file requested are transferred to a download manager, and the original connection immediately closed. The connection to the client remains open via the copy of the socket, which is then converted to a non-blocking socket by the download manager converts to copy of the socket to a non-blocking socket, and downloads the requested information to the client using the non-blocking socket and its own connection to the server. The arrangement is capable of dealing with loads that would ordinarily overwhelm the server'"'"'s capability of establishing and maintaining individual TCP sessions with its clients. Heavy loads, including bursty peak loads, are handled gracefully, without causing the server to stall, or to refuse connections.
129 Citations
21 Claims
-
1. A method for downloading data, comprising the steps of:
-
establishing a connection over a communication network between a remote client and a server, said connection comprising a socket;
receiving a download request from said client via said connection for download of information from said server;
transferring said socket to a download manager process executing on said server; and
transmitting said information to said client from said download manager process using said socket. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for downloading files from said computer over a data network comprising the steps of:
-
intercepting a download request for information that is received via a first connection from a remote client, said first connection comprising a socket;
installing a download manager in said computer;
transmitting a set of data comprising said download request and a descriptor of said socket to said download manager to define a second connection between said download manager and said client using said descriptor; and
downloading said information from said computer to said client via said second connection. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for downloading information over a data network, comprising:
-
a server connectable to a plurality of clients across said data network via blocking sockets, said server being adapted to intercept download requests from said clients, and to associate each of said download requests with respective copies of said blocking sockets; and
a download manager executing in said server that receives said download requests and said copies from said server, said download manager being adapted to convert said copies to non-blocking sockets, said server thereupon closing said blocking sockets, wherein said download manager causes said download requests to be serviced from said server across said data network via respective ones of said non-blocking sockets. - View Dependent Claims (19, 20, 21)
-
Specification