450 likes | 683 Views
Gestión e intercambio de contenidos audiovisuales en un entorno P2P basado en JXTA. Rosa Mª Martín, Facultad de Informática de Barcelona-Universidad Politécnica de Cataluña (UPC) Fundación i2CAT rosam@fib.upc.edu. Índice. Introducción Sobre JXTA Proyectos desarrollados Aplicación e-Ruc
E N D
Gestión e intercambio de contenidos audiovisuales en un entorno P2P basado en JXTA Rosa Mª Martín, Facultad de Informática de Barcelona-Universidad Politécnica de Cataluña (UPC) Fundación i2CAT rosam@fib.upc.edu
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Contexto • Colaboración del Laboratorio de Cálculo de la Facultad de Informática con la Fundación i2CAT (Internet Avanzada) en diversos proyectos I+D desarrollados entre 2004 y 2006. • Uno de los objetivos comunes de dichos proyectos era el de desarrollar aplicaciones altamente distribuidas y que puedan beneficiarse de redes avanzadas o de gran ancho de banda. • Uso de tecnologías P2P para la compartición de contenidos audiovisuales y especialmente en la plataforma JXTA. RedIRIS-JT2006
¿ Por qué P2P? • Permite la descentralización de las aplicaciones: • P2P (peer-to-peer) permite una computación cooperativa, social, mediante la comunicación directa entre dispositivos. • Los nodos del sistema pueden ejercer al mismo tiempo el papel de clientes y de servidores al mismo tiempo. • Aplicaciones P2P cada vez más extendidas • Demostrada eficiencia en diferentes ámbitos (compartición de datos, mensajería, trabajo colaborativo, etc.) • El tráfico P2P supone un porcentaje muy elevado del tráfico de Internet. • Oportunidad • Cada vez hay más nodos en Internet. • Los equipos y dispositivos de los extremos tienen más recursos locales y están mejor conectados (mayor ancho de banda). • Más accesos inalámbricos. • Muchas posibilidades de innovar e investigar. RedIRIS-JT2006
http://www.cachelogic.com/research/index.php Algunos datos sobre el uso de P2P RedIRIS-JT2006
Propiedades de las redes P2P • Los peers o nodos son autónomos y pueden actuar como clientes y servidores al mismo tiempo. • Las conexiones y los propios peers no son estables. • Las redes P2P están preparadas para no ser vulnerables respecto a la caída de nodos. • Se organizan en redes virtuales (red overlay). • No es necesaria una coordinación central ni una base de datos central. • Modelos de redes P2P: p2p puro, parcialmente centralizados o híbridos (donde existen nodos, los super-peers, que actúan de servidor para un conjunto de nodos) • Los peers cooperan entre ellos para conseguir servicios (mayor escalabilidad, fiabilidad y rendimiento). RedIRIS-JT2006
Arquitectura cliente-servidor Gran ancho de banda requerido por el servidor No escalable Sensible a las caídas del servidor Arquitectura p2p Menor ancho de banda requerido en el origen. Escalable Robusto frente a caídas Comparación con modelo cliente-servidor RedIRIS-JT2006
Aplicaciones P2P • Compartición distribuida de archivos: Kazaa, Emule, Azureus, BitTorrent, Gnutella, FastTrack, Napster. • Compartición de recursos de CPU: SETI@Home, Avaki, Entropia y entornos de Grid. • Mensajería Instantánea P2P: MSN Messenger, SIP, AOL Instant Messenger, Yahoo! Messenger, ICQ y Jabber. • Otras aplicaciones: Hive, Groove, o myJXTA. RedIRIS-JT2006
¿Por qué JXTA? • Es una especificación de protocolosabiertos que permiten ofrecer servicios e infraestructura para aplicaciones P2P (de todo tipo). • Permiten la conexión de diferentes tipos de peers (ordenadores personales, servidores, PDAs, móviles). La comunicación e interacción entre ellos. • Proyecto de software abierto www.jxta.org impulsada por un equipo de desarrollo de Sun Microsystems. • Independencia de la implementación (lenguaje, plataforma, red y aplicación). RedIRIS-JT2006
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Sobre JXTA • JXTA Define los mecanismos de control y gestión del comportamiento de los nodos para: • Descubrir otros nodos (peers), mantener su visibilidad, publicar sus recursos y descubrir el resto de recursos y servicios disponibles en la red • mediante el intercambio de anuncios o Advertisements. • Organizarse en diferentes subgrupos (peergroups) de nodos. • Independientes de la topología de red subyacente (firewalls, NAT, tipo de conexiones, etc.) • Comunicarse entre ellos • usando canales de comunicación llamados pipes. RedIRIS-JT2006
Independencia de implementación • Independiente del lenguaje (implementaciones en Java, C/C++ y Perl) y del sistema operativo. • Puede funcionar sobre diferentes protocolos (HTTP, TCP, etc.) y topologías de red. • Mensajes (advertisements) codificados en formato XML. Java == platform independenceXML == application independenceJXTA == network independence RedIRIS-JT2006
Arquitectura software JXTA RedIRIS-JT2006
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Aplicación e-Ruc • eRuc es el módulo de aplicación del Proyecto Integrado de la Fundación i2CAT (2004-2005) en el que participan grupos de investigación de la UPC, URL y UPF. • Integra funcionalidades suministradas por el resto de módulos del proyecto para ofrecer al usuario una aplicación avanzada para compartir y gestionar recursos audiovisuales: • Gestión de metadatos asociados a los recursos audiovisuales y de sus derechos y licencias de uso. • Compartición de recursos. • Acceso a contenidos audiovisuales distribuidos, adaptándolos a las capacidades y características de la red y del dispositivo. RedIRIS-JT2006
Arquitectura • La aplicación utiliza una arquitectura totalmente distribuida basada en web services (SOAP) y P2P (Plataforma JXTA). • Arquitectura basada en el estándar MPEG21. Concretamente en lo que respecta a: • gestión de contenidos. • adaptación a las capacidades del dispositivo y de la red. • personalización y recomendación de contenidos • gestión de derechos (licencias de distribución y uso). • Autentificación y seguridad distribuida con un sistema de SSO, single sign on, basado en SAML, integrado con todos los servicios web y con la arquitectura JXTA. • Sistemas de distribución de vídeo sobre IP basados en servidores centrales o arquitecturas P2P (que incorporan sistemas de protección de contenidos). RedIRIS-JT2006
Arquitectura e-Ruc RedIRIS-JT2006
JXTA en e-Ruc • Los nodos que ejecutan e-Ruc forman parte del grupo JXTA I2catPeerGroup. Todos los recursos y servicios de la red JXTA están disponibles a través de servicios de este grupo. • Los servicios que se usan son: • Content Manager Service o CMS. Es el módulo de compartición de ficheros. En e-Ruc se ha implementado un módulo gestor de contenidos audiovisuales que usa este servicio. • Discovery service: Servicio de descubrimiento de recursos. Permite publicar y buscar advertisements. • Rendezvous service: Permite obtener la información inicial sobre los participantes del grupo. • Membership service: Permite aceptar o denegar otros miembros . JXTA permite utilizar diferentes sistemas de autenticación para entrar en un grupo. En nuestro caso se ha implementando un módulo de JAAS (Java Authentication and Authorization Service) para integrarlo con el sistema de SSO del proyecto. RedIRIS-JT2006
Autentificación y seguridad en e-Ruc • Autentificación y seguridad distribuida (con un sistema de SSO, single sign on) basado en SAML. • Integrado con todos los web services. • Se ha integrado con la red P2P (JXTA). RedIRIS-JT2006
Distribución de contenidos en e-Ruc • Los metadatos semánticos, las licencias se almacenan en servidores centralizados (accesibles a través de servicios web). • Junto con los metadatos se almacena una referencia con la ubicación física del contenido. • La referencia indica el mecanismo utilizado para publicar y acceder al archivo. Los archivos audiovisuales se pueden compartir utilizando tres mecanismos: • La red P2P basada en JXTA. p2pi2cat://referencia • Servidores externos (accesibles a través de una URL) • servidores de vídeo de la red del proyecto (se hace una operación de upload a través de un web service). RedIRIS-JT2006
Publicación de un archivo en JXTA • Requiere que el nodo JXTA y sus servicios estén inicializados y se haya validado correctamente con el sistema de autenticación. • Cuando se quiere anunciar un nuevo fichero como “compartible”, se crea su respectivo Advertisement que pasará a publicarse junto al resto de información del Discovery Service. Por ejemplo el fichero video.mpeg tendría este aspecto: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:ContentAdvertisement> <jxta:ContentAdvertisement> <name> video.mpg </name> <cid> md5:4829110e7bf72be170f5efceeb92c77f </cid> <length> 3160114 </length> <description> description for I2cat! </description> <address>jxta://uuid-59616261646162614A78746150325033A77B79FDF71B4025AE6CCE2DE224055503/CMS/jxta-NetGroup </address> </jxta:ContentAdvertisement> RedIRIS-JT2006
Publicación de un archivo en JXTA • Hay que ir renovando la publicación de contenidos a través del Discovery Service, para que la caché de los nodos conserven la información de los ficheros compartidos. • La referencia física de este archivo será p2pi2cat://md5:xxxxxxxxxxxxxxxxxxxxx • Esta referencia se guardará junto con los metadatos en el módulo gestor de contenidos, usando un web service. RedIRIS-JT2006
Acceso a los contenidos en e-Ruc • Como resultado de una búsqueda o consulta de contenidos audiovisuales se obtiene, entre otras informaciones, la referencia que indica la ubicación del contenido: • Si la referencia es una URL válida, la aplicación abre el player con esta referencia. • Si la referencia es p2pi2cat://referencia indica que los contenidos se pueden descargar de la red P2P. RedIRIS-JT2006
Descarga de archivos de la red Jxta • Si lo que queremos es descargar un contenido de la red, debemos hacer primero la búsqueda de su Advertisement. Una vez encontrado, de ahí podemos leer la dirección del nodo donde se encuentra el contenido, a parte de otra información relacionada con el fichero (su md5, tamaño en bytes, tipo MIME, etc...). • Por tanto, como ya sabemos el fichero y dónde se encuentra, lo descargamos de la red a través del servicio CMS (internamente, está implementado con las operaciones habituales de Entrada/Salida de JXTA, con objetos Input / Output streams) • Una vez descargado el archivo, éste estará disponible en la carpeta que tengamos configurada en nuestro Content Manager. A partir de este momento, estamos en condiciones de poder publicar nosotros también este contenido en la red JXTA. RedIRIS-JT2006
Gestión de derechos y protección de contenidos • Los contenidos distribuidos a través de la red P2P pueden ir cifrados. • Las claves de descifrado se almacenan en el módulo de gestión de derechos. • La aplicación comprueba, llamando al módulo de derechos, la autorización de acceso del usuario y si la licencia de uso es correcta, y obtiene la clave de descifrado. • La aplicación descarga el archivo cifrado de la red p2p y va descifrando el contenido mientras se visualiza en el player (no se almacena descifrado). RedIRIS-JT2006
Conclusiones e-Ruc • Un cliente e-Ruc puede publicar y obtener archivos de la red p2p: • Se ha ganado experiencia con esta tecnología. • Se han podido integrar los resultados en otros proyectos de innovación (Proyecto XAC o Aprencat). • Pero el sistema implementado implica descargar siempre completamente el archivo de otro cliente activo y presente en la red. • Líneas futuras: • División de los archivos en fragmentos y descarga simultánea desde diferentes fuentes. • Servicios de streaming p2p. • Extensión de la arquitectura p2p a otros módulos. RedIRIS-JT2006
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Proyecto MediaMòbil • Proyecto de innovación con participación de empresas y universidades (Tempos21, CROMOSOMA, CCRTVi, UPC, UPF, URL, Fundación i2CAT) y financiado por el CIDEM con diferentes objetivos ligados a las aplicaciones móviles multimedia avanzadas. • Desarrollado entre 2005 y 2006 con los objetivos: • Analizar las posibilidades de las tecnologías P2P. • Convergencia entre la TV y el móvil. • Aplicaciones y tecnologías sensibles al contexto. • Tecnología: J2ME MIDP 2.0 (Java para móviles); JXME (versión JXTA para móviles); Bluetooth;, Localización mediante GPS, redes WIFI y redes celulares; uso de sistemas de clave pública y privada para autentificación desde terminales móviles; DVB-H; Streaming e interactividad sobre vídeo en equipos móviles; sistemas gráficos y multimedia avanzados para móviles (librerías 3D, flash lite, 3GL, etc.);juegos MMPOG; sistemas de mensajería instantánea basada en SIP (Simple) o Jabber. • Paquete de trabajo ligado a tecnologías p2p aplicadas a dispositivos móviles desarrollado por el LCFIB. RedIRIS-JT2006
Proyecto MediaMòbil • Arquitectura de implementación basada en JXME. • Adaptación de JXTA para terminales móviles (con soporte Java MIDP y configuración CLDP). • Adaptación a las restricciones de los dispositivos: problemas de conectividad y poca memoria. • Uso de JXME para gestión de la presencia: • Definición de intercambio de mensajes XML adaptados al proyecto. • Conexión al peergroup mediante un proxy-relay. El proxy-relay mantiene la información de los caminos hacia otros nodos, reenvía los mensajes procedentes del resto de nodos. Está accesible a través del puerto 80. • Compresión de datos a enviar entre relay y terminal. • Convivencia en el peergroup de terminales móviles con otros dispositivos JXTA (ordenadores personales, servidores, etc.) • Uso de Bluetooth (JSR-82) para intercambio de archivos. RedIRIS-JT2006
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Trabajo actual • Proyecto MACHINE 2006-2007 • Extensión de la arquitectura p2p a otros módulos. • Servidores de media, servicios de transcodificación, etc. visibles también a través de la red p2p. • Servidores de metadatos distribuidos en una red p2p. • Servicios de streaming p2p • Alternativa a los servicios basados en multicast. • Mayor escalabilidad que los servicios centralizados. • En línea con aplicaciones como Peercast, freecast, ACTLab TV, ESM, Vatata, NodeZilla, Coolstreaming, Pplive. RedIRIS-JT2006
Servicios de streaming sobre p2p • Trabajo a desarrollar: • Decidir arquitectura a utilizar • Mapearla a entorno JXTA • Desarrollar e integrar prototipo de aplicación RedIRIS-JT2006
Arquitectura • Factores que influyen en la eficiencia del streaming sobre p2p. • Minimizar la pérdida de paquetes para recibir todas las fracciones del streaming a tiempo de emitir. • Reducir el tiempo que se tarda en recibir el primer segmento a emitir. • Decidir de dónde se extrae la información, considerando la minimización del retardo punto a punto (determinado por el número de nodos intermedios y los posibles cuellos de botella). RedIRIS-JT2006
Arquitectura • Otros factores: • los nodos tienen la libertad de conectarse y desconectarse del sistema en cualquier momento, por lo que se necesita un esquema robusto que minimice las pérdidas de paquetes causadas por las desconexiones (fortuitas o voluntarias). • Es necesario controlar el overhead de los protocolos, evitando la generación de una sobrecarga excesiva de mensajes de control que impida la escalabilidad del sistema. • Uno de los aspectos más importantes que influyen en la robustez, escalabilidad y rendimiento del sistema es la topología de la red de nodos (red overlay o red de revestimiento) y cómo se gestiona ésta. RedIRIS-JT2006
Tipos de arquitecturas según los protocolos • en el proyecto MACHINE hemos decidido optar por los protocolos Data-Driven, basándonos en la arquitectura de DONet e intentando crear una implementación de la misma usando JXTA. Source-driven • Mayor pérdida de paquetes por desconexión • Mayor tiempo medio de llegada del primer paquete • Menor escalabilidad Ej: PeerCast o Zigzag Data-driven • Menor pérdida de paquetes por desconexión • Menor tiempo medio de llegada del primer paquete • Más escalabilidad Ej: Donet RedIRIS-JT2006
Data-driven: DONet RedIRIS-JT2006
¿Cómo se recibe un stream? Partnership en DONet n-1 n n+1 n-1 n n+1 C D H n+1 n-1 n n-1 n n+1 G Entre partners se intercambia constantemente el BM (Buffer Map) El scheduler aplica una heurística que da prioridad a la:1- Disponibilidad2- Deadline segmento3- Ancho de banda partner RedIRIS-JT2006
DONet + JXTA n-1 n n+1 n-1 n n+1 C D Red virtual DONet H n-1 n+1 n G n-1 n n+1 Red virtual JXTA Red física RedIRIS-JT2006
DONet + JXTA • El uso de JXTA proporciona independencia de la red física y un entorno de desarrollo de aplicaciones p2p. • El uso de DONet gestiona los recursos de manera eficiente. • Faltaría demostrar si el uso conjunto de ambas tecnologías puede reducir la eficiencia proporcionada por DONet. RedIRIS-JT2006
Índice • Introducción • Sobre JXTA • Proyectos desarrollados • Aplicación e-Ruc • Proyecto MediaMòbil • Trabajo actual • Conclusiones RedIRIS-JT2006
Conclusiones • Las tecnologías P2P constituyen un enorme campo de investigación e innovación, permitiendo la extensión de servicios y contenidos audiovisuales a un gran número de usuarios. • La experiencia previa con la plataforma JXTA ha permitido experimentar con tecnologías P2P en entornos heterogéneos. • La idoneidad de JXTA para entornos de streaming y vídeo bajo demanda de alta calidad, es todavía una incógnita ya que todavía es un poco prematuro para extraer conclusiones del proyecto que actualmente nos ocupa. RedIRIS-JT2006
Referencias • [1] Web oficial de la tecnología JXTA. http://www.jxta.org • [2] Presentación final del proyecto integrado y del eRuc. http://www.i2cat.net/i2cat/servlet/I2CAT.MainServlet?seccio=24_1_3 • [3] Información del proyecto MediaMobil. http://www.i2cat.net/i2cat/servlet/I2CAT.MainServlet?seccio=8_26 • [4] P2P IPTV Motherlist. http://orblive.com/modules/newbb/viewtopic.php?topic_id=13&forum=4 • [5] Silverston, Thomas; Fourmaux, Oliver. “Source vs Data-driven Approach for Live P2P Streaming”. Presentada en the International Conference on Networking, International Conference on Systems and International Conference on Mobile Communications and Learning Technologies (ICNICONSMCL’06). 2006. • [6] Duc, A.Tran; Kien, A. Hua; Tai, D.; “ZIGZAG: An Efficcient Peer-to-Peer Scheme for Media Streaming”. IEEE INFOCOM. 2003. San Francisco, CA. • [7] Zhang, Xinyan; Liu, Jiangchuan; Li, Bo; Yum, Tak-Shing Peter “DONet: A data-driven overlay network for efficient live media streaming”. IEEE INFOCOM. 2005. • [8] Membership Service de JXTA. • http://platform.jxta.org/nonav/java/api/net/jxta/membership/package-summary.html RedIRIS-JT2006
Agradecimientos Rosa Mª Martín (rosam@fib.upc.edu) • Gracias a: José Francisco Crespo, Joan Esteve, Joan Giralt, Fran Martínez Posadas del LCFIB. Fundación i2CAT. Todas las personas de los grupos de investigación de la UPC, URL y UPF y de las empresas que han participado en los proyectos mencionados. RedIRIS-JT2006