Title: Sharing audiovisual content using a P2P environment based in JXTA.

advertisement
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
Download