1 / 41

Sistemas Ubicuos (Parte I) 2. Arquitecturas para sistemas ubicuos

Programa de Tercer Ciclo. Sistemas Ubicuos (Parte I) 2. Arquitecturas para sistemas ubicuos. Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea. Metodologías. Herramientas y plataformas. Aplicaciones. Seguridad e integridad.

jordana
Download Presentation

Sistemas Ubicuos (Parte I) 2. Arquitecturas para sistemas ubicuos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programa de Tercer Ciclo Sistemas Ubicuos(Parte I)2. Arquitecturas para sistemas ubicuos Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  2. Metodologías Herramientas y plataformas Aplicaciones Seguridad e integridad Aspectos éticos y sociales Interfaces Entornos inteligentes Arquitecturas Infraestructuras Tecnologías de red y dispositivos Arquitecturas para sistemas ubicuos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  3. Arquitecturas para sistemas ubicuos • Infraestructura soporte • Modelo de entorno ubicuo • Arquitectura de un sistema ubicuo • Integración de servicios heterogéneos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  4. Infraestructura soporte

  5. ¿cómo se reparten las funciones? Arquitecturas Middleware Aplicación Aplicación Middleware ¿compatibilidad? Sistema operativo Hardware Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  6. Reparto de funciones:SO vs Mw • Modificar el SO es laborioso y cuesta alcanzar versiones estables. • Trasladar la funcionalidad al Mw es más sencillo pero ofrece peor rendimiento. • Ejemplo: Gaia, Aura, Sistemas basados en Jini-Java. • Micronúcleos: sólo el soporte básico (cambio de contexto, interrupciones...) en el espacio del núcleo; el resto de funciones, como cliente-servidor en espacio de usuario. • Ejemplos: Plan 9 / Plan B. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  7. Compatibilidad • Sistemas heterogéneos: • ¿cómo conseguir que las aplicaciones puedan migrar entre plataformas (Hw o SO) diferentes? • Soluciones: • Disponer de versiones de las aplicaciones para cada plataforma. • Utilizar una plataforma Mw común (ej: Java). • Utilizar emuladores para homogeneizar plataformas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  8. Compatibilidad: emulación • Emulación software • Se interceptan los traps de las llamadas al sistema del SO emulado y se interpretan en el SO anfitrión. • Ejemplo: Wine. • Emulación hardware • Se emula el entorno Hw completo. • Ejemplo: BOCHS • Virtualización • Emulación Hw de lo estrictamente necesario: • Llamadas al sistema • Acceso a los dispositivos • El resto de las IM se ejecutan nativamente • Requiere análisis del código • Ejemplos: VMware, VirtualPC, Win4Lin Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  9. SO clásico Micronúcleo Aplicaciones (espacio de usuario) Espacio de usuario Emulador System V Emulador POSIX Otro Emulador Sistema operativo (espacio del kernel) Micronúcleo Espacio del kernel Hw Compatibilidad: micronúcleos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  10. Aplicación emulada Aplicación emulada Aplicación emulada SO huesped SO huesped Emulador API Aplicación nativa Hw emulado Aplicación nativa Hw emulado Aplicación nativa SO anfitrión SO anfitrión SO anfitrión Hw Hw Hw Compatibilidad: emulación (cont) Emulación Software Emulación Hardware Virtualización Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  11. Modelo de entorno

  12. Modelo de entorno para sistemas ubicuos Recursos o servicios Electrodomésticos, iluminación, proyector... Medio de acceso WiFi, Bluetooth, Infrarrojos, GPRS... Dispositivos de acceso Mando, PDA, teléfono... Servidores PC, dispositivos específicos... Infraestructura de comunicación Power line, ethernet... ¿Explícito o implícito? Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  13. Modelo de entorno para sistemas ubicuos: ejemplo Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  14. Arquitectura de un sistema ubicuo

  15. Arquitecturas Middleware para sistemas ubicuos Aplicación Aplicación Middleware Sistema operativo Hardware Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  16. Gaia Active Spaces (Roman, 2002) Arquitecturas Middleware para sistemas ubicuos. Ejemplos. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  17. Arquitecturas Middleware para sistemas ubicuos. Ejemplos. Aura (Garlan, 2002) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  18. Arquitecturas Middleware para sistemas ubicuos. Ejemplos. Network services Applications Other services JavaSpaces Lookup Jini Discovery/Join RMI Java Java Java Solaris Mac Solaris Solaris Windows PowerPC SPARC x86 Arquitectura Jini Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  19. Arquitectura de un sistema ubicuo • Los recursos son de naturaleza dinámica • Pueden estar disponibles o no. • Pueden estar en el radio de acción del usuario o no. • El usuario cambia de entorno y las aplicaciones descubren nuevos dispositivos. • La aplicación debe adaptarse en tiempo de ejecución (no se instalan drivers explícitamente). • Se requieren mecanismos de • Publicación o registro de recursos y servicios. • Descubrimiento de esos servicios por las aplicaciones. • Control de acceso, seguridad, privacidad... • Se requieren estándares (Jini, UPnP, Salutation) • Los recursos pueden ser heterogéneos  Integración Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  20. Arquitectura de un sistema ubicuo • Aspectos básicos a considerar en un entorno con recursos no heterogéneos: • Cómo se gestiona el estado de los recursos • Grado de persistencia • Características de los dispositivos de acceso (determinan su funcionalidad) • Tamaño • Capacidad de cómputo y almacenamiento • Capacidad de comunicación • Consumo de energía • Características de los usuarios • Categorías, con diferentes derechos de acceso • Autenticación Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  21. Arquitectura de un sistema ubicuo Dos enfoques • Estructura del mecanismo de descubrimiento • Reparto de funciones entre los elementos del entorno Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  22. Arquitecturas para el descubrimiento de servicios(Dabrowski & Mills, 2002) • Componentes básicos: • Cliente: Service User (SU) • Servidor: Service Manager (SM) • Esquemas de comunicación: • Multicast • Unicast • Descripciones del servicio (SD): • Identificación • Tipo • Atributos • Interfaz del servicio • Interfaz de usuario Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  23. SU SM SU SM SU SM SU SM Arquitecturas para el descubrimiento de servicios:Arquitectura en dos partes • Un SM se da a conocer mediante multicast. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  24. SU SM SU SM SU SM SU SM Arquitecturas para el descubrimiento de servicios:Arquitectura en dos partes • Un SU descubre servicios mediante multicast. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  25. SU SM SU SM SU SM SU SM Arquitecturas para el descubrimiento de servicios:Arquitectura en dos partes • El SU obtiene el SD. • El SU accede al servicio. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  26. Arquitecturas para el descubrimiento de servicios:Arquitectura en tres partes • SCM: Service Cache Manager. Proporciona persistencia SU SM SU SM SU SM SU SM SCM SCM SCM SCM Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  27. Arquitecturas para el descubrimiento de servicios:Arquitectura en tres partes • Los servicios se registran en los SCMs. SU SM SU SM SU SM SU SM SCM SCM SCM SCM • Los SU descubren los servicios registrados. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  28. Reparto de funciones • Dónde ubicar... • El SU • El SCM • La gestión de usuarios • Alternativas: • Utilizar servidores específicos o no • Centralizado vs distribuido • Replicación de servicios Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  29. Arquitecturas para sistemas ubicuos Ejemplo 1 • Un usuario utiliza su dispositivo de acceso que le autoidentifica para acceder a los servicios de un entorno ubicuo. • El dispositivo es de uso personal (tipo tab: quien posee el dispositivo está autorizado para usarlo). • El dispositivo descubre los servicios que ofrece el entorno. • El usuario puede operar con los dispositivos descubiertos de acuerdo a sus derechos de acceso sobre ellos, codificados en su dispositivo de acceso. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  30. Arquitecturas para sistemas ubicuos Ejemplo 2 • Un usuario utiliza un dispositivo de acceso para acceder a los servicios de un entorno ubicuo. • El dispositivo es de uso común (tipo pad). • Un servidor dedicado descubre los servicios que ofrece el entorno. • El servidor autentica al usuario. • El usuario puede operar con los dispositivos descubiertos de acuerdo a sus derechos de acceso sobre ellos, almacenados en el servidor. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  31. Arquitecturas para sistemas ubicuos(2 partes) • Dependiendo de dónde se ubique el SU y las funciones de gestión de usuario: • en el dispositivo de acceso: personal-server architecture (ejemplo 1) • en un servidor dedicado: dedicated-server architecture (ejemplo 2) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  32. Arquitecturas para sistemas ubicuos(3 partes) • Dependiendo de dónde se ubique el SCM, varias combinaciones (Salvador et al, 2005): Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  33. Integración de servicios heterogéneos

  34. Integración de servicios • Dispositivos heterogéneos • Muchos protocolos • ¿Cómo integrarlos? • ¿Cómo ofrecer una interfaz común a las aplicaciones? Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  35. Integración de serviciosEnfoques • Soluciones ad-hoc • Pasarelas específicas entre protocolos. • Hay que integrar específicamente cada dispositivo. • Plataforma común • Todos los servicios se representan bajo una interfaz específica lo suficientemente general (p. ej., JINI). • Un marco estándar de especificación lo más universal posible • OSGi Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  36. LUS • Jini Service 1 • Jini Service 2 • UPnP Gateway 1 • UPNP Gateway 2 • X10 Gateway • EIB Gateway Jini Client Jini Client Jini Client Discovery / Registry Service invocation EIB Gateway Jini Service 1 Jini Service 2 UPnP Gateway 1 UPnP Gateway 2 X10 Gateway Gateway creation UPnP Gateway factory X10 Gateway factory EIB Gateway factory Other Gateway factories UPnP Control point UPnP commands Discovery / Registry EIB bus Power line UPnP resource 1 UPnP resource 2 X10 resource X10 resource EIB resource EIB resource Integración de serviciosJini como plataforma base Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  37. Integración de serviciosOSGi • Open Services Gateway Initiative (1999). • Orientado a entornos domésticos. • Arquitectura centralizada. • Proporciona soporte para instalar dinámicamente servicios Java (bundles) • La implementación de los bundles compete a los desarrolladores del sistema • Los desarrolladores de aplicaciones se limitan a especificar interfaces. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  38. Integración de serviciosOSGi: registro y descubrimiento Registro y descubrimiento de servicios en OSGi. Tomado de (Lee, 2003) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  39. Integración de serviciosOSGi: un ejemplo Ejemplo “Hello World”, tomado de (Lee, 2003). • Definición de la interfaz, (b) implementación del servicio Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  40. Integración de serviciosOSGi: un ejemplo (cont) Ejemplo “Hello World”, tomado de (Lee, 2003). (c) Registro del servicio. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

  41. Integración de serviciosOSGi: un ejemplo (cont) Ejemplo “Hello World”, tomado de (Lee, 2003). (d) Descubrimiento e invocación. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

More Related