• No results found

System benchmarking on X86 platforms

En este bloque se engloban todas aquellas funciones de adquisición de datos procedentes de sensores heterogéneos, para obtener, después de un proceso controlado un conjunto de descriptores simples de contexto, que puedan posteriormente asociarse formalmente a una entidad.

Adquisición de datos

La unidad funcional de adquisición de datos comprende los mecanismos necesarios para recoger datos crudos de fuentes que serán sensores físicos, lógicos o virtuales. El proceso necesita habitualmente el apoyo de software de adquisición, implementado a diferentes niveles lógicos. Por ejemplo, para acceder a los datos GPS de un dispositivo móvil hará falta una aplicación programada en un lenguaje de acceso a datos de bajo nivel (C++, C#...), y que utilice librerías adecuadas al sistema operativo del terminal. Si, por el contrario, la construcción de la imagen requiere recuperar información de un servicio web que ofrece una API XML, accesible vía HTTP (como el servicio Google Calendar, por ejemplo), el software de adquisición deberá gestionar las peticiones HTTP. Si se trata de recibir los datos de un monitor de frecuencia cardiaca Bluetooth a través de una PDA-pasarela, será necesario desarrollar un software capaz de establecer esa conexión con el dispositivo y recibir los datos para después proceder a su traducción y conversión. Como se puede observar, el proceso de adquisición es muy dependiente de situaciones de contorno, haciendo que tenga muchas peculiaridades.

Así, operaciones habituales en el proceso de adquisición son:

- El establecimiento de comunicaciones entre dispositivos, utilizando diferentes mecanismos lógicos (puertos serie, comunicaciones HTTP, etc.).

- El descubrimiento y almacenamiento de direcciones físicas (y asociación entre las mismas). Dado que en los procesos de fusión es necesario asociar datos procedentes de diferentes fuentes (por ejemplo, medidas de RSS de un chip Bluetooth con otras de uno WiFi), la identificación de interfaces es un elemento que tiene que estar controlado.

- Inclusión de marcas de tiempo, que son necesaria para posteriormente realizar alineamiento temporal de los datos, con el fin de asociarlos correctamente.

Por otra parte, existen algunos aspectos de los sistemas que se mantendrán y en ocasiones, condicionarán la arquitectura general, como:

- El control de calidad de los datos. Basándose esta arquitectura en la construcción de una instancia de contexto de calidad suficiente para lograr una calidad de servicio, los aspectos relacionados con la calidad estarán presentes a lo largo de la

CAPÍTULO 4 • • •

138

arquitectura. En el momento de la adquisición, el control de la calidad estará asociado a la capacidad de autorregulación de los sensores y software de adquisición, que podrán gestionar la repetición de medidas en caso de que haya una caída en las comunicaciones, aumentará las frecuencias de muestreo si es necesario para conseguir una determinada calidad y calculará indicadores de calidad asociados (que podrán combinar el error de medida del hardware con el del proceso de adquisición).

- El mantenimiento de los requisitos de privacidad establecidos. En el momento de la adquisición de datos puede ser necesario el uso de uso de pseudónimos o técnicas similares que permitan ocultar la identidad de las entidades, que se mantendrán en los bloques posteriores (aunque no se consideran en esta Tesis ya que el mantenimiento de la privacidad y la seguridad en las aplicaciones contextuales constituye un problema de complejidad suficiente en sí mismo).

Identificación de las interfaces físicas: averiguación de direcciones físicas y de la relación entre las mismas. Implementación de procedimientos de autenticación, necesarios para acceder a los datos.

Acceso/adquisición de los datos de sensores físicos (RSS, tiempos de vuelo, identificadores de puntos de acceso…), lógicos

(direcciones IP…) o virtuales (información suministrada en formato XML…).

Verificación de la disponibilidad de los canales de comunicación.

Procesos básicos de adecuación de señal, como estampado de marcas de tiempo.

Evaluación de la calidad de la información: estimación y representación del error de la fuente de datos, que estará asociada

al hardware del proceso de medida.

Adecuación de los procesos a las políticas de privacidad establecidas: despliegue de envolventes de parámetros físicos,

utilización de pseudónimos.

Figura 4.16 Esquema funcional del subsistema de adquisición de datos.

Preprocesado de medidas

Después del proceso de adquisición, los flujos de datos sufrirán un filtrado primario, cuyo objetivo es controlar la completitud de los datos y la existencia de outliers (valores inesperados o irregularidades). En general, la salida de este segundo bloque funcional proporcionará una representación de los datos adquiridos (por ejemplo, en forma de tuplas), que incluirá identificadores físicos de los dispositivos (sensores y “blancos”), estimaciones del error de la fuente, unidades de medida y los parámetros adquiridos (parámetros de comunicaciones – medidas de potencia de señal, notificaciones de presencia, tiempos de vuelo-, parámetros ambientales – temperatura, nivel de luz…-, señales biológicas (electrocardiógrafo, ritmo cardíaco…) dispuestas para asociación y fusión.

• • • ARQUITECTURA DE FUSIÓN MULTISENSOR PARA LA PROVISIÓN DE SERVICIOS CONTEXTUALES

Construcción de la representación de los descriptores simples de contexto (por ejemplo, construcción de tuplas

<id_fuente, id_objetivo, posición_norte, tiempo>)

Normalización para evitar los efectos de la heterogeneidad del hardware. Evaluación de la calidad de la información: estimación de errores medios.

Políticas de privacidad: despliegue de envolventes de parámetros físicos, utilización de pseudónimos. Figura 4.17 Esquema funcional del subsistema de procesado de medidas.

Asociación de datos

La etapa de asociación de datos comienza con la alineación temporal de las representaciones obtenidas en la etapa de preprocesado, para combinarlas con el objetivo de construir secuencias de datos complejos y calcular su estimación de error. Por ejemplo, un sistema WiFi de posicionamiento en interiores basado en red y asistido por terminal recogerá la potencia de señal recibida de varios puntos de acceso: una tupla compuesta por <id_dispositivo, RSSAP1…, RSSAPn, tiempo> puede ser necesaria para alimentar el proceso de fusión. Después, se deben llevar a cabo los procesos de verificación de completitud de datos y corrección de errores. En un sistema de posicionamiento WiFi como el mencionado anteriormente, un grupo de APs pueden estar permanentemente midiendo la RSS de los dispositivos en su área de cobertura. Debido a oclusiones transitorias, algunas medidas se pueden perder, incluso si el dispositivo se encuentra en el área de cobertura de un determinado punto de acceso. Esta situación puede distorsionar el resultado del posicionamiento, por lo que el sistema debe aplicar las acciones correctivas que correspondan.

Sincronización: módulo de alineación temporal de tramas. Algoritmos de asociación. Enventanados, por código, NN. Construcción de representaciones de datos.

Evaluación de la calidad de la información: verificación de la completitud de los datos, procedimientos de corrección de

errores.

Políticas de privacidad: despliegue de envolventes de parámetros físicos, utilización de pseudónimos. Figura 4.18 Esquema funcional del subsistema de asociación de datos.

Por otra parte, el filtrado de outliers puede realizarse basándose en el uso de registros históricos, resultados predichos o la construcción de mapas egocéntricos, grafos de Voronoi, etc. que incluyan las restricciones físicas que influyen en el movimiento o actividad del usuario. Por ejemplo, las relativas a la velocidad (a una persona se le

CAPÍTULO 4 • • •

140

supondrá un máximo de velocidad de desplazamiento que servirá para acotar en un área determinada la búsqueda) o los obstáculos espaciales (en determinadas circunstancias, habrá caminos que no puedan traspasarse). En este punto, el subsistema de Asociación recibirá el apoyo del Subsistema de Predicción y Seguimiento, que controlará y estimará las posiciones/acciones/movimientos futuros a partir de sus registros.

Durante el proceso de asociación de datos, la utilización de pseudónimos u otros tipos de mecanismos para ocultar la identidad se debe mantener para garantizar los potenciales requisitos de privacidad que se hayan establecido.

Fusión

Hay muchas alternativas para dividir el proceso de fusión, que son apropiadas según las combinaciones de datos, ambigüedades, densidades, requisitos del sistema para tipos de información, calidad, disponibilidad y tiempo (Bowman y Steinberg, 2001). Por tanto, la unidad de fusión puede aglutinar diversos algoritmos, cada uno de ellos con sus estrategias particulares de combinación, cooperación o competición entre tecnologías. El sistema puede implementar un mecanismo de selección entre los algoritmos de fusión disponibles, con el objetivo de adaptarse para obtener la calidad de información de contexto que demanda el sistema (por ejemplo, en el caso de la posición, se considerará para la elección de la estrategia la precisión que necesita la aplicación consumidora) y satisfacer las restricciones impuestas por el usuario (relacionadas, por ejemplo, con la privacidad, que llevar a elegir algoritmos de fusión en terminal frente a centralizados).

Los algoritmos podrán fusionar a nivel de datos (p.e. combinando medidas de potencia de señal procedentes de diferentes fuentes – varios puntos de acceso WiFi – o utilizando un filtro Bluetooth sobre un mapa de potencia RSS), o a nivel de estimador (p.e. fusionando un estimador de posición WiFi con un estimador de posición Bluetooth; el sistema de posicionamiento que utiliza una huella de potencia WiFi puede acelerar el proceso de búsqueda y evitar posibles outliers de funcionamiento utilizando un algoritmo complementario de identificación de regiones basado en Bluetooth).

Podrá existir un elemento decisor que determine, en función de la calidad de los datos recogidos, el algoritmo que puede utilizar el sistema de fusión. La idea de realizar fusión “anidada” o “jerárquica”, que permita ajustar el coste de obtención de la estimación a los requisitos iniciales y proporcionar información consumible a diferentes niveles (por ejemplo, de precisión y de complejidad, en el caso de procesos de fusión para algoritmos de localización), permite responder a solicitudes sobre el mismo estimador pero desde terminales con diferentes capacidades. Por ejemplo, el sistema de fusión podrá ser capaz de ofrecer información de posición a través de diferentes técnicas: si la información de posición es para un terminal que dispone de WiFi, el sistema de fusión podrá realizar un proceso basado en fingerprint de RSS para hacer la estimación; en caso de que el terminal disponga únicamente de tecnología celular, el sistema de fusión sólo podrá proporcionar una estimación obtenida desde el conocimiento del identificador de la estación base a la que se encuentra conectado el dispositivo.

Por otra parte, el proceso de fusión puede ir complicándose “bajo demanda”: es decir, el resultado del proceso de fusión, que es una características estimada con un cierto nivel

• • • ARQUITECTURA DE FUSIÓN MULTISENSOR PARA LA PROVISIÓN DE SERVICIOS CONTEXTUALES

de error, será evaluado en términos de calidad por el mismo subsistema de fusión, primero, y posteriormente por el subsistema de construcción de la imagen de contexto. Si no es suficiente en uno u otro caso, el subsistema de fusión podrá utilizar datos procedentes de otros tipos de sensores, solicitar un mayor número de muestras o replantear la estrategia de fusión con algoritmos que permitan disminuir el error.

Sincronización: alineación temporal y filtros de descarte.

Adecuación de los datos al proceso de fusión: conversiones y traducciones. Estrategias de selección de algoritmos: cooperativas/competitivas/complementarias. Algoritmos de fusión.

Filtros implementados: de partículas, topológicos, en grid, de Kalman, Kalman extendido, etc. Métodos para calcular distancias: euclídea, euclídea con pesos, vecino más próximo, minmax, etc. Transformadores.

Construcción de representaciones de descriptores de contexto complejos. Evaluación de la calidad de la información: construcción de los estimadores de error.

Políticas de privacidad: cloacking espacial o temporal, establecimiento de zonas mixtas de confianza. Figura 4.19 Esquema funcional del subsistema de fusión.

Además, en esta etapa se incluirán todos aquellos procesos de adecuación de los datos a la estrategia de fusión: sincronización entre datos de fuentes tecnológicamente heterogéneas, conversiones de tipos de datos, traducciones a sistemas de representación necesarios para llevar a cabo el proceso, etc. Existirán también una serie de funciones “comodín”: métodos bayesianos para calcular los pesos de los coeficientes de una función de promediado o métodos para calcular distancias (euclídea, euclídea ponderada, vecino más cercano –NN-, minmax, etc.), por ejemplo.

La salida de esta etapa será, supuestamente, una trama de datos que contendrá descriptores únicos de primer nivel sincronizados (posición, velocidad, orientación, frecuencia cardiaca, nivel de glucosa, tasa de respiración, etc.), pudiendo éstos agruparse por tipos de información (movimiento, biomédicos, ambientales, etc.), y sus correspondientes estimadores de error. El cloacking espacial o temporal (el mecanismo de introducción de un error exprofeso que distorsione la medida) o el establecimiento de zonas mixtas de confianza pueden ser los mecanismos elegidos en este caso parar preservar la privacidad.