IS 206 : Distributed Computing Applications & Infrastucture

Administrivia

Teaching Team 

206 Team

Professor John Chuang

Email: chuang@sims.berkeley.edu

Website: http://www.sims.berkeley.edu/~chuang/

Office number: 510-642-7253

Office Hours: Wednesday 3:00pm-4:00pm Thursday 4:00pm-5:00pm 312 South Hall

TA David Schlossberg

Office Hours: Tuesday 3:30pm-5:30pm Basement computer lab

TA Joshua Lipman Solomin

Office Hours: Monday Wednesday 1:00pm-2:00pm 2nd floor computer lab

TA Jeannie Yang

Office Hours: Wednesday 10:00am-12:00pm Basement computer lab

Course Description

Link to course description

Three hours of lecture per week. Technical side of distributed computing, including complexity management, concurrency, protocols, security, performance, networking, and middleware. Application examples including collaboration, electronic commerce, information access and control. Economics and policy considerations.

This is a required basic course for SIMS graduate students. It gives a broad overview of applications of networked computing, the computing systems and infrastructure that support them, and the supplier industry. We proceed top-down, starting with the applications and moving down through the layers of supporting infrastructure, understanding their role in supporting the applications and layers above them. The course is intellectually centered about a set of cross-cutting core concepts, seeing how they are applied in different contexts. An abstracted and simplified view is presented, focusing on issues relevant from an application perspective, and avoiding many detailed issues necessary for successful implementation of such systems. The objective is to understand distributed computing and its infrastructure in sufficient depth to conceptualize and specify new distributed applications and to work with the implementation team to realize them.

Course Information

School of Information Management and Systems INFOSYS 206

Course Dates: January 18 to May 10, 2005

Lecture Schedule: Tuesday Thursday 12:30pm-2:00pm in 202 South Hall

Units: 4

Grading Option: Letter Grade only

Course Texts

Required

TCP/IP Sockets in Java: Practical Guide for Programmers, Kenneth L. Calvert and Michael J. Donahoo. Morgan Kaufmann Publishers. ISBN: 1-55860-685-8

Optional

Distributed Systems: Concepts and Design, 3rd Edition, George Coulouris, Jean Dollimore and Tim Kindberg. Addison-Wesley. ISBN: 0-20161-918-0

Grading Criteria

50% Projects

40% Exams (2 total)

10% Quizzes (5-6 quizzes, drop lowest score, no make-ups)

10% Class Participation

Course Work

January 18 : Tuesday

Orientation and Introduction 

Lecturer: John Chuang

Resources

January 20 : Thursday

Distributed System Architectures 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Wikipedia" [Online]

Wikipedia entry on "Wiki" [Online]

Wikipedia entry on "Distributed System" [Online]

Wikipedia entry on "Distributed computing" [Online]

Optional Readings

Chapter 2 of Distributed Systems: Concepts and Design, 3rd Edition [Textbook]

Resources

Milestone 0 assigned 

Due on February 1

Assignment details

January 25 : Tuesday

Interprocess Communication 

Lecturer: John Chuang

Required Readings

Chapters 1, 2.1-2 of TCP/IP Sockets in Java: Practical Guide for Programmers [Textbook]

A Network of Peers: Peer-to-Peer Models Through the History of the Internet, Nelson Minar and Marc Hedlund [Online]

Wikipedia entry on "Client-server" [Online]

Wikipedia entry on "Peer-to-peer" [Online]

Optional Readings

Sections 4.1-2 of Distributed Systems: Concepts and Design, 3rd Edition [Textbook]

Resources

Quiz 1 assigned 

Due on January 27

Assignment details

January 27 : Thursday

Guest lecture/Seminar: Dr. Alexander Fraser 

Guest Lecturer: Alexander Fraser

Skim Readings

http://www.fraserresearch.org/ [Online]

http://100x100network.org/ [Online]

Resources

February 1 : Tuesday

Interprocess Communication; Simster Introduction 

Lecturer: John Chuang

Required Readings

read Section 2.3, skim Chapter 3 of TCP/IP Sockets in Java: Practical Guide for Programmers [Textbook]

Wikipedia entry on "Serialization" [Online]

Optional Readings

Section 4.3, 5 of Distributed Systems: Concepts and Design, 3rd Edition [Textbook]

Resources

Milestone 0 due 

Milestone 1 assigned 

Due on February 10

Assignment details

Milestone 2 assigned 

Due on February 17

Assignment details

Group Membership Proposals assigned 

Due on February 8

Assignment details

February 3 : Thursday

Networking: Introduction 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Remote procedure call" [Online]

Wikipedia entry on "ARPANET" [Online]

Wikipedia entry on "Packet switching" [Online]

Wikipedia entry on "Circuit switching" [Online]

Skim Readings

Java RMI [Online]

Wikipedia entry on "Simple Object Access Protocol [Online]

Wikipedia entry on "Grid computing" [Online]

The Anatomy of the Grid: Enabling Scalable Virtual Organizations, Ian Foster, Carl Kesselman and Steven Tuecke [Online]

Wikipedia entry on "Computer network" [Online]

Wikipedia entry on "History of the Internet" [Online]

Optional Readings

Chapter 3.1-2 of Distributed Systems: Concepts and Design, 3rd Edition [Textbook]

Resources

February 8 : Tuesday

Networking: Design Principles 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Communications protocol" [Online]

Wikipedia entry on "Internet protocol suite" [Online]

"The Design Philosophy of the DARPA Internet Protocols" David D. Clark [Online]

Proceedings of ACM SIGCOMM (1988)

Optional Readings

Chapter 3.3 of Distributed Systems: Concepts and Design, 3rd Edition [Textbook]

Resources

Group Membership Proposals due 

February 10 : Thursday

Networking: Protocols 

Lecturer: John Chuang

Optional Readings

Chapter 3.4 of Distributed Systems: Concepts and Design, 3rd Edition [Textbook]

Resources

Milestone 1 due 

February 15 : Tuesday

Networking: Protocols 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Internet Protocol" [Online]

Wikipedia entry on "Transmission Control Protocol" [Online]

Wikipedia entry on "User Datagram Protocol" [Online]

Skim Readings

Wikipedia entry on "Ethernet" [Online]

Wikipedia entry on "IEEE 802.11" [Online]

Wikipedia entry on "DNS" [Online]

Wikipedia entry on "HTTP" [Online]

Resources

February 17 : Thursday

Networking: Protocols 

Lecturer: John Chuang

Resources

Milestone 2 due 

Milestone 3 assigned 

Due on February 24

Assignment details

February 22 : Tuesday

Operating Systems 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Operating system" [Online]

Wikipedia entry on "Process (computing)" [Online]

Wikipedia entry on "Thread (computer science)" [Online]

Resources

February 24 : Thursday

Discussion: Threads 

Lecturer: John Chuang

Required Readings

Chapter 4.1 of TCP/IP Sockets in Java: Practical Guide for Programmers [Textbook]

Resources

Milestone 3 due 

Milestone 4 assigned 

Due on March 3

Assignment details

March 1 : Tuesday

Operating Systems 

Lecturer: John Chuang

Optional Readings

Wikipedia entry on "Semaphore (Programming)" [Online]

Wikipedia entry on "Deadlock" [Online]

Wikipedia entry on "Dining philosophers problem" [Online]

Wikipedia entry on "Virtual memory" [Online]

Resources

March 3 : Thursday

Security 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Computer security" [Online]

Wikipedia entry on "Cryptography" [Online]

Wikipedia entry on "Symmetric key algorithm" [Online]

Wikipedia entry on "Asymmetric key algorithm" [Online]

Wikipedia entry on "Public-key cryptography" [Online]

Wikipedia entry on "Cryptographic hash function" [Online]

Wikipedia entry on "Digital signature" [Online]

Recommended Readings

Wikipedia entry on "Advanced Encryption Standard" [Online]

Wikipedia entry on "RSA" [Online]

Wikipedia entry on "SHA-1" [Online]

Resources

Milestone 4 due 

Milestone 5 assigned 

Due on March 18

Assignment details

March 8 : Tuesday

Project group meeting (no lecture) 

March 10 : Thursday

Security 

Lecturer: John Chuang

Resources

March 15 : Tuesday

Mid-Semester Review 

Lecturer: John Chuang

Resources

Milestone 6 assigned 

Due on April 5

Assignment details

Milestone 7 assigned 

Due on April 12

Assignment details

March 17 : Thursday

Exam 1 (in-class) 

Lecturer: John Chuang

Midterm Exam 

12:30pm-2:00pm, 202 South Hall

20% of final grade

March 18 : Friday

Milestone 5 due 

March 22 : Tuesday : Spring Recess

Holiday: Spring Break 

March 24 : Thursday : Spring Recess

Holiday: Spring Break 

March 29 : Tuesday

Security; Transactions 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "ACID" [Online]

Resources

March 31 : Thursday

Distributed Multimedia 

Lecturer: John Chuang

Required Readings

Wikipedia entry on "Data compression" [Online]

Skim Readings

Wikipedia entry on "Lossless data compression" [Online]

Wikipedia entry on "Lossy data compression" [Online]

Wikipedia entry on "MP3" [Online]

Wikipedia entry on "MPEG" [Online]

Wikipedia entry on "JPEG" [Online]

Wikipedia entry on "Streaming media" [Online]

Wikipedia entry on "Quality of service" [Online]

Resources

April 5 : Tuesday

Simster Bakeoff (Milestone 6) 

Lecturer: John Chuang

Milestone 6 due 

April 7 : Thursday

System Performance 

Lecturer: John Chuang

April 12 : Tuesday

System Performance 

Lecturer: John Chuang

Milestone 7 due 

April 14 : Thursday

Overlay networking 

Lecturer: John Chuang

Milestone 8 assigned 

Due on April 28

Assignment details

April 19 : Tuesday

Standard Setting Meeting 

Lecturer: John Chuang

April 21 : Thursday

Wireless and Mobility 

Lecturer: John Chuang

April 26 : Tuesday

Open 

Lecturer: John Chuang

April 28 : Thursday

Open 

Lecturer: John Chuang

Milestone 8 due 

May 3 : Tuesday

Simster Bakeoff II (Milestone 8) 

Lecturer: John Chuang

May 5 : Thursday

Course Review & Evaluation 

Lecturer: John Chuang

May 10 : Tuesday

Exam 2 (in-class) 

Lecturer: John Chuang

Final Exam 

12:30pm-2:00pm, 202 South Hall

20% of final grade

last updated on 2005-03-31 by Joshua