Sistemas Ubicuos (Parte I) by CP6oI6v

VIEWS: 0 PAGES: 41

									                                                       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

								
To top