Method and apparatus for improving data transfers in peer-to-peer networks
Abstract
One embodiment of the present method and apparatus for improving data transfers in peer-to-peer networks includes receiving a search request message from a requesting node, where the search request message requests specific data. A responding node then sends a response message to the requesting node including a referral message comprising at least one referred node that is expected to have the requested data, based on knowledge of the referred node's previous incoming and outgoing data transfers. The responding node may also indicate that the responding node has the requested data. In addition to increasing the requesting node's view of the peer-to-peer network, this also enables the identification of nodes (e.g., referred nodes) with which the requesting node may wish to establish direct peer-to-peer connections, e.g., to build peer-to-peer communities of nodes having similar interests.
Claims
exact text as granted — not AI-modified1 . A method for transferring data between nodes in a network, said method comprising:
receiving, by a first node, a search request message from a second node, said search request message requesting data; and sending, by said first node, a response message to said second node, said response message including a referral message identifying at least one third node that is expected to have said requested data.
2 . The method of claim 1 , wherein said response message further indicates that said first node has said requested data.
3 . The method of claim 1 , wherein said at least one third node is a node that has retrieved said requested data from said first node.
4 . The method of claim 1 , wherein said referral message includes at least one of: said at least one third node's hostname, said at least one third node's IP address and said at least one third node's virtual name.
5 . The method of claim 1 , wherein said at least one third node has retrieved said requested data within a predefined maximum timeframe.
6 . The method of claim 5 , where said predefined maximum timeframe is defined by at least one of: said first node and said second node.
7 . The method of claim 1 , wherein said referral message is sent if said search request message has traveled at least a threshold distance into said network.
8 . The method of claim 7 , wherein said threshold distance is defined by at least one of: said first node and said second node.
9 . The method of claim 1 , further comprising:
updating said referral message to remove at least one third node if said at least one third node no longer has said requested data.
10 . The method of claim 9 , wherein said updating further comprises:
sending, by said first node, a test search message to said at least one third node, to determine whether said third node still has said requested data.
11 . The method of claim 9 , wherein said updating further comprises:
receiving, from said second node, a message indicating that said at least one third node no longer has said requested data.
12 . The method of claim 1 , wherein said referral message is ranked based on at least one of: uptime of said at least one third node, bandwidth of said at least one third node and latency of said at least one third node.
13 . A computer readable medium containing an executable program for transferring data between nodes in a network, where the program performs the steps of:
receiving, by a first node, a search request message from a second node, said search request message requesting data; and sending, by said first node, a response message to said second node, said response message including a referral message identifying at least one third node that is expected to have said requested data.
14 . The computer readable medium of claim 13 , wherein said response message further indicates that said first node has said requested data.
15 . The computer readable medium of claim 13 , wherein said at least one third node is a node that has retrieved said requested data from said first node.
16 . The computer readable medium of claim 13 , wherein said referral message includes at least one of: said at least one third node's hostname, said at least one third node's IP address and said at least one third node's virtual name.
17 . The computer readable medium of claim 13 , wherein said at least one third node has retrieved said requested data within a predefined maximum timeframe.
18 . The computer readable medium of claim 17 , where said predefined maximum timeframe is defined by at least one of: said first node and said second node.
19 . The computer readable medium of claim 13 , wherein said referral message is sent if said search request message has traveled at least a threshold distance into said network.
20 . The computer readable medium of claim 19 , wherein said threshold distance is defined by at least one of: said first node and said second node.
21 . The computer readable medium of claim 13 , further comprising:
updating said referral message to remove at least one third node if said at least one third node no longer has said requested data.
22 . The computer readable medium of claim 21 , wherein said updating further comprises:
sending, by said first node, a test search message to said at least one third node, to determine whether said third node still has said requested data.
23 . The computer readable medium of claim 21 , wherein said updating further comprises:
receiving, from said second node, a message indicating that said at least one third node no longer has said requested data.
24 . The computer readable medium of claim 13 , wherein said referral message is ranked based on at least one of: uptime of said at least one third node, bandwidth of said at least one third node and latency of said at least one third node.
25 . Apparatus comprising:
means for receiving, by a first node, a search request message from a second node, said search request message requesting data; and means for sending, by said first node, a response message to said second node, said response message including a referral message identifying at least one third node that is expected to have said requested data.
26 . A method for building a community of nodes having common interests in a network, said method comprising the steps of:
sending, by a first node, a search request message, said search request message requesting data; and receiving a response message from a second node, said response message including a referral message identifying at least one third node that is expected to have said requested data.
27 . The method of claim 26 , further comprising:
admitting at least one of said at least one third node into said community.
28 . The method of claim 26 , wherein said admitting comprises:
creating a new direct peer connection from a node in said community to said at least one of said at least one third node.
29 . A computer readable medium containing an executable program for building a community of nodes having common interests in a network, where the program performs the steps of:
sending, by a first node, a search request message, said search request message requesting data; and receiving a response message from a second node, said response message including a referral message identifying at least one third node that is expected to have said requested data.
30 . Apparatus comprising:
means for sending, by a first node, a search request message, said search request message requesting data; and means for receiving a response message from a second node, said response message including a referral message identifying at least one third node that is expected to have said requested data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.