I am interested in distributed systems, operating systems, the World Wide Web, electronic commerce, networked applications, mobile computing, fault tolerance, multimedia and computer security. My thesis work involves investigating how one might partition online services for efficient operation in the face of constrained communication (such as one might find when using a mobile computer, or when accessing the internet over a slow modem line).
In my years at CMU before I got interested in mobile computing, I spent some time looking at how one might attempt to benchmark the ability of a multiuser, multiprogrammed OS (like Unix) to tolerate software errors triggered by misbehaving or malicious user processes.
I spent the first two of my summers as a graduate student interning with the Spring OS group at Sun Microsystems Laboratories in Mountain View, CA. In the first summer, I worked on analyzing and recommending improvements to the SpringOS virtual memory system. In my second summer, I converted the SpringOS distributed filesystem to a stacked filesystem architecture supporting the dynamic augmentation of functionality through the addition of stacked layers.
Before I came to CMU, I worked at IBM's T. J. Watson research center. There, I did a variety of OS-related work, including implementing and comparing the performance of various buffer cache management algorithms, implementing and measuring the benefits of cache-affinity scheduling, and implementing a bare-bones prototype of what later became a parallel file server based on a cluster of RS/6000 workstations.
Long ago, I used to be interested in computer vision and robotics. I still think these things are cool, but perhaps better left to those with divine guidance...
Oh yeah... of course, I love hacking on the Web, on XEmacs, on the AIX
and linux backup systems and much more, but for now I want to be able
to think of this page as a "research" page!