Decentralized peer-to-peer advertisement
First Claim
1. A peer computing system, comprising:
- a plurality of peer nodes, wherein each peer node comprises a network interface configured to communicate with one or more other ones of said peer nodes over one or more networks, and wherein each peer node is configured to store advertisements to network resources, wherein each network resource advertisement comprises a plurality of key/value pairs;
one of the plurality of peer nodes configured to;
cache an index comprising one or more key/value pairs from one or more network resource advertisements stored on others of the plurality of peer nodes, wherein each key/value pair indicates a particular one of the others of the peer nodes that a corresponding network resource advertisement is stored on;
receive a query message from another one of the plurality of peer nodes, wherein the query message requests a particular network resource, and wherein the query message includes one or more key/value pairs of an advertisement for the particular network resource;
perform a search of the cached index for matches to the one or more key/value pairs from the query message; and
if one or more matching key/value pairs is found in the cached index, forward the query message to one or more of the plurality of peer nodes indicated by the matching key/value pairs.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of a shared resource distributed index mechanism that peers in a peer-to-peer network may utilize to distribute index entries corresponding to resources to indexes of shared resources among one or more other peers. These indexes may be used to direct queries to peers where the queries are most likely to be answered. When a query is received by a rendezvous peer including one or more indexes, contents of the query may be “looked up” in the index to find matches. The results of the lookup may include information on one or peer(s) that may hold advertisement(s) to the resource requested by the query. The query may then be forwarded to one or more peers that may hold the advertisement for the resource. Embodiments may provide “loosely-coupled” distribution of index entries for use in querying for resources in the peer-to-peer network.
-
Citations
50 Claims
-
1. A peer computing system, comprising:
-
a plurality of peer nodes, wherein each peer node comprises a network interface configured to communicate with one or more other ones of said peer nodes over one or more networks, and wherein each peer node is configured to store advertisements to network resources, wherein each network resource advertisement comprises a plurality of key/value pairs; one of the plurality of peer nodes configured to; cache an index comprising one or more key/value pairs from one or more network resource advertisements stored on others of the plurality of peer nodes, wherein each key/value pair indicates a particular one of the others of the peer nodes that a corresponding network resource advertisement is stored on; receive a query message from another one of the plurality of peer nodes, wherein the query message requests a particular network resource, and wherein the query message includes one or more key/value pairs of an advertisement for the particular network resource; perform a search of the cached index for matches to the one or more key/value pairs from the query message; and if one or more matching key/value pairs is found in the cached index, forward the query message to one or more of the plurality of peer nodes indicated by the matching key/value pairs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A peer computing system, comprising:
-
a plurality of peer nodes, wherein each peer node comprises a network interface configured to communicate with one or more other ones of said peer nodes over one or more networks, and wherein each peer node is configured to store advertisements to network resources, wherein each network resource advertisement comprises a plurality of key/value pairs; a plurality of rendezvous nodes each configured to; cache an index comprising one or more key/value pairs from one or more network resource advertisements stored on one or more of the plurality of peer nodes local to the particular rendezvous node, wherein each key/value pair indicates a particular one of the local peer nodes that a corresponding network resource advertisement is stored on; receive a query message from one of the plurality of peer nodes, wherein the query message requests a particular network resource, and wherein the query message includes one or more key/value pairs of an advertisement for the particular network resource; perform a search of the cached index for matches to the one or more key/value pairs from the query message; and if one or more matching key/value pairs is found in the cached index, forward the query message to one or more of the local peer nodes indicated by the matching key/value pairs. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A peer node comprising:
-
one or more network interfaces for coupling to a network; a cached index comprising one or more key/value pairs from one or more network resource advertisements stored on one or more other peer nodes on the network, wherein each key/value pair indicates a particular one of the other peer nodes that a corresponding network resource advertisement is stored on; wherein the peer node is configured to; receive a query message from another peer node on the network, wherein the query message requests a particular network resource, and wherein the query message includes one or more key/value pairs of an advertisement for the particular network resource; perform a search of the cached index for matches to the one or more key/value pairs from the query message; and if a matching key/value pair is found in the cached index, forward the query message to one of the one or more other peer nodes indicated by the matching key/value pair. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method, comprising:
-
receiving from a peer node a query message including one or more key/value pairs of an advertisement for a particular network resource; searching for matches to the one or more key/value pairs from the query message in a cached index comprising one or more key/value pairs from one or more network resource advertisements stored on other peer nodes, wherein each key/value pair in the cached index indicates a particular one of the other peer nodes that a corresponding network resource advertisement is stored on; and if one or more matching key/value pairs is found in the cached index, forwarding the query message to one or more of the other peer nodes indicated by the matching key/value pairs. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer-accessible storage medium, comprising program instructions, wherein the program instructions are configured to implement:
-
receiving from a peer node a query message including one or more key/value pairs of an advertisement for a particular network resource; searching for matches to the one or more key/value pairs from the query message in a cached index comprising one or more key/value pairs from one or more network resource advertisements stored on other peer nodes, wherein each key/value pair in the cached index indicates a particular one of the other peer nodes that a corresponding network resource advertisement is stored on; and if one or more matching key/value pairs is found in the cached index, forwarding the query message to one or more of the other peer nodes indicated by the matching key/value pairs. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50)
-
Specification