Sistemas Ubicuos (Parte I)
Document Sample


Programa de Tercer Ciclo
Departamento de Arquitectura y Tecnología de
Computadores
Universidad del País Vasco / Euskal Herriko Unibertsitatea
UPV - EHU
Sistemas Ubicuos
(Parte I)
2. Arquitecturas para
sistemas ubicuos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 1
Arquitecturas para sistemas
ubicuos
Aplicaciones
Herramientas y plataformas
Aspectos éticos y sociales
UPV - EHU
Seguridad e integridad
Entornos
Interfaces
Metodologías
inteligentes
Arquitecturas
Infraestructuras
Tecnologías de red
y dispositivos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 2
Arquitecturas para sistemas
ubicuos
UPV - EHU
1. Infraestructura soporte
2. Modelo de entorno ubicuo
3. Arquitectura de un sistema ubicuo
4. Integración de servicios heterogéneos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 3
UPV - EHU
Infraestructura soporte
Arquitecturas Middleware
Aplicación Aplicación
UPV - EHU
¿cómo se Middleware ¿compatibilidad?
reparten las
funciones? Sistema operativo
Hardware
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 5
Reparto de funciones:
SO vs Mw
• Modificar el SO es laborioso y cuesta
alcanzar versiones estables.
• Trasladar la funcionalidad al Mw es más
UPV - EHU 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 6
Compatibilidad
• Sistemas heterogéneos:
UPV - EHU – ¿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 7
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.
UPV - EHU
• 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 8
Compatibilidad: micronúcleos
SO clásico Micronúcleo
UPV - EHU
Aplicaciones
(espacio Espacio
de usuario) de usuario
Sistema Emulador Emulador Otro
operativo System V POSIX Emulador
(espacio
del kernel) Micronúcleo Espacio
del kernel
Hw
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 9
Compatibilidad: emulación (cont)
UPV - EHU
Aplicación Aplicación
emulada emulada
Aplicación SO SO
emulada huesped huesped
Emulador Aplicación Hw Aplicación Hw Aplicación
API nativa emulado nativa emulado nativa
SO anfitrión SO anfitrión SO anfitrión
Hw Hw Hw
Emulación Software Emulación Hardware Virtualización
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 10
UPV - EHU
Modelo de entorno
Modelo de entorno para
sistemas ubicuos
Recursos Electrodomésticos,
iluminación,
o servicios
proyector...
WiFi, Bluetooth,
UPV - EHU Medio de acceso Infrarrojos, GPRS...
Dispositivos de Mando, PDA,
acceso teléfono...
PC, dispositivos
Servidores específicos...
Infraestructura Power line,
de comunicación ethernet...
¿Explícito o
implícito?
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 12
Modelo de entorno para sistemas
ubicuos: ejemplo
UPV - EHU
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 13
UPV - EHU Arquitectura de un sistema
ubicuo
Arquitecturas Middleware para
sistemas ubicuos
Aplicación Aplicación
UPV - EHU
Middleware
Sistema operativo
Hardware
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 15
Arquitecturas Middleware para
sistemas ubicuos. Ejemplos.
UPV - EHU
Gaia Active Spaces
(Roman, 2002)
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 16
Arquitecturas Middleware para
sistemas ubicuos. Ejemplos.
UPV - EHU
Aura
(Garlan, 2002)
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 17
Arquitecturas Middleware para
sistemas ubicuos. Ejemplos.
Network
Applications JavaSpaces Other services services
Lookup
UPV - EHU Jini
Discovery/Join
RMI
Java Java Java
Solaris Mac
Solaris Windows
SPARC PowerPC x86
Arquitectura Jini
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 18
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.
UPV - EHU – 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 19
Arquitectura de un sistema ubicuo
• Aspectos básicos a considerar en un
entorno con recursos no heterogéneos:
UPV - EHU – 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 20
Arquitectura de un sistema ubicuo
Dos enfoques
UPV - EHU
1. Estructura del mecanismo de
descubrimiento
2. Reparto de funciones entre los elementos
del entorno
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 21
Arquitecturas para el
descubrimiento de servicios
(Dabrowski & Mills, 2002)
• Componentes básicos:
– Cliente: Service User (SU)
UPV - EHU – 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 22
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en dos partes
UPV - EHU
SU
SU
SU SM
SM
SM
SU SM
• Un SM se da a conocer mediante multicast.
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 23
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en dos partes
UPV - EHU
SU
SU
SU SM
SM
SM
SU SM
• Un SU descubre servicios mediante
multicast.
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 24
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en dos partes
UPV - EHU
SU
SU
SU SM
SM
SM
SU SM
• El SU obtiene el SD.
• El SU accede al servicio.
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 25
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en tres partes
UPV - EHU
SU
SU
SU SM
SM
SM
SU SM
SCM
SCM
SCM
SCM
• SCM: Service Cache Manager. Proporciona
persistencia
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 26
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en tres partes
UPV - EHU
SU
SU
SU SM
SM
SM
SU SM
SCM
SCM
SCM
SCM
• Los servicios se registran en los SCMs.
• Los SU descubren los servicios registrados.
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 27
Reparto de funciones
• Dónde ubicar...
– El SU
UPV - EHU
– 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 28
Arquitecturas para sistemas
ubicuos
Ejemplo 1
• Un usuario utiliza su dispositivo de acceso
que le autoidentifica para acceder a los
UPV - EHU
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 29
Arquitecturas para sistemas
ubicuos
Ejemplo 2
• Un usuario utiliza un dispositivo de acceso
UPV - EHU
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 30
Arquitecturas para sistemas
ubicuos
(2 partes)
UPV - EHU
• 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 31
Arquitecturas para sistemas
ubicuos
(3 partes)
• Dependiendo de dónde se ubique el SCM,
varias combinaciones (Salvador et al, 2005):
UPV - EHU
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 32
UPV - EHU Integración de servicios
heterogéneos
Integración de servicios
UPV - EHU
• 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 34
Integración de servicios
Enfoques
• Soluciones ad-hoc
– Pasarelas específicas entre protocolos.
UPV - EHU – 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 35
Integración de servicios
Jini como plataforma base
LUS
•Jini Service 1
•Jini Service 2
•UPnP Gateway 1 Jini Jini Jini
•UPNP Gateway 2 Client Client Client
•X10 Gateway
•EIB Gateway
UPV - EHU
Discovery / Registry Service invocation
UPnP UPnP
X10 EIB Jini Jini
Gateway Gateway
Gateway Gateway Service 1 Service 2
1 2
Gateway creation
UPnP X10 EIB Other
Gateway factory Gateway factory Gateway factory Gateway factories
UPnP
Control point UPnP
commands
Discovery / Registry Power line EIB bus
UPnP UPnP X10 X10 EIB EIB
resource 1 resource 2 resource resource resource resource
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 36
Integración de servicios
OSGi
• Open Services Gateway Initiative (1999).
• Orientado a entornos domésticos.
UPV - EHU
• 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 37
Integración de servicios
OSGi: registro y descubrimiento
UPV - EHU
Registro y descubrimiento de servicios en OSGi. Tomado de (Lee, 2003)
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 38
Integración de servicios
OSGi: un ejemplo
UPV - EHU
Ejemplo “Hello World”, tomado de (Lee, 2003).
(a) Definición de la interfaz, (b) implementación del servicio
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 39
Integración de servicios
OSGi: un ejemplo (cont)
UPV - EHU
Ejemplo “Hello World”, tomado de (Lee, 2003).
(c) Registro del servicio.
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores 40
Integración de servicios
OSGi: un ejemplo (cont)
UPV - EHU
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 41
Get documents about "