Department of Computing & Information Science


Course Code:
CIS*4400 / Course Title: Distributed Information Systems / Date of Offering:
Fall 2007
Dr. Yang Xiang / Office:
Email: / Reynolds 318 (T/TH 15:00-17:00)

Teaching Assistant(s):
Frank Hanshar / Office:
Email: / Reynolds 101A

Calendar Description:
This course addresses the basic concepts and methodologies used to build distributed systems applications. The course deals with building information infrastructures involving a base network layer, middleware and application layer. The emphasis is on the enabling methodologies for building complex distributed information systems.
Prerequisite(s): / (CIS*3210 or CIS*4200), (CIS*3430 or CIS*3750), CIS*3530
/ Topics:
·  Models for distributed systems.
·  Interprocess communication, API for Internet, external data representation, XML, marshalling, client-server / group communication.
·  Distributed objects, RMI/RPC, events and notifications, clock synchronization.
·  Security, authentication, digital signature and certificates, cryptographic algorithms/protocols.
·  Name services, directory and discovery services.
·  Coordination and agreement, distributed mutual exclusion, elections, consensus.
·  Peer-to-peer, CORBA, current applications.
Class Information: Lectures
T/TH 13:00-14:20, Mack 314 / Class Information: Seminar
M 10:30-12:20, Mack 315
·  Required Text: G. Coulouris, J. Dollimore, and T. Kindberg, Distributed Systems: Concepts and Design, 4th Ed., Addison-wesley, 2005.
·  Reference: Q.H. Mahmoud, Distributed Programming with JAVA, Manning, 2000.
Method of Evaluation:
Course Work / Date / Weight
Assignment 1:
Assignment 2:
Assignment 3:
Assignment 4:
Midterm Exam: / Weeks 2-4
Weeks 4-6
Weeks 6-8
Weeks 8-10
Week 8 (Oct 30) / 7.5%
Final Exam / Dec 11 14:30-16-30 / 40%
Grading Policies / The student must attempt all course work and in at least 70% of these elements must achieve a passing grade.


The University of Guelph is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards, and must abide by the applicable policies (see Section VIII of the Undergraduate Calendar on "Academic Misconduct").

For educational purposes, instructors impose conditions on assignments that may limit students' permission to collaborate with others or to utilize external sources (including, but not limited to, software, data, images, text, etc.). Any permitted utilization must be done with proper references. Instructors may use automated tools to detect possible cases of plagiarism. Work that shows significant unnatural similarity, or that appears to be copied from unacknowledged sources, will be investigated as potential academic misconduct. "Aiding and abetting" is also a punishable offence, and students must be careful not to help others commit offences by giving out their files or allowing others to access their computer accounts. Consider yourself warned.


Please read the complete University of Guelph policy found on


See: Undergraduate Calendar: VIII. Undergraduate Degree Regulations and Procedures

Grading Procedures (Resolution 5)


Students should include their name and course number in every email, e.g. Joe Smith: CIS*xxxx, since instructors are often involved in teaching more than one course per term. To comply with university privacy policy, all emails should be sent from your uoguelph account (not from,, or any other non-UoG host). All students are responsible for reading their uoguelph email and therefore should maintain their accounts, i.e. disk quotes should be monitored so that email is not rejected due to lack of space.


Assignments are expected to be handed in by specified due dates. Late assignments will be subject to 15% of the total mark per day up to 3 calendar days (not weekdays). For instance, the latest date to hand in an assignment due on a Friday is the following Monday, with the highest possible mark of 55%. The submission procedure is detailed in the course website.

The first page of each assignment is required to clearly indicate your name, student id, course number and assignment number.

Keep a copy of all your submitted assignments in case they get misplaced. Keep your returned assignments and midterm. In the rare case your grades get recorded incorrectly, use the returned copy to get the problem resolved.