This invention is a method of allocating bandwidth for a television
program delivery system. This method selects specific programs from a
plurality of programs, allocates the selected programs to a segment of
bandwidth, and continues to allocate the programs until all the programs
are allocated or all of the available bandwidth is allocated. The
programs may be selected based on a variety of different factors or
combination of factors. The selected programs may also be prioritized so
that higher priority programs are distributed before lower priority
programs in case there is not enough bandwidth to transmit all of the
programs. This invention allows a television program delivery system to
prioritize a large number of television programs and distribute these
programs based on their priority levels. The invention also permits a
television program delivery system to dynamically allocate bandwidth over
time or based on marketing information, such as consumer demand.