|
Search our Site

ON THIS PAGE:
Course Objectives
Prerequisites
Approach
Typical Text
Course Outline
|
|
COMP 734 [243]: Distributed
Systems
(3 hours)
Syllabus approved Fall 1995
Course
Objectives
To study systems consisting of multiple independent processors interconnected
by local- and wide-area networks, as opposed to tightly coupled multiprocessors.
The course is practical rather than theoretical (cf. COMP 735: Distributed
Systems Theory), and it emphasizes issues and approaches, rather than
programming techniques. It is not a course in networking (cf. COMP 631:
Computer Networks).
Prerequisites
Comp 633.
Approach
Combination of lectures, discussions, reading, student reports, minor
programming assignments, and term project. Students working in pairs
will specify, implement, test, document, and demonstrate a distributed
application. Some instructors may assign to each student the
preparation of a report on a technical article, for both oral and
written presentation.
Typical Text
Until a text more closely matched to the needs of the course is
published, it will probably be most effective to use a collection of
articles from the literature. Although Mullender, in particular, has
much of the right material, it lacks exercises. The following books
are valuable references; one or more might be adopted by an instructor
unwilling to rely on articles alone.
Internetworking with TCP/IP, Volume I: Principles, Protocols, and
Architecture, 2nd Edition, by Douglas E. Comer, and Volume III:
Client--Server Programming and Applications, BSD Socket Version, by
Douglas E. Comer and David L. Stevens
Distributed Systems, 2nd edition, edited by Sape Mullender
UNIX Network Programming, by W. Richard Stevens
Course Outline
Numbers in parentheses indicate approximate number of weeks
- Introduction to Distributed Systems (0.5)
- Models of Communication (2.0)
- local interprocess communication
- sockets
- remote procedure call
- Naming and Name Resolution (1.0)
- domain naming
- the Domain Name System
- Privacy, Security and Authentication (2.0)
- snooping and impersonation
- public key cryptosystems
- authentication protocols
- kerberos
- Persistent Storage: Distributed File Systems (2.5)
- design issues
- replication
- fault tolerance
- access control
- Persistent Storage: Distributed Object Systems (2.5)
- design issues
- replication
- naming
- migration
- access control
- Models of Distributed Computing (2.5)
- transactions
- virtual synchrony
- distributed shared memory
|