Patent ID: 7747255

Claim:
A system for dynamically estimating the bandwidth of a network link in a wireless network, the system comprising: at least one client device capable of receiving data over the wireless network; and a server capable of transceiving data over a link of a wireless channel of the wireless network, the server coupled to the at least one client device by the wireless channel, the server to: identify the at least one client device in the wireless network; identify applications being utilized in the wireless network by the at least one client device, in which each application has an associated link between the server and the client device and an associated data stream transmitted over the link; and passively estimate the bandwidth being used by an application over the link based upon measuring tile throughput of the associated data stream and based upon determining channel utilization of tile link, wherein measuring the throughput of the associated data stream for the application further comprises estimating a throughput of a packet by dividing the size of a transmitted packet by a time duration from a start of a packet transmission to a receipt of the packet by the client device and receiving an acknowledgement from the client device to indicate receipt of the packet, the estimated throughput of the packet being equal to the size of the transmitted packet divided by a difference of a time of the transmission of the packet from a time of the acknowledgement of the packet; wherein the server dynamically estimates an amount of bandwidth to be allocated to an application in the wireless network based upon a maximum estimated throughput for the link for the associated application, and based upon a defined utility function for each of the applications, the server further dynamically allocates bandwidth to different applications in the wireless network based on the utility functions defined for each of the applications.