Content server media stream management
First Claim
Patent Images
1. A method comprising:
- maintaining a plurality of channel buffers at a content server, the content server operable to provide a plurality of media streams to a plurality of devices, wherein the plurality of channel buffers are prefilled and refreshed with the plurality of media streams including first media content encoded at a plurality of different quality levels;
receiving a first request for first media content from a user, the first request identifying a first bandwidth and a first position in the first media content;
selecting a first media stream from the plurality of media streams by using first bandwidth characteristics corresponding to a first device, wherein the first media stream is a live stream;
transmitting the first media stream to the user beginning with packets having timestamps corresponding to the first position;
receiving a stop request for the first media content from the first device, wherein the first media stream continues to buffer at the content server even after receiving the stop request from the first device such that the user may resume the first media stream at a later time without missing portions of the first media stream;
receiving a second request for first media content from the user, the second request identifying a second bandwidth and a second position in the first media content;
selecting a second media stream from the plurality of media streams by using second bandwidth characteristics corresponding to a second device;
transmitting the second media stream to the user beginning with packets having timestamps corresponding to the second position, wherein the user makes the first request from the first device and the second request from the second device different from the first device.
5 Assignments
0 Petitions
Accused Products
Abstract
Mechanisms are provided to manage media stream transmissions at a content server. A content server detects that a user on a device such as a mobile device has stopped playing a live media stream. The content server maintains information associating the user with the media stream and time information. When the content server detects that a user wishes to resume playing a media stream, the user can continue viewing the media stream from where stoppage occurred. In many instances, the content server stores many hours of live media stream data and allows a user to select a particular starting point.
-
Citations
20 Claims
-
1. A method comprising:
-
maintaining a plurality of channel buffers at a content server, the content server operable to provide a plurality of media streams to a plurality of devices, wherein the plurality of channel buffers are prefilled and refreshed with the plurality of media streams including first media content encoded at a plurality of different quality levels; receiving a first request for first media content from a user, the first request identifying a first bandwidth and a first position in the first media content; selecting a first media stream from the plurality of media streams by using first bandwidth characteristics corresponding to a first device, wherein the first media stream is a live stream; transmitting the first media stream to the user beginning with packets having timestamps corresponding to the first position; receiving a stop request for the first media content from the first device, wherein the first media stream continues to buffer at the content server even after receiving the stop request from the first device such that the user may resume the first media stream at a later time without missing portions of the first media stream; receiving a second request for first media content from the user, the second request identifying a second bandwidth and a second position in the first media content; selecting a second media stream from the plurality of media streams by using second bandwidth characteristics corresponding to a second device; transmitting the second media stream to the user beginning with packets having timestamps corresponding to the second position, wherein the user makes the first request from the first device and the second request from the second device different from the first device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A server comprising:
-
a plurality of channel buffers prefilled and refreshed with a plurality of media streams including first media content encoded at a plurality of different quality levels; an input interface operable to receive a first request for first media content from a user, the first request identifying a first bandwidth and a first position in the first media content and a second request for first media content from the user, the second request identifying a second bandwidth and a second position in the first media content; a physical processor operable to select a first media stream from the plurality of media streams by using first bandwidth characteristics corresponding to a first device and a second media stream from the plurality of media streams by using second bandwidth characteristics corresponding to a second device, wherein the first media stream is a live stream; an output interface operable to transmit the first media stream to the user beginning with packets having timestamps corresponding to the first position and transmit the second media stream to the user beginning with packets having timestamps corresponding to the second position, wherein the user makes the first request from the first device and the second request from the second device different from the first device, wherein the input interface is further operable to receive a stop request for the first media content from the first device, wherein the first media stream continues to buffer at the server even after receiving the stop request from the first device such that the user may resume the first media stream at a later time without missing portions of the first media stream. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium comprising:
-
computer code for maintaining a plurality of channel buffers at a content server, the content server operable to provide a plurality of media streams to a plurality of devices, wherein the plurality of channel buffers are prefilled and refreshed with the plurality of media streams including first media content encoded at a plurality of different quality levels; computer code for receiving a first request for first media content from a user, the first request identifying a first bandwidth and a first position in the first media content; computer code for selecting a first media stream from the plurality of media streams by using first bandwidth characteristics corresponding to a first device, wherein the first media stream is a live stream; computer code for transmitting the first media stream to the user beginning with packets having timestamps corresponding to the first position; computer code for receiving a stop request for the first media content from the first device, wherein the first media stream continues to buffer at the content server even after receiving the stop request from the first device such that the user may resume the first media stream at a later time without missing portions of the first media stream; computer code for receiving a second request for first media content from the user, the second request identifying a second bandwidth and a second position in the first media content; computer code for selecting a second media stream from the plurality of media streams by using second bandwidth characteristics corresponding to a second device; computer code for transmitting the second media stream to the user beginning with packets having timestamps corresponding to the second position, wherein the user makes the first request from a first device and the second request from a second device different from the first device.
-
Specification