Peer-to-peer assist for live media streaming
First Claim
1. A method implemented by a data processing apparatus, the method comprising:
- joining a peer-to-peer network, by a first peer, as an ordinary peer, wherein the first peer obtains a group address as a result of joining the peer-to-peer network;
making a determination that the group address obtained by the first peer (a) falls within a particular one of a plurality of address ranges, and (b) is not further from a designated point than group addresses for other peers in the peer-to-peer network, wherein the particular address range is defined around the designated point;
in response to making the determination, making an autonomous decision, by the first peer, to change from being the ordinary peer to being one of a plurality of source nodes in the peer-to-peer network;
retrieving, by the first peer, a media stream from a server based on being one of the plurality of source nodes;
dividing, by the first peer, the media stream into separate portions consistent with division performed by other source nodes in the peer-to-peer network, wherein the media stream is divided by the source nodes in the peer-to-peer network;
generating messages, by the first peer, wherein the generated messages include the portions, respectively, for dissemination on the peer-to-peer network; and
posting the messages to the peer-to-peer network by the first peer, wherein the messages enable other peers in the peer-to-peer network to identify duplicative messages that are posted by the other source nodes, the duplicative messages being based on the media stream.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques and systems for media stream dissemination using a peer-to-peer network are described. A described technique includes joining a peer-to-peer network as a peer; determining whether to be a first source node in the peer-to-peer network; retrieving a media stream from a server based on being the first source node; dividing the media stream into separate portions in a manner consistent with division performed by one or more second source nodes in the peer-to-peer network; generating messages that include the portions, respectively, for dissemination on the peer-to-peer network; and posting the messages to the peer-to-peer network, where the messages are generated such that peers in the peer-to-peer network are able to identify duplicative messages that are posted by the one or more second source nodes, the duplicative messages being based on the media stream.
-
Citations
23 Claims
-
1. A method implemented by a data processing apparatus, the method comprising:
-
joining a peer-to-peer network, by a first peer, as an ordinary peer, wherein the first peer obtains a group address as a result of joining the peer-to-peer network; making a determination that the group address obtained by the first peer (a) falls within a particular one of a plurality of address ranges, and (b) is not further from a designated point than group addresses for other peers in the peer-to-peer network, wherein the particular address range is defined around the designated point; in response to making the determination, making an autonomous decision, by the first peer, to change from being the ordinary peer to being one of a plurality of source nodes in the peer-to-peer network; retrieving, by the first peer, a media stream from a server based on being one of the plurality of source nodes; dividing, by the first peer, the media stream into separate portions consistent with division performed by other source nodes in the peer-to-peer network, wherein the media stream is divided by the source nodes in the peer-to-peer network; generating messages, by the first peer, wherein the generated messages include the portions, respectively, for dissemination on the peer-to-peer network; and posting the messages to the peer-to-peer network by the first peer, wherein the messages enable other peers in the peer-to-peer network to identify duplicative messages that are posted by the other source nodes, the duplicative messages being based on the media stream. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
two or more endpoints that are configured to be respectively two or more peers in a peer-to-peer network, wherein each of the two or more endpoints comprises a computer device that includes a processor, and wherein each of the two or more endpoints is associated with a group address obtained as a result of joining the peer-to-peer network, the two or more endpoints being configured to perform operations comprising; making a determination that the group address obtained by a first one of the endpoints (a) falls within a particular one of a plurality of address ranges, and (b) is not further from a designated point than the group address obtained by a second one of the endpoints, wherein the particular address range is defined around the designated point; in response to making the determination, making an autonomous decision, by the first endpoint, to change from being an ordinary peer to being one of a plurality of source nodes in the peer-to-peer network; retrieving a media stream from a server based on being one of the plurality of source nodes; dividing, by the first endpoint, the media stream into separate portions consistent with division performed by other source nodes in the peer-to-peer network, wherein the media stream is divided by the source nodes in the peer-to-peer network; generating messages that include the portions, respectively, for dissemination on the peer-to-peer network; and posting the messages to the peer-to-peer network, wherein the messages enable other peers in the peer-to-peer network to identify duplicative messages that are posted by the other source nodes, the duplicative messages being based on the media stream. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
17. A computer storage device encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
joining a peer-to-peer network, by a first peer, as an ordinary peer, wherein the first peer obtains a group address as a result of joining the peer-to-peer network; making a determination that the group address obtained by the first peer (a) falls within a particular one of a plurality of defined address ranges, and (b) is not further from a designated point than group addresses for other peers in the peer-to-peer network, wherein the particular address range is defined around the designated point; in response to making the determination, making an autonomous decision, by the first peer, to change from being the ordinary peer to being one of a plurality of source nodes in the peer-to-peer network; retrieving, by the first peer, a media stream from a server based on being one of the plurality of source nodes; dividing, by the first peer, the media stream into separate portions consistent with division performed by other source nodes in the peer-to-peer network, wherein the media stream is divided by the source nodes in the peer-to-peer network; generating messages, by the first peer, wherein the generated messages include the portions, respectively, for dissemination on the peer-to-peer network; and posting the messages to the peer-to-peer network by the first peer, wherein the messages enable other peers in the peer-to-peer network to identify duplicative messages that are posted by the other source nodes, the duplicative messages being based on the media stream. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification