Peer-to-peer group management and method for maintaining peer-to-peer graphs
First Claim
1. A method of forming a peer-to-peer group, comprising the steps of selecting a friendly name for the group (NAMEG), calculating a category identification (CID) for the group, and providing the CID to a peer.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method of serverless peer-to-peer group management and maintenance is presented. Group formation and discovery of private, public, and enumerated groups are provided, as is a method of joining such a peer-to-peer group. Group information management provided by the present invention ensures that each node maintains a current database from the initial joining of the group through the run phase of membership. Group graph maintenance utilizes a group signature to ensure that partitions in a graph may be detected and repaired. The utility of connections within the graph are also monitored so that non-productive connections may be dropped to increase the efficiency of the group. The diameter of the graph is also monitored and adjusted to ensure rapid information transfer throughout the group. A disconnect procedure is used to maintain the graph integrity and prevent partitions resulting from the departure of a group member.
-
Citations
53 Claims
- 1. A method of forming a peer-to-peer group, comprising the steps of selecting a friendly name for the group (NAMEG), calculating a category identification (CID) for the group, and providing the CID to a peer.
- 12. A method of discovering a peer-to-peer group, comprising the steps of learning a category identification (CID) for the group, calculating at least one utility peer identification, concatenating the CID with the at least one utility peer identification, searching for an instance of the concatenated CID with the at least one utility peer identification.
- 27. A method of joining a peer-to-peer group, comprising the steps of sending a connect message to a first member of the group, receiving a refuse message including contact information for at least a second member of the group, sending a connect message to the second member of the group, and receiving a welcome message from the second member.
- 29. A method of synchronizing information between an existing member and a new member after the new member has joined a peer-to-peer group, comprising the steps of calculating a signature of a database of the existing member, sending the signature to the new member wherein a comparison of information in the signature to the database of the new member is performed, receiving object requests for information from the existing member'"'"'s database that are not present in the new member'"'"'s database, and transmitting only the requested objects to the new member.
- 31. A method of managing shared group information in a peer-to-peer group, comprising the steps of receiving a message having a unique identifier UID from a peer, searching a local database of shared group information for the UID, and when the UID does not exist in the local database determining that the message is new, updating the local database with the message, and flooding the message to neighbors.
- 37. A method of maintaining a peer-to-peer group graph, the group including a plurality of members each having a unique identifier, comprising the steps of calculating a group signature comprising a lowest of the unique identifiers of the members of the group, creating a group signature record containing the group signature, and flooding the group signature record to the members of the group.
- 46. A method of dynamically reconfiguring a peer-to-peer group graph to enhance performance thereof, comprising the steps of establishing a predetermined number of neighbor connections, assessing a utility of each of the neighbor connections, and disconnecting from a low utility neighbor when a number of neighbor connections exceeds the predetermined number.
-
53. A method of departing a peer-to-peer group, comprising the steps of constructing a disconnect message including contact information for at least one neighbor and sending the disconnect message to all current neighbors.
Specification