System and Method of Adaptive Bit-Rate Streaming
First Claim
1. A method comprising:
- receiving information from a tracker device, wherein the information indicates that a plurality of devices is associated with a first media content item;
establishing peer-to-peer sessions with a first group of the plurality of devices and a second group of the plurality of devices;
selecting the first group based on a first bit-rate associated with the first group satisfying a threshold bit-rate;
sending a first request, via a first peer-to-peer session of the peer-to-peer sessions, to a first device of the first group, wherein the first media content item is divided into a plurality of chunks and wherein the first request identifies a first chunk of the plurality of chunks;
receiving the first chunk from the first device;
modifying the threshold bit-rate based on a number of buffered chunks;
selecting the second group based on a second bit-rate associated with the second group satisfying the modified threshold bit-rate; and
sending a second request, via a second peer-to-peer session of the peer-to-peer sessions, to a second device of the second group, wherein the second request identifies a second chunk of the plurality of chunks.
2 Assignments
0 Petitions
Accused Products
Abstract
A method includes receiving information from a tracker device indicating that a plurality of devices is associated with a media content item. The method also includes establishing peer-to-peer sessions with a first group and a second group of the devices, selecting the first group based on a first bit-rate satisfying a threshold bit-rate, and sending a first request, via a first peer-to-peer session, to a first device of the first group. The media content item is divided into a plurality of chunks. The first request identifies a first chunk. The method also includes receiving the first chunk, modifying the threshold bit-rate based on a number of buffered chunks, and selecting the second group based on a second bit-rate satisfying the modified threshold bit-rate. The method also includes sending a second request to a second device of the second group. The second request identifies a second chunk.
41 Citations
20 Claims
-
1. A method comprising:
-
receiving information from a tracker device, wherein the information indicates that a plurality of devices is associated with a first media content item; establishing peer-to-peer sessions with a first group of the plurality of devices and a second group of the plurality of devices; selecting the first group based on a first bit-rate associated with the first group satisfying a threshold bit-rate; sending a first request, via a first peer-to-peer session of the peer-to-peer sessions, to a first device of the first group, wherein the first media content item is divided into a plurality of chunks and wherein the first request identifies a first chunk of the plurality of chunks; receiving the first chunk from the first device; modifying the threshold bit-rate based on a number of buffered chunks; selecting the second group based on a second bit-rate associated with the second group satisfying the modified threshold bit-rate; and sending a second request, via a second peer-to-peer session of the peer-to-peer sessions, to a second device of the second group, wherein the second request identifies a second chunk of the plurality of chunks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A device comprising:
-
a processor; and a memory storing instructions that, when executed by the processor, cause the processor to perform operations comprising; receiving information, wherein the information identifies a plurality of devices that store a segment of a first media content item; establishing peer-to-peer sessions with a first group of the plurality of devices and a second group of the plurality of devices; selecting the first group based on a first bit-rate; sending a first request, via a first peer-to-peer session of the peer-to-peer sessions, to a first device of the first group, wherein the first media content item includes a plurality of segments and wherein the first request identifies a first segment of the plurality of segments; receiving the first segment from the first device; selecting the second group based on a second bit-rate, the second bit-rate selected in response to a number of buffered segments; and sending a second request, via a second peer-to-peer session of the peer-to-peer sessions, to a second device of the second group, wherein the second request identifies a second segment of the plurality of segments. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer-readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
-
receiving information, wherein the information indicates that a plurality of devices is associated with a first media content item; establishing peer-to-peer sessions with a first group of the plurality of devices and a second group of the plurality of devices; selecting the first group based on a first bit-rate; sending a first request, via a first peer-to-peer session of the peer-to-peer sessions, to a first device of the first group, wherein the first media content item is divided into a plurality of chunks and wherein the first request identifies a first chunk of the plurality of chunks; receiving the first chunk from the first device; selecting the second group based on a second bit-rate, the second bit-rate selected in response to a number of buffered chunks; sending a second request, via a second peer-to-peer session of the peer-to-peer sessions, to a second device of the second group, wherein the second request identifies a second chunk of the plurality of chunks; receiving a plurality of requests from a first subset of the plurality of devices, wherein each of the plurality of requests identifies a particular chunk of the plurality of chunks and a playback deadline of the particular chunk; identifying a particular request of the plurality of requests based on a first playback deadline of the particular request; and sending the first chunk to a requesting device of the plurality of devices, wherein the particular request is received from the requesting device and wherein the particular request identifies the first chunk. - View Dependent Claims (19, 20)
-
Specification