Abstract-Wireless Sensor Networks (WSNs) are the key components of the emerging Internet-of-Things (IoT) paradigm. They are now ubiquitous and used in a plurality of application domains. WSNs are still domain specific and usually deployed to support a specific application. However, as WSNs' nodes are becoming more and more powerful, it is getting more and more pertinent to research how multiple applications could share a very same WSN infrastructure. Virtualization is a technology that can potentially enable this sharing. This paper is a survey on WSN virtualization. It provides a comprehensive review of the state-of-the-art and an in-depth discussion of the research issues. We introduce the basics of WSN virtualization and motivate its pertinence with carefully selected scenarios. Existing works are presented in detail and critically evaluated using a set of requirements derived from the scenarios. The pertinent research projects are also reviewed. Several research issues are also discussed with hints on how they could be tackled. perform computations and communicate [2] . The most obvious drawback of the current WSNs is that they are domain-specific and task-oriented, tailored for particular applications with little or no possibility of reusing them for newer applications. This strategy is inefficient and leads to redundant deployments when new applications are contemplated. With the introduction of the IoT, it is not unrealistic to envision that future WSN deployments will have to support multiple applications simultaneously. Virtualization is a well-established concept that allows the abstraction of actual physical computing resources into logical units, enabling their efficient usage by multiple independent users [3] . It is a promising technique that can allow the efficient utilization of WSN deployments, as multiple applications will be able to co-exist on the same virtualized WSN. Virtualization is a key technique for the realization of the Future Internet [4] and it is indeed quite pertinent to explore it in the context of WSNs. Virtualizing WSNs brings with it many benefits; for example, even applications that were not envisioned a priori may be able to utilize existing WSN deployments. A second, related benefit is the elimination of tight coupling between WSN services/applications and WSN deployments. This allows experienced as well as novice application developers to develop innovative WSN applications without needing to know the technical details of the WSNs involved. Another benefit is that WSN applications and services can utilize as well as be utilized by third-party applications. It can also help to define a business model, with roles such as physical WSN provider, virtual WSN provider and WSN service provider. The WSN virtualization concept can be applied to several interesting application areas. Recent advances in smart phones and autonomous vehicles [5] have made it possible to have multiple on-board sensors on them. Mobile crowd sensing is one area that can take advantage of virtualizing these sensors through participatory and opportunistic sensing [6] and [7] . An opportunistic urban sensing scenario is presented in [7] in which thousands of sensors are required to monitor the CO2 concentration in an urban city. Instead of deploying these sensors and managing them, WSN virtualization can be used as a key enabling technology to utilize sensors from citizens to provide the required data. Similarly, Sensing-as-a-Service (SaaS) model is presented in [8] There are surveys (e.g. [15] ) that cover wireless network virtualization at large, but they do not focus on the specifics of WSN virtualization. Although it is a key enabling technology, the few surveys published to date on WSN virtualization (e.g. reference [16] , reference [17] ), have several limitations. They do not include real world motivating scenarios and are also dated because they do not review the most recent developments in the area. Furthermore they lack comprehensiveness in terms of what is reviewed and how it is reviewed. There is for instance no well-defined yardstick for the critical analysis of the state of the art. In addition, they do not elaborate on potential solutions when it comes to research directions. This paper is a survey on wireless sensor network virtualization. It aims at addressing the shortcomings of the very few surveys published so far on the topic. From that perspective it makes the following contributions: • Real world motivating scenarios for WSN virtualization. • Comprehensive and in-depth review of the state of the art including the most recent developments in the area. • Critical analysis of the state of the art using well defined yard-sticks derived from the motivating scenarios. • An overview of the open issues along with insights on how they might be solved. In section II we discuss the basics of WSN virtualization concepts and its types. In section III, we first present the motivating scenarios and then provide a set of requirements. Based on these requirements we critically review the state-ofthe-art in section IV. Relevant WSN virtualization projects are discussed in section V. Section VI outlines several research directions and section VII concludes the paper. WSN virtualization can be broadly classified into two categories: Node-level virtualization and Network-level virtualization. In this section we discuss both these categories. A. Node-level Virtualization WSN node-level virtualization allows multiple applications to run their tasks concurrently on a single sensor node [18] , so that a sensor node can essentially become a multi-purpose device. The basic concepts of node level virtualization are illustrated in figure 1. There are two ways to achieve nodelevel virtualization: Sequential and Simultaneous execution. Sequential execution can be termed a weak form of virtualization, in which the actual execution of application tasks occurs one-by-one (in series). The advantage of this approach is its simple implementation, while the obvious disadvantage is that applications have to wait in a queue. In simultaneous execution, application tasks are executed in a time-sliced fashion by rapidly switching the context from one task to another. The advantage of this approach is that application tasks that take less time to execute will not be blocked by longer running application tasks, while the disadvantage is its complexity. It is WSN network-level virtualization that enables a Virtual Sensor Network (VSN). A VSN is formed by a subset of a WSN's nodes that is dedicated to one application at a given time [19] . Enabling the dynamic formation of such subsets ensures resource efficiency, because the remaining nodes are available for different multiple applications (even for applications that had not been envisaged when the WSN was deployed), although not necessarily simultaneously. WSN network-level virtualization can be achieved in two different ways. One way is by creating multiple VSNs over the same underlying WSN infrastructure, as illustrated in Figure 2a . WSN nodes that are not part of any VSN remain available for other applications or network functions, such as routing. The second way is where a VSN is composed of WSN nodes from three administratively different WSNs, as shown in Figure 2b , facilitating data exchange between them that would not be possible otherwise. In this section we first present two scenarios that are derived from the literature, and then come up with a set of requirements. Using these requirements we critically review the existing work, grouping our summation of that work under three types: node-level virtualization, network-level virtualization and hybrid solutions. The scenarios described here illustrate the motivation and benefits of using WSN virtualization in common WSN deployments.
Khan et al REF the virtualization of wireless sensor network is presented in this paper for the purpose of availing the same infrastructure to multiple functions of the internet of things.
Wireless Sensor Network Virtualization: A Survey
Khan, I.; Belqasmi, F.; Glitho, R.; Crespi, N.; Morrow, M.; Polakos, P.,"Wireless Sensor Network Virtualization: A Survey,"in Communications Surveys&Tutorials, IEEE , vol.18, no.1, pp.553-576, Firstquarter 2016
Computer Science