## 6 Performance Evaluation
### Simulation Setting and Performance Metrics
#### 6.1.1 Simulation Model and Node Mobility Scenarios  
The OppNet research commonly uses the Opportunistic Networking Environment (ONE) [28] simulator to investigate the routing and buffer management policies. The ONE simulator provides configurable functions to model the data networking and store-carry-forward message delivery without the need for physical-layer modeling, such as signaling and media access control. The ONE platform executes the primary agents, so-called nodes. Each node is assigned a set of primitive attributes, including radio interface, storage, message routing, movement, energy consumption, etc. Given a node population, they follow a defined mobility scenario to move on a given network map.  
Our simulation employs two mobility scenarios for the behavior of node movement: the real trace-based dataset of National Chengchi University (NCCU) [18] and the time-variant community mobility model (TVCM) [17]. Both mobility scenarios are scripted into the configurations of the nodes' movement, which are managed by the ONE simulator  
* The TVCM model is proposed to capture the realistic mobility characteristics observed from various WLANs, so it is suitable for the simulation of MANET and OppNets. In a TVCM-specific mobility scenario, 50, 100, and 150 mobile nodes move in an area of \(1500\times 1500\) m\({}^{2}\). Each node was randomly assigned to several community homes on a plane during the simulation. The simulation time was divided into equal time slots. The nodes moved in random waypoint trips in each time slot with a probability \(p\) of staying inside or (returning to) their homes and a probability of \(1-p\) roaming outside their homes. By assigning different probabilities to each node, a wide range of heterogeneous node behavior can be reproduced.
* The NCCU dataset is a real trace dataset collected at the National Chengchi University campus. These data were collected using an Android app installed on the smartphones of students attending NCCU, Taiwan. The trace contains the data of GPS, Wi-Fi access points, and Bluetooth devices connected in physical communication proximity. The trace was collected from 115 students moving in 3764 \(\times\) 3420 m\({}^{2}\) over 15 days. The NCCU real dataset is available [29].  
The output trace file of the above mobility models contains a series of mobile trajectory records, each of which indicates the data of the time stamp, x-position, and y-position with respect to the two-dimension position of any particular node at different time moments. Table 1 shows the simulation parameters and their values used in the simulation. Specifically, the ONE simulator imports a mobility scenario script, i.e., a simple text-based configuration file, which contains various parameters of the simulation model, user interface, event generation, report parameters, etc. The ONE simulator will output a message statistics report module gathering the overall performance statistics, such as the number of created messages, the number of messages that have been delivered, the number of messages that have been relayed, etc.  
For both NCCU and TVCM, the configuration file contains a chronological list of location records that describe the waypoint locations of mobile nodes in the Cartesian coordinate system at a time dimension. During the simulation, the ONE simulator continues to vary the next waypoint location of each node by referring to the sequence of generated records in the trace file. For each node, the movement speed between two locations is setin a range of 0.5 to 1.5 m/s. In addition, the ONE simulator provides different functional modules to access the up-to-date information of the node's current position, movement path, neighbors, etc. Given a node pair of source and destination nodes, the source node generates a new message of 100 KB per 300 s. When two nodes appear in the mutual transmission range, they can transfer messages with each other. The ONE simulator runs both mobility scenarios for 24 h.