6102CIT
Advanced Topics in Distributed Systems
Welcome
to subject 6102CIT!
Objectives:
The subject provides students with advanced skills and knowledge necessary
-
for a range of careers involving distributed systems design and implementation,
and
-
for research in many areas of experimental computing science.
Main contents:
This subject covers a range of distributed computing techniques
and algorithms selected from the following modules:
Communication
Processes
Naming
Synchronization
Consistency and replication
Fault tolerance
Security
In addition, it covers distributed systems and applications selected
from the following modules:
-
Distributed object-based systems
-
Distributed document-based systems
-
Distributed coordination-based systems
-
Distributed collaborative systems
-
Distributed database systems
-
Distributed computing environments
-
Distributed file systems
-
Distributed operating systems
Prerequisites:
A good general knowledge on the following subjects is assumed:
-
Computer organization.
-
Operating systems.
-
Computer networks.
-
Database management systems.
Teaching methods
The course will comprise thirteen one hour seminars. Students will be expected
to
- engage in directed reading
- participate in discussions
- complete assignments, and
- present seminars on their assignments.
A
study Chart --- A tentative schedule of seminars and
readings.
Assessment methods
Assessment will consist of two assignments:
-
Assignment
I: one nontrivial programming project (50%)
-
Assignment
II: one directed subject investigation -- survey documentation and
seminar presentation (50%).
The prescribed
text book:
References:
-
G. Coulouris, J. Dollimore, and T. Kindberg: "Distributed
Systems: Concepts and Design", Third Edition. Addison-Wesley, 2001
(published August 2000).
-
S. Mullender, Distributed Systems, Second Edition, ACM/Addison-Wesley,
1994.
-
T. Özsu and P. Valduriez, Principles
of Distributed Database Systems, Second Edition, Prentice Hall, 1999.
-
N. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996.
-
J. Farley, Java Distributed
Computing, O'Reilly, 1998. Here is a mirror of Chapter
3: Distributing Objects.
-
M. Hughes, M. Shoffner and D. Hamner, Java
Network Programming, Second Edition, Manning Publications, 1999. Source
code and sample chapters are available here
and here.
-
Q.H. Mahmoud, Distributed Programming
with Java, Manning Publications, 2000. Example programs are mirrored
here.
Other
resources.
Results
The course convenor
is David Chen
This page is maintained by David
Chen
This page is created
by Chengzheng Sun
Last updated: 29 July,
2003