This implementation of PackMimeHTTP provides several ns RandomVariable
objects for specifying distributions of PackMimeHTTP connection
variables. The implementations were taken from source code provided by
Bell Labs and modified to fit into the ns RandomVariable
framework. This allows PackMimeHTTP connection variables to be
specified by any type of ns RandomVariable, which now include
PackMimeHTTP-specific random variables. If no RandomVariables are
specified in the TCL script, PackMimeHTTP will set these
automatically.
The PackMimeHTTP-specific random variable syntax for TCL scripts is as
follows:
- $ns [new RandomVariable/PackMimeHTTPFlowArrive <rate>],
where rate is the specified PackMimeHTTP connection rate (number
of new connections per second)
- $ns [new RandomVariable/PackMimeHTTPReqSize <rate>],
where rate is the specified PackMimeHTTP connection rate
- $ns [new RandomVariable/PackMimeHTTPRspSize <rate>],
where rate is the specified PackMimeHTTP connection rate
- $ns [new RandomVariable/PackMimeHTTPPersistRspSize]
- $ns [new RandomVariable/PackMimeHTTPPersistent
<probability>],
where probability is the probability that the connection is
persistent
- $ns [new RandomVariable/PackMimeHTTPNumPages <probability>
<shape> <scale>], where probability is the probability that
there is a single page in the connection and shape and
scale are parameters to the Weibull distribution to determine the
number of pages in the connection.
- $ns [new RandomVariable/PackMimeHTTPSingleObjPages
<probability>], where probability is the probability that
there is a single object on the current page.
- $ns [new RandomVariable/PackMimeHTTPObjsPerPage <shape>
<scale>], where shape and scale are parameters to
the Gamma distribution to determine the number of objects on a
single page.
- $ns [new RandomVariable/PackMimeHTTPTimeBtwnObjs]
- $ns [new RandomVariable/PackMimeHTTPTimeBtwnPages]
- $ns [new RandomVariable/PackMimeHTTPServerDelay <shape>
<scale>], where shape and scale are paramters to
the Weibull distribution to determine server delay.
- $ns [RandomVariable/PackMimeHTTPXmit <rate> <type>], where
type is 0 for client-side delays and 1 for
server-side delays. Note: This random variable
is only used in conjunction with DelayBox. It returns 1/2 of the
actual delay because it is meant to be used with 2 DelayBox nodes,
each of which should delay the packets for 1/2 of the actual delay.
Tom Henderson
2011-11-05