Arquitectura de Sistema de Comunicaciones para Mediaciones

Comentarios

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

Documentos relacionados