Distributed Systems
Distributed systems are at the core of the information society. Most of everyday?s applications, ranging from basic Internet access to a wide range of complex economic, social, public administration and leisure activities, depend on the correct interaction and coordination of a variety of computational devices.
The capacity to develop, deploy or manage a distributed system requires mastering fundamental concepts and paradigms of distributed computing, technological platforms and tools as well as the understanding and intuition of intricate relationships between non-functional aspects of the system such as dependability, scalability and security.
The Distributed Systems unit covers classical distributed systems, with emphasis on object-oriented technology, transactional systems and fault tolerance, and explores emergent topics such as mobile systems, peer-to-peer and grid computing. The syllabus combines a strong component on fundamental models and algorithms with a technological side that closely follows current industry needs and trends.
This unit stems from more than a decade of teaching distributed systems at undergraduate and postgraduate levels supported by a series of national and european-funded research projects in this area.
Coordination
Learning Outcomes
- To be able to analyze the fundamental issues in distributed systems, understanding the assumptions and trade-offs of a particular model and solution.
- To identify the strengths and limitations of the underlying computation and communication infrastructure in order to select appropriate models
- To understand and explore fundamental algorithms and paradigms that are in the basis of reliable, efficient and scalable systems and applications.
- To explore transactional mechanisms and software replication techniques that lead to robust and highly-available systems and applications.
- To devise distributed solutions capable of operating in mobile and/or large-scale settings, perhaps with a varying set of resources.
- To design and deploy distributed applications based on object-oriented middleware.
Learning Units
- Distributed Systems Foundations
- Distributed Objects
- Transactional Distributed Systems
- Mobile Systems
- Fault Tolerance
- Large-scale Systems
Partners