CSS 533: Distributed Computing
Winter 2014
TTh 545-745pm at UW2-031
Prof. Munehiro Fukuda
This course builds on knowledge of advanced programming methodologies in distributed computing. Topics covered include message passing, indirect communication, remote method invocation, distributed objects, multi-tier server-side programming, peer-to-peer systems, distributed synchronization, distributed check-pointing, and replica management.
For each of the topics, we will cover the background and motivation; design approach and philosophy, current technology implementations, in-class discussions and laboratory hands-on programming exercises.
Four programming assignments are given: (1) designing an online game with Java threads and sockets, (2) implementing distributed Java Spaces with JSCH (tentative), (3) implementing a mobile-agent execution platform with RMI, and (4) designing a multi-tier server-side application with Servlets and Enterprise Java Beans (EJB). Eight lab sessions are planned to get familiar with Java threads, Java sockets, JMS, RMI, CORBA, Servlets, and EJB.
Course Work | Percentage | Achievements | Approximately Corresponding Numeric Grade |
Programming 1 | 14% | 90s | 3.5 - 4.0 |
Programming 2 | 15% | 80s | 2.5 - 3.4 |
Programming 3 | 15% | 70s | 1.7 - 2.4 |
Final Project | 18% | 60s or below | 0.0 - 1.6 |
Midterm Exam | 19% | ||
Final Exam | 19% |
All programming assignments are to be done independently. Any collaboration of work will result in severe penalty. You may discuss the problem statement and any clarification with each other, but any actual work to be turned in, must be done without collaboration.
Any homework is due at the beginning of class on the due date. The submission may be postponed only in emergencies such as accidents, sickness, sudden business trips, and family emergencies, in which case you may turn in your homework late with a written proof. No make-up exams will be given except under exceptional circumstances. Barring emergencies, I must be informed before the exam.
To request academic accommodations due to a disability, please contact Disability Resources for Services (DRS) in UW1-175, (email: drs@uwb.edu, TDD: 425-352-5303, and FAX: 425-352-5381). If you have a documented disability on file with the DSS office, please have your DRS counselor contact me and we can discuss accommodations.
Week | Date | Topics | Sessions | Book Chapters | Assignment |
---|---|---|---|---|---|
1 | Jan 7 | Lec 1: System Models | Discussion 1 | 2 | |
Jan 9 | Lec 2: OS Support | Lab 1: Java Threads | 7 | ||
2 | Jan 14 | Lec 3: Interprocess Communication | Lab 2: Java Sockets | 3.3.4, 3.4-3.4.2, 4 | |
Jan 16 | Lec 4: Network Applications | Discussion 2 | 3.4.1, 13.2.3 | HW1: Java Threads and Sockets | |
3 | Jan 21 | Lec 5: Group Communication | Discussion 3 | 6.2 | |
Jan 23 | Lec 6: Message Queues | Lab 3: JSCH | 6.4 | ||
4 | Jan 28 | Lec 7: Shared Memory Approach | Discussion 4 | 6.5 | |
Jan 30 | Lec 8: Java Spaces and Related Techniques Two-phase Commit, Replication, Checkpointing, and Distributed Hash |
Discussion 5 | 6.5, 10.5.1, 17.1-17.3, 17.6, 18.3 | HW1 due HW2: Java Spaces |
|
5; | Feb 4 | Lec 9: Remote Invocation (RPC and RMI) | Discussion 6 | 5.1-5.4 | |
Feb 6 | Lec 10: Remote Invocation (RMI Continued) CSS Speaker Series Talk by Dr. Brent Lagesse (5:45-6:45pm) |
Lab 4: RMI | 5.5 | ||
6 | Feb 11 | Midterm exam in class | 2, 3.3.4, 3.4-3.4.2, 4, 5, 6.2, 6.4-6.5, 7, 10.5.1, 13.2.3, 17.1-17.3, 17.6 and 18.3 | ||
Feb 13 | lect 11: Mobile Agents | Lab 5: Mobile Agents UWAgents Manual |
1.5.1, 1.5.3, 2.3.1, 2.4.3, and 11.1.1 | ||
7 | Feb 18 | Lec 12: Web Services (Servlets) | Discussion 7 | 9.1 | HW2 due HW3: Mobile Agent Design |
Feb 20 | Lec 13: Web Services (Servlets Cont'd and SOAP) | Lab 6: Servlets | 9.2, 9.7 | ||
8 | Feb 25 | Lec 14: Distributed Objects(CORBA) | Discussion 8 | 8.3 | |
Feb 27 | Lec 15: Distributed Objects(CORBA Continued) | Lab 7: CORBA | 8.3 | Final Project: Muti-Tier Server |
|
9 | Mar 4 | Lec 16: Distributed Objects (Enterprise Java Beans and Fractal) | Discussion 9 | 8.1-8.5 | HW3 due Final Project: Muti-Tier Server |
Mar 6 | Lec 17: Distributed Objects (EJB Continued) | Lab 8: EJB | 8.5 | ||
10 | Mar 11 | Final Project Presentation 1 | First 18 students | ||
Mar 13 | Final Project Presentation 2 | Last 17 students | |||
11 | Mar 18 | Final exam in class | 1.5.1, 1.5.3, 2.3.1, 2.4.3, 8, 9.1-9.2, 9.7, and 11.1.1 | ||
Mar 20 | Final project due |