Download Optimising distributed object technology for on

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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 Technology
University Malaysia Terengganu
21030 Kuala Terengganu, Malaysia
096683159 / 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 threetier 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:-




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.
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 RMI
Industry 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.
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 .
A)Are all objects local ?
A
B)Are all objects contained in the
same Process?
All local
object
C)This development effort
requires no distributed object
technology
Yes
B
D)Select IPC
No
E
Yes
Same
Process
E)Are all objwects written in java
all Java only
object
F) Select RMI
G)Do all objects exist on a single
computer?
Yes
No
F
H)Are all objects located on a
single Microsoft Windows?
D
C
No
RMI
G
IPC
N/A
I)Select Microsoft COM or Active
X
J)Select CORBA or IPC
Single
computer
Yes
K)Are All object located on
independent platforms?
L)Select CORBA
M) Select DCOM(Microsoft
Platform only)
H
KI
No
B
M
DPlatform
B Independent
2
Yes
No
Yes
MS
Window
only
L
No
J
I
M
DCOM
CORBA
RMI
CORBA
IPC
Figure 1: The Selection Roadmap Flowchart
COM
ActiveX
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.
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
Client Site
IBM-DB2
(Object Relational
databse)
TCP/IP
Mulmedia data
IBM-DB2 Native
TCP
/IP
Driver
JDBC
Logic
Application
Server
Java Virtual
Machine
(JVM)
Graphical User Interface
(Client)
ORB
Operating
system
Server Site
h
t
t
p
Web Browser
Netscape/IE
1st Tier
2nd Tier
J
V
M
Any
platform
Any
Platform
3rd Tier
Figure 2. The system architecture
The server
of server’s implementations that were responsible for executing an input query
Opencomprised
Platform System
statement from
the client and returning the query results back to the client. Java was used as the
Environment
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.
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:
CPU
OS:
Memory:
NIC :
Server
Intel
Pentium4
2GHz
Windows 2000
256 MB RAM
10/100 Mbps
Client
Intel Pentium 4
2.4Ghz
Windows XP
1 GB RAM
10/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 Results
No File name Size
Traditional
Hybrid
(.mpg)
(MB) CORBA Model Model
1
Splash1
0.66
0.65
0.16
2
Popcorn
4.24
0.73
2.05
3
Bean12
12.3
0.98
2.10
4
Bean26
26.1
1.13
6.42
5
Bean43
42.9
1.34
4.86
6
Bean56
56.0
1.30
17.38
7
Bean68
68.3
1.37
25.73
MB/second(MB
persecond)
Throughput of m ultim edia Stream
150.00
124.18
101.82
100.00
78.00
50.00
0.00
45.79
20.85
2.44 5.35 5.55 5.30 3.662.97
0.16 6.42
0.65
0.66 4.24 12.3 26.1 42.9 56 68.3
Size(Mb)
Traditional CORBA Model
Hybrid Model
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.
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/javamedia/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/javamedia/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