UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1
Sistemas Ubicuos
3. Plataformas y
arquitectura middleware
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2
Plataformas y arquitectura middleware
Interfaces de usuario
Infraestructuras hardware
Infraestructuras software
Aplicaciones inteligentes
Servicios
Seg
urid
ad e
inte
grid
ad
Asp
ecto
s ét
icos
y s
ocia
les
Her
ram
ient
as y
pla
tafo
rmas
Met
odol
ogía
s
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 3
Plataformas y arquitectura middleware
1. Middleware vs sistema operativo2. Compatibilidad3. Arquitecturas middleware. Ejemplos
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 4
Plataformas y arquitectura middleware
1. Middleware vs sistema operativo2. Compatibilidad3. Arquitecturas middleware. Ejemplos
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 5
Plataformas y arquitectura middleware
Interfaces de usuario
Infraestructuras hardware
Infraestructuras software
Aplicaciones inteligentes
Servicios Arquitectura Middleware
Sistema Operativo o plataforma
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 6
Plataformas
Tecnologías de red y dispositivos
Sistema operativoo plataforma
Middleware
Aplicación Aplicación
¿cómo se reparten las
funciones?
¿compatibilidad?
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 7
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.
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 8
Plataformas y arquitectura middleware
1. Middleware vs sistema operativo2. Compatibilidad3. Arquitecturas middleware. Ejemplos
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 9
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.
• Condicionantes:– Compatibilidad hacia atrás.– Precio (Sw libre vs propietario).– Recursos limitados (p. ej., en sistemas
empotrados).
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 10
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, Parallels
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 11
Compatibilidad: emulación (cont)
Emulación Software
Hw
SO anfitrión
EmuladorAPI
Aplicaciónemulada
Aplicaciónnativa
Emulación Hardware
Hw
SO anfitrión
Hwemulado
SOhuesped
Aplicaciónnativa
Aplicaciónemulada
Virtualización
SOhuesped
Aplicaciónemulada
Hw
SO anfitrión
Hwemulado
Aplicaciónnativa
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 12
Sistemaoperativo (espacio
del kernel)
Aplicaciones(espacio
de usuario)
Espaciodel kernel
Espaciode usuario
SO clásico Micronúcleo
Micronúcleo
EmuladorPOSIX
EmuladorSystem V
OtroEmulador
Hw
Compatibilidad: micronúcleos
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 13
Compatibilidad: Java
Configuration for Small Devices - The Connected Limited Device Configuration (CLDC)
http://java.sun.com/javame/technology/index.jsp
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 14
Plataformas y arquitectura middleware
1. Middleware vs sistema operativo2. Compatibilidad3. Arquitecturas middleware. Ejemplos
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 15
Modelo de entorno para sistemas ubicuos
Recursoso servicios
Dispositivos de acceso
Electrodomésticos, iluminación, proyector...
Mando, PDA, teléfono...
Medio de acceso WiFi, Bluetooth, Infrarrojos, GPRS...
Servidores PC, dispositivos específicos...
Infraestructura de comunicación
Power line, ethernet...
¿Explícito o implícito?
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 16
Modelo de entorno para sistemas ubicuos: ejemplo
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 17
Arquitectura middleware
Tecnologías de red y dispositivos
Sistema operativoo plataforma
Middleware
Aplicación Aplicación
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 18
Arquitecturas middleware para sistemas ubicuos. Ejemplos.
Gaia Active Spaces
(Roman, 2002)
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 19
Arquitecturas middleware para sistemas ubicuos. Ejemplos.
Aura
(Garlan, 2002)
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 20
Arquitecturas middleware para sistemas ubicuos. Ejemplos.
Arquitectura Jini
SPARC
SolarisSolaris
Java
PowerPC
SolarisMac
Java
x86
Windows
Java
RMI
Discovery/Join
Lookup
Applications JavaSpaces Other services
Jini
Network services
UPV - EHU
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 21
Arquitecturas middleware para sistemas ubicuos. Ejemplos.
IntelligentContext
Middleware Context
Raw Context
Inteligent Context ServiceContext awareness and location
MiddlewareResource integration and discovery
Applications
Sensors
AmbienNet