Department of Information & Communication Systems Engineering
University of the Aegean

Department of Information
& Communication Systems Engineering

Information & Communication Systems Security
Information Systems
Artificial Intelligence
Computer & Communication Systems
Geometry, Dynamical Systems & Cosmology
Distributed Systems

Title: Distributed Systems
Lesson Code: 321-7951
Semester: 6
Theory Hours: 3
Lab Hours: 2
Faculty: Goumopoulos Christos
Content outline
Basic concepts and principles of Distributed Systems, Middleware and resources, Client-Server Model, 3-tier Model, Models of communication and programming models (distributed transaction, remote procedure call, remote method invocation, message queue), Name Services (Domain Name System, directory services), Synchronization (logical clocks, distributed mutual exclusion, leader election, global states), Consistency and replication, Fault Tolerance.
Learning outcomes
The student that will complete successfully the course is expected that will be in position to: - Cite well established definitions of Distributed Systems (DSs) and their characteristics. - Recognize basic requirements that are related to the development of DSs. - Recognize special kinds of problems that are related to the development of DSs. - Categorize DSs using criteria that are related with the organization of their hardware. - Explain the role of software in the operation of DSs. - Categorize the software operating systems of DSs in three categories. - Describe three DS architectures from the software perspective. - Cite contemporary trends that affect the development of DSs. - Describe eight forms of transparency that are related to the design of DSs. - Describe the redundancy technique for enhancing the reliability of DSs. - Define the concepts of flexibility and scalability. - Describe basic requirements for designing a secure DS. - Describe the client-server model. - Describe five variations of the client-server architecture. - Explain the need of clock synchronization in DSs. - Describe at least two approaches of clock synchronization in DSs. - Define the concepts of partial and total event ordering. - Describe at least two algorithms of physical clock sysnchronization in DSs. - Define the concept of mutual exclusion. - Describe at least two algorithms that provide mutual exclusion - Comprehend the role of DSs and middleware software in the development of modern applications. - Recognize special issues of DS modeling and operation (system models, interprocess communication, operating systems, distributed file systems, peer-to systems, web services) - Describe the general characteristics of interprocess communication. - Describe the basic elements of the remote procedure call (RPC) model - Describe the basic elements of the remote method invocation (RMI) model - Use the Java RMI system for the development of distributed applications following a sequence of predefined steps. - Explain the difference between processes and threads. - Explain the need for thread synchronization and the concept of race condition - Analyze problems and case studies of DSs and select the most suitable technologies for their implementation. - Identify, assess and evaluate relative information via the proposed bibliographic sources and the use of Internet.
Not required.
Basic Textbooks
1. Andrew S. Tanenbaum, Maarten Van Steen. Κατανεμημένα Συστήματα: Αρχές και Υποδείγματα. Έκδοση: 1η/2006, Εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, ISBN: 960-209-924-0 2. Ι.Κ. ΚΑΒΟΥΡΑΣ, Ι. Ζ. ΜΗΛΗΣ, Γ. Β. ΞΥΛΩΜΕΝΟΣ, Α. Α. ΡΟΥΚΟΥΝΑΚΗ. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΜΕ JAVA. Έκδοση: 3η/2011, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ, ISBN: 960-461-463-9 3. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. (2011). Distributed Systems: Concepts and Design. Addison-Wesley, 5th edition, Pearson Education, NJ. ISBN 0132143011. 4. Kshemkalyani, A.D., and Singhal, M. (2008). Distributed Computing Principles, Algorithms, and Systems. Cambridge University Press, NY. ISBN 978-0-521-87634-6. 5. Kai Hwang, Jack Dongarra, Geoffrey C. Fox, Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, O'Reilly Media, 2011. ISBN 0123858801
Additional References
IEEE Transactions on Parallel and Distributed Systems IEEE Pervasive Computing Distributed Computing
Learning Activities and Teaching Methods
Final examination and lab exercises (theoretical and programming). The mark of laboratory should be ≥ 5 for attendance in the final examinations. The mark of final examination should be ≥ 5 for successful course completion. The final mark is computed as follows: 0.4 * (Mark of Exercises) + 0.1 * (Mark of Mid Term evaluation)+ 0.5 * (Mark of Final Examination). For each examination/exercises subject clearly specified evaluation criteria are given. The students can see their exam paper after the final examination and inspect their faults. The overall distribution of marks is announced on eClass, so that students can evaluate their performance.
Assessment/Grading Methods


Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39 ώρες
Εργαστηριακές ώρες 26 ώρες
Προσωπική μελέτη 57 ώρες
Τελική εξέταση 3 ώρες
Σύνολο Μαθήματος 125 ώρες (5 ECTS)


Language of Instruction
Greek, English (for Erasmus students)
Μode of delivery

Home | Contact

University Of The Aegean

Department of Information & & Communications Systems Engineering

© Copyright ICSD :: 2008 - 2017