Peer-to-peer assist for live media streaming

US9591069B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9591069-B2
Application numberUS-201113285904-A
CountryUS
Kind codeB2
Filing dateOct 31, 2011
Priority dateOct 31, 2011
Publication dateMar 7, 2017
Grant dateMar 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. The method of claim 1 , further comprising: receiving a media fragment of the media stream, the media fragment including a fragment identifier and one or more samples, wherein dividing the media stream comprises dividing the media fragment into sub-fragments consistent with division performed by the other source nodes, and wherein generating the messages comprises: generating a first message that includes the fragment identifier, a first sub-fragment identifier, and a first sub-fragment of the sub-fragments; and generating a second message that includes the fragment identifier, a second sub-fragment identifier, and a second sub-fragment of the sub-fragments. 3. The method of claim 1 , wherein the autonomous decision is further based on group addresses of the other peers in the peer-to-peer network that reside on a same physical network segment as the first peer. 4. The method of claim 1 , wherein obtaining the group address comprises autonomously deriving the group address based on an autonomously generated cryptographic key. 5. The method of claim 1 , further comprising: receiving a media fragment of the media stream, wherein dividing the media stream comprises dividing the media fragment into sub-fragments. 6. The method of claim 1 , wherein posting the messages to the peer-to-peer network comprises suppressing propagation of the duplicative messages. 7. The method of claim 1 , wherein making the determination further comprises determining that the designated point is equidistant from (a) the group address obtained by the first peer and (b) any group addresses obtained by the other peers in the peer-to-peer network. 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. 9. The system of claim 8 , the operations further comprising: receiving a media fragment of the media stream, the media fragment including a fragment identifier and one or more samples, wherein dividing the media stream comprises dividing the media fragment into sub-fragments consistent with division performed by the other source nodes, and wherein generating the messages comprises: generating a first message that includes the fragment identifier, a first sub-fragment identifier, and a first sub-fragment of the sub-fragments; and generating a second message that includes the fragment identifier, a second sub-fragment identifier, and a second sub-fragment of the sub-fragments. 10. The system of claim 9 , further comprising: a particular endpoint configured to use a reorder buffer to store received messages from the plurality of source nodes of the peer-to-peer network, wherein the reorder buffer uses sub-fragment identifiers of the received messages to reassemble a fragment, and wherein the reassembled fragment is delivered to a media player running on the particular endpoint. 11. The system of claim 8 , wherein the autonomous decision is further based on group addresses of the other peers in the peer-to-peer network that reside on a same physical network segment as the first endpoint. 12. The system of claim 8 , wherein the group addresses are derived based on an autonomously generated cryptographic key. 13. The system of claim 8 , the operations further comprising: receiving a media fragment of the media stream, wherein dividing the media stream comprises dividing the media fragment into sub-fragments. 14. The system of claim 8 , wherein posting the messages to the peer-to-peer network comprises suppressing propagation of the duplicative messages. 15. The system of claim 8 , wherein the two or more endpoints are configured to use a multicast communication channel of a local network to discover other peers of the peer-to-peer network. 16. The system of claim 8 , wherein making the determination further comprises determining that the designated point is equidistant from the group addresses associated with the first and second endpoints. 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 o

Assignees

Inventors

Classifications

  • Joining mechanisms · CPC title

  • Resource delivery mechanisms · CPC title

  • Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs {(coordinating program control therefor G06F9/52; in regulating and control system G05B)} · CPC title

  • Electricity · mapped topic

  • for unicast · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9591069B2 cover?
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 w…
Who is the assignee on this patent?
Thornburgh Michael, Manapragada Srinivas, Adobe Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1046. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).