System and method for analyzing and tuning a communications network
First Claim
1. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform a method for network measurement and planning, said method comprising:
- sending probative test packets across a live communications network to derive network evaluation parameters including apparent bandwidth and current available bandwidth;
determining capacity, utilization and performance of said network as a function of said network evaluation parameters and of queue delay selectively determined with respect to single or multiple links apparent queue factor;
measuring responsive time including response time components of serialization or deserialization time, device latency, propagation delay and queue delay;
determining apparent bandwidth as a difference between short ping time and long ping time for discrete pings;
determining for a given message length serialization or deserialization time as a function of apparent bandwidth;
determining device latency as a function of ping times;
determining propagation delay as a function of network quality factor;
distinguishing between device latency and propagation delay latency as a function of said network quality factor; and
determining queue delay.
1 Assignment
0 Petitions
Accused Products
Abstract
A communications network is evaluated by selectively sending and receiving a plurality of network evaluation signals through the network. Responsive to these evaluation signals, selective network evaluation parameters are determined and stored. Responsive to these parameters, the response time and throughput characteristics of the network are determined by means of algebraic and queuing theory derivations. Network response time analysis determines the apparent bandwidth, utilization, internal message size, queue factor, and device latency. Throughput analysis defines, calculates, and uses hop count, duplex, throughput and multi-server factors. Service level and capacity planning provides comprehensive “what-if” network planning facilities, including calculation of the change in network traffic before network response time service level is compromised; calculation of the additional file load capacity of the network; and determination of tuning recommendations for recommended window size for file transfer to fill remaining capacity.
-
Citations
44 Claims
-
1. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform a method for network measurement and planning, said method comprising:
-
sending probative test packets across a live communications network to derive network evaluation parameters including apparent bandwidth and current available bandwidth;
determining capacity, utilization and performance of said network as a function of said network evaluation parameters and of queue delay selectively determined with respect to single or multiple links apparent queue factor;
measuring responsive time including response time components of serialization or deserialization time, device latency, propagation delay and queue delay;
determining apparent bandwidth as a difference between short ping time and long ping time for discrete pings;
determining for a given message length serialization or deserialization time as a function of apparent bandwidth;
determining device latency as a function of ping times;
determining propagation delay as a function of network quality factor;
distinguishing between device latency and propagation delay latency as a function of said network quality factor; and
determining queue delay. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
using probative testing to determine the state of said network as an end-to-end entity; and
deriving the number of messages on queue and in service as u/(1−
u), where u is said network utilization level.
-
-
5. The program storage device of claim 4, said method further comprising:
deriving the multiserver value as u{circumflex over ( )}n/(1−
u{circumflex over ( )}n), where n is the number of servers in the path through said network.
-
6. The program storage device of claim 5, said method further comprising:
deriving the throughput characteristics of said network, including the network throughput bandwidth.
-
7. The program storage device of claim 6, said network throughput bandwidth being determined by streaming pings one way with discard.
-
8. The program storage device of claim 7, said method further comprising:
deriving a hop count factor as said network throughput bandwidth divided by apparent bandwidth for relating said respond time bandwidth of the network to said network throughput bandwidth.
-
9. The program storage device of claim 8, said method further comprising performing two way streaming to test for two way throughput bandwidth.
-
10. The program storage device of claim 9, said method further comprising:
-
dividing said two way throughput bandwidth by said network throughput bandwidth to derive the duplex factor for said network; and
deriving true queue depth as said network throughput bandwidth times network queue time divided by 8.
-
-
11. The program storage device of claim 10, said method further comprising:
deriving multistream throughput selectively responsive to one way streaming or two way streaming, with two way streaming used when said duplex factor is greater than 1, and otherwise with one way streaming.
-
12. The program storage device of claim 11, said method further comprising:
deriving a multiserver factor as said multistream throughput divided selectively by said throughput bandwidth or said duplex throughput bandwidth.
-
13. The program storage device of claim 12, said method further comprising:
deriving a revised value for the number of messages on queue as u{circumflex over ( )}m/(1−
u{circumflex over ( )}m), where m is said multiserver factor.
-
14. The program storage device of claim 1, said method further comprising detecting for prioritization within said network based on packet size.
-
15. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform a method for network measurement and planning, said method comprising:
-
sending probative test packets across a live communications network to derive network evaluation parameters including apparent bandwidth and current available bandwidth;
determining capacity, utilization and performance of said network as a function of said network evaluation parameters and of queue delay selectively determined with respect to single or multiple links apparent queue factor;
testing for network prioritization based on type of service selected from a set including interactive service, browser service, batch service, and real time service;
includingcalculating apparent bandwidth using highest priority packets, where said highest priority packets are those for the service with best long minus best short packets;
calculating utilization at highest priority from average long packets minus best short packets;
calculating utilization of second highest priority from average second level packets minus best highest level packets, where total perceived minus highest priority utilization is said total second level packets; and
repeating said calculating steps for all levels of service.
-
-
16. A method for network measurement and planning, comprising the steps of:
-
responsive to probative testing on a live network and selective calculation and application of single and multiple links apparent queue factor to the results of said probative testing, deriving current propagation delay, latency, utilization by priority, bandwidth, hop count, duplex, and multiserver factors; and
responsive theretodetermining average message length for all priorities, arrival rates, utilization, current window size, optimal window size, expected current average network response time, and utilization at which a response time requirement is not met. - View Dependent Claims (17)
-
-
18. A method for evaluating a communications network interconnecting a workstation and a target station, comprising the steps of:
-
communicating long ping bits;
communicating short ping bits;
determining the best long ping time;
determining the best short ping time; and
calculating apparent bandwidth as a function of the number of long ping bits, the number of short ping bits, said best long ping time, and said best short ping time. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
determining average long ping time;
determining average short ping time; and
calculating the current available bandwidth as a function of said number of long ping bits, said number of short ping bits), said average long ping time, and said average short ping time.
-
-
20. The method of claim 19, further comprising the step of:
calculating the current unavailable bandwidth as equal to said apparent bandwidth minus said current available bandwidth.
-
21. The method of claim 20, further comprising the step of:
calculating apparent utilization of said network as said current unavailable bandwidth divided by said apparent bandwidth.
-
22. The method of claim 18, further comprising the step of:
calculating apparent latency selectively as a function of said best short ping time, said short ping bits, and said apparent bandwidth or as a function of said best long ping time or as a function of averaged combination of said best long ping time and said best short ping time.
-
23. The method of claim 22, further comprising the step of:
calculating average queue time selectively as a function of said average short ping time and said best short ping time, or as a function of said long ping time, or as a function of an averaged combination of said long ping time and said short ping time.
-
24. The method of claim 23, further comprising the step of:
calculating apparent two way queue depth as a function of said apparent bandwidth and apparent queue depth.
-
25. The method of claim 21, further comprising the step of:
calculating apparent queue factor as a function of said apparent utilization.
-
26. The method of claim 25, further comprising the steps of:
-
adjusting the value of said apparent bandwidth to the value of an FTP or streamed ping, or multistream version of said FTP or streamed ping; and
calculating apparent queue factor as a function of said utilization and a multiserver factor, said multiserver factor representing the ratio of said multistream FTP to said single FTP.
-
-
27. The method of claim 26, further comprising the step of:
calculating apparent average network message length as a function of said apparent queue depth and said apparent queue factor.
-
28. The method of claim 27, further comprising the steps of:
-
determining the acknowledgment message length;
calculating apparent maximum user window size as a function of said average user message length, said acknowledgment message length, said apparent bandwidth, and said apparent latency.
-
-
29. The method of claim 28, further comprising the step of:
calculating estimated current user window size as a function of said average user message length, said acknowledgment message length, said current available bandwidth, and said apparent latency.
-
30. The method of claim 29, further comprising the steps of:
-
determining the standard deviation of said short ping times;
determining the standard deviation of said long ping times; and
calculating apparent jitter as a function of said standard deviations of said short pint times and said long ping times.
-
-
31. The method of claim 30, further comprising the steps of:
-
establishing a network quality factor;
determining distance between said work station and said target station; and
calculating estimated path propagation delay as a function of said network quality factor and said distance.
-
-
32. The method of claim 31, comprising the further step of:
calculating apparent device latency as a function of said apparent latency and said estimated path propagation delay.
-
33. The method of claim 31, comprising the further step of:
calculating estimated optimal network service level as a function of said user message length, said apparent bandwidth, and said apparent latency.
-
34. The method of claim 33, comprising the further step of:
calculating estimated current network service level as a function of said user message length, said apparent bandwidth, said average queue time, and said apparent latency.
-
35. The method of claim 34, comprising the further step of:
calculating estimated optimal network service level as a function of said network latency, said message size, and said apparent bandwidth.
-
36. The method of claim 35, comprising the further steps of:
-
establishing a target value;
if said estimated optimal network service level is greater than said target value, flagging the service level as unattainable;
if said estimated optimal network service level is less than or equal to said target value, then calculating the maximum allowable average queue time as a function of said estimated optimal network service level and said target value.
-
-
37. The method of claim 36, further comprising the step of:
calculating the network queues size as a function of said apparent bandwidth and said maximum allowable average queue time.
-
38. The method of claim 37, further comprising the step of:
calculating the network queue factor at which response time equals said target as a function of said network queues size and said average network message size.
-
39. The method of claim 38, further comprising the steps of:
-
determining the multiserver factor;
calculating the utilization level at which said response time equals said target as a function of said network queues size, said average network message size, and said multiserver factor.
-
-
40. Method for evaluating a communications network, comprising the steps of:
-
probative testing a live communications network by selectively sending and receiving a plurality of network evaluation signals through said network;
calculating and applying single and multiple links apparent queue factor to said network evaluation signals, for deriving network evaluation parameters including apparent bandwidth and current available bandwidth, current propagation delay, latency, utilization by priority, hop count, duplex, and multiserver factors;
responsive to selected said network evaluation parameters, analyzing average message length for all priorities, arrival rates, utilization, current window size, optimal window size, expected current average network response time, and utilization at which a response time requirement is not met; and
responsive to selected said network evaluation parameters, analyzing the throughput of said network.
-
-
41. A method for evaluating a communications network, comprising the steps of:
-
selectively sending and receiving a plurality of network evaluation signals through said network, said network evaluation signals being selected from the set of signals including discrete one-way echoed packets, discrete echoed packets, streamed one-way packets, streamed echoed packets, multistreamed one-way packets, multistreamed echoed packets, uni-directional file transfers, bi-directional file transfers, and multistreamed file transfers;
responsive to said network evaluation signals, selectively recording network evaluation parameters selected from the set of parameters including number of packets sent, number of packets received, packet send time stamp, packet receipt time stamp, packet size, packet one-way trip time, packet round trip time, standard deviation, and bytes transferred per unit of time;
responsive to selected said network evaluation parameters, analyzing the response time of said network, including determining at least one of factors defining the apparent bandwidth, current available bandwidth, current unavailable bandwidth, apparent utilization, apparent average message size, apparent maximum user window size, estimated current user window size, apparent jitter, estimated path propagation delay, estimated optimal network service level, estimated current network service level, estimated network utilization level at which service level compliance is compromised, average queue time, apparent queue depth, apparent queue factor, and apparent device latency of said network;
responsive to selected said network evaluation parameters, analyzing the throughput of said network, including determining the hop count factor, duplex factor, throughput factor, and multi-server factor of said network;
responsive to user selection, executing one or more service level and capacity planning routines selected from the set including routines for planning network characteristics, calculating the change in network traffic before network response time level is compromised, calculating the additional file load capacity of said network, and for determining window size for file transfer to fill remaining capacity; and
further responsive to user selection, selectively executing optimized ping, ping extensions, transaction, file echo, bursts, multistreaming, and unidirectional transmission and recording routines.
-
-
42. A system for evaluating a communications network, comprising:
-
means for probative testing a live communications network by selectively sending and receiving a plurality of network evaluation signals through said network;
means for calculating and applying single and multiple links apparent queue factor to said network evaluation signals for selectively deriving and recording network evaluation parameters including apparent bandwidth and current available bandwidth, current propagation delay, latency, utilization by priority, hop count, duplex, and multiserver factors;
means responsive to selected said network evaluation parameters for analyzing average message length for all priorities, arrival rates, utilization, current window size, optimal window size, expected current average network response time, and utilization at which a response time requirement is not met; and
means responsive to selected said network evaluation parameters for analyzing the throughput of said network.
-
-
43. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for evaluating a communications network, said method steps comprising:
-
probative testing a live communications network by selectively sending and receiving a plurality of network evaluation signals through said network;
calculating and applying single and multiple links apparent queue factor to said network evaluation signals, for deriving network evaluation parameters including apparent bandwidth and current available bandwidth, current propagation delay, latency, utilization by priority, hop count, duplex, and multiserver factors;
responsive to selected said network evaluation parameters, analyzing average message length for all priorities, arrival rates, utilization, current window size, optimal window size, expected current average network response time, and utilization at which a response time requirement is not met; and
responsive to selected said network evaluation parameters, analyzing the throughput of said network.
-
-
44. An article of manufacture comprising:
- a computer useable medium having computer readable program code means embodied therein for evaluating a communications network, the computer readable program means in said article of manufacture comprising;
computer readable program code means for causing a computer to effect probative testing a live communications network by selectively sending and receiving a plurality of network evaluation signals through said network;
computer readable program code means for causing a computer to effect calculating and applying single and multiple links apparent queue factor to said network evaluation signals for selectively deriving and recording network evaluation parameters including apparent bandwidth and current available bandwidth, current propagation delay, latency, utilization by priority, hop count, duplex, and multiserver factors;
computer readable program code means for causing a computer to effect responsive to selected said network evaluation parameters analyzing average message length for all priorities, arrival rates, utilization, current window size, optimal window size, expected current average network response time, and utilization at which a response time requirement is not met; and
computer readable program code means for causing a computer to effect responsive to selected said network evaluation parameters analyzing the throughput of said network.
- a computer useable medium having computer readable program code means embodied therein for evaluating a communications network, the computer readable program means in said article of manufacture comprising;
Specification