Computación Ubicua
Paradigma de computación inventado por Mark Weiser en Xerox PARC
Ubiquituos Computing:
Pretende aumentar los entornos en que vivimos (casa, oficina) y los objetos en ellos contenidos (puerta, cuadro, pizarra) con servicios computacionales
Estos servicios son ofrecidos por dispositivos computacionales integrados de manera transparente con nuestro entorno (Invisible Computer)
A menudo no requieren la interacción explícita del usuario, sino implícita a través de contexto (existe inteligencia ambiental)
Computación Sensible
Sentient Computing disciplina de software que hace posible la Computación Ubicua:
Dispositivos computacionales integrados en nuestro entorno que nos proporcionan servicios son aumentados con capacidades sensoriales:
Pueden ver o oir (sentir) quién o qué se encuentra a nuestro alrededor, qué actividad están realizando, dónde se encuentran y cuándo algo está ocurriendo
Infraestructuras de computación sensibles al contexto proveen de manera proactiva servicios al usuario que responden a su situación contextual.
Objetivos de Computación Sensible
Construir Espacios Sensibles e Inteligentes (Sentient Spaces) = entornos computacionales que sienten y reaccionan.
Reducir la separación (gap) en la interacción entre el usuario y el ordenador usando contexto (adios ratón y teclado)
Materializar concepto de Ubiquitous Computing
Funcionamiento Sentient Computing
Sentient Computing = ordenadores + sensores + reglas:
Sensores distribuidos capturan contexto, e.g. temperatura, identidad, localización, etc
Sistemas de reglas modelan cómo los ordenadores reaccionan a los estímulos provistos por sensores
3 fases: (1) captura de contexto, (2) interpretación de contexto y (3) ejecución de acciones
La siguiente revolución (I)
En el mundo de la telefonía móvil se han vivido sucesivas revoluciones.
Actualmente se está llegando a la tercera generación (3G) dónde la diferencia radica en:
Mayor ancho de banda
Terminales multimedia
Contenidos multimedia
Plataforma de computación total
La siguiente revolución (II)
La pregunta es: ¿en qué consistirá la 4ª generación?
¿Mayor ancho de banda?
¿Mayor interactividad?
…
Para nosotros 4G = inteligencia ambiental / móvil:
El terminal conoce al usuario: es su mayordomo, su asistente personal
El terminal facilita al usuario sus tareas en base a ese conocimiento
El terminal facilita la interacción del usuario con el entorno, hasta el punto de operar sin participación del usuario
Características (I)
Un sistema que permita alcanzar nuestra definición de 4G debe:
Percibir el entorno: terminal móvil con sensores, puertos bluetooth e infrared, cámara (reconocimiento por visión), …
Características (II)
Almacenar todas las interacciones del usuario (llega al garaje, abre la puerta, llama al ascensor, entra en casa, …)
Extraer patrones de comportamiento a partir de dichos datos, en base a:
Tiempo (horarios y fechas)
Lugar
Dispositivos vecinos
Correlaciones de tareas (anteriores)
Características (III)
Aplicar este conocimiento según los patrones extraídos:
abrir la puerta del garaje cuando se aproxima (tiempo, lugar y dispositivo próximo)
llamar al ascensor después
…
El terminal móvil está siempre con el usuario: es el elemento ideal para habilitar estos servicios
El móvil se convierte en una herramienta vital para Computación Sensible
Arquitectura EMI2 (I)
EMI2: Environment-Mobile Intelligent Interaction
Es una arquitectura que permite avanzar hacia el concepto de inteligencia ambiental/computación sensible, utilizando el terminal móvil como catalizador
Características:
Almacena todas las interacciones del usuario para extraer los patrones de comportamiento
El almacén puede ser local o remoto
Utiliza mecanismos de localización (GPS, bluetooth, reconocimiento de patrones (código barras))
Utiliza mecanismos de descubrimiento del entorno (bluetooth, infrared, cámara)
Basado en tecnologías web: servicios web y XML
Arquitectura EMI2 (II)
Elementos:
EMIBehaviourRepository: almacén de datos de interacción
EMIDevice: dispositivo del entorno
EMIProxy: representante del usuario (terminal móvil), sondea la presencia de EMIDevices
Arquitectura EMI2 (III)
(Gp:) EMIProxy &
(Gp:) EMIBehaviourRepository
(Gp:) EMIBehaviourRepository
(Gp:) EMIDevice
(Gp:) EMIDevice
(Gp:) EMIDevice
(Gp:) Bluetooth, WiFi, Ethernet
(Gp:) Bluetooth, Camera
EMIBehaviourRepository
El EMIBehaviourRepository puede estar repartido entre:
EMIProxy
EMIDevice
una entidad independiente
Ya que todos ellos pueden guardar partes de la pauta de comportamiento del usuario y elaborar su propio perfil.
Esto significa que el terminal móvil puede guardar datos sobre cómo el usuario usa una puerta, pero también la puerta puede guardar datos sobre el usuario
Mensajes EMI2
EMI2 hace uso de mensajes XML.
Ejemplo de mensaje de presencia de EMIDevice:
Puerta de entrada
Puerta de entrada del Edificio ACME
Escenario posible a través EMI2
Usuario llega a entrada trabajo, móvil (EMIProxy) detecta mecanismo validación puerta (EMIDevice) y se lo muestra al usuario.
Usuario selecciona operación ‘validación de acceso’, introduce PIN y puerta se abre
Usuario llega a oficina, sistema control temperatura detecta su presencia y se configura con los parámetros utilizados por usuario la última vez.
Usuario se acerca a máquina café, que le identifica y sugiere tipo de bebida que suele tomar a esa hora. El usuario acepta y la bebida es servida.
Usuario coge libro de biblioteca empresa y apunta móvil a código de barras en libro, BD biblioteca es actualizada indicando quién tiene el libro ahora.
MobileEye (I)
Primera aplicación prototipo para evaluar concepto de EMI2:
Usa una combinación de códigos de barras 2-D y móviles con cámara, para que éstos reconozcan los objetos de su entorno:
Añade “capacidad de visión” al teléfono móvil
Objetos del entorno son aumentados con representantes software (proxies) en la forma de servicios web:
Puerta asociada con PuertaWebService
Cuadro con CuadroWebService
MobileEye (II)
(Gp:) Still Life: Vase with Fifteen Sunflowers
Oil on canvas100.5 x 76.5 cm.Arles: January, 1889Tokyo: Sompo Japan
Museum of Art
MobileEye (III)
Como consecuencia del reconocimiento de una objeto en entorno, el móvil presenta información/interfaz a través del cual usuario puede operar con servicio web de objeto etiquetado
Facilita la interacción a través del móvil con nuestro entorno
Componentes EMI2 de Inteligencia Artificial (EMIBehaviourRepository) no usado. MobileEye usa una simplificación de la arquitectura de EMI2
Supone interacción siempre explícita del usuario con las entidades aumentadas
MobileEye (IV)
(Gp:)
61002
Mobility
Book about Mobile Agents
http://www.deusto.es/library?book=123
(Gp:) MobileEye Server
(Gp:) captured image
(Gp:) Parsed image response in XML
(Gp:) Code ?
Web Service
Códigos de barras para MobileEye
TRIP: 2-D barcode con código ternario
Ojo de buey fácilmente identificable:
no varía con respecto a:
rotación
perspectiva
alto contraste
2 anillos de codificación de 16 bit :
1 sector de sincronización
2 para comprobar error de paridad
313 = 1584323 códigos válidos
(Gp:) * 10 2011221210001
TRIPcode with ID 1160407
(Gp:) 1
(Gp:) 2
(Gp:) 0
(Gp:) sync sector
(Gp:) even-parity sectors
Image processing en MobileEye
(Gp:) Stage 0: Grab Frame
(Gp:) Stage 1: Binarization
(Gp:) Stage 2: Binary Edge Detection
(Gp:) Stage 3: Edge Following & Filtering
(Gp:) Stages 4-7: Ellipse Fitting, Ellipse Concentricity Test, Code Deciphering and POSE_FROM_TRIPTAG method
(Gp:) Ellipse params: x (335.432), y (416.361) pixel coords a (8.9977), b (7.47734) pixel coords ? (15.91) degrees
Bull’s-eye radius: 0120 (15 mm)
TRIPcode: 002200000 (1,944)
Translation Vector (meters): (Tx=0.0329608, Ty=0.043217, Tz=3.06935)
Target Plane Orientation angles (degrees): (??=-7.9175, ?=-32.1995, ?=-8.45592)
d2Target: 3.06983 meters
Funcionamiento de MobileEye (I)
Dos modos de funcionamiento:
A través de aplicación standalone (basada en J2ME)
Usando capacidades estándar de un teléfono multimedia (MMS, Wap Push y páginas WML)
Funcionamiento de MobileEye (II)
Opción 1: MIDlet que lleva a cabo las siguientes funciones:
Captura imágenes y las envía a petición del usuario a servidor MobileEye
Servidor MobileEye procesa la imagen y envía como respuesta un fichero XML con información sobre objeto reconocido y url apuntando a servicio web que lo representa.
MIDlet MobileEye visualiza la respuesta y/o interfaz del servicio web del objeto etiquetado
Requiere teléfono móvil que soporte J2ME MMAPI (actualmente Nokia 3650 y Nokia 6600)
Funcionamiento de MobileEye (III)
Opción 2: Usuario simplemente utiliza capacidades ya disponibles en móvil:
Envía MMS con imagen de objeto etiquetado a la dirección mobileeye@ctme.deusto.es
Servidor MobileEye comprueba la recepción de esos mensajes en servidor mail y extrae de ellos la imagen
Servidor MobileEye procesa la imagen y envía respuesta:
Si se ha reconocido código, se envía un Wap Push al móvil del usuario con url apuntando a descripción e interfaz WAP del servicio web del objeto etiquetado
Si no se ha reconocido código, se envía un SMS indicando al usuario que reenvíe otra imagen más cercana (más pixels) del código de barras del objeto.
Disponible para un gran abanico de teléfonos móviles de última generación
StreamEye
Supervisión remota
“Muestra la imagen capturada por un móvil apuntando a tu niño” en una página web
http://172.16.107.72/mobileeyewatch
Conclusiones
EMI2 es un modelo de arquitectura que permite crear entornos inteligentes
El objetivo es diseñar un sistema personal 4G que habilite un nuevo mundo de servicios móviles sensibles al contexto
La aplicación MobileEye añade a un móvil con cámara capacidad visual y demuestra cómo el móvil puede usarse como intermediario con nuestro entorno
Ejemplos códigos de barras