Patent ID: 8599856

Claim:
A method for transferring data from a first node to a second node in a peer-to-peer network, said method comprising steps of: receiving, at a third node in said peer-to-peer network, a request for connection assistance from one of said first node and said second node, where said second node has expressed a desire to obtain said data from said first node, but said first node and said second node are unable to connect to each other directly, and wherein said third node is configured for monitoring data transfers involving at least one of said first node and said second node; deciding, by said third node, whether to offer assistance in a transfer of said data, based on a probability proportional to a value in a time to live field of said request for connection assistance; if said third node decides to offer the assistance, sending, by said third node, an acknowledgement to said first node or to said second node in response to said request for connection assistance, where said acknowledgement indicates that said third node is able to assist in a transfer of said data; connecting, by said third node, directly to said first node; connecting, by said third node, directly to said second node; receiving, at said third node, said data from said first node; and delivering, by said third node, said data to said second node, wherein the first node, the second node, and the third node are peers of each other in the peer-to-peer network.