200 likes | 453 Views
VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso Thesis Advisor: Don Brutzman September 1999. Thesis Motivation. An RTP monitor is a useful tool for MBone applications and future vrtp applications
E N D
VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso Thesis Advisor: Don Brutzman September 1999
Thesis Motivation • An RTP monitor is a useful tool for MBone applications and future vrtp applications • JMF is a possible solution for the implementation of the RTP protocol in vrtp • JMF is a free package, extension of Java language • The RTP Monitor is the first step to understanding JMF for future transmission and reception of simulation data
Real-Time Transport Protocol (RTP) • RTP is a protocol designed to support the transmission of time-based media, such as audio and video, over multicast-capable networks • Using RTP a session between several participants can be established (many to many). Each participant sends feedback messages about the reception of each sender. (RTP Control Protocol - RTCP) • RTP does not guarantee real-time delivery, since it usually runs over UDP • RTP is used in MBone - Multicast Backbone (an experimental worldwide multicast network)
RTP Monitor Application Definition: an RTP monitor is an application that receives packets sent by all participants, to estimate the quality of service for distribution monitoring, fault diagnosis and long-term statistics. (RFC 1889)
Java Media Framework (JMF) • JMF is a Java API developed by Sun Microsystems and other companies to allow the use of multimedia features by Java applications and applets • Supports reception and transmission of audio and video streams using RTP • Latest version: JMF 2.0 Beta
Virtual Reality Transfer Protocol (vrtp) • vrtp is being developed to provide client, server, multicast streaming & network-monitoring capabilities in support of internetworked 3D graphics and large-scale virtual environments
Thesis Work • RTP specification (RFC 1889) - 70 pages • JMF API Programmer's Guide - 200 pages • JMF Javadoc (RTP API only) - 120 pages • - 29 classes, 22 interfaces, 4 exceptions • JMF example source code • A lot of Internet browsing about RTP • JMF and IEFT - AVT mailing lists
rtpMonitor Features • Displays global and stream statistics • Displays participants and feedback reports • Records statistics on files ( last five minutes, previous five minutes, last hour, previous hour, different dates) • Plays audio or video received in the session • Saves session addresses and names as bookmarks • Allows customization ( recording interval, presentation interval, participation in the session, … ) • Launches external application for viewing output files
Lessons Learned • Software reuse is good. Do not reinvent the wheel! • Big companies make big pieces of software with lots of bugs. Try to help detect the bugs, specially if the software is free and you need it. • Study Design Patterns. They have been used by good software designs. • Subscribe mailing lists about your thesis topic. You can learn with other people problems and experiences. • Internet standards are still evolving. You can help!
Future Work • In RTPMonitor: • Present information about the participants • Save statistics in XML format • Analyze stored statistics and present them graphically • Receive Session Description Protocol (SDP) announcements • In vrtp: • Send and receive simulation data with RTP and JMF
Some Web References RTP: http://www.ietf.org/internet-drafts/draft-ietf-avt-rtp-new-04.txt JMF: http://www.javasoft.com/products/java-media/ jmf/index.html vrtp: http://www.web3d.org/WorkingGroups/vrtp/ XML: http://www.w3.org/XML UML: http://www.rational.com/uml/index.jtmpl
Contact Information • Francisco Afonso - afonso@cs.nps.navy.mil • Don Brutzman - brutzman@nps.navy.mil • http://web.nps.navy.mil/~brutzman