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.
Index Terms-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 virtuali...