# A Novel Routing Scheme for Creating Opportunistic Context-Virtual Networks in IoT Scenarios +
## 1 Introduction  
During the last few years, we have seen how data traffic has dramatically increased, and this trend is expected to continue over the next few years. Some reports forecast that the global IP traffic in 2020 will nearly triple the one generated in 2015 to reach 194.4 EB per month [1; 2]. As these reports indicate, the increase is mainly due to the high penetration of smartphones. While this is actually a concern, it will become a real problem as soon as the Internet of Things (IoT) devices are widely deployed. Remarkably, the prediction is that between 50 and 100 billion of these devices will be connected to the Internet in 2020 [3]. Therefore, the massive amount of data produced and exchanged by sensors, devices, and the cloud in IoT network scenarios brings to light the need to redesign both networking and data storage systems [4]. Furthermore, it is expected that the role of personal devices of mobile users in IoT networks will become more and more important in the near future [5; 6]. These types of devices have a series of features that make them especially challenging for current networks [7]. First, they generate a huge amount of information that is usually spread mostly within the scope of a local area [8]. Second, a subset of them, e.g., smartphones or smartwatches, are mobile nodes that can follow different mobility patterns [5]. Finally, depending on the specific type of device, purpose, location, and situation, their connectivity can be disrupted or intermittent [9]. This scenario perfectly fits within the concept of opportunistic networking, where nodes exchange messages with other nodes they opportunistically find along their path while moving, usually by means of short-range radio technologies. Indeed, using opportunistic networks in IoT environments can result in efficient and dynamic IoT system deployments [5]. However, taking into account the limited capacity of resources in IoT nodes, e.g., battery lifetime or buffer space, several questions emerge in this context, such as: Is it possible to define an opportunistic routing algorithm able to reduce the use of nodes' resources while also achieving a good performance in terms of delivery probability? How can one leverage relaying nodes to relay the messages efficiently to their destination without increasing the overhead ratio? The goal of this work is to shed light on these issues. Recently, the authors of this paper have been working on the situational context concept [10]. This paradigm defines a proper way to deal with the expected increase in traffic and the interactions between IoT devices and the cloud. The idea behind it is to analyze locally the contextual information that exists at a particular time and place in order to predict, in real-time, the expected behavior of IoT devices [11]. Therefore, situational context and opportunistic IoT networking perfectly fit in order to (i) improve the coordination of IoT devices and (ii) leverage nodes with interests in common to relay messages to the destination. Thus, nodes that are not interested in the content of messages that are being forwarded will not act as relaying nodes, saving therefore resources for other purposes. Thus, techniques allowing the distribution of information depending on the needs and interests of the different nodes are required in order not to overload them with specific data in which they are not interested [12]. In this paper, we first provide the definition of Opportunistic Context-Virtual Network (OCVN) as a composition of opportunistic connections between IoT nodes with similar interests, with the aim of sharing their needs and dynamically adapting themselves to the considered context. Moreover, a novel routing scheme, namely Situational and Adaptive Context-Aware Routing (SACAR), is proposed to dynamically adapt the users' context to the opportunistic IoT network to which they belong at a particular time, while avoiding the use of unnecessary resources.