Adaptive multicast delivery of media streams
First Claim
1. A method executable by a computer to adaptively manage the multicast delivery of a live media program to a plurality of client devices via a network, wherein the method comprises:
- receiving the live media program by the computer for encoding as the live media program is being received;
encoding, by the computer, a plurality of different copies of the live media program in real time as the live media program is received by the computer, each copy being encoded with different encoding parameters from the other copies so that the different copies each represent the same media program with different video qualities;
delivering, by the computer, a number of media streams each representing one of the different copies of the media program to the plurality of client devices via the network;
receiving feedback about the delivery of the media streams at the computer; and
adapting, by the computer, the number of media streams of the media program that are encoded by the computer in response to the received feedback so that encoding of the more popular streams is continued while encoding of less popular streams is suspended, wherein the adapting comprises the computer providing a message to client devices previously receiving a suspended stream that redirects those client devices from the suspended stream to an alternate one of the plurality of streams available from the computer that represents another of the different copies of the same live media program that was contained in the suspended stream, but that is encoded with a different video quality than the suspended stream.
4 Assignments
0 Petitions
Accused Products
Abstract
Various systems, methods and devices adaptively manage the multicast delivery of multiple media programs. Each of the media programs is encoded into multiple media streams, each stream having a different bitrate, frame rate, resolution or other encoding parameter. A computer receives feedback about the delivery of the multiple streams and automatically adapts the number of streams available for at least one of the multiple media programs in response to the received feedback. This allows resources to be applied to those multicast streams having the greatest user demand.
-
Citations
17 Claims
-
1. A method executable by a computer to adaptively manage the multicast delivery of a live media program to a plurality of client devices via a network, wherein the method comprises:
-
receiving the live media program by the computer for encoding as the live media program is being received; encoding, by the computer, a plurality of different copies of the live media program in real time as the live media program is received by the computer, each copy being encoded with different encoding parameters from the other copies so that the different copies each represent the same media program with different video qualities; delivering, by the computer, a number of media streams each representing one of the different copies of the media program to the plurality of client devices via the network; receiving feedback about the delivery of the media streams at the computer; and adapting, by the computer, the number of media streams of the media program that are encoded by the computer in response to the received feedback so that encoding of the more popular streams is continued while encoding of less popular streams is suspended, wherein the adapting comprises the computer providing a message to client devices previously receiving a suspended stream that redirects those client devices from the suspended stream to an alternate one of the plurality of streams available from the computer that represents another of the different copies of the same live media program that was contained in the suspended stream, but that is encoded with a different video quality than the suspended stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system having a processor and a memory, wherein the processor is configured to adaptively manage the encoding and multicast delivery a live media program that is encoded in real time into a plurality of streams, each stream having different encoding parameters than the other streams of the media program, and wherein the computer system is further configured to adaptively manage the encoding and multicast delivery of the live media program by:
-
receiving the live media program by the computer system for encoding as the live media program is being received; encoding the live media program in real time as the live media program is received to create a plurality of different streams of the live media program, each stream being encoded with different encoding parameters from the other streams so that the different streams each represent the same live media program with different video qualities; delivering segments associated with each of the streams in response to requests received from a plurality of client devices via a network; monitoring the number of requests received for each of the plurality of streams associated with the live media program; and adapting the number of streams that are encoded for the live media program in response to the monitored number of requests by suspending the encoding of one or more streams that has lower demand than other streams, and by providing a message to the client devices receiving the one or more suspended stream that redirects those client devices from the suspended stream to an alternate one of the plurality of streams available from the computer system that encodes the same live media program that was contained in the suspended stream but with different encoding parameters than the suspended stream. - View Dependent Claims (12, 13, 14)
-
-
15. A data processing system comprising:
-
an encoding system configured to produce a plurality of streams of a live media program in real time as the live media program is received by the encoding system, wherein each of the plurality of streams represents a copy of the same live media program encoded using a different encoding parameter; a multicast delivery system configured to provide multicast delivery of the plurality of streams to each of a plurality of clients, to monitor the multicast delivery of the plurality of streams, and to provide feedback about the monitored delivery of the plurality of media streams; and a resource management system configured to receive the feedback about the monitored delivery of the plurality of media streams and, responsive to the feedback, to adapt the number of the plurality of media streams representing the media program that are encoded by the multicast delivery system by suspending the encoding of at least some of the media streams and by providing messages to the clients that previously received suspended streams, wherein the messages redirect those clients from the suspended stream to an alternate one of the plurality of streams available from the multicast delivery system that continues to encode the same live media program that was contained in the suspended stream, but with different encoding parameters than the suspended stream. - View Dependent Claims (16, 17)
-
Specification