Software, systems and methods for managing a distributed network
First Claim
1. A system for dynamically allocating bandwidth among a plurality of distributed client computers interconnected by a network link, comprising:
- a plurality of agents, each agent being associated with one of the plurality of distributed client computers; and
a control module, wherein the agents are adapted to repeatedly communicate bandwidth allocation data for the distributed client computers to the control module;
in response to the bandwidth allocation data communicated by the agents, the control module is adapted to dynamically calculate a bandwidth allocation for each of the distributed client computers and communicate the calculated bandwidth allocation to the agent associated with the respective distributed client computer; and
each agent is adapted to receive the calculated bandwidth allocation for its associated distributed client computer from the control module and restrict bandwidth usage by the distributed client computer to the calculated allocation, the control module being adapted to dynamically allocate bandwidth by;
apportioning available bandwidth to determine a configured bandwidth share for each distributed client computer during an upcoming time period;
obtaining a prior bandwidth allocation for each distributed client computer, wherein the prior bandwidth allocation is an amount of bandwidth allotted to each distributed client computer during a prior period;
obtaining a utilized bandwidth for each distributed client computer, wherein the utilized bandwidth is an amount of bandwidth used by each distributed client computer during the prior period; and
comparing the configured bandwidth share, prior bandwidth allocation and utilized bandwidth for each distributed client computer to determine an upcoming bandwidth allocation for each distributed client computer for the upcoming period.
4 Assignments
0 Petitions
Accused Products
Abstract
Software, systems and methods for managing a distributed network environment including a plurality of computers interconnected by a network link, where at least some of the computers include a layered communications protocol stack for providing a data interface between an application program and the network link, the communications stack having a transport protocol layer for providing an end-to-end communications connection. The invention includes a control module and a plurality of agent modules, each agent being associated with one of the computers and adapted to dynamically monitor the associated computer at a data transmission point between an application program running on the computer and the transport protocol layer and repeatedly communicate with the control module in order to effect management of the distributed network system. The invented software, systems and methods may also include a messaging feature for providing users, IT personnel, or various management systems with informative messages concerning network conditions and network resources.
310 Citations
7 Claims
-
1. A system for dynamically allocating bandwidth among a plurality of distributed client computers interconnected by a network link, comprising:
-
a plurality of agents, each agent being associated with one of the plurality of distributed client computers; and
a control module, wherein the agents are adapted to repeatedly communicate bandwidth allocation data for the distributed client computers to the control module;
in response to the bandwidth allocation data communicated by the agents, the control module is adapted to dynamically calculate a bandwidth allocation for each of the distributed client computers and communicate the calculated bandwidth allocation to the agent associated with the respective distributed client computer; and
each agent is adapted to receive the calculated bandwidth allocation for its associated distributed client computer from the control module and restrict bandwidth usage by the distributed client computer to the calculated allocation, the control module being adapted to dynamically allocate bandwidth by;
apportioning available bandwidth to determine a configured bandwidth share for each distributed client computer during an upcoming time period;
obtaining a prior bandwidth allocation for each distributed client computer, wherein the prior bandwidth allocation is an amount of bandwidth allotted to each distributed client computer during a prior period;
obtaining a utilized bandwidth for each distributed client computer, wherein the utilized bandwidth is an amount of bandwidth used by each distributed client computer during the prior period; and
comparing the configured bandwidth share, prior bandwidth allocation and utilized bandwidth for each distributed client computer to determine an upcoming bandwidth allocation for each distributed client computer for the upcoming period. - View Dependent Claims (2, 3)
-
-
4. A method of dynamically allocating bandwidth to a plurality of distributed client computers connected to a network, comprising the steps of:
-
periodically obtaining bandwidth allocation data for each of the distributed client computers;
dynamically calculating a bandwidth allocation for each of the distributed client computers based on the bandwidth allocation data; and
controlling network access of each of the distributed client computers to limit network bandwidth usage of each of the distributed client computers to the calculated bandwidth allocations, where such control is achieved through operation of an agent software module loaded into memory of each of the distributed client computers, wherein the step of dynamically calculating a bandwidth allocation for each of the distributed client computers is performed by;
apportioning available bandwidth to determine a configured bandwidth share for each distributed client computer during an upcoming time period;
obtaining a prior bandwidth allocation for each distributed client computer, wherein the prior bandwidth allocation is an amount of bandwidth allotted to each distributed client computer during a prior period;
obtaining a utilized bandwidth for each distributed client computer, wherein utilized bandwidth is an amount of bandwidth used by each distributed client computer during the prior period; and
comparing the configured bandwidth share, prior bandwidth allocation and utilized bandwidth for each distributed client computer to determine a bandwidth allocation for each distributed client computer for the upcoming period. - View Dependent Claims (5, 6)
-
-
7. A system for dynamically allocating bandwidth among a plurality of distributed client computers interconnected by a network link, comprising:
-
a plurality of agents, each agent being associated with one of the plurality of distributed client computers and adapted to monitor and control its associated distributed client computer by interfacing with a socket object used to operatively couple the network link with application programs running on the associated distributed client computer; and
a control module, wherein;
the agents are adapted to communicate bandwidth usage data for the distributed client computers to the control module;
the control module is adapted to dynamically calculate a bandwidth allocation for each of the agents in response to the bandwidth usage data; and
each agent is adapted to interface with the socket object actively restrict bandwidth usage on the network link by its associated distributed client computer in accordance with the bandwidth allocation calculated for that agent, wherein the control module is adapted to dynamically allocate bandwidth by;
apportioning available bandwidth to determine a configured bandwidth share for each distributed client computer during an upcoming time period;
obtaining a prior bandwidth allocation for each distributed client computer, wherein the prior bandwidth allocation is an amount of bandwidth allotted to each distributed client computer during a prior period;
obtaining a utilized bandwidth for each distributed client computer, wherein the utilized bandwidth is an amount of bandwidth used by each computer during the prior period; and
comparing the configured bandwidth share, prior bandwidth allocation and utilized bandwidth for each distributed client computer to determine an upcoming bandwidth allocation for each distributed client computer for the upcoming period.
-
Specification