|
Technical Note - Automation of Impairment Settings |
It is often useful to vary an impairment over a period of time.
For example, a user might want to emulate the effect of a tree that periodically is blown by the wind across a microwave network link. Or one might want to emulate a slowly degrading path that, perhaps due to a routing change, suddenly becomes good. (This latter scenario is useful when testing implementations of TCP congestion detection and recovery software.)
The screen shot on the left shows an automation of a delay that causes increasingly more intense spikes of delay over an 8 second period and then repeats.
Maxwell's graphical user interface contains a very flexible tool that allows nearly every impairment parameter to be varied every tenth of a second over periods of time ranging from a 0.1 seconds to more than a week.
Any of the numeric fields in the standard impairments may be varied
over time, whether the numeric field is a percentage, a time value
itself, a rate, number of bits, or some other unit. You have a choice
of three different ways of telling Maxwell how it should vary the
parameter over time:
- A simple pulse model that requires entry of 6 numbers. The value is
changed over time by first holding at a user defined "baseline" value
for a user defined period of time (the "lead time"), followed by a rise
(or fall) to another value (the "target value") over another period of
time (the "onset time"), remaining at the target value for a while (the
"hang time") and ending by falling (or rising) to the original baseline
value over a final period of time (the "fall time"). Several pulse
shapes can be created this way, including triangle, saw-tooth, and
square.
- Using an algebraic equation. An example would be varying
transmission latency (delay) using a simple sine wave be entering this
equation: y = 0.75*(1 + sin(t/5)). This would vary packet delay from 0
to 1.5 seconds every 5 seconds.
- By entering a list of time/value pairs that can be made to
replicate within reasonable tolerances any variation conceivable. This
can be used when neither of the other two mechanisms can be made to
vary the value in the way desired. However, in extreme situations it
may require entry of a great many pairs of numbers.
|