2. Fog Computing:
Principles,
Architectures, and
Applications
Internet of Things, Chapter 04
Amir Vahid Dastjerdi, Rajkumar Buyya;
Morgan Kaufmann 2016
Fog Computing: Helping the
Internet of Things Realize Its
Potential
Amir Vahid Dastjerdi and Rajkumar Buyya,
University of Melbourne; Computer, IEEE, vol. 49,
Aug. 2016
2
3. Introduction
IoT environments consist of loosely connected devices that are
connected through heterogeneous networks.
In general, the purpose of building such environments
is collecting and processing data from IoT devices to mine and detect
patterns, or
perform predictive analysis or optimization and
finally make smarter decision in a timely manner.
3
4. Introduction
The Internet of Everything (IoE) solutions gradually bring every object online.
Data is collected and aggregated from IoT devices and sent to the centralized
cloud to storage and processing.
But processing data in centralized cloud does not scale to requirements of
such environment, where data flows can reach even up to 25000 tuple per
second.
There are applications such as health monitoring and emergency response
that require low latency
delay caused by transferring data to the cloud and then back to the application
can seriously impact the performance. 4
5. Introduction
Here comes the need of alternative paradigm that
capable of bringing the computation to more computationally capable
devices
geographically closer to the sensors than to the clouds and that have
connectivity to the Internet.
Such devices, which are in the edge of the network and therefore referred to
as edge devices,
can build local views of data flows
can aggregate data to be sent to the cloud for further off-line analysis. 5
6. Introduction to Fog Computing
Fog computing is a plagiarism,
where cloud computing is extended to the edge of the network to decrease
the latency and network congestion.
which manages a highly distributed and possibly virtualized
environment that provides compute, storage and network services
between end-devices and cloud data centers.
6
7. Introduction to Fog Computing
Fog computing essentially involves components of an application running
both in the cloud as well as in edge devices between sensors and the
cloud i.e. in smart gateways, routers or dedicated fog devices.
Fog computing is a distributed paradigm that provides cloud-like services to
the network edge.
It leverages cloud and edge resources along with its own infrastructure
7
9. Why Fog Computing?
Reduction of network traffic
Suitable for IoT tasks and queries
Low latency requirement
Scalability
Raw data management
Monitoring
Resource Provisioning
9
11. Fog-computing Components
Fog systems generally use the sense-process- actuate and stream-processing
programming models.
Sensors stream data to IoT networks, applications running on fog devices
subscribe to and process the information, and the obtained insights are
translated into actions sent to actuators.
Fog systems dynamically discover and use APIs to build complex functionalities.
Components at the resource-management layer use information from the
resource monitoring service to track the state of available cloud, fog, and
network resources and identify the best candidates to process incoming
tasks.
11
14. Fog Computing Challenges
Realizing fog computing’s full potential presents several challenges
Balancing load distribution between edge and cloud resources,
API and service management and sharing, and
SDN communications.
There are some others like
Enabling real-time analytics
Programming models and architectures
Security, reliability, and fault tolerance 14
15. Foggy clouds and cloudy fogs: a real need for
coordinated management of fog-to-cloud (F2C)
computing systems
15
Xavi Masip-Bruin, Eva
Marín-
Tordera, Ghazal Tashakor
Universitat Politècnica de
Catalunya
CRAAX-UPC, Spain
Admela Jukan
Technische Universität
Braunschweig
Germany
Guang-Jie Ren
IBM, Almaden Research
Center, USA
gren@us.ibm.com
IEEE Wireless Communications Magazine
December 2015
16. Introduction
The most recent developments in the information and communications
technologies area have started to make a profound impact,
through massive connectivity of humans and computers,
massive increase of edge devices carried by humans (i.e. smart phones)
These two major commodities,
have facilitated the true “anywhere, anyhow, anytime” users’ connectivity,
have enabled the data collection, the deployment of new value-added
services. 16
17. Introduction
Although cloud computing an indispensable communication and computing
paradigm for all users and Internet applications, a couple of major limitations
remain unsolved in regard to edge-devices.
First, the larger the distance between the cloud and the edge device,
lower the performance,
efficiency of resource usage,
security/reliability guarantees.
Second, cloud computing and storage service notoriously cannot provide
guarantees to low latency applications. 17
18. Introduction to Fog Computing
Fog computing is a concept where edge devices and user clients have the
capability to compute, store and exchange data among each other and with
the cloud
In fog computing, data to be processed is usually close to the user,
It will facilitate the deployment of new services that cloud computing cannot
provide particularly those with real time guarantee
A classical example of a fog computing service: emergency medicine
service
real-time low-latency constraints associated with implantable medical devices, 18
19. Introduction to Fog Computing
Fog computing can incorporate the user’s mobility as an inherent feature:
For example,
vehicular fog-clouds can be built by grouping cars located in a parking lot,
roadside clouds can be built by putting together buildings, traffic lights, etc.
Even humans can “group” by creating neighborhoods clouds, ad-hoc
communities,
customized dynamic clouds that can be set, released and offered on-demand
19
20. Fog Computing Challenges
Fog computing alone is not solution to all difficulties, a few issues needed to
be resolved:
Volatility due to intermittent presence
Security and reliability
Business model
Reliability
20
21. Fog-to-Cloud Computing System
The author's addresses the need of a joint framework that,
Capable of managing the emerging Fog-to-Cloud (F2C) computing and
network architecture
User’s edge devices and IoT devices will continue to leverage the capacities
provided by cloud, and gradually include functions innate to fog computing
This joint process will be available to collect, exchange and analyze data.
These services will be provided at either cloud or fog premises, or both, and
that according to the required services needs and demands.
21
22. The Fog-to-Cloud (F2C) Architecture
F2C is a novel hierarchical architecture consisting of a layered management
structure
It is a dynamic hierarchy, where services can dynamically use and choose
a specific cloud offer (i.e., a specific layer in hierarchy) and
the suitable cloud or fog resources for the service execution (inside each layer).
Provides features for real-time application support, low latency, load reduction
and energy efficiency
22
24. The Fog-to-Cloud (F2C): coordinated management
For the whole ecosystem of Fog-to-Cloud computing to work in a dynamic,
collaborative and coordinated way, there are a number of challanges:
Cloud/fogs identification
An existing cloud capacity must be identified before being used.
Semantic adaptation
Performance and expected capacities are far different depending on the cloud/fog
characteristics.
Coordinated layer orchestration
Overall orchestration is required to generate an individual workflow of actions for each Service
and coordinate the interactions among the different layers involved in the execution of the
service. 24
25. The Fog-to-Cloud (F2C): coordinated management
Challenges:
Services execution scheduling
Service scheduling is required to decide how a service’s individual functions are split into the
different fog layers, and how each layer processes the services
Seamless-transparent management
The overall performance observed by the client (i.e., the service) must be completely
transparent to the real resources utilized to deploy the service.
QoS guarantees
strategies to achieve QoS (or near QoS) must be set to guarantee quality including resource 25