The purpose of Session-level packet distribution is to
speed up simulations and reduce memory consumption while
maintaining reasonable accuracy.
The first bottleneck observed is the memory consumption by heavy-weight
links and nodes. Therefore, in SessionSim (Simulator for Session-level
packet distribution), we keep only minimal amount of
states for links and nodes, and connect the higher level source and
receiver applications with appropriate delay and loss modules.
A particular source in a group sends its data packets
to a replicator that is responsible for replicating the packets
for all the receivers.
Intermediate loss and delay modules between this replicator and the receivers
will guarantee the appropriate end-to-end characteristics.
To put it another way, a session level simulation
abstracts out the topology, routing and queueing delays.
Packets in SessionSim do not get routed.
They only follow the established Session.