Distributed Systems

Year
3
Academic year
2012-2013
Code
01000241
Subject Area
Computer Science
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Compulsory
Level
1st Cycle Studies

Recommended Prerequisites

Operating Systems, Object-Oriented Programming, Computer Networks.

Teaching Methods

This course will include theoretical lectures with detailed exposition of concepts, principles and fundamental techniques of Distributed Systems, accompanied by practical examples intended to increase students' interest in theoretical concepts and exemplify their application to real situations.

The course will also include practical classes in which students solve practical exercises that require the combination of theoretical concepts and promote critical thinking with respect to more complex problems.

Learning Outcomes

The Distributed Systems course provides alumni with an encompassing approach on algorithms, protocols and fundaments of modern distributed systems. Students shall acquire competences on the development of distributed applications using several technologies, and shall be able to understand and integrate knowledge on fundamental techniques for the design of distributed applications at an industrial setting and for the Internet. The course intends to promote competence in analysis and synthesis, knowledge in computer science regarding the subject of study, problem-solving ability, autonomous learning competence, and competence in applying knowledge in practice.

Work Placement(s)

No

Syllabus

  1. Introduction to Distributed Systems
  2. Challenges in the development of distributed applications
  3. Overview of Middleware
  4. The Client/Server model
  5. Programming in TCP and UDP Sockets
  6. Multicast communication
  7. The RPC model and remote object invocation
  8. Fault treatment in the RPC model and RPC semantics
  9. Distributed programming using Java RMI
  10. Introduction to CORBA
  11. Message-Oriented Middleware and JMS API
  12. The HTTP protocol
  13. 2-tier, 3-tier and N-tier models
  14. Distributed applications for the Internet
  15. Web programming overview
  16. The technology of Web-Services: SOAP, XML, UDDI
  17. Security in Distributed Systems
  18. Naming Servers and Directory Services
  19. Distributed File Systems
  20. Clock synchronization in distributed systems
  21. Causal and total order in distributed applications
  22. Maintenance and upgrade of distributed applications
  23. Server replication and high-availability solutions
  24. Peer-to-peer systems

Head Lecturer(s)

Raul André Brajczewski Barbosa

Assessment Methods

Assessment
Project: 40.0%
Exam: 60.0%

Bibliography

Distributed Systems: Concepts and Design

5th Edition

George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair

ISBN: 0-273-76059-9


Publisher: Addison-Wesley

 

Opcional:

Distributed Systems: Principles and Paradigms

Andrew S. Tanenbaum, Maarten van Steen

ISBN: 0130888931

Publisher: Prentice Hall