Patent ID: 8116225
Filing Date: 2012-02-14
Classification: H04L,H04W

Abstract:
1. A method for channel bandwidth estimation, comprising the steps of: receiving a packet at a receiver and noting a timestamp of the packet; calculating an inter-arrival time comprising the elapsed time between the timestamp noted for a previously received packet and the received packet; calculating a minimum inter-burst time for every packet that arrives, said inter-burst time comprising the time between bursts of packets, said minimum inter-burst time comprising the time that is used to determine if the inter-arrival time between packets is sufficiently long to determine two respective packets are not part of a same burst but are related to separate bursts for the purpose of bandwidth estimation; if the inter-arrival time is greater than a minimum configurable value and less than a configurable upper limit, and if packet length is greater than a configurable minimum packet size, then calculating an average packet inter-arrival time, else determining how many back-to-back, closely spaced packet arrivals are tolerable; if the inter-arrival time is less than a configurable minimum and the packet is therefore closely spaced, adjusting a counter of closely spaced packets and then proceeding to the next step in this method; else, resetting the counter of closely spaced packets and then proceeding to the next step in this method; checking the following for criteria, all of which have to be true for a current packet to be part of a packet burst for use in bandwidth calculation: if all the foregoing conditions are true, then determining if burst tracking is currently on, wherein if tracking is on, updating a burst tracking counter and waiting for another packet to arrive; else starting burst tracking, updating said burst tracking counter and waiting for another packet to arrive; and if not all the foregoing conditions are true, checking to see if burst tracking is currently on wherein: estimating an average reportable bandwidth value from a running set of previous bandwidth samples; stopping burst tracking; updating said counters as appropriate; and waiting for another packet to arrive.