Computer Science Department
CS 581
Distributed Systems
Coming in Fall 2001
Section 001 ID -- 271793
Section L01 ID -- 277642
WebCT
Details of this course are available on WebCT. All course notes
and assignments will be available only through
WebCT. A
Holly or Lamar account is needed to access WebCT.
Goals and Topics
CS581 is a graduate course in distributed system design and analysis.
Students will learn how to build distributed component-based systems
that are integrated across the internet. Students will be introduced
to design principles underlying distributed systems. This will be a
programming-intensive course and will have a project component.
The following topics will be covered in the course: (Subject to change)
- Characterization of Distributed Systems.
- Introduction.
- Examples of Distributed Systems.
- System Models.
- Architectural Models.
- Fundamental Models.
- Distributed Objects and Remote Invocation.
- Communication between Distributed Objects.
- Remote Procedure Calling.
- Events and Notifications.
- Java RMI Case Study.
- JavaBeans
- Enterprise Java Beans
- Jini
- CORBA Case Study
- CORBA.
- Objects and the internet: IIOP, ORBS, brokers, Web integration, thin
clients
- CORBA Services.
- Name Services.
- Trader Services.
- Event Services.
- Design patterns for Concurrent and Networked objects
- Service access and configuration patterns
- Event handling patterns
- Synchronization patterns
- Concurrency patterns
- Other topics
- Techniques for component-based development
- Issues in certification of distributed component-based software
- Fault tolerance (time permitting)
- Performance (time permitting)
Prerequisites
- Operating Systems (CS451) or equivalent course
- and Object-Oriented Design (CS414) or equivalent course
- or Written consent of instructor
Instructor Information
Instructor:
Sudipto Ghosh
US Mail: Computer Science Department, Colorado State University, Fort Collins, CO 80523
Phone: (970) 491-4608
Fax: (970) 491-2466
Email: ghosh@cs.colostate.edu
Office Location: 224 University Services Center
Meeting times:
Lectures: MWF 10:00-10:50 Clark C361
Office hours: MWF 2:30-3:30 UNVSC 224, or by appointment
Course Materials
- Required Text:
Distributed Systems: Concepts and Design by George Coulouris,
Jean Dollimore, Tim Kindberg, Addison Wesley Longman,
ISBN: 0-201-61918-0 Copyright 2001, 3rd edition.
- Supplementary Texts:
- Pattern-Oriented Software Architecture, Volume 2: Patterns for
Concurrent and Networked Objects, Douglas Schmidt, Michael Stal,
Hans Rohnert, Frank Buschmann, John Wiley & Sons, 2nd edition Vol 2
(September 25, 2000), ISBN 0471606952.
- Progressing to Distributed Multi-Processing 1/e,, Harinder S. Singh,
Harry Singh, Prentice Hall PTR (ECS Professional), 1999, ISBN 0-13-095683-X.
- Concurrent Programming in Java: Design Principles and Patterns, Doug
Lea, 2nd Edition, Addison-Wesley, Copyright 2000,
ISBN 0-201-31009-0.
- C++ Programming with CORBA, Andreas Vogel, Bhaskar Vasudevan, Maira
Benjamin, Ted Villalba, 1 edition (February 11, 1999), John Wiley and
Sons, Copyright 1999, ISBN 0471283061.
- Programming with Enterprise JavaBeans, JTS, and OTS: Building
Distributed Transactions with Java and C++ , Andreas Vogel,
Madhavan Rangarao, John Wiley and Sons, ISBN 0471319724.
- Papers:
Selected from journals and relevant conferences
Workload and Grading Policy
- 4 individual programming assignments during August --- October
- Research project (groups of 2) - during November.
Several topics will be suggested. Students have the option of
suggesting topics as well. A demo and project report are required at the
end of the semester.
- Implement a distributed component-based system. OR
- Do a literature survey and implement a system. OR
- Do a literature survey and repeat experiments. OR
- Compare performance or qualities of existing implementations.
- Read assigned papers.
- 1 midterm
- 1 final
Last modified: August 24, 2001.
|