lunes, 20 de noviembre de 2006

Busqueda, descarga y activación

Para encontrar cualquier contenido que se está compartiendo en la red, el peer puede enviar una petición al servidor de índice con la información que desea buscar. El servidor devuelve al dispositivo móvil una respuesta con los archivos encontrados y el número total de peers que los comparten.

Si el peer solicita la descarga de un archivo determinado, el servidor le envía tanto las IPs de los peers que disponen del mismo, como un hash que le sirve para verificar la integridad del fichero una vez descargado.
Los contenidos que podemos compartir deben estar protegidos ajustandose a las especificaciones OMA DRM (Digital Rights Management).

Una vez concluida la descarga, la aplicación lanza el navegador WAP del móvil y guarda el fichero en la carpeta correspondiente (imágenes, videos, audio, ...), en función del tipo de información que contenga.

Por último, sólo queda activar el contenido para adquirir la licencia y así poder disponer del contenido y reproducirlo en el terminal móvil.

Para que os hagaís una idea de todo el proceso de búsqueda, descarga y activación hemos grabado un vídeo. El material elegido es un videoclip protegido con DRM Combined Delivery al que hemos asignado unos derechos para poder visualizarse únicamente 2 veces.

Os pedimos disculpas por la calidad del vídeo, pero creemos que merece la pena que veáis como se desarrolla en la práctica el proceso completo de búsqueda, descarga y activación. Los móviles utilizados para la demo son un Sony Ericsson K750 y un Sony Ericsson W800i:


Proceso de compartición entre 2 peers

Conexión peer-servidor de índice

Una vez iniciada la aplicación, lo primero que debe hacer el peer es comunicarse con un servidor de índice. El proceso de conexión consta básicamente de los siguientes pasos:

  • Se intercambian unos mensajes de presentación entre ambas partes. El peer envía al servidor su USER ID (el cual es único e invariable de por vida) y el servidor asigna al peer un CLIENT ID que será válido únicamente para la actual sesión.
  • El peer comunica al servidor los archivos que está compartiendo. Le manda un mensaje incluyendo el nombre, el tamaño y un hash (resumen) de cada uno de los archivos y que permite identificarlos casi unívocamente en la red.

  • El servidor envía una lista con las direcciones IP de otros servidores de índice que se encuentran activos.

  • En caso de que el peer tenga algún archivo pendiente de completar la descarga, solicita al servidor información sobre las fuentes (otros peers que están compartiendo los archivos requeridos) para poder reanudar la descarga.

En el siguiente vídeo podéis ver como dos terminales móviles se conectan al servidor de índice:



Conexión de 2 peers con el servidor de índice

Elementos de la demo

El piloto tecnológico desarrollado es un prototipo pionero en el incipiente escenario P2P móvil y está formado por los elementos fundamentales de una red P2P basada en el protocolo eDonkey, por lo tanto dispone de los siguientes elementos:

1) Servidor de índice
Su función es gestionar la conexión de los peers a la red, indexar los archivos compartidos, facilitar la búsqueda de contenidos y proporcionar la información necesaria para que se produzca la comunicación directa entre peers. El servidor de índice desarrollado también dispone de una interfaz web de backoffice que permite la gestión de sus funcionalidades y la consulta de estadísticas sobre contenidos compartidos y peers conectados a la red P2P. Para la comunicación con el cliente del terminal emplea el protocolo eDonkey.


2) Cliente para terminal J2ME
Es una aplicación J2ME que se instala en el terminal de usuario y que permite la conexión a la red para compartir y descargar contenidos de otros peers. Sus principales capacidades son: realizar búsquedas, compartir y descargar ficheros y adquirir las licencias de los contenidos descargados legalmente. Para la comunicación con el servidor de índice y con otros peers emplea el protocolo eDonkey.

Presentación

Bienvenid@s al blog Share it right!

Hemos decidido crear este blog porque creemos que es la mejor manera de acercar nuestra demo al mayor número de personas, de compartir información con gente interesada en el tema y de esta manera llegar a enriquecer el proyecto que publicamos.

El piloto tecnológico que presentamos abarca en su totalidad los elementos básicos de una red P2P móvil que nos permite el intercambio legal de archivos.
Para su desarrollo hemos apostado por la tecnología java (J2ME), ya que nos facilita llegar a casi la totalidad de los dispositivos con tecnología móvil (terminales móviles, PDAs, etc.) que existen en el mercado.