38.8 SRM objects
SRM objects are a subclass of agent objects that implement the SRM
reliable multicast transport protocol. They inherit all of the generic
agent functionalities. The methods for this object is described in the
next section . Configuration parameters for this object
are:
- packetSize_
- The data packet size that will be used for repair
messages. The default value is 1024.
- requestFunction_
- The algorithm used to produce a retransmission
request, e.g., setting request timers. The default value is SRM/request.
Other possible request functions are SRM/request/Adaptive, used by the
Adaptive SRM code.
- repairFunction_
- The algorithm used to produce a repair, e.g., compute repair timers. The
default value is SRM/repair. Other possible request functions are
SRM/repair/Adaptive, used by the Adaptive SRM code.
- sessionFunction_
- The algorithm used to generate session messages. Default is SRM/session
- sessionDelay_
- The basic interval of session messages. Slight random variation is added
to this interval to avoid global synchronization of session messages. User
may want to adjust this variable according to their specific simulation.
Default value is 1.0.
- C1_, C2_
- The parameters which control the request timer. Refer to [8] for detail.
The default value is C1_ = C2_ = 2.0.
- D1_, D2_
- The parameters which control the repair timer. Refer to [8] for detail.
The default value is D1_ = D2_ = 1.0.
- requestBackoffLimit_
- The maximum number of exponential backoffs. Default value is 5.
State Variables are:
- stats_
- An array containing multiple statistics needed by adaptive SRM agent.
Including: duplicate requests and repairs in current request/repair
period, average number of duplicate requests and repairs, request and
repair delay in current request/repair period, average request and repair
delay.
SRM/ADAPTIVE OBJECTS
SRM/Adaptive objects are a subclass of the SRM objects that implement the
adaptive SRM reliable multicast transport protocol. They inherit all of
the SRM object functionalities.
State Variables are:
(Refer to the SRM paper by Sally et al [Fall, K., Floyd, S., and
Henderson, T., Ns Simulator Tests for Reno FullTCP. URL
ftp://ftp.ee.lbl.gov/papers/fulltcp.ps. July 1997.] for more detail.)
- pdistance_
- This variable is used to pass the distance estimate provided by the remote
agent in a request or repair message.
- D1_, D2_
- The same as that in SRM agents, except that they are initialized to
log10(group size) when generating the first repair.
- MinC1_, MaxC1_, MinC2_, MaxC2_
- The minimum/maximum values of C1_ and C2_. Default initial values are
defined in [8]. These values define the dynamic range of C1_ and C2_.
- MinD1_, MaxD1_, MinD2_, MaxD2_
- The minimum/maximum values of D1_ and D2_. Default initial values are
defined in [8]. These values define the dynamic range of D1_ and D2_.
- AveDups
- Higher bound for average duplicates.
- AveDelay
- Higher bound for average delay.
- eps AveDups
- -dups determines the lower bound of the number of
duplicates, when we should adjust parameters to decrease delay.
Tom Henderson
2014-12-17