The design and implementation of a Jini/Java-based A/V stream control and management
Distributed multimedia applications make diverse demands on communication services and quality of service. These requirements must be met end-to-end in an efficient and integrated manner through the enabling middleware of end systems and communication networks. The middleware should allow an adaptive quality of service (QoS) to be specified and supported; it should also provide application programming interfaces with integrated group communication support that simplify the programming task of multimedia applications. This paper focuses on the latter aspect and presents a distributed solution known as Stream Manager. Stream Manager allows heterogeneous media devices to be connected by the same session initiation procedures of Stream Manager. Through an underlying network connection management service, it allows a new "group stream" to be supported in addition to the OMG's unicast streams and point-to-multipoint multicast streams. The basic operations of Stream Manager and its application interfaces will be described, and the design and implementation of a prototype in Jini/Java will be presented. The performance of the prototype was measured experimentally in terms of throughput, delay, and latencies of joining and leaving a stream. We then compared its performance with that of streams handled by using Java RMI, Java sockets, and CORBA A/V stream. The performance of our system was found to be superior to that of Java RMI and comparable to that of Java socket but slightly inferior to that of CORBA A/V stream due to the higher intrinsic Java processing overhead.
distributed multimedia multicast real-time streams stream group multipoint-to-multipoint stream adaptor