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:
a core layer 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; a service layer comprising one or more services each provided by one or more of the plurality of peer nodes in the peer-to-peer environment, wherein at least a subset of the services are operable to be used by the plurality of peer nodes in forming the peer groups and participating in the peer groups, and wherein each of the one or more services are configured to be accessed by the plurality of peer nodes in accordance with at least one of the one or more peer-to-peer platform protocols; and a unique peer identifier, wherein the peer identifier is configured for use in distinguishing the particular peer node from others of the plurality of peer nodes in the peer-to-peer environment.
- 2. The peer computing system as recited in claim 1, wherein each of the plurality of peer nodes is further configured to bind a peer identifier corresponding to the particular peer node to a network address of the particular peer node.
- 3. The peer computing system as recited in claim 1, wherein each of the plurality of peer nodes is further configured to access another of the plurality of peer nodes on the network using the unique peer identifier of the other peer node, wherein the peer node does not use a network address of the other peer node to access the other peer node.
- 4. The peer computing system as recited in claim 3, wherein, to access the other peer node, the unique peer identifier of the other peer node is configured to be mapped to a network address of the other peer node.
- 5. The peer computing system as recited in claim 3, wherein, to access the other peer node, the unique peer identifier of the other peer node is configured to be mapped to one of one or more network interfaces of the other peer node.
- 6. The peer computing system as recited in claim 2, wherein each of the plurality of peer nodes is further configured to:
unbind the peer identifier corresponding to the peer node from the network address; obtain a new network address; and bind the peer identifier corresponding to the peer node to the new network address.
- 7. The peer computing system as recited in claim 1, wherein each peer identifier is further configured for use in determining a particular peer group in which a particular peer node corresponding to the peer identifier is a member peer.
- 8. The peer computing system as recited in claim 1, wherein each of the plurality of peer nodes is further configured to participate as a member peer in one or more peer groups in the peer-to-peer environment, and wherein each of the plurality of peer nodes is assigned a different unique peer identifier in accordance with the peer-to-peer platform for each of the one or more peer groups in which the peer node is a member peer.
- 9. The peer computing system as recited in claim 1, wherein each of the plurality of peer nodes is further configured to:
participate as a member peer in a plurality of peer groups in the peer-to-peer environment; receive a message from another of the plurality of peer nodes, wherein the other peer node is a member peer in a particular one of the plurality of peer groups in which the peer node is a member peer, and wherein the message includes a peer identifier of the other peer; and determine the particular one of the plurality of peer groups in which the other peer is a member peer from the peer identifier of the other peer.
- 10. The peer computing system as recited in claim 9, wherein the message specifies a resource hosted by the peer node, wherein the peer node hosts a plurality of instances of the resource, wherein each of the instances of the resource is hosted for a different one of the plurality of peer groups, and wherein the peer node is further configured to access in accordance with the message a particular one of the instances of the resource hosted for the particular one of the plurality of peer groups in which the other peer node is a member peer.
- 11. The peer computing system as recited in claim 10, wherein the resource is a service, and wherein the instance of the resource is an instance of the service implemented on the peer node.
- 12. The peer computing system as recited in claim 1, wherein the peer-to-peer platform defines a peer advertisement format for describing and publishing advertisements for peer nodes in the peer-to-peer environment, wherein each of the plurality of peer nodes is further configured to generate a peer advertisement for the particular peer node, wherein the peer advertisement includes a peer identifier for the peer node.
- 13. The peer computing system as recited in claim 1, further comprising a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment, wherein each resource corresponds to a unique resource identifier configured for use in distinguishing the particular resource from other resources of the plurality of resources in the peer-to-peer environment.
- 14. The peer computing system as recited in claim 13, wherein the plurality of resources include one or more of peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 15. The peer computing system as recited in claim 1, wherein each of the one or more peer-to-peer platform protocols defines one or more advertisement formats for describing and publishing advertisements for resources in the peer-to-peer environment, wherein each of the plurality of peer nodes is further configured to:
host a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment; and generate a resource advertisement for each resource corresponding to the particular peer node in accordance with the peer-to-peer platform, wherein at least a subset of the resource advertisements each include a peer identifier of the peer node.
- 16. The peer computing system as recited in claim 15, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein the pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 17. The peer computing system as recited in claim 15, wherein each resource is assigned a unique resource identifier configured for use in distinguishing the particular resource from other resources in the peer-to-peer environment, and wherein each resource advertisement further includes a resource identifier assigned to a particular resource corresponding to the resource advertisement.
- 18. The peer computing system as recited in claim 1, wherein the one or more peer-to-peer platform protocols includes one or more of:
a peer discovery protocol for discovering resources in the peer-to-peer environment, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels; a peer membership protocol for use by the peer nodes in applying for membership in the peer groups; a peer resolver protocol for use in sending search queries from one peer group member to another peer group member; a peer information protocol for enabling the peer nodes to obtain information about capabilities and status of other peer nodes in the peer-to-peer environment; a pipe binding protocol for use in finding the physical location of pipe endpoints and binding the pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels; and an endpoint routing protocol for enabling the peer nodes to request peer routing information to reach the other peer nodes.
- 19. The peer computing system as recited in claim 1, wherein the unique peer identifier of one of the plurality of peer nodes is formatted in accordance with a canonical representation scheme, and wherein the unique peer identifier of a different one of the plurality of peer nodes is formatted in accordance with a different canonical representation scheme.
- 20. The peer computing system as recited in claim 1, wherein the one of the plurality of peer nodes is a member peer in a peer group, wherein member peers in the peer group are configured to use the canonical representation scheme to format unique peer identifiers within the peer group, wherein the different one of the plurality of peer nodes is a member peer in a different peer group, and wherein member peers in the different peer group are configured to use the different canonical representation scheme to format unique peer identifiers within the different peer group.
- 21. 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; wherein at least a subset of the peer nodes are configured to participate in a peer discovery protocol of the peer-to-peer-platform for discovering resources in the peer-to-peer environment; wherein at least a subset of the peer nodes are configured to participate in a peer membership protocol of the peer-to-peer-platform for joining or forming a peer group with other peer nodes, wherein the peer group is a collection of cooperating peer nodes that provide a common set of services in the peer-to-peer environment; and wherein the plurality of peer nodes are each assigned a unique peer identifier configured for use in distinguishing each peer node from the other peer nodes in the peer-to-peer environment.
- 22. The peer computing system as recited in claim 21, wherein each of the plurality of peer nodes is further configured to bind a peer identifier corresponding to the particular peer node to a network address of the particular peer node.
- 23. The peer computing system as recited in claim 22, wherein each of the plurality of peer nodes is further configured to:
unbind the peer identifier corresponding to the peer node from the network address; obtain a new network address; and bind the peer identifier corresponding to the peer node to the new network address.
- 24. The peer computing system as recited in claim 21, wherein each of the at least a subset of the plurality of peer nodes is further operable to:
participate as a member peer in a plurality of peer groups in the peer-to-peer environment; receive a message from another of the at least a subset of the plurality of peer nodes, wherein the other peer node is a member peer in a particular one of the plurality of peer groups in which the peer node is a member peer, and wherein the message includes a peer identifier of the other peer; and determine the particular one of the plurality of peer groups in which the other peer is a member peer from the peer identifier of the other peer.
- 25. The peer computing system as recited in claim 24, wherein the message specifies a service hosted by the peer node, wherein the peer node hosts a plurality of instances of the service, wherein each of the instances of the service is hosted for a different one of the plurality of peer groups, and wherein the peer node is further operable to provide the message to a particular one of the instances of the service hosted for the particular one of the plurality of peer groups in which the other peer node is a member peer.
- 26. The peer computing system as recited in claim 21, wherein the peer-to-peer platform defines a peer advertisement format for describing and publishing advertisements for peer nodes in the peer-to-peer environment, wherein a peer advertisement for one of the plurality of peer nodes includes a peer identifier for the peer node corresponding to the peer advertisement.
- 27. The peer computing system as recited in claim 21, further comprising a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment, wherein each resource corresponds to a unique resource identifier configured for use in distinguishing the particular resource from other resources of the plurality of resources in the peer-to-peer environment.
- 28. The peer computing system as recited in claim 27, wherein the plurality of resources include one or more of peers, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 29. The peer computing system as recited in claim 27, wherein the peer-to-peer platform defines one or more advertisement formats for describing and publishing advertisements for resources in the peer-to-peer environment, wherein each of the plurality of peer nodes is further configured to:
generate a resource advertisement for each resource corresponding to the particular peer node in accordance with the peer-to-peer platform; and
wherein at least a subset of the resource advertisements each include one or more resource identifiers each corresponding to one of the plurality of resources.
- 30. 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 implement, according to a peer-to-peer platform:
a core layer comprising one or more peer-to-peer platform protocols for enabling the peer node to discover other peer nodes, communicate with the other peer nodes, and cooperate with the other peer nodes to form peer groups and share content in a peer-to-peer environment on the network; a service layer comprising one or more services in the peer-to-peer environment, wherein at least a subset of the services are operable to be used by the peer node and the other peer nodes in forming the peer groups and participating in the peer groups, and wherein each of the one or more services are configured to be accessed in accordance with at least one of the one or more peer-to-peer platform protocols; and a unique peer identifier in accordance with the peer-to-peer platform, wherein the peer identifier is configured for use in distinguishing the peer node from other peer nodes in the peer-to-peer environment.
- 31. The peer node as recited in claim 30, wherein the peer node is further configured to bind the peer identifier to a network address of the peer node.
- 32. The peer node as recited in claim 31, wherein the peer node is further configured to:
unbind the peer identifier from the network address; obtain a new network address; and bind the peer identifier to the new network address.
- 33. The peer node as recited in claim 30, wherein the peer node is further configured to:
participate as a member peer in a plurality of peer groups in the peer-to-peer environment; receive a message from another peer node, wherein the other peer node is a member peer in a particular one of the plurality of peer groups in which the peer node is a member peer, and wherein the message includes a peer identifier of the other peer; and determine the particular one of the plurality of peer groups in which the other peer is a member peer from the peer identifier of the other peer.
- 34. The peer node as recited in claim 30, wherein the peer node is further configured to:
obtain a unique peer identifier of a different peer node on the network; and access the different peer node on the network using the unique peer identifier of the other peer node; wherein the peer node is not aware of a network address of the different peer node.
- 35. The peer node as recited in claim 31, wherein the message specifies a service hosted by the peer node, wherein the peer node hosts a plurality of instances of the service, wherein each of the instances of the service is hosted for a different one of the plurality of peer groups, and wherein the peer node is further configured to provide the message to a particular one of the instances of the service hosted for the particular one of the plurality of peer groups in which the other peer node is a member peer.
- 36. The peer node as recited in claim 30, wherein the peer-to-peer platform defines a peer advertisement format for describing and publishing advertisements for peer nodes in the peer-to-peer environment, wherein the peer node is further configured to generate a peer advertisement in accordance with the peer advertisement format, wherein the peer advertisement includes a peer identifier for the peer node.
- 37. The peer node as recited in claim 30, further comprising a plurality of resources accessible by peer nodes in the peer-to-peer environment, wherein the peer node is further configured to assign each of the plurality of peer nodes a unique resource identifier configured for use in distinguishing the particular resource from other resources in the peer-to-peer environment.
- 38. The peer node as recited in claim 37, wherein the plurality of resources include one or more of content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer node configured to be bound to the pipes to establish the communications channels.
- 39. The peer node as recited in claim 30, wherein each of the one or more peer-to-peer platform protocols defines one or more advertisement formats for describing and publishing advertisements for resources in the peer-to-peer environment, wherein the peer node is further configured to generate a resource advertisement for at least a subset of a plurality of resources on the peer node, wherein the resource advertisements each include the peer identifier for the peer node.
- 40. The peer node as recited in claim 39, wherein the plurality of resources include one or more of content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer node configured to be bound to the pipes to establish the communications channels.
- 41. The peer node as recited in claim 30, wherein the one or more peer-to-peer platform protocols includes a peer discovery protocol for discovering resources in the peer-to-peer environment, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 42. A peer computing system comprising:
a plurality of peer nodes operable to couple to a network; means for the 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 the peer nodes to provide, discover and access one or more services in the peer-to-peer environment, wherein at least a subset of the services are core services operable to be used by the plurality of peer nodes in forming and participating in the peer groups; and means for uniquely identifying each of the plurality of peer nodes for use in distinguishing each peer node from others of the plurality of peer nodes in the peer-to-peer environment.
- 43. The peer computing system as recited in claim 42, further comprising means for determining a particular peer group in which a particular peer node is a member peer.
- 44. The peer computing system as recited in claim 42, further comprising:
means for each of the plurality of peer nodes to participate as a member peer in one or more peer groups in the peer-to-peer environment; and means for uniquely identifying each of the one or more peers in each peer group of which the peer node is a member peer.
- 45. The peer computing system as recited in claim 42, further comprising:
means for each peer node to participate as a member peer in a plurality of peer groups in the peer-to-peer environment; means for each peer node to receive a message from another of the plurality of peer nodes, wherein the other peer node is a member peer in a particular one of the plurality of peer groups in which the peer node is a member peer; and means for each peer node to determine the particular one of the plurality of peer groups in which the other peer is a member peer from the message.
- 46. The peer computing system as recited in claim 42, further comprising:
means for describing and publishing resources in the peer-to-peer environment; and means for uniquely identifying each published resource in the peer-to-peer environment for use in distinguishing the particular published resource from other resources in the peer-to-peer environment.
- 47. The peer computing system as recited in claim 46, further comprising means for uniquely identifying a particular one of the plurality of peer nodes associated with each published resource.
- 48. A method for implementing a peer-to-peer environment on a network, the method comprising:
a plurality of peer nodes coupled to a network each implementing a core layer of a peer-to-peer platform, wherein the core layer 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; the plurality of peer nodes each implementing a service layer comprising one or more services each provided by one or more of the plurality of peer nodes in the peer-to-peer environment, wherein each of the one or more services are configured to be accessed by peer nodes in the peer-to-peer environment in accordance with at least a subset of the one or more peer-to-peer platform protocols; and assigning a unique peer identifier to each of the plurality of peer nodes, wherein each unique peer identifier is configured for use in distinguishing the particular peer node from others of the plurality of peer nodes in the peer-to-peer environment.
- 49. The method as recited in claim 48, further comprising binding the peer identifier of each of the plurality of peer nodes to a network address of the particular peer node.
- 50. The method as recited in claim 48, further comprising one of the plurality of peer nodes accessing another of the plurality of peer nodes on the network using the unique peer identifier of the other peer node, wherein the peer node does not use a network address of the other peer node to access the other peer node.
- 51. The method as recited in claim 49, wherein, in said accessing the other peer node, the method further comprises mapping the unique peer identifier of the other peer node to a network address of the other peer node.
- 52. The method as recited in claim 49, wherein, in said accessing the other peer node, the method further comprises mapping the unique peer identifier of the other peer node to one of one or more network interfaces of the other peer node.
- 53. The method as recited in claim 49, further comprising:
one of the plurality of peer nodes unbinding the peer identifier corresponding to the peer node from the network address of the peer node; the peer node obtaining a new network address; and the peer node binding the peer identifier corresponding to the peer node to the new network address.
- 54. The method as recited in claim 48, further comprising:
at least a subset of the plurality of peer nodes accessing at least a subset of the core services in accordance with at least one of the one or more peer-to-peer platform protocols to form one or more peer groups in the peer-to-peer environment; wherein each peer identifier is further configured for use in determining a particular one of the one or more peer groups in which a particular peer node corresponding to the peer identifier is a member peer.
- 55. The method as recited in claim 48, further comprising:
at least a subset of the plurality of peer nodes accessing at least a subset of the core services in accordance with at least one of the one or more peer-to-peer platform protocols to form one or more peer groups in the peer-to-peer environment; and wherein each of the plurality of peer nodes is assigned a different unique peer identifier in accordance with the peer-to-peer platform for each of the one or more peer groups in which the peer node is a member peer.
- 56. The method as recited in claim 48, further comprising:
at least a subset of the plurality of peer nodes accessing at least a subset of the core services in accordance with at least one of the one or more peer-to-peer platform protocols to form one or more peer groups in the peer-to-peer environment; and; one of the at least a subset of the plurality of peer nodes receiving a message from another of the at least a subset of the plurality of peer nodes, wherein the other peer node is a member peer in a particular one of the one or more peer groups in which the peer node is a member peer, and wherein the message includes a peer identifier of the other peer; and determining the particular one of the plurality of peer groups in which the other peer is a member peer from the peer identifier of the other peer.
- 57. The method as recited in claim 56, wherein the message specifies a service hosted by the peer node, wherein the peer node hosts a plurality of instances of the service, wherein each of the instances of the service is hosted for a different one of the one or more peer groups of which the peer node is a member peer, and wherein the method further comprises the peer node providing the message to a particular one of the instances of the service hosted for the determined particular one of the one or more peer groups in which the other peer node is a member peer.
- 58. The method as recited in claim 48, wherein the peer-to-peer platform defines a peer advertisement format for describing and publishing advertisements for peer nodes in the peer-to-peer environment, wherein the method further comprises generating a peer advertisement for one of the plurality of peer nodes, wherein the peer advertisement includes a peer identifier for the peer node.
- 59. The method as recited in claim 48, further comprising at least a subset of the plurality of peer nodes hosting a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment, wherein each resource is assigned a unique resource identifier configured for use in distinguishing the particular resource from other resources in the peer-to-peer environment.
- 60. The method as recited in claim 59, wherein the plurality of resources include one or more of peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 61. The method as recited in claim 48, wherein the one or more peer-to-peer platform protocols define one or more advertisement formats for describing and publishing advertisements for resources in the peer-to-peer environment, the method further comprising:
at least a subset of the plurality of peer nodes hosting a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment; and generating a resource advertisement for each of the plurality of resources in accordance with the one or more peer-to-peer platform protocols, wherein at least a subset of the resource advertisements each include one or more peer identifiers each corresponding to one of the plurality of peer nodes associated with the particular resource corresponding to the particular resource advertisement.
- 62. The method as recited in claim 61, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein the pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 63. The method as recited in claim 61, wherein each resource is assigned a unique resource identifier configured for use in distinguishing the particular resource from other resources in the peer-to-peer environment, and wherein each resource advertisement further includes a resource identifier assigned to a particular resource corresponding to the resource advertisement.
- 64. The method as recited in claim 48, wherein the one or more peer-to-peer platform protocols include one or more of:
a peer discovery protocol for discovering resources in the peer-to-peer environment, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels; and a peer membership protocol for use by the peer nodes in applying for membership in the peer groups.
- 65. The method as recited in claim 48, wherein, in said assigning a unique peer identifier to each of the plurality of peer nodes, the method further comprises:
formatting the unique peer identifiers of a subset of the plurality of peer nodes according to a canonical representation scheme; and formatting the unique peer identifiers of a different subset of the plurality of peer nodes according to a different canonical representation scheme.
- 66. An article of manufacture comprising software instructions executable to implement:
a plurality of peer nodes coupled to a network each implementing a core layer of a peer-to-peer platform, wherein the core layer 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 a peer-to-peer environment; the plurality of peer nodes each implementing a service layer comprising one or more services each provided by one or more of the plurality of peer nodes in the peer-to-peer environment, wherein each of the one or more services are configured to be accessed by peer nodes in the peer-to-peer environment in accordance with at least a subset of the one or more peer-to-peer platform protocols; and assigning a unique peer identifier to each of the plurality of peer nodes, wherein each peer identifier is configured for use in distinguishing the particular peer node from others of the plurality of peer nodes in the peer-to-peer environment.
- 67. The article of manufacture as recited in claim 66, wherein the software instructions are further executable to implement binding a peer identifier corresponding to a particular peer node to a network address of the particular peer node.
- 68. The article of manufacture as recited in claim 67, wherein the software instructions are further executable to implement:
unbinding the peer identifier corresponding to the peer node from the network address; obtaining a new network address for the peer node; and binding the peer identifier corresponding to the peer node to the new network address.
- 69. The article of manufacture as recited in claim 66, wherein the software instructions are further executable to implement:
at least a subset of the plurality of peer nodes accessing at least a subset of the core services in accordance with at least one of the one or more peer-to-peer platform protocols to form one or more peer groups in the peer-to-peer environment; wherein each peer identifier is further configured for use in determining a particular one of the one or more peer groups in which a particular peer node corresponding to the peer identifier is a member peer.
- 70. The article of manufacture as recited in claim 66, wherein the software instructions are further executable to implement:
at least a subset of the plurality of peer nodes accessing at least a subset of the core services in accordance with at least one of the one or more peer-to-peer platform protocols to form one or more peer groups in the peer-to-peer environment; and
wherein each of the plurality of peer nodes is assigned a different unique peer identifier in accordance with the peer-to-peer platform for each of the one or more peer groups in which the peer node is a member peer.
- 71. The article of manufacture as recited in claim 66, wherein the software instructions are further executable to implement:
at least a subset of the plurality of peer nodes accessing at least a subset of the core services in accordance with at least one of the one or more peer-to-peer platform protocols to form one or more peer groups in the peer-to-peer environment; and; one of the at least a subset of the plurality of peer nodes receiving a message from another of the at least a subset of the plurality of peer nodes, wherein the other peer node is a member peer in a particular one of the one or more peer groups in which the peer node is a member peer, and wherein the message includes a peer identifier of the other peer; and determining the particular one of the plurality of peer groups in which the other peer is a member peer from the peer identifier of the other peer.
- 72. The article of manufacture as recited in claim 71, wherein the message specifies a service hosted by the peer node, wherein the peer node hosts a plurality of instances of the service, wherein each of the instances of the service is hosted for a different one of the one or more peer groups of which the peer node is a member peer, and wherein the software instructions are further executable to implement the peer node providing the message to a particular one of the instances of the service hosted for the determined particular one of the one or more peer groups in which the other peer node is a member peer.
- 73. The article of manufacture as recited in claim 66, wherein the peer-to-peer platform defines a peer advertisement format for describing and publishing advertisements for peer nodes in the peer-to-peer environment, wherein the software instructions are further executable to implement generating a peer advertisement for one of the plurality of peer nodes, wherein the peer advertisement includes a peer identifier for the peer node.
- 74. The article of manufacture as recited in claim 66, further comprising at least a subset of the plurality of peer nodes hosting a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment, wherein each resource is assigned a unique resource identifier configured for use in distinguishing the particular resource from other resources in the peer-to-peer environment.
- 75. The article of manufacture as recited in claim 74, wherein the plurality of resources include one or more of peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 76. The article of manufacture as recited in claim 66, wherein the one or more peer-to-peer platform protocols define one or more advertisement formats for describing and publishing advertisements for resources in the peer-to-peer environment, wherein the software instructions are further executable to implement:
at least a subset of the plurality of peer nodes hosting a plurality of resources accessible by the plurality of peer nodes in the peer-to-peer environment; and generating a resource advertisement for each of the plurality of resources in accordance with the one or more peer-to-peer platform protocols, wherein at least a subset of the resource advertisements each include one or more peer identifiers each corresponding to one of the plurality of peer nodes associated with the particular resource corresponding to the particular resource advertisement.
- 77. The article of manufacture as recited in claim 76, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein the pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels.
- 78. The article of manufacture as recited in claim 76, wherein each resource is assigned a unique resource identifier configured for use in distinguishing the particular resource from other resources in the peer-to-peer environment, and wherein each resource advertisement further includes a resource identifier assigned to a particular resource corresponding to the resource advertisement.
- 79. The article of manufacture as recited in claim 66, wherein the one or more peer-to-peer platform protocols include one or more of:
a peer discovery protocol for discovering resources in the peer-to-peer environment, wherein the resources include one or more of peer nodes, peer groups, content, services, applications, pipes, and pipe endpoints, wherein pipes are communications channels between two or more peer nodes in the peer-to-peer environment, and wherein pipe endpoints are network interfaces on the peer nodes that are configured to be bound to the pipes to establish the communications channels; and a peer membership protocol for use by the peer nodes in applying for membership in the peer groups.
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 |