Undergraduate Course: Distributed Systems (Level 10) (INFR10012)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Course type | Standard |
Availability | Available to all students |
Credit level (Normal year taken) | SCQF Level 10 (Year 4 Undergraduate) |
Credits | 10 |
Home subject area | Informatics |
Other subject area | None |
Course website |
http://www.inf.ed.ac.uk/teaching/courses/ds |
Taught in Gaelic? | No |
Course description | A distributed system is broadly categorised as a collection or network of loosely coupled, autonomous computers that can communicate with each other and execute logically separate computations, though these may be related to concurrent computations on other nodes.
* The nodes are relatively loosely coupled.
* Each node is a self-contained autonomous computer with its own peripherals.
* The system can survive various categories of node and network failures.
* The nodes may execute logically separate computations, though these may be related to concurrent computations on other nodes.
* The system is asynchronous.
Distributed systems have become pervasive---many applications now require the cooperation of two or more computers--yet the design and implementation of such systems remain challenging and complex tasks. Difficulties arise from the concurrency of components, the lack of a global clock and the possibility of independent failure of components. Moreover designs must aim to provide inter-operability, transparency and autonomy.
The emphasis of this module is on gaining understanding of the principles and concepts that are used to design distributed systems and experience of software platforms which underpin their development. Throughout the course examples written in Java will be used. |
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | Students MUST NOT also be taking
Distributed Systems (Level 11) (INFR11022)
|
Other requirements | Successful completion of Year 3 of an Informatics Single or Combined Honours Degree, or equivalent by permission of the School. Familiarity with Java is essential.
|
Additional Costs | None |
Information for Visiting Students
Pre-requisites | None |
Displayed in Visiting Students Prospectus? | Yes |
Course Delivery Information
|
Delivery period: 2011/12 Semester 1, Available to all students (SV1)
|
WebCT enabled: No |
Quota: None |
Location |
Activity |
Description |
Weeks |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Central | Lecture | | 1-11 | | | | 15:00 - 15:50 | | Central | Lecture | | 1-11 | 15:00 - 15:50 | | | | |
First Class |
Week 1, Monday, 15:00 - 15:50, Zone: Central. AT LT 3 |
Exam Information |
Exam Diet |
Paper Name |
Hours:Minutes |
|
|
Main Exam Diet S2 (April/May) | | 2:00 | | |
|
Delivery period: 2011/12 Semester 1, Part-year visiting students only (VV1)
|
WebCT enabled: No |
Quota: None |
Location |
Activity |
Description |
Weeks |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Central | Lecture | | 1-11 | 15:00 - 15:50 | | | | | Central | Lecture | | 1-11 | | | | 15:00 - 15:50 | |
First Class |
Week 1, Monday, 15:00 - 15:50, Zone: Central. AT LT 3 |
Exam Information |
Exam Diet |
Paper Name |
Hours:Minutes |
|
|
Main Exam Diet S1 (December) | | 2:00 | | |
Summary of Intended Learning Outcomes
1 - have an understanding of the principles of distributed system and be able to demonstrate this by explaining them;
2 - be able to give an account of the trade-offs which must be made when designing a distributed system, and make such trade-offs in their own designs;
3 - have developed practical skills of implementation of distributed algorithms in software so that they will be able to take an algorithm description and realise it in software;
4 - have gained experience in programming within a distributed object system so that they can tackle a client, server or servant implementation based on a interface description, and be able to write interface descriptions in order to specify the objects of a distributed object system;
5 - be able to give an account of the theoretical models used to design distributed systems and to manipulate those models to reason about such systems.
6 - The course presents a large amount of material, some of it in case study form, so the students additionally develop skills of assimilation.
7 - This course will teach students the principles of distributed systems, in particular those aspects which make such systems difficult to design and develop. |
Assessment Information
Written Examination 75
Assessed Assignments 25
Oral Presentations 0
Assessment
The assessment consists of weekly homework assignments and programming practicals.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year. |
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
1. Introduction
2. Fundamental Concepts of Distributed Systems: Architecture models; network architectures: OSI, Internet and LANs; interprocess communication
3. Time and Global States: Clocks and concepts of time; Event ordering; Synchronization; Global states
4. Coordination: Distributed mutual exclusion; Multicast; Group communication, Byzantine problems (consensus)¿
5. Distribution and Operating Systems: Protection mechanisms; Processes and threads; Networked OS; Distributed and Network File Systems (NFSs)¿
6. Middleware: Middleware; Distributed object models; Remote invocation; CORBA; Name and directory services
7. Security: Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets
Relevant QAA Computing Curriculum Sections: Distributed Computer Systems |
Transferable skills |
Not entered |
Reading list |
* George Coulouris, Jean Dollimore and Tim Kindberg, Distributed Systems: Concepts and Design, 4th edition, Addison-Wesley, 2005. (Main textbook).
* Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, September 2001.
* Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996.
* Andrew S. Tanenbaum, Computer Networks, 3rd ed., Prentice-Hall, 1996.
* R. Chow and T. Johnson, Distributed Operating systems and Algorithms, Addison-Wesley, 1997. |
Study Abroad |
Not entered |
Study Pattern |
Lectures 20
Tutorials 0
Timetabled Laboratories 0
Non-timetabled assessed assignments 40
Private Study/Other 40
Total 100 |
Keywords | Not entered |
Contacts
Course organiser | Dr Amos Storkey
Tel: (0131 6)51 1208
Email: A.Storkey@ed.ac.uk |
Course secretary | Miss Kate Weston
Tel: (0131 6)50 2701
Email: Kate.Weston@ed.ac.uk |
|
© Copyright 2011 The University of Edinburgh - 16 January 2012 6:16 am
|