# Opportunistic Network Algorithms for Internet Traffic Offloading in Music Festival Scenarios
## 3 A Festival Mobility Model
### Communication Use Case at a Music Festival  
When analyzing the mobility patterns that people attending a festival follow, we can observe that, during a concert, very few nodes change their position. Furthermore, when not attending a concert, people usually move from a stage to another, or go to the food court or other entertainment areas. We chose to focus on the former scenario because it poses a more significant challenge, since that is when the network is heavily loaded and barely works, resulting in poor connectivity and large delivery delays for festival attendees.  
First of all, in order to create our festival mobility model, we need to address the way messages are generated during a simulation. To do so, we need to identify what applications would be relevant to the people attending a music festival. We propose such an application: a messaging app similar to WhatsApp, which could benefit from an opportunistic network through the use of an API.  
In this use case, in terms of the communication pattern employed, participating nodes are more likely to send messages to the nodes in their social network than to any other nodes. Our proposal for the default method of generating messages during a simulation run using MobEmu is the following:  
* Pick a generation time--this is done randomly, since a festival participant might need to communicate with other people at any time;
* For each node in the simulation, generate a fixed number of messages and copies corresponding to a message--the destination type of a message is established through the use of a Zipf distribution (A method for generating Zipfian random values is presented here: [[https://medium.com/@jasoncrease/zipf-54912d5651](https://medium.com/@jasoncrease/zipf-54912d5651) cc]([https://medium.com/@jasoncrease/zipf-54912d5651](https://medium.com/@jasoncrease/zipf-54912d5651) cc), accessed on 10 May 2021); the nodes which are both in the social network and the discovered community (A node's discovered community is a group of other nodes that it comes in contact with often. Aside from the group of friends (which will also be part of the social network community), a discovered community will also most likely include \"familiar strangers\", meaning unknown persons that are often encountered for long periods of time.) of the node are more likely to be selected as the destination, followed by nodes in the social network, nodes in the community, and finally random nodes.  
We had to modify the default method in order to better serve the communication pattern described earlier. First, we need to establish the concept of \"chat pairs\". A chat pair is a pair of two nodes which attend the festival together and exchange messages while one of them is away. This behavior is implemented in the synthetic mobility model presented in the Section 3.4. Moreover, each node has a number of friends that are eligible message destinations. The messages between chat pair nodes are generated more often than the messages between regular nodes, every 6 and 15 min, respectively. The new method consists of the following steps:  
* If the node is not part of a chat pair, pick a random message destination, the only constraint being that the destination has to be a friend;
* For every chat pair, generate two messages, each message originating from one of the two pair members.