38
Introducción a la Computación ó il Móvil Sergio Ilarri Má t I i í d Si t If áti ster en Ingeniería de Sistemas e Informática 2009/2010

Introducción a la Computación Móilóvil

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción a la Computación Móilóvil

Introducción a la Computación ó ilMóvil

Sergio IlarriMá t I i í d Si t I f átiMáster en Ingeniería de Sistemas e Informática

2009/2010

Page 2: Introducción a la Computación Móilóvil

Infraestructura InalámbricaÁrea de coberturaDispositivo

móvilDispositivo

móvil

EstaciónMáquina

Dispositivo móvil

Má iEstación base

Máquina fija

Dispositivo

Máquina fija

Estación base

Estación base

Red cableadaDispositivo

móvil

Dispositivo móvil

Área de coberturaMáquina fija

Máquina fija

Área de cobertura

Page 3: Introducción a la Computación Móilóvil

Infraestructura General de Servicios de Datos

Proxy

ProxyProxyRed cableada

Proxy

Page 4: Introducción a la Computación Móilóvil

Infraestructura Inalámbrica Red fija:

Fi d N t k (FN) Fixed Network (FN)

Estaciones Base: Base Station (BS) Base Station (BS)

Mobile Support Station (MSS)

Máquinas fijas: Máquinas fijas: Fixed Hosts (FH)

Dispositivos móviles:Dispositivos móviles: Mobile Host (MH) Mobile Unit (MU)

Celda / área de cobertura Handoff/handover

Page 5: Introducción a la Computación Móilóvil

Redes Inalámbricas

Redes celulares Alto coste, escalabilidad limitada, ancho de banda

limitado (GSM: 9.6 kbps, GPRS: ≤ 170 kbps)

LAN inalámbricas Bajo coste, rango limitado (100-200 m) GPRS, UMTS,

WiM UWB Servicios de satélite

Amplia cobertura, muy caros,

WiMax, UWB, …

p , y ,bajo ancho de banda (1-2Mbps)

……

Page 6: Introducción a la Computación Móilóvil

Celdas o Áreas de Cobertura

Large cells.gLow density

Small cells.High density

Smaller cells.Higher densityHigher density

Vijay Kumar, “Mobile Database Systems”

Page 7: Introducción a la Computación Móilóvil

Celdas o Áreas de Cobertura

El área de cobertura completa viene definida por un grupo de celdas

El tamaño de la celda depende de la El tamaño de la celda depende de la potencia de las estaciones base

PSTNMSC

Vijay Kumar, “Mobile Database Systems”

Page 8: Introducción a la Computación Móilóvil

Handoff/Handover

Cambio de estación base debido al cambio de celda

Se transfiere cierta información (estado)

Soft handoff: Conexión temporal a 2 Conexión temporal a 2

estaciones base Vs. Hard handoff

Margaret H. Dunham, ICDE’98 tutorial

Es necesario un mecanismo de seguimiento y gestión de posiciones

Page 9: Introducción a la Computación Móilóvil

Dispositivos Móviles

1. Comunicaciones inalámbricas2. Desconexiones frecuentes (ej. ahorro

energía)3. Recursos limitados:

• Batería• Batería• Pantalla• CPU memoria• CPU, memoria

4. Se mueven → los recursos varíanS d l liSe pueden localizar

Page 10: Introducción a la Computación Móilóvil

Dispositivos Móviles

Page 11: Introducción a la Computación Móilóvil

Implicaciones del Entorno pMóvil

Bases de datos en computación móvil vs. Bases de datos distribuidas

Implicaciones: Implicaciones: Procesamiento de consultas

ó Gestión de transacciones Seguridadg Interfaces de Usuario

Page 12: Introducción a la Computación Móilóvil

Acceso a Datos (I)

Factores clave en el acceso a datos: Ancho de banda disponible Coste económico de las transacciones / coste de

las comunicaciones Coste de establecimiento de una comunicación

Transacciones largas vs. cortas y frecuentes

Consumo de energía:Mi i i l í t ió i i l Minimizar la energía por transacción vs. maximizar el número de transacciones por segundo

Page 13: Introducción a la Computación Móilóvil

Acceso a Datos (II)

Coste de las comunicaciones: Más costosas ($$, batería, tiempo) cuando hay

dispositivos móviles (fallos retransmisiones)ó é Comunicación asimétrica:

Recibir consume menos que transmitir (un orden de magnitud de diferencia)magnitud de diferencia)

El ancho de banda disponible para recepción es mayor La capacidad de bajada por petición será probablemente

mayor que la capacidad de bajada por cliente

Interés de la diseminación de datos en el medio i lá b i (b d ti )inalámbrico (broadcasting)

Posibilidad de comprimir los datos ( CPU)

Page 14: Introducción a la Computación Móilóvil

Acceso a Datos (III)

Respuestas aproximadas: Quasi-copies

Naturaleza de las consultas: Consultas dependientes de la localización

(localización, dirección, movimiento, contexto) Datos dependientes de la localización “Location transparency” vs. “location awareness”

Lenguajes de consulta e interfaces de usuario

Page 15: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (I)

Modo pull/on-demand: Consume energía Se compite con otros usuarios por el ancho de

banda

Modo push/broadcast: El servidor transmite por broadcast El cliente descarga los datos interesantes

EJEMPLO: el teletexto

Page 16: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (II)

Ventajas del modo push/broadcast: Posibilidad de transmitir ítems de datos

relevantes (“hot data”) a un gran número ( ) gde usuarios con el mismo coste ( escalabilidad)( )

Elimina la necesidad de enviar peticiones desde los dispositivos móvilesdesde los dispositivos móviles Conserva el ancho de banda Reduce el consumo de energía en los Reduce el consumo de energía en los

dispositivos

Page 17: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (III)

Desventajas del modo push/broadcast : Se incrementa la latencia de acceso Muchos ítems de datos posibles difícil Muchos ítems de datos posibles, difícil

adaptación a los intereses de cierto usuario Ningún programa de broadcast satisfará por Ningún programa de broadcast satisfará por

completo las necesidades de un cliente individual caching y prefetchingg y p g

En algunos casos, simplemente no es posible (por ejemplo, monitorización de objetos móviles) diseminar todas las posibles respuestas

Page 18: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (IV)

Modelo híbrido (vs. “read-only”): Push+Pull (Interleaved Push and Pull, IPP) Peticiones relacionadas con los ítems transmitidos

Ej. Información entradas evento + compra de entradas

Peticiones sobre otros ítems de datos Decisiones periódicas respecto a si seguir

diseminando cierta información (y su frecuencia) o hacerla disponible sólo bajo demanda (ejhacerla disponible sólo bajo demanda (ej., dependiendo de las peticiones)

Modelo suscripción: perfiles/consultas continuas Modelo suscripción: perfiles/consultas continuas A veces no es posible (ej., trans. satélite)

Page 19: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (V)

Tres canales lógicos: Canal de datos de broadcast (downlink) Canal de datos solicitados bajo demanda Canal de datos solicitados bajo demanda

(downlink)Canal de peticiones de usuario (uplink) Canal de peticiones de usuario (uplink)

El ancho de banda disponible hay que repartirlo entre los distintos canales

Page 20: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (VI)

Si todos los ítems de datos (n) se publican en el l d b d t l i f i (fl tcanal de broadcast con la misma frecuencia (flat

program):Ti di d /2 ít Tiempo medio de espera: n/2 ítems

Proporcional al número total de ítems de datosI d di d l ú d li Independiente del número de clientes

El mismo para todos los ítems de datosí Tiempos de acceso mínimos frecuencias de

broadcast distintas para los ítems en función de l id d ( á i l t i itid )su popularidad (o máxima latencia permitida)

predecir las necesidades de los clientes

Page 21: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (VII)

Problema: Decidir qué items diseminar Decidir con qué frecuencia hacerlo

Broadcast disk scheduling Visualiza el canal de broadcast como un conjunto j

de discos “en el aire” (de acceso secuencial) Envío de datos periódico (vs. aperiódico) Los discos giran a distinta velocidad:

Mayor popularidad/importancia/relevancia de los datos mayor velocidad de giro

Otra forma de verlo: jerarquía de memoria

Page 22: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (VIII)

Problemas de caching: ¿Qué pasa si cambian los datos recibidos? Se necesitan mensajes de invalidación Se necesitan mensajes de invalidación

(Invalidation Reports, IR) Ej identificadores de los ítems que han Ej., identificadores de los ítems que han

cambiado

Otra posibilidad: quasi-copias Otra posibilidad: quasi-copias Reconexión de clientes desconectados

D t l h Descartar la cache Preguntar al servidor grupos de ítems

Probabilidad de“falsos negativos”

Page 23: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (IX)

Si los datos se diseminan sin ninguna información adicional: Los clientes tienen que escuchar el canal Los clientes tienen que escuchar el canal

continuamente: consumo de energíaTuning time vs latency Tuning time vs. latency

Por tanto, es interesante proporcionar al cliente un directorio de los datos transmitidos (“index on the air”)( ) Doze mode vs. active mode

Page 24: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (X) ¿Qué contiene el índice?

Di i t l Direcciones temporales Necesidad de cierta sincronización (el cliente puede escuchar

un poco antes, por seguridad)

Direcciones multicast La tarjeta Ethernet escucha esas direcciones mientras la CPU

está dormidaestá dormida

¿Cómo multiplexamos índice y datos? Una opción es transmitir el índice completo con cada ciclo de p p

broadcast Pero entonces los clientes que pierdan el índice tendrán que

esperar al siguiente ciclo: latenciaesperar al siguiente ciclo: latencia Para minimizar la latencia (de acceso al índice) es mejor

transmitir el índice varias veces

Page 25: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (XI)

Indexing on Air: (1, m) indexing Se transmite el índice completo m veces

durante un ciclo de broadcast tuning time latencia

¿Es necesario trasmitir el índice completo cada vez?

latenciaDistributed indexing

Page 26: Introducción a la Computación Móilóvil

Diseminación de Datos en un Entorno Inalámbrico (XII)

Distributed indexing:

Page 27: Introducción a la Computación Móilóvil

Modelos de Computación Para pEntornos Inalámbricos

Modelo cliente/servidor Modelo cliente/agente/servidor

Modelo cliente/agente/agente/servidor Modelo cliente/agente/agente/servidor Modelo Peer-to-Peer (P2P)( ) Agentes Móviles

Page 28: Introducción a la Computación Móilóvil

Modelo Cliente/Servidor (I)

Modelo de comunicación: Remote Procedure Call (RPC) Paso de mensajes Paso de mensajes …

d d ó Modo de sincronización: Síncrono: el cliente se bloquea si no hay q y

conexión Asíncrono: más apropiado para Asíncrono: más apropiado para

computación móvil

Page 29: Introducción a la Computación Móilóvil

Modelo Cliente/Servidor (II)

Optimizar para el entorno inalámbrico puede suponer realizar modificaciones tanto en el cliente como en el servidortanto en el cliente como en el servidor

Red Fij

RedI lá b i

Dispositivo móvilFijaInalámbrica

AplicaciónCliente

AplicaciónServidora

Cliente

Page 30: Introducción a la Computación Móilóvil

Modelo Cliente/Agente/Servidor (I)

Introducimos un intermediario (un agente) entre el cliente y el servidor

Se consideran dos tipos de interacción: Se consideran dos tipos de interacción: Cliente Agente: optimizada para el

t i lá b ientorno inalámbrico Agente Servidor: diseño tradicional

El agente puede aplicar técnicas de optimización y transformación de losoptimización y transformación de los datos según sea necesario

Page 31: Introducción a la Computación Móilóvil

Modelo Cliente/Agente/Servidor (II) Las optimizaciones necesarias para el

i lá b i i l lentorno inalámbrico involucran al cliente y al agente, pero no hay que y g p y qtocar el servidor

RedRed

Dispositivo móvil

RedFija

RedInalámbrica

Dispositivo móvil

AplicaciónAplicación ServidoraAgentep

ClienteServidora

Page 32: Introducción a la Computación Móilóvil

Modelo Cliente/Agente/Servidor (III)

Ejemplo: Wireless Application Protocol(WAP) El cliente es un navegador web en un El cliente es un navegador web en un

dispositivo móvilUn Gateway WAP actúa como agente Un Gateway WAP actúa como agente (intermediario), traduciendo páginas web en un formato adecuado para el dispositivoen un formato adecuado para el dispositivo móvilS tili HTTP tá d Se utiliza HTTP estándar

Page 33: Introducción a la Computación Móilóvil

Modelo Cliente/Agente/Servidor (IV)

Ejemplo: Wireless Application Protocol(WAP) Wireless Markup Language(WML)(WML)

Page 34: Introducción a la Computación Móilóvil

Modelo Cliente/Interceptor/Servidor (I)

También llamado: Modelo Cliente/Agente/Agente/Servidor

En este caso hay un agente del lado del En este caso hay un agente del lado del servidor y otro del lado del cliente

Los dos agentes interaccionan para reducir las comunicaciones inalámbricas

Ambos agentes pueden dividirse el trabajo en función de las condicionestrabajo en función de las condiciones actuales

Page 35: Introducción a la Computación Móilóvil

Modelo Cliente/Interceptor/Servidor (II)

El agente del cliente puede soportar un modo desconectado asíncrono e incluir optimizaciones como la materializaciónoptimizaciones como la materialización de vistas

RedRed

Dispositivo móvil

RedFija

RedInalámbrica

Dispositivo móvil

AplicaciónServidora

Agentede

ClienteAgente

de ServidoraServidorCliente de Cliente

Page 36: Introducción a la Computación Móilóvil

Modelo P2P

Cualquier dispositivo puede actuar ásimultáneamente como cliente o como

servidor Se afirma que este modelo puede ayudar a

mejorar la fiabilidad, disponibilidad, y rendimiento

Page 37: Introducción a la Computación Móilóvil

Agentes MóvilesAgentes software:

S d d d d d Se mueven de ordenador a ordenador A petición del usuario, autónomamente

Ej l tió d i j Ejemplo: gestión de viajes

Soportan usuarios móviles

(asíncronos)

Page 38: Introducción a la Computación Móilóvil

Campos Relacionados con la pComputación Móvil

Ubiquitous Computing / PervasiveComputing (smart objects) Wearable computing Wearable computing Augmented reality = natural interfaces

A bi t I t lli ( i t i ) Ambient Intelligence (no intrusivo) Smart environments

Context-Aware ComputingContexto: localización actividad coste de Contexto: localización, actividad, coste de acceso a la red, batería disponible, etc.