Modifying Operation of Peer-to-Peer Networks Based on Integrating Network Routing Information
Abstract
A data processing method comprising establishing a first node in a peer-to-peer data communications network, wherein the node is configured as a supernode in conformance with a peer-to-peer communications protocol, wherein the first node is configured as an active listener to one or more network routing protocols executing at a network router; receiving a routing information message from one of the network routing protocols; modifying an operational characteristic of the first node in response to the routing information message; receiving a request from a second node in the peer-to-peer network for a resource that is known to the first node; and responding to the request based on the modified operational characteristic. For example, a peer-to-peer node may be configured as a network-aware BitTorrent Tracker, Gnutella supernode, etc., and can use IGP and BGP information from a router to determine how the node behaves.
Claims
exact text as granted — not AI-modified1 . A method, comprising:
establishing a first node in a peer-to-peer data communications network, wherein the first node is configured as a supernode of a peer-to-peer communications protocol and as an active or passive listener to one or more network routing protocols; wherein the peer-to-peer communications protocol is configured to return a list of peer nodes that have a replica of a requested resource and the one or more network routing protocols include one or more of BGP, Multiprotocol BGP (MBGP), IGP, Routing Information Protocol (RIP), Open Shortest Path First (OSPF), On-Demand Routing (ODR), or AS Routing; receiving, from one of the one or more network routing protocols, a routing information message that contains network routing information; modifying an operational characteristic of the first node in response to the routing information message by establishing a preference for local nodes as candidates for responding to one or more requests for one or more resources by storing an attribute in association with a corresponding network prefix for each route in the network routing information; after receiving the routing information message, receiving a request of the one or more requests from a second node in the peer-to-peer data communications network for a particular resource of the one or more resources that is known to the first node; the first node determining, based on the modified operational characteristic, a set of best candidate peer-to-peer protocol nodes known to the first node to have a replica of the particular resource requested by the second node; responding to the request by returning to the second node a list of one or more peer-to-peer protocol nodes of the set of best candidate peer-to-peer protocol nodes.
2 . A method as recited in claim 1 , wherein the peer-to-peer communications protocol is BitTorrent.
3 . A method as recited in claim 1 , wherein the peer-to-peer communications protocol is any of Kazaa, Gnutella, Fast Track, eDonkey, Chord, or Tapestry.
4 . A method as recited in claim 1 , wherein the one or more network routing protocols further includes an interior gateway protocol with traffic engineering extensions.
5 . A method as recited in claim 4 , wherein the routing information message comprises an IGP link status update message of the interior gateway protocol with traffic engineering extensions, and wherein the operational characteristic comprises referring the second node to a replica of the resource that is located only on a link that is referenced in the link status update message and that is preferred with respect to the router based on the link status.
6 . A method as recited in claim 5 , wherein the IGP link status update message specifies any parameter of link cost, link delay, or link utilization.
7 . A method as recited in claim 5 , wherein the operational characteristic comprises routing traffic from the first node to the second node on a path that is determined at least in part based on the link status update message.
8 . An apparatus, comprising:
means for establishing a first node in a peer-to-peer data communications network, wherein the first node is configured as a supernode of a peer-to-peer communications protocol and as an active or passive listener to one or more network routing protocols; wherein the peer-to-peer communications protocol is configured to return a list of peer nodes that have a replica of a requested resource and the one or more network routing protocols include one or more of BGP, Multiprotocol BGP (MBGP), IGP, Routing Information Protocol (RIP), Open Shortest Path First (OSPF), On-Demand Routing (ODR), or AS Routing; means for receiving, from one of the one or more network routing protocols, a routing information message contains network routing information; means for modifying an operational characteristic of the first node in response to the routing information message by establishing a preference for local nodes as candidates for responding to one or more requests for one or more resources by storing an attribute in association with a corresponding network prefix for each route in the network routing information; means for receiving, after receiving the routing information message, a request of the one or more requests from a second node in the peer-to-peer data communications network for a particular resource of the one or more resources that is known to the first node; means for the first node determining, based on the modified operational characteristic, a set of best candidate peer-to-peer protocol nodes known to the first node to have a replica of the particular resource requested by the second node; means for responding to the request by returning to the second node a list of one or more peer-to-peer protocol nodes of the set of best candidate peer-to-peer protocol nodes.
9 . An apparatus as recited in claim 8 , wherein the peer-to-peer communications protocol is BitTorrent.
10 . An apparatus as recited in claim 8 , wherein the peer-to-peer communications protocol is any of Kazaa, Gnutella, Fast Track, eDonkey, Chord, or Tapestry.
11 . An apparatus as recited in claim 8 , wherein the one or more network routing protocols further include an interior gateway protocol with traffic engineering extensions.
12 . An apparatus as recited in claim 11 , wherein the routing information message comprises an IGP link status update message of an interior gateway protocol with traffic engineering extensions, and wherein the operational characteristic comprises referring the second node to a replica of the resource that is located only on a link that is referenced in the link status update message and that is preferred with respect to the router based on the link status.
13 . An apparatus as recited in claim 12 , wherein the IGP link status update message specifies any parameter of link cost, link delay, or link utilization.
14 . An apparatus as recited in claim 12 , wherein the operational characteristic specifies routing traffic from the first node to the second node on a path that is determined at least in part based on the link status update message.
15 . A peer-to-peer data communications network, comprising:
one or more routers, wherein each of the routers comprises a Border Gateway Protocol (BGP) module and an Interior Gateway Protocol (IGP) module; one or more peer-to-peer nodes, wherein at least one of the peer-to-peer nodes is communicatively coupled to at least one of the routers, wherein the peer-to-peer nodes communicate among one another according to a peer-to-peer communications protocol that returns a list of peer nodes that have a replica of a requested resource; a supernode that is communicatively coupled to one of the routers and that is configured as a supernode in conformance with the peer-to-peer communications protocol and as an active or passive listener to the BGP module and the IGP module, wherein the supernode comprises one or more sequences of computer program instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving, from one of the one or more of the BGP module and the IGP module, a routing information message contains network routing information; modifying an operational characteristic of the first node in response to the routing information message by establishing a preference for local nodes as candidates for responding to one or more requests for one or more resources by storing an attribute in association with a corresponding network prefix for each route in the network routing information; after receiving the routing information message, receiving a request of the one or more requests from a second node in the peer-to-peer data communications network for a particular resource of the one or more resources that is known to the first node; the first node determining, based on the modified operational characteristic, a set of best candidate peer-to-peer protocol nodes known to the first node to have a replica of the particular resource requested by the second node; responding to the request by returning to the second node a list of one or more peer-to-peer protocol nodes of the set of best candidate peer-to-peer protocol nodes.
16 . A network as recited in claim 15 , wherein the peer-to-peer communications protocol is BitTorrent.
17 . A network as recited in claim 15 , wherein the peer-to-peer communications protocol is any of Kazaa, Gnutella, Fast Track, eDonkey, Chord, or Tapestry.
18 . A network as recited in claim 15 , wherein the routing information message further includes an IGP link status update message of an interior gateway protocol with traffic engineering extensions, and wherein the operational characteristic comprises referring the one of the peer-to-peer nodes to a replica of the resource that is located only on a link that is referenced in the link status update message and that is preferred with respect to the router from which the routing information message was received, based on the link status.
19 . A network as recited in claim 18 , wherein the IGP link status update message specifies any parameter of link cost, link delay, or link utilization.
20 . A network as recited in claim 18 , wherein the operational characteristic comprises routing traffic from the supernode to the peer-to-peer node on a path that is determined at least in part based on the link status update message.
21 . A network as recited in claim 15 , wherein the supernode is configured as a BitTorrent tracker node.
22 . A network as recited in claim 15 , wherein the supernode is configured as a Gnutella ultrapeer node.
23 . A computer-readable volatile or non-volatile storage medium storing one or more sequences of instructions, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
establishing a first node in a peer-to-peer data communications network, wherein the first node is configured as a supernode of a peer-to-peer communications protocol and as an active or passive listener to one or more network routing protocols; wherein the peer-to-peer communications protocol is configured to return a list of peer nodes that have a replica of a requested resource and the one or more network routing protocols include one or more of BGP, Multiprotocol BGP (MBGP), IGP, Routing Information Protocol (RIP), Open Shortest Path First (OSPF), On-Demand Routing (ODR), or AS Routing; receiving a routing information message from one of the one or more network routing protocols; wherein the routing information message contains network routing information; modifying an operational characteristic of the first node in response to the routing information message by establishing a preference for local nodes as candidates for responding to one or more requests for one or more resources by storing an attribute in association with a corresponding network prefix for each route in the network routing information; after receiving the routing information message, receiving a request of the one or more requests from a second node in the peer-to-peer data communications network for a particular resource of the one or more resources that is known to the first node; the first node determining, based on the modified operational characteristic, a set of best candidate peer-to-peer protocol nodes known to the first node to have a replica of the particular resource requested by the second node; responding to the request by returning to the second node a list of one or more peer-to-peer protocol nodes of the set of best candidate peer-to-peer protocol nodes.
24 . The computer-readable volatile or non-volatile storage medium as recited in claim 23 , wherein the peer-to-peer communications protocol is any one of Kazaa, Gnutella, Fast Track, eDonkey, Chord, Tapestry, or BitTorrent.
25 . The computer-readable volatile or non-volatile storage medium as recited in claim 23 , wherein the one or more network routing protocols further include an interior gateway protocol with traffic engineering extensions.
26 . The computer-readable volatile or non-volatile storage medium as recited in claim 25 wherein the routing information message comprises an IGP link status update message of an interior gateway protocol with traffic engineering extensions, and wherein the operational characteristic comprises referring the second node to a replica of the resource that is located only on a link that is referenced in the link status update message and that is preferred with respect to the router based on the link status.
27 . A computer-readable volatile or non-volatile storage medium as recited in claim 26 , wherein the IGP link status update message specifies any parameter of link cost, link delay, or link utilization.
28 . A computer-readable volatile or non-volatile storage medium as recited in claim 26 , wherein the operational characteristic comprises routing traffic from the first node to the second node on a path that is determined at least in part based on the link status update message.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.