Data network controller
First Claim
1. A controller for a network comprising:
- a control module for analyzing aggregate flow information;
an interface for communicating said aggregate flow information;
a cache for receiving information;
an active calibrator for communicating network data;
an aggregation module for aggregating said aggregate flow information;
a usage module for communicating information to said control module;
a file library for storing resources; and
a repository for housing information.
13 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for a system and method for data network control. Using a flow control system, embodiments of the present invention can analyze traffic flow volume and performance, incorporate usage, billing, and cost control data to yield an improved data network controller. Efficiency in data routing is improved while costs are decreased by enabling the selection of the optimal performance data route. Cost constraints and costs are minimized for an overall data load. Given a diverse set of cost structures for available transit providers, the overall system cost can be minimized by distributing traffic in a manner that takes advantage of the diverse billing structures and yet maintains acceptable performance levels. Systems and methods in accordance with embodiments of the present invention determine projected flow performance and projected flow volume in relation to the available bandwidth and marginal cost to a destination provider.
313 Citations
21 Claims
-
1. A controller for a network comprising:
-
a control module for analyzing aggregate flow information;
an interface for communicating said aggregate flow information;
a cache for receiving information;
an active calibrator for communicating network data;
an aggregation module for aggregating said aggregate flow information;
a usage module for communicating information to said control module;
a file library for storing resources; and
a repository for housing information. - View Dependent Claims (2)
-
-
3. A controller for a data network comprising:
-
a control module for analyzing aggregate flow information;
an interface for communicating said aggregate flow information;
a cache for receiving information;
an active calibrator for communicating network data;
an aggregation module for aggregating said aggregate flow information;
a usage module for communicating information to said control module;
a file library for storing resources; and
a repository for housing information.
-
-
4. A method for controlling a network comprising:
-
determining a best performance variable;
determining a lowest cost variable; and
assigning a control value.
-
-
5. A method for controlling a network comprising:
-
evaluating a performance value;
determining a cost;
evaluating an identifier; and
determining a change value. - View Dependent Claims (6, 7, 8)
-
-
9. A method for controlling a network comprising:
-
comparing a candidate loss to a current loss;
comparing a candidate latency to a current latency;
determining a best latency;
determining a best loss;
evaluating a candidate bandwidth value;
determining a maximum candidate bandwidth value;
determining a cost tier;
determining a lowest identifier; and
assigning a change value.
-
-
10. A method for determining bandwidth allocation comprising:
-
evaluating a usage sample;
evaluating a billing profile;
determining a value; and
distributing bandwidth using said value.
-
-
11. A method for controlling a network comprising:
-
observing a sample;
calculating a control limit;
evaluating said sample using said control limit;
defining a sensitivity;
comparing said sensitivity to said sample; and
updating a value.
-
-
12. A method for controlling a network comprising:
- evaluating a data stream;
evaluating a billing profile;
determining an allocation value; and
distributing data using said allocation value.
- evaluating a data stream;
-
13. An apparatus for controlling a network, the apparatus comprising:
-
means for evaluating a candidate latency;
means for evaluating a candidate loss;
means for comparing a candidate bandwidth to a bandwidth allocation;
means for determining a loss value;
means for determining a cost;
means for evaluating an identifier; and
means for determining a change value. - View Dependent Claims (14)
-
-
15. An apparatus for controlling a network, the apparatus comprising:
-
means for comparing a candidate loss to a current loss;
means for comparing a candidate latency to a current latency;
means for determining a best latency;
means for determining a best loss;
means for evaluating a candidate bandwidth values;
means for determining a maximum candidate bandwidth value;
means for determining a cost tier;
means for determining a lowest identifier; and
means for assigning a change value.
-
-
16. A computer-readable medium storing instructions for controlling a network, by performing the steps of:
-
evaluating a candidate latency;
evaluating a candidate loss;
comparing a candidate bandwidth to a bandwidth allocation;
determining a loss value;
determining a cost;
evaluating an identifier; and
determining a change value. - View Dependent Claims (17)
-
-
18. A computer-readable medium storing instructions for controlling a network, by performing the steps of:
-
comparing a candidate loss to a current loss;
comparing a candidate latency to a current latency;
determining a best latency;
determining a best loss;
evaluating a candidate bandwidth values;
determining a maximum candidate bandwidth value;
determining a cost tier;
determining a lowest identifier; and
assigning a change value.
-
-
19. A computer data signal embodied in a carrier wave comprising:
-
program code for evaluating a candidate latency;
program code for evaluating a candidate loss;
program code for comparing a candidate bandwidth to a bandwidth allocation;
program code for determining a loss value;
program code for determining cost;
program code for evaluating an identifier; and
program code for determining a change value.
-
-
21. A computer data signal embodied in a carrier wave comprising:
-
program code for comparing a candidate loss to a current loss;
program code for comparing a candidate latency to a current latency;
program code for determining a best latency;
program code for determining a best loss;
program code for evaluating candidate bandwidth values;
program code for determining a maximum candidate bandwidth value;
program code for determining a cost tier;
program code for determining a lowest identifier; and
program code for assigning a change value. - View Dependent Claims (20)
-
Specification