Patent ID: 7260635

Claim:
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 dynamically 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 dynamically determine, for each agent computer, an agent allocation of the bandwidth on the network link to subsequently allocate to each agent module 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, where the control module is adapted to dynamically allocate the determined agent allocation of bandwidth to each associated agent module, and where each agent module includes multiple tiers of bandwidth management components adapted to sub-allocate the agent allocation for the associated agent computer.