Nombre: SISTEMAS Y SERVICIOS DISTRIBUIDOS
Código: 505103002
Carácter: Obligatoria
ECTS: 6
Unidad Temporal: Cuatrimestral
Despliegue Temporal: Curso 3º - Primer cuatrimestre
Menciones/Especialidades:
Lengua en la que se imparte: Castellano
Carácter: Presencial
Nombre y apellidos: CANO BAÑOS, MARÍA DOLORES
Área de conocimiento: Ingeniería Telemática
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968325953
Correo electrónico: mdolores.cano@upct.es
Horario de atención y ubicación durante las tutorias:
Titulaciones:
Categoría profesional: Catedrática de Universidad
Nº de quinquenios: 4
Nº de sexenios: 3 de investigación
Curriculum Vitae: Perfil Completo
Nombre y apellidos: EGEA LÓPEZ, ESTEBAN
Área de conocimiento: Ingeniería Telemática
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968326553
Correo electrónico: esteban.egea@upct.es
Horario de atención y ubicación durante las tutorias:
martes - 10:00 / 13:00
ANTIGONES, planta 1, Despacho 22
jueves - 16:00 / 19:00
ANTIGONES, planta 1, Despacho 22
Titulaciones:
Doctor en Doctor en Telecomunicaciones en la Universidad Politécnica de Cartagena (ESPAÑA) - 2006
Máster en Master of Sciences in Electrical Engineering en la Universidades Extranjeras* (SUECIA) - 2001
Ingeniero en Ingeniero de Telecomunicación en la Universidad Politécnica de Valencia (ESPAÑA) - 2000
Categoría profesional: Profesor Titular de Universidad
Nº de quinquenios: 4
Nº de sexenios: 3 de investigación y 1 de transferencia
Curriculum Vitae: Perfil Completo
[CG3 ]. Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
[T2 ]. Capacidad para aplicar las técnicas en que se basan las redes, servicios y aplicaciones telemáticas, tales como sistemas de gestión, señalización y conmutación, encaminamiento y enrutamiento, seguridad (protocolos criptográficos, tunelado, cortafuegos, mecanismos de cobro, de autenticación y de protección de contenidos), ingeniería de tráfico (teoría de grafos, teoría de colas y teletráfico) tarificación y fiabilidad y calidad de servicio, tanto en entornos fijos, móviles, personales, locales o a gran distancia, con diferentes anchos de banda, incluyendo telefonía y datos
[T3 ]. Capacidad de construir, explotar y gestionar servicios telemáticos utilizando herramientas analíticas de planificación, de dimensionado y de análisis
[T4 ]. Capacidad de describir, programar, validar y optimizar protocolos e interfaces de comunicación en los diferentes niveles de una arquitectura de redes
[T5 ]. Capacidad de seguir el progreso tecnológico de transmisión, conmutación y proceso para mejorar las redes y servicios telemáticos
[T6 ]. Capacidad de diseñar arquitecturas de redes y servicios telemáticos
[T7 ]. Capacidad de programación de servicios y aplicaciones telemáticas, en red y distribuidas
Se recomienda haber cursado las asignaturas: Redes y servicios de telecomunicaciones y Fundamentos de Programación.
[TR4 ]. Utilizar con solvencia los recursos de información
[TR5 ]. Aplicar a la práctica los conocimientos adquiridos
Al finalizar el plan formativo, el estudiante debe ser capaz de:
Identificar un sistema distribuido, sus características, ventajas y desventajas y justificar, explicar y comparar las diferentes arquitecturas y modelos de este tipo de sistemas.
Diferenciar los conceptos de reloj físico y reloj lógico en un sistema distribuido y aplicar adecuadamente los algoritmos de sincronización de relojes físicos y lógicos según el sistema distribuido en uso.
Obtener el estado global de un sistema distribuido.
Utilizar el concepto de sincronización y exclusión en un sistema distribuido así como aplicar las diferentes técnicas de exclusión mutua.
Distinguir entre el concepto de datagrama UDP y flujo TCP y explicar el proceso de creación y utilización de sockets en una comunicación.
Evaluar el funcionamiento de una llamada a procedimiento remoto y/o invocación remota en función del sistema/servicio distribuido e implementarla adecuadamente.
Identificar una comunicación multicast, conocer sus características, clasificación y algoritmos básicos, comprender la necesidad de ordenación de mensajes y cómo determinar si la hay.
Identificar un sistema de archivos distribuido (y el servicio asociado) y determinar su funcionamiento general, seleccionando el protocolo de actualización de réplicas más adecuado según el tipo de sistema
Caracterizar un caso práctico de sistema de archivos (p.e., Network File System NFS), de servicio de nombres y de servicio de directorio.
Aplicar de forma práctica los conocimientos adquiridos (configuración de equipos, programación, etc.).
Conceptos de sistemas distribuidos. Comunicación entre procesos remotos. Sincronización, coordinación y acuerdo. Servicios distribuidos.
Bloque I.- Sistemas Distribuidos
1.1. Introducción a los Sistemas Distribuidos
1.2. Arquitecturas y modelos
1.3. Middleware
1.4. Sistemas operativos distribuidos y máquinas virtuales
Bloque II.- Comunicación entre procesos de un sistema distribuido
2.1. Sockets
2.2. Llamada a procedimiento remoto e invocación remota
2.3. Comunicación en grupo
Bloque III.- Sincronización, coordinación y acuerdo
3.1. Relojes y eventos. Sincronización en relojes físicos.
3.2. Tiempo lógico y relojes lógicos. Estados globales. Depuración distribuida.
3.3. Exclusión mutua distribuida. Elecciones. Consenso.
Bloque IV.- Servicios Distribuidos
4.1. Servicio de archivos distribuido. Caso de estudio.
4.3. Servicio de nombres. Caso de estudio.
4.5. Servicio de directorio. Caso de estudio.
Práctica.- Proyecto de programación de sistemas distribuidos.
Las prácticas se enfocan como un proyecto de prácticas en el cual el alumno, trabajando en grupo, deberá diseñar e implementar una aplicación distribuida que incluya algunas de las características estudiadas en clase de teoría. Previamente, el alumno habrá realizado entre 4 y 6 prácticas de introducción a las técnicas necesarias para desarrollar la aplicación.
La Universidad Politécnica de Cartagena considera como uno de sus principios básicos y objetivos fundamentales la promoción de la mejora continua de las condiciones de trabajo y estudio de toda la Comunidad Universitaria. Este compromiso con la prevención y las responsabilidades que se derivan atañe a todos los niveles que integran la Universidad: órganos de gobierno, equipo de dirección, personal docente e investigador, personal de administración y servicios y estudiantes. El Servicio de Prevención de Riesgos Laborales de la UPCT ha elaborado un "Manual de acogida al estudiante en materia de prevención de riesgos" que puedes encontrar en el Aula Virtual, y en el que encontraras instrucciones y recomendaciones acerca de cómo actuar de forma correcta, desde el punto de vista de la prevención (seguridad, ergonomía, etc.), cuando desarrolles cualquier tipo de actividad en la Universidad. También encontrarás recomendaciones sobre cómo proceder en caso de emergencia o que se produzca algún incidente. En especial, cuando realices prácticas docentes en laboratorios, talleres o trabajo de campo, debes seguir todas las instrucciones del profesorado, que es la persona responsable de tu seguridad y salud durante su realización. Consúltale todas las dudas que te surjan y no pongas en riesgo tu seguridad ni la de tus compañeros.
UNIT 1. Distributed Systems.
Introduction. Architectures and models. Middleware. Distributed Operating Systems and Virtual Machines.
UNIT 2. Communication among processes in distributed systems.
Sockets. Remote method invocation. Group communication.
UNIT 3. Synchronization, coordination, and agreement.
Clocks and events. Synchronization. Logic clocks. Global state. Distributed exclusion. Election. Consensus.
UNIT 4. Distributed Services.
Distributed file services. Name services. Directory services.
Se recomienda haber cursado las asignaturas: Redes y servicios de telecomunicaciones y Fundamentos de Programación.
Clase en aula convencional: teoría, problemas, casos prácticos, seminarios, etc
Clases expositivas con interacción con los estudiantes. Mediante esta actividad formativa el estudiante deberá desarrollar las siguientes habilidades de estudio que facilitan el proceso del aprendizaje:
- Atención: Habilidades de autocontrol, organización y gestión del tiempo
- Memoria a corto plazo: Repetición de la información y toma de apuntes
- Memoria a largo plazo: Toma de notas, generación de preguntas, confección de representaciones gráficas
- Recuperación y aplicación: Organización en esquemas, reglas nemotécnicas, diagramas, retroalimentación, análisis y pensamiento transversal
Estas clases también incluyen actividades de resolución de problemas de forma individual, resolución de problemas en grupo, búsqueda de información (individual o en grupo), discusiones, campeonatos entre grupos, test cortos, etc. Todas estas actividades se centran en aquellos conceptos que más dificultad presentan a los estudiantes que están cursando en ese momento la asignatura y que puede variar según los cursos. Todas estas actividades se desarrollan de forma semanal a lo largo del cuatrimestre, observando la realimentación de los estudiantes y adaptando las siguientes actividades a realizar.
28
100
Clase en laboratorio: prácticas
Se trabaja con los estudiantes en el laboratorio, planteándoles tareas prácticas de programación y configuración relacionadas con los sistemas y servicios distribuidos. Estas tareas se basan en el trabajo autónomo y cooperativo de los estudiantes, empleando metodología de aprendizaje basado en proyectos.
28
100
Clase en campo o aula abierta (visitas técnicas, conferencias, etc.). En general, actividades que requieren de unos recursos o de una planificación especiales
Asistencia a un seminario, conferencias, etc., con el objetivo de reforzar la aplicación práctica de los contenidos de la asignatura.
1
100
Clase en aula de informática: prácticas
No aplica. Las actividades prácticas son en laboratorio AF2.
0
100
Actividades de evaluación (sistema de evaluación continua)
Actividades de evaluación del sistema de evaluación continua: pruebas escritas (exámenes) y entrega de informes de proyecto de prácticas.
3
100
Actividades de evaluación (sistema de evaluación final)
Realización de pruebas de evaluación final.
3
100
Tutorías
Resolución de problemas, invidualmente o en grupo, en horario de tutorías del profesorado.
1
50
Trabajo del estudiante: estudio o realización de trabajos individuales o en grupo
Realización de ejercicios, problemas y casos sobre el contenido visto en la asignatura.
Trabajo individual o en grupo de estudio y comprensión del contenido visto en la asignatura.
116
0
Trabajo Final
Estos entregables incluyen diversos tipos de actividades que se desarrollarán de forma continua, semanalmente. Algunos se realizarán durante las clases y otros se realizarán de forma no presencial. Ejemplos de tipologías: resolución de problemas de forma individual, resolución de problemas en grupo, búsqueda de información (individual o en grupo), discusiones en clase, campeonatos entre grupos en clase y/o en casa, presentación de trabajos y/o test de contenidos limitados (una sección de un tema, un tipo de algoritmo en concreto, etc.), entre otros.
Se establece una nota mínima de 3 sobre 10 en esta actividad para superar la asignatura.
25 %
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
Examen que evaluará a través de preguntas breves y/o problemas y/o cuestiones tipo test los contenidos de la asignatura (excepto las prácticas de laboratorio).
Se establece una calificación mínima de 4 sobre 10 en esta actividad de evaluación para superar la asignatura.
45 %
Entregables de ejercicios y/o prácticas
Los alumnos realizarán dos tipos de entregas relacionadas con las prácticas de laboratorio:
- En primer lugar, entregarán breves informes de prácticas (con fecha límite de entrega una semana tras finalizar la sesión) o cumplimentarán breves cuestionarios (p.e. tipo test) que se realizarán antes y/o después de cada sesión (siguiendo las indicaciones temporales del profesor). El peso de estos cuestionarios (C) sobre el total de esta actividad es de un 5%.
- En segundo lugar, los alumnos realizarán un proyecto de programación en el que se ponen en práctica las habilidades adquiridas durante todas las sesiones de prácticas de laboratorio. De este proyecto deberán entregar un informe así como el código implementado siguiente las intrucciones proporcionadas por el profesor. El peso del proyecto de programación (PP) sobre el total de esta actividad es de un 95%.
Se establece una calificación mínima de 4 puntos sobre 10 para esta actividad de evaluación (C*0,05+PP*0,95>=4) para superar la asignatura.
30 %
Trabajo Final
Estos entregables incluyen diversos tipos de actividades que se desarrollarán de forma continua semanalmente. Algunos se realizarán durante las clases y otros se realizarán de forma no presencial. Ejemplos de tipologías: resolución de problemas de forma individual, resolución de problemas en grupo, búsqueda de información (individual o en grupo), discusiones en clase, campeonatos entre grupos en clase y/o en casa, presentación de trabajos y/o test de contenidos limitados (una sección de un tema, un tipo de algoritmo en concreto, etc.), entre otros.
EN CASO DE NO HABER ALCANZADO LA NOTA MÍNIMA DE ESTA ACTIVIDAD EN LA EVALUACIÓN CONTINUA, ESTA ACTIVIDAD SE IMPLEMENTA EN LA EVALUACION FINAL mediante la resolución de cuestiones/problemas/test adicionales a realizar el mismo dia de la evaluación final, con un peso del 25% en la nota de la "Evaluación Final". Se establece una nota mínima de 3 sobre 10 en esta actividad para superar la asignatura.
Un estudiante que ha superado una actividad de evaluación en el sistema de evaluación continua que desee presentarse a esa misma actividad en el sistema de evaluación final, deberá renunciar a la calificación correspondiente obtenida en el sistema de evaluación continua.
25 %
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
Examen que evaluará a través de preguntas breves y/o problemas y/o cuestiones tipo test los contenidos de la asignatura (excepto las prácticas de laboratorio). Se establece una calificación mínima de 4 sobre 10 en esta actividad de evaluación para superar la asignatura.
Un estudiante que ha superado una actividad de evaluación en el sistema de evaluación continua que desee presentarse a esa misma actividad en el sistema de evaluación final, deberá renunciar a la calificación correspondiente obtenida en el sistema de evaluación continua.
45 %
Entregables de ejercicios y/o prácticas
Los estudiantes realizarán un proyecto de programación en el que se ponen en práctica las habilidades adquiridas durante todas las sesiones de prácticas de laboratorio. De este proyecto deberán entregar un informe así como el código implementado siguiente las intrucciones proporcionadas por el profesor. En caso de no haber superado esta actividad en la evaluación continua, la fecha de entrega de este trabajo/proyecto será el mismo día de la evaluación final. Se establece una calificación mínima de 4 puntos sobre 10 para esta actividad de evaluación.
Un estudiante que ha superado una actividad de evaluación en el sistema de evaluación continua que desee presentarse a esa misma actividad en el sistema de evaluación final, deberá renunciar a la calificación correspondiente obtenida en el sistema de evaluación continua.
30 %
Comentarios adicionales sobre la Evaluación Continua. Para superar la asignatura en evaluación continua será necesario:
1) Obtener una calificación mínima de 3 sobre 10 en la actividad "Entrega de Trabajos", una calificación mínima de 4 sobre 10 en la actividad "Entregables de ejercicios y/o prácticas de laboratorio" y una calificación mínima de 4 sobre 10 en la actividad "Exámenes escritos y/u orales" y
2) Que la nota final en la asignatura sea igual o superior a 5 sobre 10.
Comentarios adicionales sobre la Evaluación Final:
- Se guardarán las calificaciones obtenidas en la evaluación continua que tengan una calificación igual o superior a los mínimos exigidos
- En caso de no haber alcanzado la calificación mínima exigida en la actividad "Entregables de ejercicios y/o prácticas de laboratorio" en la evaluación continua, el estudiante podrá entregar de nuevo el proyecto de prácticas con fecha límite el día en el que se desarrollen el resto de actividades de evaluación de este sistema, con un peso del 30% sobre la nota final de la "Evaluación Final"
- En caso de no haber alcanzado la calificación mínima exigida en la actividad "Entrega de Trabajos" en la evaluación continua, el estudiante resolverá cuestiones/problemas/test adicionales el mismo día de la prueba de evaluación final, con un peso del 25% en la nota final de la "Evaluación Final"
Para superar la asignatura en Evaluación Final será necesario:
1) Obtener una calificación mínima de 3 sobre 10 en la actividad "Entrega de Trabajos", una calificación mínima de 4 sobre 10 en la actividad "Entregables de ejercicios y/o prácticas de laboratorio" y una calificación mínima de 4 sobre 10 en la actividad "Exámenes escritos y/u orales" y
2) Que la nota final en la asignatura sea igual o superior a 5 sobre 10.
Autor: Cano Baños, María Dolores
Título: Sistemas de información distribuidos cuestiones y problemas
Editorial: Universidad Politécnica de Cartagena
Fecha Publicación: 2010
ISBN: 9788496997400
Autor: ,
Título: Distributed systems concepts and design
Editorial: Addison-Wesley,
Fecha Publicación: 2012
ISBN: 9780273760597
Autor: Tanenbaum, Andrew S.
Título: Distributed systems principles and paradigms
Editorial: Pearson Prentice Hall,
Fecha Publicación: 2006
ISBN: 9780132392273
Autor: Coulouris, George
Título: Sistemas distribuidos conceptos y diseño
Editorial: Addison Wesley
Fecha Publicación: 2001
ISBN: 8478290494
Autor: Coulouris, George
Título: Sistemas distribuidos
Editorial: Addison Wesley
Fecha Publicación: 2001
ISBN: 9788478291090
Autor: Albitz, Paul
Título: DNS and BIND
Editorial: O'Reilly
Fecha Publicación: 2001
ISBN: 0596001584
Autor: Calvert, Kenneth L.
Título: TCP/IP Sockets in Java practical guide for programmers
Editorial: Elsevier,
Fecha Publicación: 2008
ISBN: 9780123742551
Autor: Stern, Hal
Título: Managing NFS and NIS
Editorial: O'Reilly
Fecha Publicación: 2001
ISBN: 1565925106
Autor: Donahoo, Michael J.
Título: TCP/IP sockets in C practical guide for programmers
Editorial: Elsevier,
Fecha Publicación: 2009
ISBN: 9780123745408
Autor: Tanenbaum, Andrew S.
Título: Sistemas operativos distribuidos
Editorial: Prentice Hall
Fecha Publicación: 1996
ISBN: 9688806277
Aula virtual de la asignatura accesible para todos los alumnos matriculados.