Teaching Guides Query



Academic Year: 2022/23

30221 - Distributed Systems


Teaching Plan Information

Academic Year:
2022/23
Subject:
30221 - Distributed Systems
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
Degree:
330 - Complementos de formación Máster/Doctorado
439 - Bachelor's Degree in Informatics Engineering
443 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
3
Semester:
First semester
Subject Type:
Compulsory
Module:
---

1. General information

2. Learning goals

3. Assessment (1st and 2nd call)

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The methodologies used in this course are:

  • Theoretical lectures explaining the concepts and design of Distributed Systems.
  • Problem solving lectures where students apply theoretical knowledge.
  • Practical sessions in labs with smaller groups where students design and implement, in computers, different solutions to basic problems.

4.2. Learning tasks

The course includes the following learning tasks: 

  • Study of Distributed Systems concepts.
  • Analysis of architectures and technologies.
  • Problem-based learning.
  • Design and implementation of Distributed System solutions in a lab.

4.3. Syllabus

The course will address the following topics:

  • Basic concepts: Architectures. Processes and threads. Interprocess communication. Interface definition languages. Client-Server model. Management of events. Timing. Logical time. Group communication.
  • Resource management: Assignment of the resource. Scheduling. Virtualization. Migration. Mutual exclusion. Leader election. Locks.
  • Technologies: Messaging systems. File systems. Objects systems. Web systems. P2P systems. 
  • Fault Tolerance: Consensus. Distributed transactions. Replication.
  • Security: Cryptographic services. Kerberos. Digital certificates. Public key infrastructures.

4.4. Course planning and calendar

Schedule of sessions and presentation of works

The course schedule of sessions and activities will be defined by the academic calendar as organized by the Dean of School and each academic year.

Student Work

To achieve the objectives of this subject, students have to spend about 150 hours distributed as follows:

  • 56 hours approximately, during learning activities (lectures, problems and practical lab sessions)

  • 91 hours of personal study (the study of notes and texts, problems solving, preparation for classes and practices, and learning of the software development process)

  • 3 hours for the written final exam


Curso Académico: 2022/23

30221 - Sistemas distribuidos


Información del Plan Docente

Año académico:
2022/23
Asignatura:
30221 - Sistemas distribuidos
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
Titulación:
330 - Complementos de formación Máster/Doctorado
439 - Graduado en Ingeniería Informática
443 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
3
Periodo de impartición:
Primer semestre
Clase de asignatura:
Obligatoria
Materia:
---

1. Información Básica

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

En asignaturas previas, los alumnos han aprendido las funcionalidades, la estructura y  la utilización de sistemas operativos, redes de computadores y Programación de Sistemas Concurrentes y Distribuidos. Partiendo de esos conocimientos los alumnos aprenderán, en esta asignatura, los conceptos de sistemas distribuidos.

Un planteamiento aplicado permite a los alumnos gestionar sistemas y redes utilizados realmente en el ámbito profesional.

Estos planteamientos y objetivos están alineados con algunos de los Objetivos de Desarrollo Sostenible, ODS, de la Agenda 2030 (https://www.un.org/sustainabledevelopment/es/) y determinadas metas concretas, de tal manera que la adquisición de los resultados de aprendizaje de la asignatura proporciona capacitación y competencia al estudiante para contribuir en cierta medida a su logro:

  • Objetivo 8: Promover el crecimiento económico sostenido, inclusivo y sostenible, el empleo pleno y productivo y el trabajo decente para todo.
    • Meta 8.2 Lograr niveles más elevados de productividad económica mediante la diversificación, la modernización tecnológica y la innovación, entre otras cosas centrándose en los sectores con gran valor añadido y un uso intensivo de la mano de obra.
  • Objetivo 7: Garantizar el acceso a una energía asequible, segura, sostenible y moderna para todos.
    • Meta 7.3 De aquí a 2030, duplicar la tasa mundial de mejora de la eficiencia energética.
    • Meta 7.b De aquí a 2030, ampliar la infraestructura y mejorar la tecnología para prestar servicios energéticos modernos y sostenibles para todos en los países en desarrollo, en particular los países menos adelantados, los pequeños Estados insulares en desarrollo y los países en desarrollo sin litoral, en consonancia con sus respectivos programas de apoyo.
  • Objetivo 9: Industria, innovación e infraestructuras.
    • Meta 9.5 Aumentar la investigación científica y mejorar la capacidad tecnológica de los sectores industriales de todos los países, en particular los países en desarrollo, entre otras cosas fomentando la innovación y aumentando considerablemente, de aquí a 2030, el número de personas que trabajan en investigación y desarrollo por millón de habitantes y los gastos de los sectores público y privado en investigación y desarrollo.
    • Meta 9.c Aumentar significativamente el acceso a la tecnología de la información y las comunicaciones y esforzarse por proporcionar acceso universal y asequible a Internet en los países menos adelantados de aquí a 2020.
    • Meta 9.1 Desarrollar infraestructuras fiables, sostenibles, resilientes y de calidad, incluidas infraestructuras regionales y transfronterizas, para apoyar el desarrollo económico y el bienestar humano, haciendo especial hincapié en el acceso asequible y equitativo para todos.

1.2. Contexto y sentido de la asignatura en la titulación

Sistemas distribuidos es una asignatura que integra y amplía los conocimientos ya desarrollados en asignaturas previas, como "Redes de computadores", "Sistemas Operativos" y "Programación de Sistemas Concurrentes y Distribuidos". Además, supone un apoyo para asignaturas simultáneas y posteriores, como pueden ser "Ingeniería del Software", "Proyecto Software", "Administración de Sistemas II", "Ingeniería Web", "Sistemas y Tecnologías Web", "Comercio Electrónico" y "Sistemas de Información Distribuidos", entre otros.

1.3. Recomendaciones para cursar la asignatura

El adecuado aprovechamiento de esta asignatura se obtiene habiendo adquirido previamente un nivel de conocimientos equivalente al que se obtiene con las asignaturas de Redes de Computadores, Sistemas Operativos y Programación de Sistemas Concurrentes y Distribuidos.

2. Competencias y resultados de aprendizaje

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.

Planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.

Conocer y aplicar las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas.

Conocer y aplicar los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.

Resolver problemas y tomar decisiones con iniciativa, creatividad y razonamiento crítico.

Aprender de forma continuada y desarrollar estrategias de aprendizaje autónomo.

Aplicar las tecnologías de la información y las comunicaciones en la Ingeniería.

2.2. Resultados de aprendizaje

El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados...

Conoce los fundamentos básicos de sistemas distribuidos, servicios que se proveen y las tecnologías más relevantes, así como aspectos de implementación de aplicaciones basadas en ellas.

Conoce fundamentos básicos de la seguridad en los sistemas distribuidos.

2.3. Importancia de los resultados de aprendizaje

Los sistemas distribuidos suponen, en la actualidad, un aspecto fundamental en los sistemas informáticos diseñados, construidos y administrados en el mundo real.

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

El estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluacion

En la Escuela de Ingeniería y Arquitectura de Zaragoza y en la Escuela Universitaria Politécnica de Teruel:

La evaluación de la asignatura seguirá el procedimiento de evaluación global.

La prueba global de evaluación de la asignatura consta de dos partes:

  • Examen escrito en el que se deberán resolver problemas, responder preguntas conceptuales, o resolver algún ejercicio. Es necesario una calificación mínima de 5.0 puntos en el examen  escrito para aprobar la asignatura. La calificación obtenida en este examen pondera un 70% de la nota de la asignatura.
  • Trabajo práctico en el laboratorio. Se valorará que las soluciones aportadas se comporten según las especificaciones, la calidad de su diseño y el tiempo empleado. Es necesario una calificación mínima de 5.0 puntos en el trabajo práctico de laboratorio para aprobar la asignatura. La calificación obtenida pondera un 30% de la nota de la asignatura. Los alumnos que necesiten obtener la calificación mínima exigida o, simplemente, subir su nota en este apartado, podrán presentarse a un examen práctico global que se efectuará el mismo día que el examen escrito de teoría.

En caso de no alcanzar en alguna de las dos partes, de que consta la evaluación, una nota de 5.0 puntos, la calificación global en la asignatura será la mínima entre 4.0 y el resultado de ponderar con los porcentajes de cada parte.

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

  • El aprendizaje de conceptos y metodologías para el diseño de sistemas distribuidos.
  • La aplicación de dichos conocimientos en clase de problemas.
  • En las clases prácticas, el alumno implementará, en el laboratorio, diferentes aspectos de diseño implementación de sistemas distribuidos.

4.2. Actividades de aprendizaje

El programa que se ofrece al estudiante para ayudarle a lograr los resultados previstos comprende las siguientes actividades...

 

  • Desarrollo del temario de la asignatura en clases magistrales.
  • Resolución de problemas de aplicación de conceptos y técnicas presentadas en el programa de la asignatura durante las clases de problemas.
  • Desarrollo de sesiones prácticas para la aplicación,  en un sistema en funcionamiento real, de los temas estudiados en la asignatura.

4.3. Programa

Conceptos básicos :

  • Arquitecturas. Procesos e hilos. Comunicación entre procesos. Lenguajes de definición de interfaces. Modelo cliente-servidor. Estado y ordenación de eventos. Sincronización. Tiempo lógico. Comunicación de grupo.

Gestión de recursos :

  • Nombrado de recursos. Planificación. Virtualización. Migración. Exclusión mutua. Elección de líder. Bloqueos.

Tecnologías:

  • Sistemas de mensajes. Sistemas de ficheros. Sistemas de objetos. Sistemas web. Sistemas P2P.

 Tolerancia a fallos:

  • Consenso. Transacciones distribuidas. Replicación.

Seguridad:

  • Servicios de cifrado. Kerberos. Certificados digitales. Infraestructuras de clave pública.

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

Calendario de sesiones presenciales y presentación de trabajos

El calendario de la asignatura estará definido por el centro en el calendario académico del curso correspondiente.

Trabajo del estudiante

Para alcanzar los objetivos de aprendizaje de esta asignatura, los estudiantes deben dedicar unas 150 horas distribuidas del siguiente modo:

  • 56 horas aproximadamente, de actividades presenciales (clases teóricas, de problemas y prácticas en laboratorio).

  • 91 horas de estudio personal efectivo (estudio de apuntes y textos, resolución de problemas, preparación clases y prácticas, desarrollo de programas).

  • 3 horas de examen final escrito.

El calendario de exámenes y las fechas de entrega de trabajos se anunciará con suficiente antelación.