Constantine Sapuntzakis

Contact Info

Office: Gates 407, 353 Serra Mall, Stanford, CA 94305
650-723-2458

Home: 777 W Middlefield Rd Apt 56, Mountain View CA 94043-3321
650-625-0217 (please do not call after 10pm Pacific)

E-mail: csapuntz@stanford.edu

What I do

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.

Research Interests

Making computers easier to use.

Education

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.

Experience

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.

Publications

What Precision I/O might be doing. June 13, 2004.

Refereed

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.

Patents

Protocol-independent support of remote DMA
David R. Cheriton and Constantine P. Sapuntzakis
USPTO #6675200

RFCs

iSCSI Requirements and Design Considerations (RFC 3347)
M. Krueger, R. Haagens, C. Sapuntzakis, and M. Bakke
July 2002

Internet Drafts (non-refereed)

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

Other

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

Radeon 9200 or 9250 (RV280) at 1600x1200 over DVI under Linux

Valid XHTML 1.1! Valid CSS!