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