Lectures

Note:  The lecture slides are being prepared in parallel with the lectures.  I should have them ready 1-2 weeks in advance of their corresponding lectures.

Last Modified:  26/03/2003

Home
Up
Week 1 Topic: An introduction to distributed systems

Chapter:  1

Slides

Week 2 Topic:  Concurrency and distribution issues

Chapters:  11.2

Slides

Week 3 Topic:  (Same as previous week)

Chapters: 5 (partial), 7

Slides

Week 4 Topic:  Socket programming with TCP and UDP

Examples:

bulletSimple Thread Racing Example
bulletPriority Thread Racing Example
bulletSynchronized Thread Racing Example
bulletTCP Date Server Example
bulletTCP HTTP Server Example
bulletTCP Simple Database Server Example
bulletSimple UDP Example
bulletUDP Stream Simulator Example
bulletUDP Reliable Stream Simulator Example
bulletSimple Multicast Example

Note:  All examples in this class will be in JAR file format (containing source and compiled files).  To unjar these files into your home directory on DaVinci (or in your home), use the command:

jar xvf <jar_filename> <destination_directory>

Slides

Week 5 Topic:  Programming with the Common Object Request Broker Architecture (CORBA)

Chapter:  4

Examples:

bulletSimple CORBA Example
bulletA More Complex IDL File
bulletSimple CORBA Object Factory
bulletForums Example Using CORBA (ant dist)

Note:  The examples that are labelled '(ant dist)' contain a directory of ant files.  Ant is a utility similar to UNIX makefiles, except ant is not specific to UNIX.  Extract the file (in the usual way), make any necessary modifications, and compile the file using the command:  ant

Slides

Week 6 Topic:  CORBA (continued)

Slides

Week 7
Midterm:  During Wed lecture
  Spring Break ('Study') Week
Week 8 Topic:  Programming with Java Remote Method Invocation (RMI)

Chapter:  4

RMI Examples:

bulletSimple RMI Example
bulletActivatable Service
bulletForums Example Using RMI (ant dist)
bulletMobile Agents Example

Slides

Week 9 Topic: Programming with Jini and JavaSpaces

Jini Examples:

bulletSimple Jini Client/Server
bulletJini Client/Server with events and leases
bulletJini Client/Server where the proxy uses RMI to communicate with a backend process
bulletSimplified Jini Client/Server
bulletJini Client/Server using attribute-based search

JavaSpaces Example:

bulletSimple Flag Planting Example

Slides

Week 10 Topic and Chapter: Transactions and distributed transactions

Chapter: 11

Slides

Week 11 Topic: Distributed System Security

Chapter: 12

Slides

Week 12 Topic: Static and dynamic discovery (including as examples: CORBA Naming and Trading, RMI Naming, Jini Naming and Trading)

Chapter: 8

CORBA Naming Example:

bulletUsing Naming Contexts

Slides

Week 13 Topic: Distributed object persistence

Chapter: 10

Slides