Guias Docentes

  GUÍA DOCENTE DE LA ASIGNATURA: SISTEMAS DISTRIBUIDOS    
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: 2017-18
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: No
Página Web: https://campusvirtual.uclm.es/course/view.php?id=11195
Nombre del profesor: MARIA EMILIA CAMBRONERO PIQUERAS - Grupo(s) impartido(s): 10 11
 
Despacho Departamento Teléfono Correo electrónico Horario de tutoría
ESII / 0.A.13 SISTEMAS INFORMÁTICOS 2036 memilia.cambronero@uclm.es Consultar:
http://esiiab.uclm.es/tutorias.php
Nombre del profesor: VALENTIN VALERO RUIZ - Grupo(s) impartido(s): 10 11
 
Despacho Departamento Teléfono Correo electrónico Horario de tutoría
1.A.14 SISTEMAS INFORMÁTICOS 2499 valentin.valero@uclm.es Consultar:
http://esiiab.uclm.es/tutorias.php
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

 

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), 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
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 propios de la asignatura
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.
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.
6. Temario / Contenidos
 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  Computación móvil y ubícua
 Tema 4.5  Redes P2P
 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 ECTS Horas Ev Ob Rec Descripción
Enseñanza presencial (Teoría) [PRESENCIAL] Método expositivo/Lección magistral CO11 1.00 25.00 Clases de teoría en aula.
Otra actividad presencial [PRESENCIAL] Estudio de casos INS4 0.40 10.00 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.20 5.00 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.40 10.00 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.20 5.00 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.80 20.00 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.10 2.50 Pruebas de conocimientos.
Otra actividad no presencial [AUTÓNOMA] Aprendizaje basado en problemas (ABP) CO8 0.80 20.00 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.60 15.00 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.50 Estudio autónomo para la preparación de las pruebas.
Otra actividad no presencial [AUTÓNOMA] Autoaprendizaje PER5 0.08 2.00 No - - El estudiante trabajará sobre el impacto de las TIC en las personas con discapacidad.
Total: 6.00 150.00  
Créditos totales de trabajo presencial: 2.30 Horas totales de trabajo presencial: 57.50
Créditos totales de trabajo autónomo: 3.70 Horas totales de trabajo autónomo: 92.50
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 Estud. pres. 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.
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.
Prueba 10.00% 0.00% Presentación del trabajo realizado en prácticas al profesor, tanto el trabajo individualizado como en equipo.
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: PRAC.
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: ORA

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

NOTA = 0,55*ESC + 0,20*PRAC + 0,15*LAB + 0,10*ORA

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
Tema 1 (de 6): Introducción
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (25 h tot.) 4
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] (35.5 h tot.) 1
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] (2 h tot.) 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] (25 h tot.) 6
Otra actividad presencial [PRESENCIAL] [Estudio de casos] (10 h tot.) 2
Otra actividad no presencial [AUTÓNOMA] [Aprendizaje basado en problemas (ABP)] (20 h tot.) 2
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] (15 h tot.) 2
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] (35.5 h tot.) 4
Periodo temporal: Dos semanas
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] (25 h tot.) 2
Otra actividad presencial [PRESENCIAL] [Estudio de casos] (10 h tot.) 2
Prácticas en aulas de ordenadores [PRESENCIAL] [Prácticas] (5 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (10 h tot.) 2
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo dirigido o tutorizado] (20 h tot.) 2
Otra actividad no presencial [AUTÓNOMA] [Aprendizaje basado en problemas (ABP)] (20 h tot.) 3
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] (15 h tot.) 3
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] (35.5 h tot.) 6.5
Periodo temporal: Dos semanas
Tema 4 (de 6): Tecnologías Distribuidas Modernas
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (25 h tot.) 4
Otra actividad presencial [PRESENCIAL] [Estudio de casos] (10 h tot.) 2
Prácticas en aulas de ordenadores [PRESENCIAL] [Prácticas] (5 h tot.) 3
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (10 h tot.) 3
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo dirigido o tutorizado] (20 h tot.) 5
Otra actividad no presencial [AUTÓNOMA] [Aprendizaje basado en problemas (ABP)] (20 h tot.) 6
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] (15 h tot.) 5
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] (35.5 h tot.) 9
Periodo temporal: Tres semanas
Tema 5 (de 6): Sincronización en Sistemas Distribuidos
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (25 h tot.) 4
Otra actividad presencial [PRESENCIAL] [Estudio de casos] (10 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (10 h tot.) 6
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo dirigido o tutorizado] (20 h tot.) 6
Otra actividad no presencial [AUTÓNOMA] [Aprendizaje basado en problemas (ABP)] (20 h tot.) 4
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] (15 h tot.) 3
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] (35.5 h tot.) 6
Periodo temporal: Tres semanas
Tema 6 (de 6): Transacciones y control de concurrencia
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (25 h tot.) 5
Otra actividad presencial [PRESENCIAL] [Estudio de casos] (10 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (10 h tot.) 4
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo dirigido o tutorizado] (20 h tot.) 7
Pruebas de progreso [PRESENCIAL] [Pruebas de evaluación] (2.5 h tot.) 2.5
Otra actividad no presencial [AUTÓNOMA] [Aprendizaje basado en problemas (ABP)] (20 h tot.) 5
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] (15 h tot.) 2
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] (35.5 h tot.) 9
Periodo temporal: Cuatro semanas
Actividad global
Actividades formativas Suma horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] 25
Otra actividad presencial [PRESENCIAL] [Estudio de casos] 10
Prácticas en aulas de ordenadores [PRESENCIAL] [Prácticas] 5
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] 15
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo dirigido o tutorizado] 20
Pruebas de progreso [PRESENCIAL] [Pruebas de evaluación] 2.5
Otra actividad no presencial [AUTÓNOMA] [Aprendizaje basado en problemas (ABP)] 20
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] 15
Estudio o preparación de pruebas [AUTÓNOMA] [Combinación de métodos] 35.5
Otra actividad no presencial [AUTÓNOMA] [Autoaprendizaje] 2
Total horas: 150
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)
10. Bibliografía, recursos
Autor/es Título Editorial Población ISBN Año Descripción Enlace Web Catálogo biblioteca
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  
Java API http://java.sun.com/javase/6/docs/api/index.html  
Java introduction http://java.sun.com/new2java/  
java remote invocation http://java.sun.com/javase/technologies/core/basic/rmi/whitepaper/index.jsp  

Web mantenido y actualizado por el Servicio de Informática.