Adam M. Costello


[Dissertation] [Tangle] [Kong] [EECS 122] [Quals] [Online Backup] [Search Party] [Contractor] [OS prelim sp97] [pstext]
[FDDI] [MS Thesis] [BSD Timer] [Window Washing] [BibProc]
[cexcept] [charset] [Fonts] [IDN] [LoseNIM] [Par] [PNG] [Puzzles] [S40-Façade] [Utils] [X-Advice]
[init System] [pkg Interface]

For grad school at UC Berkeley:
Randomized Forwarding for Fault Tolerance in Peer-to-Peer Protocols
My doctoral dissertation, in progress, investigates the improvement in fault tolerance that peer-to-peer protocols can gain if messages are forwarded randomly.

Tangle: A distributed hash table based on randomized forwarding
Distributed hash tables are built on mechanisms that allow nodes to find each other by forwarding messages through multiple hops. Tangle's randomized forwarding makes this process more fault-tolerant.

Kong: The network delay ape
Inspired by the king tool for remotely measuring network round-trip times, Kong is a scalable system for sampling many round-trip times and mimicking them in simulations.

EECS 122: Introduction to Communication Networks
A course I co-instructed in fall 1999.

Joint Design of Multicast Loss Recovery and Forwarding Service Extensions
My quals proposal.

Online Backup and Restore
An incremental-only device-based online backup scheme that achieves low peak bandwidth and intelligently ordered online restore by writing the incremental dumps gradually, at multiple time scales concurrently.

Search Party: Using Randomcast for Reliable Multicast with Local Recovery
In a multicast distribution tree, a packet loss affects only a subtree. Local recovery (confining the retransmission near the loss subtree) is essential for scalability to large groups. Randomized forwarding prevents a few malfunctioning group members from having a large impact.

OS prelim spring 1997 reading list
I compiled an online reading list for the spring 1997 preliminary exam in operating systems, with pointers to many of the papers and some summaries. The questions also appear.

Contractor: A Remote Computation Environment for Java Applications
A system enabling users to run their untrusted code on remote servers, which fairly allocate resources among multiple jobs.

pstext: Turning Postscript into Useful Text
Can we use PostScript files more like documents, as opposed to images? In particular, can we select, copy, and search for text? If I ever get around to it...

For grad school at Washington University:
Counter Flushing in FDDI
An application of Counter Flushing to the FDDI token-passing protocol.

Self-Stabilization by Counter Flushing and Window Washing
My master's thesis. It includes the Window Washing work (see below) and the FDDI work (see above).

New Callout and Timer Facilities for NetBSD
A replacement timing algorithm designed in 1987 by George Varghese and Tony Lauck, now hacked into NetBSD. It allows callouts to be set and canceled in constant time no matter how many outstanding callouts already exist. Also, an extension to the setitimer() interface, allowing each process to have multiple real-time interval timers.

Window Washing
A technique used to achieve self-stabilization in a one-to-many sliding window protocol.

Bib File Processor
A mail server for collecting BibTeX entries.

For my personal use and entertainment:
A try/catch/throw exception-handling interface for C.

A summary of ISO-2022 and a character encoding I've devised for modeless multiple-character-set text, called MTF-8.

Fonts I've created or modified.

Some contributions to the Internationalized Domain Names (IDN) working group, in particular a string encoding called Punycode.

An unbeatable NIM player.

A paragraph reformatter.

Portable Network Graphics, an image file format to replace GIF.

Cool puzzles I've collected, with solutions.

South Forty Façade
A new musical every year with its own temporary theatre, written, built, and performed by students at Washington University for Thurtene Carnival. Unfortunately, they don't yet have a permanent web page. I have some documents of interest to Façadites.

Miscellaneous small utilities that I've written over the years.

A proposal for a new message header field.

From when I used to work for the Engineering Computer Lab:
Install System
Automatically installs and updates ECL-administered machines.

init System
A standard, customizable user environment.

pkg Interface
A user-friendly command set for accessing software packages.

[AMC]  Prepared by Adam M. Costello
 Last modified: 2003-Jul-31-Thu 03:46:58 GMT
[Any Browser]