Elsevier

Internet of Things

Volume 19, August 2022, 100549
Internet of Things

Research article
Fog Node Self-Control Middleware: Enhancing context awareness towards autonomous decision making in Fog Colonies

https://doi.org/10.1016/j.iot.2022.100549Get rights and content

Abstract

The concept of Fog Colonies has recently been introduced in Fog Computing, and is rapidly gaining attention. As Fog Colonies are extended, Fog Colony Control mechanisms have gained significant interest. Although, there are numerous solutions efficiently supporting a Context Aware coordinating entity, exploring approaches for decentralized control remains a challenge. Towards this direction, there are efforts promoting the concept of autonomous Fog Nodes, making their own decisions with internalized control without the existence of a coordinating entity. In this paper we propose and implement a Context Aware Self-Control management middleware for Fog Nodes, enabling their Self-Management utilizing contextual information shared between Fog colony members. To that end, we employ Policy Rulebooks to define Context Aware Policies that each Fog Node can enforce. Finally, we evaluated the proposed middleware against a non Context Aware one, under exactly the same conditions, using a real-world smart building use case, focusing on performance issues related to the end-user.

Introduction

Fog Computing provides a decentralized approach to data processing and resource provisioning in the Internet of Things (IoT) [1]. To this end, Cloud provided functionality and corresponding computational resources that traditionally used to exist on the Cloud, descend further down, towards end devices, thereby being termed as Fog. In this case, the Fog comprises the middleware, the network and the virtualization capabilities, as well as the web applications and portals [2]. According to the OpenFog Consortium, Fog Computing is “a horizontal, system-level architecture that distributes computing, storage, control and networking functions closer to the users along a Cloud-to-Thing continuum” [3].

Fog Nodes should operate independently, yet in collaboration with neighboring nodes and the Cloud, and provide composed services to end-users. Thus, scalability, availability and guaranteed performance are important features of Fog Nodes [4]. Fog Nodes are grouped in Colonies [5], [6], [7] enabling them to share resources, and implement common policies. Colonies may be formed based on location or other functionality criteria [1].

In most cases, cooperation between Fog Nodes is simplistic in nature, where nodes hold no context information about their surrounding and neighboring nodes, creating a hurdle every time a Fog Node needs to cooperate with another Fog Node [5], [8], [9]. Additionally, Fog Colony management and Fog Node coordination is currently resolved by placing centralized control mechanisms within the Fog Colonies, or in the Cloud [1], [6], [7]. Centralized control, e.g. the support of a coordinating entity in the colony [10], has the consequence of the existence of a single point of failure, and reduces the ability for Fog Colonies to be formed dynamically and spanned effectively. However, such approaches may also explore context gathered by Fog nodes to make more efficient decisions.

In this paper we discuss the development of a Fog Node Self-Control Middleware, to enhance awareness in Fog Colonies with no central control and enable nodes to make more sophisticated decisions when performing actions that can be enhanced by their operational context, such as Task Offloading and Resource Transferring. To this end, we explore two different modes of operation: (a) ask for the colony member status when needed, e.g. when task or resource hand over should occur and (b) enable Fog Colony members to exchange information about their status, so as to be able to make such a decision when needed. We have already developed an autonomous Fog Node middleware, facilitating decentralized control, operating with the first mode in the context of [11]. As we explored the application of this middleware in different domains, we pondered the potential of increased performance, with regards to the response time of services provided by the colony, if the members were aware of the status of other colony members. This is to apply the second mode of operation. Two were the issues identified to achieve this goal: the nature of the information to be shared between Fog Colony members and the way contextual information would be exploited by each Fog Node to enhance its autonomous operation.

In this regard, Fog Colony members should exchange information regarding their operational status, so as to be able to make Context Aware decisions and enhance the way they cooperate. An approach centered around policy based control was adopted, taking inspiration from different domains that have employed similar approaches [12], [13], [14], using Policy Rulebooks per Fog Node. In this case each policy a) defines how to react when changes occur and b) what information to communicate to other colony members. A Self-Control management middleware for Fog Nodes utilizing policies to achieve Context Awareness by exchanging node status was developed. We have already developed a Self-Monitoring Fog Node Middleware, facilitating decentralized control without Context Awareness, as described in [11]. We have extended our initial implementation to support policy based control and provide for Context Aware decision making. To this end, additional features and components have been designed and developed.

Introducing policy-based control makes the node control middleware more complicated, while information is often exchanged between nodes. To explore the feasibility and the gained value of the proposed Self-Control Middleware is tested against the existing non Context Aware one. The main objective of the test is to examine how the Context Aware Control Middleware running on Fog Nodes may affect performance parameters related to end-users. Therefore, we focus our attention to the changes in service response time and collaborative management tasks completion time. Collaborative management tasks are performed when handing over tasks and resources between nodes.

The rest of this paper is structured as follows: Section 2 discusses related work on Fog Colony Control, Self-X properties and Fog Node autonomous operation. Additionally, we identify the challenge to be tackled by this work. Section 3 proposes a decentralized Context Aware control architecture, introducing the policy based control paradigm. Section 4 presents a corresponding Self-Control management middleware for Fog nodes utilizing Context Aware policies. This middleware is compared to an existing non Context Aware Middleware also developed by the authors to explore the effect on performance parameters related to end-users. Section 5 presents a Use Case application concerning smart building management, later used to execute performance tests. Performance tests performed on this testbed and evaluation results are presented in 6. Performance test results are further analyzed and discussed in Section 7. Conclusions and future work reside in Section 8.

Section snippets

Related work

A typical high level representation of Fog Computing architecture, as described by [1], [5], [6], [7], [8], [9], [11], [15], [16], [17], [18], is depicted in Fig. 1. According to the OpenFog Consortium [3], “Fog Computing is an extension of the traditional Cloud-based computing model, where implementations of the architecture can reside in multiple layers of a network’s topology. However, all the benefits of Cloud should be preserved with these extensions to Fog, including containerization,

Decentralized context aware Fog Colony control: Policy based control paradigm

As discussed in the previous section, our aim is to propose and investigate an alternative control mechanism, which internalizes control within the Fog Nodes, makes them autonomous, and allows the Fog Colonies to operate in a decentralized fashion. To achieve this, Fog Nodes should be aware of colony shared context, i.e. other colony members’ status. Such a feature would enhance colony scalability, enable dynamic colony formation and improve colony performance. To that end, colony members must

Fog Node Self-Control Middleware

For a Fog Node to be able to implement Context Aware Policies, it needs to be able to conduct a number of activities, as would be to have the ability to understand its Policy Rulebook and adjust itself. To this end, a Self-Control Middleware making autonomous decisions based on the Policy Rulebook should supervise Fog Node operation. The Self-Control Middleware should be treated as an additional piece of software running on the Fog Node, which allows the Fog Node to add to its already existing

Use case application: Evacuation drill in a Smart Building

Fog Systems can be used to help in situations where crowds need to be evacuated out of Smart Buildings due to danger, or need to be led away from danger in Smart Cities [37]. Such dangers could be fires, gas leaks, hostile situations, and more [38], [39]. The Fog is then exploited to identify both the areas people should be leaving due to the danger, but also to find the best route for people to evacuate the area, while avoiding overcrowding an exit route which could lead to further dangers,

Performance testing

It is apparent that adding new modules to an existing software will add complexity to it and as a result there is a potential for delays. To successfully be able to draw conclusions as to the magnitude of the effect of the new components, we should initially focus on minimizing differences between the systems compared as much as possible. Current implementations of Fog Colony control are either decentralized but not Context Aware, or Context Aware and centralized [10], [19], [20], [23]. With

Discussion

Based on the experimental results, a number of findings may be explored.

Regarding Cooperative Tasks Completion time, it is apparent that Fog Colony members benefited from the additional context information and internalization of control, when choosing a neighbor to hand over tasks/resources. For small Fog Colonies, of less than 5 Fog Nodes, this is not really apparent. Nonetheless, context-awareness gains become apparent when Fog Colony reaches 10 Nodes and increases drastically. This is due to

Conclusion

To enhance Fog Colony scalability, enable dynamic colony formulation and improve colony performance, Fog Nodes should operate in an autonomous fashion, with no centralized cooperation mechanisms. To this end, we proposed a novel Fog Node Self-Control Middleware to enhance Context Awareness within Fog Colonies. The proposed middleware enhances Fog Node autonomy by internalizing control, based on Policy Rulebooks. Furthermore, it enhances collaboration between Fog Colony members, such as in cases

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

References (39)

  • AbdelazizJabril

    Architectural Model for Collaboration in the Internet of Things: A Fog Computing Based Approach

    (2018)
  • TranMinh-Quang et al.

    Task placement on fog computing made efficient for iot application provision

    Wirel. Commun. Mob. Comput.

    (2019)
  • NguyenQuang-Hung et al.

    Studying and developing a resource allocation algorithm in fog computing

  • ZhangGuowei et al.

    Fair task offloading among fog nodes in fog computing networks

  • SkarlatOlena et al.

    A framework for optimization, service placement, and runtime operation in the fog

  • NikolopoulosBasil et al.

    A system of systems architecture for the internet of things exploiting autonomous components

    Int. J. Syst. Syst. Eng.

    (2019)
  • David Pcolar, Daniel W. Davis, Bing Zhu, Alexandra Chassanoff, Chien-Yi Hou, Richard Marciano, Conceptualizing...
  • TangChunlin et al.

    Policy-based network access and behavior control management

  • NambiS.N. Akshay Uttama et al.

    A unified semantic knowledge base for IoT

  • Cited by (0)

    View full text