Title: Sharing audiovisual content using a P2P environment based in JXTA. Rosa Mª Martín, Josep Casanovas, José Francisco Crespo, Joan Giralt, Francisco Martínez Barcelona School of Informatics - Technical University of Catalonia (UPC), Campus Nord Ed. B6, Jordi Girona, 1-3, 08034 Barcelona, Spain. Email: rosam@fib.upc.edu, josepk@fib.upc.edu, josefran@fib.upc.edu, jgiralt@fib.upc.edu, fran@fib.upc.edu Joan Esteve T-Systems ITC Services España S.A.U. Edificio 22@ Sancho de Avila, 110-130, 08018 Barcelona, Spain. Email: joan.esteve@t-systems.es Keywords: p2p, streaming, JXTA, MPEG21, audiovisual Abstract High quality media distribution over IP, distributed audiovisual services and mobile multimedia applications are some of the main areas of innovation and research of the i2CAT Foundation [1], a nonprofit organization whose aim is to promote research and innovation in advanced Internet technology. During the last years the i2CAT Foundation has promoted several research and innovation projects that use JXTA [2] P2P Technology to share audiovisual content. This paper presents the outcome of these projects (eRuc application, MobileMedia project), as well as the current work on a p2p live streaming application called coolruc, developed within the MACHINE project framework. Sharing audiovisual content using a P2P environment based in JXTA Previous work During 2004 and 2005 we collaborated with other research groups from the Technical University of Catalonia (UPC), the Ramon LLull University (URL) and the Pompeu Fabra University (UPF) on “The Integrated Research Project” of the i2CAT Foundation. Our work in that project consisted in designing and developing a distributed application named eRuc that allows the management and sharing of audiovisual contents. eRuc integrates several services by the use of SOAP. These services were developed by the other research groups and include SAML based authentication services, video transcodification services (that relay on a grid infrastructure), content management and rights management services based on MPEG21 audiovisual standard, context detection services, amongst others. One of the most innovative aspects of the project is a p2p network for eRuc clients to share audiovisual content in conjunction with protection mechanisms and rights management services. Peer-to-peer architecture was implemented using JXTA[2]. JXTA is a set of open protocols that set up an overlay network that connects different devices or peers. The overlay groups the peers into peergroups. Peers belonging at the same peergroup can share information, resources and services. We implemented a specific module for sharing audiovisual contents based on JXTA Content Manager Service which allowed the downloading of files from other peers (see figure 1). The overall results of this project [3] (every web service and the application eRuc) have been applied in other innovative projects such as the XAC project (an audiovisual platform for local televisions) or AprenCAT (an audiovisual portal for catalan learning). TERENA 2007 1/7 Figure 1 P2P e-Ruc network We also applied this experience in the MediaMobile innovation project [4]. In this case, we studied and experimented with P2P technologies applied to mobile terminals (using JAVA MIDP 2.0 terminals). We used JXME, which is an adaptation of JXTA for mobile terminals. We demonstrated the viability of grouping as peers different devices (PCs, servers and mobile terminals) and integrated p2p functionality in a prototype game that used location based services, advanced multimedia features and other functionalities. Current work on P2P streaming We are currently working on the project “MACHINE”, which is a research project of the i2CAT Foundation for the 2006-2007 period. We cooperate in this project with the same research groups than on “The Integrated Research Project” to develop new advanced services for the distribution and management of high quality media. Previous projects gave us expertise towards JXTA and p2p technologies but also helped us to determine the key services to be provided in an advanced audiovisual environment, which include distributed audiovisual services based on the MPEG 21 standards, like Digital Rights Management services, Content Management services, Session Mobility, Content Adaptation, etc. together with P2P streaming. Our group’s research is focused on high quality media streaming over P2P architectures. We work in a scenario where a large set of receivers are expected to get live video with the minimum delay. This scenario could be solved by the use of multicast, nowadays multicast services are unfortunately not available everywhere. To supply them, we propose the use of P2P models instead of client-server ones because they require less bandwidth in the origin and offer more scalability and robustness than clientserver models. There are some commercial and non-commercial applications that already stream media over P2P architectures; for example Peercast, freecast, ACTLab TV, ESM, Vatata, NodeZilla, Coolstreaming, PPlive, etc. (see [5] for a comparative of these systems). These systems build an overlay network from different peers that share segments of the streaming buffer; the peer emitting the stream is in charge of dividing the streaming buffer into segments and the receivers have to assemble the buffer back from the segments. The way the overlay network is built and maintained is a key issue for the system robustness in front of node failures. Some of the software, the ones based on source-driven protocols, will for instance use a control plane to control the peergroup. Others, based on data-driven protocols, will be more epidemic. TERENA 2007 2/7 Efficiency of p2p streaming networks is optimized by minimizing packet looses, minimizing the first segment arrival time and the point to point delay. Recent studies [6] indicate that data-driven approaches solve the problem in a more efficient way. We decided to design our system based on DONet [8], a datadriven approach, and to use JXTA services and protocols, so we can easily integrate the p2p streaming service with other p2p services we are also developing in the MACHINE project together with the rest of research groups. Using JXTA has also other advantages such as providing more independence from the topology of the physical network (NAT, firewalls, etc.) and to speed up the development process. However, JXTA may add an extra overlay to DONet protocols that can make them loose their efficiency. This is a key issue we plan to evaluate by developing and testing a high definition streaming p2p application called coolruc. DONet implementation in coolruc Coolruc (Stream originator) Coolruc (Stream consumer) Videocam Video file Coolruc (consumer) Coolruc (consumer) Figure 2 P2P coolruc P2P streaming network The application we are developing (coolruc) allows users to send and receive a live stream of video or audio. A P2P Multimedia stream is originated at one point using a live video signal as source (live streaming) or a multimedia file. The stream will be sent to other nodes using p2p (see figure 2). Figure 3 generic DONet system diagram (from [8]) TERENA 2007 3/7 Each node implements the DONet architecture (see figure 3), using some of the JXTA services and protocols to implement part of its functionality. Here follows a short description of the DONet modules implementation: o The membership manager manages the overlay network, which is the P2P virtual network established between the nodes to propagate the messages through the overall P2P network. To implement this module, we use JXTA Membership Service [9] . Connection to DONet network is performed using the functionality to join a peer group provided by JXTA Membership Service. Membership messages propagation used to maintain the overlay network is implemented using JXTASocket. o The buffer stores data from the stream obtained from the partners and it forwards the stream to the player (in our case, we use VideoLAN player [10]). The buffer is divided into data segments with the same size. o Buffer map reflects the buffer state. It indicates which segments are available in the local node. o The partners of a node are the nodes that interchange data with it. They are a subset of the overlay network. o The partnership manager manages the set of partners. It keeps a list of partners; it sends to the local node partners information about the local node data availability; it manages the information of the data that is available at the rest of partners; it downloads stream data segments from other partners and sends them to other partners when requested to do that. This module uses JXTASockets to keep node connections and to send messages of availability, the buffer map or the buffer fragments. o The scheduler decides from which partner will be downloaded the empty buffer segments. For each of these empty buffer data segments, the scheduler keeps information of the nodes that have it available and the playback deadline of these segments. It employs an algorithm that uses information provided by the partners BufferMaps to determine the best partner from which to download a segment. This selection takes into account the availability of a segment among partners and the partners’ bandwidth. At the stream originator (see figure 4) we use VideoLAN player [10] to stream from a file or from a live source. VideoLAN player will stream multimedia source, sending content through an UDP port. A special component (called VLN input adapter) will keep receiving this local stream and storing it in the Buffer in order to be shared with the rest of nodes. Videocam Video file VideoLAN UDP port VLC Input Adapter Buffer Map Membership Manager BUFFER Parnership Manager Buffer Manager Seg 1 Seg 2 Seg 3 Seg 4 Seg 5 Scheduler Manager DONet Manager (DONet Network interface) JXTA Figure 4 coolruc architecture of the stream origin node TERENA 2007 4/7 When acting as the stream originator, coolruc application performs the following special actions: o Using the DONet Manager, it will create a channel in the DONet network, to which the receiver nodes will connect. o The Membership Manager will manage the set of members and may redirect new connections to other members that will act as Deputy Nodes. Whereas when acting as a node that receives the stream (see figure 5), coolruc application does the following: 1. First of all, coolruc connects to the DONet network through DONet Manager and looks for the origin of the stream or channel it wants to visualize (that is the channel created by the stream originator). 2. When it connects (join) to this channel, the stream originator returns an alternative node (Deputy Node) from its members list. This alternative node will behave as the stream sender and will send back to the client a set of candidate nodes to become partners. This set will be added to the client list of members, that is managed by the Membership Manager, which has a partial view of the DONet network. Note that receivers always make a first connection to the origin. This may help to check user access control or more sophisticated DRM functionalities. 3. A subset of these members will become partners of the coolruc node. These partners are managed by the Parnership Manager . As explained before, partners send each other their BufferMaps, in orther to indicate wich segments they have available in the Buffer. 4. Scheduler Manager uses the DONet algorithm to determine the best partner from which to download a segment, using the information provided by the partners BufferMaps. 5. Buffer segments are read by a component that sends them to the player. This component is called VLC Output Adapter and sends buffer content through an UDP port (ie 8080). VideoLAN player will be used to receive and display the multimedia stream that is been sent though this port. VideoLAN player UDP port VLC Output Adapter Buffer Map Membership Manager BUFFER Parnership Manager Buffer Manager Seg 1 Seg 2 Seg 3 Seg 4 Seg 5 Scheduler Manager DONet Manager (DONet Network interface) JXTA Figure 5 coolruc node architecture Other services integration Integration with the rest of research developments is a must in the MACHINE project. This is why the coolruc p2p client application will also include functionalities provided by other services, like: o Federated authentication based on SAML 2.0. The token provided by the authentication service may be used to control users’ permissions to join the P2P network or to use the rest of the services. o Digital Rights Management services that give support to the generation and use of licenses that fix the conditions not only for the content distribution but also for content adaptation. TERENA 2007 5/7 o o o o o Content Management Services, that will provide metadata for the audiovisual content, allow searching, etc. Automatic Content Adaptation based on the user device. Content adaptation is performed by a cluster of Videolan servers. Session Mobility, to allow transferring a user session to a new device, to continue playing the video at the same point. Content protection based on MPEG21 IPMP but also in other encryption techniques. Tracking of users and recommendation generation based on users operations and preferences. Most of them will be integrated as web services. However, some of them will be available through JXTA interfaces (i.e.Transcodification services will be discovered using JXTA services) or use internally P2P techniques. For instance a concrete search is propagated to other Content Management Servers using JXTA. Videolan Cluster Upload Device char detection Transcodification Autentication Web Services JX TA Cooleruc p2p live streaming Content Management Service Tracking, Session Mobility & Personalization DRM SOAP TA JX Content Management Server JXTA JXTA JXTA Content Management Server Content Management Server Cooleruc Figure 6 MACHINE project architecture Conclusions P2P technologies are used for audiovisual distribution for a large scale number of users. Our current work intends to determine whether or not a JXTA p2p application is suitable for high quality streaming and video on demand services. Integration with other research groups developments will allow us to generate a powerful distributed application to access audiovisual content. References [1] i2CAT Foundation. http://www.i2cat.net [2] JXTA official web. http://www.jxta.org [3] eRuc final presentation. http://www.i2cat.cat/i2cat/servlet/I2CAT.MainServlet?seccio=15_3_4 [4] MediaMobile project. http://www.i2cat.cat/i2cat/servlet/I2CAT.MainServlet?seccio=16_26 [5] P2P IPTV Motherlist. http://orblive.com/modules/newbb/viewtopic.php?topic_id=13&forum=4 [6] Silverston, Thomas; Fourmaux, Oliver. “Source vs Data-driven Approach for Live P2P Streaming”. International Conference on Networking, International Conference on Systems and International Conference on Mobile Communications and Learning Technologies (ICNICONSMCL’06). 2006. [7] Duc, A.Tran; Kien, A. Hua; Tai, D.; “ZIGZAG: An Efficcient Peer-to-Peer Scheme for Media Streaming”. IEEE INFOCOM. 2003. San Francisco, CA. TERENA 2007 6/7 [8] Zhang, Xinyan; Liu, Jiangchuan; Li, Bo; Yum, Tak-Shing Peter “DONet: A data-driven overlay network for efficient live media streaming”. IEEE INFOCOM. 2005. [9] JXTA Membership Service. http://platform.jxta.org/nonav/java/api/net/jxta/membership/package-summary.html [10] VideoLAN VLC media player http://www.videolan.org/ Vitae Rosa Mª Martín received the degree in Computer Science from the Technical University of Catalonia (UPC) in 1987. She works as IT Project Manager at the Barcelona School of Informatics, Polytechnic University of Catalonia since 1998. She is member of the Technical Committee of the i2CAT Foundation ( www.i2cat.net), where she has been involved during the last years in different projects related with experimental distributed audiovisual services, P2P technologies and mobile multimedia applications. She is currently coordinating the work package of the MACHINE project related to streaming technologies. Josep Casanovas is a Full Professor, vice-rector and Director of the IT laboratory of the Barcelona School of Informatics, Technical University of Catalonia (UPC). He was awarded a PhD in Computer Science, from the Polytechnic University of Catalonia in 1983. His main research areas are simulation, internet and information systems. Previously, he has been the Dean of the Barcelona School of Informatics, vice-rector of University Extension of the UPC, director of the Centre for Cooperation to Development (CCD-UPC), vice-dean of Resources and Rector’s delegate for the Campus Nord. He is the co-director of LOGISIM, Centre of Simulation and Optimization of Logistic Systems José Francisco Crespo received the degree in Computer Science from the Technical University of Catalonia (UPC) in 2004 and a postgraduate course of Mobile Application Development for PDA and Smartphones from the UPC Foundation in 2006. He is working as IT engineer at the Barcelona School of Informatics, Polytechnic University of Catalonia since September 2004. During this period, he has been involved in the development of experimental distributed audiovisual services, P2P technologies and mobile multimedia applications jointly with the i2CAT Foundation. He is currently involved in the Machine Project. Joan Giralt received the degree in Computer Science (UPC) and the Masters Degree in Language and Speech in 2006. He is currently working for the Barcelona School of Informatics, Technical University of Catalonia, in the design and development of the “Machine Project”. Previously, he worked for a year for the CSIRO ICT Centre (Sydney, Australia) as analyst and developer of a tailored information delivery application and for another year as webmaster for the i2CAT Foundation. Francisco Martínez received the degree in Computer Science (UPC) in 2006. He is working as developer at the Barcelona School of Informatics, Technical University of Catalonia since September 2005. During this period, he has been involved in the development of experimental distributed audiovisual services and P2P technologies jointly with the i2CAT Foundation. He is currently involved in the Machine Project. Previously, he worked for six months for Universidade do Minho (Braga, Portugal) designing and developing an interactor's execution traces visualizer component for the IVY Project. Joan Esteve received the degree in Computer Science from the Technical University of Catalonia (UPC) in 2006. He has worked as developer at the Barcelona School of Informatics (UPC) until July 2006. He was involved in the design and development of P2P mobile multimedia applications (eRuc and Mediamobil projects) jointly with the i2CAT Foundation. He has contributed to the JXTA community with the open source Juxta-Cat Project (his master thesis), which allows P2P remote computing. He is currently working as Programmer Analyst in T-Systems, and doing a postgraduate on Computing and Information Systems from the UPC. TERENA 2007 7/7