Friday, April 6, 2018

Fog Computing: A Platform for IoT and Analytics


By now everyone knows what cloud computing is?     May years ago the IoT started its communication with the centralized server in the cloud like this, as shown in the figure.

Basically it is making use of Centralized servers hosted in the core internet rather than using a local sever or personal system for huge processing/computation or storage of data.

In the present times almost all the organizations uses cloud.

No of end devices that are connected to internet are expected to rise above 50+ billion by 2020.
cloud computing architectures won’t be able to handle the demand of the Internet of things
So only cloud is not the optimal solution to handle this massive explosion.
Fog is needed in between to optimize – need for an interplay of cloud and fog.



Fog computing is making use of decentralized servers in between network core and network edge for data processing and to serve the immediate requirements of the end systems.

Does this replace the cloud?
No,

Fog computing is non-trivial extension of Cloud computing paradigm to the edge of the network.
Network edge: applications and hosts, routers close to end systems in the internet; Network core: interconnected routers in the internet, network of networks,  fog nodes can be deployed anywhere with a network connection: on a factory floor, on top of a power pole,  alongside a railway track, in a vehicle, or on an oil rig. Any device with computing, storage, and network connectivity can be a fog node. Examples include industrial controllers, switches, routers, embedded servers, and video surveillance cameras.

Need for Fog Computing

Why can’t do all in cloud?-    Cloud computing frees the enterprise and the end user from many details.  This bliss becomes a problem for latency-sensitive applications.

Why can’t do all in end systems?  -   Physical constraints: Energy, space, etc.,

Iot is generating unprecedented volume and variety of data, by the time it makes to the cloud for analysis, the opportunity to act upon the data might be gone.   Also, Loads of useless data are been pushed to the cloud. Fog filters out and sends useful data to clouds.

Illustrative Use Cases to Drive Fog computing

Use Case 1: A smart Traffic Light System (STLS)
Use Case 2: Wind Farms

To abstract the major requirements to propose an architecture that addresses a vast majority of the IoT requirements.

Use Case 1: A Smart Traffic Light System(STLS)

System Outline:   STLS: smart traffic light system
STLS is a small piece of the full-fledged system envisioned by smart connected vehicle(SCV).    STLS calls for deployment of a STL at each intersection.   The STL is equipped with sensors that
Measure the distance and speed of approaching vehicles from every direction.   Detect presence of pedestrians/other vehicles crossing the street.    Issues “Slow down” warnings to vehicles at risk to crossing in red and even modifies its own cycle to prevent collisions.

STLS has 3 major goals:
  1. Accidents prevention
  2. Maintenance of steady flow of traffic(green waves along the main roads)
  3. Collection of relevant data to evaluate and improve the system
Note:
Goal (1) requires real-time reaction, (2) near-real time, and (3) relates to the collection and analysis of global data over long periods.

To be effective, the local control loop subsystem must react within a few milliseconds – thus illustrating the role of the Fog in supporting low latency applications.

Key requirements driven by STLS
  • Local Subsystem latency:- Reaction time needed is in the order of < 10 milliseconds.
  • Middleware orchestration platform:- Middleware to handle a # of critical software components. A. Decision maker(DM), B. message bus.
  • Networking infrastructure:- Fog nodes belongs to a family of modular compute and storage devices.
  • Interplay with the cloud:-  Data must be injected into a Data center/ cloud for deep analysis to identify patterns in traffic, city pollutants.
  • Consistency of a highly distributed system:- Need to be Consistent between the different aggregator points.
  • Multi-tenancy:- It must provide strict service guarantees all the time.
  • Multiplicity of providers:-  May extend beyond the borders of a single controlling authority. Orchestration of consistent policies involving multiple agencies is a challenge unique to Fog Computing.
Orchestration is the automated arrangement, coordination, and management of computer systems, middleware, and services.   Orchestration also provides centralized management of the resource pool, including billing, metering, and chargeback for consumption.

For example, orchestration reduces the time and effort for deploying multiple instances of a single application. And as the requirement for more resources or a new application is triggered, automated tools now can perform tasks that previously could only be done by multiple administrators operating on their individual pieces of the physical stack

Use case 2: Wind Farm

Brings up requirements shared by a number of Internet of Everything(IoE) deployments:
Interplay between real time analytics and batch analytics.Tight interaction between sensors and actuators, in closed control loops.
Wide geographical deployment of a large system consistent of a number of autonomous yet coordinated modules – which gives rise to the need of an orchestration platform.

There are 4 typical regions:
  • Region1: Wind speed is very low(say, 6m/sec), not so economical to run the turbine.
  • Region2: Normal operating condition(winds between 6-12m/sec), so maximum conversion of wind power into electrical power.
  • Region3: Winds exceed 12 m/sec, power is limited to avoid exceeding safe electrical and mechanical loads.
  • Region4: Very high wind speeds above 25 m/sec, here turbine is powered down to avoid excessive operating loads.
Key requirements driven by Wind Farm
  • Network Infrastructure:  An efficient communication network between sub-systems, system and the internet (cloud)
  • Global controller: gathering data, building the global state, determining the policy.
  • Middle Orchestration platform: A middleware that mediates between sub-systems and the cloud.
  • Data analytics: (1) requires real-time reaction, (2) near-real time, and (3) relates to the collection and analysis of global data over long periods.
Key attributes of Fog computing

The Use Cases that were discussed brings up a # of attributes that differentiate Fog computing platform from the Cloud.
  • Applications that require very low and predictable latency. (STLS, SCV)
  • Geo-distributed applications (pipeline monitoring, STLS)
  • Fast mobile applications (Smart connected vehicle, rail)
  • Large-scale distributed control systems (STLS, smart grid)
  • IoT also brings Big Data with a twist: rather than high volume, the number of data sources distributed geographically


These attributes do not apply uniformly to every use case.   Mobility, for instance, a critical attribute in Smart Connected Vehicle and Connected Rail, plays no role in STLS and Wind Farm cases.  Analyzing data close to the device that collected the data can make the difference
between averting disaster and a cascading system failure.

Geo-distribution: A new Dimension of Big Data

3 Dimensions: Volume, Velocity and Variety.     IoT use cases: STLS, Connected Rail, pipeline monitoring are naturally distributed.
This suggests to add a 4th dimension: geo-distribution.  Since challenge is to manage number of sensors(and actuators) that are naturally distributed as a coherent whole.  Call for “moving the processing to the data”   A distributed intelligent platform at the Edge(Fog computing) that manages distributed compute, networking, and storage resources.

The Edge(Fog) and the core(Fog) interplay: Many uses of same data

Only certain useful data is being sent to the cloud from fog for further processing, instead of bombarding clouds with irrelevant data.
Fog Software Architecture

Fog nodes are heterogeneous in nature and deployed in variety of environments including core, edge, access networks and endpoints.  Fog architecture should facilitate seam less resource management across diverse set of platforms..  The fog platform host diverse set of applications belonging to various verticals- SCV, smart grid etc.

Fog architecture exposes generic APIs that can be used by diverse set of applications to leverage fog platform.   Fog platform should support policy based-orchestration for scalable management of individual subsystems and the overall service.





Thus, Fog Computing is a paradigm that extends Cloud computing and services

Reference:  http://optnetsci.cise.ufl.edu/
Images are taken from Internet