2025

Distributed Systems

Name: Distributed Systems
Code: INF13206L
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese
Languages of tutoring support: Portuguese
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

The objective of this Course is to provide students with knowledge about Distributed Systems, at a theoretical and a practical level, giving them competencies to requirements analysis, and to design and implement software solutions with distributed architecture.
At the end of this Course, students will be able to evaluate the different communication and coordination needs among components of a Distributed System, and to choose, in a reasoned way, an approach for solving those needs.

Contents

Introduction to Distributed Systems (DS)
• concepts, examples, characteristics

Models of Interaction and Communication in DS
• Centralized, decentralized, hybrid architectures
• Multi-layer protocols, RPC, Multicast
• Marshalling
• Middleware

Distributed Objects and Remote Invocation
• Java RMI, CORBA
• Marshalling Case studies: RPC, Java RMI, SOAP, REST

Web Services and REST

Distributed File Systems

Name Services

Synchronization and distributed coordination
• Clock Synchronization
• Mutual Exclusion in Distributed Context
• Algorithms for election

Replication

Fault Tolerance

Cloud Computing

Data-Intensive Computing, Map-Reduce Paradigm

Teaching Methods

The teaching methodology includes two types of classes:
• lectures
• laboratory classes
The lectures present the concepts of Distributed Systems and all remaining content, sequentially and gradually raising the level of abstraction.
The laboratory classes are dedicated to learning and use technologies used in implementing distributed systems. Some of these lessons are devoted to the implementation of two group projects, the first at half of the semester and the second at the end of the semester.

Assessment

The assessment of this course unit comprises the following components:

a) Theoretical component: written tests ? three assessments (3 × 20%) or one final exam (60%). Students choose between continuous assessment through assessments and final assessment through an exam. All students may take the resit exam.

b) Practical component: two practical projects (2 × 20%). These project assignments include software, a report, and a presentation, on a date to be agreed upon. The practical component is mandatory in any assessment period.

Grade calculation: 0.6 × PE + 0.2 × Pr1 + 0.2 × Pr2
where PE = (WT1 + WT2 + WT3) / 3, without rounding, or the grade obtained in an exam.
Minimum grade: 8 points in all written tests and assignments.

Projects may be completed individually or in groups of two students.


Oral Examination
If it is deemed necessary to verify the extent to which the student has developed the knowledge and skills set out for the course unit, the teaching team may summon the student to an oral examination, under the terms of nr. 13 of Article 110 of the Academic Regulations of the University of Évora, with the conditions set out in the nr. 4 of Article 116 and the nr. 1 of Article 118 of the same Regulations being ensured.
When triggered, the oral examination shall carry a weighting of 60% in the final grade of the course unit, to be combined with the remaining 40% of the practical component (which includes the presentation/demonstration of the assignments).