Social Queue
US-2015356084-A1 · Dec 10, 2015 · US
US9591069B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9591069-B2 |
| Application number | US-201113285904-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 31, 2011 |
| Priority date | Oct 31, 2011 |
| Publication date | Mar 7, 2017 |
| Grant date | Mar 7, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.