--------------------------------------------------- Return-Path: rgrimm@cs.washington.edu Received: from june.cs.washington.edu (june.cs.washington.edu [128.95.2.4]) by whistler.cs.washington.edu (8.8.3/7.2ws+) with ESMTP id WAA21957 for ; Sun, 12 Jan 1997 22:32:34 -0800 Received: from [128.95.8.128] (h129.dyn.cs.washington.edu [128.95.8.129]) by june.cs.washington.edu (8.8.3+CSE/7.2ju) with SMTP id WAA06527 for ; Sun, 12 Jan 1997 22:32:32 -0800 X-Sender: rgrimm@june.cs.washington.edu Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Sun, 12 Jan 1997 22:30:18 -0800 To: bershad@cs From: rgrimm@cs.washington.edu (Robert Grimm) Subject: Intro 552-reading Schroeder characterizes distributed systems as a collection of (1) multiple, (2) connected computers that (3) share state, and identifies the four major issues in building distributed systems as independent failure, unreliable communication, insecure communication and costly communication. Based on this definition he describes a "best-of-both-worlds" model (aka BOB, a terribly cute acronym) of distributed computing that aims to combine the advantages of centralized systems with those of networked systems. His discussion of naming, access, security, management and availability hopes to set the standard for future distributed systems and to provide designers with a model to structure such a system. While such a model seems somewhat useful as a starting point, a clear discussion of why distributed systems are so hard to build and a list of useful techniques and approaches to address these problems is lacking from his paper (but clearly needed). Mullender (based on a lecture by Schroeder) rightly adds independent failure modes as the fourth fundamental characteristic of distributed systems and identifies the performance/cost ratio, modularity, expandability, availability, scalability and reliability as the major motivations for building distributed systems. He then goes on to discuss the complexity of distributed systems, which (on the most basic level) is caused by the "interconnection of well-understood components" and amplifies typical systems problems. He concludes by providing an incomplete list of techniques that may help system designers address the complexities of distributed systems. By clearly identifying why distributed systems are hard to build and how one might address some of the intricacies of building a distributed system, Mullender succeeds (in my opinion) in providing a good base for looking at other work in distributed systems and greatly improves on Schroeder original introduction.