Claims
- 1. A peer computing system comprising:
a plurality of peer nodes operable to couple to a network, wherein the plurality of peer nodes are configured to implement a peer-to-peer environment on the network according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment; wherein the plurality of peer nodes are partitioned by a mechanism on the network into a set of one or more peer nodes inside the mechanism and a set of one or more peer nodes outside the mechanism, wherein peer nodes on opposite sides of the mechanism cannot communicate directly with each other on the network; a relay peer node operable to couple to the network outside the mechanism, and further operable to:
receive a message from a peer node outside the mechanism, wherein the message is for a peer node inside the mechanism; and relay the message to the peer node inside the mechanism.
- 2. The peer computing system as recited in claim 1, wherein the relay peer node is further operable to:
receive a message from the peer node inside the mechanism, wherein the message is for the peer node outside the mechanism; and relay the message to the peer node outside the mechanism.
- 3. The peer computing system as recited in claim 1, wherein the mechanism is a firewall.
- 4. The peer computing system as recited in claim 1, wherein the mechanism is a Network Address Translation (NAT) gateway.
- 5. The peer computing system as recited in claim 1, wherein the relay peer node is further operable to cache route information describing one or more routes to peer nodes on the network.
- 6. The peer computing system as recited in claim 5, wherein, to relay the message to the peer node inside the mechanism, the relay peer is operable to use the cached route information to route the received message to the peer node outside the mechanism.
- 7. The peer computing system as recited in claim 5, wherein the relay peer node is further operable to:
receive a query requesting route information to one of the plurality of peer nodes from another one of the plurality of peer nodes, wherein the query is formatted according to an endpoint routing protocol; and send the requested route information to the requesting peer node in accordance with the endpoint routing protocol.
- 8. The peer computing system as recited in claim 5, wherein the route information includes an ordered sequence of peer identifiers configured for use in routing a message to a destination peer node.
- 9. The peer computing system as recited in claim 1, wherein the message includes route information, and wherein, to relay the message to the peer node inside the mechanism, the relay peer is operable to use the route information included in the message to route the received message to the peer node outside the mechanism.
- 10. The peer computing system as recited in claim 9, wherein the route information includes an ordered sequence of peer identifiers configured for use in routing a message to a destination peer node.
- 11. A peer computing system comprising:
a plurality of peer nodes operable to couple to a network, wherein the plurality of peer nodes are configured to implement a peer-to-peer environment on the network according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment; wherein the plurality of peer nodes are partitioned by a mechanism on the network into a set of one or more peer nodes inside the mechanism and a set of one or more peer nodes outside the mechanism, wherein peer nodes on opposite sides of the mechanism cannot communicate directly with each other on the network; one or more relay peer nodes operable to couple to the network outside the mechanism; wherein each of the peer nodes inside the mechanism are operable to publish an advertisement on the one or more relay peer nodes; and wherein each of the peer nodes outside the mechanism are operable to discover the advertisements for the peer nodes inside the mechanism published on the one or more relay peer nodes.
- 12. The peer computing system as recited in claim 11, wherein the mechanism is a firewall.
- 13. The peer computing system as recited in claim 11, wherein the mechanism is a Network Address Translation (NAT) gateway.
- 14. The peer computing system as recited in claim 11, wherein the one or more relay peer nodes are further operable to relay messages between the peer nodes outside the mechanism and the peer nodes inside the mechanism.
- 15. The peer computing system as recited in claim 14, wherein the relay peer node is further operable to cache route information describing one or more routes to peer nodes on the network.
- 16. The peer computing system as recited in claim 15, wherein, to relay the messages between the peer nodes, the relay peer is operable to use the cached route information to route the received message to the peer node outside the mechanism.
- 17. The peer computing system as recited in claim 15, wherein the route information includes an ordered sequence of peer identifiers configured for use in routing a message to a destination peer node.
- 18. The peer computing system as recited in claim 14, wherein the message includes route information, and wherein, to relay the messages between the peer nodes, the relay peer is operable to use the route information included in the message to route the received message to the peer node outside the mechanism.
- 19. The peer computing system as recited in claim 18, wherein the route information includes an ordered sequence of peer identifiers configured for use in routing a message to a destination peer node.
- 20. A peer node comprising:
a network interface for coupling to a network; a memory comprising program instructions, wherein the program instructions are executable within the peer node to, according to a peer-to-peer platform:
receive a message from a source peer node on the network; and relay the message to a destination peer node; and wherein the peer nodes are configured to implement a peer-to-peer environment on the network according to the peer-to-peer platform, wherein the peer-to-peer platform comprises one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment.
- 21. The peer node as recited in claim 20, wherein the program instructions are further executable to cache route information describing one or more routes to other peer nodes on the network.
- 22. The peer node as recited in claim 21, wherein, to relay the message to the destination peer node, the program instructions are further executable to:
locate route information to the destination peer node in the cached route information; and route the message to the destination peer node using the located route information.
- 23. The peer node as recited in claim 21, wherein the cached route information includes ordered sequences of peer identifiers configured for use in routing messages to destination peer nodes.
- 24. The peer computing system as recited in claim 21, wherein the relay peer node is further operable to:
receive a query requesting route information to a peer node from another peer node, wherein the query is formatted according to an endpoint routing protocol; and send the requested route information to the requesting peer node in accordance with the endpoint routing protocol.
- 25. The peer node as recited in claim 20, wherein the message includes route information, and wherein, to relay the message to the destination peer node, the program instructions are further executable to route the received message to the destination peer node using the route information included in the message.
- 26. The peer node as recited in claim 25, wherein the route information includes an ordered sequence of peer identifiers configured for use in routing messages to the destination peer node.
- 27. The peer node as recited in claim 20, wherein the source peer node is on the outside of a partitioning mechanism on the network, and wherein the destination peer node is on the inside of the partitioning mechanism, wherein the source peer node and the destination peer node cannot communicate directly with each other on the network across the partitioning mechanism.
- 28. The peer node as recited in claim 27, wherein the partitioning mechanism is a firewall.
- 29. The peer node as recited in claim 27, wherein the partitioning mechanism is a Network Address Translation (NAT) gateway.
- 30. A peer computing system comprising:
a plurality of peer nodes operable to couple to a network; means for the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in a peer-to-peer environment on the network; means for partitioning the plurality of peer nodes on the network into a set of one or more peer nodes inside the partition and a set of one or more peer nodes outside the partition, wherein peer nodes on opposite sides of the partition cannot communicate directly with each other on the network; means for the peer nodes inside the partition to advertise themselves outside the partition; and means for the peer nodes outside the mechanism to discover the advertised peer nodes inside the partition;
- 31. The peer computing system as recited in claim 30, wherein the partition is a firewall.
- 32. The peer computing system as recited in claim 30, wherein the partition is a Network Address Translation (NAT) gateway.
- 33. The peer computing system as recited in claim 30, further comprising means for relaying messages between the peer nodes outside the mechanism and the peer nodes inside the mechanism.
- 34. The peer computing system as recited in claim 33, wherein the means for relaying messages comprises a relay peer node, wherein the relay peer node comprises means for caching route information describing one or more routes to peer nodes on the network.
- 35. The peer computing system as recited in claim 34, wherein, to relay the messages between the peer nodes, the peer computing system further comprises means for using the cached route information to route the received message to the peer node outside the mechanism.
- 36. The peer computing system as recited in claim 33, wherein the message includes route information, and wherein, to relay the messages between the peer nodes, the relay peer further comprises means for using the route information included in the message to route the received message to the peer node outside the mechanism.
- 37. A method comprising:
a plurality of peer nodes implementing a peer-to-peer environment on a network according to a peer-to-peer platform, wherein the peer-to-peer platform comprises one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment; one of the plurality of peer nodes inside a partitioning mechanism on the network publishing an advertisement on a relay peer node outside the partitioning mechanism, wherein peer nodes inside the partitioning mechanism cannot directly communicate with peer nodes outside the partitioning mechanism; one of the plurality of peer nodes outside the partitioning mechanism discovering the advertisement to the peer node inside the partitioning mechanism on the relay peer node; the peer node outside the partitioning mechanism sending a message to the peer node inside the partitioning mechanism to the relay peer node; and the relay peer node relaying the message to the peer node inside the partitioning mechanism.
- 38. The method as recited in claim 37, further comprising the relay peer node caching route information describing one or more routes to other peer nodes on the network, wherein the route information is configured for use in routing messages between peer nodes in the peer-to-peer environment.
- 39. The method as recited in claim 38, wherein the cached route information includes ordered sequences of peer identifiers configured for use in routing messages to destination peer nodes.
- 40. The method as recited in claim 38, further comprising:
the relay peer node receiving a query requesting route information to a peer node from another peer node, wherein the query is formatted according to an endpoint routing protocol; and the relay peer node sending the requested route information to the requesting peer node in accordance with the endpoint routing protocol.
- 41. The method as recited in claim 37, wherein the message includes route information, and wherein, in said relaying the message, the method further comprises routing the message to the peer node inside the partitioning mechanism using the route information included in the message.
- 42. The method as recited in claim 41, wherein the route information includes an ordered sequence of peer identifiers.
- 43. The method as recited in claim 37, wherein the partitioning mechanism is a firewall.
- 44. The method as recited in claim 37, wherein the partitioning mechanism is a Network Address Translation (NAT) gateway.
- 45. A method comprising:
a plurality of peer nodes implementing a peer-to-peer environment on a network according to a peer-to-peer platform, wherein the peer-to-peer platform comprises one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment; wherein one or more of the plurality of peer nodes are relay peer nodes; and one of the relay peer nodes caching route information describing one or more routes to other peer nodes on the network, wherein the route information is configured for use in routing messages between peer nodes in the peer-to-peer environment, and wherein the cached route information includes ordered sequences of peer identifiers configured for use in routing messages to destination peer nodes.
- 46. The method as recited in claim 45, further comprising:
the relay peer node receiving a query requesting route information to a peer node from another peer node, wherein the query is formatted according to an endpoint routing protocol; and the relay peer node sending the requested route information to the requesting peer node in accordance with the endpoint routing protocol.
- 47. The method as recited in claim 45, further comprising:
one of the plurality of peer nodes inside a partitioning mechanism on the network publishing an advertisement on the relay peer node, wherein the relay peer node is outside the partitioning mechanism, and wherein peer nodes inside the partitioning mechanism cannot directly communicate with peer nodes outside the partitioning mechanism; one of the plurality of peer nodes outside the partitioning mechanism discovering the advertisement to the peer node inside the partitioning mechanism on the relay peer node; and the peer node outside the partitioning mechanism and the peer node inside the partitioning mechanism exchanging messages through the relay peer node.
- 48. The method as recited in claim 47, further comprising the relay peer node using the cached route information to route the messages to the destination peer node.
- 49. The method as recited in claim 47, wherein the partitioning mechanism is a firewall.
- 50. The method as recited in claim 47, wherein the partitioning mechanism is a Network Address Translation (NAT) gateway.
- 51. An article of manufacture comprising software instructions executable to implement:
a plurality of peer nodes implementing a peer-to-peer environment on a network according to a peer-to-peer platform, wherein the peer-to-peer platform comprises one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment; one of the plurality of peer nodes inside a partitioning mechanism on the network publishing an advertisement on a relay peer node outside the partitioning mechanism, wherein peer nodes inside the partitioning mechanism cannot directly communicate with peer nodes outside the partitioning mechanism; one of the plurality of peer nodes outside the partitioning mechanism discovering the advertisement to the peer node inside the partitioning mechanism on the relay peer node; the peer node outside the partitioning mechanism sending a message to the peer node inside the partitioning mechanism to the relay peer node; and the relay peer node relaying the message to the peer node inside the partitioning mechanism.
- 52. The article of manufacture as recited in claim 51, wherein the software instructions are further executable to implement the relay peer node caching route information describing one or more routes to other peer nodes on the network, wherein the route information is configured for use in routing messages between peer nodes in the peer-to-peer environment.
- 53. The article of manufacture as recited in claim 52, wherein the software instructions are further executable to implement:
the relay peer node receiving a query requesting route information to a peer node from another peer node, wherein the query is formatted according to an endpoint routing protocol; and the relay peer node sending the requested route information to the requesting peer node in accordance with the endpoint routing protocol.
- 54. The article of manufacture as recited in claim 51, wherein the message includes route information, and wherein, in said relaying the message, the software instructions are further executable to implement routing the message to the peer node inside the partitioning mechanism using the route information included in the message.
- 55. The article of manufacture as recited in claim 51, wherein the partitioning mechanism is a firewall.
- 56. The article of manufacture as recited in claim 51, wherein the partitioning mechanism is a Network Address Translation (NAT) gateway.
- 57. An article of manufacture comprising software instructions executable to implement:
a plurality of peer nodes implementing a peer-to-peer environment on a network according to a peer-to-peer platform, wherein the peer-to-peer platform comprises one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer environment; one or more of the plurality of peer nodes implementing a relay service in accordance with the peer-to-peer platform to perform as relay peer nodes; and one of the relay peer nodes caching route information describing one or more routes to other peer nodes on the network, wherein the route information is configured for use in routing messages between peer nodes in the peer-to-peer environment, and wherein the cached route information includes ordered sequences of peer identifiers configured for use in routing messages to destination peer nodes.
- 58. The article of manufacture as recited in claim 57, wherein the software instructions are further executable to implement:
the relay peer node receiving a query requesting route information to a peer node from another peer node, wherein the query is formatted according to an endpoint routing protocol; and the relay peer node sending the requested route information to the requesting peer node in accordance with the endpoint routing protocol.
- 59. The article of manufacture as recited in claim 57, wherein the software instructions are further executable to implement:
one of the plurality of peer nodes inside a partitioning mechanism on the network publishing an advertisement on the relay peer node, wherein the relay peer node is outside the partitioning mechanism, and wherein peer nodes inside the partitioning mechanism cannot directly communicate with peer nodes outside the partitioning mechanism; one of the plurality of peer nodes outside the partitioning mechanism discovering the advertisement to the peer node inside the partitioning mechanism on the relay peer node; and the peer node outside the partitioning mechanism and the peer node inside the partitioning mechanism exchanging messages through the relay peer node.
- 60. The article of manufacture as recited in claim 59, wherein the software instructions are further executable to implement the relay peer node using the cached route information to route the messages to the destination peer node.
- 61. The article of manufacture as recited in claim 59, wherein the partitioning mechanism is a firewall.
- 62. The article of manufacture as recited in claim 59, wherein the partitioning mechanism is a Network Address Translation (NAT) gateway.
PRIORITY INFORMATION
[0001] This application claims benefit of priority to the following provisional applications, each of which is hereby incorporated by reference in its entirety:
[0002] Serial No. 60/263,573 filed Jan. 22, 2001 titled Peer-to-Peer Network Computing Platform;
[0003] Serial No. 60/268,893 filed Feb. 14, 2001 titled Peer-to-Peer Network Computing Platform;
[0004] Serial No. 60/286,225 filed Apr. 24, 2001 titled Peer-to-Peer Network Computing Platform; and
[0005] Serial No. 60/308,932 filed Jul. 31, 2001 titled Trust Mechanism For A Peer-To-Peer Network Computing Platform.
Provisional Applications (4)
|
Number |
Date |
Country |
|
60263573 |
Jan 2001 |
US |
|
60268893 |
Feb 2001 |
US |
|
60286225 |
Apr 2001 |
US |
|
60308932 |
Jul 2001 |
US |