Network Proximity
User Documentation

Overview

A network proximity service answers queries regarding the network proximity between hosts. The service accomplishes this by periodically performing network transfer experiments between hosts, keeping a record of observed network transfer times, and computing network distances.

Creating a network proximity service

In WRENCH, a network proximity service is defined by the wrench::NetworkProximityService class, an instantiation of which requires the following parameters:

The example below shows how to create an instance that runs on host "Networkcentral", and can answer network distance queries about hosts "Host1", "Host2", "Host3", and "Host4". The service's properties are customized to specify that the service performs network transfer experiments on average every 60 seconds, and that the Vivaldi algorithm is used to compute network coordinates.

auto np_service = simulation->add(
new wrench::NetworkProximityService("Networkcentral",
{"Host1", "Host2", "Host3", "Host4"},
{});

Network proximity service properties

The properties that can be configured for a network proximity service include: