Patent ID: 8452889

Claim:
A method to deliver real-time programming over a network, comprising: collecting, with a processor, performance information pertaining to a current capacity utilization of the network and a peak capacity utilization of the network, the current capacity utilization of the network being a summation of a bandwidth of each data stream of a plurality of data streams respectively allocated to the network, the peak capacity utilization of the network being a total bandwidth of the network available for allocation to the plurality of data streams; assigning a priority to each data stream that contributes to the current capacity utilization of the network wherein a highest priority is assigned to a data stream of real-time programming; comparing the current capacity utilization with a threshold bandwidth, the threshold bandwidth being less than or equal to eighty percent of the peak capacity of the network; identifying an occurrence of a bandwidth request above the threshold bandwidth; selecting at least one of the plurality of data streams based on the assigned priority; performing, in response to the occurrence of the bandwidth request above the threshold bandwidth, a dynamic conversion of the selected one of the plurality of data streams from a higher bandwidth video encoding protocol to a lower bandwidth video encoding protocol, the dynamic conversion reducing an amount of bandwidth allocated to the selected one of the plurality of data streams thereby reducing the current capacity utilization below the threshold bandwidth; passing the data stream of real-time programming on the network; and performing a dynamic reversion of the selected one of the plurality of data streams from the lower bandwidth video encoding protocol back to the higher bandwidth video encoding protocol when the current capacity utilization of the network will remain less than the threshold bandwidth after performing the dynamic reversion.