## 3 Middleware for WSN Virtualization
### Middleware for Network Virtualization
Furthermore, the virtual sensor is coded in XML and SQL. GSN can support and integrate continuous and historical data. One of the main advantages of GSN is heterogeneity support in terms of devices as well as radio protocols. [PERSON] and [PERSON] in [71] proposed an overlay IP based network using ROA. It unifies the sensor network with the cloud instead to decoupling the resources and applications. [PERSON] in [72] provides uniform API for the heterogeneous devices. Bridge based approach is used to integrate different sensor networks over IP into one virtual sensor network. This virtual network facilitates the user to query data directly from a specific sensor node using overlay gateway based approach. [PERSON] in [53] provides a database approach to avoid the redundancy of the data in WNS. The query dictates which data is to be fetched from the sensor node. In Research Laboratory at Berkeley, [PERSON] in [73] uses application driven architecture to monitor the habitat of an island. The design is application specific. Furthermore, the network is implemented using 802.11b and nodes with an embedded Linux. The research presented D-uMiddle [74] middleware that provides solution for the problem in sharing sensor nodes among geological smart space. Furthermore, it works as a bridge that enables smooth interaction among heterogeneous devices and middleware platforms. A health care application providing data to the remote caregiver, the middleware provides an abstraction to the heterogeneity of the sensor nodes and provides interoperability with less overhead. The middleware is designed in the XML-based language, Universal Service Description Language (USDL) that provides high level API hiding the heterogeneous devices. MiLAN [75] is a middleware platform with the features to continuously change and control the network functionality according to the application demands. MiLAN is an application oriented middleware. MiLAN makes feasible subsets of the sensor nodes, and optimizes the tradeoff between the application demands and the network resources. MiLAN takes into account multiple radios over the medical monitoring application. The reliability matrix is used to choose the set of sensors. ROA based middleware is proposed in [76], it focuses on the devices and sensors rather than services. ROA is an ideal candidate for building universal APIs [26] for such middleware designs. It provides user with the direct access to the resources in an energy efficient way, whereas SOA based design is capable of providing more options to run multi applications. ROA uses REST architectural style tiny web services that are embedded into smart thing and are tightly coupled. In this model the resource can be directly accessed by the URI from HTTP browser. In the paradigm of M2M communication, that is an extension of WSN, there has been significant work on the integration of networks and the development of standards in [77, 78, 79, 80]. The importance of middleware in M2M is elaborated in [81, 82, 83]. To deal with multiple applications in M2M Riker in [81] proposes a middleware that supports network virtualization. Communication Manager Component (CMC) a M2M middleware component is proposed that manages data in up and down link, sleep schedule, energy of the network and device management [81]. The CMC block dynamically manages the base station overload, links and the machine devices. It also uses a common set of services that reduce the cost of development. Middleware allows applications to communicate with each other while accessing common communication mechanism. Applications are run over distributed devices and provided with high abstraction so as to hide the lower communication and device details. The communication and device management are performed at the middleware layer. In [84] work has been done regarding smart home ambient assisted living middleware framework that integrates multiple radios by utilizing both SOA and ROA in the design. Cluster tree based approach for the network virtualization is proposed in [85].