Thursday, February 26, 2015

Medusa: A Programming Framework for Crowd-Sensing Applications

Crowd sensing can be described as a process of acquisition, integration, and analysis of big and heterogeneous data generated by a diversity of sources in urban spaces, such as sensors, devices, vehicles and mainly humans. With the help of cloud computing and big data, crowd sensing connects present sensing technologies like advanced data management,analytics models and new visualization methods to create solutions that improve urban environment and human life quality.To achieve crowd sensing the author proposes a programming framework 'Medusa' .It a provides a high-level abstraction for specifying the steps required to complete a crowd-sensing task and also employs a distributed runtime system which coordinates the execution of these tasks between smartphones and a the cloud.

Main Points:
  • Medusa is a high level language for crowd-sensing.In Medusa programmers specify crowd-sensing tasks as a sequence of stages.The Medusa runtime executes these sequential tasks.The design of the Medusa runtime is guided by mainly three architectural decisions.
    1. Partitioned Services : Medusa should be implemented as a partitioned service so that it uses collection of services from the cloud and the smart-phone.
    2. Dumb Smart-phone: Medusa should reduce the computational workload on the smart-phone and offload large computations on the cloud.
    3. Opt-in Data Transfers: Medusa should not transfer the data from the cloud to the smart-phone or vice versa without the permission of the user. 
  • The MedScript programming language is used to describe the crowd sensing tasks.MedScript consists of two high level abstractions 'stages' and connectors.MedScript is an XML based domain specific language.
  • The Medusa cloud runtime has many components like 'MedScript interpreter' which is used to calculate the number of instances to be run by Medusa.'Task tracker' as the name suggests is used to track each submitted task.'Worker manager' which supports human intelligence tasks like monetary transactions and 'Stage Library' which is a wide and reusable library of sensing processing communication.
  • The Medusa runtime on smart-phones has two components 'Stage Tracker'  which receives the stage initiation notifications by intercepting the SMS messages and 'MedBox' which is a sandbox environment having crowd sensing capabilities.
Trade offs:
  • The data privacy mechanisms implemented in Medusa are robust as the user has control over the data flow.
  • The results for concurrent execution of multiple MedScript programs show us that the Medusa framework is highly efficient as one user can execute multiple tasks .
  • From the evaluation results we can observe that the average time to receive and parse the SMS is high which increases the latency of the framework.
  • The paper does not mention any power(battery) consumption results .




1 comment:

  1. Very good analysis. Yes, there is no mention of battery drain. Any other critical comments?

    ReplyDelete