Peer-to-peer automated anonymous asynchronous file sharing
First Claim
Patent Images
1. A computer system for peer-to-peer file sharing comprising:
- a server computer having an index of information about files that reside on a plurality of peer computers, the server computer selectively coupled to the plurality of peer computers by a network;
a plurality of agent programs running on at least two of the plurality of peer computers and operable to transmit index information to the server computer and operable to transmit a requested file; and
a file sharing program running on the server computer and operable to perform centralized searches based on the index information transmitted to it across the network by the agent programs, to store peer computer file requests identifying a requested file transmitted across the network by a requesting peer computer of the plurality of peer computers, the requested file being referenced in the index information, and to direct a peer-to-peer computer connection for the purpose of exchanging files between the requesting peer computer and a storing peer computer storing the requested file upon detection of connection of the storing peer computer to the server.
11 Assignments
0 Petitions
Accused Products
Abstract
A service on a computer network that performs centralized searches based on index information transmitted by peer systems to a central site using an agent program running on each peer. Peer systems are directed to each other for the purpose of retrieving files. If none of the peers systems known to contain the files is online (and the file is therefore not available), the request is placed in a queue of file requests maintained by the central site. When a system containing the requested file connects to the service, the requested file is retrieved from that system and then distributed to the other systems which had requested the file.
27 Citations
40 Claims
-
1. A computer system for peer-to-peer file sharing comprising:
-
a server computer having an index of information about files that reside on a plurality of peer computers, the server computer selectively coupled to the plurality of peer computers by a network;
a plurality of agent programs running on at least two of the plurality of peer computers and operable to transmit index information to the server computer and operable to transmit a requested file; and
a file sharing program running on the server computer and operable to perform centralized searches based on the index information transmitted to it across the network by the agent programs, to store peer computer file requests identifying a requested file transmitted across the network by a requesting peer computer of the plurality of peer computers, the requested file being referenced in the index information, and to direct a peer-to-peer computer connection for the purpose of exchanging files between the requesting peer computer and a storing peer computer storing the requested file upon detection of connection of the storing peer computer to the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system for peer-to-peer file sharing comprising:
-
a server computer storing an index of information about files that reside on a plurality of peer computers, the server computer selectively coupled to the plurality of peer computers by a network;
wherein the server computer stores a file sharing program that is operable to;
perform centralized searches based on index information transmitted to it across the network by agent programs running on two or more of the plurality of peer computers, each agent program operable to transmit index information regarding one or more files to the server computer and further operable to transmit one of the one or more files to a peer computer in response to a request from that peer computer;
store file requests that identify a requested file and that are transmitted across the network by a requesting peer computer of the plurality of peer computers, the requested file being referenced in the index of information; and
direct a peer-to-peer computer connection for the purpose of exchanging files between the requesting peer computer and a storing peer computer storing the requested file, wherein said peer-to-peer computer connection is directed upon detection of connection of the storing peer computer to the server.
-
-
10. A system, comprising:
-
a server system storing a central index of information for files that reside on a plurality of peer computers and that are available for peer-to-peer file sharing, wherein the server system is selectively coupled to the plurality of peer computers by one or more networks, wherein at least two of the plurality of peer computers have an agent program running on them that is operable to;
transmit index information to the server system to update the central index; and
transmit a requested file to a peer computer system to facilitate peer-to-peer file sharing;
wherein the server system is configured to execute a file sharing program that is operable to;
in response to queries, perform searches for files based on the central index;
store file requests from requesting peer computers of the plurality of peer computers, wherein the requested files are referenced in the central index, and wherein the stored file requests include a first request from a first of the plurality of peer computers for a first file stored by a second of the plurality of peer computers; and
upon detecting that the second peer computer is connected to the server computer, direct a peer-to-peer connection between the first and second peer computers to exchange the first file. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 19, 20)
-
-
18. The system of 10, including a secondary DNS system configured to map names of the plurality of peer computers to IP addresses of the plurality of peer computers.
-
21. A server system selectively coupled to a plurality of peer computers via one or more networks, wherein the server system stores program instructions executable to:
-
maintain a central index of files stored on various ones of the plurality of peer computers and that are available for peer-to-peer file sharing;
receive, from peer computers within the plurality of peer computers, requests for files referenced in the central index and stored on various ones of the plurality of peer computers;
store one or more of the received requests that are for files stored on peer computers that are not currently connected to the server system;
detect that a first peer computer has connected to the server system, the first peer computer storing a first file that is the subject of a stored file request from a second peer computer;
in response to said detecting, direct an anonymous peer-to-peer connection between the first and second peer computers to share the first file. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A method, comprising:
-
maintaining, at a server system, a central index of files stored on a plurality of peer computers coupled to the server system via one or more networks;
the server system receiving, from a first of the plurality of peer computers, a request for a first file referenced by the central index, wherein the first file is stored by a second of the plurality of peer computers that is currently not connected to the server system;
upon detecting that the second peer computer has connected to the server system, the server system directing a peer-to-peer connection between the first and second peer computers to share the first file. - View Dependent Claims (28, 29, 30)
-
-
31. A computer-readable memory medium storing program instructions executable by a server system to:
-
maintain a central index of files stored on a plurality of peer computers;
receive, from a first of the plurality of peer computers, a request for a first file referenced by the central index, wherein the first file is stored by a second of the plurality of peer computers that is currently not connected to the server system;
upon detecting that the second peer computer has connected to the server system, direct a peer-to-peer connection between the first and second peer computers to share the first file. - View Dependent Claims (32, 33)
-
-
34. A method, comprising:
-
a first of a plurality of peer computers connecting to a server system, the first peer computer storing a first file that has been requested by a second of the plurality of peer computers while the first peer computer was not connected to the server system, wherein the first file is referenced by a central index stored by the server system;
upon the first peer computer connecting to the server system, the first peer computer receiving a request for the first file from the server system;
responsive to the request from the server system, the first peer computer sharing the requested first file with the second peer computer over a public network. - View Dependent Claims (35, 36, 37)
-
-
38. A method, comprising:
-
a first of a plurality of peer computer systems requesting a first file from a server system, wherein the server system stores a central index of files residing on various ones of the plurality of peer computer system, wherein the first file resides on a second of the plurality of peer computer systems that is not currently connected to the server system, and wherein the request for the first file is stored by the server system in response to the second peer computer system not currently being connected;
upon the second peer computer system connecting to the server system and receiving direction from the server system to share the first file, the first peer computer system receiving the first file. - View Dependent Claims (39, 40)
-
Specification