Graduate study programme

Back   Schedule   Hrvatski

Distributed Computer Systems DRacd3-02

ECTS 7 | P 45 | A 0 | L 15 | K 0 | ISVU 62304 149803 | Academic year: 2019./2020.

Course groups

Prikaži sve grupe na predmetu

Course lecturers



Provide students with insight and basic knowledge of the properties, prerequisites and ways of establishing, using and evaluating distributed computer systems, parallel systems and service-oriented systems. Show opportunities and explain the basics of using system and software tools, and develop applications in distributed and service-oriented computing environments.

Conditions for enrollment

The necessary requirements to enrol in the second year of the studies.

Course description

Definition, goals and models of distributed computer systems. Communication: layered protocols, remote procedure calls and object invocation, sockets. Processes: threads, client-server processes, P2P environment, code migration, agents. Naming of distributed system entities. Synchronization: logical clock, global state, algorithms of election and mutual exclusion, transactions. Consistency and replication. Fault tolerance on the process, client-server and group communication level. Security: secure channels, authentication control. Distributed systems based on objects, documents, coordination and services. Distributed environments: clusters and computational grid. Parallel programming: MPI, OpenMP. Relation computational grid, web services, mobile and Internet technologies. Service-oriented architectures (SOA). Collective intelligence and Web 2.0. SOAP, WSDL, RESTFul API. Cloud Computing: resource management, workload balancing, scalability, message exchange, models, standards, algorithms, languages and systems software. Distributed embedded systems. Green computing. Performance evaluation. Application examples: business intelligence, medicine and pharmacy, research, industry.

Student requirements

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and paragraph 1.9

Monitoring of students

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and paragraph 1.9

Obligatory literature

1. 1 Varela, C.A;, Agha, G. Programming Distributed Computing Systems: A Foundational Approach MIT Press, 2013.

2. 2 A.S. Tanenbaum, M. van Steen Distributed Systems: Principles and Paradigms (2nd Ed.) Prentice Hall, 2013.

3. 3 M. van Steen, A.S. Tanenbaum Distributed Systems (3.01 Ed.) CreateSpace Independent Publishing Platform, 2017.

Pretraži literaturu na:

Recommended additional literature

1. 1 J. Blazewicz, K. Ecker, B. Plateau, D. Trystram (Eds.) Handbook on Parallel and Distributed Processing Springer - Verlag, 2000.

2. 2 A.D. Kshemkalyani, M. Singhal Distributed Computing: Principles, Algorithms and Systems Cambridge University Press, 2011.

3. 3 M.J. Kavis Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS) Wiley, 2014

4. 4 M. Parashar, S. Hariri Autonomic Computing: Concepts, Infrastructure, and Applications CRC Press, 2006.

5. 5 M.T. Higuera-Toledano, A.J. Wellings Distributed, Embedded and Real-time Java Systems Springer, 2012.

6. 6 S. Ghosh Distributed Systems: An Algorithmic Approach Chapman & Hall, 2014.

7. 7 P. Pacheco An Introduction to Parallel Programming Morgan Kaufmann, 2011.

8. 8 J. Rhoton Cloud Computing Explained: Implementation Handbook for Enterprises Recursive Press, 2009.

Course assessment

Conducting university questionnaires on teachers (student-teacher relationship, transparency of assessment criteria, motivation for teaching, teaching clarity, etc.). Conducting Faculty surveys on courses (upon passing the exam, student self-assessment of the adopted learning outcomes and student workload in relation to the number of ECTS credits allocated to activities and courses as a whole).

Overview of course assesment

Learning outcomes
Upon successful completion of the course, students will be able to:

1. understand principles, system and program mechanisms, development environments, paradigms and languages of parallel, distributed and service-based computer systems

2. analyze and compare the applicability of principles, mechanisms, algorithms and environments on which distributed and service-based computer systems operation is based

3. create more advanced software solutions that enable effective parallel, distributed and service-level problem-solving in current programming environments and languages by applying the adopted principles, mechanisms, algorithms and development tools

4. use of current parallel, distributed and service-based computing environments and development tools on the advanced user, system and program level

5. analyze, evaluate, and plan the use of parallel, distributed, and service-based computer systems as for solving problems in business, scientific and industrial applications

Aktivnosti studenta: Vidi tablicu aktivnosti