×

Method for optimally utilizing a peer to peer network

  • US 8,095,614 B2
  • Filed: 01/21/2005
  • Issued: 01/10/2012
  • Est. Priority Date: 01/23/2004
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising the steps of:

  • at a first peer node in a peer-to-peer network having a plurality of peer nodes in which connections among some of the peer nodes cannot be formed because a number of hops among such nodes is more than a maximum number of hops allowed for the peer-to-peer network;

    A. grouping the plurality of peer nodes into first and second sub-peer networks by;

    connecting to a second peer node to form a first direct connection;

    issuing a first search message to the second peer node requesting the second peer node to forward the search message to other peer nodes of the second peer node;

    receiving a first set of responses from the second peer node including responses from the other peer nodes of the second peer node;

    determining from peer node distance information provided in the first set of responses which of the other peer nodes of the second peer node is a determined peer node, such that a number of hops along a path from the first peer node to the second peer node to the determined peer node is equal to a maximum number of hops that the search message can be forwarded using the first direct connection to the second peer node;

    adding to the first sub-peer network, the second node and peers of the second node but not the determined peer node, wherein each node of the first sub-peer network is less than the maximum number of hops away from the first peer node;

    connecting directly to the determined peer node to form a second direct connection that is in addition to the first direct connection to the second peer node;

    issuing a second search message to the determined peer node requesting the determined peer node to forward the second search message to other peer nodes of the determined peer node;

    receiving a second set of responses from the determined peer node including responses from the other peer nodes of the determined peer node;

    determining from peer node distance information provided in the second set of responses which of the peer nodes of the determined peer node is a second determined peer node, such that a number of hops from the first node to the determined peer node to the second determined peer node is equal to a maximum number of hops that the second search message can be forwarded using the second direct connection;

    adding to the second sub-peer network, the determined peer node and peers of the determined peer node but not the second determined peer node, wherein each node of the second sub-peer network is less than the maximum number of hops away from the first peer node;

    B. controlling connections among the plurality of peer nodes of the first and second sub-peer networks by;

    receiving from the plurality of peer nodes, information about connections among the plurality of peer nodes within each of the sub-peer networks;

    maintaining the connection information; and

    accepting and denying a search request received by the first peer node from a requesting peer node requesting to connect to another peer node located in a sub-peer network different from the requesting peer node and the first peer node, the accepting and denying based on the connection information maintained by the first peer node and received from peer nodes other than the requesting peer node.

View all claims
  • 8 Assignments
Timeline View
Assignment View
    ×
    ×