Claims
- 1. A method of operating a peer-to-peer network having a multiplicity of clients, each of the multiplicity of clients having a unique client address, and a server having a list of client addresses, said method comprising the steps of:
communicating from the server to a first of the multiplicity of clients a first seed list comprising a first portion of the list of client addresses; communicating from the server to a second of the multiplicity of clients a second seed list comprising a second portion of the list of client addresses, the first seed list including a second client address corresponding to the second client and the second seed list including a third client address corresponding to a third of the multiplicity of clients; communicating a search request from the first client to at least the second client in response to the first seed list; and communicating the search request from the second client to at least the third client in response to the second seed list.
- 2. The method according to claim 1 wherein each of the multiplicity of clients may be either connect to or disconnect from the peer-to-peer network at any time, and the method further comprising the steps of:
at the server, determining which of the multiplicity of clients is connected to the peer-to-peer network; at the server, generating a list of connected client addresses in response said step of determining; and at the server, generating the first and second seed lists from the list of connected client addresses.
- 3. The method according to claim 2 further comprising the steps of:
communicating a connection signal from one of the multiplicity of clients to the server in response to the one of the multiplicity of clients connecting to the peer-to-peer network; and at the server, adding a newly connected client address corresponding to the one of the multiplicity of clients to the list of connected client addresses in response thereto.
- 4. The method according to claim 3 further comprising the steps of
at the server, removing a disconnected client address from the list of connected client addresses in response to an absence of reception of an expected acknowledgement signal from a corresponding disconnected client.
- 5. The method according to claim 4 further comprising the steps of:
communicating a ping signal from the server to the one of the multiplicity of clients in response to its inclusion in the list of connected client addresses; and communicating the expected acknowledgement signal from the one of the multiplicity of clients in response to reception the ping signal wherein the ping signal is not received and the expected acknowledgement signal is not sent by the one of the multiplicity of clients if the one of the multiplicity of clients is disconnected from the peer-to-peer network thereby causing the one of the multiplicity of clients to correspond to the disconnected client address.
- 6. The method according to claim 2 wherein the first seed list includes a disconnected client and the method further comprises the step of
at the first client, removing the client address corresponding to the disconnected client from the first seed list in response to an absence of reception of an expected acknowledgement signal from the disconnected client.
- 7. The method according to claim 6 further comprising the step of
communicating from the first client to the server a request for a refreshed seed list in response to said step of removing the client address corresponding to the disconnected client from the first seed list.
- 8. The method according to claim 1 wherein the first seed list includes a plurality disconnected clients and the method further comprises the step of
communicating from the first client to the server a request for a refreshed seed list in response to an absence of reception of expected acknowledgement signals from the plurality of disconnected clients.
- 9. The method according to claim 1 wherein the second client has a second resource memory having a second plurality resources stored therein, the method further comprising the steps of:
at the second client, searching resources within the second resource memory in response to the search request; and communicating from the second client to the first client a second match signal indicative of a matching resource in response thereto.
- 10. The method according to claim 9 wherein at least one of the second plurality of resources includes metadata indicative thereof and said step of searching resources includes the step of searching the metadata of the resource.
- 11. The method according to claim 10 wherein the metadata file is manually generated.
- 12. The method according to claim 9 wherein the third client has a third resource memory having a third plurality resources stored therein, the method further comprising the steps of:
at the third client, searching resources within the third resource memory in response to the search request; and communicating from the third client to the first client a third match signal in response thereto.
- 13. The method according to claim 1 wherein the third client has a third resource memory having a third plurality resources stored therein, the method further comprising the steps of:
at the third client, searching resources within the third resource memory in response to the search request; and communicating from the third client to the first client a third match signal indicative of a matching resource in response thereto.
- 14. The method according to claim 13 further wherein the search request is initiated by the first client and includes an identification signal indicative the first client and
said step of searching resources selectively searches the third plurality of resources in response to the identification signal.
- 15. The method according to claim 14 further comprising the steps of:
communicating from the third client to and an external authentication process the identification signal; at the external authentication process, authenticating the identification signal by determining if the identification signal was originated by the first client; and communicating from the external authentication process to the third client an authentication signal in response to an affirmative authentication by said step of authenticating, and said step of searching resources selectively searches the third plurality of resources in response to the authentication signal.
- 16. The method according to claim 13 further wherein each of the third plurality of resources has a resource access control signal associated therewith and the search request is initiated by the first client and includes an identification signal indicative the first client and the method comprises the steps of:
communicating from the third client to and an external authorization process the identification signal; at the external authorization process, determining a first client access control signal in response to the identification signal; and communicating from the external authentication process to the third client the first client access control signal, and said step of searching resources selectively searches the third plurality of resources in response to the authentication signal, wherein
said step of searching resources selectively searches the third plurality of resources in response to a match between the first client access control signal and each corresponding resource access control signal.
- 17. A server for a peer-to-peer network having a multiplicity of clients, each of the multiplicity of clients having a unique client address and able to connect to or disconnect from the peer-to-peer network at any time, the server comprising:
a connected client list generator for determining which of the multiplicity of clients are connected to the peer-to-peer network and for generating a list of connected client addresses in response thereto; and a seed list generator for generating a plurality of unique seed lists from the list of connected client addresses for sending a corresponding one of the plurality of the unique seed lists to each of the multiplicity of clients, wherein each of the multiplicity of clients uses its corresponding seed list to communicate resource searches to other of the multiplicity of clients of the peer-to-peer network.
- 18. A client in a peer-to-peer network having a server and a multiplicity of clients having searchable resources, each of the multiplicity of clients having a unique client address, the client comprising:
a seed list receiver for receiving and storing a seed list of client addresses from the server; and a peer-to-peer network search dispatcher for forwarding a resource search request to client addresses of the seed list.
- 19. The client according to claim 18 wherein the resource search request includes a credentials signal indicative of an initiating client initiating the resource search request, and said client further comprises:
a memory for storing a plurality of resources, each of the plurality of resources having at least one corresponding access attribute; and a search engine for selectively searching at least one of the plurality of resources in response to a comparison of the credentials signal and the at least one access attribute of each of the plurality of resources.
- 20. The client according to claim 18 wherein the resource search request includes a credentials signal unique to an initiating client initiating the resource search request, wherein
said peer-to-peer network search dispatcher further communicates the credential signal to an authorization process external to the client and receives at least one of a plurality of predetermined authorization signals in response thereto, and said client further comprises:
a memory for storing a plurality of resources, each of the plurality of resources having at least one corresponding access attribute; and a search engine for selectively searching the plurality of resources in response to a comparison of the at least one of the plurality of predetermined authorization signals received from the external authorization process and the at least one access attribute of each of the plurality of resources.
- 21. A method in a server for a peer-to-peer network having a multiplicity of clients, each of the multiplicity of clients having a unique client address and able to connect to or disconnect from the peer-to-peer network at any time, the method comprising the steps of:
determining which of the multiplicity of clients are connected to the peer-to-peer network; generating a list of connected client addresses in response to said step of determining; generating a plurality of unique seed lists from the list of connected client addresses; and sending a corresponding one of the plurality of the unique seed lists to each of the multiplicity of clients, wherein each of the multiplicity of clients uses its corresponding seed list to communicate resource searches to other of the multiplicity of clients of the peer-to-peer network.
- 22. A method in a client in a peer-to-peer network having a server and a multiplicity of clients having searchable resources, each of the multiplicity of clients having a unique client address the method comprising the steps of:
receiving a seed list of client addresses from the server; and forwarding a resource search request to client addresses of the seed list.
- 23. The method according to claim 22 wherein the resource search request includes a credentials signal indicative of an initiating client initiating the resource search request, and the method further comprises the step of
selectively searching at least one of a plurality of resource stored at the client, wherein each of the plurality of resources having at least one corresponding access attribute and said step of selectively searching searches in response to a comparison of the credentials signal and the at least one access attribute of each of the plurality of resources.
- 24. The method according to claim 22 wherein the resource search request includes a credentials signal unique to an initiating client initiating the resource search request, the method further comprising the step of:
communicating the credential signal to an authorization process external to the client; receiving at least one of a plurality of predetermined authorization signals in response thereto; and selectively searching at least one of a plurality of resource stored at the client, wherein each of the plurality of resources having at least one corresponding access attribute and said step of selectively searching searches in response to a comparison of the received authorization signal and the at least one access attribute of each of the plurality of resources.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is related to the inventors' application “SECURED AND ACCESS CONTROLLED PEER-TO-PEER RESOURCE SHARING METHOD AND APPARATUS,” Ser. No. ______, now which was filed on the same day as the present application and commonly assigned herewith to International Business Machines Corporation.