6
Middleware for Fog and Edge Computing: Design Issues

Madhurima Pore Vinaya Chakati Ayan Banerjee and Sandeep K. S. Gupta

6.1 Introduction

Edge computing and fog computing have combined in a way to facilitate a wide variety of applications that involve human interactions, which are geographically distributed and have stringent real‐time performance requirements. The Internet of Things (IoT) or Internet of Everything (IoT) has introduced edge devices that now obtain information from user environment and need to respond intelligently to changes in real time. The scale of an application has increased from mere single mobile device to a large number of edge devices that are geographically distributed and change locations dynamically. Even though cloud support can be used in processing the data generated by the edge devices, the delay incurred in communication to cloud devices is excessively more than the real‐time constraints of some of the latency sensitive applications. With such a large scale of data being generated in geographically distributed locations, sending the code toward the data is in some cases more efficient than processing in the cloud. Fog computing introduced computation solution in the form of fog devices, cloudlets, and mobile edge computing (MEC), which provide computation services in the network edge. It can also meet the real‐time requirements of such applications.

Apart from the components that pertain to application logic, there are large design components that perform the underlying task of managing the network, computation, and resources of fog and edge architecture (FEA). Due to the dynamically changing context in the edge devices, underlying algorithms for managing the execution and processing data become complex. In addition to the processing and data communication of the distributed application, the control data and algorithm decisions incur excess resources when they are executed on the edge devices. In this chapter, we discuss different aspects of design of middleware for FEA.

6.2 Need for Fog and Edge Computing Middleware

Fog and edge computing are gaining acceptance due to high availability, low latency and low cost. Domains such as smart cities, virtual reality and entertainment, vehicular systems use edge processing for real‐time operations [1, 2]. The efficient design of middleware enables the realization of full potential of fog and edge infrastructures. Middleware handles different tasks such as communication management, network management, task scheduling, mobility management, and security management, thereby reducing the complexity of the distributed mobile application design.

Middleware design of fog/edge infrastructure is challenging because of the stringent application requirements such as (i) availability of context on the sensing devices; (ii) cost of data transfer and processing in different tiers of FEA; (iii) limitations on number of edge devices present and dynamic changes in context and mobility of the devices; and (iv) strict latency constraints. Including the dynamically changing context of a user and capturing the user interactions patterns can essentially enable intelligent and informed execution of the applications.

In this chapter, we present state‐of‐the‐art middleware for fog and edge infrastructures and propose an architecture of middleware that supports distributed mobile applications with specific requirements of applications. Proposed middleware primarily focuses on application‐aware task scheduling and data acquisition.

6.3 Design Goals

A varied class of mobile applications can utilize FEA middleware. Requirements for emerging applications can be summarized as following:

  1. Newer distributed applications increasingly demand a large number of resources and low latency to meet the real‐time response constraints. While the use of cloud has eased the implementation of large‐scale distributed mobile applications, in many newer applications, the strict real‐time response may not be feasible unless processing is done near the edge.
  2. Geo‐distributed edge applications such as monitoring oil plant and electricity grid management are geographically distributed. Processing enormous sensor generated data streams in real‐time constraints require a large processing facility, but also incur huge communication infrastructure or bandwidth. Edge infrastructure can reduce the communication overhead involved in large data streams.
  3. Large‐scale distributed management applications such as connected railways and smart grids involve processing huge data in real time to provide control towards reliable operation. Increasing real‐time monitoring and analytical processing in edge can adapt the system itself to dynamic faults and changes.
  4. Smart and connected applications such as real‐time traffic monitoring and connected vehicles can leverage local edge infrastructure for fast and real‐time updates and response related to locally sensed data.

Even though the FEA can support different types of applications, common functionalities that are required in such applications can be provided by the middleware. Following are design goals of FEA middleware.

6.3.1 Ad‐Hoc Device Discovery

Data sources in fog/edge may belong to a wide category of devices ranging from IoT sensors, mobile devices to fixed sensors. The data are processed locally or sent to fog/edge devices for further processing. A channel of communication needs to be set up between the requesting devices and ad‐hoc discovered devices that perform the application task of acquisition and processing. Once a communication channel is set up, it allows dynamically changing set of devices to join and participate. Given the dynamic nature of participating edge devices that acquire and process the data, the device discovery allows setup of a communication layer to enable further communication between devices.

6.3.2 Run‐Time Execution Environment

The middleware provides a platform that executes the application task remotely on the edge devices. Functionality includes code download, remote execution in the edge devices, and delivery of results such that they are available to the requesting device.

6.3.3 Minimal Task Disruption

Task disruption during execution affects the reliability of execution of FEA task. Often it results in reinitialization of the task or undesirable/unavailable results. Device usage patterns, mobility, and network disconnections may cause unexpected changes in the context of the device. This may render the device inappropriate for continuing the execution of sensing or computation task. Anticipatory techniques can be used to minimize the interruption in tasks, thereby promoting intelligent scheduling decisions.

6.3.4 Overhead of Operational Parameters

Establishing communication between ad‐hoc edge devices, selection of candidate edge devices, distribution of FEA tasks between multiple edge devices, and managing remote execution in a sequence of FEA tasks incurs additional usage of bandwidth and energy consumption on the edge devices. As these resources are expensive, minimizing these operational parameters is an important aspect of middleware operations. Additionally, several devices may enforce usage limit on their resources that are available for sharing.

6.3.5 Context‐Aware Adaptive Design

Innovative contexts such as the mental state of [35] and user activity [6] are now used in mobile applications for sensing useful data. For successful execution in FEA, dynamic changes in the context of the devices as well its environment require the middleware to adapt to these changes. Self‐adaptive services can enhance its operations and improve the FEA quality of service.

6.3.6 Quality of Service

Quality of service (QoS) of an architecture is highly dependent on the application. Many edge/fog applications use multidimensional data for achieving specific goals. Acquiring and processing such huge sensor data within real‐time constraints is a requirement for these applications. Real‐time response is an important QoS measure. Other application specific QoS parameters can be the relevance of the acquired data, its correctness, and uninterrupted data acquisition.

6.4 State‐of‐the‐Art Middleware Infrastructures

Applications in fog and edge computing are discussed in some of the recent works. Real‐time data streaming applications include traffic monitoring Waze [7, 8], smart traffic light systems [9], real‐time replay in the stadium [10], and video analytics [12, 13]. Real‐time applications that process the requests for emergency rescue in disaster and searching for missing persons [10, 11]. Application of geographically distributed systems such as wind farms [9] and smart vehicle‐to‐vehicle systems [14] are becoming popular in fog and edge computing. Common requirements of these applications present a need for middleware to support easy design and development of such applications.

Middleware features such as security, mobility, context awareness and data analytics addressed in recent research are shown in Table 6.1. Popular IoT platforms such as GoogleFit [15, 16] have a cloud‐based IoT middleware for smartphones. Provisioning of sensing services on the mobile devices is discussed in M‐Sense [17]. Service oriented middleware like GSN [1820] are proposed for processing data in the distributed environment. Further, Carrega et al. propose microservices‐based middleware using a user interface [20]. In FemtoCloud system, the mobile devices in the edge can be configured to provide the services to requesting devices [21]. “Process on Our Own (PO3)” concept where a data stream generated on each device is processed on itself is proposed by Nakamura et al. [22]. CoTWare middleware proposed by Jaroodi et al. suggests a novel way of integrating things, fog devices, and cloud by using cloud‐hosted services to manage processing of IoT data in fog resources [23]. MobiPADs [24] and MobiCon [25] are context‐aware middleware solutions that enable adaptive design in mobile applications by reconfiguring the services with respect to dynamic changes in context for edge devices. Recently proposed CloudAware [26] is an example of adaptive middleware for constantly changing context such as connectivity for cloudlet.

Table 6.1 Middleware features in fog and edge architectures.

Devices Security Mobility support Context awareness Data analytics Optimized selection of devices
FemtoCloud [21] Mobile N N Y Y Y
Nakamura et al. [22] Mobile and sensor N N N Y N
Aazam et al. [27] Fog, MEC, Cloud Y N N Y Y
Bonomi et al. [9] Fog, Cloud N Y N Y Y
Verbelen et al. [28] Mobile Cloudlet N N N N Y
Cloudaware [26] Cloudlet N Y Y N Y
Hyrax [10] Cloud N Y N N Y
Grewe et al. [14] MEC Y Y N Y Y
Carrega et al. [20] MEC, Fog Y Y N Y Y
Piro et al. [16] Cloud Y Y Y Y Y

6.5 System Model

FEA includes devices that can be broadly classified into five types, as shown in Figure 6.1. Mobile devices connected with sensors and actuators are the nearest devices to the users. As the processing devices move away from the edge, the latency of the communication increases. Also, the availability of resources for processing and data storage increases toward the cloud. The components of FEA are discussed in detail in the following sections.

Diagram depicting Fog and edge computing devices: Cloud data center; Cloudlet/MEC; Fog servers; Personal devices; Sensors/actuators.

Figure 6.1 Fog and edge computing devices.

6.5.1 Embedded Sensors or Actuators

Embedded sensors and actuators are installed in physical structures or deployed on a human body. The sensors are responsible for obtaining the environmental or physiological signals that are processed by the system, while the actuators execute the actions initiated by the system. Built‐in networking capabilities allow these devices to communicate to the nearby devices. They may also have a limited computing capability.

6.5.2 Personal Devices

Personal devices, or smartphones, inherently demonstrate mobility as they are owned by human users. These devices connect with the embedded sensors and actuators. They often act as an intermediate data hub or computation platform, and/or provide a communication link to servers. A part of their resources may be shared to execute the fog and edge distributed applications.

6.5.3 Fog Servers

Fog servers are computationally more powerful than the personal mobile devices.

As these devices are closer to the edge, they provide a cheaper option for offload with respect to communication costs. These nodes exist between the edge devices and cloud. They can be used to process data and also act as intermediary storage. Further, communication to other edge devices can be achieved through peer‐to‐peer (P2P) or device‐to‐device (D2D) techniques such as WiFi, Bluetooth, and WiFi Direct.

6.5.4 Cloudlets

Cloudlets were proposed by Satyanarayan et al. [29] as a small‐scale dedicated set of servers that have high bandwidth Internet connectivity but are situated close to the edge. They are also known as a data center in a box. Another implementation of edge computation is offered by telecom companies that bring the compute resources in the base station of mobile towers. They are known as mobile edge computing (MEC) servers.

6.5.5 Cloud Servers

Cloud servers have the most computational, communication, and storage capability in the hierarchy. The cloud servers are usually associated with a pay‐as‐you‐go model. They can easily scale the number of VMs according to the request.

6.6 Proposed Architecture

Fog and edge computing applications include the following: (i) batch processing that needs large‐scale data acquisition and distributed processing; (ii) quick‐response application that needs a response in real time; and (iii) stream applications that require processing of a continuous data stream in real time [11, 12].

Such applications exist in different domains such as healthcare, emergency rescue and response systems, traffic management, vehicle‐to‐vehicle systems, and environment monitoring. Due to huge processing requirements, such applications need a large distributed architecture that processes data in multiple tiers. Lower tier near the edge perform filtering, preprocessing, and extraction of useful information while the edge and fog servers are used for processing and analytics. FEA (Figure 6.2) mainly consists of middleware services that are common to FEA applications, as discussed below.

Diagram depicting Fog and edge computing architecture: Applications; API; Middleware Services; IoT sensors and Actuators.

Figure 6.2 Fog and edge computing architecture.

6.6.1 API Code

Services common to fog and edge applications can be designed as an API. The API is then integrated into an app, enabling the design of different functionalities in the middleware with simple and easy to use functions.

6.6.2 Security

Security in edge devices is essential to ensure access to authorized users and establish a secure communication channel for communication of user data.

6.6.2.1 Authentication

Data ownership and protecting access to the private information is very important to the edge participants. Many “pay‐as‐you‐go” services necessitate authentication to prevent any unwanted access. Public key infrastructure‐based systems have been proposed for user and device authentications for distributed key management [30]. Authentication of VM instances and migration of VMs that has been used in cloud [31] can be adopted for VMs in MEC and fog servers. Authentication as a service is proposed by Mukherjee et al. to enable authentication in the participating fog nodes [32]. Ibrahim proposed a lightweight mutual authentication scheme for roaming fog nodes [33] using one long‐lived master secret key. This algorithm is efficient and lightweight for limited resource devices such as sensors and actuator and doesn't require the devices to re-register.

6.6.2.2 Privacy

Data privacy is very important with respect to handling data from user devices. The main challenge in FEA is to ensure the privacy of devices that exhibit mobility in the edge. Though the sensors and edge devices have limited resources, the fog nodes can provide the necessary encryption capabilities for edge processing [34]. Existing works propose anonymization techniques or pseudo anonymization through which user identity is protected. A lightweight privacy preserving scheme using Chinese remainder theorem is proposed by Lu et al. [35]. Laplacian mechanism query model is proposed by Wang et al. [36] that deals with privacy preservation of location‐aware services. Policy‐based access control mechanisms for fog computing is proposed by Dsouza et al. in [37].

6.6.2.3 Encryption

Many existing studies propose the use of data encryption [34]. Recent work proposes crypto processors and encryption functions [38]. However, using encryption increases the computation, energy usage, and time incurred.

6.6.3 Device Discovery

Device discovery allows the new devices to participate and leave the network as they become available in the network. Many researchers use MQTT as the standard publish‐subscribe message API [39], which is a lightweight messaging protocol, designed for constrained devices and low‐bandwidth, high‐latency, or unreliable networks. Fog and edge‐distributed middleware can also use pub‐sub as a service from a third party such as Nearby Message [40], or PubNub [41] that may be integrated into the middleware. Additionally, these services may provide security, scalability, and reliability for message exchange.

6.6.4 Middleware

Components of middleware commonly used in fog and edge applications are discussed in the following subsections.

6.6.4.1 Context Monitoring and Prediction

FEA can adapt to dynamic changes in the user environment using the context‐aware design of middleware. This may involve continuous monitoring of relevant context and adaptive actions that are based on changes in the context. Also, recent research shows that several human‐dependent contexts have patterns. These patterns can be learned to intelligently manage the operations between multiple devices. Several techniques such as time series, stochastic, or machine learning can be used to model and predict the human‐mobile contextual changes [42, 43].

6.6.4.2 Selection of Participating Devices

FEA employs devices from the environment that can sense and/or process the data acquired in the FEA applications. Selection of the surrogate device can be based on different policies designed in the middleware. Research shows several policies such as fairness‐based selection, game theoretic [8], context optimization [44], and resource optimization approaches that are used in surrogate selection. Participating users are selected based on different criterion ranging from simple user context such as the location of the device to selection based on the reputation of user task completion history [45]. Following are different surrogate selection techniques.

Energy‐Aware Selection.

Remaining battery is critical to every mobile user and it determines the amount of resources that the device owner may share. Selection of surrogates is a trade‐off between the quality of information gathered and the remaining battery on the device with an incentive budget [46].

Delay Tolerance‐Based Selection.

Real‐time applications and streaming data application require the processing to be completed in a given time constraint [12]. Performance‐based selection of surrogates is proposed in incentivized schemes by Petri et al. [47].

Context‐Aware Selection.

Context‐aware functionality is used in many mobile applications. Applications are designed to adapt themselves based on changes in context on the mobile device or that of the user. Recently proposed context‐aware recruitment scheme focused on improving the mobile selection based on context requirements of the application [44]. In applications like crowdsensing apart from individual context prediction, large‐scale activity prediction such as proposed in [48] is now becoming useful. Change in location of mobile users can be modeled using different techniques such as random waypoint model and statistical models such as Markov [49, 50]. Spatiotemporal model of user location is proposed by Wang et al. [51].

6.6.4.3 Data Analytics

FEA introduces the idea of processing near the edge. Extensive analytics may be involved in an application that is processing across different layers in the architecture. Some of the analytics tasks can also be used to extract the essential information from the raw data obtained on the user devices. This not only reduces the processing requirements centrally but also reduces the communication costs. Data analytics module on the user device can be used to send essential data towards a central server [52]. Cloud server/data center may be used to aggregate information and process high‐level data analytics tasks. Bonomi et al. [9] discuss processing data analytics tasks in multiple use cases in a fog/edge environment.

6.6.4.4 Scheduling and Resource Management

This engine works continuously to monitor the incoming tasks and their assignment using the surrogate selection policy. It monitors the availability of resources in different layers such as the availability of new, incoming user devices as well as tenant resources such as VMs that process data in fog devices and the cloud.

6.6.4.5 Network Management

FEA uses the multitier network to distribute the fog and edge applications. It may use software‐defined networking or virtual network topology in multitenant resources in fog and cloud devices. User devices are usually connected using point‐to‐point network topologies that may either use TCP socket – WiFi connection, WiFi direct, or Bluetooth communication. This module is also responsible for monitoring connection and triggering the connection resume procedures for a lost connection.

6.6.4.6 Execution Management

This module facilitates the application specific code functionality to execute on the edge and fog nodes. Existing work in fog computing proposed the use of a virtual environment [28] or use of private OS stack provided by CISCO iox [53]. Virtualization with migration support on mobile devices is proposed by Bellavista et al. [54]. In some research, the code offload techniques such as DEX compositions in android [55] or .NET may be used. Other works propose plug‐in based designs that are downloaded and integrated into the app in runtime [56].

6.6.4.7 Mobility Management

MEC supports mobile edge devices that are constantly on the move. In such cases, the data and the middleware services follow the devices. The idea is commonly known as Follow me Cloud (FMC) [57] and uses Locator/ID separation (LISP) protocol.

6.6.5 Sensor/Actuators

The sensors handle the important task of obtaining real‐time data from the environment and user's surrounding. The information obtained through sensors is used in several forms. Sensor data may be acquired in the FEA application itself. It can also be used to evaluate and extract context information of the device user. In more complex applications, the closed‐loop information is acquired and analyzed and further used for taking real‐time actions using the actuators.

6.7 Case Study Example

This section describes an example of a perpetrator tracking application that can be designed through middleware in Section 6.5. This is a mobile application that performs real‐time tracking of perpetrators through video surveillance using surrogate mobile phones available in the vicinity:

  • Device discovery. One of the devices initiates the perpetrator tracking application by sending a request on the publish subscribe channel. Participating devices respond to the request and communication channel is established for further communication.
  • Context monitoring. The location is the main context that is acquired using GPS data on the mobile device. Accelerometer data enables to obtain accelerometer variance context of mobile users. Accelerometer variance helps to obtain images/video from mobile devices that are not moving, thus reducing the motion‐related distortions in the acquired image data. The orientation of mobile device enables prediction of the potential location of the perpetrator.
  • Data analytics. Instead of sending all the image data from the mobile devices for perpetrator recognition, only images that have faces is sent. A face detection algorithm runs on the mobile device that eliminates images that do not contain face/s. In the fog server, face images are input to face recognition application that detects if perpetrator is found in the input images.
  • Mobility support. As the perpetrator moves from one location to another, the set of devices selected to run the application change. Moreover, the devices selected need to be stationary and moving mobile devices are not being used.
  • Network management. This application involves a point‐to‐point connection with other devices that are connected using WiFi. Also, the mobile devices connect to fog server over WiFi.
  • Execution management. Mobile code of face detection is offloaded to the mobile device while the web server application that performs face recognition application is set up on the fog.
  • Scheduling. In runtime, application requirement i.e. GPS location of perpetrator changes as the perpetrator is on the move. Scheduling module is responsible for matching the search location with the candidate device locations. Other considerations in the optimized selection are minimally moving devices, the orientation of devices, availability of battery and communication bandwidth on the mobile devices.
  • Security. Authentication of new devices is performed in a fog server. Data encryption is performed while communicating data to the fog.

6.8 Future Research Directions

Different aspects of middleware can be explored in future research in order to improve the performance of mobile distributed applications.

6.8.1 Human Involvement and Context Awareness

The FEA may involve context‐based decisions in several aspects of middleware, such as choice of participating devices, activation triggers of distributed applications, and anticipatory scheduling based on historical context data. Increasingly, more context‐aware control and management of fog and edge devices will be used to intelligently schedule the distributed applications. The existing works primarily focus on location tracking of the users [51] and several other useful contexts [58] for executing an application. Several other contexts such as user activity patterns, prediction of user environments, and device usage patterns may be explored to improve the execution of the distributed application. Anticipatory context‐aware computing is studied for mobile domain [59], but its adoption in a collaborative edge environment is yet to be seen.

6.8.2 Mobility

Mobile edge nodes need to provide services as requested by the application as they move from one location to another. The standard methods of network virtualization and VM migration exist. Research involves managing costs in VM migration, consideration of the mobility changes in edge devices, intermittent connectivity, and task partitioning within time constraints. In a mobile environment like vehicle‐to‐vehicle systems focuses on the prefetching, data caching and migration of services [14]. Future work in MEC must address how to guarantee service continuity in highly dynamic scenarios.

6.8.3 Secure and Reliable Execution

Participating nodes can include many private devices, as well as resources with ownership of telecom companies or companies that provide cloud computing services. With a wide variety of devices involved, establishing and maintaining a secured channel of communication that is lightweight enough to execute on the personal mobile devices is a future research area. Methods such as encryption of data and key‐based authentication can incur excessive energy and computation on edge devices that have limited resources. Another area of possible research is the secure offload of application tasks to other edge devices for outsourcing.

6.8.4 Management and Scheduling of Tasks

Traditionally, VM management includes migration and replication that easily allows the transfer of the soft state of the application from one node to another. Such techniques are currently being proposed in fog resources [60]. However, heterogeneity in networks and devices in FEA is a barrier for migration. A dynamically changing set of suitable devices to execute application requires seamless handover of tasks. Methods, checkpoints, and offload mechanisms need to be explored to make this handover seamless as well as time and resource efficient. The devices must be able to make real‐time decisions regarding whether to execute the task in the cloud or in the edge. Also, they need to account for the overhead of management and other security features such as encryption for optimal task scheduling.

6.8.5 Modularity for Distributed Execution

Modular software components should exist vertically in different layers FEA. Different platforms such as network virtualization and software‐defined networking (SDN) are being explored [61] for orchestrating distributed execution in edge resources. Standard protocols like OpenFlow are promising options for virtual network design across cloud, fog, and edge devices. Recent works propose the use of dockers with migration support for edge processing [11].

6.8.6 Billing and Service‐Level Agreement (SLA)

Existing research demonstrates SLA for VM in edge devices [62] for MEC architectures or MCC [63], which are static resources. However, in the case of edge devices associated guarantees with the payment model is not studied. As such, the fog nodes and other edge participants incur energy and bandwidth as well as provide access to several resources and private data while executing distributed applications. Designing a payment model for such fog and edge node services is yet to be explored.

6.8.7 Scalability

Some of the existing works propose service‐oriented middleware approach for scalability of edge devices [20]. For data acquisition and processing from a large number of edge devices that might be geographically distributed, the middleware design can be distributed with decentralized processing and decision making [64]. Hierarchical clustering may be an approach for designing these systems to attain the specific goal of edge applications such as real‐time responsiveness.

6.9 Conclusions

In this chapter, we discussed the changes introduced by edge and fog devices in the distributed computing. Fog and edge architecture can now support mobile sensing applications that are real time, latency sensitive, and geographically distributed. The dynamically changing set of fog and edge participating devices also need more design support to execute such distributed applications. We discussed middleware architecture and existing works that deal with different aspects of fog and edge computing, such as context awareness, mobility support, selection of edge participants apart from the network, and computation management. Broadly speaking, these architecture aspects can be adapted to MEC, fog, and cloudlet implementation of FEA. We also highlighted some of the newer areas of research that will improve the design of FEA in the future.

References

  1. 1 V. Dastjerdi and R. Buyya. Fog computing: Helping the Internet of Things realize its potential, Computer, 49(8): 112–116, 2016.
  2. 2 E. Koukoumidis, M. Margaret, and P. Li‐Shiuan. Leveraging smartphone cameras for collaborative road advisories. Transactions on Mobile Computing, 11(5): 707–723, 2012.
  3. 3 K. S. Oskooyee, A. Banerjee, and S.K.S Gupta. Neuro movie theatre: A real‐time internet‐of‐people. In 16th International Workshop on Mobile Computing Systems and Applications, Santa Fe, NM, February, 2015.
  4. 4 M. Pore, K. Sadeghi, V. Chakati, A. Banerjee, and S.K.S. Gupta. Enabling real‐time collaborative brain‐mobile interactive applications on volunteer mobile devices. In Proceedings of the 2nd Intl. Workshop on Hot topics in Wireless, Paris, France, September 2015.
  5. 5 K. Sadeghi, A. Banerjee, J. Sohankar, and S.K.S. Gupta. SafeDrive: An autonomous driver safety application in aware cities. In PerCom Workshops, Sydney, Australia, 14 March 2016.
  6. 6 X. Bao and R.R. Choudhury. Movi: mobile phone based video highlights via collaborative sensing. In 8th International Conference on Mobile Systems, Applications, and Services, San Francisco, California, USA, June 15, 2010.
  7. 7 D. Hardawar. Driving app Waze builds its own Siri for hands‐free voice control. VentureBeat, 2012.
  8. 8 Y. Liu, C. Xu, Y. Zhan, Z. Liu, J. Guan, and H. Zhang. Incentive mechanism for computation offloading using edge computing: A Stackelberg game approach. Computer Networks, 129(2): 339–409, 2017.
  9. 9 F. Bonomi, R. Milito, P. Natarajan, and J. Zhu. Fog computing: A platform for Internet of Things and analytics. In Big Data and Internet of Things: A Roadmap for Smart Environments, Studies in Computational Intelligence, 546: 169–186. Springer International Publishing, Cham, Switzerland, March 13, 2014.
  10. 10 J. Rodrigues, Eduardo R.B. Marques, L.M.B. Lopes, and F. Silva. Towards a Middleware for Mobile Edge‐Cloud Applications. In Proceeding of MECC, Las Vegas, NV, USA, December 11, 2017.
  11. 11 P. Bellavista, S. Chessa, L. Foschini, L. Gioia, and M. Girolami. Human‐enabled edge computing: exploiting the crowd as a dynamic extension of mobile edge computing. IEEE Communications Magazine, 56(1): 145–155, January 12, 2018.
  12. 12 S. Yi, Z. Hao, Q. Zhang, Q. Zhang, W. Shi, and Q. Li. LAVEA: Latency‐Aware Video Analytics on Edge Computing Platform. In 37th International Conference on Distributed Computing Systems (ICDCS), Atlanta GA, July 17, 2017.
  13. 13 G. Ananthanarayanan, P. Bahl, P. Bodík, K. Chintalapudi, M. Philipose, L. Ravindranath, and S. Sinha. Real‐Time Video Analytics: The Killer App for Edge Computing, Computer, 50(10): 58–67, October 3, 2017.
  14. 14 D. Grewe, M. Wagner, M. Arumaithurai, I. Psaras, and D. Kutscher. Information‐centric mobile edge computing for connected vehicle environments: Challenges and research directions. In Proceedings of the Workshop on Mobile Edge Communications, Los Angeles, CA, USA, August 21, 2017.
  15. 15 Google, GoogleFit, https://www.google.com/fit/, January 15, 2018.
  16. 16 G. Piro, M. Amadeo, G. Boggia, C. Campolo, L. A. Grieco, A. Molinaro, and G. Ruggeri. Gazing into the crystal ball: when the Future Internet meets the Mobile Clouds, Transactions on Cloud Computing, 55(7): 173–179, 2017.
  17. 17 C. Chang, S. N. Srirama, and M. Liyanage. A Service‐Oriented Mobile Cloud Middleware Framework for Provisioning Mobile Sensing as a Service. In 21st International Conference on Parallel and Distributed Systems (ICPADS), Melbourne, VIC, Australia, January 18, 2016.
  18. 18 K. Aberer. Global Sensor Network, LSIR, http://lsir.epfl.ch/research/current/gsn/, January 18, 2018.
  19. 19 W. Botta, W. D. Donato, V. Persico, and A. Pescapé. Integration of cloud computing and internet of things: a survey. Future Generation Computer Systems, 56: 684–700, 2016.
  20. 20 Carrega, M. Repetto, P. Gouvas, and A. Zafeiropoulos. A Middleware for Mobile Edge Computing. IEEE Cloud Computing, 4(4): 26–37, October 12, 2017.
  21. 21 K. Habak, M. Ammar, K.A. Harras, and E. Zegura. Femto Clouds: Leveraging Mobile Devices to Provide Cloud Service at the Edge. In 8th International Conference on Cloud Computing (CLOUD), New York, NY, USA, August 20, 2015.
  22. 22 Y. Nakamura, H. Suwa, Y. Arakawa, H. Yamaguchi, and K. Yasumoto. Middleware for Proximity Distributed Real‐Time Processing of IoT Data Flows. In 36th International Conference on Distributed Computing Systems (ICDCS), Nara, Japan, August 11, 2016.
  23. 23 J. Al‐Jaroodi, N. Mohamed, I. Jawhar, and S. Mahmoud. CoTWare: A Cloud of Things Middleware. In 37th International Conference on Distributed Computing Systems Workshops (ICDCSW), Atlanta, GA, USA, July 17, 2017.
  24. 24 S.‐N. Chuang and A. T. Chan. MobiPADS: a reflective middleware for context‐aware mobile computing. IEEE Transactions on Software Engineering 29(12), 2003: 1072–1085.
  25. 25 Y. Lee, Y. Ju, C. Min, J. Yu, and J. Song. MobiCon: Mobile context monitoring platform: Incorporating context‐awareness to smartphone‐centric personal sensor networks. In 9th annual IEEE Conference on Communications Society Conf. on Sensor, Mesh and Ad Hoc Communications and Networks (SECON), Seoul, South Korea, August 23, 2012.
  26. 26 G. Orsini, D. Bade, and W. Lamersdorf. CloudAware: A Context‐Adaptive Middleware for Mobile Edge and Cloud Computing Applications. In 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W), Augsburg, Germany, December 19, 2016.
  27. 27 M. Aazam and E.‐N. Huh. Fog computing: The cloud‐IoT/IoE middleware paradigm. Potentials, 35(3): 40–44, May–June 2016.
  28. 28 T. Verbelen, S. Pieter, F.D. Turck, and D. Bart. Adaptive application configuration and distribution in mobile cloudlet middleware. MOBILWARE, LNICST 65: 178–191, 2012.
  29. 29 M. Satyanarayanan, P. Bahl, R. Caceres et al. The Case for VM‐Based Cloudlets in Mobile Computing, in Pervasive Computing 8(4), October 6, 2009.
  30. 30 Y.W. Law, P. Marimuthu, K. Gina, and L. Anthony. WAKE: Key management scheme for wide‐area measurement systems in smart grid. IEEE Communications Magazine, 51(1): 34–41, January 04, 2013.
  31. 31 R. Chandramouli, I. Michaela, and S. Chokhani. Cryptographic key management issues and challenges in cloud services. In Secure Cloud Computing, Springer, New York, NY, USA, December 7, 2013.
  32. 32 M. Mukherjee, R. Matam, L. Shu, L. Maglaras, M. A. Ferrag, N. Choudhury, and V. Kumar. Security and privacy in fog computing: Challenges. In Access, 5: 19293–19304, September 6, 2017.
  33. 33 M.H. Ibrahim. Octopus: An edge‐fog mutual authentication scheme. International Journal of Network Security, 18(6): 1089–1101, November 2016.
  34. 34 A. Alrawais, A. Alhothaily, C. Hu, and X. Cheng. Fog computing for the Internet of Things: Security and privacy issues. Internet Computing, 21(2): 34–42, March 1, 2017.
  35. 35 R. Lu, K. Heung, A.H. Lashkari, and A. A. Ghorbani. A Lightweight Privacy‐Preserving Data Aggregation Scheme for Fog Computing‐Enhanced IoT. Access 5, March 02, 2017): 3302–3312.
  36. 36 T. Wang, J. Zeng, M.Z.A. Bhuiyan, H. Tian, Y. Cai, Y. Chen, and B. Zhong. Trajectory Privacy Preservation based on a Fog Structure in Cloud Location Services. IEEE Access, 5: 7692–7701, May 3, 2017.
  37. 37 Dsouza, G.‐J. Ahn, and M. Taguinod. Policy‐driven security management for fog computing: Preliminary framework and a case study. In 15th International Conference on Information Reuse and Integration (IRI), Redwood City, CA, USA, March 2, 2015.
  38. 38 R.A. Popa, C.M.S. Redfield, N. Zeldovich, and H. Balakrishnan. Cryptdb: Processing queries on an encrypted database. Communications of ACM 55(9), September, 2012): 103–111.
  39. 39 Stanford‐Clark and A. Nipper. Message Queuing Telemetry Transport, http://mqtt.org/, January 21, 2018.
  40. 40 Google, Nearby Connections API, https://developers.google.com/nearby/messages/android/pub‐sub. Accessed January 17, 2018.
  41. 41 PubNub, Realtime Messaging, PubNub, https://www.pubnub.com/. Accessed January 18, 2018.
  42. 42 J.H. Rosa, J.L.V. Barbosa, and G.D. Ribeiro, ORACON: An adaptive model for context prediction. Expert Systems with Applications, 45: 56–70, March 1, 2016.
  43. 43 S. Sigg, S. Haseloff, and K. David. An alignment approach for context prediction tasks in ubicomp environments. IEEE Pervasive Computing, 9(4): 90–97, February 5, 2011.
  44. 44 Hassan, P.D. Haghighi, and P.P. Jayaraman. Context‐Aware Recruitment Scheme for Opportunistic Mobile Crowdsensing. In 21st International Conference on Parallel and Distributed Systems, Melbourne, VIC, Australia, January 18, 2016.
  45. 45 X. Liu, M. Lu, B.C. Ooi, Y. Shen, S. Wu, and M. Zhang. CDAS: a crowdsourcing data analytics system, VLDB Endowment, 5(10): 1040–1051, 2012.
  46. 46 L. Harold, B. Zhang, X. Su, J. Ma, W. Wang, and K.K. Leung. Energy‐aware participant selection for smartphone‐enabled mobile crowd sensing. IEEE Systems Journal, 11(3): 1435–1446, 2017.
  47. 47 O. Petri, F. Rana, J. Bignell, S. Nepal, and N. Auluck. Incentivising resource sharing in edge computing applications. In International Conference on the Economics of Grids, Clouds, Systems, and Services, October 7, 2017.
  48. 48 Y. Zhang, C. Min, M. Shiwen, L. Hu, and V.C.M. Leung. CAP: Community activity prediction based on big data analysis. IEEE Network, 28(4): 52–57, July 24, 2014.
  49. 49 S. Reddy, D. Estrin, and M. Srivastava. Recruitment framework for participatory sensing data collections. In Proceedings of the 8th international conference on Pervasive Computing. Lecture Notes in Computer Science, 6030, Springer, Berlin, Heidelberg, 2010.
  50. 50 A. Banerjee and S. K.S Gupta. Analysis of smart mobile applications for healthcare under dynamic context changes. Transactions on Mobile Computing, 14(5): 904–919, 2015.
  51. 51 L. Wang, Z. Daqing, W. Yasha, C. Chao, H. Xiao, and M. S. Abdallah. Sparse mobile crowdsensing: challenges and opportunities, in IEEE Communications Magazine, 54(7): 161–167, July 2016.
  52. 52 W. Sherchan, P. P. Jayaraman, S. Krishnaswamy, A. Zaslavsky, S. Loke, and A. Sinha. Using on‐the‐move mining for mobile crowdsensing. In 13th International Conference on Mobile Data Management (MDM), Bengaluru, Karnataka, India, November 12, 2012.
  53. 53 CISCO. IOx and Fog Applications. CISCO, https://www.cisco.com/c/en/us/solutions/internet‐of‐things/iot‐fog‐applications.html, January 21 2018.
  54. 54 P. Bellavista, A. Zanni, and M. Solimando. A migration‐enhanced edge computing support for mobile devices in hostile environments, in 13th International Wireless Communications and Mobile Computing Conference (IWCMC), Valencia, Spain July 20, 2017.
  55. 55 Z. Ying, H. Gang, L. Xuanzhe, Z. Wei, M. Hong, and Y. Shunxiang. Refactoring Android Java code for on‐demand computation offloading. In International conference on object‐oriented programming systems languages and applications. Tucson AZ, USA, October 19, 2012.
  56. 56 P. P. Jayaraman, C. Perera, D. Georgakopoulos, and A. Zaslavsky. Efficient opportunistic sensing using mobile collaborative platform mosden. In Collaborative Computing: Networking, Applications and Worksharing (Collaboratecom), Austin, TX, USA, December 12, 2013.
  57. 57 A. Ksentini, T. Taleb, and F. Messaoudi. A LISP‐Based Implementation of Follow Me Cloud. Access 2 (September 24): 1340–1347, 2014.
  58. 58 P. Perera, P. Jayaraman, A. Zaslavsky, D. Georgakopoulos, and P. Christen. Mosden: An Internet of Things middleware for resource constrained mobile devices. In 47th Hawaii International Conference in System Sciences (HICSS), Waikoloa, HI, USA, March 10, 2014.
  59. 59 V. Pejovic and M. Musolesi. Anticipatory mobile computing: A survey of the state of the art and research challenges. ACM Computing Surveys (CSUR), 47(3) (April), 2015.
  60. 60 T. Taleb, S. Dutta, A. Ksentin, M. Iqbal, and H. Flinck. Mobile edge computing potential in making cities smarter. IEEE Communications Magazine, 5(3) (March 13): 38–43, 2017.
  61. 61 C. Baktir, A. Ozgovde, and C. Ersoy. How can edge computing benefit from software‐defined networking: A survey, use cases, and future directions. Communications Surveys & Tutorial, 19(4) (June): 2359–2391, 2017.
  62. 62 T. Katsalis, G. Papaioannou, N. Nikaein, and L. Tassiulas. SLA‐driven VM Scheduling in Mobile Edge Computing. In 9th International Conference on Cloud Computing (CLOUD), San Francisco, CA, USA, January 19, 2017.
  63. 63 M. Al‐Ayyoub, Y. Jararweh, L. Tawalbeh, E. Benkhelifa, and A. Basalamah. Power optimization of large scale mobile cloud computing systems. In 3rd International Conference on Future Internet of Things and Cloud, Rome, Italy, October 26, 2015.
  64. 64 Y. Jararweh, L. Tawalbeh, F. Ababneh, A. Khreishah, and F. Dosari. Scalable cloudlet‐based mobile computing model. In Procedia Computer Science, 34: 434–441, 2014.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset