Internet de las Cosas y Computación en la Nube

Información Básica

  • Créditos: 3
  • Horas de trabajo acompañado: 5 / semana (3 horas clase, 2 horas taller)
  • Horas de trabajo independiente: 4 / semana
  • Pre-requisitos: Sistemas Operativos, Comunicación de Datos
  • Tipo de curso: Énfasis

Descripción del Curso

Este curso presenta los conceptos fundamentales del Internet de las Cosas (Internet of Things, IoT) y de la Computación en la Nube (Cloud Computing). Los estudiantes podrán desarrollar aplicaciones de extremo a extremo, lo cual abarca desde la adquisición de los datos en campo usando plataformas de cómputo embebido hasta la visualización de los resultados en smartphones. Para ello es necesario utilizar sensores, sistemas embebidos, protocolos de comunicaciones y computación en la nube.

Objetivos

Al finalizar el curso los participantes podrán:

  1. Comprender los conceptos de IoT y Cloud Computing, desde la perspectiva de su aplicación.
  2. Explorar las tecnologías alrededor de IoT y Cloud Computing, sus estándares, arquitecturas, servicios, regulaciones, ventajas y desventajas.
  3. Entender cómo se desarrollan e implementan soluciones y aplicaciones con tecnologías de IoT y Cloud Computing.
  4. Aplicar los conceptos vistos en clase para el desarrollo de una solución que integre sistemas de IoT con plataformas de Cloud Computing.

Se desarrollan competencias en

  1. Plataformas embebidas
  2. Procesamiento en la nube
  3. Aplicación de conocimiento de ciencias de la computación
  4. Interpretación y análisis de información

Contenido

Capítulo 1: Internet de las Cosas

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
1 3 Introducción: ¿Qué es IoT y el Internet de las Cosas?; Arquitectura de IoT y tecnologías de base; Características deseables de una arquitectura distribuida para un sistema de Cosas; Oportunidades para IoT; Verticales que proporcionan una oportunidad y un caso de negocios claro Familiaridad [1, 2, 3]
2,3 3 2 Formulación de una arquitectura que posibilita una vista macro de los sistemas, un paradigma de diseño asequible y un conjunto de interfaces que pueden estandarizarse; Diseño de sistemas IoT (principios de diseño para dispositivos conectados, prototipado de sistemas embebidos y prototipado de componentes en línea); Empleando sensores para obtener una mayor visibilidad y una comprensión de la situación con bajas latencias Evaluación [1, 2, 3]
4,5 3 2 Consistencia de los datos en un entorno conectado de manera intermitente o desconectado; Identificando datos espurios y anomalías; Tres dimensiones clave: ciclo de trabajo y tasa de datos de la aplicación, consumo de energía y rango de comunicaciones Evaluación [1, 2, 3]
6,7 3 2 Ingesta de datos y mecanismos de streaming; Manejando datos a tasas altas Uso [1, 2, 3]
8,9 3 2 Procesando flujos de datos; Mecanismos para actuar a partir de los datos recolectados controlando así el mundo real Uso [1, 2, 3]
10,11 3 2 Estándares emergentes para IoT; Tecnologías emergentes para enfrentar los retos de IoT Familiaridad [1, 2, 3]
12,13 3 2 Aspectos de seguridad: * Un paradigma de seguridad que considera el montaje, el mantenimiento y la actualización * Importancia de la seguridad, la privacidad y la autenticidad Familiaridad [1, 2, 3]

Total de Horas: 21/12

Sesión Horas de trabajo independiente Temas Bibliografía
1-3 4 Elaborar presentación y bosquejo de idea de proyecto. Búsqueda de artículos relacionados al proyecto. Tutoriales básicos de Raspberry Pi. [1, 2, 3]
4-6 16 Especificación de la arquitectura del sistema. [1, 2, 3]
7 4 Diseño de la aplicación en la plataforma embebida del sistema. [1, 2, 3]
8-11 6 Implementación de la aplicación en la plataforma embebida sistema. [1, 2, 3]
12,13 4 Repaso del tema y preparación del examen parcial. [1, 2, 3]

Total de Horas: 34

Capítulo 2: Computación en la Nube

Sesión Horas teóricas Prácticas acompañadas Temas Profundidad Bibliografía
14,15 3 Panorama general de la Computación en la Nube: * Historia de la computación centralizada y distribuida * Definición y características (elasticidad, multi-tenant, por demanda, acceso ubicuo, medición de uso, auto servicio, monitoreo del acuerdo de nivel de servicio, etc.) Familiaridad [5, 6, 7, 8]
16,17 3 Evolución de los enfoques de migración de infraestructura; Proveedores de Tecnología vs. Proveedores de Nube vs. Vendedores de Nube; Impulsores de la Nube Empresarial y tendencias de adopción Familiaridad [5, 6, 7, 8]
18,19 3 2 Principios, componentes, servicios y virtualización; Servicios (monitoreo y gestión, servidores de aplicación, mensajería, gestión de datos, desarrollo y pruebas, integración, inteligencia de negocio, etc.) Uso [5, 6, 7, 8]
20,21 3 2 Modelos de despliegue en la Nube: * Infrastructure as a Service (IaaS) * Platform as a Service (PaaS) * Software as a Service (SaaS)* Business Process as a Service (BPaaS); Modelos/Tipos de servicio en la Nube (público, privado, híbrido, y comunitario) Evaluación [5, 6, 7, 8]
22,23 3 2 Cargas de trabajo típicas de la Nube Empresarial; Recursos en la Nube; Servicios de infraestructura en la Nube (almacenamiento, cómputo, gestión de servicios, agentes de nube, etc.) Evaluación [5, 6, 7, 8]
24,25 3 2 Panorama general de desarrollo de aplicaciones en la Nube. Estándares de seguridad, modelos de seguridad y patrones relacionados; Comando y Control Uso [5, 6, 7, 8]
26,27 3 2 Arquitecturas de referencia de Nube; Estándares de Nube (OSDI APIs, etc.) Uso [5, 6, 7, 8]
28,29 3 2 Confiabilidad de Nube y tolerancia a fallos (Virtualización adaptativa, Computación en la Nube y aprovisionamiento de recursos por demanda) Uso [5, 6, 7, 8]
30,31 3 2 Desafíos de la seguridad en la Nube, privacidad, políticas y conformidad; Enfoques de seguridad en la Nube: cifrado, tokenization / obfuscation Familiaridad [5, 6, 7, 8]
32 3 2 Panorama general del cómputo de altas prestaciones en la Nube Uso [5, 6, 7, 8]

Total de Horas: 30/16

Sesión Horas de trabajo independiente Temas Bibliografía
14-17 8 Tutoriales básicos de Nube [5, 6, 7, 8]
18-21 4 Diseño de la aplicación en la Nube. [5, 6, 7, 8]
22-25 4 Implementación de la aplicación en la Nube. [5, 6, 7, 8]
26-29 4 Implementación de la aplicación de visualización. [5, 6, 7, 8]
30-32 9 Integración de la plataforma embebida y la aplicación en la Nube. [5, 6, 7, 8]

Total de Horas: 29

Uso de material en exámenes

No está permitido.

Asistencia

Obligatoria.

Bibliografía

  1. The Internet of Things. Samuel Greengard. MIT Press. 2015.
  2. Internet of Things: A Hands-on Approach. Arshdeep Bahga, Vijay Madisetti. Universities Press, 2015.
  3. Learning Internet of Things. Peter Waher. Packt Publishing. 2015.
  4. Designing Connected Products: UX for the Consumer Internet of Things. Claire Rowland, Elizabeth Goodman, Martin Charlier, Ann Lightand Alfred Lui. O’Reilly Media. 2015.
  5. Cloud Computing: Concepts, Technology & Architecture. Thomas Erl, Ricardo Puttini and Zaigham Mahmood. Prentice Hall. 1 edition. 2013.
  6. Cloud Computing: A Hands-on Approach. Arshdeep Bahga, Vijay Madisetti. Universities Press, 2014.
  7. Cloud Computing Design Patterns. Thomas Erl, Robert Cope and Amin Naserpour. Prentice Hall. 2015.
  8. Handbook of Cloud Computing. Editors: Furht, Borko, Escalante, Armando (Eds.). 2010.

Instalaciones

Salón de clase con computador y proyector. Laboratorio de Ingeniería de Sistemas y Computación.

Material de este semestre