|
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.
|
|
|
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.
|