OPTIMISING DISTRIBUTED OBJECT TECHNOLOGY FOR ON-DEMAND JAVA MULTIMEDIA DATABASE

sunfloweremryologistΔιαχείριση Δεδομένων

31 Οκτ 2013 (πριν από 3 χρόνια και 8 μήνες)

88 εμφανίσεις

OPTIMISING

DISTRIBUTED OBJECT
TECHNOLOGY

FOR ON
-
DEMAND
JAVA
MULTIMEDIA DATA
BASE


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:
ashukri@umt
.edu.my
1
/

y
a
zid@umt
.edu.my
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 platfo
rms 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

c
apable 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 d
id 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.

T
his 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 te
chnology. 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 with
in
any Java
-
enabled web browsers. The Object Relationa
l 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

KEYWOR
D
S

Multimedia, Java, Java Media Framework, stre
aming 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 radica
l 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 ,
Web
TV or courses on demand
. Distance learning courses stor
ed 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 a
nd 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 toda
y 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 addin
g 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 increas
ingly
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 In
ternet 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
pla
tforms. 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 indi
vidual 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 Prog
ramming Interface
s
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 fra
mework 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 spec
ial 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
-
ti
me 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 provider
s 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 consume
r 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, o
r

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 T
ECHNOLOGY.

Currently industry is working on developing standards to
impr
ove 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
language
s 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), D
istributed(D
COM
)

Ja
va 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 appl
ications 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 commun
icate 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 w
ith 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 acr
oss 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 applic
ation 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 Se
lection 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 IPC


E)Are all objwects written in java


F) Select RM
I


G)Do all objects exist on a single
computer?


H)Are all objects located

on a
single Microsoft Windows?


I)Select Microsoft COM or Active
X


J)Select CORBA or IPC


K)Are All object located on
independent platforms?


L)Select CORBA


M) Select DCOM
(Microso
ft
Platform only)

All local
object

Yes

A

B

Single
computer

Yes

Same
Process

No

Yes

No

N/A

IPC

all Java only
object

Yes

RMI

C

D

F

No

G


MS

Window

only

No

Yes

No

COM

ActiveX

RMI

CORBA

IPC

Platform

Independent

Yes

CORBA

I

J

L

No

M

H

DCOM


E

K
I
B
M
D
B
2

While CORBA, DCO
M, 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 nativ
e
-
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 protoc
ol, 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 so
lution. 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 implementa
tion 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].

Amo
ng 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 pro
vider 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 t
o 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 mul
timedia 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 the
se 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
ret
urns 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 architecture

The 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


Any

Platform















Any

platform

Operating

system



















J

V

M

























Open Platform System
Environment








Java Virtual

Machine

(JVM)


Server Site

Logic


IBM
-
DB2

(
Object Relational
databse
)

IBM
-
DB2

Native
Driver

JDBC


Application

Server


ORB

Graphical User Interface

(
Client)




h

t

t

p




Web Browser

Netscape/IE

Mulmedia data


TCP/IP

TCP

/IP

2
nd

Tier

1
st

Tier

3
rd

Tier

programm
ing 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 Objec
t 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 da
ta 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 suppor
ts 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 Gr
aphical 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 applicat
ion 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 (
D
MMDS) application have be developed to demonst
rate
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
D
MMDS.

Figure 3 Screenshot of Client interface for the MMDS application
.

7.

PERFORMANCE AND EVAL
UATIONS


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 o
n 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

2000

256 MB RAM

10/100 Mbps

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 a
nd 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 s
ervice 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 exper
iment 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

(.mpg)

Size

(MB)

Traditional
CORBA Model

Hybrid
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


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 middl
eware
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
th
ere 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) tech
nologies to provide scalable message disse
mination 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 architectur
e, 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 d
ata from client to the server [1
4].

Likewise, non
-
continuous media applications, such as medical imaging servers [8] T
he 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 applicatio
n 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, flexibili
ty 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 applica
tion 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 enoug
h 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 feas
ibility 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 Con
ference 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), Vol
ume 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 lar
ge scale image size. Master
Thesis. Univerisiti Teknologi Malaysia.

[1
0]

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, In
c.,
[2003]. Available WWW:
http://java.sun.com/products/java
-
media/jmf/forDevelopers/playerapi/packages.html

[13]

Ibrahim

Asaad Aref
(2003)
Audio on demand s
ystemusing 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. Con
ference on graphic an multimedia CoGRAMM’04