Patent ID: 8745675

Claim:
A method for receiving media programs over a content delivery network, the method being performed by a user device and comprising: transmitting a request for a media program to a server over the content delivery network; and receiving data corresponding to the media program over the content delivery network, wherein the data is encoded at different bitrates such that data encoded at a lower bitrate is of a lower quality than data encoded at a higher bitrate; wherein receiving data corresponding to the media program comprises (i) monitoring a bandwidth of the user device in order to make a determination that there is a change in the bandwidth during data retrieval, (ii) retrieving data encoded at a lower bitrate when the bandwidth decreases below a threshold during data retrieval, and (iii) retrieving data encoded at a higher bitrate when the bandwidth increases above the threshold during data retrieval; and wherein the data corresponding to the program file is divided into a plurality of data segments, the plurality of data segments being stored in a plurality of devices in the content delivery network, each data segment comprising non-sequential interleaved data blocks comprising the media program, each data block including a block of video and a plurality of segments of audio encoding a block of audio corresponding to the block of video encoded at different bit rates, wherein a number of segments of the plurality of data segments is equal to the smallest integer larger than a required transmission rate divided by a minimum uploading speed for the content delivery network.