SYSTEM AND METHOD FOR INTELLIGENT BUFFERING AND BANDWIDTH ALLOCATION
First Claim
Patent Images
1. A method comprising:
- generating a bitrate template comprising a histogram of bitrate as a function of time for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating actual bitrate requirements for every given point of time within the associated multimedia program;
prior to transmitting one of the plurality of media programs to a multimedia node, identifying the previously-generated bitrate template for said multimedia program; and
during transmission of said multimedia program, changing a bandwidth allocation for the multimedia node in anticipation of an actual bitrate spike indicated in the bitrate template for said multimedia program.
0 Assignments
0 Petitions
Accused Products
Abstract
A method comprises generating a bitrate template comprising a histogram of bitrate as a function of time for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating actual bitrate requirements for every given point of time within the associated multimedia program, and, prior to transmitting one of the plurality of media programs to a multimedia node, identifying the previously-generated bitrate template for said multimedia program, and, during transmission of said multimedia program, changing a bandwidth allocation for the multimedia node in anticipation of an actual bitrate spike indicated in the bitrate template for said multimedia program.
102 Citations
31 Claims
-
1. A method comprising:
-
generating a bitrate template comprising a histogram of bitrate as a function of time for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating actual bitrate requirements for every given point of time within the associated multimedia program;
prior to transmitting one of the plurality of media programs to a multimedia node, identifying the previously-generated bitrate template for said multimedia program; and
during transmission of said multimedia program, changing a bandwidth allocation for the multimedia node in anticipation of an actual bitrate spike indicated in the bitrate template for said multimedia program. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for providing efficient bandwidth allocation on a bandwidth-limited network comprising:
-
generating a bitrate template comprising a histogram of bitrate as a function of time for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating actual bitrate requirements for every given point of time within the associated multimedia program;
receiving a request for a one of the plurality of multimedia programs from a first multimedia node;
allocating a first amount of bandwidth to supply said multimedia program to said multimedia node; and
dynamically adjusting said first amount of bandwidth based on the previously-generated bitrate template for said multimedia program, wherein said adjusting is done prior to the occurrence of actual changes in bitrate requirements for said multimedia program indicated by the bitrate template. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
a media server to generate a template of bitrate as a function of time for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating actual bitrate requirements for every given point of time within the associated multimedia program;
wherein the media server is further to allocate a first amount of bandwidth to supply one of the multimedia programs to a first multimedia node and to dynamically adjust said first amount of bandwidth based on the previously-generated bitrate template, wherein the first amount of bandwidth is dynamically adjusted prior to the occurrence of actual changes in bitrate requirements for said multimedia program indicated by the bitrate template.- View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
27. A method comprising.
generating a bitrate template for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating actual bitrate requirements for every given point of time within the associated multimedia program; -
identifying a previously-generated bitrate template associated with a particular multimedia program to be transmitted to a multimedia node; and
delaying a start time for the multimedia program on the multimedia node for a particular period in anticipation of an actual bitrate spike in the future indicated in the bitrate template. - View Dependent Claims (28)
-
-
29. A method for providing efficient bandwidth allocation on a bandwidth-limited network comprising:
-
storing a bitrate template for each of a plurality of previously-encoded multimedia programs, each bitrate template indicating bitrate requirements at every given point of time within the associated multimedia program;
receiving a request for a first multimedia program from a first multimedia node;
identifying a first stored bitrate template associated with the first multimedia program;
allocating a particular amount of bandwidth to supply the first multimedia program to the first multimedia node based on the first bitrate template;
identifying a second stored bitrate template associated with a second multimedia program to be transmitted to a second multimedia node, the second bitrate template indicating an actual spike in bandwidth requirements for the second multimedia program that will occur in the future during transmission; and
throttling back the bandwidth allocated to the first multimedia program just prior to encountering the bandwidth spike associated with the second multimedia program at a time sufficient to fill a buffer of the first multimedia node.
-
-
30. A method comprising:
-
generating a template of bitrate as a function of time for an entire media program before a transmission thereof to a multimedia node, the bitrate template indicating bitrate requirements at every given point of time within the associated media program;
allocating a first amount of network bandwidth for transmitting the media program to the multimedia node, the first amount being a subset of available network bandwidth to the multimedia node;
identifying, during transmission of the multimedia program, an actual upcoming bitrate spike within the bitrate template for the multimedia program, the actual bitrate spike temporarily requiring more than the available network bandwidth for transmission of the multimedia program; and
temporarily increasing the bandwidth allocation for the multimedia node from the first amount to a second amount in anticipation of the actual bitrate spike indicated in the bitrate template, the temporarily increased bandwidth allocation being sufficient to fill a buffer at the multimedia node to avoid a buffer underrun at the multimedia node during the actual bitrate spike. - View Dependent Claims (31)
-
Specification