Department of 
Computer Science

Search our Site

Line

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

Horizontal Line
Department of Computer Science
Campus Box 3175, Sitterson Hall
College of Arts & Sciences
The University of North Carolina at Chapel Hill
Chapel Hill, NC 27599-3175 USA
Phone: (919) 962-1700
Fax: (919) 962-1799

Content Manager: Associate Chairman for Academic Affairs
Server Manager: webmaster@cs.unc.edu
Last Content Review: 7 November 1995