Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
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
Infraestructura General de Servicios de Datos
Proxy
ProxyProxyRed cableada
Proxy
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
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)
……
Celdas o Áreas de Cobertura
Large cells.gLow density
Small cells.High density
Smaller cells.Higher densityHigher density
Vijay Kumar, “Mobile Database Systems”
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”
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
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
Dispositivos Móviles
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
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
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)
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
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
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
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
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)
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
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
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
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”
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
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
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
Diseminación de Datos en un Entorno Inalámbrico (XII)
Distributed indexing:
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
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
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
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
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
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
Modelo Cliente/Agente/Servidor (IV)
Ejemplo: Wireless Application Protocol(WAP) Wireless Markup Language(WML)(WML)
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
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
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
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)
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.