Computer Science Department
School of Computer Science, Carnegie Mellon University
Smart Phones as Self-Cleaning Portable Caches
Stephen Smaldone*, Benjamin Gilbert, Matt Toups
An increasingly ubiquitous computing infrastructure promises mobile users an attractive "carry-nothing" computing model, in which powerful computers for personal use can be found anywhere, anytime. Since pure "carry-nothing" computing approaches can make users unacceptably dependent on the availability and performance of Internet connectivity, compromise solutions in which users carry their computing environment have been proposed in the literature. To make these approaches practical, and to outweigh the benefits of "carry-everything" models, a user's personal computing environment must be conveniently, efficiently, and reliably stored and transferred between the local computing infrastructure and centralized servers. Unfortunately, all currently proposed approaches fail to meet one or more of these requirements.
We present Horatio, a trusted personal assistant that enhances user experience in infrastructure-based mobile computing systems. Horatio runs on smart phones (or other smart personal devices, such as PDAs, handheld PCs, etc.), leveraging three key properties of these devices: (i) users carry them wherever they go, (ii) users place high levels of trust in them, and (iii) they are almost always connected to the Internet, albeit with varying and sometimes limited bandwidth. Horatio devices act as trusted allies in three ways. First, they cache users' personal computing environments and make them available even when servers are not reachable. Second, they ensure that any cache modifications will be eventually stored at servers. Third, they improve the performance of both saving and retrieving a personal computing environment.
In this paper, we present the initial basic design of Horatio and a number of near-term future directions for this project. We describe how Horatio: (i) extends the Internet Suspend/Resume® system by introducing new state transfer protocols based upon the separation of control and data state, (ii) cleans cache state asynchronously without user intervention, and (iii) reduces both the suspend and resume latencies of a user's personal computing environment while maintaining high levels of availability and reliability.
*Department of Computer Science, Rutgers University, Piscataway, NJ