Students

ITEC801 – Distributed Systems

2016 – S2 Evening

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff
Ian Joyner
Credit points Credit points
4
Prerequisites Prerequisites
Admission to MIT and MEng
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description
This unit covers both fundamental issues and recent trends in distributed computing. We examine the complexities of distributed communications systems such as partial failures, shared memory, scheduling problems and multiple clocks. Networking protocols and other industry standards are discussed. Lectures will mostly be expository and conceptual and aim to provide a solid understanding of distributed systems and related enduring issues.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • Describe the complexities of distributed system development and approaches to solve those complexities
  • Distinguish the goals and architectures of distributed systems
  • Explain important issues in distributed systems, including time, inter-process communication, state management, distributed computing paradigms, data fragmentation and replication, middleware, and naming
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.
  • Analyze and design distributed systems

Assessment Tasks

Name Weighting Due
Weekly problems 10% Weekly
Assignment 1 20% Week 7
Assignment 2 20% Week 12
Examination 50% After final lecture

Weekly problems

Due: Weekly
Weighting: 10%

After each lecture a set of tutorial questions will be posted on iLearn. Students need to research and answer these questions which will be marked on a weekly basis.


On successful completion you will be able to:
  • Distinguish the goals and architectures of distributed systems
  • Explain important issues in distributed systems, including time, inter-process communication, state management, distributed computing paradigms, data fragmentation and replication, middleware, and naming

Assignment 1

Due: Week 7
Weighting: 20%

Assignment 1 assesses progress and understanding of lecture material. It will set a moderate design task to be completed.


On successful completion you will be able to:
  • Describe the complexities of distributed system development and approaches to solve those complexities
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.
  • Analyze and design distributed systems

Assignment 2

Due: Week 12
Weighting: 20%

Assignment 2 will be researching a couple of topics we have covered and writing a report on those topics.


On successful completion you will be able to:
  • Describe the complexities of distributed system development and approaches to solve those complexities
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.
  • Analyze and design distributed systems

Examination

Due: After final lecture
Weighting: 50%

The final examination will consist of questions based on the lecture material, tutorial problems and assignments. The examination will be closed book, three hours long and held in the end of session examination period.

All learning outcomes will be assessed in the final examination, which will cover the entirety of the lecture material.


On successful completion you will be able to:
  • Distinguish the goals and architectures of distributed systems
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.
  • Analyze and design distributed systems

Delivery and Resources

Classes

Each week you should attend the class which is three to four hours. For details of days, times and rooms consult the timetables webpage.

This course has no extra classes for tutorials or practicals.

Please note it is to your benefit to attend most of the classes, prepared to participate in discussions, ask and answer questions, and provide perspectives from your own background and workplaces.

Resources to assist your learning

Digital recordings of lectures are available as Echo360 through iLearn login. These are provided for review material and in case of missing lectures.

Online discussion. We will have an active online discussion forum in the ED system. It is expected that you contribute to these discussions.

iLearn is used for out-of-class communication as well as forums where active discussion of issues is encouraged. iLearn can be found at can be found at http://learn.mq.edu.au. You are encouraged to review iLearn weekly and to do background reading before each class.

Textbook

The textbook for ITEC801 is:

Coulouris, Dollimore, Kindberg, and Blair - Distributed Systems: Concepts and Design 5th Edition, 2012

References

Tannenbaum, A. S., Distributed Systems: Principles and Paradigms, Prentice-Hall, 2nd Edition 2006

Ince, D., Developing Distributed and E-commerce Applications, Second Edition, Addison Wesley, 2003.

Liu, M.L., Distributed Computing, Principles and Applications, Pearson/Addison Wesley, 2004.

Unit Schedule

 
Week Topic
Week 1 Introduction, Challenges, and Goals (Coulouris Chapter 1)
Week 2

Distributed Systems Architectures, Paradigms, and Patterns, Networks (Coulouris Chapter 2 and 3)

Week 3

Client-Server, Peer-to-peer, Communication in Distributed Systems  (Coulouris Chapter 4, 5, 6)

 

Week 4 Naming - location transparency (Coulouris Chapter 13)
Week 5

Open Distributed Processing (Online reading)

Week 6 Synchronization  (Coulouris Chapter 14 and 15)
Week 7 RPC, RMI, message passing and failure in distributed systems communication (Coulouris Chapter 4, 5, 5)
Week 8 REST - Concepts (Fielding's Thesis) and Application (Coulouris Chapter 9, Online reading)
Week 9 Middleware and Distributed Data - Fragmentation and Replication (Coulouris Chapter 8)
Week 10 Consistency, transactions and replication (Coulouris Chapter 18)
Week 11 Cloud Computing (Coulouris Chapter 8)
Week 12 Mobile and ubiquitous computing (Coulouris Chapter 19)

 

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central. Students should be aware of the following policies in particular with regard to Learning and Teaching:

Academic Honesty Policy http://mq.edu.au/policy/docs/academic_honesty/policy.html

New Assessment Policy in effect from Session 2 2016 http://mq.edu.au/policy/docs/assessment/policy_2016.html. For more information visit http://students.mq.edu.au/events/2016/07/19/new_assessment_policy_in_place_from_session_2/

Assessment Policy prior to Session 2 2016 http://mq.edu.au/policy/docs/assessment/policy.html

Grading Policy prior to Session 2 2016 http://mq.edu.au/policy/docs/grading/policy.html

Grade Appeal Policy http://mq.edu.au/policy/docs/gradeappeal/policy.html

Complaint Management Procedure for Students and Members of the Public http://www.mq.edu.au/policy/docs/complaint_management/procedure.html​

Disruption to Studies Policy http://www.mq.edu.au/policy/docs/disruption_studies/policy.html The Disruption to Studies Policy is effective from March 3 2014 and replaces the Special Consideration Policy.

In addition, a number of other policies can be found in the Learning and Teaching Category of Policy Central.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/support/student_conduct/

Results

Results shown in iLearn, or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

Learning Skills

Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to improve your marks and take control of your study.

Student Services and Support

Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.

Student Enquiries

For all student enquiries, visit Student Connect at ask.mq.edu.au

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Graduate Capabilities

PG - Discipline Knowledge and Skills

Our postgraduates will be able to demonstrate a significantly enhanced depth and breadth of knowledge, scholarly understanding, and specific subject content knowledge in their chosen fields.

This graduate capability is supported by:

Learning outcomes

  • Describe the complexities of distributed system development and approaches to solve those complexities
  • Distinguish the goals and architectures of distributed systems
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.

Assessment tasks

  • Weekly problems
  • Examination

PG - Critical, Analytical and Integrative Thinking

Our postgraduates will be capable of utilising and reflecting on prior knowledge and experience, of applying higher level critical thinking skills, and of integrating and synthesising learning and knowledge from a range of sources and environments. A characteristic of this form of thinking is the generation of new, professionally oriented knowledge through personal or group-based critique of practice and theory.

This graduate capability is supported by:

Learning outcomes

  • Distinguish the goals and architectures of distributed systems
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.
  • Analyze and design distributed systems

Assessment tasks

  • Assignment 1
  • Assignment 2
  • Examination

PG - Research and Problem Solving Capability

Our postgraduates will be capable of systematic enquiry; able to use research skills to create new knowledge that can be applied to real world issues, or contribute to a field of study or practice to enhance society. They will be capable of creative questioning, problem finding and problem solving.

This graduate capability is supported by:

Learning outcomes

  • Describe the complexities of distributed system development and approaches to solve those complexities
  • Explain important issues in distributed systems, including time, inter-process communication, state management, distributed computing paradigms, data fragmentation and replication, middleware, and naming
  • Identify applicability of technologies that support distributed applications such as RPC, RMI and object-based technology, message passing, and REST.
  • Analyze and design distributed systems

Assessment tasks

  • Weekly problems
  • Assignment 1
  • Assignment 2
  • Examination

PG - Effective Communication

Our postgraduates will be able to communicate effectively and convey their views to different social, cultural, and professional audiences. They will be able to use a variety of technologically supported media to communicate with empathy using a range of written, spoken or visual formats.

This graduate capability is supported by:

Learning outcomes

  • Describe the complexities of distributed system development and approaches to solve those complexities
  • Explain important issues in distributed systems, including time, inter-process communication, state management, distributed computing paradigms, data fragmentation and replication, middleware, and naming
  • Analyze and design distributed systems

Assessment tasks

  • Weekly problems
  • Assignment 1
  • Assignment 2
  • Examination

Standards and Grading

In this unit, the final mark will be calculated by combining the marks for all assessment tasks according to the percentage weightings shown in the assessment summary.

To pass the unit, you must obtain:

  • an overall total mark of 50% or higher;
  • a mark of 40% or higher in the final examination;
  • have performed satisfactorily in both assignments;
  • have submitted at least 8 weekly assignments.

Students obtaining a higher grade than a pass in this unit will (in addition to the above)         

  • have a total mark of 85% or higher to obtain High Distinction;
  • have a total mark of 75% or higher to obtain Distinction;
  • have a total mark of 65% or higher  to obtain Credit.

 You are encouraged to:

  • set your personal deadline earlier than the actual one;
  • keep backups of all important assessed tasks;.
  • make sure no one else picks up your printouts.

All work submitted should be readable and well presented.

You should never commit plagiarism or copying in any of your submitted work.