David Walden and Raymond Nickerson
Total Page:16
File Type:pdf, Size:1020Kb
Chapter 18 Distributed Computing at BBN Network Computing Software Infrastructure and Distributed Applications from 1970-1995 Richard Schantz In this article we review highlights of the history of BBN and distributed computing from a number of different perspectives: early investigations, distributed systems infrastructure (later to be more commonly known as Middleware), and network-centric applications which utilized the emerging distributed systems capabilities in new and innovative ways, with lasting impact. 18.1 Introduction The innovations being pursued in the area of packet switching and inter-computer communications (see Chapter 17 on networking) spawned a simultaneous interest and investigation into how to utilize this emerging new data oriented communication capability. To complement its activities in pioneering network communications, from the earliest conception of the ARPANET and continuing to this day, BBN initiated and participated in a number of the leading edge, innovative activities aimed at delivering value from the increasing interconnectivity through network centric applications and by providing the network centric infrastructure needed to more easily build these types of applications (see also Chapter 19 on email and 20 relating to distributed simulation). We use the term “Distributed Computing” to loosely tie together these activities covering both advanced, higher levels of multi-host1 infrastructure and the innovative distributed applications themselves, and to distinguish it from the lower level capabilities (e.g., network communications) discussed in Chapter 17. While advances in the infrastructure needed to support distributed applications have been steadily evolving, both at BBN and elsewhere, since the inception of the network, the advent of significant new application areas is somewhat more discrete.Three of these application areas, e-mail in the 1970s (Chapter 19) as the first major new successful network application, distributed interactive simulation in the 1980s (Chapter 202), and multi- media applications spanning the 1980s but effectively emerging in the 1990s, got their start or were early trailblazing activities within BBN R&D projects, and required significant redirection of the needed network support. Like the distributed systems infrastructure support work, each of these application areas which had significant roots in the early ARPANET/Internet capabilities, now have whole industries which are continuing to push these areas forward to this day. By the early 1970s, BBN had successfully developed and quickly expanded the first network of packet switches. But it took more than Interface Message Processors (IMPs) [449] [450] (Chapter 17) to make the emerging network truly useful. The initial goal of designing, implementing, and fielding the ARPANET3 generated new interest in the kinds of proto- cols and distributed computing technology that could further enhance the utility of the experimental network.In its initial conception, the uses for the network were vague and speculative. By 1975, protocol investigation within DARPA had already evolved to the concept of a network of networks — which ultimately became the Internet — and to TCP/IP as a means for universal interconnection. Simultaneous with this evolution of the network communication, BBN, as part of both DARPA’s research community and the university computer science research community at large, had already begun speculating on and investigating the impact of computer-to-computer communication capabilities and resource sharing on new applications such as distributed air traffic control, unified medical records across hospitals, distributed file systems, and on the operating systems software needed to deliver communication support services to those applications. Early work in these areas proved conclusively that such applications were complex, difficult to build and relied on common availability and interpretation of capabilities across the nodes of the network.This led to two parallel tracks of continued inves- tigation and development. One concentrated on the direct implementation of a very focused set of immediately useable end applications, starting with those of immediate utility to the developers themselves such as telnet, ftp, and e-mail, while the other focused on additional infrastructure in the form of network or distributed operating systems to enable more general-purpose applications to be developed faster and easier using wide area communications capabilities.The latter activity spawned what has come to be known as “middleware,” because it was strategically placed between the network and the application to provide a richer, simpler network environment for a wide variety of uses.Later, more sophisticated and complex applications, focusing on providing value to “plain old users” of the interconnected capability, in areas such as distributed simulation and training, and tools for multi-media collaboration, became important drivers for new network-centric capabilities.In each case, BBN scientists and engineers were there at the beginning to develop the early prototypes and establish the technical agendas which continue to be pursued and refined by the industry at large. In the remainder of this chapter of the history of computing at BBN, we will try to maintain a chronological perspective on the activities. However, there often were a number of parallel and independent activities evolving simultaneously. So to provide a smoother presentation, we will often pursue a topic through many years of its own particular evolution, and then return to an earlier epoch to repeat those same years from a different vantage point. In that way we hope to obtain the right mix of chronological relationships with continuity of ideas and threads of investigation and development. 18.2 Early investigations: 1970-1973 The birth and accessibility of the emerging multi-node communications capability, which was intended to be attached to any number of computing installations, led immediately to a number of threads of investigation and experimentation, all of which centered on the question “now that we have this interconnected laboratory, what can we do with it and how can we use it?” Among these threads were issues of how to make the networking capability available to users and application developers through the operating systems that already ran the host computers being connected to the network, how to share resources using this medium and what sort of resources were effective for sharing, and what applications could be conceived and built that would make immediate use of the emerging capabilities, for ourselves as well as for others. Chapter 18. Distributed Computing at BBN [451] For BBN scientists, the first order of business was connecting the TENEX operating system, the time sharing system built earlier by BBN to support virtual memory and large address space applications for the PDP-10 family of computers, to the network.4 This activity, described in Chapter 21, provided flexible and general access to network services through an augmented file system interface. ARPANET-enabled TENEX was made available to the ARPA research community by 1971, and in short order became the “standard” ARPA research site computational engine. In contrast, a number of the other operating system network integration efforts were not nearly as flexible or general purpose, sometimes limiting the capability of developing networked applications to a single application or use.This issue of how to reflect the networking capabilities to applications is an area of continuing innovation and experimentation to this day, as all of the opportunities and complexities associated with more and more sophisticated use of the interconnected computing capabilities has continued to emerge.The community process that spawned the initial high-level communications protocols for host to host stream connections (NCP), also developed protocols for two “quasi-applications,” of immediate use and utility to those building the network, that could promote resource sharing.These are being called “quasi-applications” because they were not really applications at all (except to the developers of the network itself); rather they were the first instances of value-added services:Telnet, to enable connecting a terminal device to operate a remote computer (e.g., for remote login), and File Transfer Protocol (FTP) to move files in various formats from one host computer to another. Using those two primitive tools, one could make effective use of a remote computer, provided you knew enough of the details about using the remote host, had an account on it, and didn’t mind the delayed responses. BBN scientists played significant roles in developing and enhancing these consensus based protocols, and especially in providing implementations of them for the TENEX operating system.5 Beyond these community-oriented activities, a few early BBN centric experimental activities set in motion threads of investigation which were to have considerable impact on things to come. First, in 1971 Ray Tomlinson, who earlier was instrumental in developing the ARPANET host software for TENEX, experimented with hooking up the network capabilities available through TENEX to programs which could send and receive text messages across the network, much like existing timesharing “mail” programs were already doing for users of a single timesharing host. This created the first interhost e-mail capability and the first new use of the communication capability beyond remotely