viernes, 23 de mayo de 2008

AAMAS'08

AAMAS es un importante congreso científico iniciado en 2002 para la investigación de agentes autónomos y sistemas multi-agente. Su propósito es proveer foros de debate para la investigación en todos los aspectos teóricos y prácticos de agentes autónomos y sistemas multi-agente.
Este año se ha celebrado en Estoril (Portugal), entre el 12 y el 18 de mayo, y como cada año cuenta con un taller dedicado a agentes y p2p.





El creciente interés en esta área de investigación es evidente para los organizadores, ya que de las cuatro ediciones de este taller, este ha sido el año más popular, en términos de participación. Investigar en Agentes y p2p es interdisciplinario por naturaleza y ofrece un reto a diversas comunidades, como son los sistemas distribuidos, redes y sistemas de bases de datos y éstas tienen mucho que aportar.

Entre los temas que se van a tratar, se pueden incluir:
  • Técnicas de Agentes Inteligentes para la computación p2p.

  • Técnicas de computación p2p para sistemas multi-agentes.

  • La Web semántica, mecanismos de coordinación semántica y sistemas p2p.

  • Escalabilidad, coordinación, robustez y adaptabilidad en sistemas p2p.

  • Auto-organización y comportamiento emergente en redes p2p.

  • Comercio electrónico y computación p2p.

  • Mecanismos para incentivar la participación y la contratación en sistemas p2p.

  • Modelos computacionales de confianza y reputación.

  • Derechos de propiedad intelectual en sistemas p2p.

  • Arquitecturas p2p.

  • Estructuras de datos escalables para sistemas p2p.

  • Servicios en los sistemas p2p (lenguajes de definición de servicios, servicio de descubrimiento, filtro y composición, etc).

  • Descubrimiento del conocimiento y agentes de minería de datos.

  • Sistemas de información orientados a p2p.

  • Ecosistemas de información y sistemas p2p.

  • Seguridad en redes p2p.

  • Temas legales en redes p2p.

Si quereis más información:

http://gaips.inesc-id.pt/aamas2008/index.html

Aplicación distribuida P2P: Korea@Home

El proyecto Korea@Home trata de aprovechar la potencia computacional de muchos ordenadores distribuidos a través de internet. Esta potencia se usa para procesar una cantidad masiva de información difícil de procesar en un único PC.

Teóricamente se puede llegar a obtener una potencia de 12.7 TFlops si treinta mil PCs con una CPU Pentium III a 500MHz participan simultaneamente en el proyecto Korea@Home.

Cómo funciona


El sistema del proyecto consiste básicamente en un servidor y un montón de agentes en los PC's voluntarios. Cuando un PC recibe una tarea del servidor, se inicia un agente que ejecuta el trabajo. Cuando el trabajo concluye, el agente devuelve los resultados al servidor. La información devuelta incluye el resultado de la tarea, la dirección IP, tipo de CPU, capacidad de la RAM y otras (esta información sólo se utiliza para medir el uso de los agentes de forma estadística).

Para algunas aplicaciones, los agentes en diferentes PC's pueden realizar tareas cooperando entre sí mediante una red P2P. (Esta fase aun está en fase de implementación).

En el siguiente link se pueden ver estadísticas sobre el proyecto, como el número total de PC's voluntarios en en proyecto, el número total de agentes, número de agentes por voluntario, etc.

Estatus de Korea@Home

viernes, 16 de mayo de 2008

¿Qué es JxTA?

Navegando por internet hemos encontrado una plataforma de código abierto p2p llamada JxTA creada por Sun Microsystems en 2001. Investigando un poco más nos hemos dado cuenta que guarda relación con los sistemas multiagente.




JxTA consiste en una plataforma que define una serie de protocolos basados en XML que permiten que cualquier dispositivo conectado a una red intercambie mensajes con el resto de dispositivos. Es un marco de trabajo p2p actualmente disponible y que fue diseñado para soportar un alto rango de dispositivos como PCs, teléfonos móviles, PDAs ...

Estos dispositivos reciben también el nombre de peer o "iguales" y el canal de comunicación entre dos peers se llama pipe o tubería. JxTA define dos categorías principales de peers que son los Super-peers y Edge-peers. Los Super-peers pueden ser divididos en Rendezvous y Relay peers. Sus funciones son las siguientes:
  • Los edge peers son usualmente definidos como peers que tienen bajo ancho de banda. Normalmente están en los límites de Internet, escondidos detrás de firewalls corporativos o que acceden a la red a través de conexiones no dedicadas.
  • Un peer Rendezvous tiene la tarea especial de coordinar los peers en la red JXTA. Además provee las bases necesarias para la propagación de mensajes. Si los peers están ubicados en distintas subredes deberían tener, al menos, un peer Rendezvous.
  • Un peer Relay permite que peers que estén detrás de firewall o sistemas NAT tomen parte en la red JxTA. Esto es alcanzado usando protocolos que puedan atravesar firewalls, como por ejemplo, HTTP.
Los protocolos actuales que utiliza JxTA son los siguientes:
  • Protocolo de localización de peer
  • Protocolo de resolución de peer
  • Protocolo de publicación de peer
  • Protocolo de enlace de pipe
  • Protocolo de enrutado al punto final
  • Protocolo de coordinación
JxTA está organizada en tres nivles:
  • Nucleo que equivale al nucleo del sistema operativo y proporciona servicios básicos de seguridad, control de pipes entre peers, la gestión de grupos y la monitorización.
  • Servicio que realiza las funciones de las librerías del sistema operativo proporcionando servicios de indexación, busquedas y poder compartir ficheros.
  • Aplicación que equivale al nivel de usuario en un sistema operativo
Los nodos JxTA crean una red virtual que superpuesta que permite a un nodo interactuar con el resto de nodos directamente. Además cada recurso tiene un identificador único con lo que puede cambiar su localización manteniendo el mismo identificador.

Photo Agent es una aplicación que hace uso de esta plataforma, que sirve para gestionar y compartir fotografías digitales sin ningún tipo de manipulación de ficheros explícita ni comunicación de datos. Los agentes comparten fotografías de forma anónima y pro-activa, de manera que los usuarios pueden simplemente especificar que fotos quieren compartir, con quién.
Este programa utiliza JxTA para la comunicación p2p permitiendo compartir eficientemente en un entorno distribuído.

Goop es otro proyecto basado también en la plataforma JxTA. Es un buscador que trata de optimizar múltiples búsquedas sobre información similar. Según los autores de Goop, los actuales buscadores tienen el problema de que la información que se extrae de ellos es siempre la misma, si nuestras consultas son parecidas. La novedad consiste en mostrar distintos resultados para búsquedas similares en función de los documentos o enlaces que nos interesen. Goop se comporta como un agente en cada ordenador, que comparte información con otros agentes en otros PCs por medio de una red P2P. Estará constantemente analizando la información que se va recogiendo de las búsquedas, e interactuando con otros nodos de la red, intercambiando información acerca de las búsquedas que se realizan.

martes, 6 de mayo de 2008

¿Por qué Agentes+p2p?

Como ya dijimos la semana pasada, ambas soluciones ofrecen por separado, propiedades muy atractivas, asi que conjuntamente, ambas partes obtienen beneficios.

Por un lado, los sistemas multi-agente se benefician de los mecanismos p2p de conectividad, tolerancia a fallos y balanceo de carga para mejorar la calidad de sus servicios. Y viceversa, el p2p se beneficia por la cómoda y sencilla implementación de los nodos mediante agentes, gracias a la alta modularidad ofrecida en los sistemas multi-agente. Además, estos agentes habitualmente son mucho más ligeros, por lo que este tipo de desarrollo es apto para ser desplegado en dispositivos móviles.

En este sentido, y adentrándonos en el paradigma de los agentes, se cambia la perspectiva sobre el modelo de red overlay, haciendo que cada agente personifique a un nodo de la misma. Al mismo tiempo, otros agentes, esta vez mucho más ligeros, pueden representar a los mismos mensajes de la red overlay y así encapsular la lógica de enrutamiento.



A todo esto, las aplicaciones multi-agente tradicionales se impregnan de la filosofía p2p, conllevando la compartición y libre acceso a los recursos. A su vez, estas aplicaciones se benefician de la gestión de la información de forma inteligente, de acuerdo con el propio objetivo, de una forma transparente para el usuario final y eficientemente a nivel de arquitectura.

Soluciones tradicionales en sistemas distribuidos, y concretamente en sistemas multi-agente, son totalmente válidas para entornos reducidos o redes de área local. En cambio, cuando este tipo de soluciones resultan insuficientes, ya sea por temas de escalabilidad o de dinamismo, necesitamos soluciones como la que nos aportan la tecnologías p2p.

miércoles, 30 de abril de 2008

Aportando Luz al Asunto

Antes de profundizar en el tema de esta entrada vamos a dar una pequeña definición de modelo P2P y de sistemas multiagente y a continuación veremos que nos aporta cada una de ellos.

Podemos definir el modelo P2P como una arquitectura para sistemas distribuidos que dispone de muchos nodos que son tolerantes a fallos y se auto-organizan obteniendo un entorno dinámico con frecuentes entradas y salidas de nodos. El objetivo de este modelo es beneficiarse de los recursos distribuidos compartidos (ejemplo: ancho de banda, espacio de almacenamiento,.. ) entre los diferentes nodos que conforman la red.
Tras estudiar la frondosa documentación acerca de los sistemas multiagentes hemos llegado a la conclusión que una definición válida, y a su vez discutible, es la siguiente: conjunto de agentes autónomos, generalmente heterogéneos y potencialmente independientes, que trabajan en común resolviendo un problema.

En ciertos aspectos son parecidos los entornos P2P y los sistemas multiagentes, debido sobre todo a que pueden operar en entornos muy dinámicos con frecuentes entradas y salidas, bien de nodos en el primer caso (P2P) o agentes en el segundo (SMA).

Por otro lado, el modelo P2P aporta un mejor rendimiento, escalabilidad y disponibilidad comparado con los sistemas tradicionales de cliente-servidor y se beneficiarían de las facilidades de implementación de nodos como agentes, por lo que pensamos que estos dos modelos pueden enriquecerse mutuamente.

Y para la semana... más.

jueves, 24 de abril de 2008

Agentes P2P: Confusión

¿Qué es un agente P2P? ¿A qué nos referimos cuando hablamos de ellos? En un principio, nosotros pensábamos que software como KaZaA o Morpheus no tenían que ver con agentes P2P. Buscando información, encontrábamos cosas como "el agente P2P Morpheus" o "Emule, agente de compartición peer to peer" pensando que eran frases con significado erróneo. Ahora ya no lo tenemos tan claro.



Intrigados por estos hechos, visitamos la página "www.agentland.com" para ver si podíamos encontrar algún programa P2P basado en agentes. Cual fue nuestra sorpresa cuando, en la categoría "File Sharing - Peer to Peer", apareció un listado de aplicaciones, entre las que se contaban Emule, KaZaA o Filetopia. En el caso de KaZaA, incluso se menciona que posee un método de descarga inteligente, descargando archivos de distitas fuentes, acelerando así la descarga.



Como posible conclusión, creemos que se refieren a que cada uno de estos programas funcionaría como un agente individual, es decir, no serían aplicaciones multiagente. En próximas actualizaciones seguiremos informando.

viernes, 11 de abril de 2008

Inaguración del Blog


Tal día como hoy 11 de Abril del 2008 queda inaugurado este maravilloso (esperemos) blog sobre Agentes P2P...

¡¡¡¡Felicidades AgentesP2P!!!!


En breve comenzaremos a analizar el tema para el que se ha desarrollado este blog. Un poquito de paciencia que aun empezamos hoy y estamos un poco verdes.

Esperamos vuestras jugosas entradas y aportaciones.

Un saludo.