Carnegie Mellon University

History (The Details)

The Andrew Project: History (The Details)

The Context

In the 1970s, the U.S. Department of Defense initiated ARPANET (the Advanced Research Projects Agency Network), which was essentially the precursor to the Internet. The project mainly connected universities and government agencies through various routing techniques. The idea was to provide a communication network that could withstand losses of portions of the underlying network by designing a system such that no single computer would carry the weight of the entire system. (6) Perhaps unexpectedly, network applications like email and file transfers quickly became its leading features.

Although the idea of electronic mail and file transfers existed prior to the Andrew project, computers were used for relatively few purposes. Due to their expense and limited capabilities (especially when compared against the computing power of today's machines), computers were primarily found in government agencies and international corporations. As number crunchers, they functioned well, but Jim Morris, professor of computer science at Carnegie Mellon, had a wider perspective in mind. He saw computers as communication machines—as a means to share information across wide distances.

The Inspiration

At the same time that the ITC was being formed, Morris—inspired by a Jacques Barzun essay that he read as a freshman at Carnegie Tech—wrote a manifesto of sorts, detailing his vision for the computational state of Carnegie Mellon (and higher education in general). Morris argued that "the primary goal should be to broaden, deepen, and improve the communication among students." Students, he believed, learn better from each other and the accumulated knowledge of their predecessors than from classroom lectures. (7)

The professor's secondary goal was for improved "access to the accumulated knowledge of the community and the world as represented by the libraries and other information sources." As a precursor to today's computing environment and open-access movement, Morris's ideas were revolutionary. In 1983 he was named director of the Andrew project.

In addition to the goals set by the ITC, Morris compiled a list of personal objectives for the project: build a system that is used at Carnegie Mellon and innovates in its support for campus-wide communication; help IBM to create a product for the university market; and help the Carnegie Mellon faculty to educate through the use of computers. (8)

The Vision

The Andrew project hinged on the concept of a distributed personal-computing system, an idea that originated at the Xerox Palo Alto Research Center, which Morris had left for Carnegie Mellon. The ITC designed the Andrew environment with two main components: a user interface, the VIRTUE workstation, and a campus-scale networking and distributed file-system infrastructure called VICE. As with any pioneering undertaking, the ITC periodically reassessed its goals to accommodate actual use and subsequently added the Andrew Message System (AMS). "What Andrew provides to its users is a relatively seamless, integrated computing environment in which the interaction of the various pieces produces a rich set of appealing and powerful capabilities for the end user," wrote AMS creator Nathaniel Borenstein. (9)

The Technology

Recognizing the advantages of an ARPANET-like communications system, the ITC resolved to design a prototype computing environment for academic instruction, research, and communication. But, in the fall of 1983, Carnegie Mellon had about 7,000 student, faculty, and staff computer users, and at a cost of $3,000 per workstation (on the low end), it was not feasible for students to purchase PCs. Therefore the university designated cluster facilities in various academic buildings that students could access.

To save on time, money, and energy the ITC exploited Carnegie Mellon's existing sparse Ethernet networking infrastructure and expanded it to form a campus-wide intranet using IBM wiring technology. It was crucial to use standard Internet protocols on top of the IBM wiring, something that had never been done. The resulting network was over 600 machines strong, a number that grew continuously as the Andrew project evolved. (10)

Hardware aside, the ITC had to choose a standard operating system. In a pivotal but controversial decision, they picked Unix, which was ultimately chosen for its portability, openness, and software source-form availability. (11)

Originally created by Bell Labs in the 1970s, Unix was widely used in university research by 1980. The concept of the hierarchical or tree-structured file system that stored all system and user files was an integral part of Unix. In the early 1980s, UC Berkeley created a derivative of Bell Labs' Unix called "BSD Unix," that provided support for virtual memory and networking. The technical capabilities of BSD Unix provided a solid foundation on which to build the innovations of the Andrew project.


VICE (Vast Integrated Computing Environment) file system and VIRTUE (Virtue is Reached Through Unix and Emacs) were the original names used for campus-wide and user-centric components of Andrew. From these emerged the Andrew File System and Andrew Toolkit, respectively. VIRTUE workstations were connected to VICE, which served as a backbone for the system. The components worked together to provide mail delivery, bulletin board facilities, and file retrieval. VICE includes the distributed file system and the underlying network, authentication servers, and related campus-wide infrastructure.

Learn more about the Andrew Project with the following links:

The Andrew Project

History (An Overview)

What is Andrew?

Andrew Today

People (In Brief)

6 Cerf, Vint. "A Brief History of the Internet, version 3.32." Internet Society (ISOC) All About The Internet: History of the Internet. 10 Dec 2003. Internet Society. 24 July 2007

7 Morris, James H. "Quality Communication through Time and Space." 23 Nov 1982.

8 Morris, James H. "War Stories from Andrew." A Virtual Version of Communications of the ACM  (Dec 1996).
9 Borenstein, Nathaniel S. "CMU's Andrew Project: A Retrospective." Communications of the ACM. Vol 39, no 12es (1996).

10 Morris, James H., et al. "Andrew: A Distributed Personal Computing Environment." Communications of the ACM. Vol 29, no 3. (Mar 1986): 184-201.

11 Morris, James H. "'Make or Take' Decisions in Andrew." Proceeding of the USENIX Technical Conference, Dallas (Feb 1988).