Course Schedule – Principles of Distributed Software System Design (4010-442)

Fall 20121

Revised: 10/11/2012

 

Reading References Key

DS = “Distributed Systems – Concepts & Design”, 5th Edition, Coulouris, Dollimore, Blair & Kindberg

POS = “Pattern-Oriented Software Architecture – Volume 4, A Pattern Language for Distributed Computing”, Schmidt, Buschmann & Henney  (on Books 24x7)

DP = “Design Patterns – Elements of Reusable Object-Oriented Design”, Gamma, Helm, Johnson & Vlissides

 

All due dates assume 11:59 PM of that day unless otherwise noted.

 

 

Week

Schedule/Topics

Activities/Projects

Assigned Reading

1

(09/03)

 

Course Introduction/Logistics

Designing Distributed Systems:

  • Examples
  • Challenges
  • Consequences

DS Architectural Models:

  • Service Layers
  • Middleware
  • Client –Server
  • Peer-to-peer

 

 

  • DS - Chapter 1 - “Characteristics of Distributed Systems”
  • POS – Chapter 2 – “On Distributed Systems” 

2

(09/10)

 

DS Fundamental Models:

  • Design Requirements
  • Interaction Models
  • Failure Models
  • Event Processing

Networking

  • Protocol Layers (OSI)
  • TCP/IP, UDP

 

COMET Design Introduction

 

 

  • Unit 1 Questions
  • Project 1 – Start

 

 

 

3

(09/17)

 

Interprocess Communication

  • Middleware
  • API for internet protocols : UDP, TCP
  • Synchronous / Asynchronous interprocess models
  • Data representation, marshalling
  • Java object serialization
  • Remote object references
  • Client-Server message exchange models
  • Group communication - multicast operations

 

COMET Design Introduction

 

 

  • Project 1

 

 

 

  • DS – Chapter 3  - Networking
    pp 81-98, 120-128
  • DS – Chapter 4  - “Interprocess Communication”
  • DS- Chapter 21 – “Google Case Study”
    pp 915-928

 

 

 

4

(09/24)

 

Distributed Objects & Java RMI

  • Architecture & Design
  • Testing Issues
  • Distributed object model
  • Local vs. Distributed objects
  • Activation/Deactivation
  • Remote exception handling
  • Distributed garbage collection
  • Invocation (call) semantics
  • RMI implementation
  • Remote event notification
  • CORBA

 

  • COMET Design Activity

·         Unit 1 Questions Due Tues 9/25

  • Project 1 –Due Thurs 9/27

 

  • DS–Chapter 5 – “Remote Invocation”

 

5

(10/1)

 

 

10/2 – Exam #1

 

 

  • Project 2 Start



  • DS – Chapter 21 – “Google Case Study”
    pp 928-934

 

 

 6

(10/8)

 

COMET Design

 

 

  • Project 2

 

 

7

(10/15)

 

 

Security

 

 

  • Technology Research Reports - Start
  • Project 2 – Phase I Due Thurs 10/18

 

  • DS – Chapter 11  - “Security”
    pp 463-484, 505-519

 

8

(10/22)

10/25 – Exam #2

 

 

  • Unit 2 Questions
  • Technology Research Reports

 

 

 

 

  • DS – Chapter 16  - “Transactions”
    pp 675-683
  • Text – Chapter 17  - “Distributed Transactions”
    pp 727-740

 

9

(10/29)

 

Technology Research Report Presentations

  • Transactions introduction
  • ACID properties of transactions
  • Distributed transactions
  • Two-Phase commit protocol

 

  • Unit 2 Questions
  • Project 2
  • Technology Research Reports Due Tues 10/30 (start of class)

 

 

  • DS – Chapter 18  - “Replication”
    pp 765-782

10

(11/5)

Project 2 Presentations

 

  • Project 2 – Phase II Due Thurs 11/8
  • Unit 2 Questions
    Due Thurs 11/8

 

 

 

11

(11/12)

 

 

Final Exam

Wednesday, 11/14 - 10:15-12:15

Room 70-1520