Middleware for Internet of Things

The Future Internet goal is to provide an infrastructure to have an immediate access to
information about the physical world and its objects. Physical objects can be applicable to
different application domains, such as e-health, warehouse management, etc.

Each application domain may have different types of physical devices. Each physical device
can have its own specifications, which is required to use in order to interact with it. To
achieve the future Internet goal, a layered vision is required that can facilitate data access.
Internet of Things (IoT) is a vision that aims to integrate the virtual world of information
to the real world of devices through a layered architecture.

The term "Internet of Things" consists of two words. Internet
refers to the global network infrastructure with scalable, configurable capabilities based
on interoperable and standard communication protocols. Things are physical objects or
devices, or virtual objects, devices or information, which have identities, physical
attributes and virtual personalities, and use intelligent interfaces .

For instance, a virtual object can represent an abstract unit of sensor nodes that contains metadata to identify and discover its corresponding sensor nodes. Therefore, IoT refers to the things that can provide information from the physical environment through the Internet.

Middleware is as an interface between the hardware layer and the application layer,
which is responsible for interacting with devices and information management . The
role of a middleware is to present a unified programming model to interact with devices.

In this research, we work toward an architecture for a middleware for IoT-based systems. which provides a simple and flexible interface to interact and configure different devices. This middleware allows users to completely control physical devices by masking their heterogeneity.

In support of this approach, we have been developing a Video Monitoring System (VMS), to develop a middleware with an uniform interface to interact with different types of camera
devices. The VMS is in charge of providing full video coverage to monitor an area for an end-user, such as a guard.

Since different types of camera can be connected to a VMS, an end-user needs to know how to configure each of them. This can cause some difficulties for end-user configuration of the cameras.

To facilitate camera configuration, we have an abstract layer on top of the cameras that provides a unique way for end-users to configure any type of camera.