Tuesday 25 April 2017


Finding your Way in the Fog: Towards a Comprehensive Definition of Fog Computing 

Overview

As the name of this paper suggests it provides a comprehensive definition of fog computing and what challenges fog computing brings.The emergence of ubiquitous devices or IOT devices is one of the main motivations behind fog computing, close to 50 billion IOT devices by 2020. Moving from a more centralized entity in cloud computing, fog computing focuses on migrating the cloud to the edge of the network and this evolution is termed as fog.A more comprehensive definition of fog computing is -Fog computing is where a huge number of ubiquitous and de-centralized devices communicate and co-operate among themselves, providing compute, storage and network utilities without an intervention of third parties. The cooperating devices which host these services get incentives for doing so.


Important Ideas

  • Device ubiquity as one of the main driving forces of behind fog computing.Advances in IOT devices, research in the areas of device size and battery lifespan is creating venues where more and more devices will be part of the edge.
  • Discussion on the major challenges like those related to service and network management functionalities of billions of heterogeneous devices which will be a major issue in fog computing.Many technologies are evolving to cope these challenges like:
    • Softwareisation of Network Management which can provide a more generic way to handle heterogeneous devices network and service management functionalities through the use of NFV, SDN and emerging technologies like IOx.
    • Fog computing subsumes the idea of cloud at the edges where edge devices and a subset of networks can communicate and cooperate to act as a virtualization or service platform and can cater the needs of other edge devices.
    • Another idea is to have more of distributed management of edge computing rather than of centralized management as in the case of edge computing.Ideas from P2P networks can inspire such distributed management of edge computing
  • Challenges related to physical and network connectivity of edge devices, due to billions of edge devices, networks can become a bottleneck.Advancement in network technologies like 4G LTE, Bluetooth 5.0, better LAN/WAN networks will be needed. Fog computing will benefit from the ongoing research in IOT protocols which are designed for the goals: low resource consumption and resilience to failures.
  • Challenges related to the scenarios where a centralized cloud is needed.On one side users can benefit from fog computing in making their data more secure but trust and privacy issues can be one of the major research areas in fog computing as the model suggest any devices can run can any code.Also, there are not yet any standards yet set in this industry and no general programming models which fit in the realm of fog computing.

Advantages of fog computing

Fog computing will bring some better capabilities compared to the cloud or centralized computing like:

  • Applications which require low latency can make use of fog computing devices.
  • Applications which require data locality and geographical context information can make use of fog computing.
  • Distributed architecture so can be highly scalable.
  • More agile network and service manageability.
  • Users can incentivize through this model by taking part in the fog computing by joining the network and letting other users utilize the computing capabilities of their devices.
  • Can provide more security as the data will not be forwarded to a centralized location for processing rather edge devices will be employed for the processing.Privacy can be a great incentive to adopt fog technologies.
  • Full utilization of edge devices can be possible.

Strengths:

  • Presents a comprehensive definition of fog computing.
  • Presents a broad overview of why fog computing is emerging.
  • Provides a good list of challenges with their possible solutions in the context of fog computing.
  • Better security model as presented by fog computing.

Weakness:

  • Paper missed one of the challenges where evaluation of fog computing can be a real challenge.To fully understand the advantages good evaluation is necessary which will need a huge number of devices.
  • The paper presents a broad overview of fog computing but doesn't cover a single existing system or implementation which can show the practicality of fog computing in terms of availability, scalability, and fault tolerant.Although many existing technologies are out there which will enable fog computing, the paper doesn't talk about of any existing systems or their own implementation, the main reason of that can be because fog computing is still in its emerging phase.
  • Not all applications will benefit from fog computing, applications which are latency tolerant, compute intensive tasks or industrial workloads will still use cloud computing or other forms of centralized computing.This is not a general weakness though, more like application requirement specify.

Discussion Points

  • Use cases of fog computing
  • Tradeoffs between fog and cloud computing
Mobile Fog: A Programming Model for Large–Scale Applications on the Internet of Things 

More ubiquitous and IOT devices are bring new challenges and emerging technologies like fog computing.They are enabling a wide range of novel, large scale, latency sensitive applications often termed as Future Internet Applications.One of the major challenges is a programming model which can meet the demands of IOT programming.The main demands are:
  • As IOT devices are geo-distributed systems applications should be built accordingly to make use of geo-context.
  • Large scale nature of systems comprising of IOT devices.
  • And Latency sensitive applications.
Old programming models like existing PAAS which meets the needs of web services deployed in centralized data centers can't fulfill the demands of IOT applications.Mobile Fog is a PAAS programming model for large-scale situational awareness that provides a simplified programming abstraction and supports applications dynamically scaling at runtime and can provide a programming model suited for IOT applications.Mobile Fog has two design goals:
  1. Provide a high-level programming model that simplifies development on a large number of heterogeneous devices distributed over wide area
  2. Allow applications to dynamically scale using the resources from fog or cloud.

Application Model of Mobile Fog

In mobile fog each application consists of distributed Mobile Fog processes which are mapped on distributed edge devices and cloud devices, each having certain application task.Also as the devices are geo-distributed they often are utilized to handle close affinity workloads.

API's of Mobile Fog

Application code consists of a set of predefined event handlers and functions that applications can call.This generic API model in Mobile Fog enables application developers to write applications which can be run on any heterogeneous device.This set of functions and event handlers enables developers to query underlying network resources, communicate to other resources on the network and application management operations.

Mobile Fog provides application lifecycle management features as well so the developers can compile and generate a Mobile Fog process image that can be deployed and run anywhere.Management interface provides by mobile fog can facilitate the application lifecycle.


Evaluation Insights

  • Fog based approach shows better latency and less net traffic relative to the cloud.
  • Fog significant advantage when query range is within 0.5km and cloud based approach bettwe when query range is large.

Strengths

  • Programming model for large scale, geo-distributed, and latency sensitive applications.
  • Mobile Fog API's provide a comprehensive set of API's to enable writing of IOT applications which can dynamically scale.
  • Mobile Fog provides developers an interface so that they can write same applications which can be run different heterogeneous devices so they don't have to worry about the different requirement of heterogeneous devices.
  • Mobile fog provides an interface to manage application deployment and management.


Weakness

  • The programming model doesn't address any security and trust mechanisms.Like in the case of dynamic scaling which resources can be used for auto scaling.
  • The evaluation is pretty weak and is done in a simulated environment.
  • Details on the experimental setup are missing.Are the devices all located at a central place?Or geo-distributed?
  • Correct measurements of latency and performance can be better evaluated in real distributed fog systems which have high churn, unreliable and insecure, which their evaluation doesn't account for.
  • Evaluation doesn't use dynamic placement strategies.

1 comment:

  1. Very good evaluation. First paper was not very detailed and deep as you pointed out. Second paper was better -- good discussion points #2, #4

    ReplyDelete

Note: only a member of this blog may post a comment.