Patent ID: 7543073

Claim:
A computer-implemented process for performing an exponentially weighted moving average on streaming data being transmitted to a client from a server over a computer network to establish a moving average bit rate of data units, comprising performing the following process actions: computing by the client or the server, on a data unit-by-unit basis, the product of the moving average bit rate computed for a data unit arriving immediately prior to a unit under consideration and a first fractional weighting factor β(k), added to the product of the instantaneous bit rate of the data unit under consideration and a second fractional weighting factor, wherein said first fractional weighting factor β(k) for a data unit under consideration k is computed as ⅇ - α ⁡ [ t ⁡ ( k ) - t ⁡ ( k - 1 ) ] - ⅇ - α ⁡ [ t ⁡ ( k ) - t ⁡ ( 0 ) ] 1 - ⅇ - α ⁡ [ t ⁡ ( k ) - t ⁡ ( 0 ) ] where α is the reciprocal of a prescribed time constant, t(k) is the actual arrival time of the data unit under consideration, t(k−1) is the actual arrival time of the data unit received immediately prior to the data unit under consideration, and t( 0 ) is the arrival time of the first data unit of the streaming data, and wherein the instantaneous bit rate r a (k) of the data unit under consideration is computed as b ⁡ ( k ) t a ⁡ ( k ) - t a ⁡ ( k - 1 ) , where b(k) is the size of the data unit under consideration, and the second fractional weighting factor is one minus the first fractional weighting factor; and establishing the results of the computation as the moving average bit rate of the data units.