Sistemas Ubicuos 4. Descubrimiento de servicios

Anuncio
UPV / EHU
Sistemas Ubicuos
4. Descubrimiento de
servicios
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
1
Descubrimiento de servicios
UPV / EHU
1. Introducción
2. Protocolos de descubrimiento de servicios
3. Estructura del mecanismo de
descubrimiento
4. Integración de servicios heterogéneos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
2
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
Aplicaciones
inteligentes
Servicios
Infraestructuras software
Infraestructuras hardware
Aspectos éticos y sociales
Interfaces
de usuario
Seguridad e integridad
Metodologías
UPV / EHU
Herramientas y plataformas
Descubrimiento de servicios
3
Descubrimiento de servicios
UPV / EHU
1. Introducción
2. Protocolos de descubrimiento de servicios
3. Estructura del mecanismo de
descubrimiento
4. Integración de servicios heterogéneos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
4
Por qué un servicio de
descubrimiento de servicios
• Los recursos son de naturaleza dinámica
UPV / EHU
– 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...
• Los recursos pueden ser heterogéneos  Integración
• Se requieren estándares
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
5
Cuestiones a considerar
UPV / EHU
• Naturaleza de los recursos
– Disponibilidad (total, puntual, temporal)
– Grado de persistencia del estado
• Características de los dispositivos de acceso
– Privados o compartidos
– Tamaño y capacidad (de cómputo, comunicación, energía)
• Características de los usuarios
– Derechos de acceso a los recursos
– Se requiere autenticación
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
6
Descubrimiento de servicios
UPV / EHU
1. Introducción
2. Protocolos de descubrimiento de servicios
3. Estructura del mecanismo de
descubrimiento
4. Integración de servicios heterogéneos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
7
Protocolos de descubrimiento
• Numerosos desarrollos:
UPV / EHU
– – – – – – – – – – Jini (Sun Microsystems)
Universal Plug and Play, UPnP (Microsoft)
DEAPspace (IBM Research)
Bonjour (Apple)
Ninja (University of California and Berkeley)
International Naming System, INS (MIT)
Service Location Protocol, SLP (IETF)
SDP (Bluetooth SIG)
Salutation
...
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
8
Protocolos de descubrimiento
Aspectos del diseño
(Zhu, 2005)
UPV / EHU
• • • • • • • • • • • Identificación del servicio y los atributos
Método de comunicación inicial
Método de registro y descubrimiento
Infraestructura del servicio de descubrimiento
Validez de la información sobre el servicio
Ámbito del descubrimiento
Selección del servicio
Método de invocación del servicio
Control del uso del servicio
Comunicación del estado del servicio
Mecanismos de seguridad
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
9
Identificación del servicio y los
atributos
• Cómo el cliente especifica el servicio que
quiere usar.
UPV / EHU
 Exclusivamente
basado en plantillas
Bonjour, SLP
 Adicionalmente, de
forma predefinida
Jini, UPnP, Salutation,
SDP
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
10
Método de comunicación inicial
• Patrones de comunicación utilizados entre clientes y
servicios en el registro y el descubrimiento: unicast,
multicast o broadcast.
• Se suelen combinar varios patrones.
UPV / EHU
 Unicast + multicast
INS, Jini, UPnP, Bonjour
 Unicast + broadcast
Salutation, SDP
 Unicast + multicast
+ broadcast
Ninja, SLP
 Broadcast
DEAPspace
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
11
Método de registro y
descubrimiento
• Se basan en anuncio o interrogación.
UPV / EHU
 Anuncio
DEAPspace
 Interrogación
Bonjour, SDP
 Anuncio +
interrogación
INS, Ninja, Jini, UPnP,
Salutation, SLP
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
12
Infraestructura del servicio de
descubrimiento
• Si no existe una infraestructura específica, clientes y
servicios se comunican directamente durante el
descubrimiento.
– Adecuado para entornos restringidos.
UPV / EHU
• El sistema puede incluir un servicio de directorio
donde los servicios se registran y sobre el que
clientes ejecutan el descubrimiento.
 Sin directorio
 Con directorio plano
 Con directorio
jerárquico
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
DEAPSpace, UPnP, SDP
Salutation, SLP
INS, Ninja, Jini, Bonjour
13
Validez de la información sobre el
servicio
UPV / EHU
• Cómo se valida la información sobre el estado del
servicio.
• Puede dejarse a iniciativa del cliente (hard state) o
proporcionar mecanismos de validación (soft state).
 Soft state
INS, Ninja, DEAPspace,
Jini, UPnP, Bonjour, SLP,
SDP
 Hard state
Salutation
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
14
Ambito del descubrimiento
• La mayoría de los protocolos restringen el
ámbito a parámetros muy ligados a la red
subyacente.
UPV / EHU
 Restringido a LAN
UPnP, Salutation
 Topología (# hops)
DEAPspace, SDP
 Dominio
administrativo
 Contexto (ubicación)
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
INS, Ninja, Jini, SLP
Ninja, Jini
15
Selección del servicio
UPV / EHU
• El descubrimiento puede dar lugar a una lista de
servicios que cumplen la especificación de los
atributos de la búsqueda.
• Se requiere seleccionar uno de los servicios de la
lista. Normalmente, la selección se deja en manos
del cliente, aunque el servicio de descubrimiento
podría hacer una selección automática.
 Selección
automática
 Selección manual
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
INS
Ninja, DEAPspace, Jini,
UPnP, Bonjour,
Salutation, SLP, SDP
16
Método de invocación del servicio
• Tres posibles niveles:
– Ubicación del servicio (URL, dirección IP...)
– Mecanismo de comunicación
– Operaciones de la aplicación
UPV / EHU
• Cuando el protocolo no especifica los niveles
superiores, la aplicación es responsable de definirlos.
 Sólo ubicación del
servicio
 Mecanismo de
comunicación
 Operaciones de la
aplicación
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
Bonjour, SLP, SDP
Jini (Java-RMI)
UPnP (XML-SOAP-HTTP)
Salutation (RPC)
UPnP, Salutation
17
Control del uso del servicio
• Se proporciona un mecanismo de leasing o
bien cliente puede liberar explícitamente el
servicio.
UPV / EHU
 Liberación explícita
UPnP, Salutation, SLP
 Basado en leasing
Jini
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
18
Comunicación del estado del
servicio
• El cliente puede conocer los cambios en el estado del
servicio bien por encuesta, bien por notificación del
servidor mediante eventos, cuando el protocolo
proporciona este mecanismo.
UPV / EHU
 Encuesta
 Notificación
mediante eventos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
UPnP
Jini, Salutation, UpnP
19
Mecanismos de seguridad
UPV / EHU
 Integrados
Ninja, Jini, Salutation, SLP,
SDP
 Mediante
extensiones
UPnP, Bonjour (DNS)
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
20
Autenticación
UPV / EHU
 De los usuarios
 De los dispositivos
 De los servicios
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
Ninja, Jini, UPnP,
Salutation
UPnP, SDP
Ninja, Jini, UPnP, Bonjour,
SLP
21
Descubrimiento de servicios
UPV / EHU
1. Introducción
2. Protocolos de descubrimiento de servicios
3. Estructura del mecanismo de
descubrimiento
4. Integración de servicios heterogéneos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
22
Modelos de arquitecturas para el
descubrimiento de servicios
(Dabrowski & Mills, 2002)
• Componentes básicos:
UPV / EHU
– 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
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en dos partes
UPV / EHU
SU
SU
SU
SU
SM
SM
SM
SM
• Un SM se da a conocer 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
SU
SM
SM
SM
SM
• Un SU descubre servicios mediante
multicast.
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
25
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en dos partes
UPV / EHU
SU
SU
SU
SU
SM
SM
SM
SM
• 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
UPV / EHU
SU
SU
SU
SU
SM
SM
SM
SM
SCM
SCM
SCM
SCM
• SCM: Service Cache Manager. Proporciona
persistencia
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
27
Arquitecturas para el
descubrimiento de servicios:
Arquitectura en tres partes
UPV / EHU
SU
SU
SU
SU
SM
SM
SM
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
28
Descubrimiento de servicios
UPV / EHU
1. Introducción
2. Protocolos de descubrimiento de servicios
3. Estructura del mecanismo de
descubrimiento
4. Integración de servicios heterogéneos
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
29
Integración de servicios
UPV / EHU
• Dispositivos heterogéneos
• Muchos protocolos
• ¿Cómo integrarlos para ofrecer una interfaz
común a las aplicaciones?
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
30
Integración de servicios
Enfoques
• Soluciones ad-hoc
UPV / EHU
– 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
31
Integración de servicios
Jini como plataforma base
LUS
UPV / EHU
• 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
UPnP
Gateway
1
UPnP
Gateway
2
X10
Gateway
EIB
Gateway
Jini
Service 1
Jini
Service 2
Gateway creation
UPnP
Gateway factory
UPnP
Control point
X10
Gateway factory
EIB
Gateway factory
UPnP
commands
Discovery / Registry
EIB bus
Power line
UPnP
resource 1
Other
Gateway factories
UPnP
resource 2
Konputagailuen Arkitektura eta Teknologia Saila
Departamento de Arquitectura y Tecnología de Computadores
X10
resource
X10
resource
EIB
resource
EIB
resource
32
Integración de servicios
OSGi
UPV / EHU
• • • • 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
33
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
34
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
35
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
36
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
37
Descargar