Curriculum Vitae: Timothy Mann
Updated August 18, 2001
Home:
707 Leahy St. #127-C
Redwood City, CA 94061
(650) 367-8019
Email: tim@tim-mann.org
Web page: http://www.tim-mann.org/
My interests within computing are rather broad. I enjoy working on
lower-level software, from the hardware/software boundary on upward.
I also enjoy working on networking and distributed systems problems.
My professional experience has been in naming, file systems, clock
synchronization, operating system kernels, and software configuration
management. I've also done nonprofessional work in emulation and user
interfaces. Some specific projects that I've worked on are described below.
Vesta:
Vesta is an integrated system for software configuration management,
consisting of a repository that stores immutable, versioned source
code in a file system name space, a builder that automates the process
of making derived objects from source, and a site-wide shared cache
that speeds up the builder by allowing it to avoid redoing work that
has been done before. I designed and implemented the repository, the
tools that use the repository for source control, and the features and
tools for replicating source code at multiple sites and doing
cross-site checkout. I also contributed to the design, debugging, and
documentation of most other parts of the system. For the past two
years, Vesta was in daily use by a group of about 150 developers
working on a large microprocessor design, distributed across two sites
on opposite coasts. During this period I helped provide second-line
support and implemented several new features that were requested by
our users. Vesta has recently been approved for release as open
source software.
Itsy:
I implemented a Linux flash-memory based file system for the Itsy pocket
computer. The initial version was done quickly by modifying and
gluing together several existing pieces of code, but I later worked
with a summer intern on Cloudburst, a new implementation with built-in
compression. Unfortunately our work was rendered irrelevant
by the release of
MTD and
JFFS2.
Frangipani: Frangipani is a distributed file system built on
top of the
Petal scalable network storage system. I was
co-designer of Frangipani and wrote most of the paper.
Echo: Echo was a research file system with replication for
high availability, logging for rapid crash recovery, and extensive
write-behind caching for performance. I worked mostly on the client
side, including the cache and failover.
Clock synchronization: I've done some unpublished work with
Leslie Lamport on clock synchronization, including both implementation
and algorithm design. I spoke on part of it at the March 1996
Dagstuhl-Seminar on Time Services.
Decentralized naming: My Ph.D. thesis work was on a scheme
for doing name lookup using multicast, thus eliminating name servers
as a point of failure.
Music:
I play the guitar and lead singalongs on a regular basis for some
church groups I'm involved with.
Chess:
I am the main author of xboard and WinBoard, which are
free graphical user interfaces for playing chess against a
chess program or against another user on an Internet Chess Server.
Over 100 chess programs now work with these interfaces.
Retrocomputing:
I am the main author of xtrs, a free Radio Shack TRS-80
emulator for Unix. I've also written a set of free tools for reading and
writing unusual floppy disk formats with the Catweasel universal
floppy disk controller.
Member
ACM,
IEEE CS,
Phi Beta Kappa,
Pi Mu Epsilon,
Sigma Pi Sigma.
Referee for conferences SOSP, OSDI, ASPLOS, PODC, ISCA, ISWC; journals
TOCS,
TPDS,
SP&E,
TON,
TSE.
Program committee for 2nd WMRD, 1990.
VMware,
September 2001 to present.
Senior Member of the Technical Staff.
Compaq Systems Research Center
(formerly Digital Equipment Corporation Systems Research Center), May
1987 to August 2001. Promoted from Member of Technical Staff to Senior
Member of Technical staff in October 1999. I worked on several
research projects (mostly described above) and consulted with various
product groups.
Stanford University Computer Science Department,
September 1981 to May 1987. Graduate
Research and Teaching Assistant.
As a research assistant, I worked on many parts of the V distributed
operating system, concentrating on the microkernel and the naming
service. I also edited the V user manual and coordinated system
releases to users outside Stanford. As a teaching assistant, I
prepared and graded tests and homework, and give individual tutoring.
Other Employment, June 1978 to May 1987. At various times
during this period I had summer or part-time positions at Silicon
Graphics (consulting), Bell Laboratories (summer intern), Marquette
University (research assistant), Galactic Software (TRS-80 operating system
programmer), and Lutheran Hospital (programmer and special projects).
Born March 9, 1959 in Milwaukee, Wisconsin. I have lived in the San
Francisco Bay Area since 1981 and prefer to stay here. In good
health; I was successfully treated for lymphoma in 1992 and there have
been no signs of recurrence.
- Allan Heydon, Roy Levin, Timothy Mann, and Yuan Yu.
Vesta: A System for Software Configuration Management.
Book-length report, in preparation.
- Timothy Mann. Partial
Replication in the Vesta Software Repository. Research
Report 172, Compaq Systems Research Center, Palo Alto, CA,
August 17, 2001.
- William R. Hamburgen, Deborah A. Wallach, Marc A.
Viredaz, Lawrence S. Brakmo, Carl A. Waldspurger, Joel F. Bartlett, Timothy
Mann, and Keith I. Farkas. Itsy: Stretching the bounds of mobile
computing. IEEE Computer, 34(4):28-36, April 2001.
- Allan Heydon, Roy Levin, Timothy Mann, and Yuan Yu.
The Vesta approach to software configuration management. Research
Report 168, Compaq Systems Research Center, Palo Alto, CA, March 2001.
- Gretta Bartels and Timothy Mann. Cloudburst: A compressing, log-structured virtual disk for flash
memory. Technical Note 2001-001, Compaq Systems Research Center, Palo
Alto, CA, February 2001.
- Chandramohan A. Thekkath, Timothy P. Mann, and Edward K. Lee.
Scalable Distributed File System.
United States Patent 6,173,293. January 2001.
- Allan Heydon, Jim Horning, Roy Levin, Timothy
Mann, and Yuan Yu. The Vesta-2 Software Description Language. Technical
Note 1997-005c, Digital Systems Research Center, Palo Alto, CA, June 1998.
- Chandramohan Thekkath, Timothy Mann, and Edward K.
Lee. Frangipani: A scalable distributed file system. In
Proceedings of the 16th ACM Symposium on Operating Systems Principles,
pages 224-237. ACM Press, October 1997.
- Timothy Mann, Andrew D. Birrell, Andy Hisgen, Chuck
Jerian, and Garret Swart. A coherent distributed file cache with directory write-behind.
ACM Transactions on Computer Systems, 12(2):123-164, May 1994. A
preliminary version appeared as SRC Research Report 103.
- Garret Swart, Andrew D. Birrell, Andy Hisgen, and
Timothy Mann. Availability in the Echo file system. Research Report 112, Compaq
Systems Research Center, Palo Alto, CA, September 1993.
- Andrew D. Birrell, Andy Hisgen, Chuck Jerian, Timothy
Mann, and Garret Swart. The Echo distributed file system. Research Report 111, Compaq
Systems Research Center, Palo Alto, CA, September 1993.
- Andy Hisgen, Andrew D. Birrell, Chuck Jerian, Timothy
Mann, and Garret Swart. New-value logging in the Echo replicated file system. Research
Report 104, Compaq Systems Research Center, Palo Alto, CA, June 1993.
- Andy Hisgen, Andrew D. Birrell, Chuck Jerian, Timothy
Mann, and Garret Swart. Some consequences of excess load on the Echo
replicated file system. In Proceedings of the IEEE Workshop on
the Management of Replicated Data, pages 92-95. IEEE, November 1992.
- Michael Burrows, Chuck Jerian, Butler Lampson, and
Timothy Mann. On-line data compression in a log-structured file system. In
Proceedings of 5th Conference on Architectural Support for Programming
Languages and Operating Systems, October 1992, Also appeared as SRC
Research Report 85.
- Andy Hisgen, Andrew D. Birrell, Chuck Jerian,
Timothy Mann, Michael D. Schroeder, and Garret Swart. Granularity and
semantic level of replication in the Echo distributed file system.
In Proceedings of the IEEE Workshop on the Management of Replicated
Data, November 1990.
- Andy Hisgen, Andrew D. Birrell, Timothy Mann,
Michael D. Schroeder, and Garret Swart. Availability and consistency
tradeoffs in the Echo distributed file system. In Proceedings
of 2nd IEEE Workshop on Workstation Operating Systems, pages 49-54.
IEEE, September 1989.
- Timothy Mann, Andy Hisgen, and Garret Swart. An algorithm for data replication. Research Report 46, Compaq
Systems Research Center, Palo Alto, CA, June 1989.
- David R. Cheriton and Timothy P. Mann.
Decentralizing a global naming service for improved performance and
fault tolerance
ACM Transactions on Computer Systems,
7(2):147-183, May 1989.
- Timothy Paul Mann.
Decentralized naming in distributed
computer systems. Stanford University, School of Engineering,
Computer Science Department, Stanford, CA, May 1987. Ph.D. Thesis. Available
as Computer Science Technical Report STAN-CS-87-1179.
- David R. Cheriton and Timothy P. Mann.
A decentralized naming facility. Technical Report STAN-CS-86-1098,
Computer Science Department, Stanford University, Stanford, CA, February
1986. Figures are missing from online copy.
- Ross Finlayson, Timothy Mann, Jeffrey Mogul, and Marvin
Theimer.
A reverse address resolution protocol. Request For
Comments 903, Network Information Center, SRI International, June 1984.
- David R. Cheriton and Timothy P. Mann.
Uniform access to
distributed name interpretation in the V-System. In Proceedings
of the Fourth International Conference on Distributed Computing Systems,
pages 290-297. IEEE, 1984. Co-winner of Best Paper award. Figures
are missing from online copy.