ISE 437 - Distributed Information Systems
Semester 1 5772
Topics Reading Projects Grading Lectures Policies
Time: Monday 09:00 - 12:00 in Caravan 510
Targil: Wednesday 16:00 - 18:00 in Room 202 in the
Triguboff Sciences Building
Instructor:
Michael J. May
e-mail: mjmay (AT) kinneret;ac;il
office hours: Wednesday 12:30-13:30
(and by appointment)
The full detailed
syllabus for the course is available here.
Reminder: Second assignment extended to 17 Jan 2012.
Topics:
The course is a followup to previous courses on network
communication and system programming. The goal of
this course is to introduce a design and implementation
study of \emph{distributed information systems}, where
data, computation, and resources are distributed across a
network. We will study several internet based
applications which illustrate good distributed systems
design.
The topics for the course include some or all of the
following:
- Distributed Computation
- Primitives for Distributed Computation
- Common Problems (and Solutions) for Distributed
Systems
- Techniques and Algorithms
- Distributed Information Systems
- The Internet and Internet Applications as a
Distributed Information System
- The Internet Environment (TCP/IP)
- Existing Internet Applications
- Client-Server Applications
- Peer-to-Peer Applications
- Coding Internet Applications Using TCP and UDP
- Distributed Computing Using Java
The material for the course is taken from a variety of
sources include Tanenbaum, Kurose and Ross, Coulouris, et. al, Tanenbaum and
Van Steen, and research papers from the academic
literature on the topic.
Reading
The following books contains useful course material,
and much of the lecture content is derived from them
(and other sources). Copies of these books are on
reserve in the Kinneret Library.
- Jean Dollimore George Coulouris and Tim Kindberg. Distributed
Systems: Concepts and Design. Addison
Wesley, 4th edition, June 2005.
- James F. Kurose and Keith W. Ross. Computer
Networking: A Top-Down Approach.
Addison-Wesley,
4/E edition, 2008.
- Andrew S. Tanenbaum. Computer Networks. Prentice-Hall,
4th edition, 2003.
- Andrew S. Tanenbaum and Maarten Van Steen. Distributed
Systems: Principles and Paradigms. Prentice
Hall, 2nd edition, October 2006.
In addition, the following books, papers, and web sites
provide supplementary material. Reading selections from
these sources will be announced in class.
- C.A.R. Hoare. Communicating Sequential Processes.
Prentice-Hall, electronic edition, 21 June 2004. [pdf]
- Sylvia Ratnasamy, et al. A Scalable Content-Adressable Network.
In SIGCOMM2001. [pdf]
- Ion Stoica, et al. Chord: A Scalable Peer-to-peer Lookup
Service for Internet Applications. In
SIGCOMM2001 [pdf]
Assignments
Assignment 1: Client
and Server Communication. Due: 5 December 2011.
Sample key. גרסא
בעברית GUI code is on Telem.
Assignment 2: POP
and SMTP client/servers. Due: 17 January 2012.
Assignment 3: Student
Research. Due 24 January 2012.
Submit all work to the course email (ise437).
Grading Criteria
- 20% Assignments
- 80% Final Exam
Lecture Slides and Notes
|
Schedule
|
#
|
Date
|
Topic
|
Notes
|
1
|
31 Oct |
Intro to
Distributed Systems
|
[pdf][targil,
networks]
|
2
|
7 Nov
|
Distributed Systems
Types and Architectures |
[pdf][targil]
|
3
|
14 Nov |
Processes and
Threads
|
[pdf][targil]
|
4
|
21 Nov
|
Migration and
Communication
|
[pdf][targil]
|
5
|
28 Nov |
RPC and
Communication 2
|
[pdf][targil, data]
|
6
|
5 Dec
|
Epidemic
Algorithms, Naming
|
[pdf][targil]
|
7
|
12 Dec
|
Naming 2
|
[pdf][targil]
|
8
|
19 Dec |
Synchronization 1 |
[pdf][targil]
|
9
|
26 Dec
|
Vector Clocks,
Mutual Exclusion |
[pdf][targil]
|
10
|
2 Jan
|
Node Positioning,
Elections, Consistency Introduction |
[pdf][targil]
|
11
|
9 Jan
|
Consistency Models |
[pdf][targil]
|
12
|
16 Jan |
Client Consistency,
Replication Mechanisms
|
[pdf][targil]
|
13
|
23 Jan
|
Consistency
Protocols, Web Services Intro |
[pdf][targil]
|
|
TBA Jan
|
Final Exam A from
00:00am - 00:00pm in Room TBA |
|
|
TBA Feb
|
Final Exam B from
00:00am - 00:00am in Room TBA
|
|
Note that the lecture schedule is
likely to change during the course of the semester as we
choose to focus on different topics over the course of the
semester. Check back often for updates.
Academic Integrity
Since Kinneret College does not have a unified code of
academic integrity, this course will abide by the
University of Pennsylvania's Code
of Academic Integrity. In particular, for individual
projects and group projects, the following guidelines
should be followed:
- For individual projects, you must type in
and edit your own code, documentation, and any other
materials submitted for grading.
- Copying someone else's file is not allowed.
- Allowing someone else to copy a file of yours,
either explicitly or implicitly by leaving your
code unprotected, is not allowed.
- Editing each other's files is not allowed
- Regarding the ethics of what you may or may
not discuss with others:
- If there is any doubt about the use of
external sources or collabortation, please ask for
clarification by the course staff.
|