Arquitectura de Sistema de Comunicaciones para Mediaciones
Transcripción
Arquitectura de Sistema de Comunicaciones para Mediaciones
Arquitectura de Sistema de Comunicaciones para Mediaciones Sociales en Redes Inalámbricas Punto a Punto1 Sergio Oyarce, Miguel Nussbaum { [email protected], [email protected] } Fax: + (56-2)-686-4444, Casilla 306 Santiago 22 Departamento de Ciencia de la Computación Escuela de Ingeniería Pontificia Universidad Católica de Chile Abstract La tecnología introduce el concepto de “computación ubicua” a través de dispositivos “portables” (wearable), con procesamiento, almacenamiento y comunicación que dan presencia permanente en cualquier lugar, formando espontánea y naturalmente redes distribuidas móviles, con características adecuadas para afianzar relaciones interpersonales. La relación interpersonal, por su parte, está determinada por factores que gatillan el encuentro inicial y otros que favorecen una relación de más largo plazo. Se propone una arquitectura para ambientes móviles que ofrece comunicación, búsqueda y selección de personas, para lograr relaciones más probables de ser estables. Se muestran resultados de aplicar esta arquitectura durante 3 meses en un entorno académico, con 40 alumnos de primer año. Se concluye que factores críticos de redes móviles (energía, cobertura de antena) deben ser resueltos previamente para un adecuado ambiente de análisis. Palabras Clave Computación ubicua, Ad-Hoc, Agentes Distribuidos, Sistema Distribuido Móvil, Búsqueda de Perfiles, Redes P2P, Pocket PC, Wi-Fi, 802.11b, Redes Inalámbricas 1. Definición del problema En comunidades que cuentan con tecnología, se forman redes de comunicación que pueden tener almacenamiento distribuido, usando dispositivos móviles en modo Punto a Punto2. Dichas redes de comunicación contienen recursos, que implican buscar información o personas. En particular, buscar personas implica a su vez buscar perfiles (de personalidad, gustos, etc.). La Figura 1 muestra un Mapa Conceptual del Problema que se aborda, el cual sirve de guía para indicar el contexto dentro del cual se trabaja. Todas las líneas gruesas y las palabras subrayadas indican los aspectos considerados. Se busca determinar una forma de buscar perfiles en redes móviles P2P para fomentar el acercamiento entre personas y/o aumentar la probabilidad de una relación duradera. A continuación se ve cómo enfrentar el problema. Figura 1. Mapa Conceptual del Problema 1.1 Introducción Formalmente, el tema relacionado con el inicio y desarrollo de relaciones interpersonales ha sido investigado ampliamente en el campo de la Psicología Social, proponiendo modelos que involucran una serie de factores que 1 Este trabajo fue parcialmente financiado por Microsoft Research y Fondecyt 1020734 P2P: Peer to Peer, traducido al español como Punto a Punto. En adelante, Peer es sinónimo de, Par, Nodo o Punto en redes móviles. 2 gatillan el contacto inicial, y otros factores generadores y sustentadores de relaciones más profundas. Dentro de los modelos desarrollados más importantes, destacan el de Perlman y Cozby [1] y el de Hewston et al. [2]. En ambos modelos se definen etapas graduales en el conocimiento interpersonal, con sus respectivos factores para cada nivel. Mencionan que existen factores relacionados con la cercanía de los individuos (proximidad física, trabajar cerca), mientras que otros están relacionados con el perfil de los individuos (semejanza de actitud, conocimiento previo, semejanza de intereses / valores / hobbies, semejanza de actividades preferidas). Una característica importante es que ambos aspectos son susceptibles de ser controlados o medidos. No es el caso de otros factores, que adolecen ya sea de control o de una métrica muy clara (normas sociales, atractivo físico, ser agradable y de fácil comunicación), por lo que no se consideran en esta oportunidad. Por otro lado, la comunicación mediada por computador (Computer Mediated Communication, CMC) ha sido investigada por Dietz-Uhler et al. [3] en comparación al encuentro cara-a-cara. De estos estudios se desprende que este tipo de comunicación incorporando el uso del computador cuenta con factores que facilitan el contacto interpersonal, rompiendo incluso barreras de tiempo y espacio. La CMC sería menos personal y socioemocional que la comunicación tradicional cara-a-cara [4]. Según Johnson [5], se pierde información que entrega el lenguaje no verbal (ver reacciones físicas o faciales, dirección de la mirada, postura física, entradas de contexto social como: la vestimenta; higiene personal, etc.). Todo esto hace que la CMC haga a sus participantes sentirse más libres, más cómodos y menos inhibidos, permitiendo igualdad entre los miembros, dando paso al proceso psicológico conocido como desindividuación (desindividuation), que es una disminución de la conciencia de las restricciones internas como: autopresentación, atención a las normas sociales y el focalizarse en sí mismo [3]. El estudio de Dietz, & Bishop [3] encontró que cuando una CMC precede a una discusión cara-a-cara, esta última es percibida como más agradable y en la cual se pueden incluir distintas perspectivas, lo cual no sucede en las discusiones cara-a-cara que no han sido precedidas por CMC. Todo lo anterior fortalece la idea que los dispositivos móviles hagan las veces de un computador que medie comunicaciones entre personas. Al tener la capacidad de almacenar información, puede registrar el perfil del propietario del dispositivo, quien estará conectado a través de redes inalámbricas a sus pares, pudiendo intercambiar información y seleccionar respuestas de acuerdo a los perfiles que más se adecuen al del propietario. Al contar con una cercanía de la persona seleccionada, se puede establecer una comunicación que puede concluir en una relación cara-a-cara, respaldada por perfiles que aumentan la probabilidad de mantener dicha relación en el tiempo. 2. Antecedentes El agente más relevante en la arquitectura propuesta es el de Búsqueda, ya que en él se centra la responsabilidad de encontrar no sólo un recurso parcial, como es la información (de acuerdo a la Figura 1), sino además tiene la función de seleccionar los candidatos más adecuados entre los que responden la consulta. Esto quiere decir que se debe retornar un recurso completo (perfil + información) de la siguiente manera: Persona = Búsqueda ( Información, Perfil_Personal ) Esto quiere decir, que se entrega una información como objeto de búsqueda, y de los resultados se compara el perfil personal de quien consulta con el de los que tienen la información, resultando así una lista de personas compatibles. Esta será la forma de buscar en la arquitectura propuesta, cuyo algoritmo se explica más adelante. En Internet se ha realizado una serie de avances en torno a los “buscadores”, cuya palabra técnica es “motor de búsqueda” (search engine). Cabe mencionar por ejemplo, que existe un agente muy especializado que es el crawler, spider, robot o simplemente “BOT”, que es un agente usado por motores de búsqueda y está encargado de rastrear sitios de Internet relacionados con un tema de búsqueda, e indexar sitios / páginas siguiendo los hiper-enlaces (hyperlinks) dentro de las páginas que encuentra en su recorrido. Existe un gran número de ellos, pero se hará una clasificación para poder administrar de mejor manera el problema. 2.1 Búsqueda en Redes Fijas Centralizadas [6] En redes distribuidas con dispositivos fijos y arquitectura cliente-servidor, o con dispositivos móviles con modo infraestructura, se cuenta con buscadores como Lycos, Alta Vista, Google, Yahoo (que usa Google) dentro de los más conocidos. Todos ellos funcionan recibiendo palabras clave (keywords), las cuales les sirve de entrada a un índice gigantesco llamado “catálogo”, que tiene todas las páginas que se han recopilado y están correlacionadas con palabras clave. De ellas obtiene los resultados y los entrega en una lista ordenados de acuerdo a algún algoritmo, propio de cada buscador, que mide la precisión de la respuesta. A su vez, el BOT antes mencionado toma las palabras clave de la búsqueda y aprovecha de mantener su base de datos de sitios leídos actualizada correlacionándolas con el índice o catálogo. De esta manera, cada consulta va actualizando la base de datos (BD). Google por ejemplo, dice contar con 2 mil millones de páginas web en su BD. Aun así, pueden existir millones de sitios sin visitar si nadie ingresa una palabra clave que permita al BOT rastrear enlaces relacionados. Por otro lado, la BD es una foto estática de la última vez que se consultó, por lo que si un sitio se movió, tendremos un resultado “añejo” sin sitio. Además, los millones de sitios diarios nuevos requerirán ser referenciados en alguna página, asociados a palabras clave, y consultados alguna vez para que un BOT actualice su BD con ellos. 2.2 Búsqueda en Redes P2P Centralizadas [6] La búsqueda en redes distribuidas con dispositivos fijos y arquitectura P2P centralizadas, se facilita por la presencia de un único sistema servidor, el que mantiene directorios de los archivos compartidos en los respectivos computadores de cada miembro de la red. Cuando un usuario busca un archivo, el servidor crea una lista de archivos que satisfacen el requerimiento de búsqueda, cruzándolo con todos los miembros que se encuentren en línea en ese momento. Una vez que el servidor da la lista resultante a quien solicitara el recurso, éste puede elegir los archivos de la lista y establecer contacto con el computador que es propietario del archivo (no el servidor). Esto requiere que los miembros de la comunidad se registren para que la central de búsqueda sepa quiénes están en línea y así asegurar que el archivo realmente existe. Sin embargo, el contar con un servidor central es riesgoso, y es un blanco perfecto para ataques en la red, incluso legales. Además, el mantener el índice de su BD periódicamente puede provocar que un miembro reciba información obsoleta. Dentro de los buscadores en funcionamiento con este sistema se encuentran: • OpenNap: (Open Source Napster Server) es una red de servidores corriendo el protocolo cliente-servidor propietario Napster. No hay archivos (MP3) guardados en el servidor, no necesita usernames (podría haber hecho un servicio anónimo), no necesita guardar dirección IP entre sesiones (muchas se asignan en forma dinámica), la interacción P2P entre clientes usa protocolos standard. Es un servicio gratuito (open source). • eDonkey: también es una red semi-centralizada, en que cualquiera es libre de ejecutar un servidor. Hay servidores de índice separados, escasamente conectados. Cuando un cliente (miembro) envía un requerimiento a un servidor, sólo se busca en ese servidor. Una vez que la búsqueda se completa, el cliente puede enviar el mismo requerimiento al siguiente servidor en su lista si es necesario. Una vez que el archivo está en la cola de “transmisión” o “bajada” ( download), se continúa preguntando a otros servidores. Esto es porque eDonkey fue la primera aplicación cliente que baja simultáneamente de múltiples fuentes, y que soporta compartir archivos bajados parcialmente, de manera de permitir a otros clientes comenzar a bajar un archivo de esta lista, mientras ese archivo aún está siendo bajado. • Filetopia: una aplicación cliente-servidor creada por españoles, que usa fuerte encriptación de llave pública (256 bits) para garantizar a sus miembros seguridad y anonimato. Al continuar con la arquitectura del modelo cliente-servidor, se ha distribuido al servidor en diferentes zonas, y la conexión entre miembros (clientes) es P2P. Pero se sigue entregando recursos de información, aun cuando existe ya un leve atisbo de contacto con el dueño del recurso. No existe nada como filtro a través de un perfil de los miembros de la comunidad. 2.3 Búsqueda en Redes P2P Descentralizadas [6] La búsqueda en redes distribuidas con dispositivos fijos y arquitectura P2P descentralizadas, se realiza sacando de la red la estructura central de manera que cada par (peer) se pueda comunicar de manera equitativa, igualitaria con otro par. Cuando un par (A) se conecta a una red descentralizada, se conecta a un par (B) para avisarle que está vivo. El par (B) a su vez informa a toda la comunidad a la que está conectado (C, D, E F, etc.) de la presencia de (A). Se repite el patrón con el resto de la comunidad (C, D, E, F, etc.). Una vez que (A) ha anunciado que está vivo, puede enviar un requerimiento de búsqueda a (B) (Figura 2), quien lo traspasa a (C), (D), (E), (F), etc. Si por ejemplo (C) tiene una copia del archivo Figura 2. Búsqueda P2P Descentralizada requerido por (A), transmite a (B) una respuesta quien la pasa a (A), quien finalmente puede abrir una conexión directa con (C) y bajar el archivo. En la práctica se utiliza un TTL (Time To Live) para controlar la propagación, es decir el número de nodos a los que puede alcanzar un requerimiento. Tiene la ventaja que ya no existe un único servidor, y que es mucho más difícil “matar” los múltiples servidores. Tiene la clara desventaja que una búsqueda en este entorno es mucho más lento que en uno centralizado. Además no garantiza encontrar un archivo, incluso si existe en la red, porque puede estar muy lejos como para que un requerimiento de búsqueda alcance a un peer que lo tenga antes de cumplir su TTL. Algunas redes P2P descentralizadas actualmente en operaciones son: • Gnutella: lejos es la más popular a la red OpenNap. A su protocolo se le hizo ingeniería inversa y se colocó bajo el control de una fundación de fuente abierta (open source). También se extendió para soportar hashing, calidad de servicio y bajadas multi-fuente. La desventaja principal es la ineficiencia en redes muy pobladas, porque cada búsqueda puede generar muchos mensajes de solicitud “inundando” la red. Otra desventaja es el monitoreo de la solicitud, pues viene con HTTP standard sin seguridad. • mNet: (MojoNet) nació de un producto comercial – “ MojoNation”. Es un espacio de archivos universal, aunque la primera aplicación desarrollada para él fue una aplicación para compartir archivos. • FreeNet: el proyecto es más que una aplicación P2P que comparte archivos. Permite intercambio de información de forma completamente anónima. También implementa el uso de memoria caché (caching) y a cada nombre de archivo se le aplica una función de hash, de manera que los servidores no sepan lo que almacenan, y usa encriptación fuerte. En este caso, los intermediarios almacenan todos los resultados (esparce la responsabilidad), usa protocolo propietario (elimina monitoreabilidad de HTTP). • GnuNet [7]: es un intento de crear una red anónima, distribuida, que utiliza el modelo económico basado en la reputación o confianza (reputation-based, trust-based), en la que todas las conexiones son autenticadas, encriptadas y evaluadas según un nivel de confianza que varía de acuerdo a cómo responda a las búsquedas. Un nodo aumenta su confianza en nodos que responden a consultas y baja su confianza en nodos que solicitan como respuesta más información. Estas evaluaciones públicas sirven para guiar futuras consultas de otros nodos. Al utilizar arquitectura P2P descentralizadas para redes distribuidas con dispositivos fijos, se cambia el modelo con independencia de cliente-servidor a que cada peer es cliente y a la vez servidor. Existe mayor tendencia a establecer un contacto directo con otro miembro de la comunidad, y el propósito final es obtener información (un documento) que se comparte. Esto se acerca mucho al contexto dentro del cual se propone la arquitectura de un sistema distribuido móvil en este trabajo, pero nuevamente todos los casos adolecen del problema de buscar sólo recursos de información (datos), sin interés en el perfil de los propietarios de los recursos, que finalmente es lo que permite favorecer el establecer un contacto duradero entre los miembros. 2.4 Búsqueda de Perfiles La búsqueda de perfiles se ha resuelto con la recolección de información relevante a un contexto determinado a través de: • • Encuestas: aplicables a un contexto particular Formularios Predefinidos: aplicables a contextos más generales (Por ejemplo: Currículo Vitae para contextos laborales, Fichas Personales para match de parejas, etc.) En el presente trabajo se considera como “perfil” el “Modelo Mental” [8] del propietario del dispositivo de comunicación. Se utiliza la hipótesis de atracción por similitud [9], que es la teoría que contribuye de mejor manera a explicar la atracción interpersonal. A pesar que existen otros factores como actitud, orientación religiosa [10], y algunos otros, los más significativos para el comienzo de una relación son: afinidad en valores básicos, intereses y hobbies [9]. Dado lo anterior, interesa capturar la información relevante de cada persona por lo que se somete a cada miembro de la comunidad a una encuesta que involucra preferencias que pueden ser agrupadas en Grupos de intereses. Al analizar de manera estadística los puntajes de cada Preferencia, se determinan una cantidad de Grupos de interés, que aglutinan preferencias de acuerdo a la muestra realizada. Al graficar los puntajes promedio de cada miembro de la comunidad encuestada, surgen a su vez grupos de personas que tienen curvas similares, definiendo así perfiles determinados de preferencias que se denominan “ cluster”. n io al fo rm at ci In So Sp or ts In te lle ct ua l Sh op pi ng Preferences Scores Por ejemplo, en la Figura 3 se muestra 5 grupos de Cluster 1 intereses (compras, deporte, intelectual, social e 5 Cluster 2 Cluster 3 información) que resumen una cantidad de 4,5 Cluster 4 preferencias consultadas. A su vez, se grafican 5 4 Cluster 5 curvas diferentes que definen los “ cluster” de 3,5 personas que tienen perfiles de Preferencia similar, y 3 que por tanto debieran tener mayor probabilidad de 2,5 establecer relaciones duraderas. Este método será el 2 utilizado para la búsqueda de perfiles en el presente 1,5 trabajo, que “asegura” resultados con mayor 1 probabilidad de inicio y permanencia en las relaciones. En este trabajo se modelan los perfiles a través de una encuesta que involucra una cantidad de preferencias acordes a un contexto de interés. Cada preferencia es evaluada por cada miembro de la comunidad de 1 (el Figura 3. Ejemplo de Clusters y Preferencias menor interés en la preferencia) a 5 (el mayor interés), con lo cual el conjunto de puntuaciones de la encuesta forman el perfil de intereses en BD de cada miembro. 3. Implementación Dada las características de las relaciones interpersonales que se pretende lograr, es fundamental que la implementación sea diseñada para un dispositivo inalámbrico móvil. De esta forma el usuario es capaz de llevarlo consigo, el dispositivo es personal, independiente, capaz de almacenar información, con capacidad de procesamiento y con características que permiten comunicación. Esto es crucial para introducir un nuevo concepto, el de AGENTE (conocido también por Agente Inteligente). Una breve inspección por algunas definiciones en sitios Internet de Tecnologías de Información (IT) [11], [12], [13], [14], da una idea clara del concepto. De ellos se deduce que un agente es un programa que realiza una labor específica (recopila / procesa Figura 4. Niveles de interacción del sistema información), de manera “invisible”, que toma ciertas decisiones dependiendo de lo que reciba. Simula además una actividad humana, lo que explica el adjetivo de “inteligente”, funcionando efectivamente como una especie de agente o secretario, para un usuario o para otro programa. Ya se mencionó el caso más común presente en absolutamente todas las búsquedas en Internet (los crawlers o spiders). La arquitectura propuesta utiliza una agencia (conjunto de agentes), contando con uno específico para su búsqueda, además de otros que realizan labores bastante específicas como se verá. La Figura 4 sirve como guía para las capas que se detallan a continuación. 3.1 Arquitectura de Comunicaciones De acuerdo con la Figura 4, el sistema de comunicaciones tiene diversos módulos. Todos ellos son propios de cualquier sistema de comunicaciones. Sin embargo la característica subyacente de dos de ellos (Búsqueda y Comunicación) es el ambiente móvil, que determina su implementación adecuada. La característica más importante es el hecho de estar o no en línea con la red, cuya topología es variable. La segunda característica más importante es considerar las acciones que son propias del dispositivo local junto con las del dispositivo remoto, ya que es la misma arquitectura la que debe administrar los procesos tanto de inicio de una acción o evento, como el de ser receptor de una acción o un evento. • • • Comunicación, involucra todo lo que signifique intercambio de información entre usuarios: correo, chat, voz, avisos de incorporación de un miembro de la comunidad a la red inalámbrica. Se puede presentar dos tipos de comunicación: síncrona (chat / voz) cada vez que dos dispositivos pertenecientes a la red (y por tanto dos miembros de la comunidad) se encuentran en el mismo instante comunicándose; asíncrona (correo) cada vez que el dispositivo se encuentra incomunicado del resto de la red, pudiendo funcionar en forma independiente. En el caso de la comunicación síncrona existe previamente un proceso de negociación en la solicitud a iniciar una sesión en línea, donde son consultados los perfiles de usuario y los permisos de acceso, con el fin de evitar contactar personas que por alguna razón se ha informado al sistema que son no aptas de contactar. De esta forma, sólo se informa de una solicitud de conexión cuando tanto el agente local como el remoto hayan determinado que los participantes no tienen restricción de contactarse mutuamente. Búsqueda, involucra los recursos que se desea buscar, y los perfiles que se desea compatibilizar. Se cuenta con dos tipos de búsqueda: estructurada y no estructurada. La Búsqueda Estructurada envía una búsqueda de un recurso en forma de texto, y posteriormente el agente de búsqueda se encargará de su transformación (asociación) a un Grupo de intereses y posterior transmisión de dicho Grupo. El texto a solicitar se encuentra dentro de un contexto de categorías que selecciona el usuario, lo que internamente corresponde a una Preferencia específica, a través de la cual se guía la búsqueda. Por ejemplo, Categoría: Cultural, Preferencia: Asistir a Obras de Teatro, el texto a ingresar puede ser: “Tengo 2 entradas para ver Hamlet”. Esto provoca una búsqueda a través de la red por la Preferencia indicada, a partir del nodo solicitante. Al final del proceso de búsqueda, que sigue un algoritmo que se explica más adelante, se obtiene una lista de nodos que pueden responder al requerimiento solicitado. Todos los nodos respuesta tienen perfiles que se asemejan al nodo solicitante, de modo que si se efectúa un contacto posterior, existe mayor probabilidad de una relación exitosa en su inicio, y/o duradera en el tiempo. La Búsqueda No Estructurada, llamada Panel, funciona como un panel dinámico público de Ofertas y Necesidades, que varía dependiendo de los miembros visibles en el momento de la consulta. Esta búsqueda no cuenta con el filtro o selección por perfil, debido a que la búsqueda de recurso, al no poder clasificarse como estructurada, es tan específica que no permite restringir los resultados. Agenda, involucra dar a las comunicaciones sentido (semántica), de manera de integrar los medios de comunicación disponibles con los contactos (miembros de la comunidad). Cuenta con los servicios de recordatorio de tareas, concertación de reuniones con otros miembros de la red, directorio de miembros, solicitud de avisos de llegada de un miembro al entorno, configurar accesos a cada miembro, formación de grupos personalizados para envío de correo. 3.2 Arquitectura de Agentes Los agentes forman una base sobre la cual descansa la arquitectura de comunicaciones, y cada uno de ellos se preocupa de labores específicas que dan vida a las abstracciones del nivel anterior. Existe además comunicación entre los agentes, que para simplificar el contexto no aparece en la Figura 4. • Búsqueda, se encarga de producir la compatibilidad (match) entre los perfiles de quien solicita y quien responde, además de asociar la Preferencia con un Grupo de intereses, para clasificar las respuestas. De esta forma, sólo responden quienes tengan interés en la Preferencia y se clasifica aquellos que además tienen interés en el Grupo de intereses involucrado, de manera de acercarse al perfil del solicitante. Los que no tienen interés en el Grupo asociado, pero sí en la Preferencia son también respuesta, pero la posibilidad de una relación más duradera con ellos es más baja. • VoIP, se encarga de la comunicación oral a través de la red inalámbrica entre miembros visibles dentro del rango de acción de la antena del dispositivo. Este agente funciona como un teléfono, pudiendo sólo contactar a los miembros de la comunidad. • Mensajes XML, se encarga de todo el intercambio de información entre los dispositivos. Esto involucra: correo, solicitud de información pública de usuario remoto antes de un contacto (foto, gustos, etc.), solicitudes de aviso por llegada de algún miembro, solicitud de necesidades y ofertas públicas para la búsqueda no estructurada (panel), envío de registros de BD para monitoreo, solicitudes de búsqueda estructurada, respuestas de búsquedas, etc. • Chronos, se encarga de controlar el cumplimiento de un tiempo determinado para activar alarmas configuradas por el usuario, activar procesos como limpieza de documentos para fechas determinadas, etc. Todo lo relacionado con cumplimiento de plazos o tiempos (fecha - hora). • • • BD, se encarga de mantener actualizado el monitoreo capturando la información de rastreo cada vez que aparezca el nodo especial recolector. Esta actividad es completamente transparente al usuario. Red, se encarga de revisar la red cada cierto tiempo para avisar la presencia del nodo local, detectar la llegada de nodos remotos a la red, e inclusive mantener conversación escrita vía chat. Actualizador, que se encarga de actualizar módulos de cada agente recibidos desde una antena emisora, totalmente en línea, sin detener la aplicación principal. Una vez recibida la actualización la levanta y prosigue con la aplicación principal. Este agente sólo tiene fines de mantención. 3.3 Arquitectura del Sistema La Figura 5 muestra un escenario de trabajo, con algunos de los servicios que el sistema ofrece. Se aprecia que cada uno de los dispositivos móviles cuenta con su agente (círculos) y el entorno que lo rodea. El agente A está transmitiendo una conversación de voz con el agente B. El agente B además está recibiendo un correo que le envía el agente C que pasa por su entorno. Los agentes D y E se encuentran en una conversación escrita (chat). El agente F está fuera del radio de cobertura de todos los demás, pero tiene activa su agenda, en la que podrá almacenar correo, programar citas con miembros de la comunidad, anotar recordatorios, etc. El agente X es un agente que está conectado a través de Internet a un computador que registra la actividad de todos los que están en su entorno. El entorno del agente X visualiza a los agentes B, C, D. Nótese que los agentes A, E Figura 5. Escenario de Trabajo no están en su área de cobertura, pese a que ambos están conectados a otros agentes que sí son visibles por X. Para integrar todo lo antes mencionado, y contar con posibilidades de mantener información que permita determinar estados de un usuario, es imprescindible contar con una BD en el dispositivo. Esto involucra definir tablas y relaciones de las cuales las más destacables se explican a continuación: • Tabla: Perfil de Usuario, mantiene toda la información del usuario, la cual es de dos características: Pública, que contiene información que el usuario puede seleccionar para mostrar u ocultar al resto de los miembros de la comunidad; Privada, que contiene información propia del sistema primordialmente para monitoreo del usuario, invisible a él. • Tabla: Intereses, mantiene toda la puntuación que el usuario obtuvo en la encuesta hecha a todos los miembros de la comunidad. A través de ella se tiene el Perfil de intereses del usuario, el cual es utilizado para el algoritmo de búsqueda estructurada explicado más adelante en la Figura 5. • Tabla: Panel, mantiene toda la información pública de Ofertas y Necesidades del usuario, la cual es consultada cada vez que un miembro de la comunidad en el entorno entra al Panel de Búsqueda. • Relación: Tabla de Permisos, mantiene todos los permisos de acceso que el usuario local da a los restantes miembros de la comunidad a su perfil de usuario. • Relación: Tabla de Registros, mantiene toda la información requerida para hacer un rastreo de las actividades de un usuario. Caber hacer notar que todo lo que se almacena es de carácter neutro, sin involucrar información “personal” del usuario para no invadir su privacidad. Es por esta razón que todo se maneja al nivel de identificadores, como por ejemplo: IP1 incorpora IP2 en grupo ID_Grupo4 como identificador, que es el resultado de que Juan Pérez incorpora a Juan Moya al grupo “Los Malos”, siendo esta información mantenida sólo en el dispositivo. Un claro ejemplo que integra la BD con la arquitectura del sistema, y la de los agentes la constituye el Algoritmo de Búsqueda Estructurada, el cual es propietario del sistema propuesto. La Figura 6 muestra las etapas que se realizan y que se resumen como sigue: 1. Un nodo (A) solicita un recurso (texto) asociado a una Preferencia determinada “x”. 2. El agente transmite (A, x) a todos los nodos presentes en la red. 3. Un nodo (B) recibe el requerimiento y consulta si tiene interés por la Preferencia “x” en la BD. 4. 5. 6. 7. 8. Si tiene interés, responde (B, puntaje(x), puntaje( Grupo(x) )) al agente. El agente transmite directamente al origen (A) la respuesta. Nodo (A) clasifica respuestas por orden de puntaje en la Preferencia “x” en primer lugar para los que tienen interés en el Grupo de interés que incluye esa Preferencia, y después para los que no lo tienen. De esta manera se asegura que sólo responden quienes tienen interés en la Preferencia, y se cuenta con dos niveles de respuesta, siendo el primer nivel el más probable de establecer contacto exitoso dada la similitud en el Grupo de intereses, lo que se acerca al perfil de intereses del solicitante. El segundo nivel, puede responder a la solicitud específica, pero al distanciarse del Grupo de interés puede no ser una relación tan exitosa como los del nivel anterior. Un nodo (B) recibe el requerimiento y consulta si tiene interés por la Preferencia “x” en la BD. Si no tiene interés por la Preferencia “x”, informa al agente y éste NO CONTESTA. 4. Pruebas y Resultados Empíricos Figura 6. Algoritmo Búsqueda Se realiza una experiencia aplicando la arquitectura propuesta en un entorno académico con los siguientes datos relevantes: Duración: 3 meses (período: 1º de Abril al 22 de Junio de 2003). Comunidad: se seleccionó a 40 estudiantes de primer año de entre 400 de la carrera de Ingeniería de la Pontificia Universidad Católica de Chile, filtrando de manera de verificar que resultaran desconocidos entre sí. Red: Los dispositivos personales entregados fueron Pocket PC (70% Toshiba e740, 30% HP Jornada 568) con tecnología inalámbrica (Wi-Fi: Wireless Fidelity, conocida también como IEEE 802.11b), cuyo rango de acción oscila cerca de los 80 metros en promedio en exterior abierto, y 30 metros en interior. Utilizando toda la potencia de la antena en forma permanente para facilitar la visualización, junto con mantener otras aplicaciones que requieren recursos del dispositivo, provocan que las baterías duren como máximo 2 horas. Perfiles: La encuesta que se realizó contempló 99 Preferencias, de las cuales luego del análisis estadístico resultaron 5 Grupos de interés: Tecnología, Diversión, Información, Intelectual, Deporte. Los cluster finalmente no fueron considerados para la entrega de resultados en la búsqueda, sino solamente el interés en la Preferencia solicitada, con el fin de no forzar respuestas del sistema restringidas a un cluster definido. Además no se consideró el puntaje de la Preferencia, sino más bien sólo si tenía interés, con lo cual quien solicita cuenta con respuestas equitativamente válidas, sin tener forma de ordenarlas. Aplicación: El programa integrado, bautizado como ProyectoZ, incorpora diversos servicios (Agenda, Contactos, Chat con Teléfono incluido [VoIP], Búsqueda estructurada, Panel [búsqueda no estructurada]). Además, con fines de promover la cultura de uso de estos dispositivos, se agregó los servicios utilitarios de Calculadora e Internet (este último sólo dentro del campus). Registro: se instalaron 7 antenas para recibir y registrar información fresca de cada alumno, cada vez que circulara cerca de alguna de ellas, todas comunicadas a un servidor de BD donde se hizo acopio de toda la información. A continuación, se presenta las pruebas y resultados obtenidos dado el contexto recién detallado. 4.1 Tipo de Pruebas en vacío Se realizó todo tipo de pruebas que consideraron diferentes aspectos en los cuales el programa debe permanecer íntegro, con el fin de no producir en los usuarios alguna sensación de frustración. Para ello se considera todos los pasos que sigue una búsqueda desde su inicio hasta el contacto con una de sus respuestas, ya sea estructurada como no estructurada, pues recorre todo el ciclo de posibilidades. Además se realizó todas estas pruebas en tres escenarios distintos: en un área aislada sin ningún dispositivo alrededor ni antena para registro de datos, en un área con otros dispositivos en el área de cobertura pero aun sin antena de registro de datos, y en un área donde hubiera otros dispositivos móviles y una antena para los registros. • • • Consistencia en la BD, de manera que la información almacenada corresponda a lo que la interfaz está presentando: Agregar, Modificar y Borrar registros en lista de Contactos, en formación de Grupos de Contactos y en registros de Necesidades / Ofertas para el Panel. Consistencia de respuestas en búsquedas estructuradas y no estructuradas, realizando búsquedas, avisos de llegada y cotejando los resultados con los dispositivos existentes. Se revisa que concuerde con la configuración programada, es decir, no obtener respuestas no deseadas (bloqueadas), u obtener respuestas al modificar las configuraciones bloqueadas. Consistencia de tiempos, realizando y cotejando los avisos con los tiempos programados en los recordatorios y citas. 4.2 Evolución: Pruebas experimentales (Gráficos) Transacciones La Figura 7 muestra un gráfico con la evolución que tuvieron Evolución Total de Uso 600 el total de transacciones durante el período de observación. 504 500 Estas transacciones consideran Agregar, Modificar y Borrar: 427 Grupos de Contactos, Notas de la Agenda (Recordatorio, 400 Reuniones, Avisos, Correo), Búsquedas, Panel (Ofertas, 257 300 238 221 Necesidades), Permisos, Contactos, Ver Internet. Se 200 127 129 112 confeccionó una página web conectada directamente a la BD 77 57 50 100 35 que permitió ver la evolución día a día de estas transacciones, dando información tanto en forma de tabla 0 1 2 3 4 5 6 7 8 9 10 11 12 como gráfica, separado por semanas, y seleccionando tanto Semanas la evolución de transacciones en el tiempo como la evolución por usuario en el tiempo, lo que servía de guía Figura 7. Evolución semanal de Transacciones para estimular el uso de los aspectos que se consideraba estaban débiles, y monitorear lo que sucedía con los miembros de la comunidad en forma remota. 4.3 Mantención: Pruebas en terreno con el usuario En el transcurso de la experiencia, se citó esporádicamente a los usuarios (miembros de la comunidad) a reuniones individuales y algunas colectivas, para consultar de primera fuente qué problemas tenían en el uso del sistema. Esto permitió mejorar ciertos procesos que presentaban pequeños errores, detectar situaciones que motivaron desarrollos paralelos (como la vital administración de antenas de las cuales se nutría de información el sistema), o mejoras a la interfaz en pro de una mejor usabilidad de la aplicación, lo que redundó en un mayor y mejor uso cada dos semanas como muestra la Figura 7, existiendo por tanto aumento de la probabilidad de encuentro entre los miembros. De estas reuniones también se hizo necesario una capacitación más detallada que al momento inicial de la entrega de dispositivos, pues esta nueva forma de buscar personas es algo que requiere ser asimilado. Sin embargo, en la Figura 7 se ve que la tendencia final es que decae el uso hacia fines de la experiencia, se explica a continuación. 5. Conclusiones Previo a una experiencia como ésta, se deben cumplir ciertas condiciones mínimas con relación a contar con energía ojalá permanente en el dispositivo, de modo que permita mantenerlo activo el mayor tiempo posible, y por tanto aumentar drásticamente la “visibilidad” y presencia de los miembros de la comunidad, aumentando así la probabilidad de contacto. Por su parte, ayudaría también mayor cobertura de antena, pues aumenta también la visibilidad del entorno, pero afecta directamente el consumo de energía, por lo que también debe ser resuelto. 5.1 Interpretación de Resultados El ambiente académico requiere de los alumnos de primer año concentración casi exclusiva en sus primeros cursos, por lo que el uso del dispositivo queda reducido a las horas entre clases y los módulos sin cursos. Aun cuando lo utilizan en esos momentos, los demás miembros de la comunidad se ven reducidos a los pocos que cumplan las mismas condiciones. Dentro de ellos, el problema de energía de los dispositivos les hacía apagar los dispositivos, o desconectar la antena para reducir el gasto de batería. Para quienes lo tenían encendido, ya al mediodía debían cargar su dispositivo, pues de no hacerlo comprometía la memoria llegando incluso a borrarla por completo, con lo que se perdía información no registrada. Por tanto, los dispositivos móviles elegidos no están lo suficientemente maduros como para aplicarlos en una experiencia como ésta. Si se tratara de dispositivos con energía suficiente como para estar todo el día encendido y antenas con cobertura muchísimo mayor, que ofrezcan un ambiente similar a los celulares, se podría concluir algo con respecto a favorecer el encuentro entre personas o fortalecer su relación. En cuanto a la arquitectura, si bien permitió el contacto entre miembros de la comunidad al nivel escrito (chat), de voz o de reuniones, el volumen de esas transacciones dado el escaso universo con visibilidad permanente en el entorno, no permite concluir si esta arquitectura apoya las relaciones interpersonales o no. 5.2 Límites del Diseño y Alcances Futuros El diseño considera dispositivos móviles en redes P2P, pues favorece un encuentro inicial cara-a-cara rápido dada la cercanía física debido al radio de cobertura del dispositivo, y de acuerdo a los perfiles de intereses existe una gran probabilidad de favorecer buenas relaciones. Una limitación de este sistema es que los perfiles implican contar con información de los gustos de cada miembro de la comunidad, por lo que todo miembro debe contestar una encuesta de preferencias. Si se aplica este sistema a otro contexto, la búsqueda quedará obsoleta, y deberá realizarse una nueva encuesta para preferencias acordes al nuevo contexto, lo que formará nuevos grupos de interés. Esto es muy dinámico y en la actualidad está parcialmente resuelto, pero se deberá flexibilizar para mejorar su dinamismo. A futuro, se puede incorporar procesos multi-usuario, ya que el diseño sólo consideró comunicaciones bi-partitas en general. El chat está diseñado para dos personas, aun cuando recibe de varios, pero sólo se puede escribir a uno a la vez o a todos. La incorporación de grupos nació por el correo, pero sería aplicable por tanto al chat. Lo mismo sucede con la voz (VoIP), que sólo se permite entre dos personas ahora. Con la aparición de sistemas de energía más optimizados y de antenas de mayor potencia para los dispositivos portátiles, junto con el abaratamiento de costos de los mismos, existirá un mejor entorno en el cual se pueda aplicar esta arquitectura con la independencia que fue diseñado, pero una mayor cobertura atenta contra la cercanía física. 6. Bibliografía [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Perlman, D. & Cozby,P. (1992). Psicología Social. Mexico: Mc Graw Hill. Hewstone, M., Stroebe, W., Codol, J-P. & Sthephenson, G. (1992). Introducción a la Psicología Social. (3ª Ed.). Barcelona: Ariel. Dietz-Uhler, B. & Bishop-Clark, C. (2001). The use of computer-mediated comunication to enhance subsequent face-to-face discussions. Computers Human Behavior, 17, 269-283. Walther, J. & Burgoon, J. (1992). Relational Communication in Computer-Mediated Interaction. Human Communication Research, 19, 1, September, 50-58. Johnson, N. (1989). Variables Associated With Friendship in Adult Population. The Journal of Social Psychology, 3, 379-390. Edmund So, Michael Collins, Richard Lee, Rob Lawless, Sean Reilly. P2P Search Engines, P2P Networks (TCD 4BA2 Project 2002/03), http://ntrg.cs.tcd.ie/undergrad/4ba2.02-03/p8.html GNUnet, http://www.gnu.org/software/GNUnet/gnunet.html Byrne D. The Attraction Paradigm. New York: Academic Press. 1971. Michinov, E., & Monteil, J. M. The similarity attraction relationships revisited: Divergence between the affective and behavioral facets of attraction. European Journal of Social Psychology, 2002. Nro.32., pp.485-500. Kandel, D.B. Similarity in real life adolescent friendship pairs. Journal of Personality and Social Psychology, 1978. Nro. 65, pp. 282-292 SearchCio.com, The Web’s best information resource for CIO’s and senior level IT executives, http://searchcio.techtarget.com/ Webopedia.com, The only online dictionary and search engine for computer and Internet technology, http://www.webopedia.com/ Hutchinson Dictionary of Computers, Multimedia, and the Internet, http://www.tiscali.co.uk/reference/dictionaries/computers/ CCI Computer, http://www.currents.net/resources/dictionary/index.html