A Web-Based Real-Time Multimedia Application for the MBone
Myung-Ki SHIN <email@example.com>
Jae-Yong LEE <firstname.lastname@example.org>
This paper presents a multicast, multimedia Web application that allows Web users to join an MBone session and receive audio/video as well as text/html MIME media seamlessly. We attempt to identify a solution for applying multicast media to the Web that can be deployed immediately. This is accomplished by generating an HTML session page using SDP/SAP for session discovery and integrating RTP/RTCP into the Web for transmission of real-time stream. In addition, we describe the architecture for distribution of HTMP pages via multicast. Our prototype implementation is built on HotJava, which makes it platform-independent, scalable, and easy to deploy. And there is no longer a need for new programs installation to multicast various types of real-time media. This approach provides an ideal and scalable solution for the new media or application "x" proposed on the Internet Multicast Infrastructure in the near future.
The WWW (World Wide Web) provides a simple and effective means for users to retrieve data on the Internet. However, as access to the data on the Web is asynchronous, the Web that is based on a strict TCP/IP client-server model does not provide real-time data sharing support. For example, one of them is multicast, multimedia data delivery where widely distributed participants can join a group and receive multicast audio/video stream on the Web.
Today, it is possible to use the Internet for transmitting real-time multimedia stream. This is nothing new to the Internet, where broadcasting of conferences or concerts over the MBone(Multicast Backbone) has become a regular event. The MBone is layered on top of portions of the physical Internet to support IP multicast. It is a critical piece of the technology that is needed to have multiple-person audio and video conferencing over the Internet. Transmission of real-time multimedia is not trivial given the best-effort service of today's Internet. Packets may be delayed or lost arbitrarily. To overcome some of these issues without any changes to the current TCP/IP Internet, the RTP/RTCP (Real-time Transport Protocol/RTP Control Protocol) has been developed and standardized within the IETF (Internet Engineering Task Force). RTP is used on the MBone by the audio/video tools such as vat, rat, and vic. In addition, commercial implementations of RTP and applications that use RTP are currently available for a number of platforms. Moreover, Netscape announced new real-time audio/video for framework for Internet applications, LiveMedia which would be based on the RTP, and other open audio and video standards such as MPEG, H.261, and GSM to enable products from these and other companies to work together seamlessly, providing users with a range of real-time audio and video capabilities on the Internet. In addition, current conference over the MBone is lightweight session, which uses two mechanisms: SDP (Session Description Protocol) and SAP (Session Announcement Protocol) developed by IETF for session discovery.
Our goal is to identify an architecture neutral and scalable solution that can be deployed immediately for applying multicast media to the Web. We describe the Web-based real-time multimedia application for the MBone, an implemented, HotJava-based prototype of integrating, and SDP, SAP, and RTP/RTCP into the Web for receiving audio/video via the MBone seamlessly. This provides a platform-independent and scalable base. And there is no longer need for new programs installations to multicast various types of real-time media. To demonstrate scalability of this application framework, we take into account text/HTML MIME type as new media on the MBone to support Web pages distribution via multicast.
First, we look at several researches on the integration of audio/video into the Web. In January 1996, W3C (World Wide Web Consortium) started real-time audio/video activity at INRIA. The purpose of this activity is to provide a future direction for real-time multimedia Web standardization[5, 6]. For instance, at the W3C RTMW'96 workshop, Randa El-Marakby presented the implementation of RTP and RTCP embedded into the Web, which enables the RTP media delivery, monitors QoS of data transmission using RTCP RR and SDES, and conveys minimal session control information to all participants. The Vosaic system provides integration of real-time continuous media into the Web by developing new real-time protocol VDP and extending Web server to change transfer protocol such as HTTP, RTP, VDP, etc. dynamically, adapting to the request stream and the meta-information in requested pages. While  and  approaches concentrated on the streaming of real-time video/audio on the Web, we have focused on integration of the multicast feeding into the Web seamlessly. Precept's IP/TV is the first commercial product which provides real-time audio/video multicasts to PC desktops via the MBone. The IP/TV consists of three components: the program guide, viewer, and server. IP/TV's program guide uses the IETF MMUSIC's (Multiparty Multimedia Session Control) recommendation SDP MIME type to get session information. We have learned of SDP mechanism within the Web from the IP/TV program guide as implementation of IETF MMUSIC's recommendation.
In the case of multicast Web pages, five earlier applications exist for distributing Web pages over the MBone. In 1995, Vinary Kumar presented his work on the Shared Mosaic, a multicast extension to NCSA's X Mosaic browser. Two or more Shared Mosaic clients running on multicast capable machines can share a set of URLs. Ed Burns's Webcast enables a group of Mosaic browsers to traverse and share a set of Web pages via the MBone. It uses the Mosaic CCI for browser interface and RMP (Reliable Multicast Protocol) for real-time transmission. It provides for sending both URLs and Web pages. The mMosaic proposed by Gilles Dauphin is another tool for sharing Web pages over the MBone. It is also an extended version of the X Mosaic. All of the above browser environments are X Mosaic-dependent. Lulea Univ. CDT's mWeb application written in Java includes functionality for distribution of Web pages using SRFDP(Scalable Reliable File Distribution Protocol) and SRRTP(Scalable Reliable Real-time Transport Protocol). Also, Tie Liau's WebCanal is another multicast Web application in Java. This application was designed with the goals of flexibility, scalability, and portability. However, these approaches did not define an extended Web architecture for integration of multicast capability, so these are not browser extension but third party applications except for Shared Mosaic and mMosaic. In 1997, we proposed multicast Web framework, which was to extend the Web architecture including protocols, addressing scheme, and page format, and merge this multicast capability into the current Web using HotJava protocol handler seamlessly.
mDesk is another good application which presents an easy-to-use service creation platform for realization of applications handling real-time streams and data using Java. This is able to integrate various existing tools and components, making them useful for distributed work including audio, whiteboard agent, and mWeb. However, it does not support seamless integration of each media (audio, wb, and html) into a Web browser, and it needs installation of each program.
We present an architecture of Web-based multicast, multimedia application, which includes two Internet standard technologies (session discovery protocol [SDP/SAP] and transmission protocol of real-time stream [RTP/RTCP]) and our standard extension (reliable multicast technology for HTML pages distribution). Figure 1 illustrates the architecture with Web browsers at the receiver side. We will discuss the application scenario and component technologies involved in receiving real-time stream and text/HTML type embedded within a Web browser. While a typical MBone sender transmits audio/video, a receiver using only a Web browser gets a session page using HTTP; parses session attributes such as multicast address, port, media, and format, etc., using SDP/SAP; then joins the session using IGMP; and receives audio/video using RTP/RTCP. The network protocols, application protocols, and platform (Java APIs) as shown in Figure 1 are a rich collection of cross platform, open standards that enable immediate deployment of Web applications.
The Web-based multicast, multimedia application has the following Internet standard protocols, technologies, and real-time media:
Overall architecture with Web browsers such as HotJava running at the receiver side, MBone tools such as sdr, vic, vat, and HotJava running at the sender side, and a Web server at the server side is as follows:
Figure 2 shows the application scenario.
Much recent research suggests defining a URL syntax for real-time multimedia: for example, URL for real-time RTP stream is rtp://220.127.116.11:5555:127:h.261 ....
Because there is no need for a client to communicate with a HTTP server in order to start up a session, it seems satisfactory to start up a multicast session without an HTML page. But, while this approach seems good, this can make URLs very undesirable. For instance, Mark Handley (IETF MMUSIC WG chair) proposes that defining a URL syntax for real-time media is a bad idea in that session information such as multicast address, port, media format, etc., is too long, and then is typically done using sdr which advertises such sessions using SDP. In addition, multimedia URL is insufficient for multiple synchronized video streams embedded in an HTML document -- it is a need for HTML extensions for that sort of thing which would need to provide the sort of cross-media bindings.
The current IETF recommendation is to put a normal URL in and for the server to return a MIME content type of application/x-sdp. For example, the Precept IP/TV program guide uses application/x-sdp MIME type for addressing multimedia session on the HTML pages. A Web browser has to know information on a session to join it. We use <application/x-sdp> MIME type in HTML documents for addressing multicast sessions in the Web. SDP is used to describe the session and these packets are conveyed by SAP. We design the WebSDR for SDP/SAP which enables the Web user to join a specific MBone session. As creating session page (for example, websdr.html), the SDP MIME information is embedded to the page each session. In addition, the <APPLET> tag is embedded for automatic download of RTP audio/video player. The details of RTPPlayer Applet will be described in Section 5.
An example of a session page HTML code follows:
<H1> MBone Audio/Video </H1> .... <APPLET CODE=RTPPlay.class WIDTH=400 HEIGHT=400> <PARAM TYPE=file VALUE=3567890/mbone.sdp> <APPLET> ....
An .sdp file contains session attributes such as multicast address, port, media, format, etc., according to the Internet SDP draft. An example of mbone.sdp composing audio/video session follows:
m = audio 21690 RTP/AVP 0 c = IN IP4 18.104.22.168/127 m = video 51990 RTP/AVP 31 c = IN IP4 22.214.171.124/127 ....
Figure 3 shows an example of a session page created using WebSDR. A Web user can join a specific MBone session by requesting the session page -- for example, http://www.mbone.or.kr/websdr.html -- then clicking on the session's PLAY button. In order to receive the changed session page periodically without clicking a reload button, we insert <meta http-equiv="refresh" content ="60" url ... > tag within the HTML page's source. The WebSDR program was implemented in C and can be installed on any Web server. The WebSDR is Internet community standards compliant and interoperable with sdr program.
The Web protocol, HTTP, uses TCP, reliable transmission. So this does not go with the real-time multimedia. For example, if a receiver has to wait for a TCP retransmission, there can be a noticeable and unacceptable gap in playout of the real-time data, whether audio, video, or some other delay-sensitive data. In order to solve this problem, several researchers proposed a new real-time HTTP protocol which maps HTTP onto UDP. This approach can make browser/server implementation more complex, and a Web browser has two different protocol processing routines: for example, HTTP over TCP and HTTP over UDP. On the other hand, many researchers have made for integration of real-time protocol such as RTP in the Web. RTP is a real-time transport protocol that provides end-to-end delivery services to support applications transmitting real-time data, e.g., interactive audio and video. This approach uses real-time protocol, RTP, without modification of HTTP.
We add a RTP sender and a player application to the traditional Web client/server model for applying RTP in the Web. Of course, this approach has the disadvantages of administrative overhead and extra round-trip delay to get meta address, but might be one of solutions that can be deployed immediately without destroying current HTTP.
And, in order to provide cross-platform, we design a player of RTP audio/video, RTPPlayer, in Java Applet which is architecture neutral and portable code. The Java allows true platform-independent application development. Of significance to Web users who want to play RTP audio/video on various platforms is the ability of an applet to be downloaded automatically from a server to the Web users. The network delivers the applet to Web browsers when you request them. It is simple to place references to Java applets into the HTML documents. So, RTPPlayer Applet can be deployed without modification to any computing platform, thus saving the costs associated with developing software for multiple platforms. And because the program is stored on centralized servers, there is no longer a need to have MBone users download and install the program to update software. Figure 4 shows a structure of real-time audio/video delivery using RTPPlayer Applet between a sender and a HotJava browser.
IP multicast also enables new classes of application or media distribution: for example, push application, software distribution, and proxy/caching. To demonstrate scalability of our application framework, we designed a multicast Web pages application to support Web page distribution via the MBone and implemented it using HotJava protocol handler. This was accomplished by extending the traditional Web architecture including protocols, naming scheme, and document format, and merging this multicasting capability into the current Web framework.
In case of Web page multicasting, in order to deal with packet loss caused by using unreliable UDP, reliable and scalable multicast is needed. But, a new reliable multicast protocol approach may be unfeasible in the global Internet. The IETF has decided that standardization of reliable multicast protocols for the Internet is premature, due to cause a particular threat to the operation of the global Internet. It has assigned a research group to this problem in the IRTF (Internet Research Task Force). So, we decided to use LRMP (Lightweight Reliable Multicast) used in WebCanal instead of developing new reliable multicast protocol. LRMP was designed as a general-purpose reliable transport protocol based on unreliable underlying network transport protocols such as UDP. It offers three important features: loss repair, ordered packet delivery, and adapted rate-based flow control. It is a complement to RTP, so it is easy to implement LRMP as an extension to RTP/RTCP.
For HTML pages distribution via multicast, we present the architecture of "HTTP+Multicast" as shown in Figure 5. This "+" means not addition but sequential flow. Figure 5 shows a flow of HTTP+Multicast. This extended protocol architecture is simple: On the environment of many existing participants, a sender starts sending a set of HTML pages to a multicast group after getting these from the HTTP server. So there is HTTP server access for a HTML page broadcast; then at that time, the receivers can see the same page when the receivers join the group.
We defined new URLs for an HTML page multicast. This multicast enhanced URL, named "multicastHTML," can specify that sending and receiving an HTML page. The format of the URL specification is as follows:
The first URL is for sending an HTML page in host/file_path/file_name with multicast_address, port, and ttl (Time-To-Live), and the second URL is for joining with multicast_address and port. This scheme is extended to reveal multicast functionality, such as joining/leaving a host group, sending an HTML page with ttl value. For example, you can use the URL on a browser as below to send the HTML page returned from getting "http://www.mbone.com/index.html" to 126.96.36.199 multicast address with port 6666 and 15 ttl value.
To join this, use the URL such as below:
An HTML page allows the user to navigate the hyperlink. A hyperlink anchor head for an HTML page multicasting must represent URL for multicast addressing including multicast protocol identifier. The HTML format of the hyperlink for multicast sending is as follows:
<A HREF = multicast://multicast_address:port:ttl/host/file_path/file_name> Description </A>
An example is
A HREF = multicast://188.8.131.52:6666:15/www.mbone.com/index.html> An example of multicast hyperlink </A>
Our prototype implementation is built on HotJava using RTPPlayer Applet and multicastHTML protocol handler, which provide a platform-independent, scalable base and no local installation benefits for multicasting various types of real-time media.
First, we implement the RTPPlayer Applet to show MBone audio/video on the Web seamlessly. The traditional HTTP protocol is unsuitable for transmitting audio/video streams due to retransmission and high response time. So, we use HTTP to retrieve SDP files, then Applet to receive real-time audio/video stream. RTPPlayer Applet is written using Java Media APIs and JDK 1.1. Current Java Media beta APIs provide playback of H261 and JPEG encoded video streams and G711(PCMU), GSM, DVI (8, 11.025, 22.05, 44.1KHz) audio encoded streams, which is compatible with MBone applications, vat/rat, and vic. Only playback support of RTP streams has been implemented in this beta version. Sunsoft announced capture support will be added in future releases, so this prototype application will enable MBone conferencing on the Web. Currently, because only HotJava browsers fully support the JDK1.1 or newer, our RTPPlayer Applet can be run on HotJava. The Security Manager of HotJava has a restriction on using multicast sockets, so we modified java.lang.SecurityManager class. Figure 6 shows a sample screen of MBone audio/video play using RTPPlayer Applet.
Next, in order to multicast HTML pages, we designed multicast URLs and hyperlinks on the Web. To implement this multicast enhanced architecture in the Web browser seamlessly, we adapted HotJava environments too. The HotJava browser is the finest pure Java browser available. It is built on the HotJava toolkit, which provides a platform-independent, scalable, and customizable base for building pure Java Web-aware applications. The browser's capability can be dynamically extended, without increasing its base memory footprint, by installing new and protocol handlers for it to use for new media types or protocols. This makes the HotJava browser an ideal, scalable solution for the new media type "HTML" on MBone, and moreover for the new class of network devices, such as NC. Figure 7 shows the concept of HotJava multicast protocol handler.
We define the new protocol handler "multicast" and HotJava can then add support for this new handler on the fly, without being recompiled or requiring the users of this new handler to install. This approach provides users with various benefits on client platform-independent environment and extension of protocol. Sun Microsystems announced that a future HotJava version will be able to automatically download and protocol handlers, but this is not implemented in the current 1.1 release. For this release, this new protocol handler should be locally installed. Using HotJava 1.1, we have implemented multicast protocol handler. The multicast protocol handler is implemented in JDK 1.1. For LRMP, we used inria.net.lrmpRtp Java packages developed by INRIA. Figure 8 shows an operation example of HotJava multicast protocol handler.
The Web-based multicast, multimedia application is a prototype system of integration of RTP/RTCP and SDP/SAP. Because this application is fully Internet/MBone community standards compliant and interoperable with MBone applications, such as vat, rat and vic, Web users can gain immediate MBone feeding without MBone applications.
Our prototype implementation is built on HotJava using Java Applet. The Java allows true platform-independent application development. Of significance to Web users who want to play RTP audio/video on various platforms is the ability of an applet to be downloaded automatically from a server to the Web users. The network delivers the applet to Web browsers when you request it. So, RTPPlayer Applet can be deployed without modification to any computing platform, thus saving the costs associated with developing software for multiple platforms. And because the program is stored on centralized servers, there is no longer a need to have MBone users download and install a program to update software. We are going to propose this application as downloadable software used for NC (Network Computer) or Java embedded systems such as Internet TV.
IP multicast technology enables new classes of application or media distribution: for example, push application, software distribution, and proxy/caching, etc. We designed a new application for distribution of HTML pages via multicast and added the HotJava browser using protocol handler. This approach provides an easy-to-deploy and scalable solution for the new media or application x proposed on the Internet Multicast Infrastructure in near future.
The three major contributions of this work are as follows:
Our work is to build a real-time multicast, multimedia Web application, which is a prototype implementation of integrating RTP/RTCP and SDP/SAP in the Web. Because this application is fully Internet community standards compliant and interoperable with MBone applications, Web users gain immediate access to MBone broadcasts seamlessly. And, there is no longer a need to have MBone users download and install a new program to update software for multicasting various types of real-time media.
IP multicast also enables new classes of application or media distribution: for example, HTML pages broadcasts. This approach provides an ideal and scalable solution for the new media or application x proposed on the Internet Multicast Infrastructure in the near future.