sd descubrimiento servicios - upmlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish...

7
Sistemas Distribuidos Fernando Pérez Costoya 4-Servicio de nombres 1 Sistemas Distribuidos Descubrimiento de servicios Sistemas Distribuidos 2 Fernando Pérez Costoya Índice Introducción Servicio de nombres Estudio de un ejemplo práctico: DNS Servicio de directorio Estudio de un ejemplo práctico: LDAP Descubrimiento de servicios Computación móvil y ubicua Gestión de nombres en sistemas móviles/ubicuos – Auto-configuración Servicios de descubrimiento de servicios Sistemas Distribuidos 3 Fernando Pérez Costoya Computación móvil Mejoras en portátiles y redes inalámbricas Comput. móvil S. distribuido con nodos móviles usando redes inalámbricas WPAN: IR (IrDA), RF (IEEE 802.15: Bluetooth, Zigbee, ...) WLAN: Wi-Fi (IEEE 802.11) WMAN: WIMAX (IEEE 802.16) Redes celulares de teléfonos móviles: GSM, 3G, ... conectados a una infraestructura de red cableada o formando redes ad hoc solo con nodos móviles Información “anywhere anytimeInvestigación desde década 90; tecnologías en maduración Portabilidad + inalámbrico + movilidad nuevos retos Sistemas Distribuidos 4 Fernando Pérez Costoya Retos de la computación móvil Pervasive Computing: Vision and Challenges M. Satyanarayanan Complejidad se multiplica

Upload: others

Post on 31-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 1

Sistemas Distribuidos

Descubrimiento de servicios

Sistemas Distribuidos2

Fernando Pérez Costoya

Índice

• Introducción• Servicio de nombres

– Estudio de un ejemplo práctico: DNS• Servicio de directorio

– Estudio de un ejemplo práctico: LDAP• Descubrimiento de servicios

– Computación móvil y ubicua– Gestión de nombres en sistemas móviles/ubicuos– Auto-configuración– Servicios de descubrimiento de servicios

Sistemas Distribuidos3

Fernando Pérez Costoya

Computación móvil

• Mejoras en portátiles y redes inalámbricas → Comput. móvil– S. distribuido con nodos móviles usando redes inalámbricas

• WPAN: IR (IrDA), RF (IEEE 802.15: Bluetooth, Zigbee, ...)• WLAN: Wi-Fi (IEEE 802.11)• WMAN: WIMAX (IEEE 802.16)• Redes celulares de teléfonos móviles: GSM, 3G, ...

– conectados a una infraestructura de red cableada o• formando redes ad hoc solo con nodos móviles

– Información “anywhere anytime”– Investigación desde década 90; tecnologías en maduración

• Portabilidad + inalámbrico + movilidad → nuevos retos

Sistemas Distribuidos4

Fernando Pérez Costoya

Retos de la computación móvil

Pervasive Computing: Vision and Challenges

M. SatyanarayananComplejidad se multiplica

Page 2: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 2

Sistemas Distribuidos5

Fernando Pérez Costoya

Retos de la computación móvil

• Por comunicaciones inalámbricas– Ancho de banda menor y más variable que en redes cableadas

• Adaptación a ancho de banda disponible– Mayor propensión a errores y a la desconexión

• Modo de operación desconectado (p. ej. CODA)– Más problemas de seguridad

• Por portabilidad– Portátiles: recursos limitados (energía, UCP, memoria, HW de IU)– Resource-aware computing– Context-aware computing

• Por movilidad– Puede implicar cambio en punto de acceso a red cableada

• Facilitar configuración automática

Sistemas Distribuidos6

Fernando Pérez Costoya

Computación ubicua

• Tendencia: Progresiva miniaturización de computadores– Computadores empotrados en todo tipo de objetos

• Nuevo modelo de computación:– Computadores omnipresentes, parte de ellos móviles– Algunos empotrados en sistemas físicos, invisibles al usuario– Otros dedicados a interaccionar directamente con el usuario– Conectados entre sí ofreciendo un valor añadido– Plenamente integrados en el mundo para facilitar vida cotidiana– Información “everywhere everytime”

• Computación ubicua (Ubiquitous Computing)– Propuesta de Mark Weiser en PARC de Xerox finales de los 80

• 3ª era en la historia de la computación moderna• Pervasive Computing: Propuesta de IBM; finalmente sinónimo

Sistemas Distribuidos7

Fernando Pérez Costoya

The Computer for the 21st Century, Weiser 1991

“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it”

“Specialized elements of hardware and software, connected by wires, radio waves and infrared, will be so ubiquitous that no one will notice their presence”

“We are therefore trying to conceive a new way of thinking about computers, one that takes into account the human world and allows the computers themselves to vanish into the background”

“There is more information available at our fingertips during a walk in the woods than in any computer system, yet people find a walk among trees relaxing and computers frustrating. Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as taking a walk in the woods”

Sistemas Distribuidos8

Fernando Pérez Costoya

Evolución de la computación

Ubiquitous Computing Fundamentals

John Krumm

Computación ubicua:

1 persona → N computadores

1 computador → N personas

Page 3: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 3

Sistemas Distribuidos9

Fernando Pérez Costoya

Comp. ubicua: la Visión de Weiser

• Computadores deberían integrarse en nuestro entorno– Haciéndose “invisibles”, no requiriendo nuestra atención– Invisible computing

• Como la escritura o el uso de la electricidad en el hogar– Facilitando contacto personal directo en vez de aislar

• Calm technology: que se mantiene en la “periferia”– Puntualmente centro de nuestra atención y vuelve a periferia

• Lo opuesto a realidad virtual– RV. Simula el mundo real: mundo → computador– CU. Mejora/“aumenta” el mundo real: mundo ← computador

• Prueba de concepto: CU en dispos. que muestran información– Tres escalas: tab (nota), pad (bloc) y board (pizarra)

Sistemas Distribuidos10

Fernando Pérez Costoya

Tabs, Pads y Boards

Sistemas Distribuidos11

Fernando Pérez Costoya

Retos de la computación ubicua

Pervasive Computing: Vision and Challenges

M. SatyanarayananComplejidad se multiplica

Sistemas Distribuidos12

Fernando Pérez Costoya

Retos de la computación ubicua

• Todos los de la computación móvil pero acentuados– HW con recursos más limitados (energía, UCP, HW de IU, ...)– Mayor escala por omnipresencia– Problemas de seguridad y privacidad exacerbados

• Integración en el mundo físico• Interfaces de usuario para sistemas ubicuos

– Minimizando el nivel de distracción del usuario• Detección automática de serv./dispos. en “espacio inteligente”

• Llegó a mi habitación de un hotel donde nunca había estado antes• Quiero imprimir fotos de mi cámara en impresora de la habitación

– ¿No sería suficiente con un servicio de directorio (p.e. LDAP)?

Page 4: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 4

Sistemas Distribuidos13

Fernando Pérez Costoya

Gestión de nombres en SD convencional

• Estructura del SD bastante estática• Cada nodo se configura con (suponiendo uso de IP)

– Su dir. IP, máscara de red, dir. router, e info. de encaminamiento– Su nombre, dominio DNS al que pertenece y direc. servidores DNS– Nombre servidor(es) LDAP y conocimiento del esquema usado– Los manejadores requeridos para interacción con dispositivos en SD

• Incluso en SD convencional, op. configuración no escalable– Uso de DHCP (Dynamic Host Configuration Protocol)

• Necesidad limitada de “descubrimiento” de servicios/dispos.– Una vez instalada nueva impresora se la da de alta en LDAP– Próxima búsqueda de impresoras en LDAP la encontrará– Dar de baja impresora (poco frecuente): basta con actualizar LDAP– No se requiere “Plug & Play” en el nivel del SD

Sistemas Distribuidos14

Fernando Pérez Costoya

Gestión de nombres en SD móvil/ubicuo

• Computación ubicua → “invisible” → auto-configuración• Sistemas dinámicos, “espontáneos” y volátiles:

– Nodos entran y salen de un SD: de un “espacio inteligente” (EI)• Mi cámara digital y yo entramos/salimos en habitación de hotel• Un vehículo entra/sale de EI controlado por un semáforo inteligente

• Descubrimiento de servicios clave para computación ubicua• Nodo entra en EI:

– Se autoconfigura y descubre, y es descubierto, por nodos restantes– Si proveedor de servicios, hace conocerlos a quiénes le interesen– Si consumidor de serv., descubre los de otros nodos que le interesen– Necesidad de “lenguaje” de definición y búsqueda de servicios

• Atributos-valores (similar a LDAP), basado en XML, ontologías, ...• Suficiente flexibilidad para incorporar nuevos tipos de serv./dispos.

Sistemas Distribuidos15

Fernando Pérez Costoya

Gestión de nombres en SD móvil/ubicuo

• Plug & play de servicios/dispositivos en SD– Además de descubrirlos, hay que saber “hablar” con ellos– Nuevo tipo puede requerir nuevo manejador

• Nodo abandona EI: servicio/dispositivo desaparece– Abandono abrupto → uso de leases

• Problema de frontera del espacio inteligente:– Delimitación precisa de confines de un espacio inteligente

• ¡Espero que mis fotos no se impriman en habitación contigua!– Necesidad de crear ámbitos (scopes)

• Limitación de recursos y volatilidad pueden condicionar: – Estrategias de auto-configuración y descubrimiento de servicios

• Ej. Jini, UPnP, Zeroconf, Service Location Protocol (RFC 2608)

Sistemas Distribuidos16

Fernando Pérez Costoya

Ejemplo plantilla de servicio de SLP

service:printer://lj4050.tum.de:1020/queue1scopes = tum, bmw, administratorprinter-name = lj4050printer-model = HP LJ4050 Nprinter-location = Room 0409color-supported = falsepages-per-minute = 9sides-supported = one-sided, two-sided

Extraído de “A Comparison Of Service Discovery Protocols And Implementation Of The Service Location Protocol”, Christian Bettstetter y Christoph Renner

Page 5: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 5

Sistemas Distribuidos17

Fernando Pérez Costoya

Auto-configuración

• Obtención de dirección IP (e info asociada: máscara, router,...)– Uso de DHCP:

• Nodo broadcast petición de dirección IP• Servidor DHCP asigna dirección IP con lease asociado

– Si DHCP no disponible (por volatilidad o limitación de recursos)• Dynamic Configuration of IPv4 Link-Local Addresses (RFC 3927)• Nodo elige su dir. IP y usa ARP para comprobar que no está en uso• Si conflicto, selecciona otra

• Obtención de nombre DNS (si requerido)– Uso de DNS con protocolo de actualización: Dynamic-DNS– Si DNS no disponible (por volatilidad o limit. recursos): Multicast-DNS

• Consultas a dominio .local. usan multicast dir. fija• Nodo correspondiente responde (con unicast o multicast)

• Zeroconf (Bonjour, Avahi) usa Link-Local y Multicast-DNSSistemas Distribuidos18

Fernando Pérez Costoya

Servicios de descubrimiento de servicios

• Tres roles (usando terminología SLP):– cliente (UA), proveedor servicio (SA), servidor descubrimiento (DA)

• Alternativa principal: con o sin DA– Puede haber múltiples DA: replicación y/o info. de distintos ámbitos

• Con DA (Jini, UPnP):– UA y SA deben localizar DAs (posible filtro por ámbitos)

• Localización activa: UA/SA multicast a dirección fija• Localización pasiva: DA multicast a dirección fija

– Facilita incorporación de nuevos DAs al sistema– SAs pueden registrar servicios y UAs realizar consultas

– SA registra servicio mediante unicast en DAs localizados– UA consulta mediante unicast a alguno de los DAs localizados– UA puede pedir a DA notificación si aparece un tipo de SA → evento

Sistemas Distribuidos19

Fernando Pérez Costoya

Descubrimiento de DA en SLP

Service Location Protocol: Automatic Discovery of IP Network Services. Erik Guttman

Sistemas Distribuidos20

Fernando Pérez Costoya

Registro y búsqueda de servicio en SLP

Service Location Protocol: Automatic Discovery of IP Network Services. Erik Guttman

Page 6: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 6

Sistemas Distribuidos21

Fernando Pérez Costoya

Servicios de descubrimiento de servicios• Sin DA: pull versus push

– Pull: UA multicast petición; SA la recibe y responde– Push: SA multicast anuncio de servicio; UAs guardan esa info.– push descubrimiento automático nuevo SA; pull uso de polling

• Esquema híbrido (SLP)– Mientras no haya ningún DA (suponiendo modelo pull como SLP):

• SA escucha dir. multicast peticiones de servicio• UA envía a dir. multicast peticiones de servicio• SAs/UAs escuchando dir. multicast posibles altas de DAs

– Cuando aparece un DA no habiendo ninguno antes• SAs registra servicio en DA mediante unicast• UAs consultan DA usando unicast

– Si desaparecen todos los DAs: vuelta al primer punto• Zeroconf: DA → DNS (real o multicast) con extensiones

– DNS-SD: Usa SRV, PTR y TXT y añade leases y long-lived queriesSistemas Distribuidos22

Fernando Pérez Costoya

Descubrimiento de servicios en Jini

• No es un protocolo general sino una solución basada en Java– Permite UA descarga de código (proxy) para interacción con SA/DA– No se ocupa de aspectos como auto-conf. IP

• Esquema con DA (lookup service)– Cada DA gestiona info. vinculada con uno o más grupos (ámbitos)– UA/SA descubren DAs de grupos de interés usando multicast activo

• DAs les envían proxy de DA para interaccionar con ellos– Nuevos DAs pueden usar multicast para anunciarse a UAs/SAs– SA registra serv. en DAs especificando proxy de servicio y atributos

• Se asocia lease al registro del servicio– UA consulta DA especificando plantilla de servicio:

• Tipo Java del servicio (subclase del registrado) y selección de atributos – UA puede solicitar a DA notificación de futuros SAs de un cierto tipo

• Esquema alternativo sin DA (denominado peer lookup)

Sistemas Distribuidos23

Fernando Pérez Costoya

Descubrimiento de DA en Jini

http://www.jini.org/wiki/Jini_Architecture_Specification

Sistemas Distribuidos24

Fernando Pérez Costoya

Registro de servicio en Jini

http://www.jini.org/wiki/Jini_Architecture_Specification

Page 7: SD descubrimiento servicios - UPMlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · vanish into the background” “There is more information available at our fingertips during

Sistemas Distribuidos Fernando Pérez Costoya

4-Servicio de nombres 7

Sistemas Distribuidos25

Fernando Pérez Costoya

Consulta de servicio en Jini

http://www.jini.org/wiki/Jini_Architecture_Specification

Sistemas Distribuidos26

Fernando Pérez Costoya

Petición de servicio en Jini

http://www.jini.org/wiki/Jini_Architecture_Specification

Sistemas Distribuidos27

Fernando Pérez Costoya

Descubrimiento de servicios en Jini

Printing service

serviceLookup

serviceLookup

Printing service

admin

admin

admin, finance

finance

Client

Client

Corporate infoservice

2. Here I am: .....4. Use printingservice

Network

3. Request ‘printing’

1. ‘finance’ lookup service

Distributed Systems: Concepts and Design

Coulouris, Dollimore y Kindberg