IOT

Cloud Middleware IoT

What is Cloud Middleware

The main focus of this paper is on middleware technologies and it aims to study their roles and necessities in CoT environment. Middleware is a software layer that sits between applications and the objects. It aims to provide solutions to frequently encountered problems such as heterogeneity, inter-operability, security and dependability? We can consider middleware in “network-oriented” vision.

Features and Characteristics of Middlewares

Middleware is an important enabler which provide communication among heterogeneous things. It is a mid-layer between things and application services and provides an abstraction of the thing’s functionality for application services.

A middleware can bring flexibility and several features and characteristics that we can see various combinations of them according to the system’s requirements. In the following parts, we discuss number of features and characteristics of middlewares. A. Flexibility

1. Flexibility

Flexibility is one of the most important capabilities that a middleware can offer to IoT or CoT systems. By using middleware, part of application developers’ concerns are covered because it can handle conflicting issues due to communication between applications and things.

There are different kinds of flexibility (e.g ., response time or delay flexibility). As a result, flexibility moves from application level to middleware level in order to handle different forms of flexibility. It is essential to determine which software or hardware components needs more flexibility.

The level of flexibility is important because high level of flexibility means more connectivity APIs and processing workforce which is not reasonable for multiple domains such as ultra resource constrained IoT networks.

2. Transparency

Middleware hides many complexities and architectural information details from both application and object sides, so they can communicate with the minimum knowledge of other side’s necessary details of information.

Transparency is a distinctive feature of middleware that can be very helpful for programmers, end users and applications. According to the application domain and services, developers need to decide which aforementioned part requires transparency the most.

Middleware transparency is in forms of platform and network.

  • Platform Transparency: Middleware runs on a variety of platforms, it lets organizations use different hardware platforms according to their requirements. Clients and servers do not need previous knowledge to work with each other.
  • Network Transparency: Middleware provides transparency of the networks to the application users. This means users don’t need to know whether resources are located locally or on remote devices.

3. Context Management

This feature is a coordination management concept. It allows users to choose and configure a service or subject in one application, and then ! other applications which containing information about that specific subject will adjust themselves with the same setting that user defined previously.

This feature is the main pillar in context-aware systems. In order to achieve high level of flexibility, which is important for better overall performance, context management allows numerous programs’ thread to work on same task, a thread to work on different task or each thread to perform different tasks.

CoT is a set of ubiquitous devices, it is necessary to know the diversity of objects technically, logically and physically. This will lead to proper context management.

4. Interoperability

This functionality means two set of applications, on interconnected networks, be able to exchange data and services meaningfully with a different assumption about protocols, data models, configuration and etc, without any problems and additional programming efforts by developers.

In fact, the nature of software and hardware heterogeneity of CoT requires having interoperable components. Interoperability will contribute to standardization.

Interoperability has different degrees which depend on heterogeneity level of the environment or system components. Implementing interoperability requires creation, management, reception and fulfillmentof realistic standards. It is important to make sure that they are SMART.

5. Re-usability

There is the possibility to reuse software and hardware because there is no specific technology to impose its policies for service implementation.

The main purpose of re-usability is to make designing and developments easier by modifying system components and assets for specific requirements, whichbrings forth cost efficiency.

Cloud-based networks are really crucial for obtaining this feature. These types of systems offer everything’s as a service which can be used multiple times.

6. Platform Portability

Portability is a critical feature in CoT. There are many mobile hardware and software components which are constantly moving between different platforms. Therefore, a CoT platform should be able to communicate from everywhere, anytime with any device.

Therefore, middleware helps to boost portability by its flexible manner. It helps to move across the environment and not being restricted to one platform.

Actually, middleware runs in user side and can provide independence from network protocol, programming language, OS, etc. By considering platform variations in CoT, it is obvious that the applications and services need a kind of self-determining mechanism for crossplatform development.

This can be achieved by using platform independence or portability. The difference is the first one run the applications on different platforms by using virtual machines to execute the codes and the later one is expected to adapt the applications to the new×environment with reasonable users efforts.

7. Maintainability

This is the ability of systems, applications or devices to respond to failures properly and rapidly return to normal functionality without any problem.

This can be achieved by isolating, correcting, repairing, preventing and other acts of resolving defects.

Maintainability has a fault tolerance approximation. For performing maintainability efficiently, it is necessary to have well-defined procedures and infrastructures. This feature is really needed in hard-real time applications.

The growth of deploying CoT in different contexts is significant. Without proper maintainability in middleware, extending the network or fixing the bugs would be overwhelming. Designing a maintainable middleware from outset is important. Providing relevant documentations and feedback checklists can behelpful for designing stable and extendable middleware.

8. Resource Discovery

A CoT system includes multiple heterogeneous devices. There is no reliable and global knowledge about availability of mentioned devices.

Resource discovery is actually a process that used by a node to search and probe for intended resources such as services or data types among entire nodes of a network. After sending a search query, resource discovery protocol will automatically choose the best resource that offers the most effective services and information.

For example, the process of choosing the best sensor in the environment that gives us the most reliable information. One of the key essentials of a Resource Discovery mechanism for middlewares is to cope with frequent failures.

Developers must use self-stabilizing algorithms in order to bring the system into an ordinary state despite transient failures.

9. Trustworthiness Management

This capability is required in social Internet of Things applications. By this feature, we can develop trust and credit mechanisms (e.g ., authentication, hashing, encryption and etc) to ensure that services and information that have been prepared for us by other applications, came from trustworthy systems.

It plays a key role in establishing trust relationships among different applications. This will lead to a trustable, robust and secure system.

10. Adaptability

In CoT systems, environment, and network infrastructure often change due to different reasons including nodes mobility, power drain, topology shifts and etc.

Many middlewares usually has fixed capabilities and cannot be customized to dynamic and unpredictable situations. This feature shows how middleware should behave against environmental changes. It can react both statically and dynamically.

Deploying optimized dynamic methods result better adaptability. Higher adaptability is critical in hard realtime systems. In contrary with flexibility, being adaptable means durability against long-term changes in the systems.

For reaching a reasonable amount of adaptability, it is necessary to provide it as services (such as security and identification protocols adaptation services, communication protocols adaptation services, semantic protocols adaptation services, etc).

11. Security and Privacy

Security in middleware is a vital issue because most data transmission and operation are occurring through it. For having a secure system, we must consider confidentially, integrity and availability.

Therefore, middleware should provide different security measures for ubiquitous applications and pervasive environment such as authentication where identification and credentials, authorized modifications and access control policy are needed for verification and managements in accountability. Privacy means all IoT system components that access personal user information must guarantee protection of mentioned information from unauthorized access.

12. Connectivity Convergence

Internet of Things contains and supports various types of hardware and software components that interac with each other through heterogeneous communication platforms.

For example, software applications may send thei request or queries to middleware in different kinds o communication methods such as WiFi Signals, Wired based data, Fiber-optic lights, Bluetooth and etc.

On another side of the scheme, objects may us communication technologies like Zigbee and RFII Even it is possible that sensors send directly analo signals or send digital signals after processing them. it is obvious connectivity APIs and management is essential need. This feature is convergent wi Interoperability.

Leave a Reply

Your email address will not be published. Required fields are marked *