Introduction and motivation
Rapid advancement of wireless network technologies and the wide use of mobile phones have brought significant changes in our daily lives. Information and communication technologies (ICT) lead to greater automation and instrumentation, and as sensors and devices become increasingly interconnected, the underlying communication infrastructures become “smart”—for example, smart grid or smart city. The Internet of Things (IoT) is an interconnected network of physical things, objects, or devices, such as radio-frequency identification tags, sensors, actuators, mobile phones, and laptops. The IoT enables objects to be sensed and controlled remotely across network infrastructures, including the Internet, thereby creating opportunities for the integration of the physical world into the cyber world . The emerging Tactile Internet represents the next (r)evolutionary leap of development for society, economy, and culture. The Tactile Internet is an Internet that aims at combining low latency and high reliability with a high level of security to enable human-to-machine (H2M) interaction and real-time control of IoT devices .
Cloud computing has proved successful for a wide range of user needs. It’s an Internet-based computing paradigm that provides ubiquitous and on-demand access to a shared pool of configurable resources, e.g., processors, storage, services, and applications . However, both the IoT and Tactile Internet have specific requirements that centralized clouds cannot meet. The massive data streams produced by a vast and rapidly growing number of connected things is the major source of big data and transfer of enormous amounts of data to and from the cloud, resulting in a significant growth of network traffic. The end-to-end delay of today's communications networks may not meet the requirements of many data streaming applications since the distance between mobile devices and remote data centers hinders the provision of real-time services. For instance, augmented reality applications typically require a response time of around 10 milliseconds, which is hard to achieve by cloud solutions with a typical end-to-end latency of hundreds of milliseconds .
Filling the technology gaps in supporting the IoT and Tactile Internet will require new architectures. Fog computing is a term for an alternative to cloud computing that puts a substantial amount of storage, communication control, configuration, measurement and management at the edge devices, closer to the end users along the cloud-to-things continuum. Cloud and fog computing share overlapping features, though fog computing has additional attributes such as location awareness, edge deployment, and a large number of geographically distributed nodes in order to offer low-latency and real-time interaction . Distributed fog nodes with caching and computing capabilities can alleviate the backhaul and provides reliable access to delay-sensitive mobile applications.
The concept of fog computing is promising. However, it will increase the amount of data traffic in local networks and consumes a lot of computational resources of the fog nodes. Soon fog nodes will face bottleneck issues and latency issue will arise. In order to reduce the burden of fog computing, researchers have introduced mist computing. The mist network is located at IoT objects (probes, sensors, cell phones, home appliance devices, small servers, small cell controllers, etc.). These end-devices play a major role in bridging the virtual computing world with the physical world and boosting the productivity of users and availability of computing resources. The vast number of edge devices, most of them utilizing some form of processing power, storage, and network connectivity, create a huge pool of digital resources close to the data source. Mist computing aims at harnessing these unutilized resources to address the bottlenecks of the current cloud paradigm by processing and storing data close to where they are created .
In general, cloud has the largest storage capacity and the highest processing capability, but it suffers from large latency. Fog nodes have intermediate storage and processing capabilities and the end nodes, which are often battery powered, have only limited memory, processing, and energy resources. With data mainly communicated wirelessly, energy is largely consumed through radio communications rather than computation. Therefore, the transmission of measurements done by end-devices to the remote cloud represents an energy- and time-intensive operation. Thus, the fog level, which is one wireless hop away from the end nodes, can be utilized effectively to perform timely detection of anomalies and prolong the lifetime of energy-limited network elements. Mist devices can be enhanced by the fog layer, which allows for dynamic ad-hoc interconnections among various neighborhoods, thus allowing clusters called “suburbs” to be formed (see Fig. 1). In mist computing, the computing moves to the extreme edge of the IoT environment, The basic idea is to provide an interconnected environment for users to offload computational processes or to perform rapid processing on data collected from sensors in the mist area in order to achieve fast response times instead of relying on the remote cloud to perform all processes. Mist computing represents a paradigm, in which edge network devices that have predictable accessibility provide their computational and communication resources as services to their vicinity via device-to-device communications. With this new edge-centric ecosystem of devices/resources, devices benefit from the fact that critical data are available where they can add most value .
Fig. 1. Hierarchical architecture based on mist, fog, and cloud levels .
Both very low latency and ultra-high reliability are crucial for future mist computing based networks. To identify open research challenges, we first consider what makes mist computing different from other solutions :
- Mist must be able to perform considerable amounts of computing and control functions at the edge of networks.
- Mist computing describes a concept, in which devices with limited capabilities incorporate the resources of other devices; thus, communications between devices must be carried out by the network edge with as little as possible involvement of the backhaul.
- Rather than storing data in remote data centers, a substantial amount of data must be cached in edge devices.
These goals pose new networking design challenges. Integrated fog and mist solutions leverage a distributed computing paradigm, whereby new entities with the ability to compute, store, and control must be distributed across the network. These entities may be servers, cloudlets, or micro-clouds that are properly linked to the central cloud [8-10].
Distributing storage and computing resources creates new challenges. For the efficient utilization of limited resources, intelligent task allocation and service coordination among different types of cloud are key to account for the different capabilities of network elements and given application quality-of-service (QoS) requirements, e.g., task execution deadline and energy consumption. In centralized cloud computing, all resources are gathered into a central pool. Hence, resource management can be done much easier and in a more focused manner. Conversely, in fog networks, resource allocation should be executed locally near the users. Localized operation may be more complicated in several ways. Among others, a complete list of all available resources along with their characteristics such as computational power, communication capabilities, and response time, should be provided and, on the other hand, all applications should be properly mapped to the different available resources [11-12].
In a mist computing environment, the uncertainty of distributed IoT devices may cause problems for the efficient management of resources. The situation may become even worse if the system of interest includes resource-constrained and heterogeneous mobile devices and the mist environment is highly dynamic, mobile, and unpredictable. Furthermore, the resources and network demands may change rapidly. There may also be a huge amount of decentralized data distributed across multiple IoT domains, whereby devices dynamically join and leave the network or change the power status such that available resources may experience dramatic variations over time . In this situation, mist computing has to maximize the number of functions that can be carried out in the edge and provide a solution for determining where and when to execute the cognitive tasks of the system without affecting the system's performance. The functions in some situations may be carried out in the fog, while in other situations they may be carried out in the cloud according to the given context. Mist nodes must therefore analyze the highly dynamic behavior of IoT objects, operate in partly unknown environments, and cooperate with neighboring nodes on demand. Future mist networks should be able to achieve advanced levels of autonomous behavior to self-adapt at run time and learn behaviors appropriate to changing conditions by means of context- and self-awareness . Typically, network operators are required to manually configure a variety of parameters in each network element to make their networks work. With the increasing number of protocols now under consideration in concert with the increasing diversity of applications to be supported, network management will become ever more complex. Operators will need self-managed or autonomic network solutions to simplify their network operations .
Although there are already a lot of studies on fog networks, there exist only a few preliminary studies on mist computing, whereby most existent studies focus on only one of these two concepts. To address the aforementioned issues, the authors of  observed that ARM CPU-powered mobile devices outperform entry-level virtual machines and proposed a “mobile-embedded Platform as a Service (mePaaS)”. The proposed mePaaS framework enables mobile devices to provide a ﬂexible way of sharing their computational and networking mechanisms as services. The mePaaS framework consists of several elements. The controller is the core element, which continuously monitors the state of the devices' hardware, modules, and workﬂow requirements. The authors introduced an algorithm that enalbes the controller to make decisions on which mist node should execute the requested computational task.
EXEGESIS  proposed a new interaction ecosystem, in which a variety of interconnected end-users create a neighborhood. This architecture leverages the processing and storage capability of networked devices as resources for the mist layer, which allows EXEGESIS to execute assigned computational and/or networking tasks. For resource allocation, every mist node must register its state and available resources. In doing so, the fog orchestrator has a clear image about the available resources across the whole mist network. The orchestrator, using the fog’s available resources and policies and also taking into account the incoming task/service requirements, assigns each task or service to one or nearby nodes.
In , the authors further elaborated on the differences between fog and mist networks. In a strict definition of fog computing, the devices at the edges are not involved in the computation tasks of the network but only in data acquisition, while the interpretation occurs in the gateway. Thus, network delay and inefficient bandwidth utilization are still present. By contrast, mist computing the processing and storage capabilities further out to the network edge, including sensor and actuator devices for accomplishing network application requests by other mist nodes. Propoer resource management and task allocation may be fulfilled by means of self-awareness. Here, self-awareness facilitates a proper assessment of cost-constrained cyber-physical systems and allocating limited resources where they are most needed, whereby situational awareness is a key enabler for self-awareness in distributed sensing and fog/mist computing networks.
There are several open research issues. Up to date, no technical solution has been proposed to integrate mist and fog networks, especially from a resource management perspective. There is a need for a unifying structure that ties different parts of the central cloud, fog layer and mist environment together. This structure must meet the requirements of future networks such as very low latency and ultra-high reliability to support both conventional and distributed cloud services. Beside exploiting the resources of end users’ devices, supporting them with small-size computational infrastructures is needed to meet stringent QoS requirements. Furthermore, cognitive service coordination that provides IoT devices with access to higher-level resources is missing, where service allocation manages the interaction of mist devices with the fog layer.
Network architecture design
Passive optical networks (PONs) were studied as feasible solutions for cloud computing . More recently, FiWi enhanced LTE-Advanced networks were explored to support both conventional and distributed cloud services, giving rise to the concept of cloud and cloudlet empowered FiWi heterogeneous networks . FiWi enhanced networks present promising solution to support both centralized and distributed cloud services. This project examines the integration of fog and mist computing over FiWi enhanced networks exploiting their low costs, wide deployments, and high capacity (100 times higher than cellular networks ). Fig. 2 shows the architecture of a network design based on an Ethernet PON backbone that connects the edge to the central cloud. In the following, we explain the different network segments in greater detail.
Backbone and central cloud
Fig. 2 depicts the network architecture of cloud and fog integrated FiWi access networks. The optical ﬁber backhaul consists of an IEEE 802.3ah 10G-EPON with an extended ﬁber range of 10-100 km between the central optical line terminal (OLT) and remote optical network units (ONUs). The OLT connects subsets of ONUs in a tree-and-branch topology. ONUs are equipped with a mesh portal point (MPP) to interface with the wireless mesh network (WMN) in the wireless front-end, which consists of intermediate mesh points (MPs) and mesh access points (MAPs) serving wireless clients. The integration of ONU and MPP or access point (AP) is realized by means of Radio-and-Fiber (R&F) technologies .
Fig. 2. Integration of fog and mist computing in FiWi enhanced networks.
Middle layer of the network
In fog computing, the ability of computing must be available throughout the network, from the central cloud to the network edge. Distributed computing resources enable us to realize low latency requirements. Cloudlets may be viewed as decentralized proxy cloud servers with processing and storage capabilities, just one or more wireless hops away from the mobile user. Cloudlets may be connected to the ONU-MPPs/APs via dedicated reliable ﬁber links to provide cloud services at the middle layer of FiWi access networks . With distributed resources being available in such a two-level fog-cloud architecture, applications with different latency requirements can be served by the appropriate computing tier. In such a scenario, a proper traffic differentiation mechanism needs to be applied to separate low-latency flows and delay-tolerant flows.
Edge and mist network
Mist is the unified extreme edge, where a variety of end-user devices share their available processing and communication capabilities for hosting a variety of applications and networking tasks. Nodes may be simple sensors, smart sensors with compute power built into the sensors themselves, actuators that respond to command and control communications, or microcomputers and microcontrollers that aggregate and manage data from local sensors and actuators.
As shown in Fig. 2, the mist network has the following two classes of peers: Common nodes (CNs) and super nodes (SNs). A CN may be any end device with at some processing and communication capabilities. CNs may carry out assigned computational and/or networking tasks . An SN is a device that has more processing and memory capabilities, capacity, and power supply, among others. SNs register each mist node with its state and amount and type of physical resources it is willing to provide to the mist platform. In this way, SNs supervise the intra-logical topology of the mist network. SNs serve as the interface and agent of the fog layer in the mist network by reserving resources, assigning computational tasks, or deploying network function virtualization infrastructure (NFVI) elements. Thus, mist networks may create a virtual pool that comprises the physical resources across the whole fog network.
As mentioned before, resources are generally distributed throughout the network and the computation and storage resources are moved toward the edge as much as possible. Cloudlets are connected to ONUs such that computational tasks are sent to ONUs. In addition, ONUs have to carry out several other tasks such as data offloading to the remote cloud and forwarding downstream data frames. Note that data offloading onto cloudlets may not be suitable for mist networks due to the multi-hop latency between mobile devices and cloudlets and traffic congestion at the ONUs. Furthermore, the limited computing, energy, and storage resources of mist devices may hinder the successful launch of new mobile applications. To address this issue, micro-clouds may be embedded in the edge of the network. Micro-clouds are standalone computational infrastructures of small size that can be easily deployed in different locations . Their scale is in stark contrast to that of cloud data centers, yet they can offer similar capabilities in qualitative terms of access to resources in an on-demand fashion. As such, they represent prime candidates for hosting mist services. The low-cost and easy-to-set-up aspects of micro-clouds render them highly amenable to a number of applications in resource-rich environments.
In such a scheme, the fog layer receives or sends the requests for computational task execution and service deployment. Conversely, if any element in the mist chain needs extra resources, the request is processed at the fog layer by SNs according to the latency sensitivity and scale of demanded resources. The network allocates the appropriate resources of the edge (micro-cloud), middle (cloudlet), or central cloud. For instance, some applications are not able to endure the time or energy consumption to demand resources from the cloudlet because of the involved multi-hop communication between the mist layer and cloudlet. Instead, such demands are better handled by the nearest micro-cloud. The micro-cloud can also be utilized as a distributed control node at the mist layer. Distributed operating systems or resource management programs may be installed in the micro-cloud in order to distinguish between applications and allocate storage and computing resources.
Autonomous service coordination
Coordination is a fundamental problem in mist networks, whereby the key objective is to dynamically assign computational tasks to nodes in order to improve network performance. With centralized coordination, the decision making is done by a single node that receives data from each node in the network. This approach introduces significant computational and communication overhead, but it achieves high task performance due to global network information available at the single node. In contrast, with decentralized coordination, the decision making and required data are distributed among the network nodes. If the network elements could manage themselves in an autonomous way, intelligent decisions can be made locally instead of having to communicate from network nodes back to the control node for any task execution update.
With autonomous coordination, each node decides which action to take based on its own assessment. Nodes individually decide when and where a given task can be offloaded. It allows the network to quickly self-adapt, thereby improving network performance and guaranteeing QoS when changes in the users' context degrade network efficiency. Deciding which node should execute a specific task is a typical coordination problem. Deriving handover decisions based on incomplete information and with limited resources represents one of several key challenges. Towards this end, context- and self-awareness can help overcome the difficulties of coordinating and achieving robust, flexible, and scalable control at low computational and communication overhead.
Context-awareness is a prerequisite for self-awareness. Context-awareness is a powerful feature of intelligent systems. It consists of the utilization of context information, i.e., information about a user’s environment, behavior, and surrounding, in order to enhance the provision of services in support of context-aware applications. Context-awareness provides relevant information about the current status of the environment and enables adaptive behavior according to changes in the surrounding. The concept of context-awareness appeared initially in the field of ubiquitous computing, where devices and sensors are distributed pervasively within a given environment.
Self-awareness is concerned with experiences embedded in an interconnected world. Self-aware systems reason about themselves (goals, capabilities, constraints) and their surroundings in order to dynamically adapt their behavior. Self-awareness can be an emergent property of collective systems, even when no single component is aware of the whole system. Importantly, this implies that self-aware systems don't require a node with global knowledge. Mist networks allow any connected object or sensor to regularly produce and share information about itself and its environment, whereby collective self-awareness of global goals can be achieved through communications and coordination among nodes.
The objective of this research project is to combine the capabilities of fog/mist computing and context-/self-awareness to build an autonomous service coordination framework that is capable of adopting its behavior while decentralizing functions that are carried out at the edge and determining which functions should be realized at the mist, fog, or cloud layers and how the mist layer best interacts with these higher layers.
N. Choi, D. Kim, and S. Lee, "A Fog Operating System for User-Oriented IoT Services: Challenges and Research Directions," IEEE Communications Magazine, vol. 55, no. 8, pp. 44-51, Aug. 2017.
M. Maier, M. Chowdhury, B. P. Rimal, and D. Pham Van, "The Tactile Internet: Vision, Recent Progress, and Open Challenges," IEEE Communications Magazine, vol. 54, no. 5, pp. 138-145, May 2016.
Y. Zhang, J. Ren, and J. Liu, "A Survey on Emerging Computing Paradigms for Big Data," Chinese Journal of Electronics, vol. 26, no. 1, pp. 1-26, Jan. 2017.
H. Mei, K. Wang, and K. Yang, "Multi-Layer Cloud-RAN with Cooperative Resource Allocations for Low-Latency Computing and Communication Services," IEEE Access, vol. 5, pp. 19023-19032, Sept. 2017.
M. Chiang and T. Zhang, "Fog and IoT: An Overview of Research Opportunities," IEEE Internet of Things Journal, vol. 3, no. 6, pp. 854-864, Dec. 2016.
J. Al-Muhtadi, R. Campbell, and A. Kapadia, "Routing Through the Mist: Privacy Preserving Communication in Ubiquitous Computing Environments," Proc., IEEE International Conference on Distributed Computing Systems, pp. 74-83, Vienna, Austria, Austria, Nov. 2002.
E. Markakis, K. Karras, N. Zotos, A. Sideris, T. Moysiadis, A. Corsaro, G. Alexiou, C. Skianis, and G. Mastorakis, "EXEGESIS: Extreme Edge Resource Harvesting for a Virtualized Fog Environment," IEEE Communications Magazine, vol. 55, no. 7, pp. 173-179, June 2016.
M. Chiang and T. Zhang, "Fog and IoT: An Overview of Research Opportunities," IEEE Internet of Things Journal, vol. 3, no. 6, pp. 854-864, Dec. 2016.
M. Peng, S. Yan, K. Zhang, and C. Wang, "Fog-Computing-Based Radio Access Networks: Issues and Challenges," IEEE Network, vol. 30, no. 4, pp. 46-53, July 2016.
H. Liu, F. Eldarrat, H. Alqahtani, A. Reznik, X. Foy, and Y. Zhang ,"Mobile Edge Cloud System: Architectures, Challenges, and Approaches," IEEE Systems Journal, vol. PP, no. 99, pp. 1-14, Feb. 2017.
B. P. Rimal, D. Pham Van, and M. Maier, "Cloudlet Enhanced Fiber-Wireless Access Networks for Mobile-Edge Computing," IEEE Transactions on Wireless Communications, vol. 16, no. 6, pp. 3601-3618, June 2017.
A. Baktir, A. Ozgovde, and C. Ersoy, "How Can Edge Computing Benefit from Software-Defined Networking: A Survey, Use Cases, and Future Directions," IEEE Communications Surveys & Tutorials, vol. 19, no. 4, pp. 2359-2391 June 2017.
S. Fortes, A. A. Garcia, J. A. Fernandez-Luque, A. Garrido, and R. Barco, "Context-Aware Self-Healing: User Equipment as the Main Source of Information for Small-Cell Indoor Networks," IEEE Vehicular Technology Magazine, vol. 11, no. 1, pp. 76-85, March 2016.|
J. B. Leite and J. R. Mantovani, "Development of a Self-Healing Strategy with Multi-agent Systems for Distribution Networks," IEEE Transactions on Smart Grid, vol. 8, no. 5, pp. 2198-2206, Sept. 2017.
Q. Liao and S. Stanczak, "Network State Awareness and Proactive Anomaly Detection in Self-Organizing Networks," Proc., IEEE GLOBECOM, pp. 1-6, San Diego, CA, USA, Dec. 2015.
M. Liyanage, C. Chang, and S. N. Srirama, "MePaaS: Mobile-Embedded Platform as a Service for Distributing Fog Computing to Edge Nodes," Proc., IEEE International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT), pp. 73-80, Guangzhou, China, Dec. 2016.|
J. S. Preden, K. Tammemae, and A. Jantsch, "The Benefits of Self-Awareness and Attention in Fog and Mist Computing," Computer, vol. 48, no. 7, pp. 37-45, July 2015.
Y. Elkhatib, B. Porter, H. B. Ribeiro, M. F. Zhani, J. Qadir, and E. Rivière, "On Using Micro-Clouds to Deliver the Fog," IEEE Internet Computing, vol. 21, no. 2, pp. 8-15, Mar. 2017.
B. P. Rimal, D. Pham Van, and M. Maier, "Mobile-Edge Computing vs. Centralized Cloud Computing in Fiber-Wireless Access Networks," Proc., IEEE INFOCOM, Workshop on 5G & Beyond-Enabling Technologies and Applications, San Francisco, CA, USA, April 2016.
M. Chowdhury and M. Maier, "Collaborative Computing For Advanced Tactile Internet Human-to-Robot (H2R) Communications in Integrated FiWi Multi-Robot Infrastructures," IEEE Internet of Things Journal, IEEE Xplore Early Access, Nov. 2017.