Peer-to-peer content sharing/distribution networks
First Claim
1. A system, comprising:
- a plurality of devices implementing a plurality of peer nodes coupled to a network, wherein each of the plurality of devices implements at least one peer node;
at least one of the plurality of peer nodes, wherein each of the at least one of the plurality of peer nodes is configured as a publisher peer node for a plurality of contents cached on the respective peer node, wherein each publisher peer node is configured to publish one or more advertisements on the network, wherein each advertisement corresponds to a specific one of the plurality of contents cached on the peer node, and wherein each advertisement includes information for requesting the specific corresponding content;
wherein to publish the one or more advertisements on the network the publisher peer node is configured to send the one or more advertisements to a rendezvous peer node, wherein the rendezvous peer node caches the one or more advertisements; and
at least a subset of the plurality of peer nodes, wherein each peer node in the subset is configured to;
discover published advertisements on the network from the rendezvous peer node by accessing the rendezvous peer node, wherein the published advertisements include two or more advertisements published by two or more content publisher peer nodes to advertise a particular content cached on each of the two or more content publisher peer nodes;
determine one of the two or more content publisher peer nodes as logically nearest on the network, wherein a logically nearest peer node is a peer node to which communications over the network take the least time;
request one or more specific contents each corresponding to one of the discovered advertisements in accordance with the information included in the respective advertisements; and
request the particular content from the logically nearest content publisher peer node in accordance with the advertisement corresponding to the logically nearest content publisher peer node;
wherein a publisher peer node that caches a content corresponding to a discovered advertisement is configured to provide the content corresponding to the discovered advertisement to a requesting peer node in response to a request for the content from the requesting peer node; and
wherein the requesting peer node is configured to cache the content and become an additional content publisher peer node for the content corresponding to the discovered advertisement.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of a peer-to-peer-based content sharing/distribution network (CDN). In embodiments, some peers are content publishers while other peers are content consumers. When a consumer peer gets content from a content publisher, the consumer peer may become a content publisher that may be accessed by other peers. If a peer desires a particular content, the peer may get the content from a nearby content publisher, saving access to a central server. The more a content is in demand, the more likely it is to be replicated, and hence more likely to be found by consumer peers on nearby content publisher peers. If a content publisher peer does not have all of a requested content, the requesting peer may be redirected to another content publisher peer to obtain the missing content. Embodiments may be implemented in peer-to-peer networks implemented according to a peer-to-peer platform.
-
Citations
23 Claims
-
1. A system, comprising:
-
a plurality of devices implementing a plurality of peer nodes coupled to a network, wherein each of the plurality of devices implements at least one peer node; at least one of the plurality of peer nodes, wherein each of the at least one of the plurality of peer nodes is configured as a publisher peer node for a plurality of contents cached on the respective peer node, wherein each publisher peer node is configured to publish one or more advertisements on the network, wherein each advertisement corresponds to a specific one of the plurality of contents cached on the peer node, and wherein each advertisement includes information for requesting the specific corresponding content; wherein to publish the one or more advertisements on the network the publisher peer node is configured to send the one or more advertisements to a rendezvous peer node, wherein the rendezvous peer node caches the one or more advertisements; and at least a subset of the plurality of peer nodes, wherein each peer node in the subset is configured to; discover published advertisements on the network from the rendezvous peer node by accessing the rendezvous peer node, wherein the published advertisements include two or more advertisements published by two or more content publisher peer nodes to advertise a particular content cached on each of the two or more content publisher peer nodes; determine one of the two or more content publisher peer nodes as logically nearest on the network, wherein a logically nearest peer node is a peer node to which communications over the network take the least time; request one or more specific contents each corresponding to one of the discovered advertisements in accordance with the information included in the respective advertisements; and request the particular content from the logically nearest content publisher peer node in accordance with the advertisement corresponding to the logically nearest content publisher peer node; wherein a publisher peer node that caches a content corresponding to a discovered advertisement is configured to provide the content corresponding to the discovered advertisement to a requesting peer node in response to a request for the content from the requesting peer node; and wherein the requesting peer node is configured to cache the content and become an additional content publisher peer node for the content corresponding to the discovered advertisement. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a primary content publisher peer node configured to cache user-requestable contents and publish the cached contents for access by other peer nodes on a network; an edge content publisher peer node configured to; receive a plurality of the user-requestable contents from the primary content publisher peer node; cache the received plurality of contents; and publish the received plurality of contents for access by one or more of the other peer nodes on the network for which the edge content publisher peer node is logically nearer to the one or more of the other peer nodes than the primary content publisher peer node such that communications over the network between the edge content publisher peer node and the other peer node take less time than communications over the network between the primary content publisher peer node and the other peer node regardless of physical proximity; an edge peer node configured to; send a request for particular content on the network in response to a user request for the particular content; if the edge content publisher peer node is logically nearer to the edge peer node on the network than the primary content publisher peer node, receive the particular content from the edge content publisher peer node; and if the primary content publisher peer node is logically nearer to the edge peer node on the network than the edge content publisher peer node, receive the particular content from the primary content publisher peer node; wherein a logically nearer peer node is the peer node to which communications over the network take the least time. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method, comprising:
-
a content publisher peer node caching a plurality of separately user-requestable contents and publishing the cached user-requestable contents for access by other peer nodes on a network; one of the other peer nodes; requesting a particular content on the network in response to a user request for the particular content; receiving the particular content from the content publisher peer node; caching the received particular content; and publishing the received particular content for access by the other peer nodes on the network; a different peer node requesting the particular content on the network in response to a user request for the particular content, wherein the different peer node is an edge peer node; if the one of the other peer nodes is logically nearer to the different peer node on the network than the content publisher peer node, the different peer node receiving the particular content from the one of the other peer nodes; and if the content publisher peer node is logically nearer to the different peer node on the network than the one of the other peer nodes, the different peer node receiving the particular content from the content publisher peer node; wherein a logically nearer peer node is the peer node to which communications over the network take the least time. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-accessible storage medium, comprising program instructions, wherein the program instructions are computer-executable to implement:
-
a content publisher peer node caching a plurality of separately user-requestable contents and publishing the cached user-requestable contents for access by other peer nodes on a network; one of the other peer nodes; requesting a particular content on the network in response to a user request for the particular content; receiving the particular content from the content publisher peer node; caching the received particular content; and publishing the received particular content for access by the other peer nodes on the network; a different peer node requesting the particular content on the network in response to a user request for the particular content, wherein the different peer node is an edge peer node; if the one of the other peer nodes is logically nearer to the different peer node on the network than the content publisher peer node, the different peer node receiving the particular content from the one of the other peer nodes; and if the content publisher peer node is logically nearer to the different peer node on the network than the one of the other peer nodes, the different peer node receiving the particular content from the content publisher peer node; wherein a logically nearer peer node is the peer node to which communications over the network take the least time. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification