Department of Computer Science

Avatar: Mobile Distributed Computing in the Cloud

Research Directions

This project investigates how cloud computing can support mobile distributed computing. We introduce the concept of an avatar, which is a per-user software entity in the cloud that acts on behalf of user's mobile devices, and thus provides larger storage capacity, higher computational power, wider bandwidth, and better availability than mobile devices. We plan to investigate, design, and prototype an avatar-based system architecture for mobile distributed computing. This project explores three main research directions:

  • A programming model and a middleware that enables effective execution of distributed apps on a combination of mobile devices and avatar.
  • Cloud services that perform avatar management: distributed storage for avatar virtual machine (VM) images, avatar VM and request co-scheduling, and storage management for mobile data.
  • Privacy-preserving protocols that leverage additional cloud providers to guarantee an enhanced level of user data privacy, while maintaining most functionality achieved in non-private protocols.
No Preview Available

Programming model and middleware:

There is a need for high-level programming abstractions, distributed computing models, and middleware support that will make mobile distributed app development and deployment straightforward. This research will investigate a new distributed programming model that is necessary due to two unique features of the avatar architecture. First, the "always-on" avatar, being associated with a user, enables user-to-user collaboration. This is different from traditional distributed computing where we have machine-to-machine cooperation. In avatar, users become "computing entities" in the sense that they produce data, provide context information, and interact with the distributed apps. Second, each per-user instance of a distributed app runs at several places (i.e., avatar and one or more mobile devices). This is also different from traditional distributed computing where an instance of the app is bound to one node. In avatar, all app instances are the same, but the actual computation they perform as well as the place where the computation is done may differ based on their roles and input data.

Since we plan to devise automatic and dynamic app partitioning techniques that will enable global optimizations for the distributed apps, the apps must run transparently on either the mobile devices or the avatars. Therefore, the same API will be exposed to apps by a middleware running on the mobiles and the avatars. The API will provide functions for communication, storage, and app management. This middleware will also be responsible for enforcing access control, monitoring resource consumption at mobile devices and the cloud, and synchronizing mobile devices with their avatars.


Cloud services for avatar management:

Each avatar will run in its own virtual machine (VM) in the cloud. The cloud provider infrastructure, therefore, needs to be optimized for mobile distributed apps used by millions/billions of users. In order to run avatars effectively with high scalability, we will explore an efficient distributed storage system, distributed VM images and VM clustering, and co-scheduling of VMs and requests. To ensure high scalability while maintaining minimal I/O latency, the storage system of our model has to match the data layout with the layout of the VMs to localize data access. By clustering collaborative VMs and co-locating VMs and datasets together, we can localize both communication and data access, and thus effectively reducing I/O latency. This will reduce the amount of traffic in the backbone network. To improve availability, we need to minimize resource consumption without degrading the performance of avatars in the cloud. We plan to co-schedule the VMs and requests to achieve this goal.


Privacy-preserving protocols:

Some users may not be willing to participate in the avatar model if it violates their privacy. On the other hand, privacy protocols need to balance privacy guarantees with app efficiency/usability. A user's avatar engages in a protocol with avatars of other users that receive as inputs the user's data and data of other users. Existing privacy protocols based on secure multi-party computation cannot be applied directly in the proposed model, as all avatars run on untrusted third party cloud service providers (CSPs). The CSP which runs the avatars will have access to the data of all users who participate in the system. From a privacy perspective, this solution is not satisfactory. Hence, we plan to design and deploy new privacy-preserving protocols that will ensure user data privacy under the avatar model. We also plan to explore new privacy-enhanced storage primitives in our system. Finally, we plan to understand the effect of privacy on dynamic app partitioning.



© Copyright 2014 - 2015 Internet Lab, CS Department, New Jersey Institute of Technology. All rights reserved.