Mahadev Satyanarayanan is the Carnegie Group Professor of Computer Science at Carnegie Mellon University. From May 2001 to May 2004 he served as the founding director of Intel Research Pittsburgh, one of four university-affiliated research labs established worldwide by Intel to create disruptive information technologies through its Open Collaborative Research model. He is a Fellow of the ACM and the IEEE, and was the founding Editor-in-Chief of IEEE Pervasive Computing. As an experimental computer scientist, Satyanarayanan designs, implements, and evaluates systems. His research interests span mobile computing, pervasive computing and distributed systems (especially distributed file systems). Performance, availability, security, usability and manageability are some of the key attributes that he pays attention to in his work.
posted by Richard Power
CyLab Chronicles: Tell us about what you term the "sad state of mobile computing" and about the analogy you make concerning the difference between a Swiss Army knife and a wallet?
MAHADEV SATYANARAYANAN: The CPU, memory, I/O, and energy demands of application domains such as computer vision, augmented reality, machine learning, natural language translation, speech recognition, and so on greatly exceed the capacity of devices that people are willing to carry or wear for extended periods of time. On such hardware, improving size, weight and battery life are higher priorities than enhancing compute power. A mobile device can never be too small, too light or have too long a battery life! It is indeed a paradox that a great many applications of highest value to a mobile user are the hardest to support on such a device. This is not just a temporary limitation of current technology, but is intrinsic to mobility. At any given cost and level of technology, considerations of weight, power, size and ergonomics will exact a penalty in computational resources. Computation on mobile devices will always be a compromise. This, combined with uncertainty in the quality of wireless communication, is what I mean by the "sad state of mobile computing."
We can characterize the current design philosophy for mobile devices as the “Swiss Army knife” approach: cram as much functionality as possible into a single device. Unfortunately, each function of the Swiss Army knife has to be sub-optimally implemented because of size and weight constraints. For example, I would much rather use a full-sized screw driver, if available, than the small one in a Swiss Army knife. The same logic applies to other functions of that device.
Contrast this with the design philosophy of a wallet. Although useless in the wilderness, its contents (typically cash, credit cards, and ID cards) become valuable in the context of civilization. With cash or a credit card, I can buy anything I need, when and where I need it. With appropriate ID, I can enter buildings and rooms with restricted access and use many resources there. A wallet can thus be viewed as a device that helps transform generic infrastructure into highly personalized services. This idea leads to a very different design philosophy for mobile computing. Rather than cramming direct functionality into mobile devices, we should provide indirect functionality that can leverage external resources.
CyLab Chronicles: Tell us about "almost free hardware" and how it can change the world?
SATYANARAYANAN: Today, a low-end desktop costs only a few hundred dollars --- no more than simple office furniture. With the right business incentives, one can envision coffee shops, airport lounges, dental and medical offices, and other semi-public spaces providing hardware for the benefit of nearby users. Before this can happen, however, we need to resolve an inherent tension between mobile users and infrastructure owners. A mobile user wants effortless, safe, fast and ubiquitous access to nearby infrastructure that is precisely configured for his use, regardless of where he is in the world. The owner of infrastructure seeks adequate return on his investment, which translates to effortless setup and minimal management combined with the ability to serve the widest possible range of users while remaining safe from careless and malicious users. "Almost-free hardware" will not realize its potential to transform mobile computing unless the architecture and implementations of future mobile computing systems successfully resolve this inherent tension.
CyLab Chronicles: What are some of the key challenges?
SATYANARAYANAN: First, Agility -- At any time and place, how does infrastructure magically morph into the precise software configuration needed by different users? Can this be achieved fast enough that it appears instantaneous to a user? Can this be accomplished without prior knowledge of specific users or their needs? How can system administration be kept to a bare minimum, so that infrastructure owners can effectively view their investments as self-managing?
Second, Anticipation -- Can location tracking, history-based predictions and other sensing strategies be used for accurately predicting infrastructure use by specific users? Can these predictions be proactively exploited to improve agility? Can the cost of erroneous predictions be kept low enough to be tolerable? How can imprecise predictions be used for proactive adaptation of infrastructure?
Third, Discovery -- How best can mobile users be guided to use nearby infrastructure? What exactly does "nearby" mean? Are the low-level service discovery mechanisms available today (such as UPnP, Bluetooth Service Discovery, Avahi, and Jini) adequate for the world we envision, or are they inadequate in fundamental ways? How is ubiquitous service discovery supported in the face of this diversity of mechanisms?
Fourth, Resilience -- What are the fallback options if nearby infrastructure cannot be used? How should applications be designed to cope with these situations? If distant infrastructure has to be used, are there application modalities that preserve usability even at the cost of reduced functionality? Are there systematic design principles to guide the development of such applications? If wireless communication to a mobile device is disrupted or degraded, or suppressed for energy conservation, how should applications adapt in order to preserve usability? Can general design principles and mechanisms be developed for graceful degradation in the face of infrastructure unavailability?
Fifth, Safety -- How can a user be confident that the infrastructure he is using is not malicious? What is the right mix of enforcement mechanisms and reputation-based trust to balance usability and safety? How can infrastructure owners minimize the impact of malicious or careless users? Can the management and use of the safety mechanisms be made so simple that they do not constrain the deployment and widespread use of infrastructure?
Sixth, Scalability -- What are the resource allocation and sharing mechanisms necessary for infrastructure use by many users? What are the mechanisms for handling peak transient loads, and how can their negative impact on users be kept to a minimum? Can corrective actions (such as advising a user to move to a different location) be successfully incorporated into load balancing? Without centralized management, can infrastructure sites collaborate to share resources? Can predictive mechanisms be used to anticipate and avoid scalability hot spots?
Seventh, Partitioning -- Should entire workloads be moved from the mobile device to the infrastructure or should only key components migrate? If the latter, where and how are those divisions drawn, and can part of the process be automated? Since energy is a key constraint on a mobile system how do we estimate the appropriate energy versus remote computation tradeoff, recognizing that wireless transmission of applications and data consumes energy initially but later saves energy on the mobile device when the computation is offloaded to the infrastructure.
Eighth, Traceability -- Can a sufficiently detailed but decentralized audit trail of infrastructure usage be cheaply maintained across independent sites to serve as the basis for accounting, troubleshooting, and forensic analysis? How best can the need for traceability be reconciled with the privacy and anonymity of mobile users?
CyLab Chronicles: What is transient customization and how does your research address the issue? Tell us about Kimberley?
SATYANARAYANAN: Transient customization is the rapid and temporary transformation of computing infrastructure into the exact software configuration needed to assist a mobile device for a specific application context. In other words, it is the rapid software provisioning of fixed infrastructure for transient use by a mobile device.
Kimberley is an experimental prototype that we are building to explore the concept of transient customization. Kimberley decomposes customized virtual machine (VM) state into a widely-available "base VM" and a much smaller, possibly proprietary, "private VM overlay."
These two components are delivered to the site being provisioned in very different ways. The base VM is downloaded by the infrastructure in advance from a publicly accessible web site. The private VM overlay is delivered to a server in the infrastructure just before use, either directly from the mobile device or under its control from a public web site. In the latter case, encryption-based mechanisms can be used to ensure the integrity and privacy of the private VM overlay. Once obtained, the overlay may be optionally cached for future reuse. The server applies the overlay to the base to create and execute a "launch VM." When the user departs, this VM is terminated and its state is discarded. In some cases, a small part of the VM state may be returned to the mobile device; this is referred to as the "VM residue."
We anticipate that a relatively small number of base VMs (perhaps a dozen or so releases of Linux and Windows configurations) will be popular worldwide in mobile computing infrastructure at any given time. Hence, the chances will be high that a mobile device will find a compatible base for its overlays even far from home. The chances of success can be increased by generating multiple overlays, one for each of a number of base VMs. The collection of popular base VMs can be mirrored worldwide, and a subset can be proactively downloaded by each infrastructure site.
CyLab Chronicles: What are the commercial implications of your research? What is the end result for the mobile user?
SATYANARAYANAN: The end result for the mobile user is confidence that at any time and place in the world, his mobile device can find nearby computing infrastructure, rapidly transform it into the exact software configuration needed, and then use it to provide a high-quality user experience on resource-intensive applications. Although it is premature to speculate on specific commercial opportunities, this research opens the door to fundamentally new business models in mobile computing.
See all CyLab Chronicles articles