Method of improving the reliability of peer-to-peer network downloads
First Claim
Patent Images
1. A method of managing of peer-to-peer network downloads, comprising:
- initiating a broadcast search from a client on a peer-to-peer network;
receiving a list of servers that satisfy the search;
comparing a connection speed of at least one of the servers to an available network access bandwidth of the client;
selecting one of a plurality of downloading systems based on the comparison;
determining if an available bandwidth is less than a connection speed to two of the servers;
when the available bandwidth is less than the connection speed to two of the servers, selecting a serial concatenated download system;
when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concurrent download system;
when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concatenated download system; and
downloading a file using one of the plurality of downloading systems.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of improving the reliability of peer-to-peer network downloads includes the steps of initiating a search from a client on a peer-to-peer network (152). Next, a list of servers is downloaded that satisfies the search (154). At least one of the servers is selected from the list of servers (156). Next, one of a plurality of downloading systems is selected based on a predetermined criteria (158). A file is downloaded using one of the plurality of downloading systems.
-
Citations
27 Claims
-
1. A method of managing of peer-to-peer network downloads, comprising:
-
initiating a broadcast search from a client on a peer-to-peer network; receiving a list of servers that satisfy the search; comparing a connection speed of at least one of the servers to an available network access bandwidth of the client; selecting one of a plurality of downloading systems based on the comparison; determining if an available bandwidth is less than a connection speed to two of the servers; when the available bandwidth is less than the connection speed to two of the servers, selecting a serial concatenated download system; when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concurrent download system; when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concatenated download system; and downloading a file using one of the plurality of downloading systems. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of managing peer-to-peer network downloads, comprising:
-
broadcasting a search query from a client over the peer-to-peer network; receiving a list of servers and a list of associated document names that satisfy the search query; comparing a connection speed of at least one of the servers on the list of servers to an available network access bandwidth of the client; determining one of a plurality of downloading systems based on the comparison; determining if an available bandwidth is less than a connection speed to two of the servers; when the available bandwidth is less than the connection speed to two of the servers, selecting a serial concatenated download system; when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concurrent download system; when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concatenated download system; and downloading a file via the one of the plurality of downloading systems. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of operating a peer-to-peer network comprising the steps of:
-
initiating a broadcast search from a first peer to the peer-to-peer network; receiving a list of peer servers that meet a search query; comparing a connection speed to at least one of the peer servers to an available network access bandwidth of the first peer; selecting one of a plurality of downloading systems based on the comparison; determining if an available bandwidth is less than a connection speed to two of the servers; when the available bandwidth is less than the connection speed to two of the servers, selecting a serial concatenated download system; when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concurrent download system; when the available bandwidth is not less than the connection speed to two of the servers, selecting a multiple concatenated download system; and downloading a file using the selected one of the plurality of downloading systems. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method of operating a peer-to-peer network comprising:
-
initiating a search from a first peer to the peer-to-peer network; receiving a list of peer servers, a plurality of associated file names, a plurality of file sizes, a plurality of bandwidths and a plurality of source nodes that meet a search query; determining a connection speed to each of the peer servers on the list of peer servers; selecting a subset of the list of peer servers based on the connection speed; when an available bandwidth is less than two times a connection speed; selecting a server with a fastest connection speed; starting a download from the server with the fastest connection speed; determining if the server with the fastest connection speed had an error before the file was downloaded; when the server with the fastest connection speed had an error before the file was downloaded; selecting a second server; determining a last byte received; transmitting a download starting from a next byte command to a second server; when an available bandwidth is not less than two times a connection speed; selecting a plurality of servers from the list of servers; starting a plurality of simultaneous downloads from the plurality of servers; determining if the client has received a complete version of the file from one of the plurality of servers; and when the client has received a complete version of the file from one of the plurality of servers, terminating a rest of the downloads.
-
Specification