Carnegie Group Professor of Computer Science
Office: 9123 Gates & Hillman Centers
My research focuses on the challenges of performance, scalability, availability and trust in information systems that reach from the cloud to the mobile edge of the Internet. In the course of this work, my work has spanned the topics of distributed systems, mobile computing, pervasive computing, and the Internet of Things (IoT). My 2009 publication “The Case for VM-based Cloudlets in Mobile Computing” has inspired many technical efforts worldwide at the intersection of mobile computing and cloud computing, and has led to the emergence of Edge Computing (also known as "Fog Computing").
Here are the things that I am working on currently:
- Cloudlet-based Edge Computing: A cloudlet is a new architectural element that arises from the convergence of mobile computing and cloud computing. It represents the middle tier of a 3-tier hierarchy: mobile device —> cloudlet —> cloud. A cloudlet can be viewed as a "data center in a box" whose goal is to "bring the cloud closer". Our work on cloudlets is key to the mergence of Edge Computing. This is a new paradigm in which substantial compute and storage resources are placed at the edge of the Internet, in close proximity to mobile devices or sensors. In the Elijah project (http://elijah.cs.cmu.edu), my students and I are working on the design, implementation and evaluation of cloudlet software and cloudlet-based applications that can leverage the latency and bandwidth benefits of cloudlets.
- Wearable Cognitive Assistance: Cloudlets are a disruptive force because they bring energy-rich high-end computing within one wireless hop of mobile devices, thereby enabling new applications that are both compute-intensive and latency-sensitive. A prime example of this new genre of applications is wearable cognitive assistance, which combines a device like Google Glass with cloudlet-based processing to guide you through a complex task. As with a GPS navigation system, you hear a synthesized voice telling you what to do next and you see visual cues in the Glass display. When you make an error, the system catches it immediately and corrects you before the error cascades. This futuristic genre of applications is characterized as “astonishingly transformative” by the report of the 2013 NSF Workshop on Future Directions in Wireless Networking. In collaboration with Dan Siewiorek, Martial Hebert, and Bobby Klatzky, my students and I are exploring this exciting new world. Some YouTube videos of the applications we have built can be found at: https://www.youtube.com/playlist?list=PLmrZVvFtthdP3fwHPy_4d61oDvQY_RBgS
- Edge-based Discovery of Training Data for Machine Learing: Deep neural networks (DNNs) have transformed computer vision. By supervising their training, a domain expert with no programming skills or computer vision back-ground can create highly accurate classifiers in his or her domain of expertise. This introduces a new problem: creating large enough training sets with accurately-labeled examples. DNNs typically need to be trained on thousands of labeled examples before their accuracy reaches an acceptable level. By definition, an expert cannot delegate the task of finding these examples and labeling them to less skilled persons. This eliminates crowd-sourcing approaches that have been successful in other contexts.
We are working on a human-in-the-loop system called Eureka for human-efficient discovery of training data from distributed data sources on the Internet. "Human-efficient" in this context refers to (a) leveraging human judgement and expertise; (b) avoiding long stalls awaiting results; and (c) avoiding overloading the expert with a flood of irrelevant results. Eureka views user attention as the most precious resource in the system. This resource is used well if most of it is consumed in examining results that prove to be true positives. It is used poorly if most of it is spent waiting for results, or dismissing frivolous false positives. To this end, Eureka uses an iterative workflow that starts from a handful of examples and evolves through increasingly sophisticated classifiers that lead to discovery of more true positives. We are looking to use semi-supervised and active learning strategies in Eureka to further enhance the productivity of domain experts.