Monday 20 February 2017

FocusStack: Orchestrating Edge Clouds Using Location-Based Focus of Attention


Summary
This paper asks the question - can existing cloud orchestration tools be used to manage a distributed collection of edge devices? The paper begins by discussing why the existing Cloud Management tools are not sufficient for IoT → the presence of a very large number of edge devices, the involvement of the owners of these devices in their management and the fact that these devices may be moving (cars, drones etc).


FocusStack
  1. Goal →  Add a layer on top of OpenStack to dynamically select a suitable subset of the available edge devices for a given application based on location such that these fewer devices can be better managed.
  2. The paper introduces the concept of ‘Location Based Situational Awareness’ - a particular edge device is in the ‘focus of attention’ only if it satisfies certain requirements such as physical location, capabilities (example the sensors it has), its health and user authorization.
    1. It is useful for a class of applications that need data from a known geographic area.
    2. If a device does not satisfy these requirements, it is not managed. This reduces the load on the controller (here OpenStack).
    3. This also saves edge resources and makes the system more scalable.
    4. Most importantly - It helps when devices could be mobile since the tracking is based on location (and not IP addresses etc)


Design and Architecture
FocusStack contains two main components LSA and OSE which work as follows -
  1. An Application server uses the FocusStack API to initiate a location-based application. It specifies the geographic coordinates of the area of interest.
  2. Location-Based Situational Awareness (LSA - implemented using ALGS) takes as input these coordinates and locates edge devices within this area. It coordinates all further communication to and from these edge devices using the ‘FCOP’, a scalable distributed algorithm. The results of LSA are passed on to OSE.
  3. OpenStack Extension (OSE) is the chosen Management framework and is responsible for deploying and managing applications onto the edge devices.
  4. The Edge devices themselves need several components in this architecture which are described in a lot of detail in the paper. The applications are deployed as docker containers on an edge device and each of these has access to all OpenStack Services.


Strengths
  1. The paper gives us abundant use-cases, making it easy to follow and interesting.
  2. Using OpenStack, a popular cloud management tool guarantees widespread use due to the already accepted and established security, deployment and scheduling techniques. Additionally, the whole suite of OpenStack services is available to each docker application improving their compute capabilities and creating a hybrid cloud.
  3. OpenStack cannot directly manage edge devices and LSA elegantly solves this problem by reducing the number of compute nodes dynamically.
  4. LSA is a layer on top of unmodified Openstack and this should mean that LSA can be used in integration with other management tools (maybe even those which are not open source?)
  5. FocusStack looks at a new type of edge devices - cars, drones etc utilizing the data they collect while addressing the fact that these edge devices move and hence require different tracking and communication -
    1. As the paper mentions, this problem is solved by the use of Geo-Addressing (GA) which is effective even in the absence of IP addressing.
    2. The design of FocusStack is also modified to address this issue in other ways - for example, responses are sent back to a circular area around the querier and not a single point  (or IP) in case the querier moved.
  6. For a developer looking to create a location based application, he can focus on developing the logic and does not need to worry about locating the target edge devices.
  7. A good design decision is to separate the response UI from the actual edge device. For example using the tablet to display DashCam results which allows using the app even when you are not near your car.


Weaknesses
  1. App Type - FocusStack targets a small class of location-based applications and can not be applied to the whole range of edge devices and applications.
  2. Network and Communication-
    1. Doesn’t communication between multiple devices in whole areas lead to network clogs despite the optimisations discussed? FocusStack heavily relies on devices communicating with the central controller.
    2. Moreover, moving edge devices would depend on cellular LTE connections which is unreliable and expensive specially for apps like live video streaming.
    3. The DashCam architecture design makes a point about about first uploading video feed to the app server and from there to the requesting device. This seems redundant in case of a single requesting device - maybe this decision should also be dynamic based on the available network, number of requests for the same data etc (provided security can be maintained)
  3. Security and Privacy -
    1. The paper talks about security twice - it requires authenticated devices (no details) and secondly if a device is detected to be unsafe or rooted, the connection is killed. In my opinion security needs to be discussed in more detail because a single malicious edge device may be able to hack its way into the system easily.
    2. This leads to the privacy issue which is already a concern today. I believe the applications discussed in this paper pose some threat here if not monitored. Example - live video feeds being shared with unknown users could be misused.
These are related to the concerns mentioned in section 7 of the paper.
  1. Latency - Latency could be a concern for some apps like the DashCam being used to monitor queues and no numbers are provided to demonstrate how much delay exists in real time streaming. These delays become important because edge devices are being detected, selected and application dockers are being deployed over Cellular LTE.


Discussion Points
  1. The paper addresses a very specific set of applications - those which are targeted to a particular geographical area. These apps would definitely be useful to businesses to study customer and other patterns but do you think there is a valid use-case to you as an individual (like the DashCam App ) ?
  2. I believe that since LSA is a layer on top of OpenStack, it can be used with some other cloud management frameworks too. Any ideas?
  3. LSA builds a layer to cut down the number of compute nodes (edge devices) based on the target location and device capabilities. What other criteria can be used to select a suitable subset of devices for other apps? Is filtering devices only based on capability and/or randomness enough for data collection?
  4. The authors claim that FocusStack is closest to paradrop - How do they compare in terms of goals, target edge devices, security etc?

2 comments:

  1. For #3 discussion point : Can network stability/bandwidth be an added criteria? Or does it assume that all the devices are connected via the same network?

    ReplyDelete
  2. Superb blog. I personally don't think the app class is too limited as this is their focus. Discussion #3 is a good one.

    ReplyDelete

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