Guías Docentes Electrónicas
1. DATOS GENERALES
Asignatura:
SISTEMAS DISTRIBUIDOS
Código:
42322
Tipología:
OBLIGATORIA
Créditos ECTS:
6
Grado:
346 - GRADO EN INGENIERÍA INFORMÁTICA (AB)
Curso académico:
2018-19
Centro:
604 - E.S. DE INGENIERIA INFORMATICA ALBACETE
Grupo(s):
10  11 
Curso:
3
Duración:
Primer cuatrimestre
Lengua principal de impartición:
Español
Segunda lengua:
Uso docente de otras lenguas:
English Friendly:
N
Página web:
https://campusvirtual.uclm.es/course/view.php?id=11195
Bilingüe:
N
Profesor: MARIA EMILIA CAMBRONERO PIQUERAS - Grupo(s): 10  11 
Edificio/Despacho
Departamento
Teléfono
Correo electrónico
Horario de tutoría
ESII / 0.A.13
SISTEMAS INFORMÁTICOS
2036
memilia.cambronero@uclm.es

Profesor: VALENTIN VALERO RUIZ - Grupo(s): 10  11 
Edificio/Despacho
Departamento
Teléfono
Correo electrónico
Horario de tutoría
ESII / 1.A.14
SISTEMAS INFORMÁTICOS
2499
valentin.valero@uclm.es

2. REQUISITOS PREVIOS

Se recomienda encarecidamente haber superado las asignaturas de:

       * Redes de Computadores I y II
       * Fundamentos de programación I y II (lenguajes de programación java y C)
       * Sistemas Operativos I
       * Programación concurrente y tiempo real

  Utilizaremos estos lenguajes y herramientas asumiendo su conocimiento por parte del estudiante.

3. JUSTIFICACIÓN EN EL PLAN DE ESTUDIOS, RELACIÓN CON OTRAS ASIGNATURAS Y CON LA PROFESIÓN

Esta asignatura forma parte de la materia de sistemas operativos, sistemas distribuidos y redes, que permiten formar a los alumnos en los conceptos relacionados con el desarrollo de sistemas en los cuales la red es una infraestructura crítica. Es por ello que esta asignatura está estrechamente relacionada con la programación concurrente y las tecnologías de las comunicaciones (redes). Elegimos Java como lenguaje de programación para este tipo de aplicaciones por su evidente uso extendido a nivel académico y empresarial, así como por la cantidad de herramientas disponibles para la realización de aplicaciones distribuidas en dicho lenguaje. Así, el alumno aprenderá los fundamentos básicos de programación de cliente/servidor en Java bajo los protocolos UDP/TCP, y progresivamente, desde este nivel más primitivo le iremos facilitando herramientas de más alto nivel, que le permiten automatizar una gran cantidad de operaciones a nivel de sistema, lo que le permite centrarse en la lógica de negocio de las aplicaciones, más que en la complejidad inherente al desarrollo de este tipo de aplicaciones.  Así, mostraremos los paradigmas RCP/RMI y la tecnología de componentes, una panorámica del tipo de aplicaciones y sistemas distribuidos modernos (Clustering, Grid, Cloud, P2P, blockchain), sin olvidar los fundamentos teóricos que sustentan el desarrollo de este tipo de aplicaciones (técnicas de sincronización física y lógica, bloqueos mutuos distribuidos, elecciones, transacciones y control de concurrencia, etc).

La asignatura de sistemas distribuidos dota por tanto a los futuros graduados en Ingeniería Informática de las competencias necesarias para el análisis, diseño, construcción y mantenimiento de aplicaciones distribuidas.

En el desempeño de su profesión, en función de su especialización, el alumno dispondrá del bagaje mínimo necesario para abordar con éxito el desarrollo de aplicaciones distribuidas dentro de los marcos de programación actuales en TIC, basados en la interoperabilidad y estandarización.


4. COMPETENCIAS DE LA TITULACIÓN QUE LA ASIGNATURA CONTRIBUYE A ALCANZAR
Competencias propias de la asignatura
Código Descripción
CO10 Conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos y diseñar e implementar aplicaciones basadas en sus servicios.
CO11 Conocimiento y aplicación de 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.
CO14 Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
CO8 Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
INS4 Capacidad de resolución de problemas aplicando técnicas de ingeniería.
INS5 Capacidad para argumentar y justificar lógicamente las decisiones tomadas y las opiniones.
PER1 Capacidad de trabajo en equipo.
PER5 Reconocimiento a la diversidad, la igualdad y la multiculturalidad.
5. OBJETIVOS O RESULTADOS DE APRENDIZAJE ESPERADOS
Resultados de aprendizaje propios de la asignatura
Descripción
Aplicar las técnicas de comunicación de procesos y grupos de procesos distribuidos.
Entender y manejar los conceptos básicos de los sistemas distribuidos y de programar aplicaciones en estos entornos.
Programar en entornos de red aplicaciones que sigan el modelo cliente/servidor.
Resultados adicionales
No se han establecido.
6. TEMARIO
  • Tema 1: Introducción
    • Tema 1.1: Nociones básicas
    • Tema 1.2: Arquitectura de sistemas distribuidos
    • Tema 1.3: Middleware
  • Tema 2: Comunicación entre procesos distribuidos
    • Tema 2.1: Primitivas básicas de comunicación
    • Tema 2.2: Comunicación por UDP y TCP en Java
    • Tema 2.3: Marshalling
    • Tema 2.4: Comunicación de grupos
  • Tema 3: Objetos distribuidos e invocación remota
    • Tema 3.1: Invocación remota
    • Tema 3.2: Comunicación entre objetos distribuidos
    • Tema 3.3: Llamada de procedimiento remoto
  • Tema 4: Tecnologías Distribuidas Modernas
    • Tema 4.1: Clustering
    • Tema 4.2: Tecnologías Grid y Cloud (virtualización)
    • Tema 4.3: Servicios Web
    • Tema 4.4: Redes P2P
    • Tema 4.5: Tecnología blockchain
  • Tema 5: Sincronización en Sistemas Distribuidos
    • Tema 5.1: Relojes físicos y lógicos
    • Tema 5.2: Estados globales
    • Tema 5.3: Exclusión mutua distribuida
    • Tema 5.4: Elecciones
  • Tema 6: Transacciones y control de concurrencia
    • Tema 6.1: Transacciones
    • Tema 6.2: Control de concurrencia en transacciones
    • Tema 6.3: Control optimista de concurrencia
    • Tema 6.4: Ordenación por marcas de tiempo
    • Tema 6.5: Recuperación de transacciones
COMENTARIOS ADICIONALES SOBRE EL TEMARIO

Esta programación puede ser modificada ligeramente a lo largo del desarrollo del curso, en función del desarrollo de sus contenidos.


7. ACTIVIDADES O BLOQUES DE ACTIVIDAD Y METODOLOGÍA
Actividad formativa Metodología Competencias relacionadas (para títulos anteriores a RD 822/2021) ECTS Horas Ev Ob Rec Descripción *
Enseñanza presencial (Teoría) [PRESENCIAL] Método expositivo/Lección magistral CO11 1 25 S S N Clases de teoría en aula.
Otra actividad presencial [PRESENCIAL] Estudio de casos INS4 0.4 10 S S N Resolución de ejercicios y problemas relacionados con la teoría impartida. Se realizan en el aula.
Prácticas en aulas de ordenadores [PRESENCIAL] Prácticas INS4 0.2 5 S S S Colección de prácticas individualizadas en el laboratorio, destinadas a adquirir los conocimientos necesarios para el desarrollo de aplicaciones distribuidas
Prácticas de laboratorio [PRESENCIAL] Trabajo en grupo PER1 0.4 10 S S S Realización de prácticas en grupos de 2-3 alumnos, donde se desarrollan aplicaciones distribuidas, y cada uno desarrolla una componente de las mismas.
Prácticas en aulas de ordenadores [PRESENCIAL] Prácticas CO10 0.2 5 S S S Realización de aplicaciones prácticas para el empleo de servicios de sistemas operativos.
Elaboración de memorias de Prácticas [AUTÓNOMA] Trabajo dirigido o tutorizado INS5 0.8 20 S S S Elaboración de una memoria tras la realización de cada práctica. La memoria se entregará en las fechas indicadas por el profesor. En el caso de las prácticas colaborativas, la memoria será conjunta, y debe indicar claramente la aportación de cada miembro.
Pruebas de progreso [PRESENCIAL] Pruebas de evaluación CO11 0.1 2.5 S S S Pruebas de conocimientos.
Otra actividad no presencial [AUTÓNOMA] Aprendizaje basado en problemas (ABP) CO8 0.8 20 S S S Terminación de las prácticas de forma autónoma o colaborativa, según el tipo de práctica.
Otra actividad no presencial [AUTÓNOMA] Autoaprendizaje CO14 0.6 15 S S N Ejercicios de teoría para desarrollar de forma autónoma.
Estudio o preparación de pruebas [AUTÓNOMA] Combinación de métodos CO11 1.42 35.5 S S N Estudio autónomo para la preparación de las pruebas.
Otra actividad no presencial [AUTÓNOMA] Autoaprendizaje PER5 0.08 2 N N N El estudiante trabajará sobre el impacto de las TIC en las personas con discapacidad.
Total: 6 150
Créditos totales de trabajo presencial: 2.3 Horas totales de trabajo presencial: 57.5
Créditos totales de trabajo autónomo: 3.7 Horas totales de trabajo autónomo: 92.5

Ev: Actividad formativa evaluable
Ob: Actividad formativa de superación obligatoria
Rec: Actividad formativa recuperable

8. CRITERIOS DE EVALUACIÓN Y VALORACIONES
  Valoraciones  
Sistema de evaluación Estudiante presencial Estud. semipres. Descripción
Prueba final 55.00% 0.00% Prueba global de conocimientos teóricos de la asignatura. Es una actividad obligatoria, que debe superarse para poder aprobar la asignatura. Esta prueba, junto a otras actividades evaluables que pudieran complementarla podrían ser realizadas, excepcionalmente, en horario de tarde.
Elaboración de memorias de prácticas 20.00% 0.00% Memorias de prácticas que deben entregarse en los plazos establecidos, adecuadamente documentadas. Es una actividad obligatoria, que debe superarse para poder aprobar la asignatura. Se guardan las notas de las entregas de prácticas que hayan sido aprobadas para la convocatoria extraordinaria o de finalización de estudios, el resto tendrán que ser aprobadas en dichas convocatorias.
Valoración de la participación con aprovechamiento en clase 15.00% 0.00% Valoración del profesor del trabajo individualizado y en equipo del estudiante en el laboratorio. Para poder realizar dicha supervisión el estudiante tiene obligación de asistir con regularidad a las sesiones de laboratorio. En caso de no asistencia reiterada su valoración no será posible y supondrá un suspenso en este apartado, dado que se trata de enseñanzas presenciales. Es una actividad recuperable en convocatoria extraordinaria o de finalización de estudios por medio de una prueba práctica en el laboratorio. Los grupos de prácticas se planificarán preferiblemente en horario de mañana, pero por necesidades de horario es posible que se abran grupos de prácticas en horario de tarde.
Prueba 10.00% 0.00% Presentación del trabajo realizado en prácticas al profesor, tanto el trabajo individualizado como en equipo. Esta prueba podría realizarse, excepcionalmente, en horario de tarde.
Total: 100.00% 0.00%  

Criterios de evaluación de la convocatoria ordinaria:
La calificación de la asignatura requiere:

1.- Que el estudiante haya entregado y superado todas las memorias de prácticas. La nota de prácticas será el promedio de todas ellas: INF.
2.- Que el estudiante se haya presentado y haya superado la prueba global de conocimientos de la asignatura: ESC.
3.- Que la valoración de la participación con aprovechamiento en clase de laboratorio haya sido superada: LAB.
4.- Que la valoración de la prueba oral de presentación del trabajo realizado en prácticas haya sido superada: PRES.

La nota final será, una vez superadas dichas pruebas, la siguiente:

NOTA = 0,55*ESC + 0,20*INF + 0,15*LAB + 0,10*PRES

El alumno que no supere todas las pruebas mínimas exigidas en la asignatura tendrá una nota no superior a 4.00, incluso si la media obtenida fuera otra, incluida más de 5.00.
Particularidades de la convocatoria extraordinaria:
Se guardan las partes aprobadas de la convocatoria ordinaria, de modo que sólo debe superar las partes no aprobadas.

En particular, en lo que se refiere a las entregas de prácticas, el estudiante tendrá que completar las entregas de prácticas no superadas, y en su caso, repetir la presentación oral de las mismas.

Para los alumnos que no hayan superado la valoración de la participación con aprovechamiento en clase se establecerá una prueba en el laboratorio para reevaluar la misma, siempre que hayan asistido a un mínimo de sesiones de prácticas durante el curso, a definir por el profesor.

Para los alumnos que no hayan superado la prueba de presentación oral de los trabajos realizados, se establecerá una fecha de presentación de los mismos para su evaluación en esta convocatoria extraordinaria.
Particularidades de la convocatoria especial de finalización:
Se guarda la teoría o las prácticas (como un todo) en caso de haber sido aprobadas en el curso académico inmediatamente anterior. En el caso de las prácticas comprende las entregas, participación con aprovechamiento y presentación oral de las mismas, que han debido ser todas ellas aprobadas, obteniéndose así la nota ponderada de prácticas.
En otro caso, habrá que realizar una prueba práctica, siendo la ponderación: Teoría (55%), Prácticas (45%).
9. SECUENCIA DE TRABAJO, CALENDARIO, HITOS IMPORTANTES E INVERSIÓN TEMPORAL
No asignables a temas
Horas Suma horas

Tema 1 (de 6): Introducción
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 4
Estudio o preparación de pruebas [AUTÓNOMA][Combinación de métodos] 1
Otra actividad no presencial [AUTÓNOMA][Autoaprendizaje] 2
Periodo temporal: Primera semana

Tema 2 (de 6): Comunicación entre procesos distribuidos
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 6
Otra actividad presencial [PRESENCIAL][Estudio de casos] 2
Otra actividad no presencial [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] 2
Otra actividad no presencial [AUTÓNOMA][Autoaprendizaje] 2
Estudio o preparación de pruebas [AUTÓNOMA][Combinación de métodos] 4
Periodo temporal: Hasta la segunda semana

Tema 3 (de 6): Objetos distribuidos e invocación remota
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 2
Otra actividad presencial [PRESENCIAL][Estudio de casos] 2
Prácticas en aulas de ordenadores [PRESENCIAL][Prácticas] 2
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 2
Elaboración de memorias de Prácticas [AUTÓNOMA][Trabajo dirigido o tutorizado] 2
Otra actividad no presencial [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] 3
Otra actividad no presencial [AUTÓNOMA][Autoaprendizaje] 3
Estudio o preparación de pruebas [AUTÓNOMA][Combinación de métodos] 6.5
Periodo temporal: Hasta cuarta semana

Tema 4 (de 6): Tecnologías Distribuidas Modernas
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 4
Otra actividad presencial [PRESENCIAL][Estudio de casos] 2
Prácticas en aulas de ordenadores [PRESENCIAL][Prácticas] 3
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 3
Elaboración de memorias de Prácticas [AUTÓNOMA][Trabajo dirigido o tutorizado] 5
Otra actividad no presencial [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] 6
Otra actividad no presencial [AUTÓNOMA][Autoaprendizaje] 5
Estudio o preparación de pruebas [AUTÓNOMA][Combinación de métodos] 9
Periodo temporal: Hasta semana séptima

Tema 5 (de 6): Sincronización en Sistemas Distribuidos
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 4
Otra actividad presencial [PRESENCIAL][Estudio de casos] 2
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 6
Elaboración de memorias de Prácticas [AUTÓNOMA][Trabajo dirigido o tutorizado] 6
Otra actividad no presencial [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] 4
Otra actividad no presencial [AUTÓNOMA][Autoaprendizaje] 3
Estudio o preparación de pruebas [AUTÓNOMA][Combinación de métodos] 6
Periodo temporal: Hasta semana décima

Tema 6 (de 6): Transacciones y control de concurrencia
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 5
Otra actividad presencial [PRESENCIAL][Estudio de casos] 2
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 4
Elaboración de memorias de Prácticas [AUTÓNOMA][Trabajo dirigido o tutorizado] 7
Pruebas de progreso [PRESENCIAL][Pruebas de evaluación] 2.5
Otra actividad no presencial [AUTÓNOMA][Aprendizaje basado en problemas (ABP)] 5
Otra actividad no presencial [AUTÓNOMA][Autoaprendizaje] 2
Estudio o preparación de pruebas [AUTÓNOMA][Combinación de métodos] 9
Periodo temporal: Hasta fin cuatrimestre (semana 13ª )

Actividad global
Actividades formativas Suma horas
Comentarios generales sobre la planificación: Esta planificación es ORIENTATIVA, pudiendo variar a lo largo del periodo lectivo en función de las necesidades docentes, festividades, o por cualquier otra causa imprevista. La planificación semanal de la asignatura podrá encontrarse de forma detallada y actualizada en la plataforma Campus Virtual (Moodle). Las clases se estructuran en 3 sesiones de 1.5 horas por semana.
10. BIBLIOGRAFÍA, RECURSOS
Autor/es Título Libro/Revista Población Editorial ISBN Año Descripción Enlace Web Catálogo biblioteca
Java introduction http://java.sun.com/new2java/  
Java API http://java.sun.com/javase/6/docs/api/index.html  
java remote invocation http://java.sun.com/javase/technologies/core/basic/rmi/whitepaper/index.jsp  
A. Silberschatz, P. Galvin, G. Gagne Operating System Concepts, 9th edition John Wiley & Sons 2012  
Ajay D. Kshemkalyani Distributed Computing: Principles, Algorithms and Systems Cambridge University Press 2011  
Auna fundación, Ministerio de trabajo y asuntos sociales. LAS PERSONAS CON DISCAPACIDAD FRENTE A LAS TECNOLOGÍAS DE LA INFORMACIIÓN Y LAS COMUNICACIONES EN EPAÑA http://www.cermi.es/es-ES/Biblioteca/Lists/Publicaciones/Attachments/36/Estudio20DiscapacidadTICFundAuna.pdf  
BIBLIOGRAFÍA G. Coulouris, J. Dollimore, T. Kindberg Distributed Systems. Concepts and Design Addison-Wesley, 5ª ed. 2012  
D.L. Galli Distributed Operating Systems, Concepts and Practice Prentice-Hall 2000  
E. Pitt, K. McNiff Java.rmi: The Remote Method Invocation Guide Addison-Wesley 2001  
Ed. Roman, Rima P.Sriganesh, Gerald Brose Mastering Enterprise Java Beans, Third Edition. Wiley 2005  
G. Nutt Operating Systems: A Modern Perspective Addison-Wesley 2004  
J. Crichlow The Essence of Distributed Systems Prentice-Hall 2000  
Richard John Anthony Systems Programming. Designing and Developing Distributed Applications Morgan Kaufmann Publishers (Elsevier) 2016  
Tanembaum y Van Steen Distributed Systems: Principles and Paradigms 2/E Pearson 2007  



Web mantenido y actualizado por el Servicio de informática