Date: Tue, 26 Nov 1996 19:08:49 GMT Server: Apache/1.1-dev Content-type: text/html Set-Cookie: Apache=gs35934784903532925; path=/ EECS 682 Distributed Systems

EECS 682 - Distributed Systems

oInstructor: Farnam Jahanian
oSchedule: TTH 10:30-12:00 EECS 3427

Dept. of EECS
University of Michigan
1301 Beal Ave.
Ann Arbor, MI 48109-2122

E-mail: farnam@eecs.umich.edu
Phone: (313) 936-2974
Fax: (313) 763-1503
Office: 3219 EECS

Course Description:

Significant advances in computer and communication technologies has enabled the development of numerous distributed operating systems and the introduction of different paradigms for distributed computing during the last two decades. The availability of ubiquitous network connections in conjuction with new software technologies have led to the emergence of the world largest client/server application, the WWW, also known as ``the last gold rush of the millennium.'' The primary objective of this course is to examine the state of the art and practice in distributed computing and to provide students hands-on experience in developing distributed protocols.

This course presents the dominant paradigms for building distributed systems/ applications including the traditional model of client-server computing, distributed objects, group communication, remote-procedure calls, distributed shared memory, and the evolving model of distributed computing on Web. The topics explored in this course include kernel support for distributed systems, failure models and programming paradigms, group multicast protocols, multicast over the Internet, replicated data management based on the state-machine and the primary-backup schemes, group membership protocols, clock synchronization and logical timestamps, the design of fault-tolerant real-time systems, and the Web client/sever model from the hypertext era to Java on CORBA. Concepts are illustrated using several case studies of experimental and commercial systems, and discussions on emerging standards.

The course also requires active student participation in a group project. Groups of no more than three students will be responsible for the design and development of a collection of distributed services such as data replication, caching, naming, group membership, object support and multicast communication. The group project is intended to complement the reading material by allowing the students develop experimental skills in building distributed protocols. Each group will have an opportunity to present its work to the class.

Prerequisites: EECS 482 and graduate standing.

Text:
o Distributed Systems by Sape Mullender, Second Edition, 1993.
o Distributed Operating Systems by Andrew Tanenbaum, 1995.
o The essential Client/Server Survival Guide by Orfali et. al., 2nd Edition, 1996.
o Collection of papers on distributed systems

Course Handouts:

oCourse Outline
oHandout 1
oHandout 2 (part a)
oHandout 2 (part b)
oHandout 3 (Group Projects)
oHandout 4
oHandout 5 (part a and part b)
oHandout 6
oHandout 7 (State Machine and P/B replication-distributed in class)
oHandout 8 (Multicast Routing-distributed in class)
oHandout 9 (SRM and RLM-distributed in class)
oHandout 10 (Weak consistency schemes-distributed in class) (html)
oHandouts 11 and 12 (distributed in class)


farnam@eecs.umich.edu
October 1996