Contact InfoOffice: Gates 407, 353 Serra Mall, Stanford, CA 94305 Home: 777 W Middlefield Rd Apt 56, Mountain View CA 94043-3321 E-mail: csapuntz@stanford.edu |
As a graduate student, I research network and distributed systems at Stanford's Computer Science Department. I work on the Collective project which aims to make computing simpler, more reliable, more secure, and more responsive. We want to make installing software as transparent as visiting a web site. Once installed, the software will be automatically updated as the publisher makes updates. Users should not have to worry about where their code is running; we envision running the user's software in a global compute utility. The utility will manage on which hardware the user's software runs, moving the software around to work around hardware failures and to provide the user with a responsive experience.
Software running on our utility is organized into virtual appliances. We were inspired by the TiVo; all the software on the TiVo is controlled by one organization, TiVo Inc., and well isolated from other software running in different boxes. Due to that level of control, TiVo can provide automatic updates without hassling the end user.
A virtual appliance is a computer appliance like a TiVo, but without the hardware. The software in a virtual appliance can run on either bare user-supplied hardware or on top a virtual machine monitor like VMware's Virtual Worlds. Each virtual appliance has its own OS, shared libraries, and applications; these can be integration tested by one organization to ensure they work together. Users usually won't install software into virtual appliances; instead, they will use multiple appliances to get the set of features they need. The appliances will interact with each other and the user over the network. Most of the virtual appliances and their updates are distributed as disk images, avoiding the divergence that happens today when desktops have different sets of software and patches installed.
You can read more about these ideas in our HotOS paper or on our project page.
Making computers easier to use.
Since 1998, I have been pursuing a PhD in computer science at Stanford.
I earned a Bachelors and Masters Degrees in Computer Science at MIT (Cambridge, MA) in 1998. For my Masters thesis, I ported Greg Ganger's Co-locating Fast File System to BSD Unix and did some measurements. Greg Ganger and Professor Frans Kaashoek guided my work and supervised my thesis.
From June 1999 to December 2001, I interned at Cisco Systems. Along with IBM, I created the iSCSI protocol to run SCSI over TCP. I designed a TCP option, which decreases the number of copies needed at the receiver by placing data in the right place as it comes in off the network. The TCP option sparked a discussion that led to the RDMA consortium's efforts to put RDMA on top of TCP/IP. I participated in early standardization work of both iSCSI and RDMA at the Internet Engineering Task Force standards body.
From 1997 to 2002, I maintained and implemented kernel device drivers and file systems in the open source, UNIX-like, OpenBSD operating system. In my spare time, I've also become fluent with maintaining Windows, Mac, and UNIX machines.
As a summer intern at Microsoft in 1996, I wrote security and internationalization code for Microsoft Frontpage. In 1995, while interning in the Microsoft Office program manager group, I prototyped a response by Novell.
What Precision I/O might be doing. June 13, 2004.
The Collective: A Cache-Based System Management Architecture
R. Chandra, N. Zeldovich, C. Sapuntzakis, and M. S. Lam
In Proceedings of the 2nd Symposium on Networked Systems Design and Implementation (NSDI 2005), May 2005.
Virtual Appliances for Deploying and Maintaining Software [BIBTeX]
C. Sapuntzakis, D. Brumley, R. Chandra, N. Zeldovich, J. Chow, M. S. Lam, and M. Rosenblum
In Proceedings of the 17th Large Installation Systems Administration Conference (LISA 2003), October 2003.
Virtual Appliances in the Collective: A Road to Hassle-free Computing
C. Sapuntzakis and M. Lam
In Workshop on Hot Topics in Operating Systems (HOTOS), May 2003
Optimizing the Migration of Virtual Computers
C. Sapuntzakis, R. Chandra, B. Pfaff, J. Chow, M. Lam, and M. Rosenblum
In Proceedings of Operating Systems Design and Implementation, December 2002.
Protocol-independent support of remote DMA
David R. Cheriton and Constantine P. Sapuntzakis
USPTO #6675200
iSCSI Requirements and Design Considerations (RFC 3347)
M. Krueger, R. Haagens, C. Sapuntzakis, and M. Bakke
July 2002
iSCSI (draft-ietf-ips-iscsi-20.txt)
J. Satran, K. Meth, C. Sapuntzakis, M. Chadalapaka, and Efri Zeidner
January 2003
The Case for RDMA (draft-csapuntz-caserdma-00.txt)
C. Sapuntzakis and A. Romanow and J. Chase
December 2000
TCP RDMA option (draft-csapuntz-tcprdma-00.txt)
C. Sapuntzakis and D. Cheriton
February 2000
TCP Message Boundary Option (draft-csapuntz-tcpmsgbnd-00.txt)
C. Sapuntzakis
August 2000
A Co-locating Fast File System for BSD Unix
C. Sapuntzakis
Masters Thesis, MIT 1998
Non-standard (broken) behaviors of ATA / ATAPI devices
Pointers to resources related to ATA / IDE / ATAPI