15
OPTIMISING DISTRIBUTED OBJECT TECHNOLOGY FOR ON-DEMAND JAVA MULTIMEDIA DATABASE A S M Noor 1 and M Y M Saman 2. Department of Computer Science ,Faculty of Science and Technology University Malaysia Terengganu 21030 Kuala Terengganu, Malaysia 096683159 / 09-6694660(FAX) E-mail address: [email protected] 1 / [email protected] 2 ABSTRACT As computer networks become more pervasive and faster, the use of multimedia data will continue to grow. This requirement will place new demands on both deployment platforms independent and the enabling technologies and middleware used to create distributed applications. However, the deployment of platforms independent distributed three-tier multimedia database systems is not yet occurring on a large scale. As multimedia capable computers become cheaper and more pervasive in the consumer and corporate markets, and as the availability of digital information increases, the need for scalable, cross-platform multimedia applications will steadily rise. Often these applications did not face the challenges and problem of applications integration, efficiency, flexibility and scalability. There are strong need for models for multimedia system that based on distributed application components in the form of three-tier architecture. This paper describes a research project in the area of development of multimedia database model using distributed object middleware. The first focus of the research is to study and provide the selection guideline for three most popular distributed object technology. Furthermore, this paper present the framework and an application model development . The application was designed using JAVA technology for developing client application/GUI and server application. Java provides a set of class libraries, called the Java Media Framework (JMF), which provides the cross-platform multimedia data support required by the application as well as by using Java, it can utilize all its functionality across platforms within any Java-enabled web browsers. The Object Relational Database Management (IBM DB2) is used for the development of multimedia database as it allows queries to be performed on complex data, e.g. video, audio. In addition the IBM DB2 Database supports the KEYWORDS Multimedia, Java, Java Media Framework, streaming audio/video, Distributed Database 1. INTRODUCTION

IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

OPTIMISING DISTRIBUTED OBJECT TECHNOLOGY FOR ON-DEMAND JAVA MULTIMEDIA DATABASE

A S M Noor1 and M Y M Saman2.

Department of Computer Science ,Faculty of Science and TechnologyUniversity Malaysia Terengganu

21030 Kuala Terengganu, Malaysia096683159 / 09-6694660(FAX)

E-mail address: [email protected] 1 / [email protected]

ABSTRACT

As computer networks become more pervasive and faster, the use of multimedia data will continue to grow. This requirement will place new demands on both deployment platforms independent and the enabling technologies and middleware used to create distributed applications. However, the deployment of platforms independent distributed three-tier multimedia database systems is not yet occurring on a large scale. As multimedia capable computers become cheaper and more pervasive in the consumer and corporate markets, and as the availability of digital information increases, the need for scalable, cross-platform multimedia applications will steadily rise. Often these applications did not face the challenges and problem of applications integration, efficiency, flexibility and scalability. There are strong need for models for multimedia system that based on distributed application components in the form of three-tier architecture. This paper describes a research project in the area of development of multimedia database model using distributed object middleware. The first focus of the research is to study and provide the selection guideline for three most popular distributed object technology. Furthermore, this paper present the framework and an application model development . The application was designed using JAVA technology for developing client application/GUI and server application. Java provides a set of class libraries, called the Java Media Framework (JMF), which provides the cross-platform multimedia data support required by the application as well as by using Java, it can utilize all its functionality across platforms within any Java-enabled web browsers. The Object Relational Database Management (IBM DB2) is used for the development of multimedia database as it allows queries to be performed on complex data, e.g. video, audio. In addition the IBM DB2 Database supports the

KEYWORDS

Multimedia, Java, Java Media Framework, streaming audio/video, Distributed Database

1. INTRODUCTION

Multimedia information systems are expected to dominate our daily lives. Our houses will be wired for bandwidth to handle interactive multimedia applications. Our high-definition TV/Computer workstations will have access to a large number TV/Computer workstations will have access to a large number of databases, including digital libraries that will distribute vast amounts of outsource multimedia content. With the growth of Internet there has been a radical change in the method of software design and deployment. Software applications are becoming more and more distributed. Java has emerged as an ideal programming language for developing Internet based multimedia applications. The increase in the processing speed of the personnel computers coupled with the increase in the bandwidth of the Internet has resulted in new and exiting multimedia applications. There has been a growth in the multimedia traffic over the Internet in recent years. Some of the promising multimedia applications that are deployable over the Internet and network-based include:-

Page 2: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

Distance Education: Distance learning portals allow students to register and learn from virtual classroom ,WebTV or courses on demand. Distance learning courses stored in multimedia databases are built to support continue education, mission-based training, and life long learning.

E-Conferencing: It is possible that video conferencing will replace the traditional audio phone. With the improvement of network bandwidth and communication protocols, E-conference will replace the traditional teleconference.

Entertainment: Video-on-Demand, Music-on-Demand, Interactive TV, and Virtual Reality/Augmented Reality games will be the next generation of network-based entertainment.

E-Commerce: Virtual marketplace, virtual shopping and Telemedicine

When Multimedia content is incorporated into Internet or network services, the traditional two tier architecture of these services have to be further enhanced in order to fit with the today characteristics of distributed applications such integration, efficiency, flexibility and scalability. The three-tier architecture has emerged to overcome the limitations of the two-tier architecture. This architecture extends the two-tier model by adding another tier in the middle between the client and the server. This tier is called middleware. Middleware in distributed systems is a type of distributed system software that connects different kinds of applications and provides distribution transparency to its connected applications. Middleware are added between the user system interface client environment and the database management server environment. Thus, in a three-tier model the client tier becomes thinner. Distributed object middleware are increasingly getting employed in distributed environments

2. JAVA MEDIA FRAMEWORK (JMF)

Due to the recent explosion of digital video and its applications in the Internet and broadcast media, there is a growing need for Internet-based multimedia application. Some Internet streaming audio video application already exist, such as RealPlayer by RealNetworks Inc., The main drawback of such native implementations of media application is that they are but they are platform dependent. Hence they are not portable across platforms. This directly means using platform-dependent media application and processors are unsuitable for web-deployment. JMF provides a platform-neutral framework for handling media services [2] and multimedia data. JMF provides means for controlling individual media streams in a way that is independent of delivery mechanisms, transport protocols, media types and encoding formats. It also contains the infrastructure needed for extending the framework with new protocols and media types. JMF Application Programming Interfaces API provides an abstraction that hides these implementation details from the developer. For example, a particular JMF Player implementation might choose to leverage an operating system's capabilities by using native methods. JMF is a framework for handling streaming media in Java programs. JMF is an optional package of Java 2 standard platform. JMF provides a unified architecture and messaging protocol for managing the acquisition, processing and delivery of time-based media. JMF enables Java programs to[3] :-(i) Present ( playback) multimedia contents,(ii) Capture audio through microphone and video through Camera,(iii) Do real-time streaming of media over the Internet,(iv) Process media ( such as changing media format, adding special effects),(v) Store media into a file.JMF supports many popular media formats such as JPEG, MPEG-1, MPEG-2, QuickTime, AVI, WAV, MP3, GSM, G723, H263, and MIDI. JMF supports popular media access protocols such as file, HTTP, HTTPS, FTP, RTP, and RTSP. JMF uses a well-defined event reporting mechanism that follows the “Observer” design pattern. JMF uses the “Factory” design pattern that simplifies the creation of JMF objects. The JMF support the reception and transmission of media streams using Real-time Transport Protocol (RTP) and JMF supports management of RTP sessions. JMF scales across different media data types, protocols and delivery mechanisms. JMF provides a plug-in architecture that allows JMF to be customized and extended. Technology providers can extend JMF to support additional media formats. High performance custom implementation of media players, or codecs possibly using hardware accelerators can be defined and integrated with the JMF.

Page 3: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

JMF adopts the same model that is used by the consumer electronics industry in handling the media. According to the JMF model, the life cycle of the media starts from a media source, and ends in a media sink. In between the media is handled by media handlers. The media source can be a [3]a capture device, or a media file stored locally or remotely on the network database or a real-time media stream available on the network. The media handlers process the media which may involve demultiplexing or multiplexing or encoding or decoding. The media processing can be implemented partly in hardware but mostly it is done by software. The media sink or destination can be rendering devices, or storage files or media streams

3. DISTRIBUTED OBJECT TECHNOLOGY.

Currently industry is working on developing standards to improve interoperability and determine what the common Object Request Broker (ORB) will be. Developing client-server systems using technologies that support distributed objects holds great promise, as these technologies support interoperability across languages and platforms, as well as enhancing maintainability and adaptability of the system. There are currently three prominent distributed object technologies: Common Object Request Broker Architecture (CORBA)Component Object Model (COM), Distributed(DCOM)Java Remote Method Invocation Java RMIIndustry is working on standards to improve interoperability between CORBA and COM/DCOM. The Object Management Group (OMG) has developed a mapping between CORBA and COM/DCOM that is supported by several products [5].

3.1 Distributed Object Middleware

Middleware is connectivity software that consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. Middleware is essential to migrating mainframe applications to client-server applications and to providing for communication across heterogeneous platforms. Middleware simplifies the construction of distributed applications by providing standardized mechanisms that distributed components can use to communicate over a network. In other word, middleware is the glue for integrating systems within the middle-tier. It plays a vital role in application reliability since integration points among the various systems are potential points of failure. As distributed object technology has become well accepted within mainstream software applications, standards such as CORBA, DCOM and RMI have emerged as preferred object communication mechanisms[5].All middleware technologies share certain features, since they all deal with the same problem of how to make it easier to construct and integrate distributed applications.Middleware services provide a more functional set of (API) than the operating system and network services to allow an application to locate transparently across the network, providing interaction with another application or service:Se independent from network services Be reliable and available Scale up in capacity without losing function The main purpose of middleware services is to help solve many application connectivity and interoperability problems. While middleware services raise the level of abstraction of programming distributed applications, they still leave the application developer with hard design choices.

Page 4: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

3.2 Distributed Object Middleware Selection Guide.

The selection roadmap flowchart depicts in following figure 1 can be considered as a guidance in choosing the right distributed object technology .

Figure 1: The Selection Roadmap Flowchart

A)Are all objects local ?

B)Are all objects contained in the same Process?

C)This development effort requires no distributed object technology

D)Select IPCE)Are all objwects written in javaF) Select RMIG)Do all objects exist on a single computer?H)Are all objects located on a single Microsoft Windows?

I)Select Microsoft COM or Active XJ)Select CORBA or IPCK)Are All object located on independent platforms?

L)Select CORBA

M) Select DCOM(Microsoft Platform only)

All local object

Yes

A

B

Single computer

Yes

Same Process

No Yes

No

N/AIPC

all Java only object

Yes

RMI

CDFNo

G

MSWindow only

No Yes

No

COMActiveX

RMICORBA

IPC

PlatformIndependent

Yes

CORBA

IJLNo

M

H

DCOM

E

KIBM DB2

Page 5: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

While CORBA, DCOM, and Java RMI all provide similar mechanisms for transparently accessing remote distributed objects, DCOM is a proprietary solution that works best in Microsoft environments. For an organization that has adopted a Microsoft-centered-strategy, DCOM is an excellent choice. However, if any other operating systems are required in the application architecture, DCOM is probably not the correct solution. This may change as Microsoft attempts to make DCOM cross-platform ompatible. Because of its easy-to-use native-JAVA model, RMI is the simplest and fastest way to implement distributed object architecture. It’s a good choice for rapid application development (RAD) prototypes and small applications implemented completely in Java. Since RMI’s native-transport protocol, can only communicate with other Java only objects, it’s not a good choice for heterogeneous applications. CORBA and DCOM are similar in capability[24], but DCOM doesn’t yet support operating system interoperability, which may discount it as a single solution. At the moment, CORBA is the logical choice for building enterprise wide, open-architecture, distributed object applications.

4. JAVA FOR DEVELOPING DISTRIBUTED SYSTEMS

The object-oriented software paradigm is well suited to the design and implementation of distributed multimedia system, as has been extensively documented in the literature [1], [4], [5], [6]. Java provides a comprehensive model for object-oriented technology and widely used for object-oriented software engineering [7], [13],[14].Among the particular processing requirements for multimedia systems are real-time system services, continuous media system services and distributed object management [50]. The Java 2 platform [55] can be used both as the implementation language and as the provider of system services. The main reasons for using Java as a base platform can be summarized as follows:Java is rapidly becoming a de-facto standard for application development, particularly in distributed environments such as the Internet. It provides a highly familiar paradigm for developers of object-oriented Internet applications.Implementations of standard Internet technologies, such as XML parsers and networking protocols, are readily available for the Java platform. Java also provides ubiquitous support for distributed object services, both Java-specific (RMI ) and language-independent (CORBA ).The Java Media Framework (JMF) is an extension which provides media stream services for the Java platform. Despite being available since 1997, JMF has not been extensively used in real-world applications.

4.1 Java And CORBA Integration.

Since its introduction, Java has quickly become a standard for writing Internet applications. Java applications can run on almost every platform, they are network aware and can be dynamically downloadable, without modification, to a broad range of client machines. On the other hand, Java itself is not client-server oriented, nor is writing client-server applications in Java easier than for example in C++. Introducing CORBA to the Java environment means that Java applets are no longer restricted to simple interaction with the user, but are instead capable of taking part in complex interactions with backend services. A combination of the Java programming language with the CORBA standard for application integration presents a good solution for application components capable of accessing multiple, shared backend services located across the Internet. Two key aspects of the distributed object in Java CORBA model are:For the client application or applet, using remote services becomes simple and natural due to the transparency provided by the CORBA programming model it is as easy to use remote objects as it is to use local Java objects residing within the application For the server, CORBA allows implementation freedom as the Java application does not need any knowledge of the way in which the server application is implemented. All that is required is the interface definition (in OMG IDL) for the server object.

Page 6: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

5. SYSTEM DESIGN

Many multimedia applications, such as recording and playback of motion video and audio, slide presentations, and video conferencing, require continuous presentation of a media data stream and the synchronized display of multiple media data streams. Because of these time-related requirements, the allocation of various system resources becomes the most important aspect of the system design. Specifically, a successful system must maintain balanced tradeoffs between granting client requests and the overall performance of the system. On the one hand, when client make their requests and expect these requests to be granted by the server. New system architecture and protocols must be designed to achieve the above goals. Some similar functions may be needed and implemented at both client and server sides to achieve the best system performance.

This system design is based on a three-tier client-server architecture in which the user interface runs on the client and the database is stored on the server. Both client and server are Java based implementation. The system supports both Windows and Unix platforms. The client initiates the queries and sends the queries to the database server. After receiving the queries, the server searches and retrieves the relevant results, and returns the query results to the client. Then the client displays all the query results.

5.1 System Architecture

The distributed object technology multimedia database framework that enable to support multimedia data as figure 2

Figure 2. The system architectureThe server comprised of server’s implementations that were responsible for executing an input query

statement from the client and returning the query results back to the client. Java was used as the

Client Site

AnyPlatform

Open Operating system .

Anyplatform

Operating

system

Open Operating system .

JVM

Open Platform System Environment

Java VirtualMachine(JVM)

Server Site

Logic

IBM-DB2(Object Relational

databse)

IBM-DB2 Native DriverJDBC

ApplicationServer

ORB

Graphical User Interface(Client)

http

Web BrowserNetscape/IE

Mulmedia dataTCP/IP

TCP/IP

2nd Tier1st Tier 3rd Tier

Page 7: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

programming language to implement the "servers" due to its portability. The connection between the servers’ implementations and the IBM DB2 Database was accomplished via its native JDBC driver. This server was placed on the local area network (LAN) with Java Object Request Broker(ORB) acting as the middleware. The ORB was utilised to transfer multimedia data such images, audio and video in a 3-tiers heterogeneous environment.

The back-end tier of the architecture involves the storage and retrieval of multimedia data on the database server. In this paper, the Object Relational Database Management (ORDBMS) is used for the development of multimedia database as it allows queries to be performed on complex data, e.g. video, audio, etc. Since the IBM DB2 Database supports the storage of data as Binary Large Object Blocks (BLOBs), all the multimedia data were stored in their native binary format in a particular column of the database table The following were utilized for the development of the server application:

IBM DB2 v 8.1 PE database. ProjectServer. Java Class for receiving object and sending back the object from/to client

application. ProjectImpl. Java class for executing as input query

The following features were provided by the client's implementations via a Graphical User Interface (GUI): Binding to the servers’ implementations. Invoking the servers’ implementation with the appropriate commands. Displaying and presenting the query results to the user.

The client’s implementations comprised of a Java application and applet. All the user interfaces were created using JFC Swing APIs while JMF APIs[2] were used to present and play multimedia data.

6. APPLICATION MODEL

Two distributed multimedia database Streaming (DMMDS) application have be developed to demonstrate the practicallibility of the system architecture have been develop for querying and presenting text, video sound and image type format. In this application most of the functional requirement of simple multimedia applications such as Add, display, update and delete are demonstrated . Figure 3 shows a typical screenshot of the client interface application for the simple DMMDS.

Figure 3 Screenshot of Client interface for the MMDS application.

Page 8: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

7. PERFORMANCE AND EVALUATIONS

The aim of these experiments is to determine the performance of the hybrid model and evaluate it. To demonstrate this, the Hybrid Model and the Traditional CORBA Model have been tested and their performance are measured.

7.1 Testing Environments

Several tests have been performed on a networked system PCs Performance tests has been utilized with the following capabilities systems as shown in Table 1.

Table 1. Client And Server Hardware Specifications

Node Type: Server Client

CPU

OS:Memory:NIC :

Intel Pentium4 2GHz Windows 2000256 MB RAM10/100 Mbps

Intel Pentium 4 2.4GhzWindows XP1 GB RAM10/100 Mbps

This includes their capabilities for handling the database multimedia Streaming Service. Hybrid Model – A model that use pair of application protocol comprise of CORBA and TCP for

Streaming Service establishment protocol. In this model Java Media Framework (JMF) is the programming API for displaying multimedia file and TCP for data transfer protocol.

Traditional CORBA Model – A model that used an octet for Streaming service passed through the ORB. In this model, Java Media Framework (JMF) is the programming API for displaying multimedia file and the ORB data path for the data transfer mechanism.

7.2 Performance of the multimedia Stream throughput

The aim of this experiment is to illustrate that hybrid model Streaming service does not introduce appreciable overhead in transporting data. To demonstrate this, a hybrid model and Traditional CORBA Model throughput have been tested. To measure the throughput, the number of bytes per second sent by the server to the client has been calculated. Table 2 and Figure 4 show the table for throughput and it graph respectively.

Table 2: Throughput of multimedia Stream ResultsNo File name

(.mpg)Size(MB)

Traditional CORBA Model

Hybrid Model

1 Splash1 0.66 0.65 0.162 Popcorn 4.24 0.73 2.053 Bean12 12.3 0.98 2.104 Bean26 26.1 1.13 6.425 Bean43 42.9 1.34 4.866 Bean56 56.0 1.30 17.387 Bean68 68.3 1.37 25.73

Page 9: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

Figure 3: Graph For Throughput of multimedia Stream

The results depicted in Table 2 and Figure 3 indicate that as expected the hybrid model does not introduce any appreciable overhead to streaming multimedia data.

7.3 Evaluation

In the case of using traditional CORBA method to transfer the data, the benchmark show it incurs additional performance overhead. This overhead arises from excessive data-copying and memory allocation per-request, which increases packet latency and inefficient marshaling-demarshaling in distributed object middleware decreases streaming data throughput

In general, hybrid model performed better then traditional CORBA model due to various optimization, such as minimizing process overhead for streaming multimedia data. Thus, Hyrid Model is the ideal model since there is no additional ORB-related or presentation layer overhead for streaming multimedia data.

8. RELATED WORKS

Morgan at el '05 in their paper presented an implementation of an interest management scheme using standard message oriented middleware (MOM) technologies to provide scalable message dissemination for networked games [4].Robinson at el argued for middleware languages that aid in service composition. They outline where such languages could be useful through the description of our current architecture, and describe what they believe are the key requirements of such a language. they outline the current state of our implementation, and conclude by describing what requirements are placed on service providers by such composition middleware [5].A. Mohamed Nohfrom UTM in their paper at CoGRAMM’04, propose a new special server developed using Java RMI technology to retrieve and save image data from client to the server [14].Likewise, non-continuous media applications, such as medical imaging servers [8] The area of multimedia database is a also very active research area. Numerous research prototypes based on different architectural approaches have been proposed within the last few years.

Page 10: IADIS Conference Templateikaros.teipir.gr/era/era2/B5/B52.doc  · Web viewThis requirement will place new demands on both deployment platforms independent and the enabling technologies

9. CONCLUSION

The three-tier multimedia database streaming application allow the application interoperability and independence of platform, operating system, programming language and even of network and protocol. it also fit with the today characteristics of distributed applications such integration, efficiency, flexibility and scalability. Integrated access to such the manifold features of the Java platform provides an excellent environment for testing new user interfaces, interaction types, and service distribution models. The potential success and utility of the application architecture lies mainly with how well it can be adapted to changing circumstances and meet the requirements of new distributed multimedia and streaming technology. The key question here is whether the design captures essential abstractions well enough to provide reusability in future scenarios. As the intention of this research is to create standards framework distributed object-oriented multimedia system. More than on implementing a production level system, the focus was placed on assessing the feasibility of the task and identifying critical design and implementation issues.

REFERENCES

[1] A. S. Mohd Noor and M. Y. Saman (2006). ”Traditional CORBA Framework Re-engineering For Distributed Medical Informatics Model Development”. IEEE International Conference on Computing & Informatics (ICOCI 2006) 6 – 8 June, 2006, KL, MALAYSIA. [2] Developing multimedia applications with the Java media Framework ( includes JMF 2.1.1 and MMAPI ), T.G.Venkatesh, cosmos software, First Edition 2004.[3] Sun Microsystems, Inc. Java Media Framework http://java.sun.com/products/java-media/jmf2.1.1/guide/[4] Morgan G and Fengyun L. (2005) “Visibility & games: Interest management middleware for networked games”. Symposium on Interactive 3D graphics and games , Washington, USA[5] Robinson, J. and Wakeman I(2004) “Middleware for service composition in pervasive computing”. The 2nd Workshop on Middleware for Pervasive and Ad-hoc Computing , Toronto, Canada[6] Togni D, Ribas P and Lisboa. M (2005) “Tool integration using the web-services approach” Proceedings of the 15th ACM Great Lakes symposium on VLSI, Chicago, Illinois, USA[7] Aaron W. Jr. (2004) “Flexible distributed programming in an extended Java”. ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 26 Issue 3, [8] Mildenberger P, Eichelberg M, and Martin E. (2002) Introduction to the DICOM standard. European Radiology , Publisher: Springer Berlin / Heidelberg ISSN: 0938-7994. [9] Wan Zahari, W. N. I. (2003), Distributed Computing model for large scale image size. Master Thesis. Univerisiti Teknologi Malaysia.[10] Gokhale, A. and Schmidt, D. C. (1998), Measuring and Optimizing CORBA Latency and Scalability Over High-speed Networks. Transactions on Computing, 47(4).[11] Gokhale, A. and Schmidt, D. C. (1996), Measuring the Performance of Communication Middleware on High-Speed Networks. In Proceedings of SIGCOMM ’96, pages 306–317, Stanford, CA. ACM.[12] Sun Microsystems, Inc. Java Media Framework 2.1.1 Specification [online]. Sun Microsystem, Inc., [2003]. Available WWW: http://java.sun.com/products/java-media/jmf/forDevelopers/playerapi/packages.html[13] Ibrahim Asaad Aref (2003) Audio on demand systemusing real-time transport protocol(RTP) based on JMF API Malaysian Science and Technology Congress 2003 .[14] Mohamed Noh(2004). A new special server developed using Java RMI technology to retrieve and save image data from client to the server. Conference on graphic an multimedia CoGRAMM’04