Skip to main content

Distributed Systems & Networks (CSysII-DS) 2008-2009

Teaching

Distributed Systems & Networks (CSysII-DS) 2008-2009

Announcement:

  • Two lectures will be held on 18 Nov 2008 (12:00-13:00 in PH8 and 13:15-14:15 in CG60), and NO lecture will be held on 25 Nov 2008.
  • Please download and read the lecture guideline before coming to the lecture.
  • You may check out the JAVA source code of PACMAN as a reference.
  • CSysII lecture tomorrow (21 Oct 2008) is now at 12 noon in PH8 instead of 1.15pm.
  • Please visit here periodically. I will put all the course related materials here.
  • Note: A 4-up version of the lecture notes has been posted to help you save papers on printing.

Term 1 Lecture Notes:

Term 2 Lecture Notes:

Practical Worksheets:

Coursework (Summative):

Teaching LOG:

  • Term 1:
    • Lecture 1: Had an overview of the whole CSYS-II module. Discussed the teaching scope, teaching approach and expectation. Had a quick overview of computer networks. Discussed a few example applications.
    • Lecture 2: Had an overview of the Internet and Intranet. Illustrated the client/server and the peer-to-peer network architectures with examples, discussed the pros and cons of these architectures and how to apply them in real world situations.
    • Lecture 3: Discussed the concept of process communication. Went through the major properties of TCP and UDP protocols and how these protocols are applied to construct real applications. Introduced Java socket programming and showed simple programming examples.
    • Lecture 4: Introduced multi-threading concept. Illustrated the concept of blocking and non-blocking communication methods with JAVA. Discussed the handling of error conditions in network application programming. Showed file handling in JAVA.
    • Lecture 5: Discussed how to formulate and work out a networked application, particularly, a computer game. Illustrated with examples to show the solutions for dealing with different parts of a networked computer game. Gave advices on working out a coursework.
    • Lecture 6-7: Discussed the concerns and issues of sending multimedia messages over the network. Introduced the methods to address the concerns and issues. Showed the standards, i.e. RTP and RTCP, for supporting these methods.
    • Lecture 8: Discussed the scheduling policies for regulating the message transmission over the network. Introduced *casting concepts and started to discuss IP-multicasting.
    • Lecture 9: Discussed a number of routing algorithms for supporting IP-multicasting.
    • Lecture 10: Introduced public key and private key technologies and their applications in network security. A video on modern security techniques had been shown.
  • Term 2:
    • Lecture 1: Reviewed briefly what had done in term 1. Introduced the concept of distributed systems.
    • Lecture 2: Introduced the concept on JAVA RMI. Disucssed the difference between conventional programming and distributed system programming.
    • Lecture 3: Introduced JAVA RMI programming. Released the second coursework.
    • Lecture 4: Introduced the idea on replication and consistency, and the relationship between them. Described two ways to achieve clock syncrhonization.
    • Lecture 5: Discussed three consistency control approaches. Discussed the failure situations in a distributed system.
    • Lecture 6: Introduced solutions to enforce fault-tolerance in a distributed system by considering system architecture design and error recovery strategy. Discussed the measurement of the system availability.
    • Lecture 7-8: Discussed the construction of a clustered / distributed web-server system and the issues / considerations involved.
    • Lecture 9: Delivered an introduction on Web Services and its relationship between COBRA and JAX*.

Frequently Asked Question(s):

  • RMI compiler missing problem in Eclipse: Solution
  • What is the password of the course material?
    The password will be distributed through other communication channel rather than publishing here on the Web, as it is a rule of thumb to deliver sensitive information securely. 🙂

Supplementary Materials / Useful Links:

Text Books:

  • A. S. Tanenbaum, Computer Networks (Fourth Edition), Prentice-Hall, 2003
    ISBN: 0-13-038488-7
  • A. S. Tanenbaum and M. van Steen, Distributed Systems: Principles and Paradigms (Second Edition), Prentice-Hall, 2007
    ISBN: 0-13-239227-5