|
|
Lecture Schedule
(tentative)
|
The lecture schedule given in
the syllabus is tentative and updated
here weekly. Look at
this table once a week. |
|
Almost
all the slides used during the semester will be available via the
following links or given to you. |
|
I may skip several slides during the lecture (The
slides given would be generally too much!). They are included in the
course material for completeness and to provide a good reference for your
future professional engineering life. |
|
To
follow the lecture and understand the materials presented in class
better, get the lecture slides and take the print-outs of them, and
please bring them
to class. |
|
Purposes for bringing slides to class: 1) To allow better concentration in lecture by reducing
note-taking pressure and to provide a study-aid before and after lecture. 2) You can
take your notes on these slides and be active
during the lecture. You digest material much better when you actively
take notes from step-to-step demonstrations given by your
instructor than by just sitting and watching slides. |
|
Disclaimers: (a) I
may not follow these
slides exactly in class (b) I may also use
the whiteboard and give some extra notes which will not be posted here
as needed in class (c) Students are responsible for what I say
and teach in class. (d) Reading these slides is
not a substitute for attending lecture. |
W |
D |
Lec |
Topics Covered |
HW |
Practice and
Project Work |
1 |
19/02 |
Lec 0
Lec 1.1
Lec 1.2
|
Course Overview
FOUNDATIONS
Characterization of Distributed Systems (Chp1)
Introduction to
Distributed Systems, Reasons for Distributed Systems, Examples
of Distributed Systems, Trends in Distributed Systems,
Challenges
System Models (Chp2)
How to Build Distributed
Systems,
Physical Models, Architectural Models,
Fundamental Models
|
Read Chp. 1
and Chp. 2 |
|
|
Several software downloads will be
needed for this course. We will try to provide information,
links and instructions on how to download, install and run the
software.
Java and Java EE
Android
Software
Engineering
|
2 |
26/02 |
Lec
2 |
FOUNDATIONS
Interprocess
Communication (IPC)
The API for the Internet
Protocolsi, External Data Representation and Marshalling,
Multicast Communication, Network Virtualization: Overlay
Networks, Case study: MPI
| Read Chp. 3 - Networking
and Internetworking |
|
Read Chp. 4
- Interprocess Communication |
|
|
|
3 |
05/03 |
Lec 3 |
MIDDLEWARE Remote Invocation,
Distributed Objects and Components
Request-Reply Protocols, Remote Procedure Call, Remote
Method Invocation, Case study: Java RMI
| Read Chp. 5 - Remote
Invocation |
|
HW1 |
|
4 |
12/03 |
Lec 4 |
MIDDLEWARE -
Server Side Programming: Servlets and JSP
An Introduction to Server Side Middleware
WWW and HTTP, HTTP Methods, Safety and Idempotence, Java
Servlets and JSP, A Case Study: InterestingPicture Project,
Maintaining State: Cookies and Sessions |
HW2 |
|
MVC - Servlets and JSP MVC
Pattern Code Examples given in class |
|
5 |
19/03 |
Lec 5 |
MIDDLEWARE - Web Services
Web Services, Service Descriptions and IDL for Web Services,
A Directory Service for Use with Web Services, |
|
|
6 |
26/03 |
|
MIDDLEWARE - Web Services
XML Security, Coordination of Web Services, Applications of
Web Services, REST Style Web Services |
|
|
7 |
05/04 |
|
Midterm Exam |
|
|
8 |
09/04 |
Lec 6 |
MIDDLEWARE - Peer-to-Peer Systems
Introduction: What and Why P2P? Overlay Networks, P2P File
Sharing and File Distribution Comparison, Centralized Directory:
Naspter, Query Flooding: Gnutella, |
|
|
9 |
16/04 |
|
MIDDLEWARE - Peer-to-Peer Systems
Hierarchical Overlay: Kazaa, Case Studies: Skype and
BitTorrent, Structured P2P and DHT, Structured P2P Case Studies:
Chord and Pastry |
|
|
10 |
23/04 |
|
National
Holiday, National Sovereignty and Children's Day in Turkey |
|
|
11 |
30/04 |
Lec 7 |
FOUNDATIONS -
Indirect Communication
Group Communication,
Publish-Subscribe Systems, Message Queues, Shared Memory
Approaches |
|
|
12 |
07/05 |
Lec 8-1
Lec 8-2 |
SYSTEM
SERVICES-Security
Introduction: Security concepts,
what is Network Security and security in Distributed Systems,
Principles of Cryptography, Message Integrity, Authentication,
Digital Signatures, Secure Channel, Access Control, Security in
Mobile Code.
Case Studies: Kerberos, Securing e-mail, SSL, SET, IPSec,
Securing wireless LANs, Operational Security: Firewalls and IDS. |
|
|
13 |
14/05 |
Lec
9 |
SYSTEM
SERVICES-Distributed File Systems
Introduction, File Service
Architecture, Case Study: Sun Network File System, Case Study:
The Andrew File System |
|
|
14 |
21/04 |
Lec 10 |
SYSTEM SERVICES-Cloud Computing
What is Cloud? Massive Scale, On Demand Access,
Data-Intensive Nature, New Cloud Programming Paradigms,
Categories of Clouds, Virtualization: How Clouds Work 'under the
hood', Summary: What is Cloud Computing? |
|
|
|
|
Lec
11 |
SYSTEM SERVICES-Cloud
Programming: MapReduce
Introduction, New Parallel Programming Paradigm: MapReduce,
The MapReduce Programming Model, Some Other Applications of
MapReduce, Hadoop, Writing Jobs for Hadoop, Hadoop Distributed
File System (HDFS), Hadoop Internals, MapReduce Cloud Service,
Word Count Example Running on 4 Node Cluster |
|
|
|
|
|
Project
Demonstrations |
|
|
Possible topics to be included in lectures:
| SYSTEM SERVICES - Name Services
|
| DISTRIBUTED ALGORITHMS-Time and
Global States |
| DISTRIBUTED ALGORITHMS-Coordination
and Agreement
|
| SHARED DATA-Transactions and
Concurrency Control |
| SHARED DATA-Distributed
Transactions |
| SHARED DATA-Replication
|
| NEW CHALLENGES-Mobile and
Ubiquitous Computing |
| NEW CHALLENGES-Distributed
Multimedia Systems
|
| SUBSTANTIAL CASE STUDY-Google Case
Study |
|