
observation of results on one side, but may be a
burden in low capacity networks imposing a great
delay to the streamed video signal. However, we
believe the upgrade of communication networks to
support higher capacities (e.g. GigaEthernet) and
Quality of Service (QoS) guarantees will drastically
reduce or avoid this problem.
This paper is structured as follow: Section 2
identifies the application context and related
requirements, its basic functions and architecture,
and some development issues; Section 3 describes
its operation through a remote measurement
experiment example. Functional and conformance
tests of the initial requirements are presented and
discussed at Section 4. Finally, Section 5 presents
our conclusions about the application tool
functionalities and results and outlines some future
research works on the same subject.
2 DESCRIPTION OF THE
APPLICATION BASIC
FUNCTIONS
2.1 Concept and Architecture
Every single application designed as a tool for
performing remote measurements should be first
concerned with the type of tests to be done. If its
purpose is only a didactic one, then instruments may
be interfaced apart of each other and each
experiment may run independently. If this is the
case, the application should consider simultaneous
access by several users limiting the users number by
the available number of instruments/experiments one
may have access to (Ko, 2001). However, if the
designers have in mind an application that needs to
follow a norm or standard and a sequence of tests
needs to be performed with one or more instruments
interconnected, then requirements are very strict and
most probably only one user will be allowed to
execute the application at a time. So, a previous
knowledge of the way the application works should
be available for the potential clients as, for instance,
by providing information at the appropriate web
page.
The tool can be represented by its basic
building blocks: a block that grants access to users
(authentication block), a block with general
information about the application and specific
information on every test that may be performed and
a block through which the user call the routines
needed for commanding the instruments. The
authentication block can also checks the tool
availability and sends warnings about the current
access status.
Standard client-server architecture is used for
implementing the remote laboratory. Fig. 01 shows
this architecture, where the remote client accesses a
video and instrument server through a web page.
The instrument server functions as the
communication interface to the required instruments
and should carry out the necessary interfaces (digital
I/O, A/D and D/A boards, RS232, IEEE 488, etc)
through which the commands with the instruments
are exchanged. It also bears the video capture cards
that are necessary for visualizing the instruments´
screen. The communication between the video and
the instrument server may occur over a local
network or even in specific cases over a WAN.
2.2 Development Issues
The application was developed using open code
software such as the JAVA language (JAVA, 2004)
running on a LINUX platform (Kernel version:
2.4.20; Slackware distribution). LINUX has been
widespread, but still presents difficulties concerning
appropriate drivers for the different devices used in
the servers. Particularly, drivers for video capture
cards and IEEE 488 interfaces may be hard to find
for different LINUX versions. JAVA is a platform
independent language that was developed for the
implementation of secure distributed systems. Its use
in the present application is fundamental; it enables
an interface between JAVA and programs written in
another language (for example, C for the interface
between the VM700T, a Waveform Analyzer, and
instrument server) called Java Native Interface (JNI)
and distributes data through the web, between the
JAVA Applet and the instrument server, known as
Remote Method Invocation (JAVA RMI). The JNI
has been developed for interfacing the developed
Java classes to the low-level drivers of the
Figure 1: Remote Laboratory Architecture
ICETE 2004 - GLOBAL COMMUNICATION INFORMATION SYSTEMS AND SERVICES
34