cloid middleware

Cloud Middleware

The main focus of this paper is on middleware technologies and it aims to study their roles and necessities in the 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, interoperability, security, and dependability. We can consider middleware in a “network-oriented” vision.

Features and Characteristics of Middleware

Middleware is an important enabler that provides communication among heterogeneous things. It acts as a mid-layer between things and application services, offering an abstraction of the things’ functionality for application services.

A middleware can bring flexibility and several features and characteristics that we can see in various combinations according to the system’s requirements. The following sections discuss the features and characteristics of middleware.

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 the application level to the middleware level to handle different forms of flexibility. It is essential to determine which software or hardware components need more flexibility.

The level of flexibility is important because a 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 the application and object sides, allowing them to communicate with minimal knowledge of the other side’s necessary information details.

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

Platform Transparency

Middleware runs on a variety of platforms, letting 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 network transparency to application users, meaning 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 that allows users to choose and configure a service or subject in one application, and then other applications containing information about that specific subject will adjust themselves with the same setting that the user defined previously.

Context management is the main pillar in context-aware systems. It allows numerous program threads to work on the same task, a thread to work on a different task, or each thread to perform different tasks, achieving a high level of flexibility for better overall performance.

4. Interoperability

Interoperability means that two sets of applications on interconnected networks can exchange data and services meaningfully, with different assumptions about protocols, data models, configuration, etc., without any problems or additional programming efforts by developers.

Interoperability is crucial in the CoT environment, where the nature of software and hardware heterogeneity requires interoperable components. It also contributes to standardization.

Interoperability has different degrees depending on the heterogeneity level of the environment or system components. Implementing interoperability requires the creation, management, reception, and fulfillment of realistic standards.

5. Re-usability

Middleware allows for the reuse of software and hardware because it does not impose specific technology policies for service implementation.

The main purpose of re-usability is to make designing and development easier by modifying system components and assets for specific requirements, bringing cost efficiency. Cloud-based networks are crucial for obtaining this feature, as they offer everything as a service that can be used multiple times.

6. Platform Portability

Portability is critical in CoT. Many mobile hardware and software components constantly move between different platforms. Therefore, a CoT platform should be able to communicate from anywhere, anytime, with any device.

Middleware boosts portability with its flexible nature, helping to move across environments without being restricted to one platform. It provides independence from network protocols, programming languages, OS, etc.

7. Maintainability

Maintainability is the ability of systems, applications, or devices to respond to failures properly and rapidly return to normal functionality.

This can be achieved by isolating, correcting, repairing, preventing, and other acts of resolving defects. Maintainability has a fault tolerance approximation and requires well-defined procedures and infrastructures.

Middleware with proper maintainability is essential in extending networks or fixing bugs. Designing maintainable middleware from the outset, along with providing relevant documentation and feedback checklists, can help achieve stable and extendable middleware.

8. Resource Discovery

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

One key essential of a resource discovery mechanism for middleware is to cope with frequent failures. Developers must use self-stabilizing algorithms to bring the system into an ordinary state despite transient failures.

9. Trustworthiness Management

This capability is required in social Internet of Things applications. Middleware can develop trust and credit mechanisms (e.g., authentication, hashing, encryption) to ensure that services and information from other applications come from trustworthy systems.

Trustworthiness management plays a key role in establishing trust relationships among different applications, leading to a trustworthy, robust, and secure system.

10. Adaptability

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

Middleware should have the capability to adapt to dynamic and unpredictable situations, reacting both statically and dynamically. Deploying optimized dynamic methods results in better adaptability, which is critical in hard real-time systems.

Providing adaptability as a service (e.g., security and identification protocols adaptation services, communication protocols adaptation services, semantic protocols adaptation services) can help achieve reasonable adaptability.

11. Security and Privacy

Security in middleware is a vital issue because most data transmission and operations occur through it. For having a secure system, we must consider confidentiality, integrity, and availability. Therefore, middleware should provide different security measures for ubiquitous applications and pervasive environments, such as authentication (where identification and credentials are verified), authorized modifications, and access control policies for verification and management in accountability.

Privacy means all IoT system components that access personal user information must guarantee the protection of mentioned information from unauthorized access.

12. Connectivity Convergence

The Internet of Things contains and supports various types of hardware and software components that interact with each other through heterogeneous communication platforms. For example, software applications may send their requests or queries to middleware using different communication methods such as WiFi signals, wired data, fiber-optic lights, Bluetooth, etc.

On the other side of the scheme, objects may use communication technologies like Zigbee and RFID. Sensors may send analog signals directly or send digital signals after processing them. It is obvious that connectivity APIs and management are essential needs. This feature is convergent with Interoperability.

Leave a Reply

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