|
|
Yong Guan
Email: guan@iastate.edu
Office: 3216 Cooover
Phone: (515) 294-8378
Fax: (515) 294-8432
Office hours: Tuesday & Thursday 2:30-3:30PM, and other times by appointment.
Tuesday & Thursday 3:40-5:00PM, 0219 Pearson
The knowledge of distributed computing and middleware has become essential in today's network-centric computing environment. This course will give the undergraduate and graduate students both the fundamental knowledge and hands-on practice, make the students to be more current with the industry practices, and prepare the students for active research at the forefront of these areas.
The topics covered in this course include fundamentals of distributed computing, software agents, naming services, distributed transactions, security management, distributed object-based systems, middleware-based application design and development, and case studies of middleware.
The course will consist of three challenging programming projects (i.e., machine problems), two exams (mid-term and final exams), and one term paper. We will have a small number of homework, demonstrations (on your course projects), and presentations (on your term papers). Both undergraduate and graduate students should finish the required machine problems. But for the term paper, we have different requirements for undergraduate and graduate students:
- Undergraduate students: Write a 10-pages literature survey on a specific topic based on the reading of at least 10 papers published within the past five years.
- Graduate students: Write a 15-pages term paper, including defining a specific problem, surveying existing work, developing a (better) solution, and evaluating your results.
Upon completing this course, the students are expected to understand the basics of distributed systems and middleware and hands-on experience, and to be prepared for active research at the forefront of these areas.
Familiarity with basic concepts in operating systems (CprE 308 or ComS 352). It will be good if you
have taken a general networking course, or any equivalent.
Required Textbook:
- S. Tanenbaum and M. V. Steen, Distributed Systems: Principles and Paradigms, First Edition, Prentice Hall, 2002, ISBN: 0130888931.
Reference Books:
- R. Otte, P. Patrick, and M. Roy, Understanding CORBA, Prentice Hall, 1996, ISBN: 013459884-9.
- G. Coulouris, J. Dollimore, and T. Kindberg, Distributed Systems: Concepts and Design, 3rd Edition, Addison-Wesley, 2000, ISBN: 0201619180.
- R. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, John Wiley & Sons, 2001, ISBN: 0471389226.
- Alberto Leon-Garcia and Indra Widjaja, Communication Networks: Fundamental Concepts and Key Architectures, First Edition, McGraw-Hill Companies, Inc., 2000, ISBN 0-07-022839-6.
In addition, for topics not covered in these books, such as peer-to-peer, I will select a number of papers (most were published within the past five years).
Suggested Reading List is given here.
In this course, we will study some of the most important concepts in the design of distributed operating systems. Throughout the course, we will try to relate the material covered to the support of large-scale computing on the Internet. We will tentatively discuss the following issues:
The total point is 100 and will be based on the following grading criteria:
- All incidents of academic dishonesty will be dealt with according to the university policy. No exceptions.
- All references must be properly cited, including internet web pages (URL must be provided). If plagarism is detected, i.e. without proper citation and quotation, you will automatically receive an F. When in doubt, please ask the instructor if it is reasonable to include other's work in your assignments.
- Attending class is a must.
- Please send me email/or call me at (515) 294-8378 beforehand in case that you cannot come (e.g., for medical reason), and can bring me a proof later.
- I will meet you at a later time if this is the case.
- Due date for term papers and course projects is hard (no late hand-in will be accepted.) except that you have reasonable reason. However, for the whole semester, you can have at most one time one-day extension.