Postgraduate Course: Distributed Systems (Level 11) (INFR11022)
|School||School of Informatics
||College||College of Science and Engineering
||Availability||Not available to visiting students
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
|Home subject area||Informatics
||Other subject area||None
||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.
This course is identical to the level 10 version except for the assessed coursework and additional learning outcome.
Entry Requirements (not applicable to Visiting Students)
|Prohibited Combinations|| Students MUST NOT also be taking
Distributed Systems (Level 10) (INFR10012)
||Other requirements|| For Informatics PG and final year MInf students only, or by special permission of the School. Familiarity with Java is essential.
|Additional Costs|| None
Course Delivery Information
|Delivery period: 2012/13 Semester 1, Not available to visiting students (SS1)
||Learn enabled: No
|No Classes have been defined for this Course|
||Week 1, Thursday, 15:00 - 15:50, Zone: Central. HRB LT Robson Building |
|Main Exam Diet S2 (April/May)||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 - be able to review appropriate literature and write a summary of an emergent area of distributed systems.
7 - The course presents a large amount of material, some of it in case study form, so the students additionally develop skills of assimilation.
8 - This course will teach students the principles of distributed systems, in particular those aspects which make such systems difficult to design and develop.
|Written Examination 75|
Assessed Assignments 25
Oral Presentations 0
The coursework is comprised of homework assignments and programming practicals. Additionally the DS-Level-11 students do a term project which is either a summary of an area of emergent technology based on their independent assessment of the literature, or a practical application of formal verification tools to model and verify a system.
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
||* 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.
Timetabled Laboratories 0
Non-timetabled assessed assignments 40
Private Study/Other 40
|Course organiser||Dr Iain Murray
Tel: (0131 6)51 9078
|Course secretary||Miss Kate Weston
Tel: (0131 6)50 2701
© Copyright 2012 The University of Edinburgh - 14 January 2013 4:09 am