Chii Chang, Amnir Hadachi, Jakob Mass, and Satish Narayana Srirama
Institute of Computer Science, University of Tartu, Estonia
The Internet of Things (IoT) paradigm motivates various next-generation applications in the domains of smart home, smart city, smart agriculture, smart manufacturing, smart mobility, and so forth [1], where the online systems are capable of managing physical objects, such as home appliances, public facilities, farming equipment or production line machines via the Internet. Moreover, mobile objects, such as land vehicles (e.g. cars, trucks, buses, etc.), maritime transports (e.g. ships, boats, vessels, etc.), unmanned aerial vehicles (UAVs; e.g. drones), and user equipment (UE; e.g. smartphones, tablets, mobile Internet terminals, etc.), have become the indispensable elements in IoT to assist a broad range of mobile IoT applications.
Mobile IoT applications emphasize the connectivity and the interoperability among the IoT infrastructure and the mobile objects. For example, in an Internet of Vehicles (IoVs) application [2], the IoT-based smart traffic infrastructure provides the connected roadside units (RSUs) that assist the smart cars to exchange the current traffic situation of the city center toward reducing the chance of traffic accidents and issues. As another example, classic disaster recovery activities of a city require numerous manned operations to monitor the disaster conditions, which involve high risk for human workers. Conversely, by integrating an Internet of Drones (IoD) [3], the smart city government can dispatch a number of drones to monitor and to execute the tasks without sending human workers to the frontline. Unexceptionally, mobile IoT also has benefited maritime activities in terms of improving the information exchange among the vessels and the central maritime management system, hastening the overall process speed of fishery or marine scientific activities [4].
Besides the public applications, mobile IoT plays an important role in personal applications, such as Internet of Medical Things (IoMT) applications [5], which utilize both inbuilt sensors of the UE (e.g. smartphone) and the UE-connected body sensors attached on the patient to collect health-related data and forward the data to the central system of the hospital via the mobile Internet connection of the UE.
Explicitly, the mobile IoT applications described above are time-critical applications that require rapid responses. However, the classic IoT system architecture, which relies on the distant central management system to perform the decision making, has faced its limitation to achieve the timely response due to latency issues deriving from the dynamic network condition between the front-end IoT devices and the back-end central server. Furthermore, the large number of connected mobile IoT devices have raised the challenges of mobile Big Data [6] that increase the burden of the central server and hence, lead to bottleneck issues. In order to improve the agility and to achieve the goal of ultra-low latency, researchers have introduced fog computing architecture [1].
Fog computing architecture (the fog) distributes the tasks from the distant central management system in the cloud to the intermediate nodes (e.g. routers, switches, hubs, etc.), which contain computational resources, to reduce the latency caused by transmitting messages between the front-end IoT devices and the back-end cloud. Specifically, the fog provides five basic mechanisms: storage, compute, acceleration, networking, and control toward enhancing IoT systems in five subjects: security, cognition, agility, low latency, and efficiency [1]. For example, in IoV application, the central server can migrate the best route determination function from the cloud to the roadside fog nodes to assist the travel of the connected vehicles. As another example, in an outdoor-based IoMT application, the hospital system can distribute the health measurement function and the alarm function to the UE in order to perform timely determination of the patient's health condition and to perform an alarm to catch the proximal passengers' attention when the patient is having an incident.
Here, we use the term mobile fog computing (MFC) to describe the fog-assisted mobile IoT applications.
MFC brings numerous advantages to mobile IoT in terms of rapidness, ultra-low latency, substitutability and sustainability, efficiency, and self-awareness. However, the dynamic nature of MFC environment raises many challenges in terms of resource and network heterogeneity, the mobility of the participative entities, the cost of operation, and so forth. In general, the static fog computing frameworks designed for applications, such as the smart home or smart factory would not fully address the MFC-specific challenges because they have different perspectives from the involved entities and the topology. For example, a classic fog computing framework, which may involve a thin mobile client-side application for smartphone users, would not consider how to provide a reliable fog service to the high-speed moving vehicles. Moreover, the classic fog computing framework also would not consider how to provide a reliable fog service to vessels at sea where the telecommunication base stations are not available, and the satellite Internet is too expensive.
The goal of this chapter is to provide an introduction and guidance to MFC developments. Specifically, different from the existing works [7, 8] related to MFC, this chapter discusses MFC in four major application domains: land vehicular fog computing (LV-Fog), marine fog computing (Marine Fog), unmanned aerial vehicular fog computing (UAV-Fog), and user equipment-based fog computing (UE-fog).
The rest of the chapter is organized as follows: Section 1.2 clarifies the term MFC. Section 1.3 breaks MFC down into four application domains and describes their characteristics. Section 1.4 enlists the wireless communication technologies used in the mentioned application domains, while Section 1.5 proposes a taxonomy of nonfunctional requirements for MFC. Open research challenges, both domain-oriented and generic, are identified in Section 1.6, and finally, Section 1.7 concludes this chapter.
In this chapter, MFC has its specific definition and it is not an exchangeable terminology with the other similar terms, such as mobile cloud computing (MCC) or multi-access (mobile) edge computing (MEC). In order to clarify the meaning of MFC, one needs to understand the aspects of the parties who introduced or adapted the terminologies. Commonly, MCC refers to a system that assists mobile devices (e.g. smartphones) to offload their resource-intensive computational tasks to either distant cloud [7] or to the proximity-based cloudlet [8].
Fundamentally, MEC is an European Telecommunications Standards Institute (ETSI) standard aimed to introduce an open standard for telecommunication service providers to integrate and to provide infrastructure as a service (IaaS), platform as a service (PaaS), or software as a service (SaaS) cloud services from the industrial integrated routers or switches of their cellular base stations. Explicitly, MEC is an implementation approach rather than a software architecture model. Further, as stated by ETSI, ETSI and OpenFog are collaborating to enable the MEC standard and the OpenFog Reference Architecture standard (IEEE 1934) to complement each other [9].
Today, researchers of industry and academia have been broadly using edge computing as the exchangeable term with fog computing. However, National Institute of Standards and Technology (NIST) and the document of IEEE 1934 standard for fog computing reference architecture, which derives from OpenFog Consortium, have specifically explained the differences between fog computing and edge computing. Accordingly, “the Edge computing is the network layer encompassing the end-devices and their users, to provide, for example, local computing capability on a sensor, metering or some other devices that are network-accessible” [10]. Further, based on the literature in edge computing domain, which include cloudlet-based computing models [11], one can explicitly identify that edge computing is loosely a bottom-up model. Specifically, an edge computing-integrated system emphasizes task offloading from the end-devices to the nearby cloudlet resources, which are capable of providing Virtual Machine (VM) or containers engine (e.g. Docker1)-based service to the other nodes within the same subnet.
On the other hand, fog computing is a hierarchical top-down model in which the system specifically tackles the problem about how to utilize the intermediate networking nodes between the central cloud and the end-devices to improve the overall performance and efficiency. Commonly, such intermediate nodes are Internet gateways such as routers, switches, hubs (e.g. an adaptor that interconnects Bluetooth-based device to IP network). Moreover, a fog node is capable of providing five basic services – storage, compute, acceleration, networking, and control [1]. Correspondingly, when a cloudlet or an IoT device is providing gateway mechanism to the other nodes and they are capable of providing some or all of the basic fog services, we also consider them as fog nodes.
By extending the notion above, MFC is the subset of fog computing that addresses mobility-awareness. Specifically, MFC involves two types – infrastructural fog (iFog)-assisted mobile application and mobile fog node (mFog)-assisted application. In summary, iFog-assisted mobile application enhances the performance of a cloud-centric mobile application by migrating the processes from the central cloud to the stationary fog nodes (e.g. the cellular base station) that are currently connecting with the mobile IoT devices. On the other hand, mFog-assisted applications host fog services on mobile gateways (e.g. in-vehicle gateway devices or smartphones) that interconnect other devices (e.g. onboard sensors, body sensors, etc.) or other things (e.g. proximal cars, people, sensors, etc.) to the cloud.
MFC encompasses four application domains: land vehicular applications, marine applications, unmanned aerial vehicular applications, and UE-based applications. Specifically, each domain involves both iFog- and mFog-based architecture. Ideally, the approaches of iFog aim to provide generic solutions that are applicable to all the MFC domains where the infrastructure is applicable. On the other hand, mFog-based approaches aim to overcome the challenges in which the iFog is inapplicable or is unable to resolve effectively. To clarify the terminologies used in the rest of the chapter, iFog denotes infrastructural fog node and mFog represents the generic term of mobile fog nodes. Moreover, we further classify mFog to four types: LV-Fog, Marine Fog, UAV-Fog, and user equipment-based fog (UE-fog) corresponding to the mobile fog node hosted on a land vehicle, a vessel, a UAV, and a UE (e.g. smartphone, tablet, etc.).
The number of vehicles on the road is increasing every year as well as the number of road accidents [12]. In order to reduce or avoid the collision accident, academic and industrial researchers have been working on improving the safety aspect of the vehicles. Specifically, the advancement in communication technologies has allowed the development of advanced driver-assistance systems (ADAS), which has emerged as an active manner of preventing car crashes. ADAS has made many achievements through the development of systems that include rear-end collision avoidance and forward collision warning (FCW). The vehicle-to-vehicle (V2V) communication plays a big role in ADAS systems and it is manifested in ensuring that the controllers on board the vehicles (i.e. onboard unit, OBU) are capable of communicating with other vehicles for the purpose of negotiating maneuvers in the intersections and applying automatic control when it is necessary to avoid collisions [13]. The success of these systems relies a lot on the reliability of the communication. Therefore, many models of V2V communication have been investigated. Some of them focus on probabilities and analytic approaches in modeling the communication message reception while others adapt Markovian methods to assess the performance and reliability of the safety-critical data broadcasting in IEEE 802.11p vehicular network [14]. Vehicular ad-hoc network (VANET) has also contributed to integrate and improve the car-following model or platooning, which reduces the risks of collisions and makes the driving experience safer [15]. Explicitly, today's smart vehicular network systems have applied the fog computing mechanisms that utilize the cloud-connected OBUs of the vehicle to process the data from the onboard sensors toward exchanging context information in the vehicular network and participating in the intelligent transport systems.
Today, marine data acquisition and cartography systems can achieve low-cost data acquisition and processing by composing IoT, mobile ad hoc network (MANET), and delay-tolerant networking (DTN) technologies. Specifically, sea vessels, which equip multiple sensors, can utilize International Telecommunication Union (ITU) standards-based very high frequency (VHF) data exchange system to route the sensory data to the gateway node (i.e. cellular base station) at the shore via the ship-based MANET. Afterwards, the gateway can relay the data to the central cloud. In general, such an architecture may produce many duplicated sensory transmission readings due to the redundant data transmitted from different ships. In order to remove such duplication and to improve the efficiency, the system can deploy fog computing service at the gateway nodes to preprocess the sensory data toward preventing the gateways sending duplicated data to the central server [4].
Emerged smart UAVs, which are relatively inexpensive and can be flexibly dispatched to a large area under different weather conditions, both during day and night, without human involvement are the ideal devices to handle forest fire detection and firefighting missions. Specifically, with onboard image detection mechanism and mobile Internet connectivity, UAVs can provide real-time event reporting to the distant central management system. Further, in order to extend the sustainability of the image-based sensing mission, the system can distribute the computational image detection program to the proximal iFog hosted on cellular base stations and made accessible via standard communication technologies, such as Long-Term Evolution (LTE), SigFox, NB-IoT, etc. Hence, the UAVs can use their battery power only for flying and sensing tasks [16] (Figure 1.1).
Today's UE devices, such as smartphones, have numerous inbuilt sensor components. For example, the modern mobile operating systems (e.g. Android OS) have provided numerous software components that are capable of integrating both internal and external sensors to support mobile Ambient Assisted Living (AAL) applications such as real-time health monitoring and observing the surrounding environments of the user to avoid dangers. Fundamentally, classic mobile AAL applications rely on the distant cloud to process the sensory data in order to identify situations. However, such an approach is often unable to provide rapid response due to communication latency issues. Therefore, utilizing proximal fog service derived either from the MEC-supported cellular base station or individual or small business-provided Indie Fog [17] has become an ideal solution to enhance the agility of mobile AAL applications [18].
The development of vehicular networking has improved safety and control on the roads. Especially, LV-Fog nodes have emerged as a solution to introduce computational power and reliable connectivity to transportation systems at the level of Vehicle-to-Infrastructure (V2I), V2V, and Vehicle-to-Device (V2D) communications [19]. These networks are shaped around moving vehicles, pedestrians equipped with mobile devices, and road network infrastructure units. Further, these aspects have facilitated the introduction of real-time situational/context awareness by allowing the vehicle to collect or process data about their surroundings and share these insights with the central traffic control management units or other vehicles and devices in a cooperative manner.
To perform such activities, there is a need for adequate computing resources at the edge for performing time-critical and data-intensive jobs [20] and face all the challenges related to data collection and dissemination, data storage, mobility-influenced changing network structure, resource management, energy, and data analysis [21, 22].
Most of the techniques proposed to solve these challenges are focusing on merging the computation power between vehicular cloud and vehicular networks [19]. This combination allows usage of both vehicles' OBUs and RSUs as communication entities. Another side that has been investigated is the issues related to latency and quality optimization of the tasks in the Vehicular Fog Computing (VFC) [20], and it was formulated by presenting the task as a bi-objective minimization problem, where the trade-off is preserved between the latency and quality loss. Furthermore, handling the mobility complexity that massively affects the network structure is addressed by using mobility patterns of the moving vehicles and devices to perform a periodic load balancing in the fog servers [23] or distance-based forwarding (DBF) protocol [19]. The energy management and computational power for data analysis are controlled by distributing the load among the network entities to make use of all the available resources based on CR-based access protocol [22].
Moreover, the design of the Media Access Control (MAC) layer protocol in the vehicular networks is essential for improving the network performance, especially in V2V communication. V2V enables cooperative tasks among the vehicles and introduces cooperative communication, such as:
Integrating IoT to existing legacy marine systems can provide rapid information exchange. Initially, classic marine communication systems utilize VHF radio to obtain ship identification, ship location, position, destination, moving speed, and so forth. Unfortunately, VHF can provide only 9.6 kbps, which is insufficient to provide marine sensory data streaming [28]. Alternatively, ships can utilize the new satellite Internet to deliver their data, which is capable of achieving 432 kbps. However, satellite communication is not affordable for small and medium-size businesses since a simple voice service can cost USD $13.75 per minute [28]. In order to overcome the issue, researchers have introduced fog computing and networking-integrated marine communication systems for the Internet of marine t hings (IoMaT) [4]. Here, we term such a fog computing model Marine Fog.
By integrating a virtualization or containerization technology-based fog server with onboard equipment, vessels are capable of realizing a software-defined network (SDN) that allows the vessels to (re)configure a message routing path dynamically. Afterwards, by utilizing Marine Fog–based SDN mechanism, vessels can easily establish an ad hoc–based DTN, which caches data at the onboard Marine Fog node until the vessel encounters the next Marine Fog node, for delivering sensory data from the data source to the base stations toward relaying the data to the cloud. Moreover, an advanced Marine Fog node within the network may also perform data preprocessing in order to further reduce the transmission latency [29] (Figure 1.2).
Existing wireless sensor network (WSN) architecture in marine monitoring uses sea buoys as sink nodes, capable of communicating with nearby sensor nodes (other buoys, vessels) directly (e.g. using ZigBee), as well as via the cellular Internet network [30]. By introducing the previously mentioned virtualization, the WSN architecture could be extended to be used in Marine Fog. However, this approach amplifies the need for energy-harvesting technology at the buoys.
UAVs, which are also referred to as drones, can be employed in a broad range of applications due to their unrestricted geo-location feature. Hence, they have become one of the major elements in the IoT ecosystem. For example, smart city application can utilize UAVs as mobile sensors that can be sent to critical environments that are dangerous for humans (e.g. a forest fire) [16]. Specifically, by utilizing UAVs, the system is capable of establishing a UAV ad hoc network that is capable of performing a wide-ranged geolocation-based sensory data streaming network dynamically. Moreover, by mounting fog nodes on UAVs to perform sensory data analysis, the system can further improve the agility of identifying the emergency situations.
Below, we describe the features of the UAV-Fog [31], with corresponding examples indicated in Figure 1.3.
UE represents the end-users' terminal devices (e.g. smartphones) that are connecting to an Internet Service Provider (ISP)'s network. Initially, UEs are thin clients in the IoT ecosystem. However, recent research efforts have utilized UEs as one of the major service provisioning elements. Accordingly, the following use cases illustrate the usefulness of fog-integrated UEs (Figure 1.4).
Healthcare is one of the top-five application domains in fog computing that has potential market value up to $2737 billion by year 2022 [33]. Specifically, IoMT applications, which commonly rely on the central cloud for managing data and performing decision-making, are now distributing certain tasks to the intermediate gateways. In particular, IoMT applications broadly utilize UEs (e.g. smartphones, tablets, etc.) as the gateways of wearable body sensors, in order to let the IoMT servers (e.g. hospital) acquire the sensory data anytime, anywhere from the patients. Further, considering the need of agile sensory data stream processing when the patients are in outdoor areas, which may not be able to maintain a high-quality network connection, utilizing the infrastructural fog (e.g. hosted at the cellular base station or ISP's Wi-Fi access points [APs]) can highly improve the overall agility of the data processing and identification of emergency situations. Moreover, considering modern UEs have powerful central processing units (CPUs) and decent storage spaces when the infrastructural fog is unavailable, the processes can also migrate to UEs to support the service continuity [34].
Besides utilizing UEs as computing-based fog servers, UE-based fog computing nodes (UE-fog nodes) are also the ideal networking service providers. For example, replays of soccer matches, which catch important moments of the game, haver become an indispensable element of the sports game for the fans both inside or outside the stadium. Fundamentally, the audience members download the replay video to their UEs via the Internet. However, considering that there can be a large number of requests coming from the audience, the local wi-fi or cellular base stations may not be able to provide sufficient speed, especially when the audience demands high-quality or even ultra-high-quality videos. In order to address this problem, the application can host fog servers in the UEs of the audience to support the SDN mechanism, which allows the service provider to establish a local ad-hoc content caching group among the fans in the stadium and its surrounding areas toward reducing the burden of both the ISP and the soccer replays service provider [35].
Integrating UEs into the fog can raise many advanced people-centric applications that are directly related to people's daily lives. For example, in the lost child situation, local government or police can collaborate with a local ISP to request the SDN mechanism-supported UE-fog nodes, which are hosted on the smartphones of the people on-site, to assist the lost child situation by utilizing the inbuilt cameras and audio recorder of the UEs as the sensors, then utilize some of the more powerful UE-fog nodes as the super-peers to route the data to the local cloud of the ISP, which is accessible by the government and the police, toward hastening the entire process. Moreover, the UE-fog nodes that have high-performance computational power can also provide context as a service (CaaS) instead of routing the raw sensory data [36]. Specifically, CaaS mechanism–supported UE-fog nodes allow the requesters to deploy their own data processing algorithm to UE-fog nodes toward preprocessing the raw sensory data and hastening the overall process.
In this section, we give an overview of communication technologies used by mobile things and mobile fog nodes in each of the major application domains. Unsurprisingly, in existing literature Wi-Fi technology is most prevalent, due to the ready availability of devices with 802.11 support: routers, smartphones, single board computers. Wi-fi is suitable for mFog thanks to the easy mobility of Wi-Fi AP technology. On the other hand, 4G technology, e.g. long-term evolution (LTE), which needs static base stations is the dominant option for iFog.
The fast movement of nodes among road network environment has obliged the existing protocol for the physical layer to consider multipath fading and Doppler frequency shifts. Therefore, the trend is to use very high-frequency radio waves, such as micro or millimeter waves.
The IEEE 802.11 set of specifications, commonly referred to as Wi-Fi, is the most widely used wireless communication technology found in fog computing. Since Wi-Fi infrastructure is widely deployed in homes, offices, public spaces, and so forth, it is the natural choice for fog-thing and fog-UE communication, with the fog node hosting the Wi-Fi AP.
The standards 802.11n and 802.11ac, for instance, have a typical data rate of 200 and 400–700 Mbps respectively, the typical range of 802.11 routers in the 2.4 GHz band can be up to 50 m [37]. The next generation 802.11ax promises to enhance data rates further, but it is unlikely that significantly higher coverage range will be achieved in practice, due to the recent versions using the 2.4 and 5 GHz bands.
Interestingly, advertising capabilities of 802.11 can be improved by including additional information (e.g. fog node capability and status) in the 802.11 advertising beacons [38].
The mentioned signal coverage ranges are suitable in domains where the client device mobility speed is low; consider, for example, pedestrians in UE-fog. Additionally, the smartphones already employ the technology. Existing UE-fog research that does not include real-world technology choice and simply consider the data rate aligns with the capabilities of wi-fi. For example, even 6.9 Gbps rates [39] are theoretically supported by 802.11ac. In terms of existing research prototypes, laptop hotspots are a common choice to establish the wi-fi AP [40–42]. Since laptop hotspots generally operate with 802.11n technology, it is important to consider the newer standards in future fog prototypes.
In UAV-fog, following the mFog concept, a wi-fi AP could reside at UAV node or, alternatively, static 802.11ac APs may act as sink nodes supporting a group of UAVs [16].
IEEE 802.11p, a.k.a. wireless access in vehicular environments (WAVEs) is adapted for the wireless environment with vehicles. In addition, they are designed in such manner that they are very suitable for single hop broadcast V2V communications; however, this technology suffers from an issue related to scalability, reliability, and unbounded delays due to its contention-based distributed medium access control mechanism [23, 43].
For maritime use cases, the coverage ranges offered by Wi-Fi are generally not suitable. However, Wi-Fi is useful in vessels for onboard networks where the clients are crew and passengers, but such scenarios can be categorized rather as UE-fog.
Currently operating cellular networks target the requirements of the 4G standard (also known as IMT-Advanced), specified by the International Telecommunication Union (ITU) in 2008 [44]. For instance, the requirements suggest 100 Mbps data rates for clients moving at high speeds (e.g. in a train) and 1 Gbps for stationary situations.
Among technology standards accepted as fulfilling the 4G requirements are IEEE 802.16m (WiMAX v2) and 3 GPP Long Term Evolution-Advanced (LTE Advanced), the latter of which has seen far bigger deployment and thus is the common option for existing mobile fog.
To supersede 4G, the ITU is defining requirements for the 5G networks, also called IMT-2020. The 2017 draft of technical performance requirements [45] notes peak data rates of 20 and 10 Gbps for downlink and uplink, respectively, and specifies channel link data rates for four different mobility classes. 5G also specifically targets supporting cases where the density of devices is large, growing from 4G's 105–106 devices km−2 [46].
5G networks are enablers for smart collaborative vehicular network architecture since they provide possibilities for fulfilling the requirements of reliability, handover, and throughput of future vehicular networks [47]. LTE D2D-based VANET has proven to be suitable for the safety-critical IoV applications, thanks to their effectiveness in coping with high mobility and precise geo-messaging [43].
The MEC paradigm has introduced the handover and migration of VMs to the cellular base stations for supporting the UE [48–50], however, the similar idea potentially applies to the other mobile fog domains.
In maritime fog systems, the shore-located cellular base stations can be leveraged to also act as sink nodes [4, 51], gathering sensor data from the vessels. Multiple access techniques, such as nonorthogonal multiple access (NOMA) offered by 5G, are considered useful for UAV cloudlets to maximize efficiency [52]. However, generally 4G/5G coverage is available in more urban areas, so for marine communication at sea or UAV deployments in remote areas, alternatives such as satellite communication need to be considered.
From the perspective of the mobile thing, wireless personal area network (WPAN) technologies such as ZigBee (802.15.4) and Bluetooth (801.15.1) are suitable for lower bandwidth and lower energy communication needs, such as interacting with IoT devices or exchanging metadata.
The shorter range, while unfit for marine scenarios, can be applied in UAV-Fog since use cases, such as supporting land/marine vehicle, mandate that the UAV itself will adjust its location to stay close to the peers [31].
The traditional Wi-Fi AP-based infrastructure can be expanded using Wi-Fi direct. Here the client devices form a local Wi-Fi direct group, reducing the load on the AP by locally disseminating the data [35, 53] and advertising device services [54].
Bluetooth and Bluetooth Low Energy are common choices for UE when mediating data from other devices to a fog node (e.g. Wi-Fi AP-based), for instance, forwarding sensor data from Medical IoT devices [5].
Near-field communication (NFC) radio-frequency identification (RFID)-based technology, such as NFC may add an additional layer of physical security due to the extremely low signal range, for instance in UE-based Mobile-to-Mobile computation off-loading [55].
VHF marine radio VHF is the internationally used technology for marine radio in the frequency range 156—163 MHz. Typical range of VHF is reported to be up to 70 nautical miles from a land-based station [56], while ship-to-ship signal range is below 40 km [57]. However, VHF is limited in supported data rate, which is below 30 kbps. While VHF may be sufficient to transmit sensory readings from ships to shore-deployed fog nodes [4] for aggregation and forwarding, the low data rate is unsuitable for agile transfer of larger data (e.g. video streams or VM images).
Satellite systems offer higher speeds compared to VHF and provide the greatest signal coverage, which is an important factor considering the distances involved in the marine domain. Yet, due to their high cost, these are a viable option only for larger vessels [57, 58].
Low-power wide-area networks (LPWANs) long range (LoRa) has been receiving attention lately as an energy-efficient, long-range wireless technology. In the mF2C project [29], the physical layer-LoRa, accompanied with LoRaWAN at the data link layer is used for ship-to-ship communication, while [59] use it for ship-to-shore communication in harbors. LoRa with LoRaWAN can cover up to 15 km in rural areas with a data rate up to 37.5 Kbps [60], making it a lower-energy alternative to VHF.
Sigfox and NB-IoT can be considered as competitors to LoRaWAN. While LoRaWAN and Sigfox operate in unlicensed bands, NB-IoT operates in licensed frequency bands.
Dedicated short-range communications (DSRC) is another technology defined especially for VANET, which are one-way or two-way short-range to medium-range wireless communications designed for allowing V2V and V2I communications. It is characterized by its frequency of 75 MHz licensed spectrum in 5.9 GHz band, which is provided by Federal Communications Commission (FCC) in the United States [20, 26].
An MFC system needs to address a number of nonfunctional requirements in order to achieve the basic quality of service (QoS) principles. In order to provide a comprehensive guide to the developers, this section describes the nonfunctional requirements in five aspects – heterogeneity, context-awareness, tenant, provider, and security.
Figure 1.5 summarizes the elements of the five aspects of the nonfunctional requirements. In general, the five aspects are corelated to one another. For example, heterogeneity is a common factor that needs to be considered when the fog tenant plans to choose which fog server to use to deploy their applications. Similarly, context awareness, which represents the runtime factors, is also influencing the decision of when and where to deploy and execute the tasks. Furthermore, the tenant-side end-device or end-user (i.e. tenant-side clients) is influencing the decision of how the provider of fog servers manage the fog nodes. On the other hand, the QoS of the provider's fog nodes also influences the decision for the tenant to choose the right fog node for tenant-side clients. In addition, although all the four MFC domains involve the five aspects, the complexity level of each aspect in a different domain can be quite different. For example, an application scheduling scheme designed for LV-fog may require significant adjustment when the developers intend to apply the scheme to UAV-fog because the heterogeneity level and the context factors are very different between the two domains.
As indicated above, we distinguish the tenant and the provider in which the providers represent the owners who own the fog server machines and are providing the fog infrastructure and PaaS to application service providers known as the tenants in a multitenancy manner [61]. For example, a telecommunication company such as Vodafone may host fog servers on their base transceiver station (BTS) and enable the accessibility of the fog server via 4G/5G/5G NR (https://www.qualcomm.com/invention/5g/5g-nr) communication. Therefore, application service providers can tenant the fog servers and deploy fog-based applications on the servers toward serving the tenant-side clients. Correspondingly, Figure 1.6 illustrates the relationships among the involved entities.
Note that although, in a general perspective, fog servers are expected to support multitenancy [61], in many cases, service providers may provide the fog nodes in a highly integrated manner in which a single provider manages both the underlying fog servers and the application services. For example, it would be a common case that an indie fog [17]-based UE-fog service provider who follows the common standards to provide the micro-fog services from their own customer premises equipment (CPE) would manage both the fog service software and the host hardware. As another example, Marine Fog systems would deploy the integrated fog nodes on vessels based on the isolated platform for marine activities in order to prevent security issues.
Based on the state-of-the-art literature in both iFog and mFog across the four MFC domains, we explain the elements of the five aspects and what needs to be addressed in order to achieve the QoS in MFC.
There are three types of heterogeneity: server heterogeneity, end-device heterogeneity, and end-to-end heterogeneity.
Different to the common IaaS/PaaS-based cloud services, which are virtual resources, fog services are hosted on resource constrained physical equipment that has limited computational power and networking performance. Therefore, when tenants intend to deploy their applications, they need to consider the compatibility, connectivity, interoperability, and reliability of the fog servers. Specifically, we can classify the heterogeneity of the fog servers into two aspects: hardware type and software type.
The heterogeneity in hardware specification and the software specification of the end-device/user influences the overall QoS and QoE that tenant can provide. In order to achieve the best QoS and QoE, tenants need to choose fog nodes that are most compliant and most efficient for their end-devices. Specifically, end-device heterogeneity involves hardware specification in terms of the type of the device (e.g. smartphone, mobile sensor, drone, etc.), and computational power and network capabilities, which influence how the end-device/user interact with the tenant's fog applications deployed on the provider's fog server. Further, from the software specification aspect, the tenants need to consider what software they can install at the end-device/user-side and how well the client-side software may perform when it interacts with the fog nodes?
The end-to-end network heterogeneity involves the three aspects listed here, and all of them would influence the performance of the other nonfunctional requirements.
The context represents the runtime factors that influence the server operation and the applications. In general, the context of MFC involves the follows:
Server context influences the serviceability and sustainability of the fog server. Specifically, it involves the following runtime factors:
Mobility context includes a number of movement-related factors that influence the accessibility and connectivity between the tenant-side client and the fog node. In particular, mobility context includes the following elements [27, 62, 63]:
The end-to-end context represents the factors that influence the communication performance between the tenant-side client and the fog server. Essentially, a system can measure the end-to-end context based on the server context and mobility context. Hence, one can consider that the end-to-end context is a second level context. In summary, end-to-end context involves the following factors [26, 64]:
Application context influences the server-side performance and also the tenant-side decision regarding where the application should perform the task. In some cases, the process involves handling large amounts of sensory data locally at the tenant-side client, which could be more energy efficient than distributing the task to a fog server, because the involved data size is too large for the tenant-side client to transmit it to the fog server effectively. In summary, application context involves the following elements [28, 64]:
The nonfunctional requirements of tenants, who are responsible to manage the fog applications, aim to achieve the adaptability of runtime fog applications that involve both application services deployed on the fog servers and the application clients operating on the end-devices. In order to comply with the dynamic MFC environment, tenants need to address the adaptability at each phase of the application management. In general, the management of fog applications, which fundamentally are process management of IoT applications [65], encompasses three basic phases: (re)design, implement/configure and run/adjust.
Besides the process and task management aspects, tenants need to consider the cost of energy and tenancy. First, energy cost commonly refers to the energy consumption of battery-powered end-devices. Here, the tenants should optimize the application design and the runtime processes in order to minimize the energy consumption of the end-devices toward extending the sustainability of the overall processes.
Second, the cost of tenancy indicates the cost-performance trade-off of the application. Specifically, in some cases, the tenants intend to achieve the best agility in terms of task allocation, execution, and migration, they would pre-deploy the application at every single fog node that potentially will be encountered by the end-devices. For example, in the AAL-based application, the tenant might have deployed the application at all the fog nodes on the potential moving path of the patient in order to perform proactive fog-driven sensory data reasoning [18]. However, such an approach may demand a high tenancy cost for the tenant, especially when we consider that the patient (the end-device) may not encounter some of the fog nodes.
The multi-tenancy-supported fog server providers are responsible to provide adaptive application deployment platforms for the tenants and to cater reliable accessibility to the tenant-side clients.
In order to achieve high QoS for the fog servers, the providers need to address the following aspects.
The physical placement represents where the providers should deploy their fog servers. Commonly, in the case of iFog, the provider may enable fog servers on all the possible nodes (e.g. cellular base stations) and rely on the underlying communication technologies (see Section 1.4) to support the accessibility. On the other hand, in case of mFog [24, 63], providers need to identify the best geo-location to place the mobile fog nodes in order to provide the best QoS to the end-devices and also to support the cost-efficiency of the operation. For example, in UAV-Fog, the provider may choose the locations for the mobile fog nodes based on the density of the end-devices, the signal coverage of the fog node, the distance between the fog server and the end-devices, and the other context factors described in the previous content related to context-awareness. In general, the primary goal of physical placement is to achieve the lowest latency in terms of request/response time, application service handover time, and application task migration time.
Server discoverability is a specific requirement for the multitenancy fog services, and it involves two phases.
In general, fog servers have limited resources in which they can serve a fairly limited number of tenant-side applications at each time slot. Therefore, fog servers require dynamic and optimal mechanisms to support their serviceability. Here, we list the basic elements involved in the operation management of fog servers.
Operating fog servers can be costly for the providers especially when the providers are unable to identify what tenants really demand. For example, stream data filtering is a common method used in fog computing and the corresponding program can be quite simple in comparison to the scientific programs operated on the cloud. However, in the classic approach, the tenant may need to wrap the simple program to a package that runs on the resource-intensive VM environment because the provider was following the classic cloud service deployment approach to providing the fog server. Explicitly, the provider has inefficiently increased the burden of the fog node while providing excess service to tenants who demanded only a simple method. Therefore, the provider should consider what are the most cost-efficient service types that should be supported by the fog servers. Beside the service type, the providers of the battery-powered mobile fog nodes need to specifically address the energy-efficient of the fog servers in order to improve their sustainability. For instance, although providers can easily replace UAV-Fog nodes, considering the extra latency derived from the process/task handover and migration while replacing the UAV-Fog nodes, frequently replacing UAV-Fog nodes will reduce the QoE for the tenant-side clients.
In large-scale MFC systems, the classic perimeter-based security approach will not suffice, security strategies in MFC must account for various factors: physical, end-to-end, and also monitoring and management.
Since the fog nodes will be deployed in the wild (e.g. road-side infrastructure in LV-Fog), physical exposure is a more serious threat than in conventional enterprise or cloud computing. The devices need antitamper mechanisms that prevent, detect, and respond to intrusions, while simultaneously considering how to allow maintenance operations without compromising these mechanisms [61].
End-to-end security is concerned with the security capabilities of each device within the MFC, spanning different layers of the fog architecture and devices therein.
Based on RoT-s, the nodes must have the capability to provide trusted execution environments. In the case of virtualized environments, this can be achieved through virtual trusted platform modules.
Some nodes in the MFC system can provide security services on the network through network function virtualization (NFV) and SDN, for example, deep packet inspection.
The system must be capable of observing security state in the network and reacting to new threats via monitoring and management mechanisms. Security management should allow definition and updating of security policies and propagation of the policies over the network in real-time.
In addition to policy management, identity and credential management is a requirement. In addition to the necessary registration and credential storage functions, an MFC system must handle the challenge of authentication and access control in situations with intermittent connectivity, e.g. negotiating session keys when crossing different trust domains while ensuring data integrity and privacy [67]. Security monitoring, on the other hand, should collect log traces while ensuring their integrity.
The OpenFog security requirements define at least two logically separate security domains: (1) policies concerning the collection of Fog entities within the system that can interact with one another and (2) for policies regarding the individual services and applications being executed and provided on the platform.
Fog computing has been introduced to overcome many challenges that cloud computing was incapable of handling, such as latency-sensitivity, connectivity between the large set of cloud-based applications, etc. Therefore, many researchers investigated and proposed different architectures for introducing fog computing into the traditional cloud computing to create an extension of the existing design. This action resolved into solving some of the old obstacles and generate new perspectives and ambitions that led to new challenges.
Introducing the cloud computing into VANET was redemption since it provided a solution to most challenges that traditional design of VANET faced, such as decreased flexibility, scalability, poor connectivity, and inadequate intelligence [72]. However, the new generation of VANET has introduced new requirement with respect to the high mobility, low latency, real-time applications, and reliable connectivity. For all these reasons, adding fog computing to the equation has emerged as a potential solution. Based on the existing research it seems that there are still some obstacles to be dealt with, for example, the management of fog server in geographically distributed fog nodes. The difficulty relies on the positioning of each edge server in a given area, which is important for fog approach and it considers many parameters, such as vehicles density, traffic status data, and processing load on the servers. Another challenge is related to management of neighboring fog servers with respect to communication and access, which can be affected by the environment. Finally, the assessment and handling dissemination of real-time critical message can be problematic, since design should be capable of distinguishing between a true or false event [73].
Existing works [4, 28] have proposed the frameworks for improving the efficiency of the communication and for application management in the hybrid MFC environment that consist of both iFog and mFog nodes. Essentially, comparing to the UAV-Fog nodes and the UE-fog nodes, the Marine Fog nodes do not have the resource-constraint issue in terms of computation and data storage. However, because the operating marine environment lacks infrastructure, the communication between the Marine Fog nodes and the distant central cloud faces the latency issue derived from the limitation of the underline network topology and technology. For example, the bandwidth of the common VHF radio used in maritime communication can reach only 28.8 kbps and the range of the infrastructure-less 4G/5G LTE device-to-device communication is unable to fulfill the need of a marine environment. In order to overcome the fundamental communication issue, developers may consider integrating UAV-fog nodes [31] in which the system can deploy the UAV-fog nodes between vessels to form a mesh network toward dynamically supporting better bandwidth and more stable connection. However, UAVs have a limited available operation time slot because they are battery-powered. The system needs to introduce an adaptive scheduling scheme, physical location placement scheme. Further, the system needs to dynamically adjust the movement of the UAV-fog nodes based on the interconnected vessels in order to seamlessly maintain the mesh network.
Current works in UAV mFog [32, 52] were focusing on the underlying system design and communication mechanisms. Although UAV-Fog nodes have many potential applications due to the features in terms of fast deployment, scalability, flexibility, and cost-efficiency [31], integrating UAV-Fog nodes to pervasive computing systems or IoT systems raises many new challenges besides the underlying communication mechanisms. Specifically, existing works have not fully addressed the requirements for both tenant and provider. For example, although an existing work [63] has proposed schemes that enable UAV-Fog nodes to perform data-driven service handover, which transfers the client data from one UAV-Fog node to another, this scheme was designed for a domain-specific application in which the author assumes the system has preinstalled the application to all the UAV-Fog nodes and hence, at runtime, the UAV-Fog nodes need only to transfer the client data in order to support the mobility. On the other hand, considering the multitenancy fog service model, preinstalling applications to the UAV-Fog nodes for all the tenants will cause a high burden to the storage size, especially when the application involves large size files. Therefore, UAV-fog nodes require the mechanism that supports rapid and dynamic application management in terms of task allocation/placement and task migration.
There exist a large number of frameworks designed for supporting mobile UE from iFog. However, existing works rarely address the challenges in UE-fog nodes. The use cases described in the previous section indicate that systems which integrate UE-fog nodes require a dynamic program deployment mechanism. For example, in the advanced crowd sensing use case, which utilize UE-fog nodes to provide the interpreted context information derived from the collected sensory data, the UE-fog nodes need to provide the corresponding service that allows the clients to deploy the program code of the context reasoning algorithm on the UE-fog nodes. Explicitly, considering the UE-fog nodes have constraint resources, they are unable to support the common VM or containers engine-based service for the dynamic program deployment. Instead, developers generally would develop the standalone solutions which leave the interoperability as an unsolved problem in UE-fog. In order to address such an issue, developers may consider integrating an open standard–based service interface or to develop a specific mobile fog node description language based on the extension of existing cloud service-based standard, such as OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA).
The complexity of the MFC topology, which encompasses the hierarchical, vertical, and horizontal interconnections among the cloud, the iFog, the mFog, and the end-devices, has increased the challenges in system design and validation. Commonly, the developers of the distributed computing system, such as cloud services, pervasive services, or mobile services, have a broad range of simulation options (e.g. CloudSim [http://www.cloudbus.org/cloudsim], the ONE simulator [https://www.netlab.tkk.fi/tutkimus/dtn/theone], and iFogSim [https://github.com/Cloudslab/iFogSim], etc.) to validate their system designs. However, existing simulation tools are insufficient to validate many MFC systems because they are unable to address all the elements of MFC. For example, although the cloud service–based simulation tools are capable of simulating the hardware heterogeneity, they do not include mobility-related factors. For another example, while the mobile service-based simulation tools are capable of simulating the movement of entities, they do not have corresponding mechanisms to simulate the complete MFC network that contains the hierarchical and the vertical interconnection among the entities. Finally, iFogSim is capable of simulating the stationary fog nodes but it does not provide the mechanism to simulate the mobile fog nodes. Consequently, integrating the existing tools to develop a comprehensive MFC testbed becomes a critical challenge.
To achieve optimal operation in MFC, the system demands autonomous adjustment and rapid redeployment based on context-awareness and the real-time system process analysis. In particular, considering an MFC system with the large-scale deployment of mFog and iFog nodes, manned optimization becomes impractical and inefficient. In order to overcome such an issue, the system needs to introduce a certain level of self-aware mechanisms to the fog nodes. Specifically, at an early stage, the system manager can preconfigure the basic knowledge to the fog nodes that help the fog nodes to identify the situation at runtime and to adjust or to redeploy the fog service. While the system continuously operates, the fog nodes should support edge intelligence mechanism in which the fog nodes together with the back-end cloud can study the historical records of the operation in order to identify the weak parts and to perform adjustment and redeployment automatically. For example, by enabling edge intelligence on the UAV-Fog nodes, the UAV-Fog nodes are capable of learning when and where to adjust their location, when and where they should migrate or redeploy their services, or when they should reserve their computational resources in order to provide the best QoE to the tenant-side clients.
A few works have addressed fog application scheduling for hybrid MFC environments that consist of both iFog and mFog nodes. However, existing frameworks for mFog either designed for a specific purpose, such as for data routing in SDN [28], or for process/task distribution [20, 64], have not considered all the contextual factors (see Section 1.5.2) and the heterogeneity factors (see Section 1.5.1). Specifically, besides the movement of the entities, the tenants' application scheduling scheme should consider that the fog servers have the different computational and networking performance at different time slot due to the hardware specifications and the runtime context factors. In other words, developers need to have insight into the processing delay by considering all the factors toward proposing the optimal application scheduling scheme.
In general, fog nodes have limited resources to serve tenants because they are fundamentally the independent network gateway devices that do not interconnect with one another in a short range like the server pools in the cloud. In other words, introducing computational scalability in MFC faces the network latency challenge. Commonly, providers of fog servers may manage multiple fog servers that are interconnected vertically within the hierarchy or are interconnected horizontally in a peer-to-peer manner. However, since the primary objective of fog servers in MFC is to serve the tenant-side clients, the distances between the fog servers are rarely within the range that is capable of achieving ultra-low latency. Therefore, the classic cloud-based scalability scheme is incompatible in MFC and hence, scalability becomes an unsolved challenge, especially for mFog environments. In order to address the challenge in scalability, the developers may consider developing a hybrid framework that integrates opportunistic computing, SDN, and context-aware software architecture toward enabling an adaptive fog service topology that can be orchestrating the fog servers in a highly dynamic manner.
Fog computing has appeared as a paradigm that extends Cloud computing and offers interesting and promising possibilities to overcome the limitations of the traditional environment. However, fog computing still faces a challenge with respect to mobility when the tasks come from ubiquitous mobile devices or applications in which the data sources are in constant movement. Therefore, this chapter pointins a spotlight on the development and advancement in the MFC and its related models. In this process, it reflects the areas where MFC is needed and has a very positive impact on enhancing the existing systems and opening new directions for evolving the environment, such as in the infrastructures, equipment and devices, land and marine vehicles, autonomous vehicles, etc. In addition, it investigates the communication technologies that have emerged or upgraded based on MFC with an emphasis on the added value that facilitated the process of solving some of the big challenges existing in the traditional design. Furthermore, the chapter also presents, in a comprehensive manner, the basics of nonfunctional requirement needed to achieve the basic QoS principles. Finally, it addresses the important open challenges that still need to be addressed in the new environment designed under the MFC framework.
The work is supported by the Estonian Centre of Excellence in IT (EXCITE), funded by the European Regional Development Fund.