Media Stream Scheduling for Hiccup-Free Fast-Channel-Change in the Presence of Network Chokepoints
An implementation, as described herein, facilitates fast start-up of a new media stream while avoiding temporal interruption (i.e., “hiccups”) of the presentation of that new media stream. At least one implementation, described herein, coordinates the delivery of multiple simultaneous media streams on a media-stream network. Its coordination accounts for traversal of bandwidth-restricted chokepoints; quickly stopping delivery of one or more media streams from the set of streams; quickly initiating delivery and presentation of one or more new media streams not previously in the set (i.e., a “channel change”); and producing clean playback of all of the streams in the set, despite their different timelines. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
1 . A computer-readable medium having processor-executable instructions that, when executed by a processor, perform a method comprising providing a media-stream delivery deadline schedule that specifies the deadline by which data of one or more media streams being transmitted over a media-stream network must be sent to a media-stream presentation device.
2 . A medium as recited in claim 1 , wherein the media-stream delivery deadline schedule also specifies a minimum bit-rate at which data of the one or more media streams being transmitted over a media-stream network must be sent to a media-stream presentation device, in such a way that the specified minimum bit-rate at which data of the one or more media streams must be sent is specified in a time-dependent fashion.
3 . A medium as recited in claim 1 , wherein the method further comprises:
selecting which data to send at a present time, wherein such selecting comprises:
choosing data whose deadline is at or before the present time;
choosing enough of data from other streams with non-satisfied minimum bit-rate at or before the present time to place into the deadline schedule so that the minimum bit-rate specified is achieved;
choosing other data from any stream that will sum to an amount that will fit through the chokepoints.
4 . A medium as recited in claim 3 , wherein the other data from any stream is the earliest data from any stream in the deadline schedule that fits through the chokepoints.
5 . A medium as recited in claim 1 , wherein the method further comprises:
receiving a request to start a new media stream from a media-stream presentation device on the media-stream network having one or more bandwidth-limiting chokepoints therein;
calculating available data-rate through the network to the presentation device, wherein the available data-rate is limited by the one or more chokepoints in the network.
6 . A medium as recited in claim 1 , wherein the method further comprises:
receiving a request to start a new media stream from a media-stream presentation device on a media-stream network having one or more bandwidth-limiting chokepoints therein;
calculating an available data-rate reservation on a time-dependent basis through the network to the presentation device, wherein the available data-rate is limited by the one or more chokepoints in the network and their already-reserved time-dependent data-rate usage;
inserting delivery deadlines of data of the new media stream into a delivery deadline schedule of outgoing media streams being sent via the network, wherein data scheduled proximate to a start of the new stream is scheduled to be delivered via the network to the presentation device at a data-rate equal to or greater than the calculated available data-rate, wherein the delivery deadline schedule determines a minimum bit-rate and a deadline by which data from the outgoing media streams will be delivered via the network.
7 . A computer-readable medium having stored thereon a media-stream delivery deadline schedule data structure, comprising multiple data fields representing a succession of timeslots for a defined time interval of one or more media streams, each field containing values that specify the deadline by which data of one or more media streams being transmitted over a media-stream network must be sent to a media-stream presentation device.
8 . A medium as recited in claim 7 , wherein the multiple data fields further represent a succession of timeslots of defined time intervals of one or more media streams also contain values that specify the minimum bit-rate at which data of one or more media streams being transmitted over a media-stream network must be sent to a media-stream presentation device.