1. A system for dynamically allocating bandwidth on a network link interconnecting a plurality of computers, including a control computer and multiple agent computers, where each agent computer is capable of running one or more applications employing one or more sockets, the system comprising: a control module adapted to run on the control computer; and plural agent modules, each being adapted to run on one of the agent computers, where each agent module is adapted to monitor socket status on its associated agent computer and repeatedly communicate with the control module based on such socket status, where the control module is adapted to determine, for each agent computer, an agent allocation of the bandwidth on the network link based on communications received from the agent modules, such that the agent allocation for one agent computer depends on the socket status of such agent computer relative to the socket status of the other agent computers, and where each agent module includes multiple tiers of bandwidth management components adapted to sub-allocate the agent allocation for the associated agent computer.