ADAPTIVE PROGRESSIVE DOWNLOAD
First Claim
1. A method of streaming data over a network comprising:
- dividing data packets of a content stream into epochs of contiguous data such that each epoch can be independently manipulated for transfer over a network as part of a temporally ordered content stream, the epochs including a current epoch;
determining a bit rate available on the network for transferring the current epoch;
calculating an estimate of a playback time of the content stream that is buffered at user equipment to which the content stream is being transferred and played back, wherein the calculating of the estimate is based at least in part on the bit rate available on the network and an encoding bit rate of the content stream; and
controlling the transfer of the content stream over the network in accordance with the estimated playback time.
2 Assignments
0 Petitions
Accused Products
Abstract
Data packets to be transferred over a network as part of a temporally ordered content stream are obtained by an adaptive progressive download (APD) server. The APD server divides the data packets of the content stream into epochs of contiguous data, the epochs including a current epoch. The APD server determines a bit rate available on the network for transferring the current epoch and calculates an estimate of a playback time of the content stream buffered at a computer to which the content stream is being transferred and played back. The calculation of the estimate is based at least in part on the bit rate available on the network and an encoding bit rate of the content stream. The APD server controls the transfer of the content stream over the network in accordance with the estimated playback time.
79 Citations
20 Claims
-
1. A method of streaming data over a network comprising:
-
dividing data packets of a content stream into epochs of contiguous data such that each epoch can be independently manipulated for transfer over a network as part of a temporally ordered content stream, the epochs including a current epoch; determining a bit rate available on the network for transferring the current epoch; calculating an estimate of a playback time of the content stream that is buffered at user equipment to which the content stream is being transferred and played back, wherein the calculating of the estimate is based at least in part on the bit rate available on the network and an encoding bit rate of the content stream; and controlling the transfer of the content stream over the network in accordance with the estimated playback time. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of streaming data over a network comprising:
-
intercepting data packets being transferred over a network, the data packets being identified as being part of at least one temporally ordered content stream; dividing the data packets of the content stream into epochs of contiguous data, the epochs including a current epoch; determining a bit rate available on the network for transferring the current epoch; calculating an estimate of a temporal amount of the content stream buffered at user equipment to which the content stream is being transferred and reproduced, the calculating of the estimate being based at least in part on the bit rate available on the network and a video bit rate at which the epoch is encoded; and if the calculated estimate is above a threshold, slowing transfer of the current epoch over the network. - View Dependent Claims (7)
-
-
8. A system for streaming data over a network, the system comprising:
-
a controller that divides data packets of a content stream into epochs of contiguous data such that each epoch can be independently manipulated for transfer over a network as part of a temporally ordered content stream, the epochs including a current epoch, determines a bit rate available on the network for transferring the current epoch, and calculates an estimate of a playback time of the content stream that is buffered at user equipment to which the content stream is being transferred and played back, wherein the calculating of the estimate is based at least in part on the bit rate available on the network and an encoding bit rate of the content stream; and a delivery interface that controls the transfer of the content stream over the network in accordance with the estimated playback time. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system for streaming data over a network, the system comprising:
-
a controller that intercepts data packets being transferred over a network, the data packets being identified as being part of at least one temporally ordered content stream, divides the data packets of the content stream into epochs of contiguous data, the epochs including a current epoch, determines a bit rate available on the network for transferring the current epoch, and calculates an estimate of a temporal amount of the content stream buffered at user equipment to which the content stream is being transferred and reproduced, the calculating of the estimate being based at least in part on the bit rate available on the network and a video bit rate at which the epoch is encoded; and a delivery interface that slows the transfer of the current epoch over the network if the calculated estimate is above a threshold. - View Dependent Claims (14)
-
-
15. A computer-readable storage medium having a computer-readable program embodied therein for directing operation of a computer system for streaming data over a network, the computer-readable program including computer executable instructions for processing in accordance with the following:
-
dividing data packets of a content stream into epochs of contiguous data such that each epoch can be independently manipulated for transfer over a network as part of a temporally ordered content stream, the epochs including a current epoch; determining a bit rate available on the network for transferring the current epoch; calculating an estimate of a playback time of the content stream that is buffered at user equipment to which the content stream is being transferred and played back, wherein the calculating of the estimate is based at least in part on the bit rate available on the network and an encoding bit rate of the content stream; and controlling the transfer of the content stream over the network in accordance with the estimated playback time. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer-readable storage medium having a computer-readable program embodied therein for directing operation of a computer system for streaming data over a network, the computer-readable program including computer executable instructions for processing in accordance with the following:
-
intercepting data packets being transferred over a network, the data packets being identified as being part of at least one temporally ordered content stream; dividing the data packets of the content stream into epochs of contiguous data, the epochs including a current epoch; determining a bit rate available on the network for transferring the current epoch; calculating an estimate of a temporal amount of the content stream buffered at user equipment to which the content stream is being transferred and reproduced, the calculating of the estimate being based at least in part on the bit rate available on the network and a video bit rate at which the epoch is encoded; and if the calculated estimate is above a threshold, slowing transfer of the current epoch over the network.
-
Specification