Patent ID: 7730207

Claim:
A method comprising: storing, in a non-transitory memory communicatively coupled to a processor, processor-executable instructions for performing the method; executing the instructions on the processor; according to the instructions being executed: receiving at one of a plurality of nodes in a peer-to-peer network, an indication of a change in membership by another said node in the peer-to-peer network; updating, in response to the receipt of the indication, at least one soft state routing table entry in a soft state routing table (SSRT) having a plurality of said SSRT entries, each referencing a corresponding node from among said plurality of nodes, wherein the said SSRT entries describe a current membership of the system; broadcasting a report that describes the change to each said node referenced in an SSRT used by the one said node, wherein the report is only formed after aggregating a plurality of said indications received from two or more nodes indicating a change in membership of the two or more nodes; maintaining a finger table having a plurality of finger table entries, wherein the SSRT is a finger table having a plurality of finger table entries, wherein each said finger table entry references successively farther nodes by following a logarithmic function, wherein the logarithmic function is a prefix routing algorithm of the form log(N) where N is a total number of nodes in the peer-to-peer network; updating a leafset table that defines a hash space for the node, the hash space having information about resources provided in the peer-to-peer network, the leafset table enabling a guarantee of the integrity of a key space of the network and giving priority to node-leaving indications over node-joining indications.