Patent ID: 8504713

Claim:
A method of streaming data over a network, the method comprising: at an adaptive progressive server which streams content to a user playback equipment, dividing data packets of an intercepted content stream into epochs of contiguous data such that content of each epoch can be independently transrated for transfer over a network as part of a temporally ordered content stream, the epochs including a current epoch; at the adaptive progressive server which streams content to the user playback equipment, determining a bit rate available on the network for transferring the current epoch from the adaptive progressive server to the user playback equipment; at the adaptive progressive server which streams content to the user playback equipment, estimating a temporal amount of the content stream that is buffered at the user playback equipment to which the content stream is being transferred, wherein the estimating is based at least in part on (a) the bit rate available on the network, as determined by the adaptive progressive server, and (b) an encoding bit rate of the intercepted content stream, as determined by the adaptive progressive server; and at the adaptive progressive server which streams content to the user playback equipment, controlling the transfer of the content stream over the network in accordance with the temporal amount of buffered content stream estimated by the adaptive progressive server, and trans-rating in real time one or more epochs from a first bitrate to a second, lower, bitrate to reduce an average video bitrate to a level suitable for transport with current network conditions.