1 Introduction

The significant advance in microelectronic-based systems and wireless communication technology has facilitated the development of low-energy and low-cost smart sensor devices that are dedicated to sense the variety of environmental conditions such as humidity, temperature, pressure, pollutants, sound, vibration, motions, and organize collected data at a central location for further processing and analyzing (Akyildiz et al. 2002).

In general, the sensor nodes are self-organized, dynamically configured, wirelessly communicated in short-range, and collaboratively grouped to form a network topology (Carlos-Mancilla et al. 2016). Usually, Wireless Sensor Network (WSN) contains various numbers of heterogeneous sensor nodes that are randomly deployed in a target area to take various measurements which will be converted to useful information for decision making (Singh et al. 2018).

However, in recent years these tiny devices have been implemented in real-life applications like environment monitoring applications (Lazarescu 2013), health care applications (KK et al. 2021; Chen and Liu 2010), military applications (Bokareva et al. 2006), smart home applications (Alaa et al. 2017).

With the rapid growth in communication technology, sensor network has been envisioned as a key component of emerging Internet of Things (IoT) technology (Abdul-Qawy and Srinivasulu 2018). Several heterogeneous sensors have been adopted in IoT systems for measuring temperature, humidity, sound, light, etc. Today, IoT paradigm is an innovative technology that provides intelligent communication between autonomous devices and ordinary physical objects (Javed et al. 2020). Substantially, IoT technology has enabled various devices to integrate and cooperate automatically with each other in such a way that allows them to provide ubiquitous services (Ferraris et al. 2020).

Despite the fact that sensing objects play a vital role in IoT technology, It still faces several limitations such as energy consumption problem, less storage space, insufficient processor power, inefficient data management scheme and fewer resources sharing. These constraints restrict the development of innovative applications and intelligent systems. More specifically Machine Learning and Deep Learning applications that demand powerful processing units like GPU and large storage (some time in Gigabyte and Terabyte).

In IoT paradigm, it is not recommended to implement these constrained sensor devices directly without resolving their limitations to meet the challenges of modern applications. One of the significant challenges in these restricted networks is that once they are deployed, they will be bounded with an application which makes them domain-specific, task-oriented, and support that application only. When a new application needs to run on the same network, it required to redeploy and reconfigure the  underline network to support the newly deployed application which in turn increases resources management overhead.

In conventional WSN, it is complex to share the physical sensors among distinct applications at the same time since sensor nodes inherently resource-constraints (low processor speed, storage space, and bandwidth range, etc). Nowadays, IoT-based applications demand real-time data acquisition, fast processing, and efficient system management as well as virtualized and shared computing resources. Therefore, it’s imperative to involve efficient technologies with high capabilities to address these challenges and provide innovative solutions and approaches to improve and optimize IoT performance.

Cloud computing and virtualization techniques are the candidate technologies to face design issues of IoT development. Unlike traditional IT (Information Technology) resources, cloud computing has powerful processing units and large storage which are available on-demand to various users using virtualization techniques. We believe that merging these two technologies can be a comprehensive solution for many large-scale constrained networks.

Here, the efficient solution is to integrating IoT-WSN with Cloud-based Virtualization approach to overcome certain limitations and drawbacks of IoT networks.

Moreover, this integration will open a new research domain and attract the attention of researchers and professionals to contribute in addressing the upcoming challenges. Besides these opportunities, many benefits can be accomplished by this integration such as enhance the performance of sensing systems, supporting numerous applications, and maximize service provisioning profits. Therefore, this article discusses this novel solution that is based on previous proceedings findings and derived from two main technologies (Cloud computing and Virtualization technique) in optimal seeking to improve the overall performance of IoT-based constrained networks. Furthermore, highlighting the fundamentals concepts of the WSN, cloud computing and virtualization techniques will aim to understand how these technologies can benefit each other. Nevertheless, we present a common architecture view for Sensor-Cloud and present its key elements, basic principles, and list its advantages and disadvantages. As well as the state-of-the-arts that recently proposed in this context are described in-depth detail and outlined their major objectives and challenges. Additionally, the new open boundaries and future directions are also discussed in this article.

The organization of the paper is as follows, Sect. 2 presents a motivation example for implementing Cloud-based Virtualization technology to improve the performance of existing networks and allow sharing of resources among multiple applications. Section 3 presents the Cloud-based Virtualization solution and provides a brief description of related technologies relationship. Section 4 presents a review for WSN. Section 5 discusses the virtualization techniques and its importance for WSN. Section 6 highlights the fundamental details of cloud computing and the integration of IoT-WSN with Cloud-based Virtualization. Section 7 presents the Sensor-Cloud approach and its key elements. Section 8 presents the architecture of Sensor-Cloud and its three layers. Section 9 discusses the basic principle of Sensor-Cloud, configuration of virtual sensors, and its life-cycle. Section 10 outlines the advantages and disadvantages of Sensor-Cloud. Section 11 presents the state-of-the-art in Sensor-Cloud context and the main challenges that need to be resolved. Section 12, we discuss future directions and the new opportunities provided from this approach. Finally, we conclude in Sect. 13.

2 Motivation

The rapid evolution of small connected devices has led to different pervasive services and new ubiquitous computing trends (Minoli 2013). IoT-WSN has been considered as a key enabler technology for interacting with the physical environment and collect raw data that can be converted into meaningful information (Ahmed and Gregory 2011a). The expectation of more than 25 billion sensors and smart things will be utilized in the IoT systems by the year 2020 (Mahdavinejad et al. 2017) and 43 billion by the year 2023 (McK 2021). Recently, sensor networks have been further enhanced and improved to be used in a wide scope of applications, that demand efficient and effective data communication, which cannot be accomplished with conventional sensing systems (Huang et al. 2014; Gubbi et al. 2013).

Consider the example of overlapping geographical area applications such as a big city (Bonafini et al. 2019; Talari et al. 2017; Mitton et al. 2012a), where multiple private sensor networks from different providers are scattered around all over the city. Every sensor network is only serving its own provider’s application and that application manages and controls its own physical sensors. Mostly the application requires only a set of nodes to complete the task while other nodes remain idle and can not serve other applications and thereby a great waste of resources is contemplated. Moreover, the energy of physical sensors will be consumed even if the sensor nodes are not serving any application. Suppose that a new application needs to use the deployed sensor networks to perform some tasks, one way to fulfill this requirement is to redeploy and reconfigure the deployed sensor networks in order to support the newly running application which in turn increases the complexity and management cost. From this scenario, we summarize a number of motivation requirements:

  • First motivation requirement: How multiple applications can coexist on the same deployed sensor network and run their tasks in parallel?.

  • Second motivation requirement: How multiple physical sensors belonging to two or more sensor networks located at different geographical areas, can effectively collaborate and serve one or more applications at the same time?.

  • Third motivation requirement: How one application can use multiple physical sensors from different sensor networks to execute its tasks?.

  • Fourth motivation requirement: How stakeholders of sensor networks can maximize their profits while provisioning sensory data to various clients?.

  • Fifth motivation requirement: How sensor network providers can increase the lifetime of networks in spite that they are serving several applications?.

The main Motivation challenge from these scenarios is the ability to keep the sensor networks up and running while serving various applications taking into consideration maximizing the service provisioning profits and increasing the network lifetime to a possible extension.

The best approach to meet these motivating requirements is to integrate sensor networks with Cloud-based Virtualization paradigm where it can be effectively virtualized and shared among several applications. Cloud computing and virtualization techniques are the best two technologies to fulfill the growing demands of IoT applications and provide large-scale infrastructure to amalgamate multiple sensor networks and allow applications to share the deployed resources.

In terms of energy optimization, Cloud-based virtualization environment forces offloading complex computation tasks from resource-constrained networks to highly efficient resources (usually cloud computation resources) which in turn have a great impact in reducing sensors’ operation and thereby increase their lifetime. Moreover, to avoid drain off the energy of sensor nodes during serving multiple applications, Cloud-based virtualization will create a Virtual Sensor (Also known as software image or copy) of the actual physical sensor in the cloud platform and assigned this virtual sensor to the application. This virtual sensor will run as a part of cloud resources and does not need any extra power usage from the underline physical sensor. This means that from one physical sensor we can configure multiple virtual sensors and these virtual sensors will be dedicated to serve one or more applications. Now physical sensors in the field need to perform the task once and handling applications will be managed by virtual sensors at the cloud level. In another word, using this solution, applications will not be permitted to run directly on the physical sensors.

Table 1 Merits and demerit of related technologies

3 Cloud-based virtualization solution

Before we go further with our discussion, it is preferable to highlight the background concept of related technologies involved in our research study and present the relationship between them, and how the proposed solution came into the picture. The conceptual description for IoT-WSN, Virtualization Techniques, and Cloud Computing is given in the upcoming Sects. (4, 5, 6) but this section presents how these technologies are connected? and what is the benefits after they are merged?. First, Cloud computing will benefit from the virtualization techniques by virtualizing its hardware, allow access sharing and efficiently utilize the resources. Therefore, cloud computing will maximize its profits and serve large numbers of diverse applications. Implementing virtualization techniques in cloud computing will emerge in a new context called Cloud-based Virtualization Environments that is equivalent to the massive growing demands of IoT applications.

Second, IoT sensing systems will exploit the great opportunity provided by cloud computing and the gain achieved from virtualization techniques to leverage its performance and widespread to various geographical areas. Table 1 describes the merits and demerits of related technologies as notable by Rashid and Chaturvedi (2019) and Kocakulak and Butun (2017). Furthermore, integrating sensor networks with Cloud-based virtualization environment will lead to a new ubiquitous computing service known as Sensor-Cloud Virtualization Paradigm. However, the Configured Solution is depicted in Fig. 1. Where this configuration is based on the previous proceedings conclusions.

Fig. 1
figure 1

Configured solution based on previous proceeding conclusions

4 Wireless sensor network

The definition of Wireless Sensor Network is “a self-configured and infrastructure-less wireless networks to monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants and to cooperatively pass their data through the network to a main location or sink where the data can be observed and analyzed” (Mainwaring et al. 2002; Wang et al. 2019b).

Generally, WSN is composed of four main parts: Sensor nodes, monitoring area, base station, and user applications (Othman and Shazali 2012). Sensors will collect information from monitoring terrain and apply initial preprocessing and aggregation and then forward the data to the base station where the processing and analyzing techniques can be applied.

4.1 Sensing and sensor

Sensing refers to the technique of collecting information from the physical environment along with events occurrence (such as increases in temperature, humidity, or pressure) while the object that performs the sensing process is known as a sensor (Middya et al. 2017). Technically, a sensor is an electronic device that transfer physical conditions into a digital signal that can be processed and measured. Basically, the term transducer refers to the device that transforms energy from one form into another form, similar to the transducer, a sensor can be defined as a transducer that converts the physical energy into electrical energy and passes it in the form of a signal into a processing subsystem or controller (Razzaque and Dobson 2014).

Usually, the sensor signal is processed with various operations before it can be used such as applying an amplification or signal attenuation to adjust the signal magnitude to fit the range of analog-to-digital conversion. For signal conditioning, filters can be applied to remove noise within specific frequency ranges (Swami et al. 2007). After the process of signal conditioning, the analog signal will be converted into a digital signal that can be stored and visualized.

4.2 Sensor node architecture

Generally, the node’s architecture is composed of four main subsystems (Healy et al. 2008): Sensing Subsystem (Analog-to-Digital Converter), Processing Subsystem (Digital Signal Processor), Communicating Subsystem (Signal Transmission), and Power Supply Subsystem which can be a battery power or solar energy (Healy et al. 2008). Figure 2 depicts the subcomponents of the sensor node. There are secondary elements of these four major subsystems such as transducers, filters, amplifiers, and comparators. The sensing unit performs a sensing mechanism for the monitored environment. The processing unit is responsible for the manipulation and aggregation of various data tasks, whereas, the communication unit handles data delivery to the base stations, and all units will be supplied with energy by the power unit.

Fig. 2
figure 2

Sensor node’s architecturel

4.3 Energy dissipation

Sensor networks possess many properties of distributed systems and thereby it subjected to various challenges and design issues that impact the efficiency of IoT applications. One of the most tremendous challenges is energy consumption. In fact, most of the sensor nodes are powered with confined energy which often can not be changed or recharged (Castiglione et al. 2015). The energy consumption mainly relies on the operation of a sensor node and the type of applications it serving, suppose in a battlefield scenario the sensors need to operate only for a few days while in other applications the sensors may require to operate for a year or more.

Actually, the sensor node will consume energy based on their operation modes: Active, Sleep, or Idle mode (Fahmy 2016; Sendra et al. 2011). Mainly, the maximum amount of energy is consumed in active mode due to the various operations such as data transmission and reception by the communication unit which caused the highest energy dissipation (Kaur and Sood 2017; Cotuk et al. 2014), whereas the sensing unit and processing unit will cause the least amount of energy consumption (Anastasi et al. 2009). Moreover, communication distance and targeting events will vary in energy utilization (Alskaif et al. 2015). Sleep state dissipates quite low energy expending since the sensor node does not perform any task as well as the communication unit is switched off. In the Idle mode, the node is suspended and set into a listening state, waiting for arriving signal from neighboring nodes which leads to more energy wastage almost 50%-100% of total energy consumption (Lai et al. 2010). However, some additional sources of energy dissipation are identified by Airehrour et al. (2016), such as channel errors, packet loss, collision, and computation overheads. Therefore, utilizing the energy of sensor nodes wisely is extremely required.

In the state-of-the-art, there are several various energy-saving techniques proposed specifically for IoT battery-powered devices. A novel classification of these conservation techniques can be found in Abdul-Qawy et al. (2020), Pantazis and Vergados (2007) and Abdelaal and Theel (2014).

5 Virtualization technique

Virtualization refers to the process of abstracting the physical resources and hides the design complexity of the underlying hardware and demonstrates the important details which the developers require to deploy their application (Loveland et al. 2008). Virtualization decouples the tight coupling that binds the networks with their applications at the time of deployment. Thus virtualization technique provides an isolation mechanism between physical resources and applications running on the top, therefore, the physical resources do not know which application will serve, and application run regardless of the platform dependency of the physical infrastructure.

5.1 Virtualization benefits

The virtualization technique supports applications with an abstract level by encapsulating the underlying hardware and resources (Huang et al. 2006). However, virtualization techniques provide the following benefits for realizing cloud computing (Mergen et al. 2006):

  1. 1.

    Isolation Mechanism. The Supervisor manages the protection between virtual machines (VMs) and applications. The privileges will be granted to users within the same virtual machines without compromising the isolation integrity.

  2. 2.

    Service Provisioning. Virtualization allows the provisioning of highly capable and customized resources such as dedicated operating systems, database storage, run-time applications, etc. virtualization enables multiple views over the same physical hardware.

  3. 3.

    Flexible Management. Initiating, migration, or shutdown services at run-time environments can be customized in a flexible way, depending on the requirements of the underlying hardware providers.

  4. 4.

    Applications Cohabitation. The virtualization technique allows legacy applications to coexist with recent new applications at run-time environments.

  5. 5.

    Parallel Processing. Running multiple tasks at the same time such as testing and debugging several applications on a single physical host.

Table 2 Characteristics of virtualization levels

5.2 Virtualization levels

Virtualization is an emerging research area and many approaches and solutions have been proposed in this context. However, these solutions implementing virtualization techniques at different levels of abstraction (maybe on Hardware level, Network level, or Data Level). Therefore, it is imperative to classify these levels to eliminate the ambiguity in how virtualization techniques can be implemented.

Mainly virtualization technique has three levels.

  1. 1.

    Hardware-Level Virtualization

  2. 2.

    Network-Level Virtualization

  3. 3.

    Data-Level Virtualization

Hardware-Level virtualization is the abstraction of computing resources from the software running on the top (Sahoo et al. 2010). This implies that a virtual machine can be created as a new version of a real computer with an operating system such as Windows VMware Workstation (VMw 2010) and Oracle VM VirtualBox (Vir 2013). The purpose is to decouple applications from the underlying resources and enabling resource sharing between different applications. Network-Level virtualization can be achieved by creating virtual nodes through connecting virtual links over the physical network (Chowdhury and Boutaba 2010) such as Virtual Private Network (VPN) (Khanvilkar and Khokhar 2004). The aim is to permit many virtual networks to cohabit on a single physical network. Basically, a virtual network is also known as a subset of the physical network where each subset is serving different applications. Data-Level virtualization refers to the process of managing, abstracting, and encapsulating data in such a way that it grants applications’ users an access into the stored data to retrieve, query, and manipulate the data without knowing the technical details of data source, physical location, or how it was formatted (Mousa and Shiratuddin 2015). Data Virtualization improves management flexibility, scalability, efficient resource utilization, and energy efficiency (Bari et al. 2013).

However, one obvious common relationship between these levels is that the virtualization technique replicates the original resources (hardware, networks, or data) and provides a virtual view to users. Therefore, the implementation of virtualization techniques at which level mainly depends on application requirements and specifications.

However, the virtualization levels characteristics are summarized in table 2.

5.3 Virtualization in WSN

Virtualization technique is a promising solution to revoke the drawback of resource sharing where it allows more multiple applications to co-exist and run their tasks concurrently on the same network. The importance of WSN virtualization has arisen mainly due to the fact that some sensor nodes remain idle and not performing any tasks. Virtualization is a significant technique that exploits the waste resources in sensor networks effectively. The virtualization technique is considered as a key of the Future Internet (Mosharaf Kabir Chowdhury and Boutaba 2009), therefore, it is imperative to implement this technique in sensor networks to meet the growing demands of IoT technology.

However, virtualization in sensor networks has been surveyed in the academic research domain. For example, Merentitis et al. (2013) had considered virtualization as a key element to share information in the IoT paradigm. Aslam et al. (2012) mentioned that the same WSN infrastructure can be virtualized to supports multiple applications concurrently in the cloud and provide services such as Network as a Service (NaaS) to various users. Cao et al. (2016) claimed that IoT platforms can be shared among multiple applications in smart cities. Ramdhany and Coulson (2013) used the WSN virtualization technique in a smart city to utilize the deployed infrastructure effectively. Abdelwahab et al. (2014) imagined virtualization in WSN as a significant innovation to make large-scale sensor infrastructure that is utilized to fulfill effective resource usage. Khan et al. (2013) proposed architecture for WSN virtualization based on the multi-layers: physical layer, a virtual layer, and an overlay layer to allows the deployed network to be shared by different applications.

However, there are prominent surveys that attempted to classify the proposed solutions for virtualization in IoT sensor networks and they can be notable by Islam et al. (2012), Khan et al. (2016) and Almurisi and Tadisetty (2020). Table 3, summarizes the advantages of the virtualization technique over the conventional WSN.

Table 3 Virtualization sensor network vs traditional sensor network

6 Cloud computing

The recent advancement in IT and Internet availability and scalability has made computing resources more efficiently powerful and ubiquitously available to the public community in the form of on-demand services (Paul and Ghose 2012). This technological orientation has led to the emergence of a modern concept known as Cloud Computing. With this service model, servers, CPU/GPU, storage, networks, etc, are delivered as public utilities (deliver computing resources as a service rather than a product) to various users through the Internet in Pay-as-you-go fashion (Prasad et al. 2013).

In addition to these resources, the cloud provides various type of software services like APIs (Application Program Interfaces) and developing tools in order to support users for developing innovative real-time applications in a fast and efficient manner (Venters and Whitley 2012). Furthermore, cloud computing will ensure user authentication and data integrity in a shared environment (Megouache et al. 2020). The essential purpose of providing such APIs is to facilitate applications deployment in the cloud platform (Jula et al. 2014). However, cloud computing has been developed over various technologies such as “Parallel Computing”, “Distributed Computing”, “Grid Computing”, and the evolution of virtualization technique (Bharti and Goudar 2012).

6.1 Definition and concepts

The context of the Cloud is back to the early 1960s when John McCarthy imagined that computing resources will be delivered to the community as a utility service (Parkhill 1966). In the 1990s, the word Cloud was used to define several concepts, for example, portray large ATM networks (Vaidya 2016).

Also, Google’s CEO Eric Schmidt in 2006, applied this term to portray the business paradigm of delivering computing services over the internet (Alsaeed and Saleh 2015). Since then, the terminology Cloud Computing has been applied basically as a business expression to state many various contexts (Zhang et al. 2010). However, many experts from business marketing and academic research seeking to explain the definition of Cloud Computing and what are the special characteristics it provides.

A valuable definition from Buyya et al. (2009): “Cloud is a parallel and distributed computing system consisting of a collection of inter-connected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on Service-Level Agreements (SLA) established through negotiation between the service provider and consumers”.

Also, Vaquero et al. (2009), mentioned that “Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms, and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized Service Level Agreements”.

Moreover, national universities also attempted to define cloud computing, for example, National Institute of Standards and Technology (NIST) (NIS 2012), defined cloud as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction”.

NIST has stated that cloud computing has Five Essential Characteristics (“On-demand Self-service, Broad Network Access, Resource Pooling, Rapid Elasticity, Measured Service”), Three Service Models (“Software as a Service” (SaaS), “Platform as a Service” (PaaS), “Infrastructure as a Service” (IaaS)), and Four Deployment Models (“Private Cloud, Community Cloud, Public Cloud, Hybrid Cloud”).

University of California Berkeley (Armbrust et al. 2009) has outlined the cloud computing characteristics as “The illusion of infinite computing resources, the elimination of an up-front commitment by cloud users, and the ability to pay for use as needed”.

In general terms, Sotomayor et al. (2009) indicated that “cloud is more often used to refer to the IT resources that deployed on an Infrastructure as a Service”.

However, since there are several numbers of definitions for cloud computing, many characteristics appear to be mutual between the most outstanding definitions mentioned earlier, that the cloud should have as stated by William Voorsluys and Buyya (2011), and they are: “Pay-per-use (no ongoing commitment, utility prices); Elastic capacity and the illusion of infinite resources; Self-service interface; and Resources that are abstracted or virtualized”.

6.2 Fog computing

Fog computing is a new services model proposed by Cisco in 2012 (Nath et al. 2018). It has been considered as an extension of cloud computing technology with limited resources. Fog nodes located geographically nearer to IoT devices. Generally, Fog computing shifts the cloud services operation partially to the edge nodes (Esposito et al. 2017). Thus, helps in the rapid deployment of IoT applications (Ali et al. 2021). One of the most advantages of fog computing is reducing the transmission delay and response time by relocating the resources closer to the IoT devices along with enhancing the quality of service and supporting the mobility of IoT nodes.

However, IEEE 1934 Standard defined fog computing as “a system-level horizontal architecture that distributes resources and services of computing, storage, control, and networking anywhere along the cloud-to-things continuum. It supports industry verticals and application domains, enables services and applications to be distributed closer to the data-producing sources, and extends from the things over the network edges through the cloud and across multiple protocol layers”.

Mainly, Fog computing possesses several characteristics such as:

  • Low latency: Fog nodes are located nearby the IoT devices which helps in reducing the latency of the request processing.

  • Wide geographical distribution: The fog layer includes a set of heterogeneous fog nodes distributed in large geographical areas to meet a variety of applications demands and services requirements that require scattered deployment.

  • Heterogeneity: The fog layer includes different types of edge devices that have different resource capabilities.

  • Support of mobility: It is necessary for many fog applications to guarantee direct communication with the mobile devices through using standard protocols.

  • Real-time interactions: Fog computing supports the real-time interaction between the fog devices to provide adequate services for time-sensitive applications.

  • Scalability: Fog computing offers the distributed processing and resources that are required to process the huge amount of data generated by IoT devices.

6.3 Integrating IoT-WSN with cloud-based virtualization

From a technical perspective, sensor network has been considered as a key element for the evolution of the IoT paradigm where it enables interaction with the physical world and extracts sensing data (Ahmed and Gregory 2011b). In spite the advantages provided by the sensing system to various popular applications (e.g, smart city, smart home, healthcare system, environment monitoring, object detection, target tracking, military applications and etc), the massive data gathered by sensor nodes, require adequate storage, dynamic computing resources, efficient processing and analyzing techniques and need to be shared and served to information-hungry applications. Moreover, this huge data is not utilized effectively because of the deficiency in experience, money, and time with which the data is implied to be perfectly processed and saved for future usage (Wang et al. 2012).

In this context, involving technology with high performance and powerful computing resources is essential. Cloud-based Virtualization infrastructure is a well promising solution to support constrained networks and distribute systems (Shah et al. 2013). This diversion of data derived from sensor networks into sufficient resources for processing, sharing, and storing will exploit the opportunity being promoted from this coeffective solution.

The sequence diagram in Fig. 3 illustrates the integration process between IoT-WSN and the Cloud-based Virtualization approach. From the figure, both users (applications user and sensors owner ) need to register in the cloud database before any real interaction. The cloud will enroll a user with their application then the physical sensors are registered and a service template is created and provided to the end-user. Once the end-user sends a request to the cloud specifying some virtual sensors to perform the task, the virtual sensors will be initiated and assigned to the end-users application. When the required service is completed, the end-user will release the virtual sensors, and thereby the instance of that virtual sensors will be removed by the cloud and a command will be sent to the physical sensors provider to cease data transmission and the sensor goes to sleep.

However, the process of integration WSN with the cloud has envisioned the emerging of Sensor-Cloud paradigm that provides a flexible amalgamation of WSNs, dynamic resources management, and cost-effective service provisioning.

Fig. 3
figure 3

Sequence diagram of integrating IoT-WSN with cloud-based virtualization approach

7 Sensor-cloud approach

The contemporary improvement in IoT technology has led to connecting millions of tiny devices and physical objects together all around the world, so they can communicate automatically with each other without human assistance (Al-Fuqaha et al. 2015; Borgia 2014). Today infrastructures such as smart homes, smart cities, smart grid, smart transportation, smart water systems, etc., allow an intelligent and smooth interconnection, controlling our daily activities and making life easier (Carlos-Mancilla et al. 2016; Abdul-Qawy and Srinivasulu 2017). This plays significant roles in different aspects of the technical life and enables many applications such as fire detection, building security, inventory control, border surveillance, patient tracking, traffic monitoring, etc (Maksimovic 2018). The ubiquitous nature of the sensing devices, the easier deployment, and the flexible communication increase their popularity and capability to integrate with the other new technologies (Abdul-Qawy and Srinivasulu 2018). The early estimation said that the continuous growth of the sensor market reaches a rate of \(43.1\%\) per year with a total of US\(\$3.795\) by 2017 (Ind 2014).

However, the main task of sensor networks is to monitor physical phenomena in our environments (such as temperature, pressure, heat, light, etc.) and transmit the related information to the monitoring systems which, then, build an information database for reliable data management, and a right decision-making (Carlos-Mancilla et al. 2016; Gubbi et al. 2013). In traditional WSNs, the networking models have some restrictions that limit them to be used in today’s innovative applications. Each WSN is assigned to a single application, in which the user/owner is the only responsible for network deletion, resource allocations, programming, and maintenance (Sen et al. 2016).

Nowadays, with the generational shifts in the IoT-based WSNs, connected machines and sensors can make autonomous decisions. Using smart sensors and artificial intelligence, a machine can inform another machine when a certain event occurs, so the appropriate action can be decided independently, and the owner, then, can be notified (Boyes et al. 2018; IEC 2014). The relation between the ownership and the use of collected data has been a recent emerging issue in such cyber-physical systems, where this data is gathered from heterogeneous sensors located at different places, consolidated, processed, and analyzed for further use.

Sensor-Cloud is a new paradigm of WSNs that addresses this problem and decouples the owners of the physical sensors from the network users. Many sensor networks that may be owned by different entities, and deployed in different geographical areas, are connected together by the means of the cloud, allowing them to interoperate with each other simultaneously for multiple applications (Arjun et al. 2015).

This has led to emerging what is called SenaS (Sensing as a Service) and opened new data business opportunities. The physical constrained resources are efficiently virtualized in the cloud and then can be offered as a service to many clients through Internet, over different geographical areas, based on their applications’ demands.

7.1 Sensor-cloud key elements

As the number of physical sensors is potentially increased in the IoT system, managing sensor data became complicated and tedious. Sensor-Cloud is an effective solution to accumulate physical sensors on IT resources (Almurisi and Srinivasulu 2020). It also allows integrating multiple sensor networks from different service providers and transmits collected data to the cloud infrastructure (Wang et al. 2019a). Sensor-Cloud virtualizes physical sensors in the cloud resources and creates an emulation template known as Virtual Sensors which can be provisioned and de-provisioned automatically by the users as per applications’ requirements.

However, the state-of-the-art has derived novel definitions for the Sensor-Cloud. A notable definition from IntelliSys’s (Int 2016; Tan 2010), “Sensor-Cloud is an infrastructure that allows truly pervasive computation using sensors as an interface between physical and cyber worlds, the data-compute clusters as the cyber backbone and the internet as the communication medium”.

Mic (2017) has defined Sensor-Cloud as “A unique sensor data storage, visualization and remote management platform that leverages powerful cloud computing technologies to provide excellent data scalability, rapid visualization, and user-programmable analysis. It is originally designed to support long-term deployments of MicroStrain wireless sensors. Sensor-Cloud now supports any web-connected third-party device, sensor, or sensor network through a simple OpenData API”.

Fig. 4
figure 4

Key elements of sensor-cloud paradigm

Generally, Sensor-Cloud paradigm is an extensive infrastructure derived from two main technologies IoT-WSN and Cloud-based Virtualization.

However, the key elements of Sensor-Cloud paradigm are depicted in Fig. 4.

The Sensor-Cloud key elements are described as follow:

  • Web interface: This module allows applications’ users to register in the cloud and send request for virtual sensors through a web browser.

  • User registry: Enrolling the users along with their applications in the cloud database.

  • Physical sensors registration: Store the attributes of the sensor devices (such as sensor Id, resource capacity, location, IP address) at the cloud database.

  • Routing management: A method to decide the path for data transmission from the physical layer to the cloud layer.

  • Resource management: This module is used to manage resources such as resources allocation and deallocation,tasks scheduling based on their priority, and planning budget and cost.

  • Resource discovery: Searching for capable sensors that meet the requirements of users’ applications.

  • Storage space: The storage capacity available at the cloud to save the sensing data.

  • Security and privacy: Ensure privacy protection of the Sensor-Cloud networks against any breach.

  • Virtualization management: Responsible for controlling the process of creating, monitoring, and maintenance the virtual sensors.

  • Service template: A catalog contains a list of available services that are ready to serve hungry applications.

  • Service management: Control and monitor the provisioning of various services.

Fig. 5
figure 5

The proposed architecture of sensor-cloud

8 Sensor-cloud architecture

Figure 5 depicted the proposed general view of the Sensor-Cloud architecture, which includes three main components: Physical Sensors Infrastructure, Cloud and Virtualization Infrastructure, User and their Applications.

8.1 Physical infrastructure

The Physical layer of Sensor-Cloud consists of heterogeneous sensor nodes that are deployed in a widespread area. Typically, this layer contains several types of sensor nodes (such as camera sensor, light sensor, motion sensor, sound sensor, etc.) that dedicated to measure the conditions changes and control the surrounding environment (Bose et al. 2015). Data is collected from the working phenomenon by the sensing unit, then passed to the processing unit which handles various data manipulation and computing tasks. It then transmitted through the communication unit to the base stations. This can be either directly in a single-hop routing, or through several intermediate nodes in a multi-hop routing model. The base station/gateway receives data from all the sensor nodes in the networks, performs additional tasks such as aggregation and compression, and then transmits data directly to the cloud.

However, the physical sensors may be owned by different owners, where they have to maintain and keep their sensing networks in good and working conditions in order to perfectly provide their services through the cloud’s SaaS, according to a registration agreement. A mutual trust relationship should be ensured between the sensors’ owners and the cloud service provider, thus, getting accurate data readings in an exchange with an appropriate compensation (Mitton et al. 2012b).

8.2 Cloud infrastucture

The cloud platform is considered as a shared pool with high-efficient computing resources that are available to many clients as public utility services (IaaS, SaaS, or PaaS) without any concern about where the resources are located or the other details (Alamri et al. 2013; Yuriyama and Kushida 2010). This helps in off-loading most of the complex tasks from low-performance devices to the cloud which provides real-time data processing and analysis using powerful algorithms and scalable distributed models. In Sensor-Cloud paradigm, the data gathered by the sensor nodes is received, stored, and managed by management modules in the cloud. The data then offered as high-level services using virtualization schemes by which the users from different geographical areas can access the shared data based on their application requirements, without concerning about the actual physical sensors are located. Using standard techniques, the cloud service provider enables the users to request the needed virtual sensors automatically through a user interface. They can control and make use of all the monitoring functions of the given virtual sensors, which can be a combination of functions of different types of physical sensors in different WSNs.

Generally, the cloud infrastructure consists of several modules, that together perform the total functionality of the Sensor-Cloud and provide services to various user applications. This includes resource-registry, resource-management & control, data storage, virtualization, security, etc.

8.3 User application interface

Also known as the application layer, and this layer consists of various users who are registered with one or more applications in the Sensor-Cloud database and start using sensing as s services or virtual sensors to serve their applications. Registered users can request virtual sensors to execute the tasks from the available templates provided by service providers. The users have a choice to prepare their own template from virtual sensors or by adjusting the current service templates and allow other parties to share their own templates. Every user is managing and controlling their virtual sensors and also can observe the condition of their virtual sensors through the website. However, the user can lease and release the resources based on the application requirements and destroy the template when they are no longer required.

9 Sensor-cloud principles

Sensor-Cloud provides virtual sensors as a service automatically to various users on-demand. These requested virtual sensors are considered as a piece of IT resources (such as memory storage, CPU, software, etc.) (Dash et al. 2012). This section highlights the basic principle of Sensor-Cloud infrastructure.

9.1 Virtual sensors

In Cloud-based sensing networks, the virtual sensors are a software image of the actual sensors. A virtual sensor can get its data from the underlying physical sensors which are compatible to execute multiple complex tasks at the same time, therefore, a customized view of the sensing networks can be provided to different users, and multiple virtual sensor networks (VSNs) can be run at the same time. The idea is to provide a number of services with different metrics (e.g., application need, Quality of Service, data security, etc.) based on the end-user demands (Zahariadis et al. 2013). By this, a flexible and enhanced management, and efficient utilization of the physical resources can be achieved, while maintaining a minimum deployment cost, and interoperability amongst the connected devices.

Fig. 6
figure 6

Different configurations of virtual sensors

Generally, sensor virtualization can be classified into three main categories as presented by Khan et al. (2016) and Rea et al. (2013), which are:

  1. 1.

    Node-level virtualization: Enables creating independent virtual sensors (VS). Every single virtual sensor can be used as a multi-purpose node and utilized by many applications (simultaneously at the same time or sequentially one-by-one use).

  2. 2.

    Network-level virtualization: Enables a dynamic creating of virtual sensor networks (VSNs). Each VSN consists of a number of sensor nodes which may belong to different WSNs (a subset of a WSNs), and usually is assigned to a single application at a time. Thus, multiple applications can form their own VSNs form nodes of different underlying WSN infrastructures that are not utilized by others at the same time.

  3. 3.

    Data level virtualization: Enables different users to access the sensory data collected by various sensors, but they can not do any change to the physical infrastructure parameters.

However, many virtualization approaches have been introduced lately addressing various implementation issues according to the aforementioned categorization. Three types of solutions are identified: node-level, network-level, and hybrid virtualization solutions (Khan et al. 2016). In the same context, Madria et al. (2014) have implemented the concepts of virtual sensors in four different configurations, which are:

  1. 1.

    One-to-many: Each physical sensor is mapped to multiple virtual sensors, where its data is shared among all the corresponding virtual sensors that mapped to it.

  2. 2.

    Many-to-one: Several physical sensors deployed in different places to monitor the same event, where the collected data sent to a single virtual sensor assigned to this phenomenon which provides a view of the aggregated data to the respective users.

  3. 3.

    Many-to-many: Combines both the one-to-many and many-to-one configurations, where a physical sensor can be mapped to many virtual sensors, and multiple distributed sensors can gather data for a single virtual sensor.

  4. 4.

    Derived configurations: Different types of physical sensors can be mapped to a single of multiple virtual sensors (it is a hybrid of the other three configurations, where the virtual and physical sensors can be of different types). This can be utilized to monitor complex phenomenon or to virtualize a sensor that can’t be deployed physically.

However, Fig. 6 describes these four scenarios for creating virtual sensors and virtual sensor groups. The end-users can request a virtual sensor group as per their need and then they are allowed to make use of the virtual sensor in this group and control them freely as if they are their own physical sensors (Yuriyama and Kushida 2010).

Fig. 7
figure 7

Formation of virtual sensors group

9.2 Virtual sensors group

There are several heterogeneous physical sensors distributed in a large monitoring area and virtual sensors can be created from one or more physical sensors and then a group of virtual sensors can be formed from these virtual sensors. The overall representation of the virtual sensors group is depicted in Fig. 7. Users can construct virtual sensor groups and freely control the virtual sensors within the group as if they control their own sensors. Thus, they can initiate sensors reading, check the status, and regulate the frequency for data collection.

9.3 Sensor-cloud life cycle

Usually, the service model cycle will pass through several phases starting from the down layer (Physical Sensors) to the top layer (End-User Application). The lifecycle operation will be processed at the cloud layer as depicted in Fig. 8. However, the life-cycle phases for the Sensor-Cloud paradigm are illustrated as follow:

  1. 1.

    Routing management: In this phase, Sensor-Cloud must ensure that the functionalities of IoT networks are up and running and the routing scheme is specified.

  2. 2.

    Physical sensors registration: Enroll capable sensors that are willing to serve the end-user applications.

  3. 3.

    Preparing IT resources: Reserve resources for service operation such as processor, storage, memory, and networks.

  4. 4.

    Creating service templates: In this phase, service instances are prepared and provided to the end-user.

  5. 5.

    Responding to user request: The user will send a request for service instances via web services.

  6. 6.

    Initialize virtual sensors: After listening to the user specification, virtual sensors will be created as per the application demand.

  7. 7.

    Utilizing virtual sensors: Users start using the service instances and controlling the virtual sensors.

  8. 8.

    Release virtual sensors: At the time of compilation of task operation, the application’s user will free service instances.

  9. 9.

    Destroy virtual sensors: At the end of service provisioning virtual sensors that were assigned to the end-user will be removed from the cloud database.

10 Sensor-cloud advantages

Sensor-Cloud is an encouraging solution for limited resources networks due to several reasons such as mobility, reliability, scalability, flexibility, real-time, and so forth. In this section, we present several benefits and advantages of the Sensor-Cloud paradigm.

  1. 1.

    Efficient Analysis. The massive data accumulated from several sensor networks required different kinds of analyzing techniques by users through scalable processing power provisioning (RS and J 2011).

  2. 2.

    Scalability. Sensor-Cloud allows the traditional sensor networks to scale on a very large infrastructure due to the wide routing of the cloud architecture (Alexe 2011).

  3. 3.

    Collaboration. Sensor data can be shared among several applications on the cloud through the collaboration of physical sensor networks.

  4. 4.

    Visualization. Sensor-Cloud infrastructure expands API to be used for visualizing the diagrams of the stored and retrieved data from several sensor nodes. Using these visualization tools, users will be able to predict future status and trends and plan accordingly (Doukas and Maglogiannis 2011).

  5. 5.

    Dynamic Services Provisioning. In Sensor- Cloud paradigm, Users are allowed to access their virtual sensors from anywhere and any time and also provide data to third parties on-demand basis (Le et al. 2010).

  6. 6.

    Flexible Management. Sensor-Cloud provides efficient flexibility of resources management to the users compared to traditional computing methods and thereby supports multiple applications without management overhead (Tan 2010).

  7. 7.

    Resource Optimization. The Sensor-Cloud platform allows the sharing of resources among several applications which in turn leads to efficient utilization of resources (Lee et al. 2010). By integrating sensors with the cloud the gradual cost of resources can be reduced and a higher gain of services is achieved.

  8. 8.

    Security. Sensor-Cloud provides a better security mechanism to underline physical resources by hiding the implementation details and configuration, therefore, users can access data without concern where the physical sensors are located (Nguyen and Huh 2011).

Fig. 8
figure 8

Phases of sensor-cloud life cycle

Despite these advantages, the Sensor-Cloud paradigm is still facing some drawbacks such as:

  • Internet connectivity: Sensor-Cloud requires continuous interconnection between IoT networks and the cloud any interruption for the Internet will result in data transmission blockage (Biswas et al. 2010).

  • Prior IT resources preparation: Resources should be reserved in advance for IoT data which makes applications waiting in a queue to use those resources (Yuriyama et al. 2011).

  • Denial of Service Attack (DSA): Sensor-Cloud is prone to various attack that may occurred from the physical layer due to unreliable devices (Gul and Hussain 2011).

However, in table 4, we present the advantages and disadvantages of the Sensor-Cloud paradigm.

11 State-of-the-arts

To realize Sensor-Cloud paradigm, and to provide a flexible and efficient platform for virtualization schemes, many research studies have been carried out, providing various Sensor-Cloud architecture and virtualization frameworks. In this section, we present some of the proposed architectures available in the state-of-the-arts, discuss their major characteristics and summarize their scope as shown in table 5.

Table 4 Advantages and disadvantages sensor-cloud paradigm

11.1 Existing works

Hassan et al. (2009) proposed a framework for Sensor-Cloud to build a community-centric model and allow interconnecting of people, sensors, and IoT objects.

The authors introduced Content-based Pub-Sub Model to help in integrating the physical sensor networks with the cloud applications and delivering sensor data to the corresponding end-users. They also developed Statistical Group Index Matching algorithm (SGIM) in order to match the published events with appropriate subscribers. A comparison to other related solutions has been done based on a healthcare scenario to show the superiority of their proposed architecture in terms of scalability and efficiency.

Kim et al. (2014) proposed Agriculture Sensor-Cloud Infrastructure (ASCI) that composed of three layers: Physical sensor layer, Virtual Sensor Layer, Service Cloud Layer. The goal of this framework is to process massive data, provide various types of agricultural services, and allow rapid and reliable packet delivery in WSNs. The authors also introduced H-SMSR protocol as an enhanced version of SMSR, which is an integration of Hierarchical Source Routing (HSR) and Aggregation Gradient Routing (AGR). This protocol can help in reducing configuration time and end-to-end delay and ensures higher levels of packet delivery and transmission reliability in massive networks while considering different levels of transmission priority.

They claimed with their simulation results that this solution is more applicable in large-scale sensor networks with respect to other solutions.

Zhu et al. (2016) proposed a data-processing framework for mobile Sensor-Cloud. The introduced architecture aims to meet the requirements of speed, security, and reliability in data transmission from Sensor-Cloud to mobile users. The authors claimed that their solution can improve the network lifetime and security, and minimize the requirements of the traffic-load, transmission bandwidth, and data storage. Moreover, it is able to reduce storage and processing overhead in the cloud and estimate the data traffic for future trends.

They provided a detailed description of their framework including the steps from data-request issued by users and data-collection at the physical sensor nodes to the final data-delivery to the related users. Analytical and experimental outcomes indicate that the proposed architecture meets the designing goals and requirements, where the mobile users can get the data of interest in a secure and fast manner. This proposed framework is shown in Fig. 9.

Fig. 9
figure 9

Data processing framework for mobile sensor-cloud

Taleb et al. (2017) presented a multi-layer architecture for energy-efficient cloud-based WSNs, using Named Data Networking (NDN). Their proposed architecture has three layers: Physical Layer, Virtualization Layer, and Application Layer, where each layer is further divided into subcomponents (Physical Sensors & Gateway, IT resources & Virtual Sensors and User-Application & Interface). The authors experimented with two energy-aware routing protocols using the presented architecture in order to find out the appropriate energy-efficient protocol that can be used in the case of integrating WSN with the could computing. The outcome from this study is that combining EQ-AODV (Energy and QoS Ad-Hoc On-Demand Distance Vector) and ES-WSN (Energy Efficient by Switching between roles of nodes in WSNs) protocols will be an effective solution to increase network lifetime while integrating WSN with the cloud.

Atif and Shah (2017) discussed Optimal Sensor-Cloud Architecture (OptiSeC) to provide several requirements such as security, efficiency, data management, and improve performance. The authors provided a literature review of the existing architecture for sensor cloud and classify them into a number of main categories based on these four main requirements as considered in OptiSeC. They also provided a future estimation of the data growth in their presented architecture till 2022.

Zhang et al. (2017) introduced a fog-based layer for Sensor-Cloud. This new solution aims to enhance security, and move the heavy data-related operations to the fog layer. The authors built on the work proposed in Ho et al. (2012) by Ho and Shih, to provide an improvement by adopting a multi-cluster-heads structure in order to ensure convenient intra-nodes management and to help the sensor nodes in transferring data to the peer layer and the upper layer. The proposed solution is provided in three levels: Data collection level, Event-based reaction level, and Data analysis level; accordingly, the fog layer contains three main servers: Sensor database center to save the collected data to be used in the higher-level implementation, Event control database center to run some judgments to events received from WSNs, and Service providing database center to control monitoring operations on the service parameters and enables various services to CSPs (Cloud Service Providers).

Simulation experiments have been conducted to show that this solution can provide trust states of network and nodes, save energy, detect hidden attacks, and reduce the recovering delay of misjudgment nodes.

Table 5 A summarized view of the reviewed sensor-cloud approaches

Reyes et al. (2017) introduced a new architecture for Sensor-Cloud based on Service-Oriented Computing (SOC) and sensor virtualization, in order to improve data management efficiency in heterogeneous WSNs and maintain QoS as well as higher levels of scalability. The proposed model contains four layers: Physical Layer, Virtualization Layer, Service Layer, and Application Layer. The authors utilize the concepts of Queue Message-Oriented Middleware (MOM) to aggregate and standardize data from various sensors and cloud, store & process it, and make it shareable through W3C standard interface. They considered OpenStack in their implementation and evaluate the proposed solution in terms of response time using different data collection and traffic load scenarios.

11.2 Challenges

Sensor-Cloud Virtualization approach is a recent trend in which the already existed infrastructure can be utilized to serve many more users. This has gained major attention in the past few years, attracting researchers and software designers. However, in this section, we summarize some of the tremendous challenges in this orientation study.

  • Architecture Layers: In the state-of-the-arts, there are various architectures were proposed for the Sensor-Cloud paradigm where some of the authors presented three layers architecture, and others designed four layers architecture. Unfortunately, these architectures are complex structures and difficult to manage and the layers are not flexible to match IoT communication standards. Moreover, the interoperability of various types of resources is lack.

  • Identification of physical sensors: As the number of sensors is potentially increased in the sensing phenomenon, identifying, addressing, and naming these tiny devices are becoming a major challenge. Additionally, creating virtual sensors and serving multiple applications will add an extra management cost.

  • Physical sensors management: Since physical sensors having shortage capabilitiest and exclusively managed and control by their own provider’s applications, therefore, sharing those physical sensors with other applications becoming a big challenge. To address this challenge, cloud computing needs to behalf of the sensor management and enhances the performance of physical sensors.

  • Resource exhaustion: Serving variant applications continuously may lead to attrition of cloud computing resources and thereby lower the QoS. This challenge can be overcome through a proper resource allocation algorithm that can maintain the load balance between resources.

  • Task Scheduling: Every resource has different capabilities (memory, bandwidth, processor speed, etc) therefore assigning the task to the right device is another challenge. In a Sensor-Cloud paradigm, it is important to identify which device is suitable to execute the task to avoid processing delay.

  • Heterogeneity: Sensor-Cloud allows accumulation of multiple sensor nodes belonging to different providers on cloud infrastructure where every node differ from each other in network configurations, supporting different types of routing protocols, and having various operating systems, therefore, facilitating communications between them and managing such high level of heterogeneity is a tremendous challenge.

  • Dynamic networks formation: Building virtual networks at the cloud level from the underline substrate networks through virtual links is also a superb challenge. The main idea here is to allow dynamic grouping of virtual sensors to form a Virtual Sensor Network (VSN) from one or more physical networks and automate the provisioning of VSNs service to many applications.

  • Energy depletion: Since the physical layer of Sensor-Cloud operates based on battery-powered devices, the need for developing efficient algorithms to use their power wisely is extremely required. Delivering data from the sensors field to the cloud platform will cause a huge amount of energy consumption unless if there is a novel energy scheme to reduce power wastage during data transmission.

  • Security and privacy: In this technology trend, security is a major concern. It is always required to provide a security mechanism against any breach that may influence data flow between sensor networks and the cloud. Moreover, ensuring the confidentiality of sensor network providers and maintaining a safer network functionality is a big challenge in the Sensor-Cloud environment.

12 Future directions

Cloud-based virtualization techniques open new boundaries and opportunities for academic research and industrial communities. Researchers will seek to address the upcoming challenges that arise due to merging these technologies while industrial engineers will upgrade their business and develop innovative applications based on this opportunity. In this article, we discuss some of the future works and related technologies that can be advantageous.

  • Fog is an extension of cloud computing that provides real-time interactions. Fog computing will shift computing tasks from the cloud resources to the edge devices that are located nearby IoT networks in order to reduce processing delay and enhance response time. One possible future work is to investigate the impact of fog technology in decreasing response time and provide real-time task processing for sensitive applications in Cloud-based virtualization approach.

  • Since Sensor-Cloud allows amalgamation of multiple sensor networks in the cloud platform, massive data will be gathered and stored in the cloud database systems, hence Big Data is coming into the picture (Castiglione et al. 2018). Substantially, Big Data demands efficient analysis techniques and effective algorithms to extract information from huge data mainly MapReduce and Hadoop can be followed in this approach. In the future, it is imperative to apply the Big Data concept to deal with sensory data in the Sensor-Cloud paradigm.

  • Recently Artificial Intelligence (Machine Learning and Deep Learning algorithms) has been adopted in many technologies and applications to perform tasks that need human intelligence. It is advisable to implement AI methods in Sensor-Cloud approach to build smart applications and analysis the future status of service provisioning performance.

  • As the number of sensor nodes is increased in the Sensor-Cloud fields, a security breach is also increased. Here, it is mandatory to propose a security mechanism that can distinguish between fake sensors and authorized sensors as well as identify the failure of sensor nodes.

  • The healthcare system is one of the most critical applications of the Sensor-Cloud paradigm due to several reasons. One of these reasons is that the world now facing a large health depression caused by the COVID-19 pandemic. Therefore, a new design for the healthcare system is urgent and require involving modern technologies such as integrating IoT objects with medical devices to monitor the patient status and forward the medical data to the cloud where efficient analyzing techniques can be applied to generate a medical report that can be useful for doctors to recommend a better treatment plan.

  • Another future work derived from this approach is the need for an energy-efficient scheme that can minimize the energy consumption of physical sensors while transmitting data to the cloud infrastructure.

  • The energy harvesting technology has a great influence in increasing the network lifetime, therefore, it is imperative to study the impact of this technique in maximizing the Sensor-Cloud network operations.

  • Resource allocation still occupying to top challenge in managing cloud resources hence, proposing a novel algorithm for resource allocation in Sensor-Cloud that can map the right device to applications in order utilize resources wisely is required.

  • Furthermore, a case-study to validate the efficiency of Sensor-Cloud when a new technology is adopted (such as Fog computing, AI, Big Data, etc) and provide a valid benchmark and detail analysis after completion of the experiment.

13 Conclusion

Integrating IoT-WSN with Cloud-based Virtualization approach is an innovative solution for many issues facing IoT sensing systems, such as data sharing, data processing, scalability, heterogeneity, storage, etc. This amalgamation has led to the emerging of a new concept called Sensor-Cloud Virtualization paradigm, where real time data collection, processing, analysis, and control can be performed effectively. Many heterogeneous sensors in different networks can be connected together, virtualized, and offered to many users simultaneously, based on their demands. In this paper, we discussed this integration trend, highlighted its importance, and presented a general architecture view. We have discussed the key components of Sensor-Cloud, describing their main functions and characteristics. Furthermore, we reviewed the existing works proposed especially for Sensor-Cloud, and discussed their focus and scope. The challenges and the open boundaries for integration of IoT sensor network with Cloud-based virtualization are also illustrated in this paper. Our future work is to study the impact of Fog computing in reducing processing time and enhance the performance of Sensor-Cloud paradigm.