126 31 14MB
English Pages 212 [201] Year 2024
Anna Förster · Pietro Manzoni · Enrique Hernández Orallo · Koojana Kuladinithi · Asanga Udugama
Opportunistic Networks Concepts and Systems
Opportunistic Networks
Anna Förster • Pietro Manzoni • Enrique Hernández Orallo • Koojana Kuladinithi • Asanga Udugama
Opportunistic Networks Concepts and Systems
Anna Förster University of Bremen Bremen, Germany
Pietro Manzoni Universitat Politècnica de València Valencia, Spain
Enrique Hernández Orallo Universitat Politècnica de València Valencia, Spain
Koojana Kuladinithi Hamburg University of Technology Hamburg, Germany
Asanga Udugama University of Bremen Bremen, Germany
ISBN 978-3-031-47865-9 ISBN 978-3-031-47866-6 https://doi.org/10.1007/978-3-031-47866-6
(eBook)
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland Paper in this product is recyclable.
We dedicate this book to all our past, current, and future students, so they continue inspiring and pushing us forward.
Preface
In a world increasingly interconnected by advanced technologies, we have become reliant on the ubiquitous networks that bind our devices, our services, and, indeed, our lives. As technology grows more pervasive and complex, the expectations for network performance grow concurrently. Simultaneously, advancements in mobile computing, the Internet of Things (IoT), and the rapid emergence of smart cities have transformed the connectivity landscape, unveiling an era of unprecedented opportunities and challenges. In this evolving landscape, one burgeoning concept stands out: Opportunistic Networks. Opportunistic networks (OppNets) represent a distinctive category of networks, pioneering unconventional approaches for facilitating communication in exceptionally challenging conditions characterized by high node mobility, sporadic connectivity, and resource constraints. These networks are typically marked by recurrent network partitioning and extensive delays due to the dynamic mobility of the nodes and sporadic or intermittent connectivity. The concept of opportunistic networking stems from the insight that human contacts often follow patterns and that these patterns can be harnessed to transport data. OppNets do not assume an existing end-to-end path between a source and a destination. Instead, they propagate data by leveraging sporadic and transient contacts between network nodes. Opportunistic routing is facilitated by mobile nodes that act as data carriers, forwarding packets to their destinations by capitalizing on their movement and temporary connections to other nodes. One of the most crucial aspects of an OppNet is the concept of store, carry, and forward, where each node stores the message, carries it around, and forwards it to other nodes or the destination node when the opportunity arises. Opportunistic networking has been used successfully in emergency response and wildlife tracking scenarios where traditional networking methods do not suffice. There are other various similar or at least related types of connectivity forms: • Delay-tolerant networking (DTN): DTN is a network architecture designed for environments where network connectivity is intermittent or unreliable. DTN allows nodes to communicate with each other even when there is no direct convii
viii
Preface
nection using store-and-forward protocols to pass messages through intermediate nodes. • Mobile ad hoc networking (MANET): MANET is a type of wireless network in which nodes communicate directly without needing a centralized infrastructure. This allows for dynamic and flexible networking, making it suitable for opportunistic networks. • Content-centric networking (CCN): CCN is a networking paradigm based on content rather than hosts or locations. In CCN, content is identified by its name, and nodes store and forward content based on its name. This makes it suitable for opportunistic networks, as content can be cached and delivered even without a direct connection between nodes. • Mesh networking: Mesh networking is a type of network architecture in which nodes communicate with each other in a self-organizing and decentralized manner. In an opportunistic network, mesh networking could be used to create a network of nodes that can communicate with each other, even when there is no centralized infrastructure available. This book delves into various aspects of Opportunistic Networks, offering an indepth analysis of their structure, function, and application in various scenarios. Each chapter of this book is designed to provide a comprehensive understanding of the intricate concepts related to OppNets. The first part of the book, titled Foundations of Opportunistic Networks, explores the fundamental principles and metrics associated with Opportunistic Networks. Chapter 2 delves into the mobility of opportunistic networks, discussing the process of collecting mobility traces, converting these traces into location and contact information, and examining the impact of mobility on OppNets. This chapter also explores the critical aspects of large-scale mobility characteristics and the role of scale and density in these networks. Chapter 3 provides an extensive exploration of data dissemination in opportunistic networks. Here, we discuss optimal dissemination, flooding, mobility, social awareness, and network coding-based protocols. We also discuss the role of caching in OppNets and summarize each chapter to consolidate the concepts discussed. Chapter 4 focuses on security and trust issues in opportunistic networks. The chapter delves into various attacks that opportunistic networks can experience and provides strategies to prevent these attacks. This includes methods to prevent selective forwarding, sabotage, manipulation of complex metadata, and data forgery. The second part of the book, titled Evaluation of Opportunistic Networks, provides a comprehensive exploration of the techniques for evaluating opportunistic networks. Chapter 5 provides an overview of the methods and metrics used in assessing OppNets, offering an understanding of how these networks can be optimized and improved based on these evaluations. Chapter 6 discusses theoretical models that offer a conceptual understanding of opportunistic networks. This includes general assumptions and their validity, Markov chain, and compartmental models. We also explore other methods that offer insights into the functioning of OppNets.
Preface
ix
Chapter 7 delves into the simulation models for opportunistic networks, providing a comprehensive understanding of application models and link abstraction. This chapter also explores mobility models and contact traces, thoroughly exploring these models’ terminology, properties, and applications. Chapter 8 discusses the simulation tools used to understand and develop opportunistic networks. This includes a brief introduction to discrete event-based simulation and exploring various simulation tools such as OMNeT++, The ONE, ns-3, and others. We also provide a comparative analysis of these simulation tools to help readers choose the best fit for their needs. The final chapter of this part delves into the concept of benchmarking OppNets. Here, we focus on the various benchmarks and metrics used for comparing different opportunistic protocols. This section provides the reader with the required understanding to assess the performance and effectiveness of OppNet protocols. In the third part of the book, titled Implementation of Opportunistic Networks, we look at the technologies that enable connectivity in OppNets. We discuss a range of technologies from Mobile Ad Hoc Networks (MANETs) to LoRa, Bluetooth Low Energy (BLE), Wi-Fi Direct, ZigBee, and even Satellite communication. We also explore the integration of OppNets with existing and upcoming cellular technologies like 4G, 5G, and 6G. Each technology is discussed in detail, discussing its advantages, limitations, and potential uses in enabling OppNets. This technological understanding sets the stage for exploring device characterization in Chap. 11, where we discuss factors like power availability, cache restrictions, and the processing and memory requirements in devices used in OppNets. Building upon this foundation, the book moves towards practical scenarios in Chap. 12, providing numerous case studies. These cases cover a variety of applications for OppNets, ranging from disaster management, communication in remote areas, challenged IoT scenarios, and satellite networks to Smart Cities. As we turn the final page of this fascinating journey exploring opportunistic networks, we can reflect on all the intricate aspects we have encountered. Starting from the basics and reaching out to real-world applications, our journey has encapsulated the vast landscape that is OppNets. In the pages of this book, we have dived deep into the structure and operation of OppNets. We have unraveled the complexities behind these innovative networks, providing you with the knowledge to understand what makes them tick. Having a grasp on the nuts and bolts of OppNets is crucial. It allows you to analyze critically how these networks perform, understand their strengths and weaknesses, and evaluate their adaptability in various situations. Moreover, we have ventured into the practical aspects of implementing OppNets. This is where the rubber meets the road. Understanding how to bring OppNets to life in the real world is key. To do this, we have covered the enabling technologies, those essential bits and pieces that make OppNets function. These technologies are the backbone of OppNets, and understanding them provides insight into how we can apply OppNets effectively. We have also delved into device characterization. In other words, we have explored how different devices can use OppNets. This helps us understand the capabilities of different devices, how they interact with OppNets,
x
Preface
and the role they play within these networks. By understanding the role of devices, we gain a deeper appreciation of how all the parts of OppNets come together. But the understanding of OppNets does not stop at the technical details. We have also journeyed into the myriad ways these networks can be used. We have looked at OppNets’ potential across a spectrum of applications, from disaster management to communication in remote places. Disaster management, for instance, poses many challenges where conventional networks might fail. However, OppNets can make a huge difference, providing critical communication capabilities when they are needed most. We have delved into how OppNets can contribute to managing disasters, giving you an idea of their potential in such high-stakes situations. Remote communication is another fascinating application. In areas where conventional networks can not reach, OppNets can bridge the gap. They can provide communication capabilities in areas where it would otherwise be impossible, from deep wilderness locations to high-sea marine environments. Moreover, the emergence of the Internet of Things (IoT) has revolutionized how devices communicate. But it also brings its own challenges. This is where OppNets can step in, offering solutions to keep IoT devices communicating effectively even in challenging conditions. We’ve also explored how OppNets can play a role in the future of smart cities. OppNets offer a way to manage and facilitate this complex web of communication as cities become more connected. This is a glimpse into the future, a future where OppNets play an integral role in our daily lives. In addition to all of these, we have touched on the exciting realm of satellite networks. Here, OppNets can offer significant benefits, helping to manage the complex task of maintaining communication across vast distances of space. So, as we close this book, you now have a wealth of knowledge about OppNets. You understand their structure, operation, implementation, and wide-ranging applications. With this knowledge, the reader is now equipped to understand and appreciate the potential of OppNets. Whether thinking about how they could be used in new situations, understanding their role in different technologies, or even exploring the possibility of working with these networks in your future career, you are now ready to take on the world of OppNets. This is just the beginning, and there is still so much to explore. Bremen, Germany Valencia, Spain Valencia, Spain Hamburg, Germany Bremen, Germany July 2023
Anna Förster Pietro Manzoni Enrique Hernández Orallo Koojana Kuladinithi Asanga Udugama
With Contribution By
• Mathias Fischer – Contributed the chapter: “Security in Opportunistic Networks” along with “Asanga Udugama, Sanaz Afzali and Enrique Hernández Orallo”. • Sanaz Afzali – Contributed the chapter: “Security in Opportunistic Networks” along with “Asanga Udugama, Mathias Fischer and Enrique Hernandez Orallo”. • Zeynep Vatandas – Contributed the chapter: “Theoretical Models for Opportunistic Network” along with “Enrique Hernández Orallo, Koojana Kuladinithi and Pietro Manzoni”. • Chamali Rajapaksha – Contributed the chapter: “Simulation Models for Opportunistic Networks” along with “Anna Förster, Thenuka Karunathilake, Koojana Kuladinithi, Asanga Udugama and Enrique Hernández Orallo”. • Thenuka Karunathilake – Contributed the chapter: “Simulation Models for Opportunistic Networks” along with “Anna Förster, Chamali Rajapaksha, Koojana Kuladinithi, Asanga Udugama and Enrique Hernández Orallo, and also the chapter: “Benchmarking Opportunistic Networks” along with “Anna Förster and Enrique Hernández Orallo”. • Jorge Herrera Tapia – Contributed the chapter: “Simulation Tools for Opportunistic Networks” along with “Anna Förster, Julio Sangüesa, Issaree Khattiwiriyapinyo and Asanga Udugama”. • Julio Sangüesa – Contributed the chapter: “Simulation Tools for Opportunistic Networks” along with “Anna Förster, Jorge Herrera Tapia, Issaree Khattiwiriyapinyo and Asanga Udugama”. • Issaree Khattiwiriyapinyo – Contributed the chapter: “Simulation Tools for Opportunistic Networks” along with “Anna Förster, Jorge Herrera Tapia, Julio Sangüesa and Asanga Udugama”. • Erika Rosas – Contributed the chapter: “Application Case Studies for Opportunistic Networks” along with “Anna Förster, Asanga Udugama, Pietro Manzoni, Jens Dede, Koojana Kuladinithi and Enrique Hernández Orallo”. • Jens Dede – Contributed the chapter: “Application Case Studies for Opportunistic Networks” along with “Anna Förster, Asanga Udugama, Erika Rosas, Pietro Manzoni, Koojana Kuladinithi and Enrique Hernández Orallo”.
xi
Contents
Part I Foundations of Opportunistic Networks 1
Mobility of Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Scale and Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Collecting Mobility Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 From Mobility Traces to Location Information . . . . . . . . . . . . . . . . . . . . . 1.4 From Mobility Traces to Contact Information . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Converting GPS Traces Into Contact Traces . . . . . . . . . . . . . . 1.4.2 Direct Gathering of Contact Traces . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Mobility Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Large-Scale Mobility Characteristics in OppNets . . . . . . . . . . . . . . . . . . 1.7 Impact of Mobility on Opportunistic Networks . . . . . . . . . . . . . . . . . . . . 1.8 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 4 6 7 9 9 10 12 14 16 18 19
2
Data Dissemination in Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Terms and Metrics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Optimal Dissemination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Flooding Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Epidemic Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Spray and Wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Optimal Stopping Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Mobility Based Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Geocasting Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Speed/Direction Based Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Encounter Based Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Social Awareness Based Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Data Content Based Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Network Coding Based Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Caching in Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21 22 24 25 25 25 26 27 27 28 28 32 33 34 35 36 37 xiii
xiv
3
Contents
Security in Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Types of Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Masquerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Eavesdropping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Sabotage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Data Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.5 Physical Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.6 Free-Riding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Attacks Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Evaluation Methodology and Setup . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Effects of the Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39 39 39 40 41 41 42 43 44 44 45 45 47 47
Part II Evaluation of Opportunistic Networks 4
Overview of Evaluation of Opportunistic Networks . . . . . . . . . . . . . . . . . . . . 4.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Methods for Evaluating Opportunistic Networks . . . . . . . . . . . . . . . . . . . 4.3 Metrics for Evaluating Opportunistic Networks . . . . . . . . . . . . . . . . . . . . 4.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51 51 53 56 58 59
5
Theoretical Models for Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . 5.1 General Assumptions and Their Validity. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Markov Chain Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Modeling Epidemic Diffusion in OppNet . . . . . . . . . . . . . . . . . 5.2.2 Limitations and Applications of Markov Chain Models . . 5.3 Compartmental Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Basic Epidemic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Epidemic Model for an Open Area . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Limitations and Applications of Compartmental Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Other Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61 62 64 65 68 68 69 70
Simulation Models for Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Simulation Model Stack for Opportunistic Networks . . . . . . . . . . . . . . 6.2 Application Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Link Abstraction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Communication Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 Bandwidth and Delay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3 Interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81 81 84 85 86 87 88
6
74 75 76 79
Contents
xv
6.4
Mobility Models and Contact Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Properties of Mobility Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3 Contact Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.4 Discussion of Mobility Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Simulation Speedup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90 92 92 95 96 96 98 99
7
Simulation Tools for Opportunistic Networks. . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Discrete Event-Based Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 OMNeT++ and the Opportunistic Network Simulator (OPS). . . . . . 7.3 The ONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Network Simulator 3 (ns-3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Comparison of Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Mobility Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101 101 103 105 107 108 110 111 111
8
Benchmarking Opportunistic Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Benchmarks for OppNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Metrics for Comparing Opportunistic Protocols . . . . . . . . . . . . . . . . . . . . 8.3 Comparing Opportunistic Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
113 113 115 117 119 120
Part III Implementation of Opportunistic Networks 9
Connectivity Technologies for Opportunistic Networks. . . . . . . . . . . . . . . . 9.1 Mobile Ad Hoc Networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Communication Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 LoRa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Radio Frequency Identification (RFID) . . . . . . . . . . . . . . . . . . . 9.2.3 Bluetooth Low Energy (BLE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.4 Wi-Fi Direct. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.5 ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.6 802.11p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.7 Satellite Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Toward 5G and 6G Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Related Software and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 Exposure Notifications System (ENS). . . . . . . . . . . . . . . . . . . . . 9.4.2 Apple Multipeer Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.3 IBR-DTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.4 ION DTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.5 Bridgefy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.6 Briar, Secure Messaging, Anywhere. . . . . . . . . . . . . . . . . . . . . . .
123 123 125 126 127 127 128 129 130 131 132 133 133 134 134 135 136 137
xvi
Contents
9.4.7 Serval Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.8 Titan HST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
137 138 138 139
10
Device Characterization for Opportunistic Networks . . . . . . . . . . . . . . . . . . 10.1 Power Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Cache Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Processing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
141 141 144 146 148 149
11
Application Case Studies for Opportunistic Networks . . . . . . . . . . . . . . . . . 11.1 Disaster Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 General Network Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Notifications and Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.3 Situational Awareness, Exploration and Mapping . . . . . . . . 11.1.4 Application Examples for Disaster Scenarios . . . . . . . . . . . . . 11.2 Communication in Remote Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Challenged Internet of Things . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.1 Underwater Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.2 Environmental and Agricultural Monitoring . . . . . . . . . . . . . . 11.3.3 Monitoring Animal Movements . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Sparse Vehicle Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.1 Nautical Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.2 Train-to-Train Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.3 Airplane-to-Airplane Communication . . . . . . . . . . . . . . . . . . . . . 11.4.4 Space Vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.5 Logistics and Parcel Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 Smart City . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.1 General Sensor Data Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.2 Vehicular Networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.3 Smart Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.4 Group Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.5 Node Counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.6 Messaging and Advertisement Services . . . . . . . . . . . . . . . . . . . 11.6 Digital Contact Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.7 Discussion and Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
151 151 151 153 154 155 155 156 157 157 158 159 159 160 160 161 161 162 162 163 165 167 167 167 168 171 173
12
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 12.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 12.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Acronyms
AODV BLE BP CAM CCDF CCN CDFs C-ITS CPM CTMC DDE DENM DES DoE DSR DTMC DTN ENS ICT IETF ITS GP GPS GT KPI LTP MANET ODE OLSR ONE OOTB
Ad Hoc On-Demand Distance Vector Bluetooth Low Energy Bundle Protocol Cooperative Awareness Messages Complementary Cumulative Distribution Function Content-Centric Networking Cumulative Distribution Functions Cooperative Intelligent Transportation Systems Collective Perception Messages Continue-Time Markov Chain Delay Differential Equations Decentralized Environmental Notification Messages Discrete Event Simulation Design of Experiments Dynamic Source Routing Discrete-Time Markov Chain Delay Tolerant Networks Exposure Notifications System Inter-Contact Time Internet Engineering Task Force Intelligent Transportation System General Probability Global Positioning System Graph Theory Key Performance Indicator Licklider Transmission Protocol Mobile Ad Hoc Networks Ordinary Differential Equation Optimized Link State Routing Opportunistic Network Environment Simulator OPS-on-the-Bench xvii
xviii
OppNets OPS POI RFC RFID RRS RWP SDE SDG SNR SIR SP SV S&W TTL UBM UDG V2I V2V
Acronyms
Opportunistic Networks Opportunistic Network Simulator Point of Interest Request for Comment (IETF related) Radio Frequency Identification Random Rumor Spreading Random Waypoint Stochastic Differential Equations Sustainable Development Goals Signal-to-Noise Ratio Signal-to-Interference Ratio Stochastic Process Summary Vector Spray and Wait Time to Live User Behavior Model Unit Disk Graph Vehicle-to-Infrastructure Communications Vehicle-to-Vehicle
Part I
Foundations of Opportunistic Networks
Chapter 1
Mobility of Opportunistic Networks
Opportunistic networks are mostly driven by their mobile, volatile nature. They form spontaneously and fall apart as quickly again. In this chapter, we will explore the mobility, scale, and density of opportunistic networks independently from any forwarding or data dissemination protocols. Mobility is probably the most important and most well-studied property of opportunistic networks. Three different directions of research can be observed: the study of human mobility in general and its properties; the development of mobility models which mimic human mobility and can be used in simulations; and the impact of mobility on the performance of opportunistic networks. We will explore the first and third properties here in this chapter and will leave the simulation mobility models to Chap. 6. As discussed in the preface, opportunistic networks refer to applications on Earth and do not include other delay-tolerant applications, such as satellite and space probe communications. Differently from applications on Earth, space communications are very well predictable—one knows exactly when and where the satellite or probe is and what communication quality to expect. In fact, it is exactly humanborne mobility that drives the development of opportunistic networks since it is not well predictable and very complex. Human-borne mobility includes walking patterns but also vehicular patterns from bikes, scooters, cars, trains, etc. In the following sections, we will first discuss two main properties of opportunistic networks closely related to their mobility: scale and density. Then, we will dive deeper into how to gather realistic mobility data and how to characterize it to better understand the behavior and nature of opportunistic data dissemination.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_1
3
4
1 Mobility of Opportunistic Networks
1.1 Scale and Density Scale is all about the number of involved nodes, while density discusses how many nodes are there per given area. These two properties, even if seemingly very similar to each other, are, in fact, independent and very important for opportunistic networks. The scale of opportunistic networks has been discussed in almost every paper published in the area. The goal (more of a wish) of all researchers is to enable very-large networks, meaning millions of devices. For example, such a network will easily emerge from a smart city scenario, where all cars, people, and their personal devices, sensors on traffic lights, street lights, etc., will connect to each other. However, such a scenario is also quite unrealistic to cover with a purely opportunistic network. In Chap. 11, we will discuss in depth which applications assume which scales. We have seen many different applications, with most of them rather small to middle scale (i.e., hundreds to thousands of nodes). Here, we would like to discuss how the scale of the network impacts its data dissemination properties. The first and most important statement we can make is that the more nodes we have, the more traffic we have. This is plausible if we assume that the nodes themselves produce the traffic. It is also straightforward to realize that it quickly becomes unrealistic to assume that all nodes can receive all information. This is also typically not necessary since information is more relevant in its direct surroundings (e.g., traffic information in the city) than in further away areas. At the same time, as we will discuss in detail in Chap. 2, many data dissemination protocols are floodingbased, irrespective of the fact which data is relevant or not. With Increasing Scale, the Delay Increases This is also straightforward since delay in opportunistic networks is not only based on the delay of the communication technology but mainly on the mobility delay of the nodes. Thus, it can take very long to get one piece of data from, let’s say, one village to the next if the data needs to wait for the local public bus to transport it. One interesting question is how large can an opportunistic network grow and still be useful. The answer is simple: it depends. If this is the only existing network in a post-disaster scenario, it will always be useful. If it supports a smart city scenario with real-time information, it will quickly become non-useful, as most of the data will arrive too late. This also depends on the density of the nodes. Still, in general, the delay is always higher for opportunistic networks than for infrastructure-based networks and will never be real-time in a multi-hop scenario. For each individual application, a maximum data delay needs to be identified. If the opportunistic network does not support it, infrastructural elements must be considered, such as drones, roadside units, etc. The density of the network is defined as the number of nodes per area. The impact of this property on data dissemination in opportunistic networks is quite straightforward: the more nodes we have, the easier it is to disseminate data.
1.1 Scale and Density
5
Fig. 1.1 The denser the network is, the better the performance, and the less mobility plays a role. Two experiments are presented: with 50 nodes and with 1000 nodes. With more nodes, the mobility model (CMM, ORBIT, or SWIM) is less important to achieve better performance metrics
Density has a slightly different impact on opportunistic networks compared to scale. On one side, density also increases the traffic. The impact is the same: at some point, on-time delivery becomes unrealistic because the traffic exceeds the capacity of the network. However, density decreases the delivery delay. This is due to the fact that data dissemination has many more options to forward the data, the number of contacts increases [133] and the mobility delay decreases. This can be observed in Fig. 1.1. Here, we have depicted the delivery ratio and the delivery delay for two densities (50 nodes vs. 1000 nodes in the same area), three mobility models (models to simulate mobility, explained in detail in Chap. 6), and for the well-known Epidemic data dissemination protocol (explained in Chap. 2). The two metrics are depicted over time, so we see how the network develops over time. Let us first analyze the delivery delay alone (the bottom graph in Fig. 1.1). We see two clusters of lines: the lines with lower delays correspond to the 1000 nodes scenarios. It is interesting to note that there is almost no difference between the different mobility models. The lines with higher delays correspond to a significantly lower density of 50 nodes. Here, the delay is larger by several orders of magnitude. Additionally, we can observe that the mobility model matters: different mobility models induce lower and higher delays, depending on how mobility is modeled
6
1 Mobility of Opportunistic Networks
(refer to Chap. 6). A similar observation can be made from the delivery ratio (the upper graph). The same cluster of lines (this time, the lines with lower delivery ratios) exhibits the same behavior: the mobility model matters. For the denser scenario (the upper cluster of lines for delivery ratios), this does not hold: the mobility model does not matter. This leads us to a very important observation: With increasing density, mobility plays a less significant role. However, one has to be careful about the average against density variability in the network. While a large network like a smart city might have a high average density, individual areas might differ in density significantly and might affect the rest of the network. For example, if there is a large park with only pedestrians allowed inside and closing during the night, this area might develop into a blind spot for the network. In the next sections, we will turn to the problem of how to gather realistic mobility data, how to characterize it and use the newly acquired knowledge to better understand the nature of opportunistic networks.
1.2 Collecting Mobility Traces In order to study human-borne mobility, we first need to obtain large-scale, highquality data. This is usually done by collecting traces from devices carried by humans or by vehicles. Two different types of traces can be differentiated: GPS traces and contact traces. GPS traces are simple logs of GPS coordinates by devices carried by people or vehicles, such as smartphones or sensor nodes. These GPS traces can be used to understand the mobility of individual people—how far they move, how often they repeat particular routes, how fast they move, etc. Such traces can also be used to simulate OppNets by calculating which devices would have contact with each other considering a particular communication technology— details about this process will be provided in Chap. 6. However, such contacts between people are also interesting from the research perspective—how often do people meet each other? How many people do you mean on average, and for how long? In order to study these properties, researchers have two options: either convert GPS traces into contacts (by assuming some concrete communication technology, as discussed above, for example, Bluetooth) or gather contract traces directly. This is done, for example, by using a particular communication technology like Bluetooth on a smartphone and regularly scanning for neighbors. This option has one big advantage: data privacy is better. While GPS traces show exactly how, where, and when a person moves, contact traces only scan for Bluetooth IDs and do not reveal movement information. Collecting traces of either alternative is expensive and tedious work. One has to implement an application or even a dedicated device, approach people to carry these devices, manage errors and problems while collecting the information, and finally, process and store the data. Additionally, high-quality traces require high-scale and long-term experiments. Many researchers who have done such data collection
1.3 From Mobility Traces to Location Information
7
Table 1.1 Some of the most popular mobility traces of opportunistic networks Trace and citation San Francisco [170] Rome [30] Fire Department of Asturias, Spain [34] Rio de Janeiro [58] ZebraNet [224] SUVNet [142] MIT [60] Haggle Infocom [191] Milano [150] Gowalla [104] Microsoft [122] UCSD [147] ETH [212] Lake Geneva [127]
Device carriers Taxis Taxis Vehicles and firemen Buses Zebras Taxis People People People People Cars People People People
Participant number 536 320 229 12,000 11 4000 97 44 12 978 40 275 3000 200
Experiment duration 30 days 30 days 1 year few days 10 days Few days 196 days few days 6 days 4 months 2 weeks 3 months 75 days 365 days
Fig. 1.2 GPS trace sample (San Francisco cabs)
campaigns luckily share their data in various databases. Some well-known large datasets are listed in Table 1.1. For example, the San Francisco trace is very popular—it is large (536 taxis), it is relevant for both opportunistic and vehicular networking applications, and it is long (30 days). The GPS trace is depicted in Fig. 1.2.
1.3 From Mobility Traces to Location Information Raw GPS traces are not very useful per se. Let us consider the example from Fig. 1.3. The example is taken from our publication on a GPS-based mobility model
8
1 Mobility of Opportunistic Networks
Fig. 1.3 An example of a raw mobility trace with extracted points-of-interest (POIs). Depending on the parameters of the extraction model, more or less POIs are identified
called TRAILS [69], which will be detailed further in Chap. 6. On the left, the raw data is presented, separated by color for different times (e.g., the red color represents one continuous route on a particular day. In fact, this simple separation by time is already a pre-processing of the data, as it reveals which GPS points belong to which route. One can clearly see that there are places where many points overlap or are close to each other or that the distances between the individual points are different, depending on how often the GPS measurements were taken and how fast the travel was. Much information is still hidden: did the user take a vehicle? Which one? Did the user stop somewhere? And what about that point: was it the actual target of the user (e.g., her office or the supermarket)? or was it only a necessary involuntarily stop such as a traffic light? This information can be partially revealed by extracting points of interest (POIs). Identifying POIs is not trivial at all. Let us start with a simple example and just define a POI as a place of diameter D, where the user has spent at least time T . However, what is an appropriate value of T ? If the user went to the post office to drop a letter, and that went really fast, is this a proper POI? Context-wise, it is because this was the ultimate reason for the user to move. However, if we fix the value of T to something as small as to serve the post office example, then many other POIs will pop up, such as stopping at the traffic lights (which is clearly not of interest) or even stopping to tie your shoe! This can also be seen in the example of Fig. 1.3 in the center and on the right—depending on the values of D and T , the number of POIs grow or shrink, always leaving lots of false positives or false negatives. The value of D is not any better: a shopping center is large, while a post office is small. If we set the value of D to be too small, many large POIs will be missed altogether and vice versa. Further challenges in identifying POIs in GPS traces is the fact that GPS locations are costly to obtain and noisy. In order to save energy, GPS fixes (another term for GPS measurements) are obtained not very often, for example, every minute or even every hour. Depending on the time one spends in a particular POI, it might be missed altogether. This is illustrated in Fig. 1.4. When many regular GPS fixes are taken, the route looks smooth, and POIs can easily be identified. The example on the left assumes GPS fixes are taken every 30 s (very often for a realistic case!) On the right,
1.4 From Mobility Traces to Contact Information
9
Fig. 1.4 An example of GPS traces with measurements taken every 30 s and every 5 min. Pay attention to the POI denoted by a circle—on the right, it almost disappears
we have reduced the GPS fixes to only every 5 min (ten times less, quite a realistic value for real traces). We can clearly observe how important properties of the data are lost forever—which route did I take? How long did I spend in a particular place? Pay special attention to the circled area—on the left, it is clearly a POI, while on the right, it is not as clear anymore. To make things worse, sometimes a GPS fix is not available when you try to obtain it, and a point is missing altogether. To make things worse than that, the precision of GPS fixes is not ideal, and a point can as well be on the next street or in the middle of a lake. There are several ways of addressing this problem, which go beyond the scope of this book. Good overviews of existing algorithms are provided in [126, 139], and [209].
1.4 From Mobility Traces to Contact Information As we already discussed shortly above, mobility traces can also be converted into contact information. This is, how long was an individual node connected to another node? Generally speaking, there are two ways of collecting this data—either directly or indirectly by converting GPS traces into contact traces. Let us explore these two ways.
1.4.1 Converting GPS Traces Into Contact Traces GPS traces are usually lists of coordinates of each individual node at discrete time intervals, e.g. every second or every minute. Thus, at each time interval, we can
10
1 Mobility of Opportunistic Networks
calculate the distance between any two nodes in the network. After that, a function can be applied to the distance to decide whether particular two nodes are in contact or not. The simplest such function is: C(d) =
1
.
0
if d ≤ X else
(1.1)
Thus, if the distance between two nodes is less or equal to a predefined nominal distance X, then the nodes are in contact; otherwise, they are not. This is, of course, an oversimplification. In reality, the nominal distance itself depends on the communication technology used, the properties of the environment, the interference, etc. Complex models, which take some or all of these into consideration, are typically called link models, and we will discuss them in greater detail in Chap. 6. For our purposes here, it is sufficient to understand that the contact is strongly correlated with the distance between two nodes and that it varies over time. Unless the mobility of two nodes can be predicted perfectly (which is only possible if we have full control over that—like in satellite networks), there is no way to anticipate the contact either. In other words, if you cannot predict mobility, you will not know whether two nodes will be in contact in the future. The contact will come and go, and this is the main reason to call them opportunistic.
1.4.2 Direct Gathering of Contact Traces Contact traces can also be gathered directly. This means that not the coordinates of the nodes are taken, but their current contacts. For example, we could note down all Bluetooth contacts of our devices regularly. This approach has many advantages: • The real coordinates are not taken, and thus higher data privacy is achieved. Many people feel uncomfortable giving away their coordinates, as this reveals their habits and locations (e.g., one could deduce that a person lives at a particular address and is out of home every Tuesday morning). Contact information does not reveal your location, and the devices to which contact is available are simply numbers and not people. This increases the acceptance of data gathering campaigns. • Since coordinates are not taken, a GPS interface is not needed, and this makes the experiment cheaper. This is especially true when no smartphones are used but dedicated devices, like in [191] or [71]. • A real communication technology in a real environment is used. Thus, we do not need a complex model to compute the contact, and all environmental properties are intrinsically taken into account. However, it also has one significant disadvantage: The data is not symmetric. Let us explore this problem in detail.
1.4 From Mobility Traces to Contact Information
11
Let us assume only two nodes, A and B. At any time interval, both nodes use some communication technology, for example, Bluetooth, to scan their surroundings and to note down which devices are in range. We already know that the success of this scan depends not only on the technology itself but also on interference, the environment itself, etc. Thus, it can happen that node A “sees” node B but not vice versa. This is normal, and for other applications, like pairing, the devices will simply repeat the process for some time until they both see each other and can exchange data. However, for us, it is a single trial, which simply repeats regularly. This is a problem later when we want to use this contact (for example, in simulation) to exchange data—can we assume the contact exists or not? There are two main strategies to resolve this issue: (1) If one node “sees” the other, then we have contact; and (2) only if both nodes “see” each other we have a contact. Usually, the first one is preferred, as it is less restrictive and assumes that communication between both nodes is somehow possible. An example of this problem is illustrated in Fig. 1.5. The two nodes have different perspectives on whether the contact is there or not. These perspectives need to be combined in some way to decide finally whether this pair of nodes are in contact or not. Of course, we could also use the raw asymmetric data in simulation studies. This would mean that we assume one node can send something to the other, but not always vice versa. For example, when node A “sees” node B, this actually means that node B was able to send something to node A. On one side, this would make the simulation even more realistic. However, it also introduces a lot of complexity to the simulation study, which makes it less transparent and understandable. For most simulation purposes, this is simply too much, and the simpler method is sufficient.
Node A No contact
Node B
Contact
Time Two-way contact One-way contact
No contact Contact
Time
Fig. 1.5 Example of asymmetric contact traces. Top: The Y axis shows whether the node “sees” the other node or not. Thus, the contact is different from the perspective of Node A and B. Bottom: Two different interpretations of the contact are implemented: a more restrictive one (orange line, two-way communication is required) and a less restrictive one (red line, one-way communication is sufficient)
12
1 Mobility of Opportunistic Networks
1.5 Mobility Metrics Once mobility traces are available, one can start exploring their properties. Various metrics can be considered, typically organized into spatial, social, and temporal ones [38, 56]. The purpose of computing such metrics is twofold. First, they can be used to understand and classify the mobility and contact patterns of users or vehicles in order to develop better data dissemination strategies, design better infrastructures or provision the right amount of resources. However, the same metrics can also be used directly in the data dissemination process. For example, suppose a vehicle would like to distribute a piece of information quickly. In that case, it can use some mobility metrics of the other vehicles to decide which vehicles to hand over this information. Spatial and temporal metrics are usually applied to mobility traces (GPS coordinates), while social metrics are usually applied to contact traces. Spatial metrics describe the movement of a particular user or group of users and include: • Spatial variability is defined as the variability of locations a user visits. Given a user u and her set of visited locations L, we can compute first the probability .P (L) of each location for this user (in other words: how probable is for this user to visit a particular location again). Then, we can compute Shannon’s entropy [196] for this set of locations. Explaining Shannon’s theory will go well beyond the scope of this book. We recommend reading this intuitive introduction by S. Vajapeyam [219]. The spatial variability of a population can be easily computed as the mean of individual variabilities. The larger the variability is (individual or of a group), the more different and unpredictable locations are visited. For example, taxis that obey the requests of their passengers will have a very high variability, while a human being will have a low variability because she visits mostly the same few places (home, office, school, supermarket). However, recall the definition of location from Sect. 1.3: spatial variability does not mean that a person gets very far; it only means that she visits many different locations, which could be anywhere. • Radius of gyration is exactly what we were missing as information in the spatial variability. It describes how far a person moves around. It can be defined in two ways: either starting from a particular location (e.g., home) or without a center location. The first one is very practical and easy to understand for people of vehicles: the center is simply their most often visited location. Most researchers define the radius of gyration as the maximum distance from their home to any other visited location. However, it also makes sense to define it as the mean or median distance from their home to any other location to account also for the probability of visiting remote locations. Calculating the radius of gyration without a predefined center is also possible but somewhat impractical, more complicated, and less intuitive. One would need to simply calculate the maximum distance between any two locations in the trace of a node and then divide it by two. This would make sense for nodes which do
1.5 Mobility Metrics
13
not have the notion of a home—for example, shared cars or scooters, which are never returned to a particular starting point. • Travel distance is the distance between two consecutive locations in the trace of a user. It is different from the radius of gyration as it reveals more about the pattern of movement of a particular node. A person could have a very large maximum radius of gyration and very short mean travel distance at the same time because she only rarely goes to a very remote place and mostly stays around her home. Temporal metrics explore time patterns in mobility traces. The most important ones are: • Visit time is simply the time spent by a user in each location. It is useful to predict how long a particular user will spend there next time, but also to predict how long any user will spend in a particular location. • Travel time is the temporal property of the travel distance and is defined as the time between two locations. This can be used to deduce the mean of transportation, the transport infrastructure condition, etc. Social metrics explore the contact information of users and attempt to deduce their social interactions. One has to be really careful in interpreting these metrics since the data only says that someone has been close to someone else for some time. This does not mean at all that they know each other or that they intentionally meet. It could be that I “meet” the security guide in a parking lot every day without any further intention but parking my car. At the same time, for the purpose of data dissemination (which is the ultimate goal of exploring opportunistic networks in this book), this information is sufficient. The most important ones include: • Contact entropy is the variability equivalent for contacts and is defined as the variability of different contacts of a particular user. It is defined and computed similarly to the spatial variability above. The larger the contact entropy, the more contacts a user has. The most probable contacts are often interpreted as friends (recall the warning about interpreting results!). • Inter-contact time (ICT) is normally defined as the time interval between two consecutive contacts of the same pair of nodes. From inter-contact times we can derive the contact rate, which is the average number of contacts per time unit between pair of nodes. We can also consider the contacts between the same node and the others. For data dissemination, this value is interesting in case I am looking for this node in particular; I could wait until I meet it directly, or I could forward the data to someone else if I know that I will meet it only in a few days. • Contact duration is very similar to visit time but defined as the duration of a contact. This is very useful for predicting how much time we have to exchange data. • Encounter regularity is defined over a particular time window, usually a day. It is calculated as the time two nodes stay in contact during the time window.
14
1 Mobility of Opportunistic Networks
There exist many more metrics, which are typically variations or combinations of the above. Now that we know how to evaluate and describe mobility and contact traces let us explore their characteristics for different types of nodes.
1.6 Large-Scale Mobility Characteristics in OppNets At the beginning of research in opportunistic networks, it quickly became evident that the mobility of opportunistic devices is not purely random. This was supported by plausibility (people do not move randomly, but rather periodically and predictably), by data gathering campaigns like the ones discussed above, and last but not least by the results of data dissemination schemes, which were worse than expected. Early research on mobility characteristics focused on inter-contact times, i.e., the time between two consecutive contacts of the same pair of devices (see also the definition in Sect. 1.5). This was due to the assumption that inter-contact times drive the performance of opportunistic networks. Several works agree on the following findings: The Inter-Contact Time Distribution Follows a Power-Law Let us consider the graph from [114] and copied in Fig. 1.6. It depicts the CCDF (complementary cumulative distribution function) of inter-contact times of various mobility traces. It can be clearly seen that in the beginning (until the vertical line, which we will explain next), all traces follow a straight line with not-so-different slopes and, thus, a power law.
Fig. 1.6 Figure 1 from [114] (copied). It shows the CCDF (complementary cumulative distribution function) of inter-contact times of various mobility traces
1.6 Large-Scale Mobility Characteristics in OppNets
15
After the Characteristic Time, the Traces Experience an Exponential Decay The characteristic time is a little bit of a magical constant—for each trace, it is different, and different research works settle on different values. The already discussed work of Karagiannis et al. [114] settles on 12 h, while the earlier work of Chaintreau et al. [39] observes 1 day. Of course, this depends on the trace and its size and quality. These results were also confirmed with other traces, such as Facebook Stumbl and Gowalla, two proximity-based services for social media [104]. Autocorrelation Does Not Exist Some works, like [114], have explored whether the same pair of devices experience some autocorrelation in their inter-contact times. The result was slightly surprising: the authors find very small negative and positive autocorrelation for individual pairs and conclude that the inter-contact times are i.i.d. (correlation coefficients are null). This can be explained by the nature of the used traces, where the device carriers do not really know each other (they are participants of a conference or similar) and thus meet each other rather randomly. Thus, they have concluded that it is safe to assume no correlation at all. However, this is only true for pair of devices which do not intentionally meet each other, like friends or family members, and is a very risky assumption. One of the reasons to do this type of research is to design mobility simulation models, which follow the same distributions but are much more scalable and fast to run. The above-described findings led to the sub-optimal and slightly misleading assumption that very trivial models like random walk exhibit the same distributions (at least until the characteristic time) and can be safely used to design and evaluate data dissemination schemes for opportunistic networks. This was shown first in [114] and many more. However, the world is rarely trivial and simple. We have already discussed the risky assumption of having non-correlated inter-contact times, which does not hold in many cases. Additionally, the research presented here does not explore the spatial and time properties of the mobility, such as day-night rhythms or where the devices move (e.g., on streets as opposed to randomly). There are also significant differences in mobility patterns depending on whether the people move in vehicles, on foot outdoors, or indoors. Newer research in this area has committed to answering these questions. For example, the work of Silva et al. [198] proposed to fill the gaps of mobility gaps and calibrate them. Gaps are defined as the missing locations between two measurements, which in some cases can be many hundreds of meters. A consecutive work by Cunha et al. [49] then used this method to calibrate various traces and to explore their inter-contact distributions again. The conclusion was plausible but very important: the nodes would encounter each other again much sooner than the original traces assume. This increases the total capacity of the network and the contact durations. Again, these works show how important the quality of the traces is to make correct conclusions. The authors of [56] presented a tool called MOCHA, which evaluates traces not metric-by-metric but with many metrics at the same time. They used most of the metrics we discussed above, organized by spatial, temporal, and social
16
1 Mobility of Opportunistic Networks
domains. Each individual metric for each trace is compared to various well-known distributions, and then the distances between individual traces are computed. They observed that some traces are similar to each other in one domain and completely different in another domain. The authors also compared real-world traces to various setups of theoretical mobility models and observed that also those are similar in one domain and different in other domains. These observations not only confirm our discussion from above that traces cannot be easily modeled with simple mobility models but also shows a way to evaluate the realism of more complex models. Another interesting study was presented in [87], where the mobility of people was studied in usual daily situations and special events. As expected, the mobility of people and all their metrics change significantly in case of events, such as celebrations, sporting events, etc. This is especially important for dedicated protocols and services for such events, which are often based on opportunistic networks to relieve the mobile network.
1.7 Impact of Mobility on Opportunistic Networks The impact of mobility on data dissemination in OppNets has been shown many times. For example, [205] presents a study on mobility models and their impact on data dissemination in the scenario of natural disasters. The work explores a trivial random mobility model, a map-based random model, and a trace-based one. The study shows a very interesting observation: with random mobility models, the number of encounters is stable over time. With the trace-based model, it fluctuates. This is very plausible, as you would meet more people during the day than at night. The authors also observe that the buffer occupancy of devices and the delivery rates fluctuate by up to a factor of five. Another study [190] shows how realistic geographic restrictions such as border crossing, moving on roads, etc., change the number of contacts, re-contacts, and the duration of contacts. Very interestingly, the authors explore how data mobility metrics, such as the number of contacts and inter-contact times, change in different cities and their unique geographical properties. The observed differences are not very large but significant. Li et al. [133] show how different speeds of the nodes influence a particular OppNet application, like distributed node counting. The faster the nodes, the more contacts they have, but the shorter the contacts are. Bista et al. [24] present an especially important study, which shows that different mobility models not only influence the performance of data forwarding protocols but, in fact, invert the results—i.e., a protocol performing best with a particular mobility model performs worse with another mobility model from all studied protocols. In our work on benchmarking and comparing protocols for OppNets [72], we have made the same observation. Our results are also summarised in Table 1.2.
1.7 Impact of Mobility on Opportunistic Networks
17
Table 1.2 Protocol ranking with delivery delay Scenario Taxi scenario
Traffic High Low
Typhoon scenario
Trace driven
Conference scenario
High Low
University scenario
High Low
Roller skate scenario
High Low
Office scenario
High Low
Rank 1 Keetchi 2277 s Keetchi 3322 RRS 10,982 s Keetchi 5099 s Keetchi 8,113 s Keetchi 75,060 s Epidemic 131,536 s Keetchi 817 s Keetchi 743 s Keetchi 37,342 s Keetchi 46,788 s
2 RRS 216,848 s Epidemic 133,819 s Epidemic 24,615 s Epidemic 53,160 s Epidemic 38,940 s Epidemic 146,181 s Keetchi 139,899 s RRS 3375 s Epidemic 2481 s Epidemic 153,114 s Epidemic 144,223 s
3 Epidemic 217,473 s RRS 192,074 s Keetchi 43,419 s RRS 68,258 s RRS 61,244 s RRS 187,109 s RRS 154,335 s Epidemic 3806 s RRS 3082 s RRS 194,828 s RRS 181,297 s
Here, we have listed our benchmark scenarios, which are discussed in detail in Chap. 8, and the rank of the different protocols in terms of their achieved delay. The rank is simply the order of performance of the different protocols, e.g., Keetchi performed best (1. rank) for the Taxi scenario, while RRS performed second best (2. rank). The protocols listed are described in greater detail in Chap. 2. It can be observed that most of the protocols achieve different ranks in different scenarios. It is often assumed that mobility is challenging and static nodes are more manageable and perform better. While it is true that static nodes are more predictable (well, they stay where they are, of course, they are predictable!), we would need many more static nodes to achieve the performance of a mobile network. Mobility, in fact, drives and enables those networks and mobile nodes to connect areas otherwise unconnected. We have shown this in greater detail in [99]. In another previous work of ours in [40], we explored the impact of people renewal (new nodes entering the simulation and other nodes leaving) on data dissemination. The implication of more people renewal is clear: the contacts cannot be predicted well, and the inter-contact times increase. This is particularly critical for forwarding protocols which build some sort of a history of encounters.
18
1 Mobility of Opportunistic Networks
All these works clearly show that mobility is the most important factor driving data dissemination in OppNets and that this relationship is not trivial. It is also very important to realistically model mobility properties: temporal, spatial, and social.
1.8 Chapter Summary Opportunistic networks thrive on their dynamic and mobile nature, forming spontaneously and dissolving rapidly. This chapter focuses on exploring the mobility, scale, and density of opportunistic networks independent of any forwarding or data dissemination protocols. Mobility plays a crucial role in these networks, and research in this area involves studying human mobility and its properties, developing mobility models that mimic human behavior for simulations, and analyzing the impact of mobility on network performance. Human-borne mobility, which includes walking patterns and various vehicular patterns, drives the development of opportunistic networks. To study human mobility, researchers collect large-scale, high-quality data through two types of traces: GPS traces and contact traces. GPS traces provide information on individual movement patterns, while contact traces capture the encounters between devices. Contact traces can be obtained directly (for example, when a Bluetooth contact occurs) or by converting GPS traces into contact traces using a defined function. In order to evaluate these mobility traces, we must evaluate their properties considering several metrics, which can be categorized into spatial, temporal, and social metrics. When considering large-scale mobility characteristics in opportunistic networks, it is noted that the mobility of opportunistic devices is not purely random. Particularly, the inter-contact time distribution follows a power law, and after a characteristic time, the traces experience an exponential decay. What is more, autocorrelation does not exist for the inter-contact times. Finally, the scale and density of opportunistic networks are important factors influencing data dissemination. Larger scale networks have higher traffic and delays, while higher density networks enable easier data dissemination due to more forwarding options and decreased delivery delay. The mobility model matters more in lower-density networks compared to higher-density networks, where mobility plays a less significant role. Summing up, understanding mobility and contact information is essential for studying and simulating opportunistic networks, which rely on the unpredictable and opportunistic nature of human-borne mobility.
1.8 Chapter Summary
19
Problems 1.1 Table 1.1 collects some of the most popular mobility traces used in opportunistic networks. Find about five new traces from repositories such as the CRAWDAD database ( https://crawdad.org) and complete the table with them. 1.2 In the context of mobility traces, why is it essential to convert raw GPS data into location information, and how are points of interest (POIs) identified? What challenges arise during this process, and how are they addressed? 1.3 How are GPS traces and contact traces different, and what are the advantages of using contact traces in mobility studies? 1.4 Explain the concept of spatial variability and how it is calculated using Shannon’s entropy. How does spatial variability differ from the radius of gyration and travel distance metrics? Provide examples of scenarios where each of these metrics could be useful. 1.5 Describe the temporal metrics used to explore time patterns in mobility traces. What is the significance of visit time and travel time in understanding the behavior of mobile nodes? How can these metrics help in predicting user behavior in a particular location or during travel? 1.6 How do realistic geographic restrictions and different speeds of nodes impact data dissemination in opportunistic networks? Discuss how the scale and density of a network influence the traffic, delay, and performance of data dissemination protocols.
Chapter 2
Data Dissemination in Opportunistic Networks
Data dissemination protocols have been the main research topic for opportunistic networks. The main problem is how to deliver data in a constantly changing network topology, which is often disconnected, and no end-to-end routes exist. In this chapter, we will introduce the main concepts for forwarding data in opportunistic networks. They typically use different types of (distributed) knowledge available to the individual nodes, such as their recent mobility, encounters, or their topical interest. We will start with an introduction to the terminology and metrics used before we step through the families of protocols. At the end of the chapter, we will summarise again their main advantages and disadvantages. The survey in [181] offers a very comprehensive overview of existing data dissemination protocols and classifies them according to the way they operate. In this chapter, we will follow their classification and introduce several protocols from each family to explain how they work and which general advantages and disadvantages they exhibit. Explaining all existing protocols is unrealistic, as too many have been proposed, often combining the properties of existing ones. Thus, we focus on the most relevant ones. Before starting to discuss the protocols, we will first define some essential terms and metrics. The simplest protocol one can imagine is called Single-copy [203] and simply holds the packet until the sender directly contacts the receiver. In other words, you can create a message for someone and send it out later when you meet her. Another possibility is to create a single copy of the message and forward it without creating duplicates. This resembles a little bit of a torch relay. It does not need a lot of resources, but it might take very long to reach the destinations. These two examples are not used or considered very much nowadays but are presented here as minimalistic examples.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_2
21
22
2 Data Dissemination in Opportunistic Networks
2.1 Terms and Metrics First of all, data dissemination protocols are also often called forwarding protocols or data propagation protocols. These terms are used interchangeably throughout the book. All data dissemination protocols for opportunistic networks share some important terminology. First of all, there are some common communication patterns: • Unicast communication refers to a one-to-one communication pattern, where the ID of the receiver is known at the creation of the packet and written into the packet. For example, one sends a message to a particular friend. • Broadcast refers to a communication pattern where a packet is destined to all nodes (known or unknown). For example, a vehicle might send a broadcast message with a warning to all surrounding vehicles. • Multicast is strictly speaking a multiple unicast. However, the data item might travel a shared route for some time before being split into multiple unicast packets. For example, one might send a message to multiple friends. • Rolecast is unique to opportunistic networks. It is very similar to multicast, but the IDs of the destinations are not known, only their current roles. For example, a rolecast packet might be destined for all firefighters. The people who carry the devices and the devices themselves can change their roles flexibly. Data dissemination or data forwarding usually refers to the general approach of disseminating data through an opportunistic network. Data routing is often used too but usually refers to unicast data dissemination only. The general process of forwarding data in opportunistic networks is referred to as the store-carry-forward approach. This is quite straightforward to understand: the data gets stored at an (intermediate) node until a better node is met and the packet can be forwarded. Acknowledgments of reception are not realistic and are typically omitted completely. There is also no notion of a route, as it is used in IPbased networks or in mobile ad hoc networks. Data hops from one node to another in a fully distributed and localized manner until it reaches its destination(s) or gets dropped because of packet loss or expiration. Any data dissemination protocol in opportunistic networks generally works in the same way, depicted in Fig. 2.1. The node regularly scans for neighbors in direct contact and evaluates them one by one depending on some metric or a set of requirements. This could be simply based on IDs and last time encountered checks or very complex, such as an estimation of some centrality metric. Suppose the neighbor is considered a good option for forwarding. In that case, some or all of the data of the node will be forwarded to it (usually, it is duplicated, and the node itself also keeps a copy of the data item). When presenting the individual data dissemination protocols in the next sections, we will often refer to four important performance metrics:
2.1 Terms and Metrics
23
1 Initialize meta data / network kwowledge 2 Scan for neighbors 3 Select neighbors to evaluate 4 Exchange meta data with neighbors (data summaries, mobility, contacts, preferences, etc.) 5 Select neighbors to exchange data 6 Send / receive data
Data cache 7
Update own meta data and network knowledge
Fig. 2.1 The general data dissemination process for opportunistic store-carry-forward protocols. Step 4 is optional
• Delivery delay refers to the delay of the delivered packets. It is measured in time intervals, e.g., hours. • Delivery rate or ratio refers to how many packets, on average, got delivered at their final destinations. It is measured in percentage. • Network overhead refers to the number of additional messages (or bytes) needed to deliver a data packet. It is usually measured as the ratio between the total number of additional packets (or bytes) generated and the number of data packets (or bytes). • Hop count refers to the number of hops a data packet had to hop through to reach a destination. A more comprehensive list of all relevant metrics can be found in Sect. 4.3. These three should be sufficient for our discussion of data dissemination protocols here. An important assumption that all protocols make is that the neighbor list is always readily available and up-to-date. This list is usually assumed to be a simple list with identifiers of the neighbors (usually, they need to be unique) and some of their properties. Depending on the protocol, these properties might include geographic location, some social or technical properties, or even a list of frequently encountered other nodes (friends).
24
2 Data Dissemination in Opportunistic Networks
2.2 Optimal Dissemination We will start our discussion with a protocol, which is, in fact, not a protocol at all but the optimal possible solution. It is a very important part of our discussion since it is the main benchmark for all real-world protocols and can provide information on how far the real-world protocol is from this optimal. Optimal dissemination is also often called ORACLE or UTOPIA. It makes the following assumptions: 1. The network consists of mobile nodes; the mobility is provided (by real traces or a synthetic mobility model) and fine-grained. 2. The nodes can communicate through wireless links, which are only limited by a fixed communication range. 3. Bit rate, communication delay, and other properties of the wireless channel are ignored. Communication speed is unlimited. 4. Buffer size is unlimited. This setup might seem quite standard and comparable to what many data dissemination protocols assume too. However, the difference comes from how the performance metrics are calculated. First, a flooding-like approach is used to disseminate the data. Given that there are no restrictions on cache or speed of communication, all data gets reliably exchanged every time two nodes meet. For each packet, all intermediate hops get stored in the packet itself. Once the packet gets delivered at the destination (unicast or broadcast), the packet gets examined: if it is the first delivery of this data item to the destination, its metrics (network overhead, delay, etc.) get stored and reported as the metrics of this packet. All subsequently received duplicates get ignored. In this way, for each packet, we get its theoretically possible minimum delay and its perfect route. In reality, these metrics are not achievable. In terms of delay, at least a slight increase is expected due to packet loss and communication delay. In terms of delivery rate, also some slight increase must be observed, because of the same reasons and limited cache. However, the real challenge is the network overhead— in reality, it is close to impossible to find the ideal sequence on forwarders in a fully distributed way with no knowledge of the mobility of nodes. There is only one scenario where these restrictions do not hold, namely in strictly defined Delay Tolerant Networks (DTN) [156] as used for satellite and space probe communications. There, the movement of the nodes is predefined and known. Optimal dissemination does not necessarily means being perfect. The mobility of the network is still the driving force of the data dissemination process, and even the theoretically optimal performance could be quite low. You can explore some results with Optimal in Chap. 8. Now, having introduced how optimal dissemination would work, we introduce the real protocols.
2.3 Flooding Protocols
25
2.3 Flooding Protocols Flooding protocols are simple but fast and efficient. Generally speaking, they spread the data packets to all or at least many encountered nodes in order to reach single or multiple destinations.
2.3.1 Epidemic Routing Epidemic Routing is an early and well-known protocol for disseminating data in an opportunistic network. It is inspired by how natural viruses spread. When two nodes come close enough to each other to exchange information, they first exchange SUMMARY VECTORS , where the data available to each of them is summarized. Then, each node can request the other one to send the missing information. This process is typically initiated by one of the nodes, e.g., the one with a smaller ID, or by following any other rule. In this way, the two nodes will part with having the same data in their caches. By doing so for any nodes who meet, all of the information spreads quickly and completely through the network. Epidemic has some parameters, including a time-to-live period for the data packets and a cache size to use. More importantly, one can set up the maximum number of hops a data packet can travel to limit the network overhead. Another important parameter is the re-synchronization period, which is the time after which Epidemic considers a neighbor to be unknown. Thus, if a neighbor stays around for a longer time and the current node has already synchronized with it, it will be ignored until the re-synchronization period expires. Epidemic is simple and powerful, and, compared to Optimal, it achieves very good results in terms of delivery rate and delay but has a very high network overhead. Epidemic is also the most widely used protocol for real implementations, as we will see also in Chap. 9. However, its performance in the real world is much worse than in simulation (not really surprising).
2.3.2 Spray and Wait Another version of Epidemic with the aim of reducing the overhead is Spray and Wait [204]. The process is very similar, but the number of copies per data item is limited to a fixed value (parameter). Each packet starts with a maximum number of copies. Every time a packet is duplicated, the number of copies is split into two. Once the number of copies reaches one, the protocol starts working as Direct Delivery and waits until the receiver gets into direct contact. Coming back to our general data dissemination process from Fig. 2.1, Epidemic and Spray and Wait simply scan the neighbors whether they are new contacts or not,
26
2 Data Dissemination in Opportunistic Networks
Fig. 2.2 Performance metrics for Spray and Wait with different numbers of copies against Epidemic
exchange their data summaries (called here summary vectors) and then exchange the missing data. Figure 2.2 shows a comparison between Spray and Wait with a different number of copies against Epidemic. The experiment has been conducted with the OMNeT++/OPS framework (described in Chap. 7) with two network sizes (200 and 500 nodes) and the SWIM mobility model (described in Chap. 6). One can clearly see that the number of copies in Spray and Wait dictates, in general, the network overhead (which is shown here as the whole number of packet copies). The delivery rate grows very slowly when increasing the number of copies and is not significantly different for Epidemic, which has a very high network overhead (the yellow bar). However, the delivery delay change is significant. With more copies in the network, the data gets delivered much faster. One can conclude that while Epidemic is a very simple and well-performing protocol (in terms of delivery rate and delay), its network overhead is too high for realistic scenarios. Very often, Epidemic is used as a benchmark for developing and evaluating other protocols. In general, all other data dissemination protocols attempt to leverage some information in the network about the nodes, the mobility of the nodes, or the data itself to reduce the network overhead of Epidemic, by keeping as close as possible to the delivery delay and rate performance of the Epidemic protocol.
2.3.3 Optimal Stopping Theory Another approach to flooding is Optimal Stopping Theory (OST) [29]. This approach is based on the classical secretary problem, which assumes a queue of candidates for a secretary position and how to interview and select a good candidate without interviewing them all and without the possibility of recalling them. The idea is relatively simple: you disregard the first n candidates and take the first after that, whose quality is better than the average of the first n candidates. The same
2.4 Mobility Based Protocols
27
idea can be used in a fully distributed scenario like an opportunistic network, where neighbors arrive and leave, and you need to take a quick decision about whether to forward or not. The routing algorithm in [29] proposes to use three different roles for each data packet: a storer (which stores and propagates the message), a forwarder (who can only forward the packet, thus not keeping a copy), and a direct deliverer (who can only deliver the message to its final destination). Each data packet starts with a limited number of storers (similar to Spray and Wait) and distributes this role to some nodes by using Optimal Stopping Theory. Any locally computable metric can be used for comparing neighbors, such as centrality or similarity. The protocol is not always able to beat Epidemic in terms of delivery ratio, but it has a significantly lower network overhead.
2.4 Mobility Based Protocols The following protocols try to use some information about the mobility of the nodes to improve the performance of the protocols.
2.4.1 Geocasting Protocols Some application scenarios assume that messages are targeted for special regions where all nodes in that region should receive the message. This is also called geocasting. Such applications include the dissemination of advertisements in shopping areas, smart city information services, vehicular networks, and emergency scenarios. The area of interest (the casting area) is usually defined in an arbitrary way with a set of coordinates, which build a polygon. The GSAF [176] protocol is an example of a geocasting protocol. The idea is first to reach the casting area as fast as possible and then to disseminate inside the area in a flooding manner. GSAF does this by first using Spray and Wait with a small number of copies and, once the casting area is reached, by using Epidemic to disseminate to all nodes inside. If the number of copies in the Spray and Wait phase reaches 0, the copies do not get deleted but are carried around in the hope that the mobility of the node will bring them to the casting areas at some point. Vice versa, if a node inside the casting area encounters a node outside, it will not forward the data. An illustration of this is shown in Fig. 2.3 with c being the currently available number of copies. The green node is the initiator of the data packet, and the casting area is shown in red. The nodes outside the casting area with 1 copy of the message will continue roaming until either the TTL of the message expires or they reach the casting area or a node in the casting area. Geocasting in opportunistic networks is slightly different from geocasting in other mobile networks, such as mobile ad hoc networks (MANETs). In MANETs, it is typically assumed that nodes in the geographic direction of the casting area are
28
2 Data Dissemination in Opportunistic Networks
C=1 Casting area
C=3
C=1
C=1
C=1 C=1
C=2
C=1
C=1
C=1
C=1
C=1
Fig. 2.3 An illustration of the GSAF geocasting protocol, combining a Spray and Wait phase to reach the geocasting region and then Epidemic to spread it in the area itself
good forwarders. In opportunistic networks, we assume quite the opposite: that any node can lead us to the casting area, and thus we should spray the message in many different directions.
2.4.2 Speed/Direction Based Protocols Some protocols take explicit knowledge of the movement of the nodes to optimize data dissemination. For example, the ORWAR [184] protocol first exchanges movement information between nodes, such as speed and direction. It uses this information to predict the contact duration and to forward only messages which can be safely transferred to the neighbor without interruption. The protocol also allows for explicit prioritization of messages by the senders (e.g., all messages from the police have higher priority) to further optimize the process.
2.4.3 Encounter Based Protocols So far, the protocols described above did not make any assumptions about the network or node properties. No information was used about how the nodes move, who they meet regularly, or which data is more or less relevant for individual nodes. In order to improve the performance of the data dissemination process, one must make some additional assumptions. One obvious option is to assume that the network is relatively stable over time. For example, in a smart campus scenario, where all students are connected over an opportunistic network, the network will fluctuate significantly over short intervals of time but not over very long intervals. In this case, we can assume that the mobility
2.4 Mobility Based Protocols
29
of individual nodes will repeat and that we can observe it. There are two ways of predicting the mobility of nodes, similar to the discussion we had in Chap. 1: direct mobility in terms of geographic location or encounters between nodes. The second option is more general and serves opportunistic networking scenarios better. For example, two friends might meet at different places, but they finally will meet. Thus, the encounter between them is predictable, but the place itself is not. We will now explore some protocols which make use of encounters and their predictability. The PRoPHET [83, 135] protocol does exactly this. The forwarding decision is based on a value called delivery predictability or DP . Each node maintains a list of other known nodes and their current DP values. In the beginning, all DP values are initialized with some constant value, e.g., .0.5. Each time a node encounters another node, they exchange their DP tables. Both nodes need to update all their values according to the following Eq. (2.1): DP(A,B) = DP(A,B)old + (1 − DP(A,B) ) × DPenc
.
(2.1)
where .DPenc can either be a configurable value (as proposed originally) or it can be calculated based on how often the encounters are, following Eq. (2.2): DPenc =
.
DPmax × (IB /Itypical )
if 0 ≤ IB ≤ Itypical
DPmax
otherwise
(2.2)
where .Itypical is a typical (average) value for two nodes to meet, and .IB is the time since the last encounter with node B. The limitation to .DPmax is needed to avoid .DP(A,B) growing more than 1. Furthermore, PRoPHET implements a transitivity property in order to propagate knowledge about nodes that are not directly encountered. For this, also DP values of not directly encountered nodes are updated, with the following formula (2.3): DP(A,i) = max(DP(A,i)old , DPB,i × DPA,B × β)
.
(2.3)
where i is the non-directly encountered node, which has an entry and a DP value from node B. The parameter .β is also called the transitivity value and controls how much transitivity is enabled. With a value of 0, transitivity is switched off. Additionally, PRoPHET addresses also the problem of aging. If two nodes do not meet for a longer period of time, their DP values must be reduced again. For a node A and all its DP entries i, this happens with Eq. (2.4): DP(A,i) = DP(A,i)old × γ T
.
(2.4)
where .γ is the aging constant (proposed value in [135] is 0.998), and T is the number of time units since the last time the DP value was updated. The forwarding process itself is straightforward. After the DP tables have been updated for two nodes, A and B, node A decided to forward a message destined
30
2 Data Dissemination in Opportunistic Networks
Fig. 2.4 Results from PRoPHET, Epidemic, and Optimal for some benchmark scenarios. All protocols perform differently in different scenarios, and not a single one is best in all scenarios
to some other node X if .DPB,X > DPA,X . In other words, if node A has a lower probability to deliver messages to node X than node B, it forwards the data destined for X to node B. PRoPHET is a relatively simple and elegant protocol. It was originally proposed in 2004 and updated to PRoPHETv2 in 2011. It has also been described in an RFC draft 6693 [134]. However, it does not scale very well because of the DP tables growing too large. A comparison between PRoPHET, Epidemic, and Oracle (Optimal) is shown in Fig. 2.4. The benchmark scenarios are discussed in great detail in Chap. 8, and the results are coming from a simulation with OMNeT++/OPS, described in Chap. 7. It can be seen even Oracle has varying performance due to the different scenarios. It can also be seen that the delivery rate is significantly lower for PRoPHET than for Epidemic for all scenarios, while the delay is higher, but not at the same grade. A similar approach is followed by the protocol MaxProp [32]. It also uses delivery probabilities for individual nodes via other nodes, but it computes the probabilities in a different way and employs also some additional mechanisms to improve the performance. MaxProp combines two mechanisms to forward data: delivery probability and path cost calculations and prioritization. Additionally, it employs strategies to limit the buffer sizes (i.e., the local caches) of nodes via acknowledgments and deletion of some packets (we will discuss this later). Similarly to PRoPHET, MaxProp computes the delivery probabilities for any node in the network by utilizing encounter histories, denoted as .f (A, B), where f is the encounter probability between the nodes A and B. First, all f values are initialized to . |N 1|−1 , where N is the number of nodes in the network. Here we see already a potential problem with the protocol: the network size or even a coarse estimation might not be known and might fluctuate significantly over time. However, to the best of our knowledge, this has not been investigated so far. When two nodes A and B meet, .f(A,B) is increased by 1, and then all f values get re-normalized so that they sum again to 1. Additionally, the f values of node B get transferred to node A so that A can calculate the cost of reaching all other known
2.4 Mobility Based Protocols
31
destinations (also no-direct encounters, similar to the transitivity rule in PRoPHET). The cost for any destination d is the sum of the probabilities for all hops towards the destination that the link will not occur. This is shown in Eq. (2.5): c(i, i + 1, .., d) =
d−1
.
(1 − fx,x+1 ).
(2.5)
x=i
In reality, this information propagates through the network, and at some point, all nodes have f values for any other node. Thus, the costs of reaching any destination d can be calculated only with the help of two f values: the one for the neighbor and the one from that neighbor to d. Note that the cost can be larger than 1. Let us observe an example in Fig. 2.5. Node A has a packet for node D but does not know it yet. However, it has the f values for nodes B and C and also their f values for all other nodes. Thus, it can use Eq. (2.5) to compute the costs of all possible paths to node D. In this case, there are only two paths: through B or C. The calculation cost is shown in the figure, and it concludes that the path ABD is more cost-efficient. Additionally to cost calculations, MaxProp assigns priorities to the packets and orders them accordingly. For this, each packet holds the hops it already did—thus, a list of all nodes it has been handed to already. The packets with the lowest number of hops (below a certain threshold) get the highest priority. Then, for all packets that exceed that threshold, the calculation cost is used to order them (the lower the cost, the higher the priority). This is done because the link between two nodes is limited both in bandwidth and time, and the priorities make sure that more important packets or packets with higher probabilities to get delivered get forwarded first. As we already discussed, MaxProp also uses active cache management strategies to limit the number of packets. This is not only due to the limited buffer size of the nodes but mainly because of the maintenance overhead (cost calculation, prioritization, etc.) and the network overhead they incur. The less packets are present in the network, the easier and faster they get forwarded.
f(A,B) = 0.5 f(A,C) = 0.5
c(ABD) = (1-f(A,B)) + (1-f(B,D)) = (1-0.5)+(1-0.25) = 1.25 c(ACD) = (1-f(A,C)) + (1-f(C,D)) = (1-0.5)+(1-0.2) = 1.3
A
C
B
f(C,A) = 0.2 f(C,B) = 0.6 f(C,D) = 0.2
f(B,A) = 0.25 f(B,C) = 0.5 f(B,D) = 0.25
D
Fig. 2.5 An example of the cost calculation process in MaxProp. Node A would like to send a packet to node D, but has never encountered it before
32
2 Data Dissemination in Opportunistic Networks
To limit the number of packets, MaxProp utilizes the following mechanisms: • Send acknowledgments about received packets to all nodes in the network. The authors claim that this overhead is very small, but it helps to delete packets that have already been delivered. • Delete packets at the end of the priority queue. Thus packets with a very high number of hops and high or unpredictable costs will get dropped if the buffer size is exceeded. This could be a problem in the warm-up phase of the protocol, but at the same time, the buffer should also be not heavily loaded during the warm-up, and later on, the strategy is surely better than dropping a random packet or simply the oldest ones. In summary, MaxProp shows another way of using the same encounter information as PROPHET. Its performance has been shown to be similar to the one of PRoPHETv2 in [83]. A different interpretation of encounters is taken by the dLife [154] protocol. The authors observe that only encounter history without considering the encounter duration or the time of the day is not very useful. Thus, they define a new metric called TECD (time-evolving contact duration) which is computed over the same period of time (a day). The forwarding process itself resembles the ones of PRoPHET or MaxProp and simply compares the TECD of the current node for a particular destination with that of neighbors.
2.5 Social Awareness Based Protocols Another possible method to select better-suited neighbors to communicate with is to leverage their social status. The social status is typically derived from the mobility of nodes—e.g., how often one node meets another, how similar their mobility is, or how similar their personal preferences are. The general idea of social-based protocols is that some of the nodes in the network are more active, meaning that they meet other nodes more often. This is usually called the centrality of nodes. It is computed as simply the number of nodes a particular node meets over some time. Very often, centrality is computed over time windows, such as hours and days, but also more fine-grained, such as separately for mornings and evenings or weekdays and weekends. One such protocol is EpSoc [78]. Each node calculates its degree centrality (DC) locally for given windows. When two nodes meet, they exchange all their metadata in an Epidemic style manner and their DC values. This is illustrated in Fig. 2.6, where node A has a packet for some node X and meets three other nodes, B, C, and D. The DC value of node C is the only one which is higher than the DC value of A and thus messages for X get transferred from A to C. The calculation of centrality measures is an important idea for data dissemination in opportunistic networks. It can be used for both broadcast and unicast scenarios and can typically be performed in a fully distributed way. There are, of course,
2.6 Data Content Based Protocols
33
DChour = 9 DChour = 22 B C for X X A DChour = 14
D DChour = 3
Fig. 2.6 Routing with node degree centrality with the EpSoc protocol. Node C is the only one from the neighbors of node A, which has a higher DC than A and thus will get the message for X
many other possibilities to compute a centrality measure, such as in the protocols SimBetS [52] or FairRoute [172]. Admittedly, degree centrality is also a mobility metric—the more you move and meet others, the higher your degree centrality is. There also exist pure social-related metrics, such as the social community a node is part of. One such example is the protocol LABEL [109], where each node carries a set of community labels. For example, my device could carry the labels of the city and the neighborhood I live in, my profession, my employer, and some of my hobbies like cinema or running. The idea is obvious: if I am trying to send something to a destination with some labels, forwarders with the same labels are a better option than forwarders with non-matching labels. The main challenge of the presented social-aware approach is the existence and identification of communities inside a network. This can be assumed for applications like chatting but cannot be assumed in the general case. In some other relevant applications, it can even be excluded, for example, in a disaster scenario, where nothing functions as usual and broadcast messages are more important than unicast messages.
2.6 Data Content Based Protocols Some efforts have focused on the content of the data rather than on the forwarders themselves. For example, the above-described labels of communities can also be used as labels for interest, such as soccer, tennis, or running. One such protocol is Epidemic Interest [11], which uses interest labels to decide where to forward messages. Another approach is to use the popularity of individual messages. For example, in a news service, some pieces of news tend to be more popular than others. This popularity can be easily used to forward messages. One such protocol is Keetchi [215], where the popularity of messages is used to sort them in the message queue, and messages with higher popularity are given higher priority when sending
34
2 Data Dissemination in Opportunistic Networks Significant Change make CFI 0
Insignificant Change add 1 to CFI
Randomly Selected Cache Entry
Current Focus Index (CFI)
Probability Distribution
Cache Entry Index
0
1
2
3
4
5
6
7
8
9
Priority
Fig. 2.7 The data content-based prioritization scheme of Keetchi
them out in a proactive manner. Figure 2.7 presents the idea. In a particular node, all currently known messages (with non-expired TTL) are ordered in the queue. Each message is evaluated by its popularity. For this, nodes exchange not only messages but also whether the user liked them (the user performed an action like reading the message, saving, or starring it). Every time such positive or negative feedback is received, the message’s priority is increased or decreased. Keetchi sends messages in a proactive way. When selecting a message to broadcast, the protocol selects it randomly from its queue by observing the current value of its Current focus index (CFI). This focus index is usually set to the beginning of the queue, reflecting the fact that the highest priority messages should be sent out more often and first. However, if the neighborhood of the node does not change for some time, messages will start repeating. Thus, the CFI is moved backward to the lower-priority messages so that they also get a chance to be delivered. Keetchi assumes further that not all users want to receive all messages, even if the general case is broadcast. When evaluated under this assumption, Keetchi is able to achieve very good results compared to other flooding-style protocols, but not in the general broadcast case.
2.7 Network Coding Based Protocols A completely different approach is taken by some broadcast protocols with network coding. Network coding is an approach to fragment messages into pieces and send them individually over the network. This approach has been developed especially for large payloads, for example, for wireless code distribution in the Trickle algorithm [131]. The idea is to fragment a message A into n fragments .{A1 , A2 , . . . , An }. Additional m fragments can be created, such that a node needs exactly n from all .n + m packets to defragment the message again.
2.8 Caching in Opportunistic Networks
35
The work in [118] shows how to use this concept over any data dissemination protocol, such as Epidemic, ProPhet, or Spray and Wait, described before. It shows very good results, especially for large messages, which often get interrupted or corrupted during transmissions. The protocol makes explicit use of sending the different fragments over multiple paths in the opportunistic network.
2.8 Caching in Opportunistic Networks Caching is an essential aspect of OppNets as OppNets are designed to operate in environments where intermittent connectivity and long delays are common. Nodes in traditional networks assume continuous end-to-end connectivity, which is ineffective when faced with connection disruptions. OppNets, on the other hand, are specifically designed to handle such situations and enable communication by caching data until opportunities arise to exchange cached data. Data dissemination protocols in OppNets, in fact, leverage caching to improve data delivery and dissemination [100]. Nevertheless, local caches are a limited resource, and thus, their size and management have a strong impact on the performance of OppNets. For example, larger cache sizes can potentially reduce message delivery delay since there is more room to store messages until an opportunity for forwarding arises. However, if cache management policies are not efficient, the delay may increase as important messages could get stuck behind less critical ones. On the other hand, buffer management policies, such as Least Recently Used (LRU), First In First Out (FIFO), or priority-based schemes, impact which messages are kept or dropped from the cache. Thus, by strategically using caching, these protocols can increase data availability, reduce latency, and enhance the chances of successful data delivery. Here are some ways OppNets dissemination protocols exploit caching to their benefit: • Content-Based Forwarding: Dissemination protocols in OppNets often use caching to replicate popular or important data items in multiple nodes across the network [215]. This replication ensures that data is available at various locations, increasing the likelihood of encountering the data closer to the destination or interested nodes. • Epidemic Forwarding: Epidemic forwarding is an approach in OppNets for data dissemination where nodes try to sync all data stored in caches when meeting other nodes [218]. This increases the chances of reaching destinations, eventually improving the performance of the OppNets. • Opportunistic Forwarding: Caching enables opportunistic forwarding in OppNets dissemination. When a node encounters another node, it can transfer data based on past experiences of delivery to destinations, increasing the dissemination opportunities [134].
36
2 Data Dissemination in Opportunistic Networks
2.9 Chapter Summary Very many protocols have been proposed for data dissemination in opportunistic networks. This is also the most intensively researched problem in opportunistic networks in general, with over 8000 papers published.1 Here, we only presented a small fraction of them, focusing on different approaches and not on fine-tuning or combinations of approaches. We also did not present any protocols which require full network information, such as the identity or properties of all nodes. We consider this assumption too strong for realistic scenarios where individual nodes enter and leave the network in an unpredictable way. The interested reader can turn to some recent surveys on this topic for a complete list of available protocols, like [50, 57, 181, 185]. In summary, in this chapter, we explored the different types of distributed knowledge which can be used for forwarding data in opportunistic networks. Figure 2.8 illustrates this. Some protocols do not use any other knowledge but the neighbor list alone, such as all flooding protocols and network coding protocols. Mobility, with all its flavors, is one of the most widely used knowledge. Social knowledge is often tightly coupled with mobility (such as encounter centrality) but can also include knowledge about communities, families, etc. Last but not least, the data content itself can be used for forwarding data. The more knowledge is available for use, the better the protocol will perform. However, the more knowledge is needed for the protocol, the fewer application scenarios can be served and the less flexible the protocol is. The problem of optimal data dissemination in opportunistic networks has not been solved very satisfactorily yet. In Chap. 9, we will discuss some standardized
Knowledge for forwarding in opportunistic networks
No knowledge
Mobility / encounter knowledge
Social knowledge
Data content knowledge
Single copy
Geographic region
Degree centrality
Popularity of messages
Flooding
Daily movements
Communities
Interest keywords
Network coding
Speed / direction Encounters
Fig. 2.8 Available distributed knowledge in opportunistic networks for forwarding data
1 This is the result of a simple search in Google Scholar with the keywords “data dissemination”, “routing” and “opportunistic network”.
2.9 Chapter Summary
37
Step 1
Step 2
A
Step 3 A
A
C
C B
C B
B
D
E
D
D
E
F
E
F
F
G
G
G H
H
H M
M
M
Fig. 2.9 A sample network of 9 nodes, with three time steps provided. Each arrow means that at that time step, the two nodes were in contact and exchanged their data. In the beginning, all data buffers are empty. Node A generates the first (and only) packet
protocols and frameworks, which all tend to use a version of a simple flooding protocol like Epidemic.
Problems 2.1 Assume a sample network of 9 nodes, as depicted in Fig. 2.9. Three time steps are provided with arrows meaning there is a connection between the two nodes, and they exchange their buffers. How many packets (including summary vectors, metadata, etc.) will Epidemic need to fully disseminate the data packet to all nodes? You can assume node synchronization will happen in an alphabetical way. How many will Spray and Wait need, assuming it uses exactly 2 copies? How many packets will Oracle need? Discuss the differences and why it is so hard to achieve optimal behavior. 2.2 In some experiments, the Epidemic protocol has been used as the benchmark to compare other protocols (as it were the optimal dissemination). Analyze how real implementation aspects such as the buffer size, contact duration, and bit rate can reduce the purported optimality of the epidemic protocol. 2.3 We have argued in this chapter that having full-network information about all nodes in the network at each node is unrealistic. Let us try to compute how much information needs to flow in a network to deliver such information. For example, assume a 200-node network where the current position of each node is needed for routing information. You can assume the position of the nodes changes once per second. How many packets need to be sent every second? How fast can they be
38
2 Data Dissemination in Opportunistic Networks
delivered to all nodes, assuming, for example, several hops between any two nodes? Discuss in teams. 2.4 In order to better organize the network and close geographical gaps, stationary nodes have been proposed, like in [99]. Read the article and discuss what are the advantages and disadvantages of using stationary nodes. Discuss in terms of additional hardware and the performance achieved. 2.5 Consider the design of a simple chat mobile phone app, similar to WhatsApp and Telegram in their origins, which allows exchanging text messages between individual users and groups. The app will use Opportunistic Networking to exchange messages between mobile devices. Which kind of data dissemination protocol would you use? What limitations would it have?
Chapter 3
Security in Opportunistic Networks
In the previous chapter, we discussed about data dissemination and the different protocols used to disseminate data in OppNets. Most of these protocols assume well-behaved nodes while disseminating data. Malicious participants in OppNets may use the behaviour of these protocols to subvert the operation to their benefit or to disrupt activities. In this chapter we discuss the ways in which malicious users may subvert the operation of OppNets.
3.1 Overview Opportunistic Networks (OppNets) are networks used to communicate in environments with non-existent end-to-end paths and networking infrastructure. Applications that use OppNets must be delay tolerant, and nodes exploit any available communication opportunity to exchange information with other nodes using direct communication. Communication in the aftermath of disasters, for remote or unconnected villages, or offloading saturated networks are some of the scenarios where OppNets can play an important role. An integral and critical part of an OppNets node is the forwarding mechanism employed to exchange data between nodes. Many forwarding protocols are developed to efficiently exchange data [123]. However, these protocols assume well-behaving nodes. But, many types of attacks can damage a network and, thus, OppNets.
3.2 Types of Attacks Surveys have identified the attacks that can be inflicted on computers and computer networks in general [90, 102, 189]. However, not all of these attacks are security © The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_3
39
40
3 Security in Opportunistic Networks Security Concerns in OppNets
Masquerade
Identity theft
Eavesdropping
Selective Forwarding
Blackhole Wormhole
Drop packets
Data Manipulation
Sabotage
DoS on transmission slots
As sender by sending more than requested
Pretending data availability
As recipient by requesting more than needed
Metadata manipulation
Geo-data manipulation
Payload manipulation
Free-riding
Physical Attacks
Channel jamming
Use of directional antennas to prioritize data
Use of directional antennas to overwhelm users
Social-data manipulation
Prioritize packets and topics
Fig. 3.1 Security concerns in OppNets: The rounded boxes point to the actual malicious activity that can be inflicted on OppNets
concerns for OppNets. An example is a wormhole attack. In a wormhole attack, a malicious node builds a shortcut to tunnel packet traffic to a desired location. In some contexts, this action may benefit the operation of the OppNet because the reach of the OppNet is extended. Since in OppNets, there is no dependence on a single path, other nodes would still be able to deliver the packets left out by the malicious node. Therefore, proceeding beyond traditional taxonomies, we have identified several security concerns which may affect the successful operation of OppNets. Figure 3.1 shows the types of attacks that disrupt the operation of opportunistic networks. As seen, these attacks may employ mechanisms that span all levels of the protocol stack. The sections below provide details of each attack.
3.2.1 Masquerade A computer network attack where a node steals an identity to masquerade as another node is known as identity theft or impersonation attack. In this type of attack, a malicious node within a network gains unauthorized access to a legitimate node’s credentials or identity information. By stealing this identity, the attacker can effectively impersonate the legitimate node and deceive other nodes in the network. This allows the attacker to bypass security measures, gain unauthorized privileges, and potentially perform malicious actions while appearing to be a trusted entity. Such attacks can have severe consequences, including unauthorized access to sensitive information, disruption of network services, and the ability to launch further attacks from the compromised identity.
3.2 Types of Attacks
41
3.2.2 Eavesdropping A computer network attack known as “eavesdropping” involves the surreptitious interception and monitoring of communication between nodes within a network. In this scenario, a specific node within the network acts as an unauthorized observer, secretly listening in on the exchanges between other nodes. Eavesdropping attacks exploit vulnerabilities in network security protocols and techniques, allowing the malicious node to intercept and potentially gather sensitive information, such as passwords, financial data, or confidential conversations.
3.2.3 Sabotage An attack aimed at sabotage involves deliberate actions to disrupt, impair, or disable the functionality and operations of an OppNet. One such attack is Selective Forwarding. Selective forwarding (or non-forwarding) utilizing a blackhole or wormhole is a sophisticated method attackers employ to manipulate network traffic flow. In this attack, malicious actors strategically intercept and alter the routing of data packets within a network, leading to the selective blocking or redirection of specific information. A blackhole attack involves a malicious node discarding or dropping packets destined for specific destinations, rendering those communication paths unusable. On the other hand, a wormhole attack establishes a covert tunnel between two compromised nodes, allowing the attacker to bypass normal network forwarding and forward packets instantly, prioritizing preferred packets and topics, often distorting the sequence or timing of their arrival. Another crippling attack overwhelming the transmission slots available for OppNets nodes to communicate by instigating a Denial of Service (DoS) attack. DoS attack occurs when an attacker overwhelms target nodes by sending an excessive amount of data than necessary. In the case of sending more than requested, the attacker floods the target network with an overwhelming volume of data, consuming its bandwidth, processing power, or memory resources. This flood of data exhausts the network’s capacity, making it difficult for legitimate users to access the network or use its services effectively. Similarly, in a request-based DoS attack, the attacker exploits vulnerabilities in the OppNet by repeatedly sending resource-intensive requests, overwhelming its ability to process legitimate requests and causing a denial of service to legitimate users. A third possibility is the malicious responses to requests pretending to have the requested data. In this type of attack, malicious actors intentionally overload the OppNet, thereby the resources of the nodes, with a flood of requests or data packets. By doing so, they create a situation where legitimate users cannot disseminate data, effectively denying them the opportunity to communicate.
42
3 Security in Opportunistic Networks
3.2.4 Data Manipulation A packet in opportunistic networks carries metadata and the data (payload). The payload has the actual message being delivered, while the metadata is the information used to decide how best to forward the message. Both of these (metadata and payload) may be manipulated to hinder the proper operation of the network. Data in opportunistic networks may carry geo-related meta information. Nodes use this kind of information to forward data to enable network efficiencies. There are many ways of tampering with this information for malicious intents. They are listed below. • Tamper with location information Geo data manipulation refers to altering or falsifying location information in opportunistic networks. Opportunistic networks are mobile networks that rely on the availability of nodes to forward data. In such networks, location information is critical for routing and forwarding of data. Tampering with this information can have severe consequences, such as incorrect data delivery or miscommunication between nodes. This can result in a communication breakdown, leading to service disruption or even security breaches. The manipulation of geo data in opportunistic networks requires sophisticated techniques and tools and can pose significant challenges to network security and reliability. • Tamper with velocity and direction information Another area of manipulation in opportunistic networks are velocity and direction information which can be easily altered. This leads to the spreading of false information, which can cause confusion and unreliable decision-making based on this data. Tampering with velocity and direction information can also lead to serious consequences in navigation or emergency response situations. • Alter Points-of-Interest (PoI) information - A further possibility involves the alteration of Points-of-Interest (PoI) information in opportunistic networks. To ensure the accuracy of the data, the Points-of-Interest (PoI) information must be properly managed and maintained. The alteration of PoI information in opportunistic networks can be done through various methods such as manual entry, bulk uploads, or automated data collection systems. The manipulation of PoI information can also lead to incorrect or misleading data, which can have serious implications in real-world applications such as navigation systems, emergency response, and urban planning. Another type of metadata used regularly by OppNets is social related metadata. Social metadata refers to the information gathered from users of an opportunistic network on their activities, such as frequently visited places, preferences of medium of travel, etc. This information is used by forwarding mechanisms in opportunistic networks to disseminate data in the best possible manner. By manipulating this information, malicious users can disrupt the operation of the whole network. Below, we describe two ways in which such information is manipulated.
3.2 Types of Attacks
43
• Manipulate encounters Social data collected in opportunistic networks, such as node encounters, play a crucial role in forwarding node communication. However, this data can also be manipulated for malicious purposes. For instance, a malicious node can pretend to have more encounters, leading to increased communication and a Denial of Service (DoS) attack. On the other hand, a malicious node can also pretend to have fewer encounters, causing it to not participate in forwarding, thereby disrupting the network’s communication flow. • Manipulate own attributes or interests to attract or prevent attention In opportunistic networks, data flow is often influenced by the attributes or interests of individuals. By manipulating these characteristics, individuals can either attract or prevent attention, thereby affecting the flow of information. For example, if a person wants to draw attention to a particular piece of information, they can highlight their expertise or personal interest in the topic. Conversely, if they wish to prevent attention, they can downplay their involvement or expertise in the matter. The ability to manipulate one’s attributes and interests in this way can have a significant impact on the flow of information in opportunistic networks and how it is perceived and acted upon by others.
3.2.5 Physical Attacks One of the physical attacks is the malicious jamming of channels. This type of attack in opportunistic networks is a serious problem affecting communication integrity. This malicious behavior involves intentional interference with the transmission of signals, making it difficult or impossible for devices to receive or send data. This can be done using jamming devices that can disrupt the radio frequency spectrum, leading to lost connections and increased latency. In an opportunistic network, where nodes rely on the availability of other devices to forward their data, jamming can significantly impact the overall network performance. Not only does it prevent important information from being transmitted, but it can also lead to the formation of isolated sub-networks and increase the risk of data breaches. Directional antennas are a useful tool for forwarding data in preferred directions in opportunistic networks. However, if these antennas are maliciously deployed, they can be used to prioritize specific data disrupting the natural operation of the OppNet, posing a significant threat to the network’s security and stability. This data may be preferred or even data to be monitored for malicious purposes. In the latter case, a malicious node can intercept and manipulate sensitive information, leading to data breaches and privacy violations. Another type of physical attack using directional antennas is where a malicious node can interfere with the network’s normal functioning by overwhelming other nodes with data traffic. As a result, the network’s performance and reliability can be severely impacted, leading to lost opportunities and decreased efficiency.
44
3 Security in Opportunistic Networks
3.2.6 Free-Riding One of the significant challenges in OppNets security arises from the presence of free riders who benefit from the operation of the network but are unwilling to contribute. These nodes, also named selfish nodes, take advantage of the resources and services provided by the network without reciprocating in terms of relaying messages or contributing to the network’s overall performance. Their behavior poses a threat to the efficiency and fairness of the network. The presence of free riders in an OppNet has several implications. Firstly, free riders consume network resources, including storage capacity and bandwidth, without contributing their fair share. This can lead to congestion and reduced network performance, affecting the timely delivery of messages. Secondly, free riders can disrupt the routing process by selectively forwarding messages or intentionally dropping them, causing network fragmentation and routing inconsistencies. Thirdly, free riders may exploit vulnerabilities within the network, such as injecting malicious content or launching attacks to compromise other nodes’ security. Therefore, various techniques and mechanisms have been proposed to incentivize cooperation and discourage this selfish behavior. These include reputation-based systems, incentive mechanisms, and cooperation enforcement mechanisms, which aim to encourage nodes to act in the best interest of the network as a whole. Nevertheless, if selfish nodes are unwilling to cooperate, watchdogs can be employed as monitoring mechanisms to identify and isolate these nodes. These watchdogs operate by observing the behavior and actions of nodes within the network. They track each node’s contribution and cooperation level, including message relaying and overall network participation. By analyzing the behavior patterns, watchdogs can detect nodes that exhibit selfish tendencies, such as consistently avoiding relaying messages or consuming resources without reciprocating.
3.3 Attacks Evaluation In this section, we show the impact of some attacks to demonstrate the effects on the performance metrics of OppNets. We take two of the attacks as example in this performance evaluation—Denial of Service (DoS) and Blackhole attacks. DoS attacks, specifically low-rate DoS attacks are where a malicious node will send garbage packets to other nodes to consume resources and impede the forwarding of legitimate content. In a black hole attack, a malicious node will receive packets but will never forward them. Hence, such a node is consuming transmission resources of other nodes without contributing its own resources for spreading content.
3.3 Attacks Evaluation
45
3.3.1 Evaluation Methodology and Setup The evaluation of the effects of DoS attacks on OppNets is performed using the OMNeT++ network simulator together with the OppNets framework OPS (described in Sect. 7.2). To evaluate these two attacks, OPS has been extended with the behavior expected from these two attacks. The simulated OppNet consists of 50 nodes, including attackers and genuine nodes. Each simulation run is set to 5 days. Data (packets) by genuine nodes are injected into the network every 900 seconds, with a payload of 10 KB each. The forwarding of packets is limited to a maximum of 30 hops. Nodes are configured to have infinite caches. The wireless connectivity is configured to be Bluetooth LE with a range of 30 meters and a bandwidth of 100 Kbps. The mobility of nodes is modeled using the SWIM Mobility model [217]. The mobility area is 1500 m by 1500 m. Epidemic routing [218] is used to disseminate data. This experimental setup is standard for OppNets [123] and sufficient to show the severity of DoS attacks. The attack configuration includes the attacker model, the attack frequency, and the number of attackers explored. The attackers inject malicious data every 90 seconds. As evaluation metrics, the Delivery Ratio and Average Delay are considered. The delivery ratio is the network-wide ratio of packets successfully delivered over the total expected packets. The delivery delay is the network-wide average of the time a packet takes to reach a destination. These two metrics are independent and typically used to benchmark OppNets.
3.3.2 Effects of the Attacks Figure 3.2 shows the delivery ratio and delivery delay of OppNets during DoS attacks. The simulations are configured to have various attacking nodes and attack frequencies. Further, as a comparison, results are obtained not only with malicious nodes (red), but also in a setting where there are no malicious nodes (blue). All results are shown with 95% confidence intervals. The graphs indicate that the performance deteriorates quickly with an increasing number of attackers (top row) and increasing attack intensity (bottom row). Already five attacking nodes are sufficient to decrease the delivery ratio from close to 100% to around 60%, while the average delivery delay nearly doubles at the same time. At the same time, the delivery ratio and delay stay nearly constant from 50 to 45 legitimate nodes without any attackers. Figure 3.3 shows the delivery ratio and the delivery delay under a black hole attack. The evaluation is done with a varying number of black hole nodes. It keeps the overall number of nodes constant at 50 but with a varying number of legitimate nodes without malicious nodes as baseline (blue). With an increasing number of black holes, the delivery of data decreases and the delivery delay increases. Even at
46
3 Security in Opportunistic Networks
Fig. 3.2 Delivery ratio and delivery delay for DoS attacks with varying attackers (top row) and attack intervals (bottom row) with 95% confidence intervals. 50/2 refers to a 50-node network where two are attackers. In the bottom row, the network uses a 50/10 node combination for each attack frequency
Fig. 3.3 Delivery ratio and delivery delay for a varying number of malicious nodes performing black hole attacks. 50/2 refers to a 50-node network where two of them are attackers
this rather low attack intensity, it can be seen that the effect is significant. The results also indicate that a black hole node does not correspond to a decreased density of the network. While 25 black hole nodes in a setting with a total of 50 nodes decrease the delivery ratio to under 50%, the delivery ratio stays at around 75% for a comparable setting with 25 legitimate nodes only and thus lower density. This is due to the fact
3.4 Chapter Summary
47
that attackers still occupy networking resources, forcing legitimate nodes to waste their contact times on black hole nodes that do not forward their content.
3.4 Chapter Summary The forwarding mechanism utilized by nodes in OppNets holds a pivotal role in data exchange and overall network performance. Over the years, numerous forwarding protocols have been developed and integrated into these networks to facilitate seamless data exchange. However, a common assumption in these protocols is that all nodes operate in good faith, which unfortunately is not always the case. This assumption leaves the networks susceptible to various potential attacks from malicious nodes. The landscape of cyber threats is extensive and diverse. Surveys have been conducted to identify and categorize different types of attacks prevalent in computer networks. Yet, it is important to understand that not all of these attacks pose security threats for OppNets. For example, a wormhole attack—commonly considered harmful in many contexts—might actually extend the reach of an OppNet without causing substantial harm. This is due to the unique feature of OppNets, which unlike conventional networks, do not rely on a single, fixed path for data transmission. Therefore, it becomes apparent that ensuring the security and successful operation of OppNets requires a tailored approach. Addressing this will entail identifying and confronting a unique set of security concerns, specific to the opportunistic nature of these networks.
Problems 3.1 Identity theft or impersonation is an attack where a node masquerades as another node with a malicious intent. Identities may vary based on the type of communication technology and the underlying protocol stack used in an OppNet. In some networks, the identity may be a MAC-like address while in another, it may be an Internet Protocol address. How could a masquerade attack prevention technique be devised to operate with any type of identity? 3.2 Some of the attacks discussed in this section require nodes to inspect the contents of packets (i.e., the payload) before employing the attack. What mechanisms exist to prevent unauthorized nodes (users) from obtaining access to the contents of a packet? 3.3 Selfish behaviour, that is, nodes refusing to cooperate, can be hard to detect. For example, imagine an opportunistic network with a selfish node and with another node that is temporarily not working. How can a watchdog differentiate between these nodes?
Part II
Evaluation of Opportunistic Networks
Chapter 4
Overview of Evaluation of Opportunistic Networks
In the previous chapters, we have discussed how to implement data dissemination in opportunistic networks and how to involve security measures. In this part of the book, we will focus on how to evaluate a concrete implementation of an opportunistic application and how to compare it with others. This chapter introduces the complete topic of evaluating an opportunistic network with its three main options: a real implementation, a simulation, and an analytical model. We will discuss their individual properties and challenges. Later on, we will introduce all relevant metrics for evaluating opportunistic networks.
4.1 Overview Generally speaking, performance evaluation refers to quantifying the service provided by a computer or communication system [129]. To assess a system’s performance, it is essential to establish evaluation objectives, metrics, and system load. Figure 4.1 illustrates the three primary components that constitute the process of performance evaluation. In detail, we have: • Load: the load (or workload) is primarily characterized by the system’s type and quantity of requests. In OppNets, the load consists of node mobility and traffic load: – Node mobility: This pertains to the movement of nodes and their interaction, which is a critical factor in OppNets evaluations. Node movements are generally confined to the evaluated scenario, which can range in complexity from basic square areas to realistic map-based scenarios.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_4
51
52
4 Overview of Evaluation of Opportunistic Networks
Fig. 4.1 Performance evaluation of opportunistic networks: main elements and flow diagram
– Traffic load: This refers to all messages and network requests generated by the nodes. The traffic load may vary from disseminating a single message to all nodes in the network to more intricate messaging patterns that resemble social or messaging mobile applications. • System. In our case, the system under evaluation is an Opportunistic Network, which encompasses all components from hardware to software that could impact its performance. This includes factors such as communication range, data transmission speed, buffer capacity, overhead, and user behavior. It is important to note that our focus is on the internal characteristics of the system rather than its external environment. • Metrics: The next step is establishing metrics for assessing OppNets performance. These metrics mainly focus on evaluating information diffusion based on factors like diffusion/dissemination time, delivery rate, or the number of hops. Additionally, we can measure buffer occupancy, network overhead, energy consumption, and other factors related to node and network infrastructure utilization (see Sect. 4.3). Once the performance evaluation is completed, a significant amount of data is typically collected, which must be processed to obtain the desired metrics for further analysis of the results. The metrics can be either deterministic values (such as mean) or stochastic distributions. Defining the evaluation goals is a critical step in determining the system load and the metrics to be computed. For instance, in the case of opportunistic networks, the evaluation goals may vary significantly depending on the scenario’s size and characteristics. For example, if we aim to evaluate a small-scale scenario with only a few dozen nodes, such as a tourist group moving around a city, we would use a pedestrian mobility model and a traffic model that involves standard messages like short texts and images. On the other hand, in a large-scale vehicular scenario, we would employ a vehicular mobility model and very brief but frequent messages. As a result, the system load would differ significantly in each case.
4.2 Methods for Evaluating Opportunistic Networks
53
4.2 Methods for Evaluating Opportunistic Networks We have mainly three options of how to evaluate opportunistic networks: • Implementation (real or testbed systems): In this approach, a real system is used (for example, a network of smartphones or IoT devices), and the traffic is generated by a real application. Synthetic models can also replace some parts of the system in some cases. For instance, a high-traffic application may not be entirely realistic but can stress the system to be deployed. Similarly, node mobility can be altered by speeding up or slowing down the nodes beyond the actual scenario’s assumptions. Nevertheless, conducting experiments in real scenarios with actual equipment can be both time-consuming and costly. The primary benefit is realism, particularly in situations involving wireless communication combined with mobility. However, a real scenario only captures a snapshot of the real world, and evaluating different scenarios can be challenging. In Chap. 9, we will discuss how to implement opportunistic networks for actual devices. • Simulation: Typically, it is a simplified model of the system and the load implemented by software. A frequently used method combines a network simulation tool with realistic mobility traces to replicate the actual dynamics and interactions of mobile nodes. Simulation is a potent tool for rapid and inexpensive evaluation of various parameter settings. However, the models are frequently oversimplified, and the validity of the results may be questionable. We will discuss simulation tools and models in detail in Chap. 6. • Analytical Models: An analytical model mathematically represents the system and its load. Identifying the key mechanisms underlying information diffusion provides a faster and broader performance evaluation and can avoid some of the limitations of simulations and real-world implementations. Nevertheless, analytical models rely on strong assumptions or simplifications about the system, and the load model considered is usually quite simple. Nonetheless, mathematical modeling is ideal for identifying the system’s limitations, such as under which circumstances we can expect the system to perform well. We discuss analytical models in detail in Chap. 5. When discussing the advantages and disadvantages of these three options, we need to consider the following properties, which have been summarized in Table 4.1: • Repeatability The ability to repeat an experiment in the same environment and scenario [65]. In the case of computer systems, this means literally the same computing system without any changes. It is very useful to compare the performance of a particular component (such as a communication protocol) with different parameter settings for debugging, etc. The repeatability of experiments is best for theoretical studies but also very good for simulation studies. The reason is that the models can be repeated typically without any problems on different machines. For simulation, when moving the experiment from one machine to another, some inconsistencies might occur, e.g., hidden parameters. Theoretical studies
54
4 Overview of Evaluation of Opportunistic Networks
Table 4.1 Properties of the three main evaluation techniques for opportunistic networks
•
•
•
•
Repeatability Reproducibility Visibility Time Costs Representativeness Sensitivity
Measurements – – – – – ++ –
Simulation ++ + +++ +++ +++ + +
Theory +++ ++ +++ + +++ – +
are typically closed-form expressions that yield the same results independently of the machine which computes them. For measurements, repeatability is hard to achieve since the environment never stays exactly the same. For example, real measurements with sensor networks would yield different sensor values. They will be conducted under different weather conditions, and those slight changes might have an unpredictable impact on the final results. Reproducibility The ability to reproduce an experiment in similar environments [65]. In the case of computer systems, this means transferring the implementation to another computing system, which is typically harder than to repeat the experiment. This is very important to validate the implementation of a particular component. Reproducibility is harder for any of the environments, and the reasons are the same as for repeatability. Visibility The ability to inspect deeply the state of all components involved in an experiment. Visibility is an important property, especially in case of errors. It allows the developer to inspect her system closely. This is most easily done for simulation and theoretical studies, as you can analyze the exact state of the system at any time, including all parameter and state variables’ values. For measurements, this is done by writing out log files to be analyzed later. However, the log files have to be carefully designed, as their output might actually influence the work of the system under test. Thus, the visibility of measurements is generally low. Time Time needed to conduct an experiment, including preparation and processing of results. The time needed to conduct an experiment, including the preparation and processing of results, is dictated by several factors. The complexity of the experiment impacts the planning, implementation, and monitoring stages. The more intricate an experiment, the more time it requires. Resources like materials, equipment, and personnel availability also play a role. The process can be quickened or slowed depending on these. Regulatory approvals or ethical clearances can add to the timeframe. Finally, data analysis is crucial for accuracy in research, and this task must be comprehensive and painstaking. This process can greatly increase the overall time taken. Costs The financial and time cost for preparing and running the experiment. Time and cost are usually related. Measurements are very costly, as they require real hardware and lengthy setup times, and the environment and the scenario dictate
4.2 Methods for Evaluating Opportunistic Networks
55
the time for one measurement. Theoretical studies are very fast to conduct since they are completely detached from the environment and the scenario. However, they are usually designed from scratch, and their mathematical derivation takes a long time. Simulation is cost-efficient (if we assume free, open-source tools) and faster than theoretical studies because tools and models typically already exist to support the development. • Representativeness indicates how close the experimental environment mimics the targeted one. Representativeness is crucial for any evaluation method since it tells you how close you have come to the final or targeted environment and scenario. A theoretical study gives you only an approximate idea about the behavior of a system, usually in extreme conditions or on average. Depending on the models used, simulation can be close to a theoretical study or measurement. Measurements are very representative, but only if conducted in the appropriate environment. Otherwise, the results might change dramatically. • Sensitivity refers to which parameters influence the system most. In other words, how much do the results change when you change the experimental setup? As discussed, measurements are very sensitive, even to slight changes. Simulation and theory studies are not necessarily more stable, but at least their sensitivity can be evaluated in a more extensive and structured way. This is typically done with a sensitivity analysis, a method from Design of Experiments (DoE) [153].
Measurement
tio Sim
Deterministic models
n
Markovian models
ula
Representativeness
Some of the previous properties are interdependent, so we have to reach a tradeoff between them. A key issue is the representativeness to cost ratio. Figure 4.2 shows the relationship between cost and representativeness. In this case, cost refers to both the monetary cost and the time cost. Analytical methods are fast but can
ly Ana
tica
Complex simulation with sophisticated models
l Simple scenario with random models
Cost Fig. 4.2 Representativeness versus the cost of the different methods of performance evaluation
56
4 Overview of Evaluation of Opportunistic Networks
* evaluation metric
*
real measuerements simulation results with confidence intervals theoretical results
* * * * ** * ***
measurements
simulation with averages and confidence intervals
~102
theoretical analysis
~106 number of nodes
~1010
~1014
Fig. 4.3 Accuracy versus number of nodes for different evaluation methods of opportunistic networks
produce unrealistic results, whereas simulation models can provide results that are very close to those of real implementations, albeit at a higher computational cost. Finally, when selecting the method to use, it is essential to consider the required scale of the evaluation. Generally speaking, the higher the scale, the more abstract the evaluation models need to be. This is depicted in Fig. 4.3. Real implementations are affordable and realistic only for low scales (up to several hundreds of devices). Simulation models can support up to a million nodes (which is already quite high and very challenging for nowadays’ simulators). In contrast, theoretical models do not have any boundaries on the scale. The figure also visualizes the type of results obtained. With real experiments, one obtained individual measurements (depicted by stars). Simulation models deliver various measurements for the same parameter settings, assuming statistical (random) models and confidence intervals. Theoretical models usually deliver a curve.
4.3 Metrics for Evaluating Opportunistic Networks There are several important and interesting metrics to consider when evaluating opportunistic networks. The usual network performance metrics can be used, e.g., delivery delay, delivery rate or loss rate, throughput, and network overhead. Moreover, metrics like route length or hops are essential for the data dissemination protocols. For battery-powered devices, power consumption, and node/network lifetime become critical. For memory-restricted devices, cache usage and cache drop rates are relevant.
4.3 Metrics for Evaluating Opportunistic Networks
57
The underlying components used for computing and interpreting these metrics sometimes vary from one evaluation to another. An example is Network Overhead. Sometimes it refers to the total number of bytes exchanged (data bytes and overhead bytes together) in a network, while at other times, only the overhead bytes required to deliver the data are considered. Yet another version is to compute the factor between the data bytes and all bytes sent. • Delivery delay (time) The delivery delay measures how fast a message was delivered to a single intended recipient or to a group of recipients. In the latter, it is usually the time when all recipients receive the message. This is one of the most important metrics: for example, in case of emergency messages, it is always critical to know how quickly the data is delivered. The delay is typically measured for each packet (hop-by-hop or end-to-end), which can be summarized using average, confidence intervals, or CDFs (Cumulative distribution functions). • Delivery rate/loss rate (%) The delivery rate or reception ratio measures how many packets were delivered successfully. There are several reasons for losing packets, e.g., due to buffer drop in a congestion state, TTL (time-to-live) expiry, transmission errors on links, crashing forwarders, cache drops and so on. The delivery rate is typically computed by counting how many packets were expected to be delivered and how many were actually delivered for each node in the network after a defined period. For example, in an epidemic diffusion of one message to all network nodes, the delivery rate would measure the percentage of nodes that have received the message up to a given time. • Network overhead (%) The term overhead, in general, refers to the additional activities needed to achieve an intended objective. In OppNets, it usually refers to the additional copies of messages generated by the different protocols (i.e., flooding protocols). Usually, it is computed by summing up all additional messages (or bytes) generated in the network and dividing them by the original messages (or bytes). However, sometimes the metric measure only the total number of additional messages (bytes), that is, without dividing it by the payload. • Route length (hops) Packets hop over other nodes to reach their destinations. This metric measures the number of hops traveled by a message. Its interpretation is not trivial. A high number of hops might mean a very large network but also an inefficient selection of the next hops by the data dissemination protocol. Thus, it only makes sense when several protocols are compared to each other in the same network. It is also a proxy for energy efficiency, as a higher number of hops requires more energy. However, short routes with a small number of hops are also not always the best solution, as delays can still be higher and link speeds lower. • Node/network lifetime (time) The duration after which a network or a node is considered as being unusable is measured using this metric. While the lifetime of a node is straightforward to define, for the network lifetime, there are many definitions possible. A node may become inactive due to factors such as battery drainage or shutdown. Regarding the network lifetime, common criteria for “network death” include: death of the first node, death of a given percentage of nodes, the time at which the network becomes partitioned first, the time at which
58
4 Overview of Evaluation of Opportunistic Networks
the network is not able any longer to observe a given physical phenomenon at a prescribed accuracy, and so on. • Energy consumption (Joule) The energy consumption is the intake of electrical energy by a network node. It can be measured relative to a certain time unit in order to compare how much energy different protocols or nodes from different manufacturers require to transport a given amount of data, which is useful for finding the most energy-efficient solution. It can also be measured w.r.t. different actions that a node performs, such as reading a value from a sensor or transmitting a packet. This is useful for identifying which action causes the highest battery drain. If it is, e.g., observed that the radio interface has a high energy consumption, it should be checked how the power-on times of the radio can be reduced. • Cache occupancy (% or bytes) Networking architectures such as OppNets depend on the store-carry-forward principle to disseminate data. Since caching of data is important, dimensioning caches becomes an important aspect of resourcing nodes. Under-dimensioning caches may result in increased pressure on caches, thereby degrading performance (due to constant cache removals and message drops) while over-dimensioning results in wasted resources. Therefore, this metric provides a means of assessing the optimum cache sizes to use. The cache occupancy can be measured as a percentage when the cache is limited or in bytes when it is unlimited. • Cache drop rate (bytes/time) Cache drops occur when new data received by a node has to be inserted into an already full cache. This metric measures the number of dropped bytes over a certain period. Higher values may appear periodically when large volumes of data are exchanged and the caches are overwhelmed. Therefore, this metric is useful in determining the best caching policy to employ to obtain optimum performance with data delivery. All these metrics are used for all three evaluating options: real experiments, simulation, and theoretical models. However, depending on the evaluation goals, only a few of them are used, and others are considered not relevant. For example, very often, the cache size and the battery capacity are considered infinite.
4.4 Chapter Summary Performance evaluation is the process of quantifying a computer or communication system’s service. This process involves three primary components, which are load, system, and metrics. Thus, defining the evaluation goals is crucial in determining the system load and metrics to compute. Particularly in OppNets, the scenario and mobility significantly affect the evaluation goals. After completing the performance evaluation, a significant amount of data is collected, which must be processed to obtain the desired metrics for further analysis of the results.
4.4 Chapter Summary
59
Opportunistic networks can be evaluated using three methods: implementation, simulation, and analytical models. Implementing real or testbed systems generates traffic using real applications, and synthetic models can replace parts of the system or alter node mobility. This approach captures wireless communication and mobility realistically, but evaluating different scenarios can be challenging, and it can be time-consuming and costly. Simulations, on the other hand, combine a network simulation tool with realistic mobility traces to evaluate various parameter settings rapidly and inexpensively. However, models are often oversimplified, and the validity of results may be questionable. Analytical models provide a faster and broader evaluation, avoiding some of the limitations of simulations and real-world implementations. Still, they rely on strong assumptions or simplifications about the system and its load model. When discussing the advantages and disadvantages of these three methods, several properties need to be considered, including repeatability, reproducibility, visibility, time, costs, and representativeness. The representativeness-to-cost ratio is a crucial consideration when selecting an evaluation method. Analytical methods are fast but can produce unrealistic results, while simulation models provide more accurate results at a higher computational cost. The scale of the evaluation also plays a significant role, with real implementations only feasible for low scales, simulation models supporting up to a million nodes, and theoretical models having no scale boundaries. Finally, Opportunistic networks can be evaluated using various metrics, as previously detailed. Depending on the evaluation goals and the type of evaluation, we may focus on a few of them. In the next Chap. 5, we will discuss in detail available theoretical models for opportunistic networks. Simulation models and tools are discussed in Chap. 6. Real implementations are discussed a little bit later in Chap. 9.
Problems 4.1 Imagine you would like to present a new idea about an application to your boss at a large software company. Which of the three concepts (implementation, simulation, and analytical) would you use to present your idea, depending on the following goals: (a) The application is very large scale and expected to work with millions of nodes. (b) The application is very small scale and expected to work with few nodes, e.g., for the nodes in a single home. 4.2 For the same scenario as above, which metrics would you use to showcase your idea? Select only the five most important and explain your choice. 4.3 The three methods for evaluating OppNets (implementation, simulation, and analytical) are not mutually exclusive. Imagine that you want to build a new network from scratch, starting from analysis to the final real deployments. Which methods
60
4 Overview of Evaluation of Opportunistic Networks
would you consider in each of the different project phases (i.e., analysis, design, implementation, tests, etc.)? 4.4 Consider the following performance evaluation scenarios: (a) Study the dissemination of messages in mobile devices using the epidemic protocol in an open-air festival with thousands of attendees; (b) Evaluate the transmission of end-to-end messages among people’s mobile devices in a station with a high renewal of people; (c) Get the delivery time and rate of the epidemic protocol using a network of taxis in a city (that is, the taxis are the nodes of the network). For each of these scenarios, define roughly the load (node mobility and traffic load), the system, and the key metrics to evaluate. 4.5 Considering again the scenarios defined above, study the pros and cons of using each of the three methods for evaluating OppNets (implementation, simulation, and analytical models).
Chapter 5
Theoretical Models for Opportunistic Networks
Theoretical modeling in OppNets involves using mathematical and computational methods to analyze and understand the behavior of opportunistic communications. In general, models have two main goals: prediction and understanding. Models not only allow researchers and engineers to predict the performance of a network under different conditions, identify bottlenecks and evaluate the impact of various parameters, but they are also invaluable to understanding the behavior and dynamics of networks. Models, even the most complicated ones, are a simplification of reality; thus, it is necessary to make some simplifying assumptions. Therefore no model is entirely accurate. The models used in this field can range from simple queuing models to complex graph-based models. Compared to experiments and simulation analysis, theoretical models are used for scalability analysis. Figure 5.1 shows an overview of how theoretical models are being used. These models are typically built upon several assumptions. Some of the most commonly used assumptions for OppNets are listed as follows. • • • • •
Poisson arrivals of traffic Uniform distribution of infected nodes Communication range that covers the whole network Infinite cache capacity No mobility at all or vice versa
Analytical approaches are utilized to model the behavior of OppNets based on these assumptions. Some methods employed in OppNet modeling are Markov Chain Models, Compartmental Models, Population Processes, General Probabilistic methods, Graph Theory, and Linear Fractional Transformation. In the following sections, we introduce the basics aspect of these models and how they can be used to model Opportunistic Networks.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_5
61
62
5 Theoretical Models for Opportunistic Networks
Investigation on the Impact of Traffic Patterns Number of Nodes
Modelling Methods
Theoretical models for OppNets
Compartmental Models Probabilistic Methods
Mobility Patterns
Graph Theory
Cache Size Cluster Effect
Markov Chain Models
KPIs
Linear Fractional Transformation Population Process
Delivery Delay Dissemination Number of Copies Number of Hops Energy Consumption
Fig. 5.1 Overview of theoretical evaluation for OppNets
5.1 General Assumptions and Their Validity All theoretical models are based on simplified assumptions of the real system to evaluate in order to make their mathematical analysis feasible. These assumptions, although necessary, can impact the representativeness of the results obtained from the models. Thus, in this section, we introduce some of the most common assumptions used in the following models and check their validity. The first kind of assumption is related to node mobility. Characterization of human or vehicular mobility is a challenging problem, so some simplifications are needed. In general, two mobility-related factors impact the performance of Opportunistic Networks: the inter-contact time (ICT) and the contact duration. In other words, they characterize when two nodes have an opportunity to exchange messages and for how long this opportunity lasts. Regarding the inter-contact times between nodes, models usually assume that they follow a known distribution. The most common distribution is the exponential distribution, considering an average contact rate .λ between nodes. Several mobility scenarios involving both humans and vehicles have demonstrated its validity [85, 240]. However, as discussed in Sect. 1.6, empirical findings indicate that the intercontact time (ICT) distribution follows a power law with a long tail, meaning that certain node pairs rarely have a contact [39, 114]. Conversely, some studies [163] argue that ICT follows a Pareto law.
5.1 General Assumptions and Their Validity
63
With regard to the contact rate dimension, the most simple model, the homogeneous model, considers that this contact rate .λ is the same for all pairs of nodes. On the contrary, the heterogeneous model considers different contact rates .λij between different pairs of nodes .(i, j ) in order to be more realistic. The contact rate(s) .λ can be obtained from real mobility contact traces [92] or using some synthetic mobility models, such as random waypoint (RWM) (see Sect. 6.4), where parameter .λ is related to the mean speed of nodes v [85, 238]. Contact duration determines how many messages (or bytes) can be exchanged when contact occurs. The common assumption is to consider no duration time (or that the data is small enough to be transmitted whenever a contact occurs), so message(s) are always transmitted when contacts occur. This is an oversimplification that, of course, makes some theoretical models easy to solve. To overcome this, some models consider a transmission probability, which can depend on the message size and the contact duration. Another group of assumptions is related to network behavior (nodes and communications). For example, cache occupancy, transmission bandwidth, and protocols are elements that we could wish to evaluate, or on the contrary, we should simplify to focus our evaluation on other elements. These elements depend on the load used (mainly on the message sizes). Local buffer or cache management clearly impacts the performance of OppNets. Mathematically modeling these local caches can be very challenging, so in most models, the cache is not considered, or an infinity-size cache is assumed. Transmission bandwidth is also a critical element that clearly impacts the dissemination speed. Given an average message size, some of the models consider a transmission time, so this lead to evaluating how fast a message spreads on a network depending on the message size. Note that this transmission is clearly related to the contact duration. Thus, some model includes in the transmission probability the combined effect of transmission bandwidth, message size, and contact duration: that is, lower transmission bandwidth and contact duration will reduce the transmission probability, and smaller message size will increase its transmission probability. Note that these assumptions are usually interwoven. For example, if the model does not consider a local buffer, the transmission of messages is assumed to be immediate when contacts occur. Finally, some protocols can be easy to model (for example, Single Copy and Epidemic), while others can very hard (for example, geocasting or social-based ones). Another common assumption made is for the distribution of infected nodes to be considered to have always a uniform distribution throughout the network at any given time. However, this assumption is only valid if every node is within the communication range of all other nodes in the network or if the nodes are mobile and create different neighborhoods with each communication opportunity they have. Besides the scenarios where nodes are mobile and have the opportunity of communicating with any other node in the network, there are also various
64
5 Theoretical Models for Opportunistic Networks
real-life scenarios where nodes may be stationary or move very slowly between communication opportunities. Examples of such scenarios include hospitals or clinics where patients and healthcare workers are confined to specific areas and may not have the opportunity to interact with others outside of their immediate environment; large office buildings where employees are restricted to specific floors or departments and do not have the possibility to communicate with colleagues from other parts of the building, residential neighborhoods where individuals may have limited communication with others outside of their immediate household or neighbors on the same street, rural communities where the population may be spread out over a large area and communication opportunities between nodes may be limited, etc. In such cases, the assumption of infected nodes being uniformly distributed in the network does not hold true, as the nodes cannot communicate with all the other nodes in the network due to the lack of mobility or relatively small coverage of the communication range compared to the network area which results in the clustering of infected nodes. This behavior is known as the cluster effect and studied further in [220].
5.2 Markov Chain Models A Markov Chain (also known as Markov process) is a stochastic process in which we can define a set of events that depend only on the state of the previous events (that is, the Markov property or memory-less property). Each change of state, which is called a transition, has an associated probability that defines how the process evolves. A Markov Chain is defined by a state space, a transition matrix with the transition probabilities, and an initial state. Depending on the transition times, we can differentiate between Continue-Time Markov Chain (CTMC), where transitions to new states may occur at any time and Discrete-Time Markov Chain (DTMC), where transitions only occur at discrete time values. Markov Chain Models have been used extensively to evaluate the performance of Opportunistic Networks, particularly for evaluating the diffusion of messages [16, 26, 85, 98, 115, 161, 169, 192, 194, 208, 220]. In particular, the work presented in [85] introduced Markov chain models for epidemic routing and 2-hop forwarding. These models were used to calculate the average delivery delay from the source to the destination and estimate the number of message copies existing at the time of delivery. Thus, most of the notation used is derived from biological epidemic models. In OppNets, messages spread through a network by infecting one uninfected node at a time, eventually leading to all nodes being infected. So nodes with the message are considered infected, and nodes without the message as non-infected.
5.2 Markov Chain Models
P1,1 1
P1,2
65 P2,2
P2,3
2
PN-1,N-1 p N-1,N N-1
N
Fig. 5.2 Basic concepts of Markov chain
5.2.1 Modeling Epidemic Diffusion in OppNet In this section, we introduce a simple Markov Chain model to evaluate the epidemic diffusion of a message. We consider a network of N mobile nodes where a sender node wants to spread a message among all the nodes. As contacts can occur at any time, we consider a CTMC (Continuous-Time Markov Chain) for the model. We can use this model to study how the network evolves depending on time. Figure 5.2 shows how a simple Markov Chain can be used to model the data dissemination in this network. The states of the CTMC represent the number of infected nodes on the network (that is, the nodes with the message). A transition occurs when a node contacts another node, and the message is transmitted, therefore jumping from state i to .i + 1. Each transition is associated with a transition rate 1 .pij . In epidemic models, and following the biological epidemic notation again, this transition rate is related to the contact rate and the probability of transmission. The contact rate depends on the opportunity for contact between nodes and, therefore, on their mobility. The probability of transmission depends mainly on the duration of the contact, that is, the required time to transmit the message. To simplify our proposed model, we consider that the inter-contact times distribution between pairs of nodes is exponentially distributed with an average given contact rate .λ. Regarding the probability of transmission, in this model, we consider the data is small enough to be transmitted whenever a contact occurs. Formally speaking, we are considering a homogeneous 1D (one-dimension) Continuous-Time Markov Chain (1D-CTMC) with N states .si = m where m represents the number of nodes that have the message. Initially, the message is only in a single mobile node, referred to as the sender node. Subsequently, with each mobile contact, the count m increases by one, indicating the number of nodes that has the message. The final state, also known as the absorbing state, is achieved when .m = N, indicates that all nodes have received the message. Consequently, this Continuous-Time Markov Chain (CTMC) encompasses an initial state .s1 = (1), .N − 1 transient states (ranging from .s1 = (1) to .sτ = (N − 1)), and one absorbing state .sτ +1 = (N ). Here, .τ is defined as the number of transient states (.τ = N − 1), and .υ represents the number of absorbing states (.υ = 1). Thus, we can represent this model by the following transition matrix .P in the canonical form:
1 Note that in CTMC, being a continuous time process, we talk of transition rates instead of transition probability.
66
5 Theoretical Models for Opportunistic Networks
⎛ P=
.
QR 0 I
⎞ (5.1)
where .I represents an identity matrix of size .υ × υ, .0 denotes a zero matrix of size υ × τ , .Q is a matrix of size .τ × τ containing the transition rate elements .pij from transient state .si to transient state .sj , and .R is a matrix of size .τ × υ in which elements .pij represent the transition rate from transient state .si to the absorbing state .sj . Now, let us calculate the transition rates .pij . Considering the state .si = (m), the following transitions may take place:
.
• .(m) to .(m + 1): A new mobile node receives the message due to contact with a node with the message. As there are m nodes with the message and .N − m without the message, the transition rate .λ · m(N − m). E • .(m) to .(m): This is the probability of no changes, so the transition is .1− j /=i pij . As this CTMC is homogeneous and has only (constant) transition rates for jumping from state .si to .si+1 is known as a pure birth process. We can estimate how the process evolves using the transition matrix .P. From the fundamental matrix .N, N = (I − Q)−1
.
(5.2)
we can obtain the expected times when each transition occurs (that is when a new node receives the message). By definition, the elements of the first row of .N are the expected times in each state starting from state .s1 . That is, the duration of state .si is .N(1, i). Thus, the time when state .si is reached is: Td (i) =
i E
.
N(1, j )
(5.3)
j =1
Thus, .Td (i) is the expected delivery delay when the ith node receives the message (or when i nodes receive the message). Consequently, .Td (N ) is the delivery delay when all nodes receive the message. For example, consider a network with .N = 4 nodes and a contact rate .λ = 0.001. The transition matrix is: ⎛
⎞ 0.9970 0.0030 0 0 ⎜ 0 0.9960 0.0040 0 ⎟ ⎟ .P = ⎜ ⎝ 0 0 0.9970 0.0030 ⎠ 0 0 0 1.0000
(5.4)
5.2 Markov Chain Models
67
Fig. 5.3 Diffusion of a message in a network of 100 nodes considering different contact rates
100 =0.001 =0.0025 =0.005
Nodes
80 60 40 20 0
0
20
40
60
80
100
120
t (s)
Fig. 5.4 Delivery delay depending on the size of the network and considering different contact rates
1000 =0.001 =0.0025 =0.005
Td (N) (s)
800 600 400 200 0
0
20
40
60
80
100
N
and the delivery delay times are: ( ) Td = 333.33 583.33 916.66
.
(5.5)
which corresponds to the time when a second, third, and fourth node receives the message, being the last element, the time when all nodes receive the message. Using the previous model, we now evaluate the diffusion of a message in a network with 100 nodes (.N = 100) and consider different contact rates. In Fig. 5.3 we can see the evolution of the system depending on time, clearly showing its epidemic behavior. As expected, the higher the contact rate, the faster the spreading of the message. We can also study how the size of the network impacts the delivery delay .Td (N ), that is, the time when all nodes receive the message. Figure 5.4 shows this delivery delay depending on the network size and for different contact rates. We can clearly see that the higher the nodes, the lower the delivery delay. At first sight, this could seem surprising, but note that the contact rate is among pairs of nodes, so if the number of nodes increases, the probability (opportunity) to contact another node with the message increases.
68
5 Theoretical Models for Opportunistic Networks
5.2.2 Limitations and Applications of Markov Chain Models The simple CTMC described in this section has several limitations. Firstly, the contact rate .λ is the same for all pairs of nodes (that is, it is a homogeneous model). We can expand the previous model into an N-dimensional ND-CTMC in order to consider different contact rates .λij , which are the contact rate between nodes i and j (that is, a heterogeneous model). Now, each state has N elements, .si = (m1 , m2 , . . . mN ), where .mi can be 1 or 0 (has or not has the message). Nevertheless, as the number of states can be extremely high (.2N ) it could only be used for evaluating networks with very few nodes. A solution to simplify the complexity of this heterogeneous model can be found in [169, 194]. Another way to reduce the state space, we could group the nodes into a few classes and consider different contact rates among them. For example, in [208], a 2D-CTMC model is used with two classes: mobile nodes and fixed nodes. Markov Chains can also be used to model other protocols, such as Single Copy, Spray-and-wait, and get other performance metrics, such as the number of copies of the message, the energy consumption (see [26, 161, 220]). Using a Poisson distribution to model the contact rate, although it makes the model mathematical more amenable, can be seen as an oversimplification. Therefore, some papers have introduced models using other more realistic inter-contact time distributions: such as distributions following the power law+exponential tail dichotomy [16], or the long tail cut-off property of inter-contact times using a grid model [77]. Markov Chains can also be used to model other aspects that can impact the performance of Opportunistic Networks, such as node selfishness [115], social selfishness [192], and cooperative detection of selfish nodes [97, 98]. Summing up, the main limitations of Markov chains stem from how the mobility (and contacts) can be modeled. In most of the models, it is simply a contact rate that is a very coarse approximation to real mobility models. Therefore, the results obtained, like most models, must be interpreted as a high-grain evaluation of Opportunistic Networks. On the other hand, the number of states of CTMC can be very high when evaluating a network with more than a few nodes, so making the solution of the equations not computable. This final aspect can be solved using compartmental models, as described in the following section.
5.3 Compartmental Models Compartmental models are widely used to model infectious diseases. As their goal is to study population dynamics, they are called Population Processes, or more simply, Epidemic Processes [125]. In general, the population is assigned to compartments with labels, and individuals can move along compartments or classes depending on some flow patterns. A very renowned example of compartmental models is the SIR one (Susceptible, Infectious, or Recovery), where people move from susceptible
5.3 Compartmental Models
69
to infectious status when they get infected, and when recovered, they move to the recovery state. Compartmental models are also Markov Chains, in which the state of the chain is the number of individuals in a population, and changes are based on rates between classes. Compartmental models are often expressed as deterministic ordinary differential equations (ODE), although stochastic models can also be used, which are more realistic but much more complicated to analyze. Particularly, Haas and Small [89] were the first authors to use a compartmental model (SI, susceptible and infectious) for a network that used animals (whales) as data carriers to store and transfer messages. Since then, as message spreading is based on epidemic diffusion, compartmental models have been used extensively to model OppNet dynamics [8, 42, 55, 91, 95, 162, 234, 238, 239]. In this section, we present two basic epidemic models: a basic epidemic model, which is equivalent to the Markov Chain model introduced in the previous section, and an extended model considering a scenario where the population is not constant. Then, we detail the limitations of these models and some of their applications.
5.3.1 Basic Epidemic Model Similar to the Markov Chain model explained in Sect. 5.2.1, we consider a network with N nodes that move unrestrictedly within a specified area, with an effective contact rate .λ among node pairs. Whenever an infected node, which carries the message, comes into contact with a susceptible node that does not carry the message, immediate transmission of the message occurs. The result of this contact is that both nodes will carry the node and will be able to transmit it to (or infect) other nodes. Using the compartmental model notation, the population is classified into two classes: the infected nodes (I ) and the susceptible nodes (S). The total population remains constant: .N = N0 = I + S. In this simple model, we consider only the transition from the susceptible class S to the infected class I , which occurs when a susceptible node gets infected. This transition is denoted as .(S → I, λSI ), where nodes move from class S to class I at a rate of .λSI . Note that this transition rate is equivalent to the one defined in the previous CTMC model (.λm(N − m)). The behavior of this model can be mathematically described by a set of Ordinary Differential Equations (ODEs): S ' (t) = −λS(t)I (t) .
I ' (t) = λS(t)I (t)
(5.6)
Considering the initial infection of a single node (.I (0) = 1) [238], these ODEs have a simple analytical solution, allowing us to determine the number of infected nodes over time:
70
5 Theoretical Models for Opportunistic Networks
I (t) =
.
N 1 + (N − 1)e−λN t
(5.7)
As stated by Kurtz’s convergence theorem [124], when population N grows large, this solution can also be derived as the limit of the CTMC presented in the previous section. Thus, the results obtained using expression 5.7 are similar to the ones obtained using expression 5.3 displayed in Fig. 5.3. Nevertheless, the computation time using expression 5.7 was negligible when compared to CTMC solutions.
5.3.2 Epidemic Model for an Open Area Now, we consider a scenario where the number of nodes can vary. Imagine, for example, a train station that wants to spread some information to the people entering and staying there. Initially, there are .N0 people, and the message is spread by one fixed node. People arrive at the station with a rate .β and do not have the message (susceptible individuals). Finally, people leave the station with rate .δ. As both infected or susceptible nodes can leave the station, the final exit rate for both classes is determined by the proportion of susceptible and infected nodes. Consequently, the population .N(t) (that is, the number of nodes) depends on the initial population .N0 and the arrival and exit rates: N(t) = N0 + (β − δ)t
N(t) > 0
.
(5.8)
being .N (t) = I (t) + S(t). In Fig. 5.5 we can see a graphical representation of the compartmental model for the open area, with two classes (S,I) and the transitions between classes, which are detailed below: • .(→ S, β): new nodes enter the place with .β rate. The outer nodes enter directly into the susceptible class (they do not have the message) • .(S → I, λSI ): new nodes get the message when contacts occur. The same rate as in the basic epidemic model. • .(S →, δS/(I + S)): nodes with no message leave the place. As all nodes can leave the area with rate .δ, the rate corresponds only to the ratio of susceptible ones (.δS/(I + S)) • .(I →, δI /(I + S)): nodes with the message leave the place Fig. 5.5 Compartmental model for an open area
b d S/(I+S)
S
λSI d I/(I+S)
I
5.3 Compartmental Models
71
100
80
80
Nodes
120
100
Nodes
120
60
60 40
40 20 0
20
I(t) N(t)
0
50
100
time (s)
150
0
200
I(t) N(t)
0
50
100
time (s)
300
100
250
I(t) N(t)
Nodes
200 150 I(t) N(t)
100 50 50
100
time (s)
150
200
Nodes
80
0
200
(b)
(a)
0
150
60 40 20 0
0
50
100
time (s)
(c)
150
200
(d)
Fig. 5.6 Evolution of the infected nodes .I (t) for different combination of .β and .δ values: (a) = δ = 0; (b) .β = 1, .δ = 0; (c) .β = δ = 1; (d) .β = 0, .δ = 1
.β
Again, the system dynamics can be expressed using a deterministic model based on ODEs: S ' (t) = −λS(t)I (t) + β − δS(t)/N(t) .
I ' (t) = λS(t)I (t) − δI (t)/N(t)
(5.9)
N ' (t) = β − δ Although this set of equations does not have a simple analytical solution, we can use numerical methods (for example, the Euler method) to solve them and obtain the dynamic of the systems. Compared to the basic epidemic model, in which all nodes get the message, the evolution of this model will depend on the values of .β and .δ. To illustrate the dynamics of this system, we examine an area with 100 nodes (.N0 = 100) and one node initially infected (.I0 = 1). The contact rate is .λ = 0.001. The goal is to study the evolution of the infected nodes (.I (t)) and the total number of nodes (.N(t)) in the area, considering various values of .β and .δ as depicted in Fig. 5.6. Initially, we consider the scenario where there are no arrivals or departures (.β = δ = 0), analogous to the basic epidemic model. As depicted in Fig. 5.6a, the system remains stable, and all nodes eventually receive the message. Next, in Fig. 5.6b,
72
5 Theoretical Models for Opportunistic Networks
we examine the case where the arrival and departure rates are equal (.β = δ = 1). Here, the system reaches an equilibrium point, but not all nodes receive the message (.I (t) < N (t)). In the scenario where .β > δ, the number of nodes continues to increase indefinitely, as depicted in Fig. 5.6c. Finally, when .β < δ, all nodes eventually leave the area, resulting in .N(t) decreasing to zero, as illustrated in Fig. 5.6d. Of the previous scenarios, only when .β = δ does the system reach an equilibrium. Being .β = δ, we can consider this value as a renewal rate (that is, the rate at which nodes are renewed in the area), and the number of nodes in the area will remain constant. For this case, we can obtain an analytical solution for the ODEs in 5.9. When the system attains equilibrium at time .ts , it follows that .S(t), .I (t), and .N (t) remain constant for .t > ts , resulting in their derivatives being equal to zero. From Eqs. 5.9, we can deduce that .N ' (t) = 0 = β − δ. Thus, when .β is equal to .δ, the number of nodes .N(t) remains constant at .N0 . If we consider the ' .I (t) equation and substitute .N(t) with .N0 and .S(t) with .N0 − I (t), we obtain: I ' (t) = λ(N0 − I (t))I (t) − βI (t)/N0 = −λI 2 (t) + (λN0 − β/N0 )I (t)
.
(5.10)
When .I (0) = 1, the solution of this equation is: I (t) =
.
bebt λ(ebt − 1) + b
b=
λN02 − β N0
(5.11)
By utilizing the expression given in (5.11), we can calculate the number of nodes that have received the message when the system reaches equilibrium. To determine these equilibrium points, we need to satisfy the condition that .I ' (t) = 0. After discarding one of its solutions (.Ie = 0), we have: Ie =
.
λN02 − β λN0
Ie ≥
(5.12)
As the .Ie must always be positive, the previous expression only holds true if λN02 − β > 0. This condition implies that when the total number of contacts2 (.λN02 ) exceeds the arrival and exit rates (.β = δ), the system reaches equilibrium, where .Ie nodes retain the message. On the other hand, if the total number of contacts is smaller than the arrival/exit rate, the system tends towards having zero nodes with the message (.Ie = 0). As in the CTMC model, we can also derive the delivery delay .Td (M) (the time when a given number of nodes M get the message). From Eq. (5.11), we can set .I (t) = M and solve it for t: .
be more precise, the total number of contacts is .λN (N − 1), which is practically .λN02 when N is sufficiently large.
2 To
5.3 Compartmental Models 100
73
= = = =
80
=0 =0.5 =1 =2
Ie
60 40 20 0
0
20
40
60
100
80
N0 (a) 600 = = = =
Td (M) (s)
500 400
=0 =0.5 =1 =2
300 200 100 0
0
20
40
60
80
100
N0 (b) Fig. 5.7 (a) Number of nodes that get the message, and (b) their delivery delay depending on the initial number of nodes .N0 for different renewal rates (.β = δ)
Td (M) =
.
⎛ ⎞ 1 bM − λM log b b − λM
b=
λN02 − β N0
(5.13)
For example, considering a contact rate .λ = 0.001, in Fig. 5.7 we can see the number of nodes that get the message (using Eq. 5.12) and their delivery delay (using Eq. 5.13) depending on the initial number of nodes .N0 for different renewal rates (.β = δ). We can see in Fig. 5.7a that when the renewal rate increases, the number of nodes required to start a diffusion increases. It is clear that if the renewal rate is high, the nodes stay less time in the area, reducing the opportunities to contact other nodes with the message. On the other hand, Fig. 5.7b shows that the delivery delay converges for all renewal rates to a similar time (around 100 s).
74
5 Theoretical Models for Opportunistic Networks
5.3.3 Limitations and Applications of Compartmental Models Although compartmental models can solve some of the problems derived from using general CTMC models, such as their complexity, some limitations persist. Notably, most compartmental models are homogeneous (the contact rate is the same for all pairs of nodes). The example models described are considered deterministic approximations of stochastic models. These stochastic models can be used to obtain realizations of real models that can lead us to obtain probabilistic distributions [162]. The models are expressed using SDEs (Stochastic Differential Equations), but as in the CTMC model, they can only be used for small networks. Stochastic models can be combined with a contact network graph to model a heterogeneous model (considering different contact rates between pairs of nodes) [64]. Nevertheless, obtaining a detailed contact network graph of all the nodes is not usually amenable and can be used for very small networks. Models can also include different classes of nodes with different contact rates, as depicted in [96], which considers mobile and fixed nodes. Compartmental models can be used to model protocols other than Epidemic. For example, Zhang et al. [238] derived analytical expressions for the average delivery delay, number of copies, and the average size of the queues for Epidemic, 2-Hop, Probabilistic Forwarding, and Limited time forwarding protocols. De Abreau et al. [55] also used a compartmental model with more classes to model the Epidemic protocol considering the life of messages (mainly TTL) and compare the model with simulation. Transmission time and buffer occupation are essential aspects of opportunistic networks. Most models consider that a message is transmitted without delay when contacts occur and that buffers have infinite capacity. The authors in [95], using Delay Differential Equations (DDEs) to model a compartmental model, showed that message size (and thus transmission time) has a serious impact on the performance of OppNets. This work was extended in [91] to consider also the buffer occupancy. Instead of relying only on the contact rate, other authors consider some social behavior in the contact patterns. For example, in [234], the authors propose a compartmental model for analyzing epidemic information dissemination in mobile social networks. Their model takes into account user behavior, particularly when their interests change depending on the information type, which can significantly impact the dissemination process. Through extensive simulations, the authors prove the accuracy of their model. An interesting application of compartmental models is to include them in network layers to control the traffic. For example, the VACCINE recovery scheme is employed in various routing protocols within opportunistic networks to manage the propagation of redundant packet copies. This scheme effectively controls unnecessary duplication by leveraging the SIR epidemic model [42]. Particularly, the authors in [8] proposed a new network layer solution (EHOR) that includes a SIR model to control the traffic.
5.4 Other Methods
75
Summing up, despite their limitations, most of the compartmental models are easy to create, solve and understand and can be used as a high-grain evaluation of OppNets.
5.4 Other Methods In addition to the commonly used Markov chain approach, various alternative analytical models have been employed in research papers within the field of theoretical evaluation of OppNets. While some of these papers primarily focus on enhancing existing forwarding protocols, such as Spray and Wait, or proposing new forwarding algorithms, they also contribute by providing analytical models to compute the time it takes for messages to be delivered in the network, either to all nodes or to specific destination nodes based on forwarding strategies used. These alternative models, such as General Probabilistic methods, Graph Theory, Linear Fractional Transformation, and more, offer unique perspectives into understanding network dynamics and behaviors, specifically with regard to how data dissemination occurs throughout the network in OppNets. In the following summaries, the application of these analytical models is explored, highlighting their contributions to the modeling of message delivery in opportunistic networks. The research paper [137] introduces the Predict and Forward algorithm, which aims to overcome the limitations of traditional message delivery methods by implementing end-to-end communication based on node attributes. The algorithm consists of two phases: studying the network state and making message delivery decisions. A new message model called Prelearn is introduced, enabling messages to be sent to a destination profile. The algorithm utilizes a message delivery function that compares attribute characteristics of nodes to identify the destination node. To select the appropriate relay node for data transmission and predict the probabilities of future meetings, a probability prediction matrix based on historical encounter information is used. The algorithm in this paper is based on optimal stopping theory, which provides a theoretical framework for selecting the optimal transition moment between the two phases. The paper [164] investigates relay node selection in heterogeneous mobile OppNets with independent and exponentially distributed inter-contact times. The focus is on minimizing the mean delivery delay by adopting the spray-andwait probabilistic forwarding strategy. This strategy allows the source node to probabilistically copy the message to a relay node. To address the relay node selection problem, the authors utilize a two-hop probabilistic forwarding strategy and incorporate a constraint on the total number of message copies. The authors derive a closed-form expression for the mean delivery delay under any given probabilistic two-hop relay selection policy as well as present a solution to the delay minimization problem using an algorithm with linearithmic time complexity. The paper [140] focuses on the problem of optimal data dissemination in resource-constrained mobile OppNets, specifically delay-constrained least-cost
76
5 Theoretical Models for Opportunistic Networks
multicasting. The authors propose a centralized heuristic algorithm to discover a multicast tree that meets the delay constraint while minimizing communication costs. This algorithm is computationally expensive but provides valuable insights for developing a distributed scheme. The centralized approach learns the probabilities of delivering data along different paths to different nodes and determines the optimal multicast tree by balancing cost and delivery probability. However, the optimal routing tree computed by the centralized solution may not be the best solution for individual transmissions in mobile OppNets. To address this, the authors develop a distributed online algorithm using optimal stopping theory. In the distributed algorithm, nodes make adaptive online decisions on whether to exploit communication opportunities to deliver data packets. An approximate multicast tree is established based on partial network information, and nodes use an optimal stopping rule to make routing decisions on each transmission opportunity. The algorithm is designed to achieve efficient decision-making for delivering packets within a given delay budget. In [226], the authors conduct an analytical investigation into the performance of the Epidemic protocol, asserting that intermittently-connected mobile networks can be represented as Edge-Markovian dynamic graphs. They introduce a novel model for epidemic propagation on such graphs and derive a closed-form expression linking the optimal delivery ratio to key parameters in opportunistic networks, such as message size, maximum acceptable delay, and link lifetime. Through their research, they demonstrate that the message size significantly influences the delivery ratio, taking into account specific constraints on maximum delay and node mobility. These research papers demonstrate the utilization of alternative analytical models beyond the Markov chain approach in OppNets. Although their main focus lies on forwarding strategies, as mentioned earlier, these papers make significant contributions towards comprehending message delivery in such networks, employing models such as optimal stopping theory, probabilistic forwarding strategies, and centralized/distributed heuristic algorithms.
5.5 Chapter Summary In general, most of the theoretical models focus on modeling data dissemination and delivery delay. Apart from these KPIs, some models also evaluate aspects such as the number of copies, buffer occupancy or even energy consumption. Table 5.1 shows a brief overview and comparison of KPIs that can be obtained using the different theoretical models. The KPIs considered are the following (see Sect. 4.3 for more details): • Delivery delay: it usually is the average delay, but some models also obtain a distribution of the delay. In flooding class protocols, it can also get the data dissemination, that is, the evolution of the number of nodes with a copy of the message.
Reference Parameters Markov chain models Groenevelt [85] Hom Karaliopoulos [115] Hom Het Picu [169] Tornell [208] 2-C Becchetti [16] Hom Boldrini [26] Het Sermpezis [192] Het Hernández [239] Hom Het Sermpezis [194] Orozco [161] Het Vatandas [220] Hom Hu [106] Het Hom Peyravi [168] Compartmental models Zhang [238] ODE ODE DeAbreu [55] Chen [42] ODE SDE Pajevic15 [162] ODE Xu [234] Zhao [239] ODE
Delivery delay
Goal
Evaluate dissemination Impact of node selfishness Epidemic diffusion Map based delivery protocol Power law and Expon. ICT Power law and Pareto ICT Evaluate social selfishness Evaluate watchdog selfish nodes Evaluate social selfishness Evaluate data dissemination Evaluate data dissemination Evaluate delays under different mobility Exponential CT and ICT
Modeling epidemic routing Modeling epidemic routing Control of epidemic dissemination Open area dissemination Mobile social networks Evaluate proposed protocols
Table 5.1 KPIs obtained using different theoretical models Number of copies
Buffer occupancy
Number of hops
Energy consumption
(continued)
5.5 Chapter Summary 77
Goal Control of epidemic dissemination Variable contact times and msg. Optimise buffer occupancy
Impact of node density Evaluate social forwarding Impact of hop count Impact of traffic heterogeneity Impact of relay node selection Delay-constrained least-cost multicasting Proposing a forwarding algorithm (EDPIT) Communication in 5G OppNets Proposing a forwarding algorithm Proposing a forwarding algorithm Proposing a forwarding algorithm Evaluate dissemination
Parameters ODE DDE DDE
Grid model Convergence GT GP SP GT unknown CM,ODE GP GP GP SP
Delivery delay
Buffer occupancy
Abbreviations MC: Markov Chain; CM Compartmental Model; 2-C: Two-class MC Hom: Homogeneous contact rate; Het: Heterogeneous contact rate; ICT: Inter-contact Times; CT: Contact Times ODE: CM expressed as Ordinary Differential Equations; SDE: CM as Stochastic Differential Equations DDE: CM as Delay Differential Equations GP: General Probability; GT: Graph Theory; SP: Stochastic Process
Reference Aung [8] Hernández [95] Hernández [91] Other models Garg [77] Boldrini [27] Bayhan [15] Sermpezis [193] Patra [164] Liu [140] Wu [229] Hernández [96] Liu [137] Xu [233] Xiao [232] Wang [222]
Number of copies
Table 5.1 (continued) Number of hops
Energy consumption
78 5 Theoretical Models for Opportunistic Networks
5.5 Chapter Summary
79
• Number of copies: it obtains the average number of packet copies generated in protocols such as epidemic, probabilistic forwarding, etc. Some authors consider this metric as overhead. • Buffer occupancy: buffer occupancy at each node, usually when considering a flow transmission. • Number of hops: in unicast transmission, the number of nodes a message traverses to reach its destination • Energy consumption: general expression for evaluating the energy or power consumption
Problems 5.1 Discuss the understating of the following terminologies and the impact on OppNets performance in a team. Refer to Sect. 5.1 • Difference between Contact Times (CT) and Inter Contact Times(ICT) • Meaning of Uniform Node Distribution in a circle • The difference between Homogeneous and Heterogeneous contact rates 5.2 Consider a stationary scenario with 25 nodes uniformly distributed in a circle. All the nodes have the same communication range, and the nodes are stationary. The network diameter is considerably larger than the 2 times of the communication range, R. Justify the following statement. The higher the R results in faster dissemination of messages to all the nodes in the network. Hint: Draw the network with a smaller R and visualize. 5.3 In Sect. 5.2.1, we introduced some expressions to obtain the delivery delay (particularly Eq. 5.3). Using this expression, we obtained the delivery delay depending on the network size (see Fig. 5.4) and for several contact rates. Now, plot the delivery delay depending on the contact rate (range 0.001–0.010) for different network sizes (N = 100,200,300). 5.4 The basic epidemic model described in Sect. 5.3 is a simplification of the Markov Chain Model introduced in the previous section. Using the basic epidemic model (Sect. 5.3.1, expression 5.7), generate a plot equivalent to the one in Fig. 5.3, and check that the results are the same. 5.5 The networks used as examples in Sect. 5.3 are relatively small. Repeat the experiments for networks with 1000, 5000, and 10,000 nodes (that is, plot Fig. 5.7 again).
Chapter 6
Simulation Models for Opportunistic Networks
Simulation models are mathematical models and algorithms that mimic the behavior of real systems. For example, the application traffic of a browser can be modeled as a random function. Simulation models can be very simple (such as the traffic example) or very complex. In general, we discuss simulation models separately from simulation tools. A simulation tool usually offers a simulation engine, which controls and executes simulation models and scenarios. It also usually offers many alternatives to all possible simulation models so that researchers can explore the impact of those models in their systems. We will discuss simulation tools in the next chapter. In this chapter, we explore what kind of simulation models OppNets require and which options exist.
6.1 Simulation Model Stack for Opportunistic Networks The simulation models required by OppNets are depicted in Fig. 6.1. There, we have identified two versions: a complete set of models and a reduced one. The complete set includes really all possible aspects, including radio propagation, user behavior, etc. However, this very high level of detail also means long run times, complex models, and many error sources. Most often, researchers turn to a less complete set of models, which we call here the reduced set. Let us march through all models first. • Energy expenditure models define how each component of the system (radio, processing, sensors, etc.) uses energy. This could be as simple as a bucket model with abstract entities to spend or as complex as fine-tuned mA expenditure, depending on the type and amount of work. This level of detail is considered too high for opportunistic networks, which are not that energy-restricted in most cases. However, when applied in the IoT domain, energy expenditure should be considered, at least in a simple way.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_6
81
82
6 Simulation Models for Opportunistic Networks Complete set of simulation models for opportunistic networks
Reduced set of simulation models for opportunistic networks
Energy Expenditure
Battery
Power generation
Traffic Application Traffic Application
User behavior
Data propagation
Data propagation
Link technology
Interference
Link abstraction Contact traces
Radio propagation
Mobility
Mobility
Fig. 6.1 The complete and the reduced set of simulation models for opportunistic networks
• Battery models mimic the behavioral characteristics of real-world batteries like capacity, maximum voltage and current, charging and discharging, temperature dependency, lifetime, etc. Simple models assume the battery functions like a bucket (see above). Once the abstract energy coins are depleted, the battery dies and the node stops working. More sophisticated models add properties of self-discharge, self-recovery, different loads on the battery, etc. Opportunistic networks are often considered to be implemented on battery-rich devices, which makes battery models not very relevant. However, a battery model is important to be used for IoT applications.
6.1 Simulation Model Stack for Opportunistic Networks
83
• Power generation models simulate the work of a power source, such as solar or wind or simple recharging. Again, for general-purpose opportunistic networks, these models are not necessary. • Traffic models dictate how much data is produced in individual nodes. Obviously, this also depends on the application (see next), but the application also includes some other properties. Very often, a simplified combination of traffic and application is used, where data is produced according to some usually random algorithm; each data item has a destination and expires after some time. • Application models, as already discussed above, typically include the traffic model (data generation model), but in some cases, are much more complex and reactive. For example, an application model could mimic the behavior of an IoT system, which receives messages from its neighbors and creates events from them. Thus, the traffic is not predefined but depends on the content of other messages or some other external events. Depending on the scenario, such an application can impact the network significantly. However, it is unclear whether this complex behavior cannot also be modeled with a set of different random functions (for example, with high and low traffic intensity). Thus, mostly simple application models are preferred. • User behavior models have been introduced rather late and, to the best of our knowledge, are unique for human-borne opportunistic networks [73]. They model the way people react to messages and content. For example, a user could decide to answer a message or forward it. Moreover, she might decide to change her mobility, for example, because she received a message about a concert where she wants to go. User behavior is very important for scenarios where mobility depends on users and the content they receive. It is also very important for vehicular networks, where an accident warning or a congestion message can potentially alter the mobility of vehicles completely. However, the implementation of this model also requires changes in the mobility models and the way they work in general and is very complex. • Data propagation models implement a particular data dissemination (as discussed in Chap. 2) algorithm, with some more details, such as the data structures used, parameters available, etc. These models are usually the heart of the evaluation and their main parameter. The idea is to decide which data propagation algorithm to use and how to fine-tune it. • Link abstraction models consist of link technology, interference, and radio propagation models. Together they describe how the radio signal is propagated and whether it is received successfully or not. These models can be very sophisticated but also very slow to execute. For opportunistic networks, we typically abstract them away to a single model, which deterministically or stochastically defines whether a packet was received or not, depending mostly on the distance between the sender and receiver. Also, the transmission rate is taken into account to determine how long the packet is in transit. • Mobility models define how the individual nodes move. Mobility models are the driving force for opportunistic networks. Their realism is very important in evaluating OppNets and various families of existing models.
84
6 Simulation Models for Opportunistic Networks
• Contact traces are a combination of mobility and link abstraction, which is run independently of data propagation of applications to identify when particular nodes can communicate or not. They do not take into account any interference (since there is no data traffic). However, they save a lot of simulation time and do not sacrifice complexity when the underlying models are simple anyway. In the next sections, we will address more deeply the individual simulation models relevant to opportunistic networks (the reduced set in Fig. 6.1). However, we will not go again into data propagation protocols, as those have already been discussed in great detail in Chap. 2.
6.2 Application Models Generally speaking, an application model is a data traffic model. It defines when and how much data is produced, to whom it is destined (broadcast, unicast or multicast), how long it is alive (time-to-live), and how it is consumed. Let us explore these properties one by one. • Traffic amount and periodicity can be pretty much everything. Data can be produced very often, e.g. every couple of milliseconds, as it is the case for vehicular networks, or very rarely, like once per day or less for chatting applications. The data size can also vary from very small (just some text or a sensor reading) to very large (videos). It depends on the targeted application. • The destination in opportunistic networks is usually broadcast or unicast and rarely multicast. Broadcast applications include vehicular networks, disaster recovery, marketing, smart city, and many more. It is, in fact, considered the main scenario, as the assumption is that everybody is interested in the data. Unicast applications have been proposed a lot but are considered very representative of opportunistic networks. If someone wants to chat with a friend, they would probably opt for more real-time communication technology, such as cellular networks or WiFi. Multicast or the so-called role-cast scenario has not been in the focus of the research community a lot, but can in fact represent one important scenario. For example, the data could be destined for anyone with the role of a firefighter or a medical person. This could be of great interest for disaster relief applications. The difference between multicast and role-cast is that multicast is aimed at particular destinations (devices or people), while in role-cast, the roles of individual devices or people can change over time. • Time-to-live or TTL is the time a particular data packet is supposed to live in the network. It is useful to set a TTL, since otherwise, some packets might travel very long through the network, like broadcast packets. In general-purpose opportunistic networks, TTLs of several hours are used, for up to several days. Some particular applications, like vehicular or sensing networks, might use much lower TTL in the order of seconds. Yet others, like satellite networks, might use much longer TTLs to make sure that data has a good chance to arrive. When
6.3 Link Abstraction
85
configuring the TTL, two things need to be taken into consideration: how long will this packet be useful, and how long the packets typically need to arrive at their destinations? If those two properties contradict each other, the application should not be implemented with opportunistic networks (see also the discussion in Chap. 11). • Consumption of data packets is usually simple: when a packet is received, it is simply marked as received and ignored. However, it can also be used for further actions. One plausible consequence of the arrival of a packet is to create a response to the original sender. Another way is to evaluate the content itself and to react to the message with a mobility action, like going somewhere or scheduling a trip. This is what we call User Behavior Model (see also Fig. 6.1), more details are provided below. It is important to couple the traffic model with the mobility model for opportunistic networks. For example, when the mobility model is clearly day-night driven, the application traffic model must be day-night driven too. Otherwise, it will look like people are chatting all night long while being at home and their packets will be likely not delivered until the next day. This is not a very realistic scenario. The opposite is also true: when the mobility model is not day-night driven, the data traffic model should also not be. One relatively new specific model for opportunistic networks is the User Behavior Model (UBM) (see Fig. 6.1). It defines how exactly the user reacts to a particular piece of data. Traditionally, this model simply does not exist, and we assume that data is “read” and discarded. However, this is not what happens in reality. Consider a chatting application in a company environment. Most of the data is not simply news to read, but personal messages, such as “Are you joining us for a coffee downstairs?” or “The team meeting has been postponed to 2:30 pm”. People react to those messages and plan new activities, move somewhere immediately, or plan a movement for later. In opportunistic networks, these actions change the mobility of the devices and thus also the topology of the network itself. However, UBM can only be applied with a flexible, synthetic mobility model, which can accommodate changes in mobility. With real location traces or contact traces, this cannot be achieved. Additionally, UBM increases the complexity of the simulation and thus its run-time and development overhead.
6.3 Link Abstraction The link layer is one of the major challenges for opportunistic networks. Strictly speaking, it needs to model the transmission of data packets from one device to another through the wireless medium by using some concrete wireless communication standard, such as Bluetooth, WiFi, etc. However, the complexity of this process is overwhelming, including details of modulation/demodulation, handshakes, sometimes frequency hopping, interference, multipath fading, reflections,
86
6 Simulation Models for Opportunistic Networks
and many more. In practice, we are trying to mimic the impact of the most important (and most influential) properties by using relatively simple random functions and assumptions. Thus, we focus on the following questions: 1. Which node is in communication range with which other nodes? 2. What is the bandwidth and the delay for communicating between two nodes? 3. How to handle interference between different pairs of communicating nodes? Let us explore how we handle these individually.
6.3.1 Communication Range Communication success depends on the distance between two nodes. The correlation is not linear, but we can assume a circle around the sending node for simplicity. The radius of this circle can be computed assuming some particular wireless technology and environment or can be experimentally identified. For example, the work in [185] has performed measurements with BLE and has identified that in a campus environment, the most realistic radius is around 30 m. The resulting model is called Unit Disk Graph (UDG) and works as follows. It defines a radius R and evaluates the distance between two nodes periodically. If the distance is below or equal to R, the two nodes are considered in range and can communicate with each other without errors (all data is received). If the distance is larger than R, then the two nodes are not in range and do not communicate at all. This model is simple and fast and gives already a good evaluation of the expected behavior. However, one has to be aware of the fact that in reality, transmission errors occur and need to be considered. They can significantly lower the performance of the complete network. This is especially true for the borders of the disk, where communication usually gradually deteriorates and does not abruptly change from success to no success. A more sophisticated model, called Quasi-UDG is based on a similar work from the area of sensor networks [75]. The main idea is that the area around a sender is divided into two areas: a perfect communication area closer to the sender and a probabilistic communication area further away. This idea is depicted in Fig. 6.2. In this figure, R is the complete transmission radius, and .α is the fraction of R, where communication success probability is less than 1. Inside this smaller area .αR, the probability of success is .ρ. Of course, with the proper values for .α and .ρ, one can adjust the model to be the traditional fully deterministic UDG model or to be fully probabilistic. Even this only slightly more complex and realistic model has a significant impact on the performance of an opportunistic network. Figure 6.3 shows this impact in a number of experiments. We have used the original UDG and the Quasi-UDG model with various data dissemination protocols (you can find more details about them in Chap. 2). HERALD and MESSENGER are the names of a broadcast and a
6.3 Link Abstraction
87
Fig. 6.2 The main principle of the Quasi Unit Disk Graph model B αR
R A
ρ =
G
=
P
Q
G
U
D
D
U
ρ
PQUDG = 0 d>R
PQ
PQUDG = 1
αR < d < R
d
αR < d < R
PQUDG = 0 d>R
unicast application model, respectively, as used in the OPS/OMNeT++ simulation framework (see Chap. 7). The network’s performance in terms of delivery ratio is somewhere between the two UDG models of 21 and 30 meters, which is plausible. In the lower graph, you can see the number of contacts the different UDG models produce. As a side effect of this experiment, you can clearly see how different protocols leverage the available contacts or communication opportunities.
6.3.2 Bandwidth and Delay The bandwidth and delay properties of a communication link have been only rudimentary considered when simulating opportunistic networks. Usually, the maximum bandwidth associated with a particular communication technology is used (for example, for opportunistic networks, WiFi or Bluetooth). This is of course not optimal and leads to much higher communication success across all nodes. In reality, packet losses and the environment itself lead to lower communication bandwidth. However, as we already discussed above, a complex and sophisticated model would slow down the simulation speed significantly and is thus not desirable. The situation is the same for the delay. It is simply computed from the distance between two communicating nodes and the frequency they use. Further relevant delays, such as connection setup or security handshake, are ignored for the sake of simulation speed.
88
6 Simulation Models for Opportunistic Networks
1.0
Data Delivery Ratio
0.9
0.8
0.7
0.6
0.5
0.4
Herald - Epidemic
Herald - Keetchi
Messenger - Epidemic
Messenger - ProPHET
Network Routing Protocol UDG Model - 21m
Average Contact Count Data Received Average Delay (hours)
10000
UDG Model - 30m
Quasi - UDG Model (α = 0.707)
Figure 4.5: Data Delivery Ratio for Use-Case 1
9500 50
45 9000 40 35 8500 30 8000 25
20 7500 15
Herald - Epidemic
Herald - Keetchi
Messenger - Epidemic
Messenger - ProPHET
Network Routing Protocol
10
UDG Model - 21m
UDG Model - 30m
Quasi - UDG Model (α = 0.707)
5
Fig. 6.3 The impact of using Quasi-UDG for various data dissemination protocols. On the top, you can see the delivery ratios of various protocols. On the bottom, you can see why this is happening— the number of contacts changes
6.3.3 Interference The interference problem is usually ignored altogether. This is not very realistic, but it speeds up the simulation significantly. Some tools (such as the OMNeT++ network simulator discussed in Chap. 7), also support interference. Again, the model can be more or less trivial. The simplest way to identify interference is to watch for simultaneous transmissions. A single transmission lasts for some time, which is usually marked by two separate events in time: start and end. If the node has started to receive a packet and yet another packet starts arriving before the first one has finished, both packets are dropped.
6.3 Link Abstraction
89
1.0
Data Delivery Ratio
0.8
0.6
0.4
0.2
0.0
0.00
0.25
0.50
0.75
Packet Drop Rate Herald - Epidemic
Herald - Keetchi
Messenger - Epidemic
Messenger - ProPHET
Fig. 6.4 Delivery ratios for different drop rates and various combinations between an application layer and a forwarding protocol
This simple model can be extended to become more realistic. For example, if the RSSI values of individual packets are available, then these values can be compared and their difference can be used to decide whether one packet will be received (the stronger one) or both are dropped (if their RSSI values are too similar). This mimics the behavior of real radio transmitters, where the strength of the signal decides which packet was successfully decoded and which was not. However, this extension can be used only if RSSI values are computed (which is usually not the case with simple radio transmission models, like the ones discussed in Sect. 6.3.1). Yet another extension of this model is to consider two different transmission radii: one for communication and one (larger) for interference. This extension can be used with or without the RSSI extension described above. In this case, the packets which are out of range for successful communication are still considered for interference. However, probably the simplest way of considering interference and other properties of the environment is to implement a drop rate. This drop rate is applied to all packets without directly considering packet collisions. Usually, it is random, and its value (between 0 and 1) is configured to represent a particular scenario. The drop rate can be higher for very dense scenarios, for many obstacles in the environment, etc. Thus, strictly speaking, it does not represent interference and collisions but accounts for some packet losses, which also occur during collisions. This model is surely very simple and better than ignoring packet loss, but it is also very hard to configure realistically. Figure 6.4 shows an experiment where four different combinations of application layers and forwarding protocols have been evaluated with different drop rates. HERALD is the name of a broadcast application model, where MESSENGER stays for a unicast application. The forwarding protocols Epidemic, Keetchi, and PRoPHET have been discussed in Chap. 2. It can be seen that the delivery rate drops drastically with increasing drop rates. Thus, it is crucial
90
6 Simulation Models for Opportunistic Networks
to use a well-configured drop rate. However, drop rates behave differently in reality: they change with time and place, which has not been considered here. We can conclude here that interference is an important issue for evaluating opportunistic networks, but the models are too complex and hard to configure realistically. It is still an open research question whether the results from a simulation study are strongly correlated to the results from real applications.
6.4 Mobility Models and Contact Traces Mobility models control the movement of individual nodes in a simulation. We have been discussing mobility already in detail in Chap. 1, and we already know how important realistic mobility is for simulating opportunistic networks. In this section, we will discuss how to simulate mobility realistically. There exist mainly three types of mobility models [57]: • Random models use formal methods to compute the next position of a node. They are typically completely random, i.e., they do not consider any obstacles in the environment, streets, or similar. The node modes from one random point to another with a constant speed, then turns abruptly at the pre-computed location and starts moving to the next location. This also resembles Brownian motion and is not very well suited for simulating the mobility of real people, vehicles, etc. However, since the models are based on mathematical formulations, they can be easily integrated into theoretical evaluation models (see Chap. 5). • Trace-based models use recordings (logs) of real people or devices and their movement. Many such datasets have been gathered over the years and are publicly available, e.g. under CRAWDAD1 database. Instead of computing the next location, as for random models, the locations are taken from the logs directly. Between the locations, a constant speed and a straight line are applied. Traces are realistic but limited in time and number of participants and can lead to relatively slow simulations. They also often suffer from gaps in the data because of various technical problems during the dataset collection. • Hybrid models combine both approaches from above by extracting statistics or observations from real-world traces and using them to parameterize random models. Such models are still scalable like random models but achieve more realistic results than purely random models. However, the extraction process removes outliers and other unique events of the real dataset. The general algorithm for any mobility model is presented in Fig. 6.5. A PoI is a Point of Interest, that is, the location a particular node is heading for. After reaching, the node can pause there or can immediately proceed to the next PoI. All models move in a straight line between any two PoIs. For random models, the PoIs
1 https://crawdad.org.
6.4 Mobility Models and Contact Traces
91
Fig. 6.5 The general algorithm behind any mobility model. A PoI is a point of interest
start A init PoIs init node position B select next PoI
move C
pause D
yes
new PoI reached?
no
wait X secs X - precision
are usually far away from each other, resulting in a very unrealistic manner of going around the simulation environment, irrespective of streets, buildings, etc. For traces, the PoIs are the individual GPS locations in the trace, which are typically very close to each other, e.g., only a few meters. A straight line between any two points is a good and realistic approximation. For hybrid models, the PoIs are also close to each other and follow the restrictions of the environment. Furthermore, we can differentiate between passive and reactive mobility models. A passive model is a model that moves the nodes around in a way independent of all other layers. This is surely the case for all traces since they are recordings from real experiments and cannot be changed anyhow. Vice versa, only passive models can be used to create contact traces. Reactive models can react to user behavior. For example, when a (simulated) user receives a message from a friend, she might decide to meet her in some time in the city center, which requires the mobility model to move her there. This model is very important when crowd behavior needs to be examined, for example, in disaster scenarios or vehicular accidents. They require an additional model, the user behavior (see again Fig. 6.1), and can change or plan the movement of a node. Reactive mobility models cannot be traces, as those are fixed. The underlying mobility model can be of any random or hybrid type. Strictly speaking, reactive mobility models are a way to implement models, not independent models by themselves. We will discuss one such implementation in the next Chap. 7 and will not discuss them here further. Yet another way to classify mobility models is to use their scope and scale. Microscopic mobility models mimic the mobility behavior of individual nodes or people. Most of the mobility models used for opportunistic networks are microscopic. However, there also exist macroscopic models which attempt to model the behavior of crowds.
92
6 Simulation Models for Opportunistic Networks
6.4.1 Terminology Before proceeding into the properties of the mobility models, let us introduce some terminology widely used in mobility models. • Point of Interest: as defined above, a point of interest is a geographical location, where a node spends some time. This could be a bus stop, a supermarket, her home or work location, etc. • Flight is defined as the transition between two PoIs. • Cluster or hot spot is defined as a conglomeration of PoIs, as it can be expected from a city center or a shopping center. • Trajectory is the complete path of a node over a longer period of time, e.g. a day. It includes all PoIs and flights during this time. • Community is defined as a number of nodes, that move in a correlated manner, such as a group of friends or the members of a family. They are expected to share some of their PoIs.
6.4.2 Properties of Mobility Models We will base our discussion on a few mobility models, which cover mostly all properties. However, those are only a fraction of the proposed models and more exhaustive discussions and lists can be found in surveys like [14, 101, 141, 201]. The simplest way of modeling mobility is purely random, i.e., based on a uniform distribution. An example of such a model is RANDOM WAYPOINT or RWP. It is closely following the algorithm in Fig. 6.5, and every PoI is just a point selected randomly in the simulation environment. However, early in the research time, this model was discovered to be very unfair to the borders of the environment, since the selection of random PoIs prefers points in the center [35]. Thus, another variation is typically preferred, called RANDOM DIRECTION. Instead of selecting the next PoI, the model selects a random direction to follow next until it reaches the boundary of the environment. Of course, in reality, this means that the next PoI is selected randomly from all points on the border itself and thus follows again the general algorithm from Fig. 6.5. RWP also stays for some random time in the PoI before proceeding, while RANDOM DIRECTION typically does not stop at all. Several properties can be added to this general random mechanism and there are many ways of presenting them. Most of the proposed models implement not only one of these but several. We will organize our discussion according to Fig. 6.5 and its individual steps.
6.4 Mobility Models and Contact Traces
93
A. Identifying the Points of Interest This first step means that we need to decide which points in the environment count as PoIs. In RWP, any point can be a PoI. This is also the case for some otherwise more sophisticated models, like HCMM [28]. However, the PoIs can also be created upfront according to some more realistic rules or extracted from maps. Hot spots are an important property of real traces and movement. Imagine a city with a city center. You would expect more people in the hot spots like supermarkets, schools, cinemas, etc. Additionally, those hot spots are clustered, usually in the city center or in shopping centers. One can use mathematical methods to create PoIs in hot spots or clusters. Details of how to do this are provided in [130], which also introduces a model with hot spots, called SLAW. A slightly different method is taken by WDM [62], which randomly identifies PoIs on a map, but also assigns context information to them, such as home, work, cinema, etc. Another method is to extract PoIs from real maps or traces. One such model is for example TRAILS [188], which extracts PoIs from traces just as we have explained in Chap. 1. Many other models do this in a similar way by extracting the information from real maps, like HHW [235], SMOOTH [157], TVC [105], and SWIM [148]. One can extract PoIs also manually, like is done for the DISASTER mobility in [205], where the authors have used expert interviews to identify important places in cities in a post-disaster scenario.
B. Selecting the Next PoI Many models implement a random uniform strategy for selecting the next PoIs. Apart from this trivial option, there are mainly three ways to handle this process: from the individual perspective of the nodes, from the perspective of a community of nodes, or by extracting this information from traces. From the individual perspective, one popular way is to base the decision on previously visited PoIs, as it is done in SMOOTH [157]. Here, during the beginning of the simulation, the selection of PoIs is uniformly random, but then the probability of the already visited PoIs increases and they will get selected more often in the future. This model mimics the behavior of real people, who usually select from a rather limited set of locations to visit often. Yet another possibility is to base the selection process on the distance between the current PoI and the next PoI—the closer it is, the more probably it is to visit it next. This is implemented for example by SLAW [130] and SWIM [148]. It is also possible to base the selection on the time of the day like it is done by HHW [235] or WDM [62]. TVC implements a different idea and bases the decision on the personal preferences of a node, e.g. going often to cinemas, but not to restaurants. It makes also sense to base this decision on the whole community of nodes. For example, one could consider the popularity of the PoIs among all members of a community (TVC and HHW) or of all nodes (SWIM) to select the next one.
94
6 Simulation Models for Opportunistic Networks
Similarly, this decision could be made by considering that movement of humans is strongly influenced by the needs of humans to socialize or cooperate as modeled in CMM [159]. Another approach is the consideration based on observations that the mobility of users shows a partially repetitive “orbital” pattern involving a set of “hubs” in practice as modeled in ORBIT [80]. TRAILS takes a completely different approach. Instead of selecting the next PoI from all available ones, it selects one from the available paths at the current PoIs. Recall that TRAILS extracts all information (including PoIs and the flights between them) from real traces and thus, only a few PoIs can be reached directly from a particular PoI. DISASTER takes again the interview-based approach, where experts are asked about the usual next PoI selection.
C. Moving Between the PoIs A very important aspect of a mobility model is how a node moves between two PoIs or how the flight is implemented. In the trivial case, this is simply a straight line. This is simple and fast to compute, but not very realistic, since streets, buildings, etc. are not considered. This is the preferred method used by most of the existing models, such as HHW, SMOOTH, HCMM, TVC, and SWIM. One popular option is to use map data to confine the nodes to movements on streets only. This is for example done for the DISASTER mobility model [205] or in WDM. This is already a very large step towards realism but does not mimic very well the behavior of pedestrians, who tend to cross parks without a path, use buildings as shortcuts, etc. Thus, the TRAILS [188] model takes another approach and extracts real flights between traces between two PoIs. Several flights can exist on any two PoIs and TRAILS simply selects one of them randomly.
D. Pausing in PoIs The trivial solution is again purely random and uniform, with some minimum and maximum limits for the time spent. One might base this decision on the context of the PoI, such as staying for longer times in the home position and shorter times in shopping areas. This is the case for example in HHW. Another option is to again extract this information from real traces, like in TRAILS, SMOOTH, SWIM, and DISASTER. This information can in theory also get extracted from maps with contextual information, like Google Maps, which make statistics of how long people stay there typically and which times are more popular than others.
6.4 Mobility Models and Contact Traces
95
6.4.3 Contact Traces In Chap. 1, we have extensively discussed how to convert GPS traces into contact traces or how to gather them directly. Additionally to those discussions, we will explore here the advantages and disadvantages of using contact traces in simulation and how contact traces can be produced by any mobility model discussed so far. Let us first explore why contact traces are a good idea for simulation. As we have discussed above, most mobility traces are independent of all other layers (with the exception of user behavior models and reactive mobility models, which are rare). Thus, they can be easily “outsourced”. This can happen in two ways: by parallel processing the mobility model or pre-processing. Parallel processing is not always available in simulation tools, and its setup is not trivial. Pre-processing is easy and produces contact traces. Typically, the simulation needs to process both the mobility and link abstraction models, as depicted in Fig. 6.1. Contact traces use exactly those two layers to preprocess and store contact traces instead. Thus, any link abstraction and mobility model can be used inside a simulation to pre-process and store contact traces. The main advantage is simulation speed. This has been reported in the literature several times, e.g. in our own work in [117]. The simulation speed gain was between 8 and 30%, depending on the number of nodes (the more nodes, the larger the gain). The results are reproduced in Fig. 6.6. The simulation speed gain is crucial for opportunistic networks, where individual simulations often last weeks and months. The main disadvantage of using contact traces is that you cannot vary the mobility anymore. Not only that the model is not reactive, but also random variations in synthetic mobility models cannot be explored. However, this disadvantage does not exist for real-world location traces. We will use contact traces for our discussion about how to compare different data dissemination protocols against each other and how to benchmark them in Chap. 8.
Fig. 6.6 Simulation speed gain for the SFO trace and different number of nodes. From [117]
96
6 Simulation Models for Opportunistic Networks
6.4.4 Discussion of Mobility Models Mobility models are crucial in the evaluation of opportunistic networks. They dictate very important properties of the network, such as the number and length of the contacts between devices, but also the repeatability of contacts. However, existing models all have pros and cons and we are not able to identify the one mobility model, which serves all our purposes and requirements. The impact of mobility models on the performance of data dissemination protocols has been found to be very significant. For example, in [57], we have reported that the delivery rate of the Epidemic protocol can change as much as from 3% to 96%, depending on the mobility model. In general, it can be said that real-world traces are the most sophisticated models we currently have. However, this statement needs to be interpreted with caution. First, they can only serve one single scenario, as we will do in Chap. 8. They are not scalable, and they cannot support any flexibility or user behavior. They are limited in their duration, and they might include gaps in the data caused by hardware or software failures during the experiment. Furthermore, they might be too sparse, as is the case for the San Francisco cab traces, which we discussed several times (e.g. in Chap. 1). Synthetic models, on the other side, are too random and too flexible. Even if they follow maps, they make very coarse assumptions about the behavior of people. However, they are very fast to compute and can serve and examine many different scenarios. Probably the way to proceed is to integrate more real-world information into existing synthetic models. This can be done by using a navigator to compute paths between PoIs, extracting PoIs and their pause times directly from context-rich maps, etc. The real challenge is to map this information to individual people and their lifestyles, like their home addresses and personal preferences. It is still an open research question whether a more coarse-grained model will not be faster and more beneficial for simulating opportunistic networks.
6.5 Simulation Speedup Simulation speedup is crucial when simulating OppNets due to the unique characteristics and challenges associated with these networks, especially scalability. As we will also discuss in the next Chaps. 7 and 8, running OppNets simulations is a tedious process, often associated with very long run times of more than several weeks for a single simulation. More concretely, simulation speedup is required in the following cases: • Large-Scale Simulations: OppNets can span into large networks that involve a significant number of nodes. Simulating such large-scale networks can be computationally intensive. Speeding up simulations allows for the modeling of
6.5 Simulation Speedup
97
larger network topologies and higher node densities, providing a more accurate representation of real-world OppNets. • Scenario Exploration: OppNets operate in diverse environments, such as disasterstricken areas, remote regions, or social networks. Simulating these scenarios allows researchers to explore different network deployment strategies and evaluate their performance. Speeding up simulations enables quick experimentation with various deployment scenarios, enabling evaluation of network behavior under different conditions and adapting the network design accordingly. • Performance Optimization: Simulating OppNets at a faster pace allows researchers to analyze and optimize various performance metrics. These metrics may include message delivery delays, delivery ratios, or overhead. By accelerating simulations, a larger amount of data can be collected in a shorter time, facilitating detailed analysis and optimization of network performance. • Limitation of Resources: Network simulations often involve computations and algorithms that require substantial processing power. Similarly, they require a significant amount of memory to store the network topology, traffic patterns, and simulation state. Finally, simulations generate a considerable amount of data, including logs, statistics, and captured network traces that require a considerable amount of storage space. Since all these resources are limited, new algorithms and mechanisms must be implemented to improve the duration of simulation time. Therefore, applying techniques to speed up OppNets simulations has become necessary. Here are some commonly employed simulation speedup techniques which can be considered in any simulation model: • Appropriate time resolution: Most simulation models are regularly updated (see Chap. 7). In many simulations, not all events or processes occur at the same time resolution. Therefore, a pre-simulation decision is the selection of the best time resolution. If the resolution is higher, the simulation will require more resources than a lower resolution to simulate the same model time. Therefore, time resolution is an important factor to consider to avail faster execution. • Approximation and simplification: Simulations often involve complex mathematical models and detailed calculations. By simplifying or approximating certain aspects of the simulation without significantly impacting the accuracy of the results, one can reduce the computational load and speed up the simulation. • Algorithmic improvements: Analyzing and optimizing the simulation algorithms themselves can yield substantial speedups. This may involve identifying bottlenecks, eliminating redundant computations, or replacing inefficient algorithms with more efficient alternatives. Techniques like algorithmic profiling, cache optimization, and algorithmic redesign can be applied to enhance simulation performance. • Data and data structures: One important parameter in simulating any kind of network is the data exchanged and its size. Most of the time, this data is fictive, i.e., the data packets are filled with zeros. This might or might not have an effect on the simulation memory. In fact, some tools reserve the full memory for all data
98
6 Simulation Models for Opportunistic Networks
packets, while some use the data size for calculations but do not reserve memory for it. This needs to be checked carefully when implementing models, especially application traffic. Furthermore, opportunistic networks typically employ large data caches and often perform operations on them, such as searching, filtering, adding, deleting, or sorting items. It is crucial that modern, memory-efficient, and search-efficient data structures are used instead of simple arrays. The above techniques are the most commonly used to speed up OppNets simulations. Additionally, when possible, the following techniques are also considered. • Precomputation and Caching: If certain simulation components can be precomputed or cached, it can eliminate the need for redundant calculations during the simulation. By storing and reusing intermediate results or precomputing expensive computations, you can avoid unnecessary recalculations and improve simulation speed. One such example is the precomputation of contact traces instead of using mobility traces directly [117]. • Parallelization: This technique involves distributing the simulation workload across multiple processors or computing resources. By dividing the computation into smaller tasks that can be executed simultaneously, parallelization reduces the overall simulation time. This can be achieved using multi-threading, multi-core processing, or distributed computing techniques. We discuss which tools support this in the next Chap. 7.
6.6 Chapter Summary Simulating opportunistic networks requires a range of simulation models, including energy expenditure, battery, power generation, traffic, application, user behavior, data propagation, link abstraction, mobility, and contact traces. Energy expenditure and battery models simulate energy usage and battery characteristics. Application models determine the amount, periodicity, destination, time-to-live, and consumption of data packets. Traffic amount and periodicity can vary greatly, while destinations in OppNets are usually broadcast or unicast. Time-to-live sets the lifespan of packets in the network, and consumption of data packets can trigger various actions, such as creating a response or affecting mobility. Link abstraction models in OppNets focus on communication range, bandwidth, delay, and interference. Communication range determines communication’s success based on distance, while bandwidth and delay are often simplified for simulation speed. Interference models are usually simplified, considering simultaneous transmissions or drop rates to account for packet loss. Mobility models are categorized as random, trace-based, or hybrid models. Random models use formal methods without considering obstacles. Trace-based models use real-trace recordings, but they have limitations in time and participants. Hybrid models combine elements from both approaches. The general algorithm for
6.6 Chapter Summary
99
mobility models involves nodes moving between Points of Interest (PoIs), and the movement can be passive or reactive. Finally, simulation speedup is crucial for large-scale OppNets simulations. Techniques like appropriate time resolution, approximation, algorithmic improvements, efficient data structures, pre-computation, caching, and parallelization can enhance simulation speed. Overall, simulation models, including mobility models and contact traces, play a vital role in understanding and evaluating opportunistic networks. They capture the behavior and dynamics of system components and interactions, although challenges in accurately representing real-world scenarios and the complexity of some models remain open research areas.
Problems 6.1 Can you explain the concept of simulation models and how they are used to replicate the behavior of real systems? How do these models capture the complexity of real-world systems, and what role do algorithms play in the simulation process? 6.2 How do application models in opportunistic networks define various aspects of data traffic? How are these properties important in shaping the behavior and performance of opportunistic networks? Additionally, how does the coupling of application models with mobility models enhance the realism of simulations in evaluating OppNets? 6.3 What are the key challenges and factors that need to be taken into account when modeling the link layer for opportunistic networks? How do factors such as communication range, bandwidth and delay, and interference impact the performance of opportunistic networks? 6.4 How do different modeling approaches, such as the Unit Disk Graph (UDG) and Quasi Unit Disk Graph (Quasi-UDG), address these challenges? What are the limitations and trade-offs of using simplified models for simulating link-layer behavior in opportunistic networks? 6.5 What are the advantages and disadvantages of using contact traces in simulation, and how can they be produced by different mobility models? How do these factors impact the accuracy and realism of simulation results? 6.6 What are the commonly employed techniques to speed up simulations in opportunistic networks, and how do they contribute to improving simulation performance? How do these techniques address the challenges of large-scale simulations, scenario exploration, performance optimization, and resource limitations?
Chapter 7
Simulation Tools for Opportunistic Networks
Several simulation frameworks support opportunistic networks and their evaluation. Before we dive deeply into some of those, let us first issue a short warning: none of the here presented and currently available tools can simulate and evaluate opportunistic networks in a precise and realistic way. These tools should be considered valuable mechanisms for a first evaluation of the general applicability of particular data dissemination or other protocols for debugging and fine-tuning them. They should never be used to jump from a simulation environment into a real deployment. In this chapter, we will focus on the two main alternatives to simulate opportunistic networks and some additional tools useful for opportunistic networks. Please note that we do not consider here general-purpose tools, such as MatLab, linear programming tools, etc. We also do not consider all network simulators, but only the ones well-suitable for opportunistic networks. For a more extended discussion, please refer to [57] and [216]. Before we go into the details of these tools, we will first define discrete event simulation in general and explore its main properties.
7.1 Discrete Event-Based Simulation There are various ways of simulating computer and distributed systems, like networks in particular. In general, simulation models are organized into the following types [128]: • Static and dynamic models. A static model of a system represents the system at a particular time. An example of such a model is to compute the probability of a certain combination of a pair of dice. Time is simply not an issue. Dynamic models do consider time and the development of the system over time. This is certainly the case for our opportunistic networks. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_7
101
102
7 Simulation Tools for Opportunistic Networks
• Deterministic and stochastic models. Deterministic models have fixed inputs, while stochastic models include at least one stochastic value as an input. In opportunistic networks, it is usual to have at least some stochastic inputs, such as mobility or traffic pattern. Even if these values can be fixed in some cases (such as a mobility trace), the general case is of stochastic nature. • Continuous and discrete models. Discrete models march through time and change abruptly and immediately with each time step. Continuous models use differential equations and attempt to model the system continuously. Discrete models are easier to implement and debug and are currently the preferred tool to simulate networks. Therefore, simulating opportunistic networks requires a discrete and dynamic model, which can be deterministic or stochastic. This requires us to simulate individual time steps, which can be achieved in two different ways: Real-time simulation uses real-time to march through time—one second is simulated as precisely one second. This is important for some applications, where delay and time, in general, play a very important role, such as a real-time control system of a rocket engine. When time is only approximately simulated, event-based simulation makes more sense. Here, simulated time is disconnected from real-time and typically runs much faster than real-time, making the simulation a more efficient tool. DISCRETE EVENT SIMULATION is another name for a dynamic and discrete simulation model, which runs with events (not real-time). It can be both stochastic and deterministic, and tools usually support both. There are some pitfalls when working with discrete event simulators (DES for short), which we will discuss shortly here. In a DES, individual entities (often called nodes) schedule and receive events. An event is a tuple, which includes a timestamp (when the event should be executed or “fired”), a creator node, a destination node, and some additional optional data, such as the payload of a data packet. The kernel maintains an event queue ordered by the execution timestamps of the events (not by their creation times!). Instead of marching through time, the simulation kernel marches through the events. That is, the first event (with the lowest timestamp) is taken from the queue, the current simulation time is progressed to its timestamp, and the event is executed. Depending on the events, the time between two events could be nanoseconds or years. Every node in the simulation is allowed to create and schedule new events. The following rules apply: 1. Events can be only scheduled in the future. The kernel will reject any event whose timestamp lies before the current simulation time. 2. Nothing happens between two events. Time is updated abruptly from one event to the next, and there is no waiting time in between. 3. If two events happen to be scheduled at exactly the same time (which often happens for traffic patterns, e.g., sending a packet every second), then the unique ID of the creator node is used to resolve the order. A deterministic order of events is extremely important and has nothing to do with deterministic or stochastic inputs. A deterministic execution order of the events enables the repeatability of
7.2 OMNeT++ and the Opportunistic Network Simulator (OPS)
103
simulations, which is a necessary property of simulation tools. If not provided, every simulation might run differently, even with the same (deterministic) inputs. Recall the discussion about repeatability from Chap. 4. All popular network simulators are discrete event simulators. Next, we will explore three of the most widely used simulators for OppNets—OMNeT++ with OPS, The One, and ns-3.
7.2 OMNeT++ and the Opportunistic Network Simulator (OPS) OMNeT++1 is a general-purpose, modular network simulator implemented in C++. It was first introduced in the late 1990s, and its current version is 6.0. OMNeT++ offers a free license for academics. It offers a simulation kernel, where individual nodes of any type can be simulated—from natural viruses through vehicles or airplanes to people and devices. The OMNeT++ simulator alone does not provide application-specific models like wireless communications or vehicle mobility. Those are implemented and organized into frameworks, which target one or several application scenarios. The best-known framework is INET,2 which implements Internet communications, including wireless. OMNeT++ is well supported both by the developing company, but also by the community itself, including tutorials, mailing lists, and an annual summit. OMNeT++ has a graphical and non-graphical user interface. In the graphical one, the user can inspect the work of the individual components, start/stop the simulation, etc. It is very well suited for debugging and visualizing a particular scenario. The non-graphical interface is straightforward and limited but enables the user to run large-scale simulations quickly without needing inspection and/or visualization. Thus, extensive parameter studies can be completed in a short time. OMNeT++ also has a very sophisticated setup language (the NED language), allowing automatic and very sophisticated parameter studies. Generally speaking, the performance of the OMNeT++ simulator is excellent, mainly due to the choice of its programming language. It is supported on all major operating systems. As said above, the OMNeT++ simulator does not provide application-specific scenarios. Thus, the OPS framework3 was developed to support opportunistic networks. It defines models and metrics for the OppNets-specific layers and offers several well-known data dissemination protocols, like Epidemic, Spray and Wait, ProPhet, and more.
1 https://omnetpp.org. 2 https://inet.omnetpp.org. 3 https://github.com/ComNets-Bremen/OPS.
104
7 Simulation Tools for Opportunistic Networks
OPS User Behaviour Model Application Layer
INET Applications
Opportunistic Forwarding Layer
Dissemination Protocols
Link Adaptation Layer
Link Adaptations
Link Layer
Link Technologies
Mobility Node 2
Node N
Node 1
Fig. 7.1 The architecture of the OPS framework for OMNeT++
The individual layers of OPS follow mainly the reduced set of models, as defined in Fig. 6.1, but also include a user behavior model. It is depicted in Fig. 7.1, and we will describe it in detail in the following paragraphs. The link layer in OPS is rather simple: it defines a communication radius, which decides whether communication between two nodes has succeeded or not. It also implements a bit rate (a parameter), which can be adjusted to a particular communication technology. The details of how to set the transmission radius and which advantages and disadvantages come with such a simple model have already been discussed in Chap. 6. The so-called Link Adaptations in Fig. 7.1 are simple but necessary mechanisms to connect between the INET link layers and the rest of the OPS models (especially data propagation), which require a specific data format. The application layer injects new packets into the network and consumes arriving packets. Here, one could implement the behavior of a specific app, such as chatting or a second-hand shop. Parameters include the data intervals, the distribution of packet injection (periodic or random), the data size of the injected packets, etc. One of the unique features of OPS is the availability of a user behavior model. The main idea behind this is that, depending on the content of a message, the user might like/dislike/delete/reply to it or, more importantly, decide to schedule a trip to a new location. For example, the user could receive various messages about events in the city. She will like and store some of them (which might be used for further data dissemination), and she might decide to go to a few. This will require a notification to the mobility model (which is typically running completely independently) to schedule such a trip. This is the reason for the arrow from the user behavior model to the mobility model in Fig. 7.1. This mechanism is not trivial and can only be
7.3 The ONE
105
used with synthetic mobility models (see again the discussion on mobility models in Sect. 6.4). The user behavior is not a must to use, however. OPS can also be used with passive user behavior, which does not require a synthetic mobility model and works without any user behavior. OPS includes some basic protocols, which are very useful for comparative reasons. Those include a theoretical optimal model, Epidemic, Spray and Wait, RRS, and Prophet. It also includes one protocol with a user behavior model called Keetchi. All these protocols have already been introduced and discussed in Chap. 2. Further protocols can be easily implemented, and the set of available ones grows slowly but steadily. OPS can use any mobility models from INET, including BonnMotion, synthetic models, contact traces, etc. Furthermore, it supports reactive mobility models, which cater to the needs of the User Behavior model described above and enables a synthetic mobility model to schedule a visit to a particular place at a predefined time. The mobility model then computes the time (at the predefined speeds) necessary to reach the location and starts the movement (no “teleportation”). The main advantage of OPS is that it is implemented for the OMNeT++ simulator, which is well-supported and documented. It relies heavily on INET, which is also professionally supported by the OMNeT++ core team. Furthermore, OMNeT++ has a very good user interface, and the simulations run fast. However, fast is not necessarily very fast: a large-scale simulation of OPS with thousand nodes can take up to several weeks to complete, depending on its parameters. Still, this is much faster than other options, as shown in [57]. The drawbacks of using OPS are the relatively steep learning curve for implementing with OMNeT++ and the relatively low number of readily available data propagation protocols. OMNeT++ also has various other frameworks, such as Veins4 and Artery5 for vehicular networks; FLoRa for LoRa networks6 and many more. Even if those frameworks are not readily interconnected, they all rely on INET, and their combination is feasible. This makes OMNeT++ currently the best option for implementing opportunistic networks and applications.
7.3 The ONE The ONE (Opportunistic Network Environment) [120] is a network simulation tool targeted specifically and only for opportunistic networks. It was introduced in 2009 and is currently maintained cooperatively by Aalto University and the Technische
4 https://veins.car2x.org. 5 https://github.com/riebl/artery. 6 https://flora.aalto.fi.
106
7 Simulation Tools for Opportunistic Networks
Architectural overview of the ONE simulator
Movement models Data dissemination Map-based External External trace
Simulation engine
Connectivity
Routing data Internal
Random waypoint ...
Traffic generator External events file
Report data
Post-processors (scripts, graphviz, etc.)
Graphs
Visualisation and results Message generator ...
Fig. 7.2 The architecture of the ONE simulator
Universität München. It is written in Java; its current version is 1.6.0, released in 2015, and is available on GitHub.7 The overall architecture of the ONE is depicted in Fig. 7.2. Similarly to the OPS framework, it offers movement (mobility) models, which can be synthetic models or real traces and traffic generators. Traffic can be generated here also by external events files. The messages are always unicast. The connectivity is what we used to call the link layer model in OPS. It is a rather simple model considering the bit rate and the communication range. The tool supports various OppNet data dissemination protocols, such as Epidemic, Prophet and Prophet v2, Direct Delivery, Spray and Wait, etc. (see Chap. 2 for more information about the protocols). Special report modules prepare the results and can be further processed by external postprocessors. ONE supports any number of nodes (though realistic numbers are limited to a few hundred nodes). The nodes can be organized into groups, and a group of nodes shares common parameters such as mobility model, buffer size, etc. Thus, one can create groups of nodes to represent pedestrians, vehicles, etc. ONE offers a simple and intuitive Graphical User Interface (GUI) where the users can explore in detail their models and validate/debug their setup. In the case of extensive parameter studies, ONE supports a mechanism called “run indexing” that can be edited in the same configuration file and executed in non-graphical (batch) mode. The ONE simulator requires a lot of resources in scenarios with many nodes. The simulation progresses in time steps when all nodes states get updated. The time step selection is crucial: with small steps (e.g., 1 second), more realistic results can be
7 https://akeranen.github.io/the-one.
7.4 Network Simulator 3 (ns-3)
107
achieved. With larger steps, the simulation becomes faster and larger, and/or longer simulations can be run. The ONE does not support lower network layers like MAC and physical. Instead, they are abstracted to transmission distance and transmission speed. This makes the results less realistic (primarily since wireless errors are not supported), but the simulation is much faster. Summing up, The ONE is the most popular simulation tool for opportunistic networks, mostly because of the large variety of available data dissemination protocols available for comparison [185].
7.4 Network Simulator 3 (ns-3) ns-3 stands for “Network Simulator 3”. It is a discrete-event network simulator that uses detailed models of network protocols and devices to simulate the behavior of computer networks. ns-3 is written in C++ and is released under an open-source license, which makes it accessible to both academic and industrial researchers [178]. ns-3 is a general-purpose network simulator. To support opportunistic networks, it needs to be configured with the required protocols and models at all layers, e.g., data forwarding, mobility, traffic, and link technology. Currently, there are no trivial link models, like in the ONE or in OPS for OMNeT++, i.e., the link technology is always fully applied. ns-3 provides a large library of models for different types of network devices and protocols, including Ethernet, Wi-Fi, LTE, and many others. These models can be combined and customized to create complex network simulations. ns-3 also provides a powerful and flexible scripting interface, which allows users to define custom network topologies and behaviors. ns-3 has been used to study a wide range of topics in networking, including congestion control, routing, security, and wireless network optimization. ns-3 is actively developed and maintained by a large community of researchers and developers worldwide. The project has an ecosystem of add-ons and extensions, including visualization tools, tracing and debugging utilities, and support for emulation and virtualization. ns-3 allows researchers to: • Construct virtual networks (nodes, channels, applications) and support components such as event schedulers, topology generators, timers, random variables, and other objects to support discrete-event network simulation focused on Internet-based and possibly other packet network systems. • Support network emulation and emit and consume real network traces • Distribute their simulations across multiple processors and machines • Animate network simulations • Extract results and compute statistics Its open-source nature and extensibility make it a popular tool for researching and developing new networking technologies and applications. The development
108
7 Simulation Tools for Opportunistic Networks
is constant and has a community of developers mainly composed of researchers from several universities. A consortium of different organizations around the maintenance and development of the simulator was established.8 The initial agreement establishing and specifying the operation of the ns-3 consortium was made between the University of Washington in the US and INRIA in France. The ns-3 is composed of standard modules, and each module integrates the following components: (1) a model class responsible for the calculations, (2) a helper class that implements the necessary methods to carry out a simulation (read data from a file, create the model, etc.), and (3) an example script of one simulation using the module that serves as a reference for users who want to use it. Several types of wireless connectivity are supported,9 including WiFi, LTE, 5G, WiMAX, and LoRa/LoRaWAN. All communication modules are compatible with the standard Linux APIs. Thus, it is possible to easily move a simulation setup to the real world and vice versa. Interacting with existing real-world networks is possible using virtual TAP (layer 2) devices, connecting simulated and real nodes (emulation). One of the most important features in terms of the simulation of opportunistic networks is the mobility of the nodes. ns-3 includes mobility models, position allocators, and helper functions. Nodes can have different mobility patterns. SUMO (see Sect. 7.6) is also supported, which is very relevant for vehicular networks. In summary, ns-3 is a generic network simulation tool. Although there are no specific frameworks for Opportunistic Networks, ns-3 can be configured with the proper protocols at all levels and provides a more realistic simulation, particularly of the lower communication layers. In the next section, we compare the different simulators to each other in the context of opportunistic networks.
7.5 Comparison of Simulators Table 7.1 shows a high-level comparison of the above-presented simulations. We have organized the discussion in the points most relevant for simulating opportunistic networks to help the less experienced reader select the proper tool to learn and use. Researchers often opt for implementing their own simulator for their work [185]. The reasons are manifold. At first glance, any of the above-presented simulators are quite complex and implement components that are not of immediate interest. It seems simpler to start with a very simple tool or script to quickly evaluate an idea instead of investing time to learn a new complex tool and model your work inside. However, we would discourage the reader from this option. A wellknown and widely used simulator offers various advantages, very much aligned
8 https://www.nsnam.org/consortium/. 9 https://networksimulationtools.com/network-simulation-tools/.
7.5 Comparison of Simulators
109
Table 7.1 High-level comparison between OppNets simulators. Adapted from [216] Tool Platforms Programming language Parallelizable Documentation Mailing lists and tutorials User interface Mobility models Link technologies OppNets data propagation User behavior models Traffic models Scalability
ONE Java (JDK 6+) Java – + ++ + + – ++ – ++ –
OMNeT++/OPS Win, Linux, Mac C++, NED + ++ ++ ++ ++ + + + ++ +
ns-3 Linux, Mac C++, Python + + + – ++ ++ o – ++ +
– no support, o partial support, + adequate support, ++ very good support
with our discussion in Chap. 4 about the repeatability and representativeness of the achieved results. The community knows well about these simulators and can better comprehend the results coming from them. Help is always available, and one does not need to re-implement simple, trivial features like metric extraction, mobility, etc. With time, the researchers also require more and more sophisticated models and features, and their own simulator becomes as complex as the existing ones. That being said, no simulator offers all the needed features at the highest level. Looking into Table 7.1, OMNeT++ seems the best option when large-scale or extensive parameter studies are required and when the user interface and help are important. If the focus lies on transfer to real deployments, then ns-3 is the best option, but the simulator is also the most complex to use, and the learning curve is quite steep. Furthermore, its scalability for large scenarios is not very good because of the complex link technology models, which cannot be currently switched off. Admittedly, it is a matter of relatively low effort to implement a workaround for this, but it does not exist readily. The ONE is a very good option for beginners or small-scale simulations. However, it should not be used for large-scale scenarios, and its results are unrealistic. This does not mean that the results are wrong: it only means that the absolute numbers cannot be trusted, but the relative results are (e.g. when comparing two different data forwarding protocols). This is visualized in Fig. 7.3, where we have compared the results of three different forwarding protocols (Epidemic, Spray and Wait, and ProPhet) for the ONE and for OPS/OMNeT++. The scenarios have been configured as close as possible. It can be seen that the relative comparison between the protocols is very close (PropPhet always performs worst in terms of delivery ratio), but the absolute numbers are different.
110
7 Simulation Tools for Opportunistic Networks
Fig. 7.3 Comparison between three different forwarding protocols, implemented in OPS/OMNeT++ and the ONE
7.6 Mobility Tools Apart from the simulation tools described above, several other mobility-oriented resources prove highly valuable in simulating Opportunistic Networks. These tools can be used with the previous simulators. BonnMotion is a tool to design and run different mobility models and to extract the data for other (e.g., network) simulators to use [7]. The tool is available under https:// sys.cs.uos.de/ bonnmotion/ . It is a standalone Java tool that implements various mobility models. The main reason behind this tool is that mobility is usually independently computed (if we do not consider the user behavior models and the reactive mobility models from above). The time needed to compute them can be minimized by adding them once and then only using the resulting locations for the network simulation. A nice side effect of this tool is that its location format started being used widely also for real-world traces. The user can either run a synthetic model to produce location traces or import various formats of real data traces to convert to BonnMotion’s format. The tool focuses on the mobility perspective of simulation without considering any other layers like networking or applications. Its export format is simple and plain text, making it easy to use in other simulations or tools. A model is readily available for the simulators we already discussed and many others, i.e., for ns-3, Cooja, The ONE, OMNeT++, GloMoSim/QualNet, etc. SUMO (Simulation of Urban MObility) is a mobility traffic generator written by the German Aerospace Center (DLR) [17]. SUMO can be found under https://sumo. dlr.de. On its own, SUMO can be used to simulate public transport, pedestrians, and vehicles, including the performance of traffic lights, roads with changing directions, speed limits, the number of lanes, etc. SUMO is well integrated with some network simulators, e.g., with the VEINS framework of OMNeT++ or the ONE. It can
7.7 Chapter Summary
111
be directly connected to OMNeT++ through the Veins framework10 for vehicular networking. The main characteristic of SUMO compared to other mobility models or traces is that it continuously creates new vehicles. In other models, the nodes are fixed and exist throughout the simulation, which is unrealistic when simulating, for example, part of a city.
7.7 Chapter Summary This chapter has explored which tools exist to simulate and evaluate opportunistic networks. We have focused on tools that are especially well suited or implemented with opportunistic networks in mind and not on general-purpose tools. We explored three simulators: OMNeT++, the ONE, and ns-3. We discussed how they support opportunistic networks and to which level they are suited for evaluation. We have concluded that all three tools have some unique advantages and that, unfortunately, no single tool supports all needs and requirements. At the same time, it is essential to remember that using one of these tools is always an advantage compared to implementing a new tool from scratch. We have also learned about two mobility tools, BonnMotion and SUMO. They focus on mobility models only and are well-integrated with the network simulators we explored.
Problems 7.1 Imagine you are about to implement an opportunistic network application based on LoRa-enabled devices consisting of around 100 nodes, which are public buses. The nodes are expected to be mobile and to follow streets and pre-defined routes in a city. The goal of your project is to evaluate the feasibility of your idea with the Epidemic forwarding protocol. Your nodes are expected to create data every 10 seconds (each of them). Explore the available documentation of all three simulators and discuss their pros and cons in terms of your application scenario. Can you find readily available models for mobility, traffic generation, and, most importantly, for LoRa? Consult Chap. 9 for more information about LoRa, if required. Which simulator would you decide for and based on which criteria and priorities? You are not expected to implement the project unless you like to. 7.2 Perform a short study of all three simulators. Install all of them (or any two of them to shorten this exercise), study the available tutorials, and set up a simple
10 https://veins.car2x.org.
112
7 Simulation Tools for Opportunistic Networks
scenario with 50 nodes, Epidemic forwarding, a random mobility model, and traffic generation of one packet of 10 KB per node per minute. Compare the simulators in terms of your subjective learning experience: how long did it take you to configure the network? How long did it take you to find the appropriate models? Did you need external help (mailing lists, forums, tutors, colleagues) to perform the task? 7.3 Compare the results of the above scenarios regarding some standard metrics for the forwarding protocol: delivery rate, delivery ratio, network overhead, and cache drops. Are the results comparable and plausible? If not, what could be the reasons? Explore all available parameters and try to identify and remove the differences. 7.4 The pseudo-code below is an imaginary discrete event simulator. The execution of the code starts at the beginning of the main block. List the first 10 events and their corresponding times generated by this simulator. event A: if (stateA == 0) r = r + 1; schedule(eventB, simTime+r) else schedule(eventA, simTime+r) end stateA = ~stateA event B: schedule(eventC, simTime + 10) event C: schedule(eventA, simTime + 1) main: r = 5 stateA = 0 schedule(eventA, 8) while (scheduledQueue is not empty) fire nextEvent
Chapter 8
Benchmarking Opportunistic Networks
Benchmarking opportunistic networks is still an under-explored area. Usually, researchers and developers evaluate their work in hand-tailored environments and scenarios, which we consider relevant to their work. Very often, they also compare their work to others, but the representativeness of these studies is low. The main reason is that the comparisons are unstructured, and no common environment or scenario exists. In this chapter, we will first define benchmarking for opportunistic networks and discuss some early works in this area.
8.1 Benchmarks for OppNets Computing benchmarks are a standard tool to evaluate the performance of a computing object, be it hardware or software. It involves running a standardized test, such as a particular type of computation or scenario, in order to compare one object under test to another. An example is the SPEC organization,1 which provides various benchmarks for graphics, mail servers, etc. In opportunistic networking, benchmarks are very rare. Benchmarks, in general, have their advantages and disadvantages. On one side, they are representative sets of system loads and enable comparability among objects, such as different software implementations, protocols, or hardware components. On the other side, while representative, individual benchmarks cannot capture the full complexity and load variability of real systems and natural environments. Moreover, vendors tend to fine-tune their products against benchmarks, which does not necessarily lead to better performance in reality. In opportunistic networks, researchers tend to use self-defined application scenarios, mostly in simulation. They typically mirror the assumptions of their authors 1 http://www.spec.org.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_8
113
114
8 Benchmarking Opportunistic Networks
for realistic OppNets scenarios. This leads to a very high diversity of scenarios and parameter values, which consequently generates very low reproducibility and crosscomparability between publications and solutions. However, we must also notice that some quasi-benchmarks have also emerged in OppNets. They are usually based on some well-available real-time GPS trace, which has been used by many different researchers. An example is the San Francisco taxi cab (SFO) trace [170], which we have also discussed in Chap. 1. However, a location trace is not sufficient to define a benchmark, as also other properties must be defined clearly, such as data size, traffic model, etc. The goals of benchmarking in OppNets can be summarised as follows: 1. Enable reproducibility by offering a standardized evaluation setup coupled with realistic scenarios 2. Enable cross-comparability by defining a ranking metric for OppNets data dissemination protocols based on the benchmarks In our earlier work, we have proposed a benchmark suite for OppNets, consisting of several scenarios [72]. A similar proposal was introduced in [74], defining a corpus of scenarios obtained via a creation methodology based on identifying the variables that characterize OppNet scenarios, methods to create OppNet scenarios, and processes to assess differences and diversity among them. Table 8.1 summarises our proposed benchmark scenarios. We have tried to include different scales, different traffic models, and different types of mobility in this set:
Table 8.1 Overview of all benchmark scenarios with name of the scenario, number of nodes, total duration, total number of contacts, area of the simulated environment and traffic information respectively Scenario Taxi
Nodes 500
Sim. time 604,800 s (7 days)
Contacts 1,301,887
Typhoon
3600
1136
Conference
98
University
54
200,000 s (2+ days) 250,000 s (approx. 3 days) 604,800 s (7 days)
Roller skate
62
10,800 s (3 h)
21,153
Office
49
604,800 s (7 days)
3075
10,054
766
Traffic Handcrafted low and high Trace driven Handcrafted low and high Handcrafted low and high Handcrafted low and high Handcrafted low and high
Message sizes 2–40 kB
TTL 5–30 min
10–100 kB
2–20 h
0.2–50 kB
15–30 min
0.2–50 kB
15– 120 min
0.2–50 kB
10–20 min
0.2–50 kB
20– 120 min
8.2 Metrics for Comparing Opportunistic Protocols
115
• Taxi is the already discussed SFO trace [170], with 500 nodes and a hand-crafted traffic model, miming day-night data traffic and some special events with very high data traffic, such as an accident. • The Typhoon scenario is based on the Twitter and location data trace from [221]. The data was gathered before, during, and after the super-typhoon Halong that hit the city of Okinawa in August 2014. Two days are extracted from the complete set. The unique property of this benchmark is that not only the location data but also the data traffic data is extracted from traces. • The Conference trace contains contacts collected during Infocom 2006, which was held in Princesa Sofia Gran Hotel, Barcelona [191]. The traffic model is again hand-crafted and mimics a night-day rhythm of a conference. • The University trace contains contacts of Cambridge University students carrying continuously iMote devices with them [191]. For our benchmark, we consider only the first 2 days of the complete experiment (approximately 2 months). Furthermore, some fixed nodes were also used to collect contacts in places such as pubs, marketplaces, grocery stores, computer labs, and shopping centers. The traffic is again hand-crafted. • The Roller skate trace was collected in August 2006 by using 62 iMotes that were distributed to some of the participants of a roller skating event in Paris [18]. The traffic is again hand-crafted, considering differences between the actual skating part and the breaks in between. • The Office trace was collected at the University of Milano by distributing 44 Pocket Mobile Trace Recorders (PMTRs) among the staff members [150]. The data was gathered for 19 days in November 2008. The traffic is also hand-crafted. As you can observe, all the benchmark scenarios rely on real locations or contact traces. The traffic data is rarely available and, in our case, only for the Typhoon scenario. Thus, we have hand-crafted it in order to make it more realistic and to consider special events, peaks of traffic, night-day rhythm, etc. An example of such hand-crafted traffic is presented in Fig. 8.1 for the Taxi scenario.
8.2 Metrics for Comparing Opportunistic Protocols Even with the most sophisticated benchmark scenarios, the real challenge comes when you try to compare different solutions or protocols. As we have discussed already in Chap. 4, there exist many different evaluation metrics for OppNets. Three of them are widely considered the most important ones: delivery delay, delivery rate, and network overhead. Let us also recall here that even though those three metrics can be defined and computed in different ways, it is of paramount importance to use the exact same definition and computation for all solutions under test. The problem is that those three metrics are correlated with each other and often contradictory. Let us explore the results in Fig. 8.2. We see four different protocols (Epidemic, Optimal, RRS, and Keetchi—see Chap. 2 for more information about
116
8 Benchmarking Opportunistic Networks
Inter-packet time Night [min-max] life in seconds
Early morning less demand for taxi
Morning office hours
Single special event for the complete week ex: Accident
Night life
600 - 900 900 - 1350
3000 - 6000 6000 - 13500 8000 - 9000
20000 - 25000 0
2
4
6 High Traffic
8
10
12
14
16
18
20
22
Time (hrs)
Low Traffic
Fig. 8.1 Taxi benchmark scenario: Application traffic distribution, hand-crafted
Fig. 8.2 Conference benchmark scenario with high traffic in terms of the three main metrics
them) and the three main metrics (delivery rate, delivery delay, and network overhead). The goal of having here the theoretical Optimal protocol is to be able to assess how far away a real protocol is from the theoretically possible in each scenario. In this case, the optimal solution can deliver only 85% of the data, and the average delay for the delivered data is over 16,000 s (approx. 4.5 h). The performance even of the optimal solution does not seem very good, but this is due to a sparse network and opportunistic communications. Please recall that confidence intervals are unavailable since each scenario is fully fixed to enable better comparability. However, it is more interesting to observe the behavior of the real protocols. When comparing Epidemic to Optimal and RRS to Optimal, we might conclude that both protocols are worse than Optimal (which is unsurprising) since all their metrics are “worse” than Optimal. When comparing RRS to Epidemic, the same observation can be made: all metrics are worse for RRS, and thus, Epidemic performs better than RRS in this benchmark.
8.3 Comparing Opportunistic Protocols
117
When observing Keetchi, one might conclude that there is an error with it. How could it be that its average delay is smaller than Optimal? Also, the overhead is smaller. However, the delivery rate of Keetchi is extremely low, which obviously falsifies also the complete comparison. In fact, this behavior is fully expected and plausible. When reporting average delay times for all packets in a system, it is clear that some individual delays are lower than the average while others are higher. When only part of these packets is delivered, only that part of the individual packet delays is taken to compute the new average delay. Opportunistic forwarding protocols tend to be more successful in delivering packets to direct neighbors—i.e., when the sender and the receiver are directly in contact. This automatically means a lower delay (just a few seconds). Thus, it is not unusual that a lower delivery rate also results in a lower delivery delay. The opposite can also happen. Some forwarding protocols give preference to individual packets, for example, to newer ones. This enables the protocols to spread widely new packets but neglects older ones. This results in lower delays for newer packets and higher delays for older packets. Let us now also observe the network overhead. In general, lower network overhead is always preferred. It means that less overhead information and duplicate data have been sent through the network, which means less congestion and more bandwidth and time for primary data. However, also here, the network overhead needs to be discussed in context with the delivery rate. This can be easily achieved by normalizing the network overhead by the delivery rate (by dividing the network overhead by the delivery rate). We can conclude from this discussion that delivery rate is the most important metric for opportunistic forwarding protocols. The delivery delay is also important but can only be used to compare two protocols whose delivery rate is similar. Network overhead needs to be normalized by the delivery rate and is a sign of whether higher data traffic can be supported.
8.3 Comparing Opportunistic Protocols There are several ways of comparing the protocols. If one of the metrics is of particular interest, let’s say delivery rate, then this single metric can be used. For our example in Fig. 8.2, this will work out fine since it is obvious that Epidemic should be ranked first, RSS second, and Keetchi third. The most practical and simple solution is to focus on delivery rate, which cannot be that easily misinterpreted as the delivery delay or the network overhead. If the delivery rate of two protocols is very close to each other, e.g., 5% or less, then a secondary metric can be taken into account. Table 8.2 shows the rankings of the delivery rate results for the four different protocols considered (Optimal, Epidemic, RRS, and Keetchi), evaluated using all benchmark scenarios. First, we can observe that Optimal is always the best, which
118
8 Benchmarking Opportunistic Networks
Table 8.2 Protocol ranking with delivery ratio only Scenario Taxi scenario Typhoon scenario Conference scenario University scenario Roller skate scenario Office scenario
Traffic High Low Trace driven High Low High Low High Low High Low
Rank 0 Optimal Optimal Optimal Optimal Optimal Optimal Optimal Optimal Optimal Optimal Optimal
1 RRS Epidemic RRS Epidemic Epidemic Epidemic RRS Epidemic Epidemic Epidemic Epidemic
2 Epidemic RRS Epidemic RRS RRS RRS Epidemic RRS RRS RRS RRS
3 Keetchi Keetchi Keetchi Keetchi Keetchi Keetchi Keetchi Keetchi Keetchi Keetchi Keetchi
Table 8.3 Metrics for University (low traffic) and Typhoon scenarios
Delivery rate Delivery delay Network overhead
University scenario Epidemic RRS 0.3018% 0.3122% 131,636 s 154,335 s 1264 MB 13,610 MB
Typhoon scenario Epidemic 0.00067% 24,615 s 535 GB
RRS 0.0014% 10,982 s 502 GB
is plausible. However, another problem becomes visible: different protocols rank differently for the different scenarios. For example, Epidemic ranks first (if we ignore Optimal, which is for comparative reasons only) for most of the scenarios, but also RRS is first for two of the scenarios. Let us look more closely into this. Table 8.3 shows the details of RRS and Epidemic in the University scenario with low traffic, where RRS exhibits a slightly better delivery rate. This difference is less than 1%, and thus well below the threshold of the 5% delivery rate, we have discussed above. The other metrics show a different story—RRS needs more than 20,000 s longer on average to deliver the data and almost ten times more network overhead. Thus, in this case, it also needs to be ranked after Epidemic. The situation for the Typhoon scenario is different, though. All delivery rates are extremely low, well below 1% (even for Optimal). One could argue that this scenario is well suited for our purposes and should be excluded from observation altogether. However, for the sake of the discussion, let us observe it. RRS has only a slightly better delivery rate than Epidemic, and the difference is below 5%. However, this time its average delay is less than half of that of Epidemic, and its network overhead is also lower. Thus, it needs to be ranked before Epidemic. Summarising our discussion above, comparison among opportunistic network protocols is not trivial and needs further research. However, from observations and general sense considerations, we can proceed with the following rules for ranking protocols in exactly the same scenarios (benchmarks), scenario by scenario:
8.4 Chapter Summary
119
1. Rank by delivery rate first. If the difference between any two protocols is less than 5% delivery rate, proceed with the next steps. Otherwise ready. 2. For any two protocols A and B, whose difference in delivery rate is less than 5%: if the delivery delay and the network overhead for A is better than B by more than 10%, rank A first. If the results are contradictory or the difference in both metrics is smaller, rank first the protocol whose delivery rate is higher. Admittedly, these rules include some “magical constants”, like the 5% threshold for the delivery rate. In other cases, we might have statistical results from many different simulation runs, and we might be able to use a direct comparison of their confidence intervals. Then, the rule would be easier and more systematic. If the two confidence intervals of the delivery rates of two data dissemination protocols overlap, then they are not significantly different from each other. However, a benchmarking scenario is fixed for good reasons, and thus we cannot use this approach. 5% seems arbitrary, and in fact, it is. More research is needed to make this part of the algorithm more robust. These rules can be easily extended to many protocols with almost the same delivery rate. However, this would probably not emerge in practice. The main drawback of this approach is that the defined thresholds are subjective. On the other hand, they allow for some practical flexibility which will not be possible if we strictly stick to one metric alone. As already noted, more research is needed to develop a more systematic metric for comparison. Before we complete this section, one note about the reproducibility of benchmarks. Strictly speaking, not only the scenarios and all parameter values need to be exactly the same, but also the simulation kernel and all connected models. This can only be achieved by using exactly the same platform or service and by making sure that also updates to this service keep the results unaltered. This is usually achieved by simulation fingerprints, where all details of a particular simulation are compared to each other before and after an update or change. Such a platform is not currently available for all researchers and would mean a great financial and time effort. However, efforts are underway and include the usage of virtual machines and online services [72].
8.4 Chapter Summary This chapter discusses the challenges associated with comparing different opportunistic solutions, particularly forwarding protocols, and highlights the importance of benchmarks in evaluating and interpreting their performance. Benchmarking is a common practice in evaluating the performance of computing objects, including hardware and software. It involves standardized tests to compare different objects under test. However, benchmarks for opportunistic networks are rare, and researchers often use self-defined application scenarios in simulations, resulting in low reproducibility and cross-comparability.
120
8 Benchmarking Opportunistic Networks
To address this issue, we propose a benchmark suite consisting of several scenarios. These scenarios consider different scales, traffic models, and types of mobility to capture the diversity of opportunistic networks. It is important to use consistent metrics for comparing opportunistic protocols. Particularly, delivery delay, delivery rate, and network overhead are identified as the most important metrics. The delivery rate is identified as the most crucial metric for comparing opportunistic protocols. The delivery delay is also important but should only be used when comparing protocols with similar delivery rates. Finally, network overhead must be normalized by the delivery rate to assess its impact on higher data traffic. A ranking approach is proposed based on the delivery rate and secondary metrics if the delivery rate difference is within a certain threshold.
Problems 8.1 What are the challenges when comparing different opportunistic solutions in the context of forwarding protocols? 8.2 The delivery rate is considered the most important metric for evaluating opportunistic forwarding protocols. Could you provide an in-depth explanation of why delivery rate is considered the primary metric, and how it reflects the overall performance and effectiveness of the different protocols? 8.3 How can protocols be ranked based on the delivery rate results in benchmark scenarios? 8.4 Provide and study other examples of benchmark scenarios proposed for opportunistic networks (different from the ones described in Sect. 8.1). Using these scenarios, compare the protocol ranking with the delivery ratio only (as detailed in Sect. 8.3). Compare your results with the ones in Table 8.2).
Part III
Implementation of Opportunistic Networks
Chapter 9
Connectivity Technologies for Opportunistic Networks
This chapter initiates a comprehensive exploration of the universe of connectivity technologies for opportunistic networks. The expansion of digital communications has spawned several innovative network technologies that collectively enhance global connectivity. The chapter begins with an overview of mobile ad hoc networks (MANETs) and explains their operation and importance for opportunistic networks. We then highlight several established and emerging technologies, emphasizing their features and applications. The chapter extends to future-oriented networks, especially 5G and 6G, to anticipate the next wave of digital transformation. We then focus on the software and libraries relevant to these technologies and provide a practical understanding of the tools used in this area. The chapter concludes with a brief summary, encapsulating the critical points discussed, followed by a set of thought-provoking questions, instigating a deeper contemplation on the topics presented. This journey will provide readers with a holistic understanding of the dynamic field of connectivity technologies and their role in shaping opportunistic networks.
9.1 Mobile Ad Hoc Networks A family of connectivity solutions for Opportunistic Networks is based on the so-called Mobile Ad hoc Networks. A Mobile Ad hoc Network (MANET) is a self-configuring, infrastructure-less network of mobile devices connected by wireless links. MANETs are characterized by their ability to operate without a fixed infrastructure or centralized administration, allowing them to be rapidly deployed and easily reconfigured. In a MANET, each device can route data on behalf of other devices in the network, and each device may act as both a host and a router. This allows dynamic
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_9
123
124
9 Connectivity Technologies for Opportunistic Networks
network topologies to be formed, where devices can join and leave the network at any time without disrupting the overall network connectivity. MANETs present unique challenges due to their dynamic and distributed nature, including issues related to network topology management, routing, security, and resource constraints. Researchers and engineers continue to develop new techniques and technologies to overcome these challenges and make MANETs more robust, efficient, and secure. Several protocols are commonly used in Mobile Ad hoc Networks (MANETs). Three of the main protocols are: 1. Ad hoc On-Demand Distance Vector (AODV) Routing Protocol: AODV [54] is a reactive routing protocol that establishes a route between two nodes only when needed. It is designed to minimize the amount of overhead and routing information stored in each node, making it well-suited for resource-constrained environments. 2. The Optimized Link State Routing (OLSR) [44] protocol is a proactive routing protocol used in Mobile Ad hoc Networks (MANETs) to establish and maintain routes between nodes. 3. Dynamic Source Routing (DSR) Protocol: DSR [107] is a hybrid routing protocol that combines elements of both reactive and proactive routing protocols. It uses source routing, meaning that each data packet carries information about its route from the source to the destination. This makes DSR well-suited for networks with high mobility but also introduces more overhead than other protocols. There are some available distributions of MANETs open software. These are highly reliable and widely accepted tools used for creating, managing, and simulating Mobile Ad Hoc Networks. Each software listed offers different features and functionalities, so choosing the right one will depend on your specific requirements and the nature of your network. These tools offer comprehensive solutions ranging from a routing protocol implementation, such as BATMAN Advanced and OLSRd, to network simulation software, like NS-3 and OMNeT++. • B.A.T.M.A.N. Advanced: This implements the BATMAN protocol for the Linux kernel. It allows for the creation of large and robust mesh networks. The project’s source code is available on GitHub and is distributed under the terms of the GPLv2 license; see https://github.com/open-mesh-mirror/batman-adv • OLSRd: This is a widely used implementation of the OLSR protocol. Like BATMAN Advanced, it is designed for Linux systems and can be used to create mesh networks. The code is open-source and is also available on GitHub; see https://github.com/OLSR/olsrd • Babeld: This implements the Babel protocol, a distance-vector routing protocol for IPv6 and IPv4 with fast convergence properties. It’s designed to work well in networks with dynamic and unpredictable topology, making it suitable for MANETs and mesh networks. Please check here: https://github.com/jech/babeld In addition, many of these open-source projects have active communities contributing to their development and enhancement, making them up-to-date and robust
9.2 Communication Technologies
125
for modern networking needs. Remember that deploying a MANET is a complex process that requires a deep understanding of network protocols and topology design, so it’s essential to review the documentation and resources provided with each software thoroughly.
9.2 Communication Technologies Connectivity technologies are the basic building blocks for opportunistic networks because they rely on the ability of devices to communicate with each other over short or long distances. Opportunistic networks are created on-the-fly and often need a pre-existing infrastructure to support them. Therefore, devices must be able to communicate with each other directly without relying on a fixed network topology. Connectivity technologies such as Bluetooth, Wi-Fi, and cellular networks enable devices to communicate with each other even when they are not close or have no direct line of sight. Connectivity technologies also play a critical role in routing data through opportunistic networks. Since devices in these networks can move in and out of range of each other, the network topology can change rapidly. This can make it difficult to establish a fixed routing path for data. However, by using connectivity technologies, devices can dynamically establish ad-hoc connections with each other, and data can be routed through the network using the available links. Finally, connectivity technologies enable the sharing of resources in opportunistic networks. Devices can share data, computing resources, and even power, which is essential in environments where resources may be scarce. By leveraging connectivity technologies, machines can work together to create adhoc networks that are resilient, flexible, and adaptable to changing conditions. Connectivity technologies can be classified based on several characteristics: range, data transfer speed, power consumption, and network topology. Here are some common features that are used to classify connectivity technologies: 1. Range refers to the distance over which a connectivity technology can transmit data. For example, Bluetooth has a relatively short range of up to 30 m, while WiFi has a range of up to several hundred meters, depending on the environment. 2. Data transfer speed refers to the rate at which data can be transmitted over a connectivity technology. For example, Wi-Fi typically has a higher data transfer speed than Bluetooth, making it better suited for streaming media and other highbandwidth applications. 3. Power consumption refers to the amount of power required to operate a connectivity technology. For example, Bluetooth typically consumes less power than Wi-Fi, making it a good choice for battery-powered devices. 4. Network topology: This refers to how devices are connected in a network. For example, Wi-Fi typically uses a centralized access point to connect devices, while Bluetooth and other ad-hoc connectivity technologies allow devices to connect directly.
126
9 Connectivity Technologies for Opportunistic Networks
5. Security: This refers to the level of security provided by connectivity technology. For example, Wi-Fi typically provides more robust security features than Bluetooth, making it a better choice for applications requiring high levels of security. These characteristics can be used to classify connectivity technologies and determine which technology best suits a particular application or use case. Developers can choose the right technology to build robust and efficient networks by understanding the strengths and weaknesses of different connectivity technologies.
9.2.1 LoRa LoRa (short for Long Range)1 is a wireless communication technology that uses a low-power, wide-area network (LPWAN) to provide long-range wireless connectivity for IoT devices. LoRa technology can be used in opportunistic networks to enable communication between nodes even when no centralized infrastructure is available. In an opportunistic network, LoRa nodes can communicate with each other directly or by relaying messages through intermediate nodes. LoRa can transmit data over long distances (up to several kilometers) using low power, making it ideal for opportunistic networks that may have widely dispersed nodes. Moreover, it operates at low power, which extends the battery life of devices and reduces the need for frequent recharging. LoRa devices are relatively inexpensive, which makes them accessible to a broader range of users and applications. Finally, LoRa is an open standard, which means different vendors and developers widely support it, and interoperability between different LoRa devices is generally reasonable. On the downside, LoRa has limited bandwidth, which means that it can transmit data at a relatively low rate (compared to other wireless technologies). This may be a disadvantage in applications that require high data rates, such as video streaming or real-time voice communication. LoRa is not designed with robust security features, which may be a concern in applications that require secure communication between nodes. It has limited reliability since it uses a best-effort approach to transmitting data, meaning there is no guarantee that data will be successfully transmitted or received. This may be a disadvantage in applications that require high reliability or real-time communication. Moreover, it operates in unlicensed frequency bands, which may be susceptible to interference from other devices or networks that use the same frequency bands. LoRa is a promising technology for opportunistic networks due to its long range, low power, and low cost. However, its limited bandwidth, security, and reliability may be a concern in specific applications, and the potential for interference should also be considered when designing LoRa-based opportunistic networks [132].
1 https://lora-alliance.org/.
9.2 Communication Technologies
127
9.2.2 Radio Frequency Identification (RFID) RFID is a wireless technology that uses electromagnetic fields to identify and track tags attached to objects. RFID tags could identify and locate objects in an opportunistic network, even in areas without network infrastructure [48]. Radio Frequency Identification (RFID) technology is wireless communication that uses electromagnetic fields to transfer data between RFID tags and readers. RFID has advantages and disadvantages when used in Opportunistic Networks (OppNets). Regarding the advantages, RFID technology can support many devices, making it suitable for large-scale OppNets with many devices. RFID tags and readers are relatively inexpensive, which makes it a cost-effective solution. Passive RFID tags do not require a battery and can be powered by the reader’s electromagnetic field, making them suitable for use in low-power OppNets. Finally, RFID technology is robust against environmental factors such as temperature, humidity, and physical obstructions. RFID has a limited communication range, making it challenging to establish long-range communication links. It has a low data transfer rate, making it unsuitable for applications that require high-bandwidth data transfer, such as video streaming or large file transfers. RFID tags can be read without the user’s consent or knowledge, which raises concerns about security and privacy in OppNets. Also, RFID communication can be affected by interference from other wireless communication technologies, which can cause packet loss and degrade network performance. RFID technology can be a valuable tool for OppNets, especially in applications requiring low-power, low-cost, and scalable communication solutions. However, the limited communication range, low data rate, and security concerns of RFID may limit its use in some OppNet applications.
9.2.3 Bluetooth Low Energy (BLE) BLE is a wireless, low-power, short-range communication technology. It enables devices to communicate with each other directly without the need for a centralized infrastructure, making it suitable for use in opportunistic networks [46]. Bluetooth Low Energy (BLE)2 is a wireless communication technology commonly used in various devices and applications. It has various advantages. BLE is designed to consume very low power, making it ideal for battery-powered devices often used in opportunistic networks. BLE devices are relatively inexpensive and widely available, which makes them a cost-effective option for deploying opportunistic networks. It has a short communication range (typically less than 100 m), which can be advantageous in opportunistic networks, as it limits the potential for interference
2 https://www.bluetooth.com/.
128
9 Connectivity Technologies for Opportunistic Networks
and helps to ensure reliable communication. Finally, and probably most importantly for opportunistic networks, BLE is supported by most modern smartphones and other mobile devices, which makes it easy to integrate into existing networks and devices. It has some limitations. BLE has a lower data rate than other wireless technologies, which can limit the amount of data transmitted over the network. While the short range of BLE can be an advantage in some cases, it can also be a limitation in opportunistic networks where longer-range communication may be necessary. BLE operates on the 2.4 GHz frequency band, which can be crowded with other wireless devices and networks, leading to interference and reduced performance. Finally, as with other wireless technologies, BLE is susceptible to security threats, such as eavesdropping, data interception, and unauthorized access, which can be a concern in opportunistic networks where data privacy and security are essential. Overall, BLE can be valuable for opportunistic networks, particularly for low-power and low-bandwidth applications. However, its range, bandwidth, and security limitations should be carefully considered when designing and deploying a network.
9.2.4 Wi-Fi Direct Wi-Fi Direct is a technology that allows devices to connect directly over a WiFi network without needing a router or access point. This enables devices to communicate with each other in situations where network infrastructure is not available [36]. Wi-Fi Direct is a wireless communication technology that allows two devices to connect directly without needing an access point or an existing WiFi network. This technology has some advantages and disadvantages when used in opportunistic networks. Wi-Fi Direct allows for quick and easy setup of ad hoc networks without requiring any infrastructure or centralized administration. This makes it well-suited for opportunistic networks, where devices may only be in range of each other for a short period. Wi-Fi Direct offers high bandwidth and low latency communication between devices, which makes it suitable for applications that require real-time communication or large data transfers. Most importantly, Wi-Fi Direct is a widely available technology supported by many devices, making it easy to find compatible devices for opportunistic networks. On the downside, Wi-Fi Direct has a limited range of up to 200 m, meaning that devices must be close to each other to establish a connection. This characteristic can make maintaining connectivity in extensive or sparsely populated areas difficult. It requires a significant amount of power to maintain a link, which can drain the battery life of mobile devices. This issue can be a concern in opportunistic networks, where devices may not have access to power sources for extended periods. Finally, WiFi Direct connections are susceptible to security vulnerabilities like eavesdropping and spoofing. Opportunistic networks may also be more vulnerable to attacks as they lack the centralized security mechanisms of traditional networks.
9.2 Communication Technologies
129
In summary, Wi-Fi Direct offers several advantages for opportunistic networks, such as easy setup and high bandwidth communication. Still, it also has limitations, such as limited range, power consumption, and security concerns, that must be considered when designing and deploying such networks.
9.2.5
ZigBee
ZigBee3 is a low-power wireless technology that is designed for use in sensor networks and home automation systems. In an opportunistic network, ZigBee could be used to create ad-hoc networks of sensors and other devices [13]. ZigBee is designed to be energy-efficient, which makes it suitable for devices that operate on battery power or have limited power resources. ZigBee chips and devices are relatively inexpensive, which makes them cost-effective for large-scale deployments. Very importantly, it supports mesh networking, which enables devices to communicate with each other even if they are not within direct range. This factor makes this technology well-suited for opportunistic networks, where devices may not have a direct path to the destination. Finally, ZigBee provides built-in security features, such as encryption and authentication, which help to protect the network from unauthorized access and data breaches. Zigbee and IEEE 802.15.4 are closely related, with the latter as the foundation for the former. IEEE 802.15.4 is a technical standard that establishes the framework for low-rate wireless personal area networks (LR-WPANs). It outlines the specifications for the physical layer and the media access control of these networks. The upkeep and revision of this standard are overseen by the IEEE 802.15 working group. On the other hand, Zigbee is a high-level communication protocol built to provide a simple and robust platform for building automation and control systems, smart homes, and IoT applications. It was developed and promoted by the Zigbee Alliance. Zigbee uses the IEEE 802.15.4 standard as the basis for its networking and radio communication. While IEEE 802.15.4 sets the groundwork for how devices communicate at a basic level (such as how data is framed and sent, how devices join a network, and how collision avoidance happens), Zigbee extends upon this by defining more complex operations and interactions like setting up networks, routing data, and security features. The relationship between Zigbee and IEEE 802.15.4 is similar to the relationship between the internet protocols HTTP or FTP and TCP/IP. The latter provides basic communication services, while the former offers high-level services built on top of these basic services. This technology has some drawbacks anyway. It has a limited range compared to other wireless networking technologies like Wi-Fi or Bluetooth. This issue means that ZigBee devices must be relatively close to each other to communicate. Moreover, ZigBee has a limited bandwidth, so it may not be suitable for applications
3 https://csa-iot.org/all-solutions/zigbee/.
130
9 Connectivity Technologies for Opportunistic Networks
requiring high data rates or low latency. It operates in the same frequency range as other wireless technologies, such as Wi-Fi and Bluetooth, which can cause interference and reduce network performance. Finally, ZigBee devices may not be compatible with devices from other manufacturers or wireless networking technologies, which can limit the flexibility and interoperability of the network. Overall, ZigBee is a practical wireless networking technology for opportunistic networks, especially in applications that require low power consumption, low cost, and mesh networking. However, it is essential to consider the limitations and potential drawbacks of ZigBee when designing and deploying an opportunistic network.
9.2.6 802.11p IEEE 802.11p [25], part of the larger IEEE 802.11 family of wireless networking standards, is a pioneering standard developed explicitly for vehicular communication systems. Its purpose is to improve road safety and facilitate intelligent transportation systems through vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communications. This forms the foundation for Cooperative Intelligent Transportation Systems (C-ITS), which utilize communication, computing, and sensing technologies to enhance transportation safety and efficiency. The 802.11p standard operates in the 5.9 GHz band, a spectrum explicitly allocated for Intelligent Transportation System (ITS) services. It enables data exchange between fast-moving vehicles and the surrounding infrastructure over short distances. It adapts to the dynamic topology of vehicular networks, where vehicles can act as mobile nodes and establish spontaneous networks or join existing ones while in motion. An essential aspect of vehicular communication systems based on 802.11p is using Collective Perception Messages (CPM) and Cooperative Awareness Messages (CAM). These message types and other Decentralized Environmental Notification Messages (DENM) facilitate communication and awareness within the network. CAMs are transmitted frequently, 1 to 10 times per second, to share the vehicle’s current status, such as position, speed, and heading, with other vehicles and roadside infrastructure. These messages are broadcasted by all network entities within communication range, allowing them to maintain an up-to-date awareness of the immediate traffic situation and predict the behavior of surrounding vehicles. On the other hand, CPMs focus on extending this awareness to non-line-ofsight scenarios by including sensor data, such as radar or lidar observations, in the messages. They enhance vehicle perception capabilities beyond what a single vehicle can detect with its sensors. By sharing perception data, CPMs allow vehicles to ‘see’ around corners or through other vehicles, enhancing their awareness of potential hazards that might not be directly visible. One of the unique characteristics of 802.11p is its opportunistic nature. Unlike traditional wireless networks, which require an established connection for com-
9.2 Communication Technologies
131
munication, 802.11p enables vehicles to communicate spontaneously with other vehicles or infrastructure within range with little to no delay. This is particularly beneficial in environments with high relative speeds and rapidly changing network topologies, such as highways or busy urban environments. Moreover, the 802.11p standard also supports multi-hop communication, meaning messages can be relayed across multiple vehicles to reach vehicles or infrastructure not within direct communication range. This extends the effective communication range and enhances the system’s reliability and robustness. However, like any technology, 802.11p has its challenges. Given the high mobility of vehicles, maintaining reliable and consistent connectivity can be a challenge. Also, the standard must effectively manage the available spectrum to avoid congestion and interference, particularly in densely populated areas with numerous communicating vehicles. The 802.11p standard is vital in developing C-ITS, enhancing vehicular safety and efficiency. The use of CAMs and CPMs helps maintain a high level of situational awareness among vehicles and infrastructure, enabling them to make informed decisions and take appropriate actions. The standard’s opportunistic nature and ability to support multi-hop communication allow for effective communication in various driving scenarios and environments. The latest enhancement of the IEEE 802.11p is released as IEEE 802.11bd.
9.2.7 Satellite Communication Satellite communication can connect areas where traditional networking infrastructure is unavailable. In an opportunistic network, satellite communication could establish a connection between nodes out of the range of terrestrial networks. In general, it is costly and complex to use technology [175]. Satellite communication can provide comprehensive area coverage, which is especially useful in scenarios where traditional communication infrastructure is not available or accessible. This characteristic makes satellite communication suitable for OppNets deployed in remote or rural areas. This technology can be more reliable than other forms of wireless communication because it is not affected by physical obstacles, such as buildings or terrain. This factor can be advantageous in OppNets, where nodes are highly mobile and frequently change location. Finally, Satellites can provide high-speed data transmission, which can be beneficial in Opportunistic Networks where nodes need to exchange large amounts of data, such as in disaster response scenarios or scientific missions. Nevertheless, Satellite communication can be more expensive than other forms of wireless communication, which can be a disadvantage in OppNets that have limited resources. The cost of satellite communication can include the cost of the satellite equipment and the data transmission. From a more technical point of view, Satellite communication can have higher latency than other forms of wireless communication due to the distance that signals have to travel to reach the satellite and back. This
132
9 Connectivity Technologies for Opportunistic Networks
issue can result in delays in data transmission and affect the overall performance of the OppNet. While satellite communication can provide high bandwidth, it can also limit the amount of data transmitted due to limited frequency spectrum availability. This behavior can be a disadvantage in Opportunistic Networks where nodes need to exchange large amounts of data over a short period. Overall, satellite communication can offer several advantages and disadvantages when used in Opportunistic Networks, and the decision to use it depends on the specific requirements and characteristics of the OppNet application.
9.3 Toward 5G and 6G Networks Opportunistic Networks (OppNets) have a significant interest in the wireless communication sphere due to their unique ability to operate in challenging or disconnected environments. As we move into the era of 5G and soon 6G, these OppNets have a significant role to play. The integration of OppNets within these future generations of wireless networks will not only enhance the reliability and availability of connectivity. Still, it will also open doors to novel use cases and applications. In the 5G paradigm, the central focus is to provide ubiquitous connectivity, enhanced mobile broadband, massive machine-type communications, and ultrareliable low-latency communications. These objectives bring a set of challenges, including connectivity in densely populated or remote areas and the management of an unprecedented number of connected devices. This is where OppNets can contribute significantly. By leveraging the “store, carry and forward” principle, OppNets can ensure reliable communication in dense urban environments where conventional network coverage might suffer due to high device density or physical obstructions. Similarly, in remote areas where installing infrastructure is economically or physically impractical, OppNets can provide a solution by creating a dynamic network of devices that leverage any available connectivity opportunities. As we transition from 5G to 6G, the complexity and demands of wireless networks will increase exponentially. 6G aims to revolutionize the digital landscape by creating a deeply interconnected and intelligent society, integrating artificial intelligence, machine learning, and advanced IoT applications into daily life. With such high aspirations, robust, flexible, and innovative networking solutions become paramount. OppNets fit perfectly into this future vision. They can support 6G’s goal of offering seamless and ubiquitous connectivity, meeting the network’s demands for ultra-reliable and high-speed communication. Additionally, the potential to integrate OppNets with AI and ML techniques in 6G could enable more efficient and intelligent networking decisions, optimizing resource usage and facilitating sophisticated applications. This would enable the network to adapt to changing conditions and requirements in real-time, enhancing overall network performance.
9.4 Related Software and Libraries
133
Furthermore, 6G envisions exploiting the potential of ‘anytime, anywhere’ connectivity to support advanced applications such as augmented and virtual reality, holographic communications, and high-precision automation. Such applications require a highly flexible and robust network. By leveraging the dynamic and adaptive nature of OppNets, it is possible to meet these stringent requirements, offering a pathway for these advanced applications to become a reality. In conclusion, integrating OppNets in 5G and 6G wireless networks presents a wealth of opportunities. By combining the inherent strengths of OppNets with the revolutionary features of 5G and 6G, it’s possible to build future-proof networks that can tackle the connectivity challenges of the coming decades, ushering in a new era of communication.
9.4 Related Software and Libraries This section briefly reviews some existing software, applications, and tools currently available for working with opportunistic networks. These resources provide a variety of functionalities, from simulating and testing various network protocols and applications to enabling applications to communicate opportunistically without the need for a stable end-to-end connection. Some tools leverage existing hardware capabilities, such as Bluetooth, for device-to-device communication within an opportunistic network framework. Others are implementations of specific networking architectures designed to provide reliable data transport in environments where connections are intermittent or unreliable. There are also resources aimed at providing secure, resilient, and aware communications, particularly useful in scenarios where traditional communication networks may not be available. These tools and applications can serve as valuable starting points or references for anyone interested in exploring, developing, or implementing opportunistic networks.
9.4.1 Exposure Notifications System (ENS) The Exposure Notifications System (ENS) is a framework developed jointly by Google and Apple in response to the COVID-19 pandemic. This system aims to assist in contact tracing efforts to help slow the spread of the virus. It’s designed to quickly and efficiently notify individuals who may have been exposed to COVID-19 while also maintaining strong privacy protections. When two people are nearby, their phones exchange random identifiers using Bluetooth Low Energy (BLE). These identifiers change frequently and do not contain personally identifiable information or location data, which helps maintain user privacy. If a person is diagnosed with COVID-19, they can choose to share their phone’s random IDs for the past 14 days with the system. Other phones can then download
134
9 Connectivity Technologies for Opportunistic Networks
a list of IDs associated with positive COVID-19 cases and check for matches. If there’s a match, the user will be notified of potential exposure to COVID-19. The system is designed to respect user privacy. All matching is done on the device, and users can report a positive diagnosis. The system does not track location or share other personal information. Random IDs cannot be used to identify an individual or their location. The ENS is an API, which means it’s a software intermediary that allows different apps to interact. Public health authorities worldwide can use this API to build contact tracing apps that are compatible with this system. This allows for a unified, interoperable approach to contact tracing across different countries and regions.
9.4.2 Apple Multipeer Connectivity The Apple Multipeer Connectivity4 framework is a powerful platform Apple provides. It allows developers to design applications that support the discovery of nearby devices and direct communication with them without requiring an Internet connection. This framework is designed for iOS, macOS, and watchOS platforms, enabling peer-to-peer communication and data sharing between devices. Multipeer Connectivity uses a combination of Bluetooth, Wi-Fi, and, if available, peer-to-peer Wi-Fi to make connections between devices. This allows for the creation of a local network for connected devices and supports unicast (one-to-one) and multicast (one-to-many) communications. The framework’s features include service discovery, secure data transmission, and session management. For service discovery, it uses Bonjour technology, which permits devices to discover each other without human intervention specifying the network services and the hosts that offer these services. It provides a high-level abstraction to send and receive reliable and unreliable data transmission data. In essence, Apple’s Multipeer Connectivity framework provides a flexible and straightforward way for applications to communicate over local networks, facilitating innovative applications in gaming, social networking, collaborative work, and more.
9.4.3 IBR-DTN IBR-DTN, “Interplanetary Bundle Protocol Daemon for Delay- and DisruptionTolerant Networking”, is a networking framework enabling communication over extremely long distances and in disruptive environments. This protocol was devel-
4 https://developer.apple.com/documentation/multipeerconnectivity.
9.4 Related Software and Libraries
135
oped by the Institute of Operating Systems and Computer Networks at the Technische UniversitÃd’t Braunschweig [59]. The Interplanetary Internet, which is currently under development, will need to address the issues of significant time delays and disruption in communication links. Traditional TCP/IP protocols fail in these environments because they expect a continuous end-to-end connection. The Delay- and Disruption-Tolerant Networking (DTN) architecture addresses these issues. The DTN architecture uses a “store-and-forward” technique, meaning that the data is sent from one node to another and stored there until it can be safely transmitted to the next node. This process continues until the data finally reaches its destination. In this way, DTN allows for reliable data transmission in circumstances where connections are unreliable or delayed, as in space or remote areas on Earth. IBR-DTN is a software implementation5 of the Bundle Protocol (BP), a part of the DTN architecture. The Bundle Protocol provides a uniform interface to application users and serves as a general-purpose application-level protocol for DTN environments. This protocol operates in the application layer of the traditional Internet protocol suite, treating the transport, network, and link layers as one “bundle layer”. This implementation is useful in a wide variety of scenarios like deep-space communication, communication in remote areas, or other scenarios where connectivity is intermittent or not guaranteed. The IBR-DTN framework can run on various operating systems, including Linux, Android, and Windows, and it’s employed in research and experiments related to space and opportunistic networking.
9.4.4 ION DTN ION DTN,6 or the Interplanetary Overlay Network, is an open-source implementation of the Delay-Tolerant Networking (DTN) protocols developed by the Jet Propulsion Laboratory (JPL), a division of NASA. As a software framework, it facilitates communication in environments where standard Internet protocols are often unsuitable due to disruptions and long latency, such as space communications, but it can also be used in terrestrial networks. ION DTN uses a “store and forward” approach to solve this problem. Data is sent from one node to another and stored there until it can be safely transmitted to the next node. This process continues until the data finally reaches its destination. Thus, ION DTN provides reliable data transmission when standard network connections are unsteady or delayed.
5 https://github.com/ibrdtn/ibrdtn. 6 https://github.com/NASAHackTO/ion-dtn/tree/master.
136
9 Connectivity Technologies for Opportunistic Networks
The ION software itself includes implementations of various DTN protocols, such as the Bundle Protocol (BP), which provides a way to address bundles (a unit of data in DTN) and to store and forward bundles across a network. It also includes the Licklider Transmission Protocol (LTP), which is designed for transmitting data over links with a high round-trip time, such as those in space. ION DTN also provides the necessary tools to manage and configure the nodes in a DTN network. It’s widely used in research related to space communications, and it’s been an integral part of several space missions managed by NASA. In conclusion, ION DTN software is a robust and versatile suite of tools that allows for reliable communication in environments where traditional networking architectures would fail, making it essential to develop interplanetary Internet and applications in remote or disrupted terrestrial networks.
9.4.5 Bridgefy Bridgefy7 is a messaging app that allows for communication without the need for internet or SMS connectivity. It was designed to enable communication in areas with poor or no network coverage, such as during large events, natural disasters, or in rural areas. The app uses Bluetooth technology to create a peer-to-peer network among nearby devices. This allows users to send direct messages to other Bridgefy users within Bluetooth range, typically around 100 m. One of the key features of Bridgefy is its ability to create a mesh network for communication. If the recipient of a message is out of direct Bluetooth range, the message can be relayed through other Bridgefy users’ devices in between, allowing for communication over longer distances. This is particularly useful in crowded areas where there are many Bridgefy users, as it allows the network to extend much further. Bridgefy also offers a “Broadcast” mode, which sends messages to all Bridgefy users within range, useful for sending out notifications or alerts to a large group of people. It’s important to note that while Bridgefy allows for communication without internet or SMS, it does require Bluetooth to be enabled and the devices to be within range of each other. As of September 2023, the app is available for both iOS and Android devices.
7 https://bridgefy.me/.
9.4 Related Software and Libraries
137
9.4.6 Briar, Secure Messaging, Anywhere Briar8 is an open-source messaging app designed for secure and private communication. It’s especially useful in scenarios where internet connectivity is unreliable, censored, or completely absent. One of the unique features of Briar is that it doesn’t rely on a central server— messages are synchronized directly between the users’ devices. If the Internet’s down, Briar can sync via Bluetooth or Wi-Fi, keeping the information flowing in a crisis. If the Internet’s up, Briar can sync via the Tor network, protecting users and their relationships from surveillance. Briar’s security model is designed to provide strong encryption and privacy features. All messages are end-to-end encrypted, and each contact is authenticated to prevent impersonation. The app also doesn’t keep metadata about who you communicate with. In addition to person-to-person messaging, Briar supports private groups and public forums for broader communication. It’s designed to be resilient against network and power outages, making it a good choice for situations like protests, natural disasters, or travel in areas with poor infrastructure. As of September 2023, Briar is available only for Android devices.
9.4.7 Serval Project The Serval Project9 is an open-source initiative aimed at developing a robust, decentralized, and secure communication system that can be used in scenarios where traditional communication networks are unavailable, unreliable, or unaffordable. This could include disaster situations, remote areas, or even urban environments where users want to communicate directly without relying on a centralized network. The Serval Project’s main offering is the Serval Mesh software, which allows smartphones to communicate directly with each other even when there’s no cellular network or internet connection available. It uses the phone’s built-in Wi-Fi and Bluetooth to create a mesh network where each device can relay messages to other devices. Key features of the Serval Mesh include voice calls, text messaging, file sharing, and even an emergency beacon. All of these services can operate over the mesh network, allowing people to stay connected in situations where they would otherwise be cut off. The Serval Project is built on openness, decentralization, and privacy principles. It’s designed to be easy to use, with a standard smartphone interface, and it doesn’t
8 https://briarproject.org/. 9 https://www.servalproject.org/.
138
9 Connectivity Technologies for Opportunistic Networks
require any special hardware or infrastructure to set up a network. The project aims to empower individuals to communicate freely, even in the most challenging circumstances.
9.4.8 Titan HST Titan HST10 is a comprehensive emergency communication system that provides real-time, two-way communication during emergencies or critical situations. It’s designed for use by various organizations, including schools, businesses, and large venues, to ensure safety and coordination during an emergency. One of the key features of the Titan HST system is its ability to send out mass notifications. In an emergency, administrators can use the system to send notifications to all users, providing important information about the situation and instructions on actions to take. Unlike traditional alarm systems, Titan HST also provides two-way communication. This means that users can respond to notifications, ask questions, and provide information about their own situation. This interactive feature can provide administrators and emergency responders with valuable information during a crisis. In addition, Titan HST provides real-time updates, allowing users to stay informed about the situation as it evolves. The system can also track the location of users, which can be crucial in an emergency where locating individuals may be necessary.
9.5 Chapter Summary This chapter provides an overview of various connectivity technologies used in opportunistic networks. This chapter discusses mobile ad-hoc networks (MANETs) as a family of connectivity solutions for opportunistic networks. MANETs are selfconfiguring, infrastructure-less networks of mobile devices connected by wireless links. The chapter highlights the challenges associated with MANETs, including network topology management, routing, security, and resource constraints. The chapter presents three commonly used protocols in MANETs: Ad hoc OnDemand Distance Vector (AODV) Routing Protocol, Optimized Link State Routing (OLSR) protocol, and Dynamic Source Routing (DSR) Protocol. Each protocol is described, emphasizing its features and suitability for resource-constrained environments. The text then discusses various connectivity technologies and their role in opportunistic networks. The technologies discussed include LoRa, Radio Frequency
10 https://www.titanhst.com/.
9.5 Chapter Summary
139
Identification (RFID), Bluetooth Low Energy (BLE), Wi-Fi Direct, ZigBee, and satellite communication. Each technology is described in terms of its advantages, limitations, and applicability in opportunistic networks. LoRa is recognized for its long-range, low-power, and low-cost characteristics, making it suitable for widely dispersed nodes. RFID is noted for its scalability and low-power operation but has a limited communication range and data transfer rate. BLE is praised for its low power consumption, high availability, and compatibility with mobile devices, although it has limited range and security. Wi-Fi Direct is discussed for its ease of setup and high bandwidth but has limited range and power consumption concerns. ZigBee is noted for its energy efficiency, mesh networking capability, and built-in security features, although it has a limited range and bandwidth. Satellite communication is mentioned as a viable option for areas without traditional networking infrastructure, offering broad area coverage and high-speed data transmission but at a higher cost and with potential latency issues. This chapter provides insights into the connectivity technologies used in opportunistic networks, highlighting their features, advantages, and limitations. It serves as a valuable resource for understanding the role of connectivity technologies in enabling robust and efficient communication in dynamic and resource-constrained environments.
Problems 9.1 What are the three main protocols used in Mobile Ad hoc Networks (MANETs), and how do they differ in terms of their approaches to routing and resource management? 9.2 How does the dynamic and distributed nature of MANETs present unique challenges for network topology management, routing, and security, and what techniques are researchers and engineers developing to overcome these challenges? 9.3 What are the advantages and disadvantages of using LoRa technology in opportunistic networks? 9.4 How does RFID technology perform in terms of range, data transfer rate, and security when used in opportunistic networks? 9.5 What are the strengths and weaknesses of Wi-Fi Direct as a connectivity technology in opportunistic networks, considering factors such as range, power consumption, and security?
Chapter 10
Device Characterization for Opportunistic Networks
Opportunistic networks are designed to use opportunistic contacts between devices, such as smartphones or other mobile devices, to exchange information. Device characterization is crucial for OppNets due to the inherent nature of these networks, which rely on available resources and intermittent connectivity among devices. Thus, understanding the devices’ characteristics becomes significant in optimizing resource usage (power, cache), routing, and overall network performance. This chapter discusses the properties and restrictions coming from real-world devices, such as power, cache, and processing requirements.
10.1 Power Availability Power is like fuel for our digital devices. They constantly need power for these systems to work smoothly and without interruptions. This continuous power supply allows data to flow without stopping. Opportunistic networks are used on many devices, from smartphones and tablets to tiny sensor nodes. The main power options are to have wall power (stationary and uninterrupted power access) or run-on batteries. Depending on the size and the expected lifetime of the used devices, the batteries can be very large or very small. A third option is to use energy harvesting techniques, such as solar or piezoelectric power (harvesting mechanical energy). This option is commonly combined with a battery, which is recharged on the spot. However, it is sometimes used alone, e.g., for passive RFID or EnOcean devices. IoT devices can be connected to all kinds of power sources. For example, industrial IoT devices will probably have access to the power grid. IoT devices for smart farming will only have batteries or need to rely on an intermittent power source, like external wireless power transfer or piezoelectric power. Thus, no general statements can be made for IoT devices, and the concrete application scenario and its devices need to be carefully considered. Examples are provided in Fig. 10.1. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_10
141
142
10 Device Characterization for Opportunistic Networks
Fig. 10.1 In the Internet of Things, very diverse devices exist. On the left, we see a battery-less contact sensor from EnOcean. We see the MoleNet [236] smart farming sensor with a battery pack in the middle. On the right, we see a security camera directly connected to the power grid
Fig. 10.2 In space, the main energy options to use are batteries, solar panels, and radioisotope generators. On the left, Mars Rover Curiosity is posing for a selfie. A lithium-ion battery and a generator power it. On the right, we see the Hubble Space Telescope, powered by relatively small solar panels. Credit: NASA/JPL-Caltech/MSSS
Satellites and space probes usually have sufficient power from one of three options: solar panels, a battery, or a power generator, such as a radioisotope thermoelectric generator (RTG) [160]. Solar panels can only be used close to the sun, for example, around the Earth. Batteries can only be used for very short missions like it was done for the Huygens probe, which landed on Saturn’s moon Titan in 2005. An RTG or similar generators can be used for a longer time and are a very reliable energy source. However, energy is still scarce in space, and its usage must be carefully considered. The most significant problem is the size and weight of the power system, which are severely limited. Examples are depicted in Fig. 10.2. Earth vehicles (or envisioned planetary vehicles for human expeditions) have fewer problems with power. Typically, the battery is recharged regularly and reliably since otherwise, the vehicle will stop moving. Additionally, the communication system has a very small energy footprint compared to the engine and to other components of the vehicles (e.g., air conditioning). Thus, for all vehicles, we assume power is limited but typically well available. Some vehicles are even connected to the power grid, like trains, tramways, and trolleys. A special case are unmanned aerial vehicles (UAVs). Strictly speaking, their batteries are rechargeable, but once in the air, they are not. At the same time, similarly to ground vehicles, the communication system plays an insignificant role
10.1 Power Availability
143
Fig. 10.3 Vehicles are typically not severely restricted in terms of power, with some of them even directly connected to the power grid (left). On the right, we see a drone, which is typically very restricted in power, but the communication system is not a significant consumer. Credit: Wikipedia, Piecarte
Fig. 10.4 Handheld devices (left) are not very energy limited, even if it can become very tedious for the user to recharge them often. Wearables are much more sensitive and limited (middle), while implantable devices are severely limited. Credit: Apple, CRN, UMass
compared to the rotors. An example is provided in Fig. 10.3 together with a trolley, which represents the opposite spectrum of energy availability. Handheld devices, such as laptops, tablets, and smartphones, can be considered as limited in power, even if not as dramatically as some IoT devices. Again, we can assume that the users will recharge them. However, this time the communication system plays a significant role in the overall power consumption. Additionally, the user might not always has access to a recharging opportunity. Thus, this type of device needs to be more carefully used in terms of available energy. Last but not least, wearables are one important class of devices in opportunistic networks. They are highly energy restricted and need to consider also thermal energy dissipation while wearing them (they are not allowed to get hot). Such devices are often intermittently powered by piezoelectric energy (mechanical energy). Examples of handheld devices, wearables, and implantables are provided in Fig. 10.4. Once again, it becomes clear that opportunistic networks are many-fold and cannot be generalized. Power availability and reliability can range from very relaxed and highly reliable to strictly limited and intermittent. This poses a tough challenge for the design of generalized data dissemination protocols or standards.
144
10 Device Characterization for Opportunistic Networks
Intermittent power (battery-less)
IoT devices Wearables
Nonrechargeable battery
Satellites and space probes Unmanned Aerial Vehicles (UAVs)
Rechargeable battery
Handheld devices (laptops, tablets and smartphones)
Vehicles (trucks, cars, bikes, etc.)
Power grid
Very limited power
Limited power
Unlimited power
Fig. 10.5 Power availability and reliability for devices used in opportunistic networks
In summary, the most typical applications for OppNets employ satellites and space probes, handheld devices (in disaster areas or remote areas), vehicles, (mobile) IoT devices, and wearables. These options and their power availability and requirements are depicted in Fig. 10.5. On the y-axis, the possible power sources are listed and ordered as per their reliability. Access to the power grid usually means unlimited power and very high reliability. Many devices have rechargeable batteries, such as vehicles, smartphones, wearable devices, etc. Here, the power is limited and less reliable. However, also the assumption applies that someone takes care of recharging the batteries for the sake of the main application, such as starting the car or using the smartphone. Thus, we assume that rechargeable batteries are slightly more reliable than non-rechargeable batteries. Again, this is due to the power properties of the batteries themselves, but rather to the behavior of their users. The least reliable option are intermittent power sources, such as piezoelectric sensors or wireless power transfer. Here, we explicitly mean devices without a battery.
10.2 Cache Restrictions The cache is a very interesting topic for opportunistic networks. On one side, researchers like to assume that it is unlimited, and for theoretical studies, this is an acceptable assumption. Sometimes, they also argue that the available memory in modern devices is so large that we can safely assume the cache is unlimited. This is surely true for ground vehicles, smartphones, laptops, etc. However, IoT devices are severely limited. Moreover, as we explain in Chap. 11, the traffic in
10.2 Cache Restrictions
145
large-scale opportunistic networks like vehicular or people-driven scenarios grows exponentially. Another effect of keeping too much data on a single device is that this data needs to be managed: ordered, searched, deleted upon expiration, etc. This delays the work of the complete system and can potentially endanger the application itself or the data dissemination protocol. Here is an example: Let us assume two devices meet each other, and one of them sends a message to the second one, containing the messages it already has and asking for new ones. The second one needs now to compare this (potentially very long!) list with its own list. This can take so long that the nodes might disconnect again. Another example: a car sends a warning message to all cars around it, notifying them about an important danger, such as a hole in the street. Each car needs to compare this new warning with all warnings already received and decide whether to act upon it or not. This might take so long with a large list of messages that some of the cars might bump into the danger. This discussion shows that keeping a low amount of raw data for opportunistic networks is favorable. In this section, we discuss only the impact on opportunistic protocol performances depending on the size of caches. Managing data efficiently for a given cache size is discussed in Sect. 2.8. During our own research on dissemination protocols for OppNets [215], we have made some interesting observations. Our hypothesis was that: The less cache is available, the more packets will be dropped, which heavily disrupts the whole network. Figure 10.6 shows this hypothesis: the more cache is available, the better the network performs. However, also with lower cache sizes, the optimal performance can be achieved. Again, we have used our own OPS simulator [216] as in Sect. 1. However, this time we have not used synthetic mobility models but a real trace, which was gathered from San Francisco cabs [170], Epidemic data dissemination, and 536 nodes. This time we have used the SFO real trace to demonstrate that this effect is not only seen for synthetic mobility models. We have gradually changed the available cache at each device from infinity to extremely small (20 KB corresponds to two data packets). The data packet size was 10 KB. It can be clearly seen that with infinite cache, the network is performing at its optimal and achieves very good performance (delivery ratio over 90% and lowest delivery delays). With decreasing cache size, the performance first does not change—the lines are overlapping for 10, 5, and 3 MB. Only for 1 MB the performance starts to deteriorate. It is plausible to assume that this mark (1 MB cache) can quickly change when more nodes are present in the network and/or when the nodes produce more or bigger data items. This will be the case for a smart city scenario, where all cars are connected and produce data. However, why does this happen in the first place? The answer is shown in Fig. 10.7. As time progresses, the caches start to fill up since traffic is produced continuously. At some time (here after exactly 32,200 seconds or approx. 9 hours), the cache is full, and new data need to be dropped. This can be seen in the upper graph in Fig. 10.7, where cache removals start to increase when the cache is full. However, this effect is self-reinforcing. When data is removed, duplicates cannot be handled correctly (lowest graph in Fig. 10.7), and even more data is removed from
146
10 Device Characterization for Opportunistic Networks
Fig. 10.6 The more cache is available, the better the network performs. However, also with lower cache sizes, the optimal performance can be achieved (the lines for infinite cache and 10, 5, and 3 MB overlap)
the cache. Old data, which has been already delivered, seems to be new now since it has been removed from the cache before it expired. Thus, the delivery delay for individual packets is growing (lower graph). Note that other factors influence the exact time of cache exhaustion, such as the time-to-live of the packets, the data dissemination protocol itself, and many others. However, the cache size itself plays a significant role and needs to be considered carefully for real deployments.
10.3 Processing Requirements Opportunistic networks often operate in challenging environments where classical network infrastructure is unavailable or unreliable, such as remote areas or disaster regions. As more processing leads to higher energy consumption, the efficient use of routing and data dissemination algorithms plays an important role to optimize both the processing and the energy requirements. As shown in Fig. 10.5, most of the devices used in opportunistic networks have limited resources such as processing power, energy, and storage. Therefore, algorithms prioritizing message
10.3 Processing Requirements
147
Fig. 10.7 The results of a sample node in a simulation with the SFO real trace. After 32,200 seconds, the cache becomes full, and the performance deteriorates significantly
dissemination based on network conditions and device availability are crucial for optimizing processing requirements in opportunistic networks. In general, processors used in mobile devices are continually growing as technology advances. Modern mobile devices, such as smartphones and tablets, often based on ARM architecture, offer multiple cores and high clock speeds to handle demanding applications and multitasking. The processing requirements for devices used in opportunistic networks can vary depending on a few factors: • Device Role: An opportunistic network node can have different roles, such as data source, relay, or destination. These roles determine the amount of processing
148
•
•
•
•
• •
10 Device Characterization for Opportunistic Networks
power required. For example, a relay node might require less processing power than a node that can process and interpret the data it receives. Routing Algorithms: The algorithm for decision-making regarding data forwarding and transmission can significantly impact the processing requirements. Some routing protocols are resource-intensive, requiring considerable processing power to calculate the best possible route, considering factors like node mobility, available storage, transmission opportunities, etc. Security: Security measures such as encryption, decryption, and authentication can add to the processing load. Devices in an opportunistic network need to be secure since they often operate in environments with untrusted nodes. Mobility Management: In highly mobile opportunistic networks, the constant movement of nodes requires regular updates of routing tables or contact information, requiring considerable processing. Data Processing: Depending on the application, some devices might have to process the data they carry. This is especially true for edge computing applications where data is processed closer to the source to save bandwidth and reduce latency. Network Maintenance: Tasks such as network discovery, network topology maintenance, and handling node entries and exits require processing resources. Energy Efficiency: In battery-powered devices, efficient energy use is crucial. Thus, designing mechanisms for opportunistic networking that balance processing needs with energy constraints is critical.
Furthermore, all steps discussed in Chap. 6 for speeding up simulation models are also applicable here. To summarize, the processing requirements for devices in opportunistic networks are context-dependent, and they can significantly vary based on the specific role of a device, the characteristics of the network, and the application needs. The challenge lies in designing and managing such networks to efficiently use the processing power available without compromising functionality, security, and energy efficiency.
10.4 Chapter Summary This chapter provides device characterization in opportunistic networks focusing on power availability, cache restrictions and processing power. Power availability influences the device’s longevity and data-handling capabilities. To analyze the power availability in OppNets, we have classified a wide range of devices into different categories, including satellites, space probes, vehicles, and more. This categorization enables us to visualize the varying power resources across different types of devices and understand the energy constraints and opportunities for harvesting or managing power in these networks. In opportunistic networks, where intermittent connectivity is common, caching becomes even more significant. By caching data, devices can leverage opportunistic encounters to exchange information and reduce the reliance on continuous network
10.4 Chapter Summary
149
connectivity. We evaluated the performance of delay and delivery ratio in OppNets while employing various forwarding protocols with different cache sizes. Processing power determines the device’s ability to execute necessary tasks efficiently. In summary, device characterization helps to identify the suitability of devices for opportunistic networking and to design efficient protocols and algorithms to facilitate communication.
Problems 10.1 The radio unit of any device is responsible for transmitting and receiving packets in the network. Some factors that influence power consumption in the radio unit include transmit power level, different modes of radio operation (transmit, receive, idle, and sleep modes), data rate, communication technology and protocols, environmental factors, etc. Let’s try to understand how power consumption is computed for different modes of operation. One of the most used Micro Control Units (MCU) for IoT devices is ESP32. Let’s look at the datasheet for ESP32 MCU with both WiFi and Bluetooth. You will find the online technical specification of ESP32 here. Select ESP32-Series and then download ESP32 Datasheet version 4.3. Answer the following question. Refer to the Table 3-2 - Power Consumption by Power Modes for WiFi, Table 4-3 DC Characteristics, and Table 4-4 - Current Consumption Depending on RF Modes. Verify the following values and try to understand the mode of operations and given values. • • • • • •
Operating voltage—3.3 V at 25 C Light Sleep 0.8 mA WiFi Transmit 802.11n 180 mA WiFi Receive 802.11n 95−100 mA Bluetooth Transmit 130 mA Bluetooth Receive 95−100 mA
10.2 Refer to the first problem. Complete the following table to compare the power consumption for different modes. Power consumption in Watt is computed as A× V Mode of operation Light sleep WiFi transmit WiFi receive Bluetooth transmit Bluetooth receive
[A]× [V] 0.8 mA × 3.3 V 180 mA × 3.3 V
Power consumption in W 0.00264 W
150
10 Device Characterization for Opportunistic Networks
10.3 Refer to the previous two problems. Discuss why the power consumption is different for different modes and different technologies. 10.4 Refer to the previous three problems. If the ESP232 running with OppNets protocols disseminates a new message every hour, compute the energy consumed after 24 hours, assuming that the ESP32 goes to light sleep after transmitting the data. Hint - the energy consumption is computed as W × H . 10.5 Discuss the phenomena of the cache exhaustion. What factors influence this? 10.6 Refer to the cache size of infinity and 1 MB of Fig. 10.6. After a certain simulation time, both the delivery ratio and the delivery delay start deviating from each other. Explain this behavior.
Chapter 11
Application Case Studies for Opportunistic Networks
Many different application scenarios have been proposed for opportunistic networks. The y range from small-scale chatting applications with only a few nodes to very large-scale, smart city applications with truly intermittent contacts among millions of nodes [123, 210]. In this chapter, we will first explore the most prominent examples where concrete system designs and implementations have already been realized. At the end of the chapter, we will discuss the main question a real-world developer faces: namely, whether to implement a particular application with the help of a communication infrastructure (e.g., 4G/5G, WiFi, etc.) or with the help of an opportunistic network.
11.1 Disaster Management One of the most discussed applications for OppNets is disaster communication and recovery. The main motivation is that after a disaster, the communication infrastructure could be severely damaged or destroyed, but communication would be essential for organizing and coordinating the different disaster recovery teams [206]. Important information includes the number of residents in the area, children, medical resources, food and water, damages, etc. Since disaster areas tend also to be quite densely populated (residents and help teams), opportunistic networks offer a very fast and cheap method to start with communication.
11.1.1 General Network Architecture This application has been mentioned in almost every research publication on OppNets. However, most of the literature stays quite vague on how exactly to © The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_11
151
152
11 Application Case Studies for Opportunistic Networks
implement it. More concrete scenarios can usually be classified into the number of tiers or the number of different nodes employed in the architecture: 1-tier architectures assume the architecture is essentially flat, with all nodes having the same properties. For example, they could be all smartphones, with a special app installed in all of them as part of a preparation plan. Their mobility might be anything static to mobile trucks, and no effort is made to control the network topology. For example, if there is a gap between two villages because the road has been destroyed, communication will also not be possible. Obviously, this type of architecture ignores most of the real-world challenges of post-disaster scenarios and would be of little help. 2-tier architectures usually consist of the mobile nodes from 1-tier architectures plus static nodes, which serve as relay nodes. For example, the work of Banerjee et al. [12] proposes to use throwboxes to improve the connectivity of the network. The authors have shown that their assisted network performs better than without the additional static nodes. However, they also show that the placement of these nodes is critical and bad placement can make the static node unnecessary and wasted. An interesting and promising approach is to use drones to support the network [213]. Also, here, the main challenge is to decide on which routes and in which areas the drones need to be deployed. In order to be useful, they need to be fully autonomous: the flight itself, but also landing/starting and charging. 3- and 4-tier architectures employ even more different devices to improve the performance of the network. They typically consist of static nodes connected to the internet, end-user devices, and mobile entities like drones or vehicles to act as data mules to further support the network. Depending on the number of differently deployed and controlled devices, those architectures consist of three, four, or even more tiers. One well-known architecture is DakNet [165], which proposes to connect large areas by the usage of kiosks (connected to the internet, spread across the area), mobile mules like buses or trucks, and end-users. This project was successfully deployed in India in the mid-2000s when mobile internet penetration was still extremely low. Nowadays, it can be easily used and deployed in disaster recovery areas. A similar architecture has also been proposed in [20], where relief camps are connected to each other through data mules (trucks and other vehicles regularly moving between the relief camps to deliver goods and people). Additionally, all people can carry smartphones that can connect either to the data mules or to the relief camps. An illustration of a possible 4-tier architecture is presented in Fig. 11.1. Such a flexible solution with many different devices with different requirements (power supply, size, connectivity to the internet) is a real alternative in disaster scenarios, but also in remote areas, like national parks. It offers a simple, lowcost, movable, and extensible network infrastructure, mainly built on opportunistic principles. One main problem in this application scenario is how well the employed communication technology works in the particular environment. Wifi Direct [2] and Bluetooth [3, 158] are the common approaches to enable opportunistic communication given that these days mobile devices are equipped with such technology. One
11.1 Disaster Management
153
Tier-2: static devices
Tier-4: Full internet access
Tier-1: mobile devices Tier-3: mobile mules
Fig. 11.1 A possible 4-tier architecture for disaster relief scenarios with opportunistic networks
very promising technology is LoRa, since it is free to install and use, low-power, and long-range. However, it is not very reliable, especially when the nodes are moving. We have implemented a testbed based on LoRa and mobile nodes in [51], using Epidemic as forwarding protocol (see Chap. 2). We have tested the network with a combination of stationary and mobile nodes in outdoor areas. The results show that more than half of the packets were not delivered, and the delay was up to 100 seconds, even if the area was very small (the backyard of a university building). Our earlier work on Epidemic with WiFi showed similar results. Thus, the main challenge is the reliability of the network. More details and options for implementing opportunistic networks are discussed in Chap. 9.
11.1.2 Notifications and Alarms A very important step in disaster recovery is to notify potential victims about approaching disaster events, such as fires [138], or tsunamis [186]. This application scenario requires to prepare in advance and to enable automatic sensing and identifying of threatening events and automatic notification. One of the most used alarm systems is an analog siren. However, remote areas, such as agricultural fields, or very noisy environments, such as factories, are not well covered. Additionally, sometimes the alarm is not issued for all citizens, but only for some, such as children or the elderly, in case of very hot weather or high air pollution. Opportunistic networks offer here a good and, most importantly, cheap alternative to sirens. An example is presented in [68], where high air pollution created by fires in a close-by nature reserve is propagated opportunistically through a city. An image of how the service could look is depicted in Fig. 11.2. There we proposed to have weather stations installed by governmental officials and images of the smoke taken by residents and tourists to propagate through the city and warn its inhabitants.
154
11 Application Case Studies for Opportunistic Networks
Fig. 11.2 The blanket of smoke affecting Barranquilla and a map providing information on the fire. Picture from [68]
11.1.3 Situational Awareness, Exploration and Mapping Apart from general-use communications, some more concrete scenarios and applications have also been considered. One example is coordinated exploration of uncharted or unexplored areas after a disaster. First responders may be organized into groups that follow a designated leader [108], or may be physically separated from one another [47]. In this scenario, it is essential for teams to actually maintain communication among each other. Building a map service is another crucial application for post-disaster response operations, as emphasized by several authors [19, 21, 211, 225]. Such a service provides navigation support for first responders in reaching specific locations to aid victims when normal maps become outdated due to the disaster’s impact on the road network. Natural disasters like tsunamis, earthquakes, landslides, and flash floods can significantly alter accessibility. Bhattarcharjee et al. [19] proposed a crowdsourced system called Post-disaster Map builder. This system utilizes opportunistic networks to collect pedestrian GPS traces through smartphones or tablets, which are shared among volunteers. By overlaying obtained trajectories on pre-cached offline map images, a digital pedestrian map of the affected areas is generated. The prototype of this system is built as an Android application and has been deployed in two districts in India, where eleven volunteers are equipped with handheld devices. With the same goal, Trono et al. [211] present DTN MapEx, which focuses on avoiding local computation of processing the map locally by sending the collected data to a fixed computing node for processing. Then, the results are sent back using opportunistic communication. This application is designed for urban search and rescue teams and involves exchanging images, videos, and GPS trace logs. A broader application in the context of disaster scenarios is situation awareness. In emergency situations, it is essential to assess both the extent of damage caused and the perception of environmental factors in order to make informed decisions and allocate resources effectively [180]. However, this can be challenging in large-scale disasters, as it involves identifying processes and understanding critical elements of
11.2 Communication in Remote Areas
155
information about the situation at hand. As such, it is important to develop strategies for gathering and analyzing data to gain a comprehensive understanding of the emergency and inform response efforts.
11.1.4 Application Examples for Disaster Scenarios An application called Haggle-ETT provides electronic triage tags, allowing information about triage to be collected and transmitted to a command center for decision-making [146]. First responders categorize victims based on color to indicate their condition: black for the worst condition with no possibility of medical attention, red for immediate attention, yellow for patients who can wait for a short period of time, and green for minor injuries that don’t require urgent help. HaggleETT utilizes RFID tags to uniquely identify the victims, and the exchanged data includes GPS position, triage tag, vital data (pulse, respiration), and, optionally, a photo. The opportunistic protocol used for reliable communication between the triage zone and the command center is called Time to Return (TTR). It is a simple mechanism to forward data only once per node, under the assumption that the staff knows when they will return to the coordination point. Nodes with information forward it to the device with the lowest TTR encountered prioritizing latency. Mazo et al. [145] developed a mobile application prototype called Floater, which facilitates situation awareness through opportunistic communication. Floater utilized Google Nearby API to enable seamless nearby interactions among nearby devices without an Internet connection. The protocol geographically constrains message replication to avoid flooding. The application creates a disaster area map that is shared among the participating peers to exchange information. A node that is moving from one zone to another will receive the map of interest according to its location from nearby peers. Messages sent through Floater are labeled with categories such as victims requiring help, danger to be located, resource to advertise like water or food, and caretakers who identify health points like an ambulance. The exchanged data includes text, category, position, and images. In many cases, it makes more sense to extend existing services with opportunistic communications to support also disaster recovery, such as social networks. One example is Twimight [103], an opportunistic extension for Twitter. In case of no internet access, the service stores the messages and exchanges them via Bluetooth upon contact with other Twimight users. More examples are provided under Sect. 11.3.
11.2 Communication in Remote Areas Very often, internet connectivity is limited or not existing at all due to a lack of infrastructure. This is often the case for rural environments and national reserves
156
11 Application Case Studies for Opportunistic Networks
[84], but also in the case of events in cities, where many more users are present than usual. Furthermore, sometimes the infrastructure is available, but too expensive, as is the case for many developing countries. This scenario can be well served by opportunistic networks and strongly resembles the disaster management scenario from the last section. However, communication patterns are more general and more delay-tolerant, as no crucial or urgent information is usually flowing. At the same time, opportunistic networks also present a more private way of communicating, as the sources of the information cannot be easily tracked. Many applications have been developed for this type of application. A very good overview is provided in [199]. One popular example is FireChat [45], which is still available for download for Android. It uses Bluetooth and WiFi to create an opportunistic network between users to exchange general-purpose, encrypted messages. Alternatives are Bridgefy1 and Briar,2 which have similar implementations and goals, mostly focusing on private and secure messaging without infrastructure. A project which is more oriented towards rural environments and also implements multi-hop forwarding is Serval [76]. Some dedicated devices have also been developed. Examples include GoTenna3 and BearTooth.4 However, these devices are quite expensive and not applicable for general purpose-wide usage.
11.3 Challenged Internet of Things The Internet of Things has become a very popular and widespread technology to monitor and control a great variety of environments. Applications span agricultural scenarios, wildlife, and environmental monitoring to industrial applications, like logistics, warehouses, factories, and many more. The concept of the Internet of Things is that each device is directly connected to the Internet to send data and receive control commands. However, this is not always possible, feasible, or costefficient. A challenged network refers to a network with limited or poor infrastructure, frequent changes in topology and link quality, suffer from long delays, and low node density. In such networks, traditional protocols are ineffective in providing reliable communication, and architectures cannot ensure permanent end-to-end connectivity to all IoT devices. Furthermore, challenged IoT networks commonly have heterogeneous constraints such as energy consumption, processor capacity, storage, and bandwidth, as well as high failure rates, network partitions, and frequent nodal churn. Opportunistic networks offer a viable solution to enable
1 https://bridgefy.me/. 2 https://briarproject.org/. 3 https://gotenna.com/. 4 https://beartooth.com/.
11.3 Challenged Internet of Things
157
communication to isolated sensors in situations where deploying a network of permanent gateways is too costly or technically unfeasible due to energy constraints.
11.3.1 Underwater Environments Underwater networks also fall under the category of challenged networks, for example, when a sensor network is deployed in the water. According to [53, 230], opportunistic routing protocols are widely used for stationary nodes in underwater networks. However, the nodes are considered mostly static, and the opportunistic nature of the data dissemination helps to address the highly unstable communication quality between nodes.
11.3.2 Environmental and Agricultural Monitoring One typical example of a challenged IoT network is environmental monitoring, including agricultural fields. Here, a set of nodes is deployed in a remote, often large area to monitor parameters such as temperature, soil moisture, solar radiation, and many more. An illustration is provided in Fig. 11.3. The main problems are internet connectivity and power efficiency. As we discussed already above, remote rural areas often suffer from low internet connectivity, even in developed countries. Thus, connecting each individual sensing device directly to the internet is not possible unless more infrastructure is deployed, which is very costly. Additionally, power is an issue, as the area is remote, and battery changes are tedious and costly. One interesting aspect of this class of applications is their relatively static behavior. Once installed, the devices can be moved around (for example, to find better-suited sensing points or to cover critical areas), but this happens rarely. On the other side, the network itself is highly influenced by the harsh environment, and its performance can fluctuate a lot. Of course, these problems can be overcome
Fig. 11.3 An example of a remote environmental monitoring application with MoleNet sending nodes (www.molenet.org)
158
11 Application Case Studies for Opportunistic Networks
by installing a long-range, low-cost infrastructure, such as LoRaWAN network. However, also opportunistic approaches are feasible, resembling the multi-hop communication protocols of wireless sensor networks. An example is the Collection Tree Protocol [82], which builds a forwarding tree from all nodes to a gateway and maintains it even in case of failures and fluctuating network performance. Another example is our work in [227], where the forwarding of data between underground sensor nodes depends on the soil moisture and needs to opportunistically decide on the next hops.
11.3.3 Monitoring Animal Movements Opportunistic solutions have proved successful in monitoring animal movements in rural or wild geographically large areas. NomaTrack is an example, a solution that tracks reindeer positions in Sweden using a combination of a LoRa-DTN protocol and a set of equipment units comprising base stations, reindeer GPS collars, and portable nodes [214]. NomaTrack employs drones to attach portable nodes and create a line of sight, building “islands of connectivity” that exchange messages in an opportunistic manner. The network was implemented in Jåhkågaska, Sirger, Tuorpon, and Udjaa Sámi Villages in Norrbotten, Sweden reaching an extension of 300 units. Weather conditions have posed a challenge to this case study: ice deposits in the base station mast reduce capacities during winter if the base stations are static, necessitating the use of mobile base stations mounted on sleds. The Princeton ZebraNet project is another real-life deployment of a mobile sensor network for wildlife tracking. In particular, its purpose is to monitor zebras in a 100 sq. km reserve in Kenya [224]. In the context of the project, a custom collar was designed with built-in solar modules, a radio antenna, and a GPS antenna. The data collection protocol is entirely designed without fixed infrastructure. The base station is within a vehicle to avoid natural habit intervention and vandalism. Then, data cannot be sent directly from node to gateway, and a flooding-based approach is used to gather data. In particular, a history-based protocol remembers when a node comes within the range of the base station and is considered to be a better forwarder in the future. Animal tracking has also been proposed and implemented in the MANET framework [9, 10], where animals are equipped with collars and communicate via a dual radio platform (BLE and LoRA), leveraging short-range for opportunistic communications (store-carry and forward protocol) and long-range communication with gateways with LoRa. Another example is NomaTRack for reindeer [214]. As can be seen from the above examples, these applications are delay-tolerant in the networking context, as they tolerate delays of minutes or even hours. However, this tolerance cannot be extended too much and some sort of a basic, non-fully covering infrastructure is usually implemented to make sure that the data arrives in due time. This is very important when trying to protect animals or to protect something or somebody from animals (e.g. wolves or elephants) [43].
11.4 Sparse Vehicle Communications
159
11.4 Sparse Vehicle Communications Opportunistic networks enable communication in networks that operate in and around large bodies of water, including marine, nautical, underwater, offshore, and coastal networks. Furthermore, they can be very helpful in communications between other sparse vehicles, such as trains or airplanes [70]. These networks are often challenged due to the poor infrastructure and distances involved in communication. One further argument is the very high cost of satellite communications.
11.4.1 Nautical Communication Most of the real-life deployments in aquatic environments use LPWAN communications, such as LoRaWAN [37, 86], for example, for coastal and river line networks that utilize static sensors like buoys in rivers, lakes, or bays. However, when considering applications that include moving platforms offshore, nautical communication between vessels, or underwater mobile sensors, opportunistic approaches are a better fit. Nautical communication involves communication for vessels or other nautical vehicles, which is crucial for ensuring safety at sea, exchanging data, and achieving efficient navigation on the water. Due to the lack of infrastructure in this environment, opportunistic networks are a natural fit, where vessels act as networking nodes and transmission relies on opportunistic contacts between them. Furthermore, the movement of the nodes participating in communication may be influenced by various factors, such as weather conditions or ocean currents. Nautical wireless ad-hoc networks (NANETs) are self-organizing and selfhealing networks that communicate vessels, buoys, ships, and floating platforms. These networks frequently alternate between connected mobile ad-hoc networks (MANETs) and partitioned opportunistic networks (OppNets) since sparse user distribution and mobility behaviors lead to continuous changes in network topology [79]. Several articles have proposed opportunistic networks for nautical communication [79, 110, 136, 228]. Ji et al. [110] advocated the use of opportunistic networks for maritime Voluntary Observation Ships (VOS), which are non-professional ocean observation ships that collect marine data, including weather conditions. As these ships carry no emergency data, sending it through satellite networks is considered expensive, making a low-cost solution necessary. Specifically, the authors design a routing protocol that builds a connected graph whenever possible, and it utilizes the estimated time of arrival and the route of ships to influence the selection of the relay nodes. In this context, Ge et al. [79] combine transmission quality and relay advancement prediction in a weight-based routing scheme. The relay advancement prediction takes into account the node density in a coverage region.
160
11 Application Case Studies for Opportunistic Networks
Recently, Liu et al. [136] propose low-cost communication using a delaytolerant network for communicating vessels. The authors focus on modeling the mobility of vessels using a bidirectional long-short-term memory model. They studied the trajectory of 5123 fishery vessels in the China East Sea for three years. They designed a long-term trajectory prediction algorithm to characterize the expected delivery probability of relay nodes. Other approaches for dealing with such sparse networks introduce social network analysis of historical vessel-to-vessel connections for optimal routing. Jiang and Liu [111] collected GPS traces from 12,209 fishing vessels and used them to optimize the data dissemination.
11.4.2 Train-to-Train Communication Opportunistic networks can be used very successfully also for train-to-train communications [70]. In a traditional scenario, Communication-based train control (CBTC) is between trains, signals and ground in a centralized manner. All information is gathered centrally, and control is centralized too. However, this architecture does not work in case of communication problems, such as during or after a storm, landslide, or similar. For opportunistic train communications, two scenarios arise [63]: communication between wagons and communication between trains and signals. In the first case, the communication distance is a couple of meters to a few hundred meters. The advantage is clear: wireless communication is localized between the entities that need it and is less susceptible to environmental conditions. Furthermore, no additional infrastructure is needed at the ranging places, which is more resource and cost-efficient. At the same time, coupling and decoupling of wagons can happen almost anywhere. The second case targets communication between trains and signals and among trains [22, 202, 223]. In this way, signals can be coordinated in a distributed, localized way without the need for access to the central servers. Communication distance is relatively high in the order of a few kilometers. With this application, also platooning of trains is possible—i.e., reducing the distance between the trains and thus increasing the traffic and the utilization of the tracks. At the same time, traffic becomes more secure, as approaching trains can communicate directly with each other without the support of any infrastructure. This is a great advantage, especially in mountainous areas where line of sight is obstructed.
11.4.3 Airplane-to-Airplane Communication Similarly to the above scenarios, opportunistic networks can also be applied to airplane-to-airplane communications (AANETs) [70]. Again, two different scenarios arise: inside a single aircraft and between airplanes. In aircraft, wireless
11.4 Sparse Vehicle Communications
161
communications have become relevant to save on cable weight. In 2015, a new standard called Wireless Avionics Intra-Communications (WAIC) [151] was introduced for this scenario, working with 4200–4400 MHz frequency. Communication between airplanes has been largely motivated by the cost of satellite links on one side and by the great advantages provided by direct communication between airplanes [237]. These include formation flights (similar to platooning) to save fuel, air traffic congestion avoidance, and lower delays as compared to satellite links. A standard called L-band Digital Aeronautical Communications System (LDACS) Air-to-Air (A2A) [177] mode supports this scenario.
11.4.4 Space Vehicles Historically seen, opportunistic networks come from delay-tolerant networking [70]. The difference is subtle and not very well well defined. Delay-tolerant networks were first considered to be very well-organized networks that require delay tolerance, such as networks of satellites or space probes. In this scenario, the space probes follow a well-defined path and have a direct, high-bandwidth communication link to Earth or satellites at predefined times. However, the link cannot be maintained the whole time due to line-of-sight problems. Traditional transport protocols such as TCP will not function properly due to the very high delays (up to days). Many interesting surveys and overview articles exist for delaytolerant networking for space vehicles [33, 121, 167]. Opportunistic networks extended this concept from well-predictable intermittent contacts to hardly predictable ones, such as human contacts. Still, many researchers and developers use the two terms interchangeably, e.g., the ION DTN or the IBRDTN protocols, which we discussed in Chap. 9. Furthermore, the more generalized concept of opportunistic networks can be better applied to satellite swarms or robotic swarms, where contacts emerge from real-time navigation and movement. No concrete examples exist so far.
11.4.5 Logistics and Parcel Monitoring General on-land logistics can also profit from opportunistic networking. Here, the vehicles are often in remote areas where mobile communications are not available or overloaded. Tracking individual vehicles or even individual high-value parcels is important and helps identify delays on time and optimize routes. This is crucial, especially for cold-chain logistics of perishable goods, such as food or medical supplies.
162
11 Application Case Studies for Opportunistic Networks
In this case, opportunistic networks can be used to exchange information between vehicles and then carry it to the next gateway, such as a gas station or logistical center. Examples are described in [41, 113].
11.5 Smart City Smart cities are a modern vision of connected and autonomous vehicles, sensors, humans, traffic control, public transportation, and many more city-relevant services [1]. Various applications fall into this category, such as applications that promote sustainability, social connectivity, and community engagement and improve the efficiency of city infrastructure and services. Opportunistic networks are used here with a quite different set of arguments. Many of the described applications are not delay-tolerant; in fact quite the opposite. In some scenarios, like autonomous driving or traffic control, the requirements for delay are even so strict that cloud services cannot cater to them [195]. However, devices are densely deployed, and the services are strictly localized. For example, the traffic light regulation at a crossing only needs to take into account the vehicles in its direct vicinity. These unique properties make opportunistic networking a good alternative for short-distance, quick communications. Nevertheless, many applications in the Smart City vision are also quite the opposite of the described above: data is relayed over large distances but is very delay-tolerant, such as in the case of marketing advertisements. In the next few paragraphs, we will look into those applications more closely.
11.5.1 General Sensor Data Collection In this section, we will provide a general view of how to collect data in a smart city before diving more deeply into the concrete applications in the following sections. In implementations of opportunistic solutions for gathering information on smart cities, there are mainly three types of nodes. The first type is sensors, which generate data continuously, for example, location, temperature, humidity, images, or videos. The second type is gateways or sink nodes, which serve as the final destination for the data and may or may not be connected to the Internet. The third type is forwarder nodes, which utilize the store-carry-and-forward paradigm of opportunistic networks. In some cases, sensors are also capable of functioning as forwarder nodes, although this depends on the specific application, as power restrictions often limit the functionality of sensors. We can find implementations with stationary gateways, mobile gateways, or a combination of both approaches, depending on the mobility of the sensors. Florita et al. [67] examined a pull-based strategy for data collection utilizing mobile LoRabased gateways mounted on vehicles that traverse the city. In this implementation,
11.5 Smart City
163
sensors are static and deployed on a university campus. Additionally, moving gateways can also be attached to drones [81], allowing data to be collected during a flight that is limited by power restrictions. Multi-technology is a prevalent feature since the communication layer can use the channel that is available at the moment, such as WiFi or Bluetooth, to send the information to a gateway or to a forwarder node. LPWAN (Low Power Wide Area Network) technologies are particularly appealing due to their extended communication range, which allows for a reduction in the number of nodes required in the network to achieve the same level of delay, resulting in fewer hops between sender and receiver. However, LPWAN technologies like LoRa suffer from reduced bandwidth and scalability, which impairs network performance when a substantial number of sensors and gateways are present. Almeida et al. [1] employed a delay-tolerant network for smart city scenarios, which had to manage a vast number of sensors with high heterogeneity and network volatility, leading to connectivity issues. The authors proposed a platform that utilized both static and moving devices, such as cars, bicycles, and drones, that communicate using WiFi and LoRa. The sensor nodes measured various parameters, including temperature, barometric pressure, altitude, humidity, and UV index. These nodes were equipped with a LoRa transceiver and an external WiFi dongle. In their solution, an opportunistic network was utilized via WiFi, and LoRa was used only when the nodes were unable to transmit the information in an opportunistic manner. The efficacy of their solution was tested on the extensive 921 .m2 campus of the University of Aveiro. The deployment of open opportunistic networks in smart cities poses several challenges regarding privacy and trust, mainly because of the relation between people and the things [88]. Things may sensor user and ambient characteristics of everyday life. Thus, the opportunistic contacts when nodes exchange data are inherently tied to users’ behaviors. Nodes are generally requested to share sensitive information to routing protocols, such as mobility patterns and personal location, to improve routing decisions. Consequently, human mobility is defining the topology of the network, and a lack of information can lead to resource inefficiency and congestion when using opportunistic dissemination. The bi-directional effect between humans, societies, and opportunistic IoT networks has been analyzed by B. Guo et al. [88]. The authors emphasize the importance of considering device heterogeneity and trust relationships among peers to encourage collaboration and ensure secure data sharing.
11.5.2 Vehicular Networks Vehicular networks are an essential part of the Smart City concept. The main idea is to connect vehicles to each other and to the road infrastructures in order to make driving safer and more fluent. For example, traffic lights and the direction of lanes
164
11 Application Case Studies for Opportunistic Networks
Base Station
Road Side Unit (RSU)
V2V V2V V2I
Fig. 11.4 Vehicular network architectures [116, 197]
can adapt to real-time traffic, thus minimizing congestion, increasing efficiency, and finally saving enormous amounts of energy, time, and fuel [5, 31, 149, 173]. Usually, vehicular networks are supported by two types of architectures: vehicleto-vehicle (V2V) and vehicle-to-infrastructure (V2X) [197] (see Fig. 11.4). Opportunistic networks are, in fact, relevant for both types, but in different ways. In vehicle-to-vehicle communications, relevant applications include mostly safety, such as warnings in case of accidents, road blockages, unexpected obstacles on the road, pedestrians crossing, lane change assistance, platooning, and similar. Here, the delay is of paramount importance, as the warning has to propagate very quickly in relatively small areas to avoid further problems. Previous research [4, 241] has identified that warnings in case of accidents or abrupt stopping need to propagate 200–300 m in less than 100 ms in order to have sufficient time to react. Such short delays cannot be well served with vehicle-infrastructure-cloud architecture, as the cumulative delay will be higher. However, even if the delay can be served one day with 5G/6G (see also Chap. 9 and a numerical study in [116]), the information itself is relevant in a strictly localized way around the place of the accident/blockage and propagation through the cloud is a pure waste of resources. Recently, this message propagation has also been standardized as Decentralized Environmental Notification basic service (DEN), Cooperative Awareness (CA) and
11.5 Smart City
165
Collective Perception (CP) services in the Intelligent Transportation Services (ITS) Standard of ETSI.5 There has been a very large body of research on the efficient and fast dissemination of messages in vehicle-to-vehicle communication. Mostly, researchers follow a controlled broadcast scheme, as the one we described in Sect. 2.3. Dedicated surveys are available in [23, 174, 182, 200]. It is expected that for a long period of time spanning potentially several decades, connected and unconnected vehicles would need to co-exist and also cooperate in efficient ways. The main challenge expected is that different levels of autonomous driving might lead to unforeseen behaviors of drivers, such as ignorance of rules in front of autonomous vehicles that can react more quickly and in a defensive way, thus making driving for autonomous vehicles almost impossible. Communication is another challenge if we consider the potential scale of vehicular networks together with all other Smart City components. Opportunistic networks will undoubtedly become one of the main instruments and technologies to address this challenge. A very interesting new application in vehicular networking is currently arising: drones [119]. Applications include coordinating rescue operations during natural disasters, smart agriculture, parcel delivery, and also passenger transport (taxi). Even taxi drones still have a long way to go [61], so it is important to plan their communication. Similar to general vehicular networks, opportunistic networks are expected to play a significant role, even if the application is even more complex with its 3D requirements and potentially higher speeds. Already, researchers have started developing dedicated data dissemination techniques [6, 171].
11.5.3 Smart Grids A smart grid is a future vision of distributed, highly flexible production and consumption of energy. Compared to the nowadays electricity networks, the smart grid can support distributed production of energy (e.g., by individual households), smart distribution of electricity without considering any boundaries, and decentralized real-time markets. The foundation of this fundamental change is broadband communication, which enables the real-time distributed stability of the network. However, here we encounter a dilemma: the electricity network requires a broadband network, and the broadband network requires electricity. In case of a blackout, both systems are needed to re-initialize and start operating again. The usual answer to this is to install backup energy generators for the network nodes so that they support the re-initialization phase of the smart grid components. However, broadband network nodes are very power hungry, and they might have been damaged themselves by the same reason why the smart grid components were damaged, e.g., storm, tsunami, etc. (Fig. 11.5).
5 www.etsi.org.
166
11 Application Case Studies for Opportunistic Networks
Fig. 11.5 The smart grid vision compared to the nowadays electricity networks. From the Energy Atlas 2018: Figures and Facts about Renewables in Europe
Opportunistic networks offer again a lightweight, easy, and fast-to-install alternative [207]. Communication components are small, cost and energy efficient, and can be installed either as a standard component or quickly after a disaster. Strictly speaking, this application would fall under the Internet of Things or Cyber-Physical System domain, and our discussion on challenged IoT applications becomes relevant (see Sect. 11.3). Various works have been proposed for optimizing smart grids with opportunistic communications, such as [112, 187]. Apart from initialization support, opportunistic networks can be used to optimize the consumption and production of energy in localized neighborhoods or even between individual devices in the same household.
11.5 Smart City
167
11.5.4 Group Monitoring This service refers to a group of students or tourists who stroll around together through a city or museum. There are mainly two application goals: to identify if somebody is missing (not connected to the group anymore) and to send information in real-time to all members. This application is, in fact, a step between mobile adhoc networks and opportunistic networks. It has been prototyped in Saloni et al. [183]. This application scenario can realistically scale up to 250 people at most and over a small geographical area. Even if the group moves, the relative area it covers remains small. The data traffic pattern is mostly voice (thus relatively high), and the mobility of people does not play a role, as the network stays connected. A similar idea is to disseminate dedicated data to a crowd of people during some festivities. It has been proposed, for example, for the Zurich Street Festival and other festivals [144]. Since smartphones need to be used to ensure compatibility with all users, a special app is required beforehand. However, in this case, it is not really a problem since people are used to downloading apps for some special big events like festivals or fairs, where they can see the schedule of the individual events, up-todate information, receive special offers, etc. It is not even a problem if they try to download it on the spot—Internet connectivity is usually there. The focus of such an application would be to provide timely information in case the mobile backbone is overloaded.
11.5.5 Node Counting A very similar application to group monitoring is counting nodes and was proposed in [133]. They describe a problem when many nodes are present, but no direct connection exists among all nodes. The problem is to find an estimate of their total count. This could be useful in large events, such as conferences, concerts, schools, etc. As the group monitoring application above, it relies on discovering nodes via Bluetooth and exchanging this information among the nodes, who then attempt to count different IDs for some time. Once everybody agrees on more or less the same value, the counting is finished. Note that this does not require all participants of the event to carry the application—only a few nodes could do this too. This application has been described for large city events, but in fact, it would be more useful in case of disasters to count the people in the area.
11.5.6 Messaging and Advertisement Services Another application we described earlier in [68] was the Uni Recycler. There are many household items that people wish to dispose of, though these items may still
168
11 Application Case Studies for Opportunistic Networks
Fig. 11.6 Uni Recycler application
O2
6:41 PM
Antique Lamp 2.1 km
Lawn Mower 5 km
Kitchen Knife 3.7 km
Dining Table 1.5 km
Sofa 0.7 km A wool upholstered red sofa with the innards made out of cotton-wrapped springs for a relaxing rest.
Pink T-Shirt 1.7 km
be usable. In the context of a university, there are many freshmen who require such items when they commence their academic lives. The Uni Recycler application is a Smartphone based application for people who wish to make any item available to give away (or for a nominal fee) to anyone who is interested. Figure 11.6 shows a view of the Uni Recycler application. The information is propagated via opportunistic networks in the manner of a Grapevine. Everybody can enter a new item, which is propagated through the network, and the contact information inside can be used to contact the owner of the item. Once the item is gone, the owner can remove it again. However, it will take time until the item is removed from all smartphones, but some sort of expiration date can be used in addition. In this application, we can observe some interesting properties. First, it becomes obvious that delay will be a problem. Not all items will be propagated to all members of the network, and people might miss good opportunities. The same is true for deleting items: the owner will continue receiving calls for a long time after the item is gone. At the same time, in the context of a university, a newly arrived student can easily download the app from the campus WiFi network but use it all over the city. In the same way, many other services can be implemented, such as finding your friends in the city, making sale offers to close-by potential customers, and of course, warning people about danger (we have discussed this application extensively in Sect. 11.1).
11.6 Digital Contact Tracing Even without the concept of a Smart City or in the scope of smaller communities, Digital Contact Tracing (DCT) for disease control has developed very rapidly
11.6 Digital Contact Tracing
169
recently and has become an important digital tool for public health [66]. In fact, all existing solutions are based on an opportunistic network, often only one hop. Digital Contact Tracing relies on electronic tracking systems, primarily on mobile devices, to identify high-risk contacts. It can be considered the result of several years of research in Mobile Computing, especially in the areas of Opportunistic Networking (OppNet) and Mobile Crowdsensing. Traditional (manual) contact tracing has been extensively employed as an effective approach for controlling the spread of infectious diseases. The process involves identifying individuals who may have had contact with an infected person. By tracing the contacts of those infected individuals, public health professionals aim to decrease infections in the population by implementing measures such as selective isolation. Traditional manual contact tracing is a laborious and time-consuming task that usually involves personal interviews that typically provide only vague information about previous contacts. Estimating the risk of contacts using current users’ smartphones is a crucial aspect of Digital Contact Tracing (DCT). Since the onset of the COVID-19 pandemic, health authorities have defined a risk contact as an individual who has been in close proximity (within 2 m) of a positive-tested person for at least 15 minutes. Thus, the idea is that mobile phones can be used to detect these close encounters. Various localization and communication technologies, including GPS, Wi-Fi, Bluetooth, beacons, and QR codes, can be utilized to identify these close contacts accurately. Specifically, in the case of Bluetooth technology, when two devices communicate, the sender transmits its signal at a specific power level, and the receiver detects this signal at a weakened power level, known as the Received Signal Strength Indicator (RSSI). Since attenuation is proportional to the square of the distance, the distance between two Bluetooth devices can be estimated using a Path Loss Model. Furthermore, the duration of contact is approximated by regularly sending Bluetooth messages and determining their distance. Digital Contact Tracing operates in a similar manner to traditional contact tracing but utilizes smartphones to identify and record potential high-risk contacts (refer to Fig. 11.7). The first step involves installing an application on the user’s smartphone
Fig. 11.7 Digital contact tracing operates as follows: (1) when two users’ smartphones are within range, they exchange anonymous key codes; (2) in the event of an individual testing positive, a tracing and identification process is initiated for their previous contacts; and (3) users are notified of any high-risk contacts
170
11 Application Case Studies for Opportunistic Networks
Fig. 11.8 Two sample screen captures of UK’s NHS COVID-19 App showing a detected positive
that actively monitors these contacts. When two users’ smartphones are within a distance of fewer than 2 m for at least 15 minutes, the application recognizes the occurrence of a high-risk contact. To safeguard user privacy, anonymous key codes are exchanged between smartphones, which can be used to identify the individuals who have been in contact. Suppose a user receives a positive diagnosis after undergoing a COVID-19 test. In that case, the application must be alerted to initiate the process of tracing their previous contacts, utilizing the keys generated by their prior interactions to identify individuals who may have been exposed. Subsequently, users who have had close contact with the positive individual will receive a notification. Based on this basic idea, various contact tracing mobile applications were developed for COVID-19, including Europe’s PEPP-PT [166] and MIT’s SafePath [152]. However, Apple and Google collaborated in April 2020 to produce the most widely adopted solution, the Google Apple Exposure Notification (GAEN), which was incorporated into both mobile operating systems. This was finally the solution used by the majority of countries to implement their COVID-19 Apps (see Fig. 11.8). To address privacy concerns, the GAEN framework utilizes a decentralized approach whereby the generated keys are stored on user devices. In the event that a user tests positive, the mobile application uploads the recently stored keys to the server, which are then distributed to other users to check locally whether they have come into contact with the infected individual. Users are required to download the
11.7 Discussion and Summary
171
application and opt-in to allow its activation penalizing its adaption rate (and this is a key issue for its performance). Several studies have investigated the effectiveness of Digital Contact Tracing in the context of the COVID-19 pandemic. The results of the first experimental deployment of the Spanish digital contact tracing on one of the Canary Islands in July 2020, as described by Rodríguez et al. [179], obtained a detection rate of only 10% of all potential cases with an adoption rate of 33%. Wymant et al. [231] report on the epidemiological outcomes of the UK’s NHS ( National Health Service) COVID-19 app deployed in England and Wales, where an adoption rate of 28% resulted in the prevention of a significant number of COVID-19 cases. Furthermore, their analysis suggests that increasing the app uptake by 1% could have resulted in reducing the number of cases by 0.8%. The effectiveness of smartphone-based contact tracing apps has been studied in various works, mainly using compartmental models, such as the ones described in Sect. 5.3. For instance, Moreno et al. [155] evaluated several factors that impact the effectiveness of digital contact tracing, such as age, transmission setting, detection, and household isolation, using a compartmental model. In other studies, Hernandez et al. [93, 94] analyzed the efficiency of a deployed app and found that digital contact tracing can control an outbreak only if the adoption ratio is very high (more than 80%). However, if the adoption ratio is slightly lower (around 60%), it needs to be complemented with other measures. Meanwhile, Maccari et al. [143] conducted an evaluation of actual contact tracing apps and claimed that there is no scientific evidence of their efficacy in slowing down the spread of the virus. They suggested rethinking some privacy-invasive measures that have made digital contact tracing inefficient.
11.7 Discussion and Summary The main dilemma when applying an opportunistic network to a particular application is whether an infrastructure-based solution would not serve this application better. This is often the case when an infrastructure is available. If it is not available, then it could be built. Let us take some examples to understand the problem. One of the most cited applications for OppNets is disaster recovery (see Sect. 11.1). After a disaster, such as a flood, tsunami, or earthquake, the communication infrastructure is often fully or partially destroyed. At the same time, the communication requirements grow (people try to find and talk to their family and friends, relief teams need to exchange a lot of information, etc.). An opportunistic network can be used, but it will never reach the reliability or the delay of a mobile infrastructure such as 5G. Thus, the dilemma is: should we try to restore the infrastructure as fast as possible, or should we focus on the opportunistic solution and improve that? Another problem with opportunistic networks (at least currently) is that they require some sort of pre-installed software, which needs to be maintained and only kicks in when the opportunistic network is needed. In our disaster recovery
172
11 Application Case Studies for Opportunistic Networks
scenario, this means that people need to install this piece of software before the disaster as part of a preparation plan. Unless this is organized and propagated by an official governmental campaign, this will probably not work very well. Still, for governments, it is worthwhile to evaluate the costs (very low) and the benefits of an opportunistic service and propagate it through the population. In other cases, when the infrastructure is not damaged but overloaded, opportunistic networks can be very useful. However, the main problem is that people like to keep their habits and usual applications at any time and are not ready to sacrifice them or switch to different applications just because the infrastructure is overloaded. Let us take as an example a fair event in a large city, such as the Green Week in Berlin, Germany,6 which attracts around 400,000 visitors every year. As an organizer, you have two options: increase the capacity of the infrastructure (which is usually already quite high for dedicated spaces like fair centers or concert halls), or develop opportunistic solutions for some local services, such as local transportation, fair maps, special fair offers, etc. Moreover, the existing experience of the organizers and their teams plays a role. If they only have experience with infrastructurebased (cloud-based) applications, they will probably deliver only such solutions and improve the capacity of the infrastructure. In yet other cases, opportunistic applications target mostly lower costs. For example, some messaging or local marketing applications could be supported by opportunistic networks, which will make them independent from the infrastructure and completely free. You would not need an internet connection to access these services. However, internet access is not really a problem anymore in large cities around the world. In Europe, your mobile subscription contract is valid all around the European Union for no extra costs. Moreover, large cities around the world offer free WiFi. In small cities and villages, especially in developing countries, this is not the case, and opportunistic services are a real alternative. Again, the problem of obtaining the service software remains and resembles the chicken-or-egg dilemma: how to get the software without having an internet connection? Once you have it, you do not need an internet connection anymore. From our discussion above, we can somehow conclude that the most useful applications using opportunistic networks focus on scenarios where free access to services is the prevalent requirement. This includes disaster recovery scenarios and solutions for the developing world. The catch is that there are no good business models behind these applications. If a company decides to produce and maintain an opportunistic service, it can either sell it to governments or needs to give it for free. Not the best business plan. Figure 11.9 attempts to visualize the dilemma of deciding on opportunistic or infrastructure-based networks. Depending on the various properties of the envisioned applications, the availability of infrastructure, and the payment force of the targeted users, one might decide to base the solution on one or another. However, there are no clear rules and, unfortunately, no killer application for opportunistic
6 http://www.gruenewoche.de.
11.7 Discussion and Summary
173
Opportunistic networks Infrastructure not available or destroyed
Use for free
Long multihop delays or very low single hop delay
Short messages, low traffic
New applications
High societal motivation
Use immediately, no installation
Dense, mobile networks
Readily available
Pay to use
Low delay required
Real-time, high traffic
Existing applications
Fun or business
Take time to install
Sparse static networks
Infrastructure-based networks Opportunistic networks Infrastructure not available or destroyed
Use for free
Long multihop delays or very low single hop delay
Short messages, low traffic
New applications
High societal motivation
Use immediately, no installation
Dense, mobile networks
Readily a a ab e available
Pay to use
Low delay required
Real-time, high traffic
Existing applications
Fun or business
Take time to install
Sparse static networks
Infrastructure-based networks Example: Vehicular Accident Warnings
Fig. 11.9 Application properties and how they influence the solution on opportunistic or infrastructure-based networks
networks, and many people believe they will never be widely used. The figure can help in the following way: for each of the properties listed (the columns), decide what is true for your scenario. For example, for a vehicular warning scenario, you would probably conclude that the infrastructure is available, and thus, the first column’s arrow shows rather up. Some of your arrows will be longer when you are more sure about the decision, and some will be non-conclusive at all. In the end, you would have a set of columns as we show in our example for vehicular warnings in the lower part of the figure. From those, you can simply count how many arrows show up or down or consider some weighting.
Problems 11.1 Propose a new application for opportunistic networks from your own point of view. For example, you could explore the individual Sustainable Development Goals (SDGs) of the United Nations (https://sdgs.un.org/goals) and use those as an inspiration. 11.2 For the application you proposed above, use Fig. 11.9 to evaluate whether opportunistic networks are the best implementation option or not.
174
11 Application Case Studies for Opportunistic Networks
11.3 How does Digital Contact Tracing (DCT) utilize opportunistic networks to control the spread of infectious diseases? Explain the role of smartphones and various communication technologies in identifying high-risk contacts and estimating the risk of encounters. How precise can contact tracing via smartphones be? 11.4 Describe the operation of Digital Contact Tracing and its similarity to traditional manual contact tracing. How does DCT utilize anonymous key codes to safeguard user privacy while identifying potential high-risk contacts? Discuss the decentralized approach used in the GAEN framework to address privacy concerns. Additionally, provide insights from studies evaluating the effectiveness of DCT in controlling COVID-19 cases and the impact of adoption rates on its performance.
Chapter 12
Conclusions
12.1 Conclusions As we conclude our exploration into the domain of Opportunistic Networks (OppNets), we stand at the intersection of understanding their potential and recognizing the vast prospects and challenges ahead. OppNets have emerged as a significant catalyst in defining our future digital landscape in a world increasingly becoming connected through sophisticated technologies. OppNets epitomize a revolution in networking, offering innovative solutions to facilitate communication in remarkably challenging circumstances marked by intermittent connectivity, high node mobility, and resource constraints. These networks, characterized by their distinctive approach to handling network partitioning and delays, can seamlessly operate in environments where conventional networks fall short. Understanding the fundamental concept underlying OppNets—the idea that human contacts can follow predictable patterns and be utilized to transmit data—provides insight into their modus operandi. OppNets do not rely on an established end-to-end connection between a source and a destination. Instead, they employ a strategic ‘store, carry, and forward’ approach to data propagation, leveraging quick and sporadic contacts between network nodes. Mobile nodes in OppNets serve as dynamic data carriers, exploiting their movement and temporary connections to other nodes to forward packets to their destinations. The practical applications of such a networking approach are extensive, including emergency response scenarios and wildlife tracking operations where traditional networks may fail to offer the requisite connectivity and reliability. Delving into the nitty-gritty of OppNets—their structure, operation, and realworld implementation—has allowed us to navigate through the complex landscape of these networks. Comprehending the underlying technological architecture of OppNets is a critical aspect that empowers us to evaluate their performance, strengths, limitations, and adaptability to different scenarios. Moreover, understanding the practical aspects of bringing OppNets to life is paramount. This process © The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6_12
175
176
12 Conclusions
requires knowledge about the enabling technologies that serve as the backbone of these networks. Grasping these technical aspects provides valuable insights into how OppNets can be effectively integrated and employed in real-world applications. A comprehensive examination of OppNets also involves understanding device characterization and exploring how different devices can utilize these networks. This deeper understanding can lead to more effective use of OppNets across various devices, paving the way for more innovative applications and services. However, our exploration continues beyond the technical aspects. We have ventured into the potential applications of OppNets, spanning areas as diverse as disaster management, communication in remote areas, smart cities, Internet of Things (IoT), and even satellite networks. OppNets, for instance, can play a vital role in disaster management scenarios where conventional networks might falter. They can ensure crucial communication capabilities, significantly aiding in the management of emergencies. Furthermore, OppNets can bridge the connectivity gap in areas unreachable by traditional networks, offering communication services in challenging environments—from the deep wilderness to high-sea marine landscapes. With the proliferation of IoT devices and the advent of smart cities, OppNets can offer innovative solutions to maintain efficient communication even under challenging conditions. OppNets could provide the necessary infrastructure to manage this complex web of communication as cities become more interconnected. Moreover, OppNets can manage the daunting task of maintaining communication across vast spatial expanses in satellite networks, presenting a testament to their adaptability and versatility. As we conclude this enlightening journey, we hope you have gained a comprehensive understanding of OppNets, their functionality, application, and potential impact. This newfound knowledge empowers you to appreciate OppNets’s opportunities, sparking curiosity about their potential applications, understanding their role across different technologies, and perhaps even fostering a desire to delve further into this exciting field. As we turn the last page, we encourage you to explore further, innovate, and leverage the power of OppNets to shape the future of connectivity.
12.2 Future Work The Opportunistic Networks field is actively evolving, and researchers and engineers are constantly exploring innovative solutions to address the challenges and limitations of these networks in diverse scenarios. These are just a few potential areas for future improvements in opportunistic networks. • Routing protocols: Developing efficient and adaptive routing protocols is a key area for improvement in opportunistic networks. Future advancements may focus on creating routing algorithms relying on Machine Learning techniques that can intelligently select the most suitable nodes for message relaying, considering
12.2 Future Work
•
•
•
•
•
177
factors such as node mobility, connectivity patterns, energy constraints, and social behavior. Mobility and simulation models: Accurate modeling of node mobility is essential for designing efficient routing and forwarding strategies in opportunistic networks. Future improvements may involve the development of more realistic and sophisticated mobility models that incorporate social interactions, human mobility patterns, and environmental factors. It is still an open research question whether the results from a simulation study are strongly correlated to the results from real applications. Context-awareness: Expanding the context-awareness of opportunistic networks can enhance their performance. Future improvements may incorporate contextual information such as location, time, network conditions, and application-specific requirements to make more informed decisions regarding routing, resource allocation, and message dissemination. Energy efficiency: Energy is often scarce in opportunistic networks, especially in settings where nodes rely on batteries or other limited power sources. Future improvements might involve the development of energy-efficient protocols, transmission techniques, and power management strategies to prolong the network’s lifetime and increase its overall efficiency. Security and privacy: Enhancing the security and privacy of opportunistic networks is crucial, particularly when nodes may be untrusted or in hostile environments. Future improvements may focus on developing robust authentication, encryption, and trust mechanisms to protect against various security threats, including malicious nodes, eavesdropping, and data tampering. Integration with existing infrastructure: As opportunistic networks continue to evolve, integrating them with existing infrastructure, such as cellular networks, satellite communication systems, or the Internet of Things (IoT), can provide additional connectivity and improve overall network performance. Future improvements might involve developing seamless interoperability and integration protocols to enable smooth communication between opportunistic networks and other network types.
However, the one overarching challenge that has to be addressed in all of the above fields, individually and jointly, is scalability. In order for opportunistic networks to support the envisioned applications and to become truly useful, they have to learn to disseminate data efficiently and quickly among millions, maybe billions of nodes. This is not to say that all these nodes have to receive all data. In fact, quite the opposite need to happen, and smart, localized, but very flexible and robust approaches are required. Maybe the solution can be achieved with the help of the rising family of machine learning artificial intelligence algorithms.
References
1. ALMEIDA, R., OLIVEIRA, R., SOUSA, D., LUIS, M., SENNA, C., AND SARGENTO, S. A multi-technology opportunistic platform for environmental data gathering on smart cities. In 2017 IEEE Globecom Workshops (GC Wkshps) (2017), pp. 1–7. 2. ALNASHWAN, R., AND MOKHTAR, H. Disaster management system over wifi direct. In 2019 2nd International Conference on Computer Applications & Information Security (ICCAIS) (2019), pp. 1–6. 3. ÁLVAREZ, F., ALMON, L., RADTKI, H., AND HOLLICK, M. Bluemergency: Mediating postdisaster communication systems using the internet of things and bluetooth mesh. In 2019 IEEE Global Humanitarian Technology Conference (GHTC) (2019), pp. 1–8. 4. ANSARI, S., SÁNCHEZ, M., BOUTALEB, T., SINANOVIC, S., GAMIO, C., AND KRIKIDIS, I. SAI: Safety Application Identifier Algorithm at MAC Layer for Vehicular Safety Message Dissemination Over LTE VANET Networks. Wireless Communications and Mobile Computing 2018 (Feb. 2018), e6576287. Publisher: Hindawi. 5. AOKI, S., LIN, C.-W., AND RAJKUMAR, R. Human-robot cooperation for autonomous vehicles and human drivers: Challenges and solutions. IEEE Communications Magazine 59, 8 (2021), 35–41. 6. ARAFAT, M. Y., AND MOH, S. Routing protocols for unmanned aerial vehicle networks: A survey. IEEE Access 7 (2019), 99694–99720. 7. ASCHENBRUCK, N., ERNST, R., GERHARDS-PADILLA, E., AND SCHWAMBORN, M. BonnMotion: A mobility scenario generation and analysis tool. In Proceedings of the 3rd International ICST Conference on Simulation Tools and Techniques (Brussels, BEL, Mar. 2010), SIMUTools ’10, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), pp. 1–10. 8. AUNG, C. Y., ALI, G. G. M. N., ZHAO, M., CAI, R., AND CHONG, P. H. J. Information epidemics control for data delivery in opportunistic networks. In 2016 IEEE International Conference on Communications (ICC) (2016), pp. 1–6. 9. AYELE, E. D., MERATNIA, N., AND HAVINGA, P. J. Maner: Managed data dissemination scheme for LoRa IoT enabled wildlife monitoring system (WMS). In 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS) (2018), pp. 1–7. 10. AYELE, E. D., MERATNIA, N., AND HAVINGA, P. J. Towards a new opportunistic iot network architecture for wildlife monitoring system. In 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS) (2018), pp. 1–5.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6
179
180
References
11. AYU, V., SOELISTIJANTO, B., AND SIJABAT, J. Interest-based epidemic routing in opportunistic mobile networks. In 2019 7th International Conference on Information and Communication Technology (ICoICT) (2019), pp. 1–6. 12. BANERJEE, N., CORNER, M. D., AND LEVINE, B. N. Design and field experimentation of an energy-efficient architecture for DTN throwboxes. IEEE/ACM Transactions on Networking 18, 2 (Apr. 2010), 554–567. 13. BARONTI, P., PILLAI, P., CHOOK, V. W. C., CHESSA, S., GOTTA, A., AND HU, Y.-F. Wireless sensor networks: A survey on the state of the art and the 802.15.4 and Zigbee standards. Comput. Commun. 30 (2007), 1655–1695. 14. BATABYAL, S., AND BHAUMIK, P. Mobility models, traces and impact of mobility on opportunistic routing algorithms: A survey. IEEE Communications Surveys & Tutorials 17, 3 (2015), 1679–1707. 15. BAYHAN, S., HYYTIÄ, E., KANGASHARJU, J., AND OTT, J. Analysis of hop limit in opportunistic networks by static and time-aggregated graphs. In 2015 IEEE International Conference on Communications (ICC) (June 2015), pp. 3287–3292. 16. BECCHETTI, L., CLEMENTI, A., PASQUALE, F., RESTA, G., SANTI, P., AND SILVESTRI, R. Flooding time in opportunistic networks under power law and exponential intercontact times. IEEE Transactions on Parallel and Distributed Systems 25, 9 (Sept 2014), 2297–2306. 17. BEHRISCH, M., BIEKER, L., ERDMANN, J., AND KRAJZEWICZ, D. SUMO: Simulation of Urban MObility: An Overview. In Proceedings of SIMUL 2011, The Third International Conference on Advances in System Simulation (Barcelona, Oct. 2011), S. . U. o. O. Aida Omerovic, R. I.-R. T. P. Diglio A. Simoni, and R. I.-R. T. P. Georgiy Bobashev, Eds., ThinkMind. 18. BENBADIS, F., AND LEGUAY, J. CRAWDAD dataset upmc/rollernet (v.2009-02-02). CRAWDAD wireless network data archive (Feb. 2009). 19. BHATTACHARJEE, S., ROY, S., AND DAS BIT, S. Post-disaster map builder: Crowdsensed digital pedestrian map construction of the disaster affected areas through smartphone based DTN. Computer Communications 134 (2019), 96–113. 20. BHATTACHARJEE, S., ROY, S., AND DAS BIT, S. Reliable and Energy-Efficient Post-disaster Opportunistic Network Architecture. In Post-Disaster Navigation and Allied Services over Opportunistic Networks, S. Bhattacharjee, S. Roy, and S. Das Bit, Eds., Smart Innovation, Systems and Technologies. Springer, Singapore, 2021, pp. 79–113. 21. BHATTACHARJEE, S., ROY, S., AND DASBIT, S. Post-disaster Map-Based Navigation Service. Springer, 04 2021, pp. 21–44. 22. BIGÑOTTE, E. M., UNTERHUBER, P., GÓMEZ, A. A., SAND, S., AND ERRASTI, M. M. Measurement based tapped delay line model for train-to-train communications. IEEE Transactions on Vehicular Technology 72, 4 (2023), 4168–4181. 23. BILAL, S. M., BERNARDOS, C. J., AND GUERRERO, C. Position-based routing in vehicular networks: A survey. Journal of Network and Computer Applications 36, 2 (2013), 685–697. 24. BISTA, B. B., AND RAWAT, D. B. Energy Consumption and Performance of Delay Tolerant Network Routing Protocols under Different Mobility Models. In 2016 7th International Conference on Intelligent Systems, Modelling and Simulation (ISMS) (Jan. 2016), pp. 325– 330. 25. BLOESSL, B., SEGATA, M., SOMMER, C., AND DRESSLER, F. Performance assessment of IEEE 802.11p with an open source SDR-based prototype. IEEE Transactions on Mobile Computing 17, 5 (2018), 1162–1175. 26. BOLDRINI, C., CONTI, M., AND PASSARELLA, A. Performance modelling of opportunistic forwarding under heterogenous mobility. Computer Communications 48 (July 2014). 27. BOLDRINI, C., CONTI, M., AND PASSARELLA, A. The stability region of the delay in pareto opportunistic networks. IEEE Transactions on Mobile Computing 14, 1 (Jan 2015), 180–193. 28. BOLDRINI, C., AND PASSARELLA, A. HCMM: Modelling spatial and temporal properties of human mobility driven by users’ social relationships. Computer Communications 33, 9 (2010), 1056–1074.
References
181
29. BORREGO, C., BORRELL, J., AND ROBLES, S. Efficient broadcast in opportunistic networks using optimal stopping theory. Ad Hoc Networks 88 (2019), 5–17. 30. BRACCIALE, L., BONOLA, M., LORETI, P., BIANCHI, G., AMICI, R., AND RABUFFI, A. CRAWDAD dataset roma/taxi (v. 2014-07-17). Downloaded from https://crawdad.org/roma/ taxi/20140717, July 2014. 31. BRENNAND, C. A. R. L., FILHO, G. P. R., MAIA, G., CUNHA, F., GUIDONI, D. L., AND VILLAS, L. A. Towards a fog-enabled intelligent transportation system to reduce traffic jam. Sensors 19, 18 (2019). 32. BURGESS, J., GALLAGHER, B., JENSEN, D., AND LEVINE, B. N. Maxprop: Routing for vehicle-based disruption-tolerant networks. In Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications (2006), pp. 1–11. 33. BURLEIGH, S., CERF, V. G., CROWCROFT, J., AND TSAOUSSIDIS, V. Space for internet and internet for space. Ad Hoc Networks 23 (2014), 80–86. 34. CABRERO, S., GARCÍA, R., GARCÍA, X. G., AND MELENDI, D. CRAWDAD dataset oviedo/asturies-er (v. 2016-08-08). Downloaded from https://crawdad.org/oviedo/asturieser/20160808, Aug. 2016. 35. CAMP, T., BOLENG, J., AND DAVIES, V. A survey of mobility models for ad hoc network research. Wireless Communications and Mobile Computing 2, 5 (2002), 483–502. 36. CAMPS-MUR, D., GARCIA-SAAVEDRA, A., AND SERRANO, P. Device-to-device communications with wi-fi direct: overview and experimentation. IEEE Wireless Communications 20 (2013), 96–104. 37. CECÍLIO, J. AQUAMesh: A Low-Power Wide-Area Mesh Network protocol for Remote Monitoring Applications in Water Environments. In IECON 2021 – 47th Annual Conference of the IEEE Industrial Electronics Society (2021), pp. 1–6. 38. CELES, C., BOUKERCHE, A., AND LOUREIRO, A. A. F. Mobility Trace Analysis for Intelligent Vehicular Networks: Methods, Models, and Applications. ACM Computing Surveys 54, 3 (Apr. 2021), 49:1–49:38. 39. CHAINTREAU, A., HUI, P., CROWCROFT, J., DIOT, C., GASS, R., AND SCOTT, J. Impact of human mobility on opportunistic forwarding algorithms. IEEE Transactions on Mobile Computing 6 (June 2007), 606–620. 40. CHANCAY-GARCÍA, L., HERNÁNDEZ-ORALLO, E., MANZONI, P., VEGNI, A. M., LOSCRI, V., CANO, J. C., AND CALAFATE, C. T. Optimising Message Broadcasting in Opportunistic Networks. Computer Communications (Apr. 2020). 41. CHEN, P.-Y., BHATIA, L., KOLCUN, R., BOYLE, D., AND MCCANN, J. A. Contact-aware opportunistic data forwarding in disconnected LoRaWAN mobile networks. In 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS) (2020), pp. 574– 583. 42. CHEN, P.-Y., CHENG, S.-M., AND CHEN, K.-C. Optimal control of epidemic information dissemination over networks. IEEE Transactions on Cybernetics 44, 12 (2014), 2316–2328. 43. CHOUDHARY, R. K. Internet of things: Wild life conservation and its challenges. Journal of Computer Science and Technology 9, 1 (2020), 8–13. 44. CLAUSEN, T. H., DEARLOVE, C., JACQUET, P., AND HERBERG, U. The Optimized Link State Routing Protocol Version 2. RFC 7181, Apr. 2014. 45. CNN, FOR, B. P. S. FireChat, the app behind Hong Kong’s protests. https://www.cnn.com/ 2014/10/16/tech/mobile/tomorrow-transformed-firechat/index.html. 46. COLLOTTA, M., PAU, G., TALTY, T., AND TONGUZ, O. K. Bluetooth 5: A concrete step forward toward the iot. IEEE Communications Magazine 56, 7 (2018), 125–131. 47. CONCEIÇÃO, L., AND CURADO, M. Modelling mobility based on human behaviour in disaster areas. In Wired/Wireless Internet Communication (Berlin, Heidelberg, 2013), V. Tsaoussidis, A. J. Kassler, Y. Koucheryavy, and A. Mellouk, Eds., Springer Berlin Heidelberg, pp. 56–69. 48. COSTA, F., GENOVESI, S., BORGESE, M., MICHEL, A., DICANDIA, F. A., AND MANARA, G. A review of RFID sensors, the new frontier of internet of things. Sensors (Basel, Switzerland) 21 (2021).
182
References
49. CUNHA, F. D., SILVA, F. A., CELES, C., MAIA, G., RUIZ, L. B., ANDRADE, R. M. C., MINI, R. A. F., BOUKERCHE, A., AND LOUREIRO, A. A. F. Communication analysis of real vehicular calibrated traces. In 2016 IEEE International Conference on Communications (ICC) (May 2016), pp. 1–6. 50. DALAL, R., KHARI, M., ANZOLA, J. P., AND GARCAZ, V. Proliferation of opportunistic routing: A systematic review. IEEE Access 10 (2022), 5855–5883. 51. DALPATHADU, Y., SHOWRY, T., KUPPUSAMY, V., UDUGAMA, A., AND FÖRSTER, A. Disseminating Data using LoRa and Epidemic Forwarding in Disaster Rescue Operations. In Proceedings of the Conference on Information Technology for Social Good (New York, NY, USA, Sept. 2021), GoodIT ’21, Association for Computing Machinery, pp. 293–296. 52. DALY, E. M., AND HAAHR, M. Social network analysis for information flow in disconnected delay-tolerant MANETs. IEEE Transactions on Mobile Computing 8, 5 (2009), 606–621. 53. DAREHSHOORZADEH, A., AND BOUKERCHE, A. Underwater sensor networks: A new challenge for opportunistic routing protocols. IEEE Communications Magazine 53, 11 (November 2015), 98–107. 54. DAS, S. R., PERKINS, C. E., AND BELDING-ROYER, E. M. Ad hoc On-Demand Distance Vector (AODV) Routing. RFC 3561, July 2003. 55. DE ABREU, C. S., AND SALLES, R. M. Modeling message diffusion in epidemical DTN. Ad Hoc Networks 16 (May 2014), 197–209. 56. DE SOUZA, F. R., DOMINGUES, A. C., VAZ DE MELO, P. O., AND LOUREIRO, A. A. F. MOCHA: A Tool for Mobility Characterization. In Proceedings of the 21st ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems (New York, NY, USA, 2018), MSWIM ’18, ACM, pp. 281–288. 57. DEDE, J., FÖRSTER, A., HERNÁNDEZ-ORALLO, E., HERRERA-TAPIA, J., HERRERA-TAPIA, J., KULADINITHI, K., KUPPUSAMY, V., MANZONI, P., B MUSLIM, A., UDUGAMA, A., AND VATANDAS, Z. Simulating Opportunistic Networks: Survey and Future Directions. IEEE Communications Surveys Tutorials PP, 99 (2017), 1–1. 58. DIAS, D., AND COSTA, L. H. M. K. CRAWDAD dataset coppe-ufrj/riobuses (v. 2018-03-19). Downloaded from https://crawdad.org/coppe-ufrj/RioBuses/20180319/RioBuses, Mar. 2018. traceset: RioBuses. 59. DOERING, M., LAHDE, S., MORGENROTH, J., AND WOLF, L. IBR-DTN: an efficient implementation for embedded systems. In Proceedings of the Third Workshop on Challenged Networks, CHANTS 2008, San Francisco, California, USA, September 15, 2008 (Sept. 2008), pp. 117–120. 60. EAGLE, N., AND PENTLAND, A. S. CRAWDAD dataset mit/reality (v. 2005-07-01). Downloaded from https://crawdad.org/mit/reality/20050701, July 2005. 61. EISSFELDT, H., AND BIELLA, M. The public acceptance of drones – challenges for advanced aerial mobility (AAM). Transportation Research Procedia 66 (2022), 80–88. 34th Conference of the European Association for Aviation Psychology. 62. EKMAN, F., KERÄNEN, A., KARVO, J., AND OTT, J. Working day movement model. In Proceedings of the 1st ACM SIGMOBILE workshop on Mobility models (2008), pp. 33–40. 63. FAROOQ, J., AND SOLER, J. Radio Communication for Communications-Based Train Control (CBTC): A Tutorial and Survey. IEEE Communications Surveys Tutorials 19, 3 (thirdquarter 2017), 1377–1402. 64. FARRAHI, K., EMONET, R., AND CEBRIAN, M. Epidemic contact tracing via communication traces. PloS One 9, 5 (05 2014), e95133–e95133. 65. FEITELSON, D. G. From Repeatability to Reproducibility and Corroboration. ACM SIGOPS Operating Systems Review 49, 1 (Jan. 2015), 3–11. 66. FERRETTI, L., WYMANT, C., KENDALL, M., ZHAO, L., NURTAY, A., ABELER-DORNER, L., PARKER, M., BONSALL, D., AND FRASER, C. Quantifying sars-cov-2 transmission suggests epidemic control with digital contact tracing. Science (2020). 67. FLORITA, N. J. B., SENATIN, A. N. M., ZABALA, A. M. A., AND TAN, W. M. Opportunistic lora-based gateways for delay-tolerant sensor data collection in urban settings. Computer Communications 154 (2020), 410–432.
References
183
68. FOERSTER, A., UDUGAMA, A., GÖRG, C., KULADINITHI, K., TIMM-GIEL, A., AND CAMAPINTO, A. A Novel Data Dissemination Model for Organic Data Flows. In Mobile Networks and Management (Sept. 2015), Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, Springer, Cham, pp. 239–252. 69. FÖRSTER, A., BIN MUSLIM, A., AND UDUGAMA, A. TRAILS-A trace-based probabilistic mobility model. In Proceedings of the 21st ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems (2018), pp. 295–302. 70. FÖRSTER, A., DEDE, J., KÖNSGEN, A., KULADINITHI, K., KUPPUSAMY, V., TIMM-GIEL, A., UDUGAMA, A., AND WILLIG, A. A beginner’s guide to infrastructure-less networking concepts. Wiley IET Networks X, X (2023), x–X. 71. FÖRSTER, A., GARG, K., NGUYEN, H. A., AND GIORDANO, S. On context awareness and social distance in human mobility traces. In Proceedings of the Third ACM International Workshop on Mobile Opportunistic Networks (2012), pp. 5–12. 72. FÖRSTER, A., KARUNATHILAKE, T., DEDE, J., AND UDUGAMA, A. Benchmarking data dissemination protocols for opportunistic networks. In Proceedings of the Workshop on Benchmarking Cyber-Physical Systems and Internet of Things (New York, NY, USA, May 2021), CPS-IoTBench ’21, Association for Computing Machinery, pp. 12–19. 73. FÖRSTER, A., MUSLIM, A. B., AND UDUGAMA, A. Reactive User Behavior and Mobility Models. arXiv:1709.06395 [cs] (Sept. 2017). 74. FREIRE, D., BORREGO, C., AND ROBLES, S. Corpus for development of routing algorithms in opportunistic networks. Applied Sciences 12, 18 (2022). 75. GAO, D., CHEN, P., FOH, C. H., AND NIU, Y. Hop-distance relationship analysis with quasiUDG model for node localization in wireless sensor networks. EURASIP Journal on Wireless Communications and Networking 2011, 1 (2011), 99. 76. GARDNER-STEPHEN, D. P. The Serval Project: Practical Wireless Ad-hoc Mobile Telecommunications. Tech. rep., Flinders University, Adelaide, South Australia, 2011. 77. GARG, K., GIORDANO, S., AND FOERSTER, A. A study to understand the impact of node density on data dissemination time in opportunistic networks. Proceedings of the 2nd ACM workshop on high performance mobile opportunistic systems (Nov. 2013), 9–16. 78. GASPARETTI, F., LENANDO, H., AND ALRFAAY, M. EpSoc: Social-based epidemic-based routing protocol in opportunistic mobile social network. Mobile Information Systems 2018 (2018), 6462826. 79. GE, L., AND JIANG, S. An efficient opportunistic routing based on prediction for nautical wireless ad hoc networks. Journal of Marine Science and Engineering 10, 6 (2022). 80. GHOSH, J., PHILIP, S., AND QIAO, C. Sociological orbit aware location approximation and routing in manet. In 2nd International Conference on Broadband Networks, 2005. (Oct 2005), pp. 641–650 Vol. 1. 81. GIANNINI, C., SHAABAN, A. A., BURATTI, C., AND VERDONE, R. Delay tolerant networking for smart city through drones. In 2016 International Symposium on Wireless Communication Systems (ISWCS) (2016), pp. 603–607. 82. GNAWALI, O., FONSECA, R., JAMIESON, K., KAZANDJIEVA, M., MOSS, D., AND LEVIS, P. CTP: An efficient, robust, and reliable collection tree protocol for wireless sensor networks. ACM Transactions on Sensor Networks 10, 1 (Dec. 2013), 16:1–16:49. 83. GRASIC, S., DAVIES, E., LINDGREN, A., AND DORIA, A. The evolution of a dtn routing protocol - prophetv2. In Proceedings of the 6th ACM Workshop on Challenged Networks (New York, NY, USA, 2011), CHANTS ’11, Association for Computing Machinery, pp. 27– 30. 84. GRASIC, S., AND LINDGREN, A. Revisiting a remote village scenario and its dtn routing objective. Computer Communications 48 (2014), 133–140. Opportunistic networks. 85. GROENEVELT, R., NAIN, P., AND KOOLE, G. The message delay in mobile ad hoc networks. Performance Evaluation 62 (October 2005), 210–228. 86. GUIBENE, W., NOWACK, J., CHALIKIAS, N., FITZGIBBON, K., KELLY, M., AND PRENDERGAST, D. Evaluation of LPWAN Technologies for Smart Cities: River Monitoring Use-Case. In 2017 IEEE Wireless Communications and Networking Conference Workshops (WCNCW) (2017), pp. 1–5.
184
References
87. GUO, B., YANG, H., ZHOU, H., HUANG, Z., ZHANG, F., XIAO, L., AND WANG, P. Understanding individual and collective human mobility patterns in twelve crowding events occurred in Shenzhen. Sustainable Cities and Society 81 (June 2022), 103856. 88. GUO, B., ZHANG, D., WANG, Z., YU, Z., AND ZHOU, X. Opportunistic iot: Exploring the harmonious interaction between human and the internet of things. Journal of Network and Computer Applications 36, 6 (2013), 1531–1539. 89. HAAS, Z. J., AND SMALL, T. A new networking model for biological applications of ad hoc sensor networks. Networking, IEEE/ACM Transactions on 14, 1 (Feb. 2006), 27–40. 90. HANSMAN, S., AND HUNT, R. A taxonomy of network and computer attacks. Computers & Security 24, 1 (2005), 31–43. 91. HERNÁNDEZ-ORALLO, E., BORREGO, C., MANZONI, P., MARQUEZ-BARJA, J. M., CANO, J. C., AND CALAFATE, C. T. Optimising data diffusion while reducing local resources consumption in opportunistic mobile crowdsensing. Pervasive and Mobile Computing 67 (2020), 101201. 92. HERNÁNDEZ-ORALLO, E., CANO, J. C., CALAFATE, C. T., AND MANZONI, P. New approaches for characterizing inter-contact times in opportunistic networks. Ad Hoc Networks 52 (2016), 160–172. 93. HERNÁNDEZ-ORALLO, E., MANZONI, P., CALAFATE, C. T., AND CANO, J. Evaluating how smartphone contact tracing technology can reduce the spread of infectious diseases: The case of covid-19. IEEE Access 8 (2020), 99083–99097. 94. HERNÁNDEZ-ORALLO, E., MANZONI, P., CALAFATE, C. T., AND CANO, J.-C. A methodology for evaluating digital contact tracing apps based on the covid-19 experience. Scientific Reports 12, 1 (2022), 12728. 95. HERNÁNDEZ-ORALLO, E., MURILLO-ARCILA, M., CALAFATE, C. T., CANO, J. C., CONEJERO , J. A., AND M ANZONI , P. Analytical evaluation of the performance of contact-based messaging applications. Computer Networks 111 (2016), 45 – 54. 96. HERNÁNDEZ-ORALLO, E., MURILLO-ARCILA, M., CANO, J. C., CALAFATE, C. T., CONEJERO , J. A., AND M ANZONI , P. An analytical model based on population processes to characterize data dissemination in 5G opportunistic networks. IEEE Access 6 (2018), 1603– 1615. 97. HERNÁNDEZ-ORALLO, E., SERRAT, M. D., CANO, J.-C., CALAFATE, C. M. T., AND MANZONI, P. Improving selfish node detection in MANETs using a collaborative watchdog. Communications Letters, IEEE 16, 5 (2012), 642–645. 98. HERNANDEZ-ORALLO, E., SERRAT OLMOS, M., CANO, J.-C., CALAFATE, C., AND MANZONI, P. CoCoWa: A collaborative contact-based watchdog for detecting selfish nodes. Mobile Computing, IEEE Transactions on 14, 6 (June 2015), 1162–1175. 99. HERRERA-TAPIA, J., FÖRSTER, A., HERNÁNDEZ-ORALLO, E., UDUGAMA, A., TOMAS, A., AND M ANZONI , P. Mobility as the Main Enabler of Opportunistic Data Dissemination in Urban Scenarios. In Ad-Hoc, Mobile, and Wireless Networks (Sept. 2017), Lecture Notes in Computer Science, Springer, Cham, pp. 107–120. 100. HERRERA-TAPIA, J., HERNÁNDEZ-ORALLO, E., TOMÁS, A., MANZONI, P., CALAFATE, C. T., AND CANO, J.-C. Selecting the optimal buffer management for opportunistic networks both in pedestrian and vehicular contexts. In 2017 14th IEEE Annual Consumer Communications & Networking Conference (CCNC) (2017), pp. 395–400. 101. HESS, A., HUMMEL, K. A., GANSTERER, W. N., AND HARING, G. Data-driven human mobility modeling: a survey and engineering guidance for mobile networking. ACM Computing Surveys (CSUR) 48, 3 (2015), 1–39. 102. HOQUE, N., BHUYAN, M. H., BAISHYA, R., BHATTACHARYYA, D., AND KALITA, J. Network attacks: Taxonomy, tools and systems. Journal of Network and Computer Applications 40 (2014), 307–324. 103. HOSSMANN, T., CARTA, P., SCHATZMANN, D., LEGENDRE, F., GUNNINGBERG, P., AND ROHNER, C. Twitter in disaster mode: Security architecture. In Proceedings of the Special Workshop on Internet and Disasters (New York, NY, USA, 2011), SWID ’11, Association for Computing Machinery.
References
185
104. HOSSMANN, T., NOMIKOS, G., SPYROPOULOS, T., AND LEGENDRE, F. Collection and analysis of multi-dimensional network data for opportunistic networking research. Computer Communications 35, 13 (July 2012), 1613–1625. 105. HSU, W.-J., SPYROPOULOS, T., PSOUNIS, K., AND HELMY, A. Modeling time-variant user mobility in wireless mobile networks. In IEEE INFOCOM 2007-26th IEEE International Conference on Computer Communications (2007), IEEE, pp. 758–766. 106. HU, J., YANG, L., POOR, H. V., AND HANZO, L. Bridging the social and wireless networking divide: Information dissemination in integrated cellular and opportunistic networks. IEEE Access 3 (Sept 2015), 1809–1848. 107. HU, Y.-C., MALTZ, D. A., AND JOHNSON, D. B. The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4. RFC 4728, Feb. 2007. 108. HUANG, Y., HE, W., NAHRSTEDT, K., AND LEE, W. C. Corps: Event-driven mobility model for first responders in incident scene. In MILCOM 2008 - 2008 IEEE Military Communications Conference (2008), pp. 1–7. 109. HUI, P., AND CROWCROFT, J. How small labels create big improvements. In Fifth Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerComW’07) (2007), pp. 65–70. 110. JI, M., CUI, X., LI, J., ZHANG, H., LI, S., AND LIU, J. An opportunistic network routing protocol for maritime voluntary observation ships. Procedia Computer Science 202 (2022), 390–393. International Conference on Identification, Information and Knowledge in the internet of Things, 2021. 111. JIANG, R., AND LIU, C. Enhancing marine data transmission with socially aware resilient vessel networks. IEEE Wireless Communications 29, 3 (2022), 72–78. 112. JIJIN, J., AND SEET, B.-C. Opportunistic fog computing for 5g radio access networks: A position paper. In Smart Grid and Innovative Frontiers in Telecommunications (Cham, 2018), P. H. J. Chong, B.-C. Seet, M. Chai, and S. U. Rehman, Eds., Springer International Publishing, pp. 82–92. 113. KABBAJ, S., RAHMAN, A. U., MALIK, A. W., BABA, A. I., AND RAVANA, S. D. Time-bound single-path opportunistic forwarding in disconnected industrial environments. Vehicular Communications 27 (2021), 100302. 114. KARAGIANNIS, T., LE BOUDEC, J.-Y., AND VOJNOVI C´ , M. Power law and exponential decay of inter contact times between mobile devices. In Proceedings of the 13th annual ACM international conference on Mobile computing and networking (New York, NY, USA, 2007), MobiCom ’07, ACM, pp. 183–194. 115. KARALIOPOULOS, M. Assessing the vulnerability of DTN data relaying schemes to node selfishness. Communications Letters, IEEE 13, 12 (December 2009), 923 –925. 116. KARUNATHILAKE, T., AND FÖRSTER, A. A survey on mobile road side units in VANETs. Vehicles 4, 2 (2022), 482–500. 117. KARUNATHILAKE, T., UDUGAMA, A., AND FÖRSTER, A. Simulation speedup in OMNeT++ using contact traces. Proceedings of 6th International OMNeT++ Summit 66 (2019), 32–43. 118. KATTI, S., RAHUL, H., HU, W., KATABI, D., MEDARD, M., AND CROWCROFT, J. XORs in the air: Practical wireless network coding. IEEE/ACM Transactions on Networking 16, 3 (2008), 497–510. 119. KELLERMANN, R., BIEHLE, T., AND FISCHER, L. Drones for parcel and passenger transportation: A literature review. Transportation Research Interdisciplinary Perspectives 4 (2020), 100088. 120. KERÄNEN, A., OTT, J., AND KÄRKKÄINEN, T. The ONE simulator for DTN protocol evaluation. In Proceedings of the 2nd International Conference on Simulation Tools and Techniques (Rome, Italy, Mar. 2009), Simutools ’09, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), pp. 1–10. 121. KÖNSGEN, A., AND FÖRSTER, A. Current state and future challenges in deep space communication: A survey. it - Information Technology 63, 4 (2021), 219–234. 122. KRUMM, J., AND HORVITZ, E. The microsoft multiperson location survey. Tech. Rep. MSRTR-2005-103, Microsoft, August 2005.
186
References
123. KUPPUSAMY, V., THANTHRIGE, U. M., UDUGAMA, A., AND FÖRSTER, A. Evaluating forwarding protocols in opportunistic networks: Trends, advances, challenges and best practices. Future Internet 11, 5 (2019), 113. 124. KURTZ, T. G. Solutions of ordinary differential equations as limits of pure jump Markov processes. Journal of Applied Probability 7, 1 (Apr 1970), 49–58. 125. KURTZ, T. G. Approximation of Population Processes. SIAM, 1981. 126. LAU, B. P. L., HASALA, M. S., KADABA, V. S., THIRUNAVUKARASU, B., YUEN, C., YUEN, B., AND NAYAK, R. Extracting point of interest and classifying environment for low sampling crowd sensing smartphone sensor data. In 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops) (Mar. 2017), pp. 201–206. 127. LAURILA, J. K., GATICA-PEREZ, D., AAD, I., J., B., BORNET, O., DO, T.-M.-T., DOUSSE, O., EBERLE, J., AND MIETTINEN, M. The mobile data challenge: Big data for mobile computing research. Pervasive Computing (2012). 128. LAW, A. M., KELTON, W. D., AND KELTON, W. D. Simulation modeling and analysis, vol. 3. McGraw Hill New York, 2007. 129. LE BOUDEC, J.-Y. Performance Evaluation of Computer and Communication Systems. EPFL Press, CRC Press, 2010. 130. LEE, K., HONG, S., KIM, S. J., RHEE, I., AND CHONG, S. Slaw: A new mobility model for human walks. In IEEE INFOCOM 2009 (2009), pp. 855–863. 131. LEVIS, P., CLAUSEN, T., HUI, J., GNAWALI, O., AND KO, J. The Trickle Algorithm. RFC 6206 (Proposed Standard), Mar. 2011. 132. LI, C., AND CAO, Z. Lora networking techniques for large-scale and long-term iot: A downto-top survey. ACM Computing Surveys (CSUR) 55 (2022), 1 – 36. 133. LI, T., KOUYOUMDJIEVA, S. T., KARLSSON, G., AND HUI, P. Data Collection and Node Counting by Opportunistic Communication. In 2019 IFIP Networking Conference (IFIP Networking) (May 2019), pp. 1–9. 134. LINDGREN, A., AVRI DORIA, DAVIES, E. B., AND GRASIC, S. Probabilistic Routing Protocol for Intermittently Connected Networks. RFC 6693, Aug. 2012. 135. LINDGREN, A., DORIA, A., AND SCHELÉN, O. Probabilistic routing in intermittently connected networks. SIGMOBILE Mob. Comput. Commun. Rev. 7, 3 (Jul 2003), 19–20. 136. LIU, C., LI, Y., JIANG, R., DU, Y., LU, Q., AND GUO, Z. TPR-DTVN: A routing algorithm in delay tolerant vessel network based on long-term trajectory prediction. Wireless Communications and Mobile Computing 2021 (Jan 2021), 6630265. 137. LIU, K., CHEN, Z., WU, J., XIAO, Y., AND ZHANG, H. Predict and forward: An efficient routing-delivery scheme based on node profile in opportunistic networks. Future Internet 10, 8 (2018). 138. LIU, L., ZHOU, P., WU, J., WANG, R., FAN, X., AND ZHU, H. A data forwarding approach for opportunistic mobile sensor networks in fire-rescue scenario. In 2018 IEEE 22nd International Conference on Computer Supported Cooperative Work in Design ((CSCWD)) (2018), pp. 630–635. 139. LIU, Y., AND SEAH, H. S. Points of interest recommendation from GPS trajectories. International Journal of Geographical Information Science 29, 6 (June 2015), 953–979. 140. LIU, Y., WU, H., XIA, Y., WANG, Y., LI, F., AND YANG, P. Optimal online data dissemination for resource constrained mobile opportunistic networks. IEEE Transactions on Vehicular Technology 66, 6 (2017), 5301–5315. 141. LUCA, M., BARLACCHI, G., LEPRI, B., AND PAPPALARDO, L. Deep learning for human mobility: a survey on data and models. arXiv preprint arXiv:2012.02825 (2020). 142. LUO, P., HUANG, H., SHU, W., LI, M., AND WU, M. Performance evaluation of vehicular dtn routing under realistic mobility models. In 2008 IEEE Wireless Communications and Networking Conference (March 2008), pp. 2206–2211. 143. MACCARI, L., AND CAGNO, V. Do we need a contact tracing app? Computer Communications 166 (2021), 9–18. 144. MANOLE, A.-É., CIOBANU, R.-I., DOBRE, C., AND PURNICHESCU-PURTAN, R. Opportunistic Network Algorithms for Internet Traffic Offloading in Music Festival Scenarios. Sensors 21, 10 (Jan. 2021), 3315.
References
187
145. MANZO, G., BONVIN, F., ESPOSITO, C., BRAUN, T., AND RIZZO, G. Situation awareness via information hovering in post-disaster communications. In Proceedings of the 35th Annual ACM Symposium on Applied Computing (New York, NY, USA, 2020), SAC ’20, Association for Computing Machinery, pp. 1778–1784. 146. MARTÍN-CAMPILLO, A., MARTÍ, R., YONEKI, E., AND CROWCROFT, J. Electronic triage tag and opportunistic networks in disasters. In Proceedings of the Special Workshop on Internet and Disasters (New York, NY, USA, 2011), SWID ’11, Association for Computing Machinery. 147. MCNETT, M., AND VOELKER, G. M. Access and mobility of wireless PDA users. SIGMOBILE Mob. Comput. Commun. Rev. 9, 2 (Apr. 2005), 40–55. 148. MEI, A., AND STEFA, J. Swim: A simple model to generate small mobile worlds. In IEEE INFOCOM 2009 (2009), pp. 2106–2113. 149. MENEGUETTE, R. I., FILHO, G. P. R., GUIDONI, D. L., PESSIN, G., VILLAS, L. A., AND U EYAMA , J. Increasing intelligence in inter-vehicle communications to reduce traffic congestions: Experiments in urban and highway environments. PLOS ONE 11, 8 (08 2016), 1–25. 150. MERONI, P., GAITO, S., PAGANI, E., AND ROSSI, G. P. CRAWDAD dataset unimi/pmtr (v. 2008-12-01). Downloaded from https://crawdad.org/unimi/pmtr/20081201, Dec. 2008. 151. MERSCH, S., MEYERHOFF, T., KRÜGER, L., AND TIMM-GIEL, A. Coexistence of wireless avionics intra-communication networks. In 2018 6th IEEE International Conference on Wireless for Space and Extreme Environments (WiSEE) (2018), pp. 18–23. 152. MIT. Safe paths (http://safepaths.mit.edu), 2020. 153. MONTGOMERY, D. C. Design and Analysis of Experiments, 10th Edition. Wiley, 2020. 154. MOREIRA, W., MENDES, P., AND SARGENTO, S. Opportunistic routing based on daily routines. In 2012 IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM) (2012), pp. 1–6. 155. MORENO LÓPEZ, J. A., ARREGUI GARCÍA, B., BENTKOWSKI, P., BIOGLIO, L., PINOTTI, F., BOËLLE, P.-Y., BARRAT, A., COLIZZA, V., AND POLETTO, C. Anatomy of digital contact tracing: Role of age, transmission setting, adoption, and case detection. Science Advances 7, 15 (04 2021), eabd8750. 156. MUKHERJEE, J., AND RAMAMURTHY, B. Communication technologies and architectures for space network and interplanetary internet. IEEE Communications Surveys & Tutorials 15, 2 (2013), 881–897. 157. MUNJAL, A., CAMP, T., AND NAVIDI, W. C. Smooth: A simple way to model human mobility. In Proceedings of the 14th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems (New York, NY, USA, 2011), MSWiM ’11, Association for Computing Machinery, pp. 351–360. 158. MURASE, M., TANAKA, K., AND NAITO, K. Prototype implementation of human management system with BLE beacon devices in natural disasters. In 2018 15th IEEE Annual Consumer Communications & Networking Conference (CCNC) (2018), pp. 1–2. 159. MUSOLESI, M., AND MASCOLO, C. A community based mobility model for ad hoc network research. In Proceedings of the 2nd International Workshop on Multi-Hop Ad Hoc Networks: From Theory to Reality (New York, NY, USA, 2006), REALMAN ’06, Association for Computing Machinery, pp. 31–38. 160. NASA. What Powers a Spacecraft? | NASA Space Place. https://spaceplace.nasa.gov/whatpowers-a-spacecraft/en/, 2019. 161. OROZCO, J., SANTOS, R., OCHOA, S. F., AND MESEGUER, R. A stochastic approach for modeling message dissemination in opportunistic networks. Wireless Personal Communications 97, 2 (Nov 2017), 2207–2228. 162. PAJEVIC, L., AND KARLSSON, G. Characterizing opportunistic communication with churn for crowd-counting. In 2015 IEEE 16th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM) (June 2015), pp. 1–6. 163. PASSARELLA, A., AND CONTI, M. Characterising aggregate inter-contact times in heterogeneous opportunistic networks. In Proceedings of the 10th international IFIP TC 6 conference
188
References
on Networking - Volume Part II (Berlin, Heidelberg, 2011), NETWORKING’11, SpringerVerlag, pp. 301–313. 164. PATRA, T. K., AND SUNNY, A. Forwarding in heterogeneous mobile opportunistic networks. IEEE Communications Letters 22, 3 (2018), 626–629. 165. PENTLAND, A., FLETCHER, R., AND HASSON, A. DakNet: Rethinking connectivity in developing nations. Computer 37, 1 (Jan. 2004), 78–83. 166. PEPP-PT E.V. I.GR. Pan-European Privacy-Preserving Proximity Tracing (PEPP-PT) (https:// www.pepp-pt.org), 2020. 167. PERRY, T. S. Mr. internet: Vint Cerf’s 1973 sketch kicked off five decades of improving and evangelizing what we now know as the internet. IEEE Spectrum 60, 5 (2023), 24–31. 168. PEYRAVI, H., AND SEHGAL, R. Link modeling and delay analysis in networks with disruptive links. ACM Trans. Sen. Netw. 13, 4 (Sept. 2017). 169. PICU, A., SPYROPOULOS, T., AND HOSSMANN, T. An analysis of the information spreading delay in heterogeneous mobility dtns. World of Wireless, Mobile and Multimedia Networks (WoWMoM), 2012 IEEE International Symposium on a (Jun 2012). 170. PIORKOWSKI, M., SARAFIJANOVIC-DJUKIC, N., AND GROSSGLAUSER, M. CRAWDAD dataset epfl/mobility (v. 2009-02-24). Downloaded from https://crawdad.org/epfl/mobility/ 20090224, Feb. 2009. 171. POIKONEN, S., AND CAMPBELL, J. F. Future directions in drone routing research. Networks 77, 1 (2021), 116–126. 172. PUJOL, J. M., LOPEZ TOLEDO, A., AND RODRIGUEZ, P. Fair routing in delay tolerant networks. In IEEE INFOCOM 2009 (2009), pp. 837–845. 173. QUESSADA, M. S., PEREIRA, R. S., REVEJES, W., SARTORI, B., GOTTSFRITZ, E. N., LIEIRA, D. D., DA SILVA, M. A., FILHO, G. P. R., AND MENEGUETTE, R. I. ITSMEI: An intelligent transport system for monitoring traffic and event information. International Journal of Distributed Sensor Networks 16, 10 (2020), 1550147720963751. 174. QUY, V. K., NAM, V. H., LINH, D. M., BAN, N. T., AND HAN, N. D. Communication Solutions for Vehicle Ad-hoc Network in Smart Cities Environment: A Comprehensive Survey. Wireless Personal Communications 122, 3 (Feb. 2022), 2791–2815. 175. RADHAKRISHNAN, R., EDMONSON, W. W., AFGHAH, F., RODRÍGUEZ-OSORIO, R. M., PINTO, F., AND BURLEIGH, S. C. Survey of inter-satellite communication for small satellite systems: Physical layer to network layer view. IEEE Communications Surveys & Tutorials 18 (2016), 2442–2473. 176. RAJAEI, A., CHALMERS, D., WAKEMAN, I., AND PARISIS, G. GSAF: Efficient and flexible geocasting for opportunistic networks. In 2016 IEEE 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM) (2016), pp. 1–9. 177. RIHACEK, C., HAINDL, B., FANTAPPIE, P., PIERATTELLI, S., GRÄUPL, T., SCHNELL, M., AND F ISTAS , N. L-band digital aeronautical communications system (LDACS) activities in sesar2020. In 2018 Integrated Communications, Navigation, Surveillance Conference (ICNS) (2018), pp. 4A1–1–4A1–8. 178. RILEY, G. F., AND HENDERSON, T. R. The ns-3 network simulator. In Modeling and tools for network simulation. Springer, 2010, pp. 15–34. 179. RODRÍGUEZ, P., GRAÑA, S., ALVAREZ-LEÓN, E. E., BATTAGLINI, M., DARIAS, F. J., HERNÁN, M. A., LÓPEZ, R., LLANEZA, P., MARTÍN, M. C., RAMIREZ-RUBIO, O., ROMANÍ, A., SUÁREZ-RODRÍGUEZ, B., SÁNCHEZ-MONEDERO, J., ARENAS, A., LACASA, L., AND GROUP, R. A population-based controlled experiment assessing the epidemiological impact of digital contact tracing. Nature Communications 12, 1 (2021), 587. 180. ROSAS, E., HIDALGO, N., GIL-COSTA, V., BONACIC, C., MARIN, M., SENGER, H., ARANTES, L., MARCONDES, C., AND MARIN, O. Survey on simulation for mobile ad-hoc communication for disaster scenarios. Journal of Computer Science and Technology 31, 2 (2016), 326–349. 181. SACHDEVA, R., AND DEV, A. Review of opportunistic network: Assessing past, present, and future. International Journal of Communication Systems 34, 11 (2021), e4860.
References
189
182. SALEH, H. H., AND HASSON, S. T. A survey of routing algorithms in vehicular networks. In 2019 International Conference on Advanced Science and Engineering (ICOASE) (2019), pp. 159–164. 183. SALONI, M., JULIEN, C., MURPHY, A. L., AND PICCO, G. P. Lasso: A device-to-device group monitoring service for smart cities. In 2017 International Smart Cities Conference (ISC2) (Sept. 2017), pp. 1–6. 184. SANDULESCU, G., AND NADJM-TEHRANI, S. Opportunistic dtn routing with window-aware adaptive replication. In Proceedings of the 4th Asian Conference on Internet Engineering (New York, NY, USA, 2008), AINTEC ’08, Association for Computing Machinery, pp. 103– 112. 185. SANG, L., KUPPUSAMY, V., FÖRSTER, A., UDUGAMA, A., AND LIU, J. Validating contact times extracted from mobility traces. In Ad-hoc, Mobile, and Wireless Networks (Cham, 2017), A. Puliafito, D. Bruneo, S. Distefano, and F. Longo, Eds., Springer International Publishing, pp. 239–252. 186. SANTOS, R., MOSSE, D., ZNATI, T., AND COMFORT, L. Design and implementation of a witness unit for opportunistic routing in tsunami alert scenarios. Safety Science 90 (2016), 75–83. Building Community Resilience to Global Hazards: A Sociotechnical Approach. 187. SARKER, A., LI, Z., KOLODZEY, W., AND SHEN, H. Opportunistic energy sharing between power grid and electric vehicles: A game theory-based pricing policy. In 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS) (2017), pp. 1197– 1207. 188. SARMIENTO, L., AND FÖRSTER, A. Trails mobility model. SIMULATION 0, 0 (2022), 00375497221133847. 189. SBAI, O., AND ELBOUKHARI, M. Classification of mobile ad hoc networks attacks. In 2018 IEEE 5th International Congress on Information Science and Technology (CiSt) (2018), pp. 618–624. 190. SCHWAMBORN, M., AND ASCHENBRUCK, N. On modeling and impact of geographic restrictions for human mobility in opportunistic networks. Performance Evaluation 130 (Apr. 2019), 17–31. 191. SCOTT, J., GASS, R., CROWCROFT, J., HUI, P., DIOT, C., AND CHAINTREAU, A. CRAWDAD dataset Cambridge/haggle (v. 2009-05-29). Downloaded from https://crawdad.org/ cambridge/haggle/20090529, May 2009. 192. SERMPEZIS, P., AND SPYROPOULOS, T. Understanding the effects of social selfishness on the performance of heterogeneous opportunistic networks. Computer Communications 48 (2014), 71 – 83. Opportunistic networks. 193. SERMPEZIS, P., AND SPYROPOULOS, T. Modelling and analysis of communication traffic heterogeneity in opportunistic networks. IEEE Transactions on Mobile Computing 14, 11 (Nov 2015), 2316–2331. 194. SERMPEZIS, P., AND SPYROPOULOS, T. Delay analysis of epidemic schemes in sparse and dense heterogeneous contact networks. IEEE Transactions on Mobile Computing 16, 9 (Sept 2017), 2464–2477. 195. SHAH, V. K., LUCIANO, B., SILVESTRI, S., BHATTACHARJEE, S., AND DAS, S. K. A diverse band-aware dynamic spectrum access network architecture for delay-tolerant smart city applications. IEEE Transactions on Network and Service Management 17, 2 (2020), 1125–1139. 196. SHANNON, C. E. A mathematical theory of communication. ACM SIGMOBILE Mobile Computing and Communications Review 5, 1 (Jan. 2001), 3–55. 197. SILVA, C. M., MASINI, B. M., FERRARI, G., AND THIBAULT, I. A Survey on InfrastructureBased Vehicular Networks. Mobile Information Systems 2017 (Aug. 2017), 6123868. 198. SILVA, F. A., CELES, C., BOUKERCHE, A., RUIZ, L. B., AND LOUREIRO, A. A. Filling the Gaps of Vehicular Mobility Traces. In Proceedings of the 18th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems (New York, NY, USA, Nov. 2015), MSWiM ’15, Association for Computing Machinery, pp. 47–54.
190
References
199. SIMON BLÖCHINGER AND RICHARD VON SECK. Survey of Mesh Networking Messengers. Technical Report, Technical University of Munich, 2021. 200. SINGH, S., AND AGRAWAL, S. Vanet routing protocols: Issues and challenges. In 2014 Recent Advances in Engineering and Computational Sciences (RAECS) (2014), pp. 1–5. 201. SOLMAZ, G., AND TURGUT, D. A survey of human mobility models. IEEE Access 7 (2019), 125711–125731. 202. SONG, H., AND SCHNIEDER, E. Availability and Performance Analysis of Train-to-Train Data Communication System. IEEE Transactions on Intelligent Transportation Systems 20, 7 (2019), 2786–2795. 203. SPYROPOULOS, T., PSOUNIS, K., AND RAGHAVENDRA, C. Single-copy routing in intermittently connected mobile networks. In 2004 First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2004. IEEE SECON 2004. (2004), pp. 235–244. 204. SPYROPOULOS, T., PSOUNIS, K., AND RAGHAVENDRA, C. S. Spray and wait: An efficient routing scheme for intermittently connected mobile networks. In Proceedings of the 2005 ACM SIGCOMM Workshop on Delay-Tolerant Networking (New York, NY, USA, 2005), WDTN ’05, Association for Computing Machinery, pp. 252–259. 205. STUTE, M., MAASS, M., SCHONS, T., AND HOLLICK, M. Reverse Engineering Human Mobility in Large-scale Natural Disasters. In Proceedings of the 20th ACM International Conference on Modelling, Analysis and Simulation of Wireless and Mobile Systems (New York, NY, USA, 2017), MSWiM ’17, ACM, pp. 219–226. 206. STUTE, M., MAASS, M., SCHONS, T., KAUFHOLD, M.-A., REUTER, C., AND HOLLICK, M. Empirical insights for designing information and communication technology for international disaster response. International Journal of Disaster Risk Reduction 47 (2020), 101598. 207. TIGHTIZ, L., AND YANG, H. A comprehensive review on iot protocols’ features in smart grid communication. Energies 13, 11 (2020). 208. TORNELL, S. M., HERNÁNDEZ-ORALLO, E., CALAFATE, C. T., CANO, J.-C., AND MANZONI, P. An analytical evaluation of a map-based sensor-data delivery protocol for vanets. In 2013 IEEE 14th International Symposium on “A World of Wireless, Mobile and Multimedia Networks” (WoWMoM) (2013), pp. 1–6. 209. TRAN, K. A., BARBEAU, S. J., AND LABRADOR, M. A. Automatic identification of points of interest in global navigation satellite system data: A spatial temporal approach. In Proceedings of the 4th ACM SIGSPATIAL International Workshop on GeoStreaming (New York, NY, USA, Nov. 2013), IWGS ’13, Association for Computing Machinery, pp. 33–42. 210. TRIFUNOVIC, S., KOUYOUMDJIEVA, S. T., DISTL, B., PAJEVIC, L., KARLSSON, G., AND PLATTNER, B. A decade of research in opportunistic networks: challenges, relevance, and future directions. IEEE Communications Magazine 55, 1 (2017), 168–173. 211. TRONO, E. M., ARAKAWA, Y., TAMAI, M., AND YASUMOTO, K. DTN MapEx: Disaster area mapping through distributed computing over a delay tolerant network. In 2015 Eighth International Conference on Mobile Computing and Ubiquitous Networking (ICMU) (2015), pp. 179–184. 212. TUDUCE, C., AND GROSS, T. A mobility model based on WLAN traces and its validation. In Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies. (March 2005), vol. 1, pp. 664–674 vol. 1. 213. UCHIDA, N., KAWAMURA, N., ISHIDA, T., AND SHIBATA, Y. Proposal of Seeking Wireless Station by Flight Drones Based on Delay Tolerant Networks. In 2014 Ninth International Conference on Broadband and Wireless Computing, Communication and Applications (Nov. 2014), pp. 401–405. 214. UDÉN, M., GRASIC, S., KERSTIN KEMLÉ;N, K., AND ANNELIE PÄIVIÖ, A. Nomatrack and the lora-dtn protocol : Dtn in innovation for reindeer husbandry. Tech. rep., Dálvvadis Ekonomisk Förening, 2021. 215. UDUGAMA, A., DEDE, J., FÖRSTER, A., KUPPUSAMY, V., KULADINITHI, K., TIMM-GIEL, A., AND VATANDAS, Z. My smartphone tattles: Considering popularity of messages in opportunistic data dissemination. Future Internet 11, 2 (2019).
References
191
216. UDUGAMA, A., FÖRSTER, A., DEDE, J., AND KUPPUSAMY, V. Simulating Opportunistic Networks with OMNeT++. In Recent Advances in Network Simulation: The OMNeT++ Environment and Its Ecosystem, A. Virdis and M. Kirsche, Eds. Springer, 2019, pp. 425–449. 217. UDUGAMA, A., KHALILOV, B., MUSLIM, A. B., AND FÖRSTER, A. Implementation of the swim mobility model in omnet++. In Proceedings of the 3rd International OMNeT++ Summit (2016). 218. VAHDAT, A., BECKER, D., ET AL. Epidemic routing for partially connected ad hoc networks, 2000. 219. VAJAPEYAM, S. Understanding Shannon’s Entropy metric for Information, Mar. 2014. 220. VATANDAS, Z., HAMM, S. M., KULADINITHI, K., KILLAT, U., TIMM-GIEL, A., AND FÖRSTER, A. Modeling of data dissemination in OppNets. In 2018 IEEE 19th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM) (June 2018), pp. 01–04. 221. WANG, Q., AND TAYLOR, J. E. Patterns and Limitations of Urban Human Mobility Resilience under the Influence of Multiple Types of Natural Disaster. PLOS ONE 11, 1 (Jan. 2016), e0147299. 222. WANG, S., WANG, X., HUANG, J., BIE, R., TIAN, Z., AND ZHAO, F. The potential of mobile opportunistic networks for data disseminations. IEEE Transactions on Vehicular Technology 65, 2 (2016), 912–922. 223. WANG, X., LIU, L., TANG, T., AND SUN, W. Enhancing Communication-Based Train Control Systems Through Train-to-Train Communications. IEEE Transactions on Intelligent Transportation Systems 20, 4 (2019), 1544–1561. 224. WANG, Y., ZHANG, P., LIU, T., SADLER, C., AND MARTONOSI, M. CRAWDAD dataset princeton/zebranet (v. 2007-02-14). Downloaded from https://crawdad.org/princeton/ zebranet/20070214, Feb. 2007. 225. WEIDINGER, J. What is known and what remains unexplored: A review of the firefighter information technologies literature. International Journal of Disaster Risk Reduction 78 (2022), 103115. 226. WHITBECK, J., CONAN, V., AND DIAS DE AMORIM, M. Performance of opportunistic epidemic routing on edge-Markovian dynamic graphs. Communications, IEEE Transactions on 59, 5 (May 2011), 1259–1263. 227. WOHWE SAMBO, D., YENKE, B. O., FÖRSTER, A., NDONG, J., DAYANG, P., AND SARR, I. A new fuzzy logic approach for reliable communications in wireless underground sensor networks. Wireless Networks 28, 7 (2022), 3275–3292. 228. WU, H., WANG, J., ANANTA, R. R., KOMMAREDDY, V. R., WANG, R., AND MOHAPATRA, P. Prediction based opportunistic routing for maritime search and rescue wireless sensor network. Journal of Parallel and Distributed Computing 111 (2018), 56–64. 229. WU, J., CHEN, Z., AND MING, Z. An efficient data packet iteration and transmission algorithm in opportunistic social networks. Journal of Ambient Intelligence and Humanized Computing 11 (08 2020). 230. WÜBBEN, D., KÖNSGEN, A., UDUGAMA, A., DEKORSY, A., AND FÖRSTER, A. Challenges and opportunities in communications for autonomous underwater vehicles. AI technology for underwater robots (2020), 83–93. 231. WYMANT, C., FERRETTI, L., TSALLIS, D., CHARALAMBIDES, M., ABELER-DÖRNER, L., BONSALL, D., HINCH, R., KENDALL, M., MILSOM, L., AYRES, M., HOLMES, C., BRIERS, M., AND FRASER, C. The epidemiological impact of the NHS COVID-19 app. Nature 594, 7863 (2021), 408–412. 232. XIAO, Y., AND WU, J. Data transmission and management based on node communication in opportunistic social networks. Symmetry 12, 8 (2020). 233. XU, G., WANG, X., ZHANG, N., WANG, Z., YU, L., AND HE, L. A routing algorithm for the sparse opportunistic networks based on node intimacy. Wireless Communications and Mobile Computing 2021 (03 2021), 1–9. 234. XU, Q., SU, Z., ZHANG, K., REN, P., AND SHEN, X. S. Epidemic information dissemination in mobile social networks with opportunistic links. Emerging Topics in Computing, IEEE Transactions on 3, 3 (Sept 2015), 399–409.
192
References
235. YANG, S., YANG, X., ZHANG, C., AND SPYROU, E. Using social network theory for modeling human mobility. IEEE network 24, 5 (2010), 6–13. 236. ZAMAN, I., GELLHAAR, M., DEDE, J., KOEHLER, H., AND FÖRSTER, A. MoleNet: A New Sensor Node for Underground Monitoring. In LCN SenseApp Workshop (Nov. 2016). 237. ZHANG, J., CHEN, T., ZHONG, S., WANG, J., ZHANG, W., ZUO, X., MAUNDER, R. G., AND HANZO, L. Aeronautical .ad hoc networking for the internet-above-the-clouds. Proceedings of the IEEE 107, 5 (2019), 868–911. 238. ZHANG, X., NEGLIA, G., KUROSE, J., AND TOWSLEY, D. Performance modeling of epidemic routing. Computer Networks 51, 10 (2007), 2867 – 2891. 239. ZHAO, D., MA, H., TANG, S., AND LI, X. Coupon: A cooperative framework for building sensing maps in mobile opportunistic networks. IEEE Transactions on Parallel and Distributed Systems 26, 2 (Feb 2015), 392–402. 240. ZHU, H., FU, L., XUE, G., ZHU, Y., LI, M., AND NI, L. M. Recognizing exponential inter-contact time in VANETs. In Proceedings of the 29th conference on Information communications (Piscataway, NJ, USA, 2010), INFOCOM’10, IEEE Press, pp. 101–105. 241. ZONGO, M., II, J. N., NDOUNDAM, R., AND FOERSTER, A. DSRC applicability in Cameroon Road traffic: A simulation study. EAI Endorsed Transactions on Mobile Communications and Applications 6, 19 (6 2021).
Index
A Airplane-to-airplane communications, 160–161 Analytical models, 51, 53, 59, 60, 75, 76 Animal movements, 158 Apple Multipeer Connectivity, 134 Application models, ix, 83–85, 87, 89, 98, 99
Data forwarding, 16, 22, 107, 109 Data manipulation, 42–43 Density, viii, 3–6, 18, 19, 46, 78, 97, 132, 156, 159 Digital contact tracing (DCT), 168–171, 174 Disaster management, ix, x, 151–156, 176 Discrete event simulation (DES), 101–103
B Benchmarking, ix, 16, 113–120 Bluetooth Low Energy (BLE), ix, 86, 127–128, 133, 139, 158 BonnMotion, 105, 110, 111 Briar, 137, 156 Bridgefy, 136, 156
E Eavesdropping, 41, 128, 177 Epidemic, 5, 17, 25–28, 30, 32, 35, 37, 45, 57, 60, 63–67, 74, 76–79, 89, 96, 103, 105, 106, 109, 111, 112, 115–118, 145, 153 Epidemic model, 64, 65, 69–74, 79 Exposure Notifications System (ENS), 133–134
C Cache restrictions, ix, 144–146, 148 Challenged internet of things, 156–158 Compartmental models, viii, 61, 68–75, 77, 78, 171 Contact traces, ix, 6, 9–12, 14, 18, 19, 63, 84, 85, 90–96, 98, 99, 105, 115
D Data caching, 35, 148 Data dissemination, viii, 3–5, 12–16, 18, 19, 21–39, 51, 56, 57, 75–77, 83, 86, 88, 96, 101, 103, 107, 119, 143, 145, 146, 157, 160, 165
F 5G, ix, 78, 108, 123, 132–133, 151, 164, 171
G Geocasting, 27–28, 63 Group monitoring, 167
I IBR-DTN, 134–135, 161 ION DTN, 135–136, 161
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 A. Förster et al., Opportunistic Networks, https://doi.org/10.1007/978-3-031-47866-6
193
194 L Link abstraction models, ix, 83, 85–90, 95, 98 LoRa, ix, 105, 108, 111, 126, 139, 153, 158, 162, 163
M Markov chains, viii, 64–69, 75–79 Masquerading, 40, 47 Mobile ad hoc networks (MANETs), viii, ix, 22, 27, 123–125, 138, 139, 158, 159, 167 Mobility, vii, viii, 3–19, 21, 24, 26–32, 36, 45, 51–53, 58–65, 68, 76, 83–85, 90–93, 95, 98, 102, 103, 107–111, 114, 120, 124, 131, 148, 152, 159, 160, 162, 163, 167, 175, 177 Mobility metrics, 12–14, 33 Mobility models, ix, 5–7, 16, 18, 24, 26, 45, 52, 68, 83, 85, 90–96, 98, 99, 104–106, 108–112, 145, 177 Mobility traces, viii, 6–14, 18, 19, 53, 59, 95, 98, 102
N Network coding, viii, 34–36 Network simulation, 97, 105, 107, 108, 110, 124 Network Simulator 3 (ns-3), ix, 103, 107–111 Node counting, 16, 167
O OMNeT.++, ix, 26, 30, 45, 87, 88, 103–105, 107, 109–111, 124 Opportunistic Network Environment (ONE), ix, 105–107, 109–111 Opportunistic Network Simulator (OPS), 26, 30, 45, 87, 103–107, 109, 110, 145 Opportunistic routing, vii, 157 Optimal Stopping Theory (OST), 26–27, 75, 76
P 802.11p, 130–131 Performance evaluation, 44, 51–53, 55, 58, 60 Performance metrics, 5, 22, 24, 26, 44, 56, 68, 97 Population processes, 61, 68 Power availability, ix, 141–144, 148 Processing resources, 148 PRoPHET, 29–32, 35, 89, 103, 105, 106, 109
Index R Radio Frequency Identification (RFID), 127, 139, 141, 155
S Sabotage, viii, 41 Scale, viii, 3–6, 18, 19, 30, 56, 59, 91, 114, 120, 165, 167 Security, viii, 13, 39–47, 51, 87, 107, 124, 126–129, 137–139, 142, 148, 177 Selfish nodes, 44, 47, 68, 77 Serval, 137–138, 156 Ship-to-ship communications, 159–160 Simulation models, ix, 56, 59, 81–99, 101, 102, 148, 177 Simulation of Urban MObility (SUMO), 108, 110, 111 Simulation speedup, 96–99 Single-copy, 21, 63, 68 Situational awareness, 154–155 6G, ix, 123, 132–133, 164 Smart city, vii, ix, x, 4, 27, 84, 145, 151, 162–168, 176 Smart grids, 165–166 Space vehicles communications, 161 Sparse vehicle communication, 159–162 Spray and Wait, 25–28, 35, 37, 68, 103, 105 Store-carry-forward, vii, 22, 23, 58, 132, 158, 162, 175
T Titan HST, 138 Traffic models, 52, 83–85, 109, 114, 115, 120 Train-to-train communications, 160
U Underwater internet of things, 157 User Behavior Model (UBM), 83, 85, 95, 104, 105, 109, 110
V Vehicular networking, 7, 165
W WiFi direct, 152
Z ZigBee, ix, 129–130, 139