The network nodule is set by the underlying Framework that is used by the system.
StreamAID currently supports the following frameworks:
This framework runs on a single machine, and simulates the P2P network using the Peersim Simulator.
The runs are fully reproducible and should be identical if run using the same seed.
<framework value="PeerSimFramework" dropRate="0.0" minDelay="200" maxDelay="400" />
PeerSimFramework element receives three arguments: the dropRate of messages (from 0.0 to 1.0)
and a minimal and maximal delay of messages (in milliseconds). The delay of messages is distributed uniformly between minDelay and maxDelay. Each message is being sent with a new random delay, however, FIFO order is preserved.
The network framework sends UDP messages. Each invocation of StreamAID generates all clients on a single machine. StreamAID has to be invoked on every machine with matching xml configuration files.
<framework value="NetworkFramework" role="server" port="8000" />
When the role is "server", the node acts as a source - it generates stream chunks and expects messages in the specified port.
<framework value="NetworkFramework" role="client" port="8001" > <address port="8000" hostname="serverHostName" /> </framework>
When the role is "client", the node acts as a user. the port specified in the framework element is the port used for sending and receiving UDP messages. The address element specifies the hostname and port of the source node and should match the hostname and port of the node in which StreamAID was invoked with the role "server".