WebDNS is a system developed at CSAIL to allow Lab members to manage entries in the Lab's Domain Name System namespaces. See the WebDNS Users' Guide for more information.

History and Credits

When the Domain Name System was first implemented at LCS/AI in the 1980s, the authoritative namespace data store was the Lisp Machine namespace system. A nightly job on one of the LispMs would store a flat-file export of the namespace on a TOPS-20 server, MIT-XX. Rob Austein developed a program on XX to parse the flat file into standard-format zone files, which were then transferred to the name servers. When XX was shut down, Austein and Mike Patton developed two schemes to convert the LispM dumps to zone files on a Unix machine; Austein's (written in Emacs Lisp) was completed first, so Patton's more general solution was never deployed.

By 1991, Austein's Emacs Lisp hack was taking several hours to run, and users were grumbling that their changes were not taking effect in a timely manner (defined as "before I get in the next day"). Chris Lindblad wrote code to generate the zone files directly on a LispM, which was significantly more efficient; from the LispM server, Zermatt, they could be FTP'ed to a Unix server and installed in the name servers.

LCS finally gave up on maintaining Lisp Machines around 1995. The namespace system (with its accompanying DNS hack) running on Zermatt was one of the last essential services which needed to be migrated off the LispMs before they could be shut down for good (reclaiming much valuable space in NE43's third-floor machine room). In what he described as a "dissertation-avoidance exercise", Chris Lindblad again came to the rescue, developing the first implementation of WebDNS. As originally implemented, WebDNS was a monolithic Perl 4 CGI script, which stored its back-end database as DBM files on the main LCS server, mintaka, a Sun SPARCstation IPX. It was not very efficient, but it was more accessible to the Lab's users than the old LispM namespace was, and it got Zermatt out of the way.

By 1999, the problems with the new implementation were clear. It was difficult to maintain, did a lot more work than it needed to accomplish its function, and made it too easy for Lab members to unintentionally break services for the whole Lab. I (Garrett Wollman) began designing a new relational-database back end (implemented using PostgreSQL) but never built the user interface.

The "new" system, and the machine it ran on, lasted until 2003. That year, Noah Meyerhans took my code and built the missing pieces for a Web front end. The result is the current implementation of WebDNS.

[History cobbled together by Garrett Wollman and Mike Patton.]

-- GarrettWollman - 15 Sep 2005
Topic revision: 13 Aug 2010, EricSchwartz

MIT Computer Science and Artificial Intelligence Laboratory


  • About CSAIL
  • Research
  • News + Events
  • Resources
  • People

This site is powered by Foswiki MIT: Massachusetts Institute of Technology