A Cooperative JAVA Web-Start Environment for
Shared Multi-User Remote Operation
A. Neto , H. Fernandes , B. B. Carvalho , J. Sousa , C. A. F. Varandas
andre.neto@cfn.ist.utl.pt, bernardo@cfn.ist.utl.pt, hf@cfn.ist.utl.pt,
jsousa@cfn.ist.utl.pt, cvarandas@cfn.ist.utl.pt
Associação Euratom/IST, Centro de Fusão Nuclear, P-1049-001 Lisboa, Portugal
Abstract— A multi-user platform, based on standards like
CORBA,XML and JAVA, has been developed for remote control
and data acquisition experiments. The main objective is to detach
the machine operation from a single computer, allowing hardware
configuration, experiment follow and data share by all the
connected users. Among the main features it has a built-in chat,
profile saving and sharing and remote calculation invocation.
Since it was developed in JAVA and deployed with JAVA Web-
Start technology, it can run in all the most common operating
systems and computer platforms like PCs, Solaris and Mac in
a very intuitive way. The software is plugin based, providing
an easy way of adding new hardware, data viewers and data
calculation algorithms.
I. I NTRODUCTION
Control and data acquisition in general physics experiments
are made by a single operator with permissions to run and
configure the supported hardware. When the experiment ends,
data is available to interested users in some intricate way, like
accessing databases or running proprietary programs resident
in his own computer. An even more serious problem is
that these programs are usually dependent of some operating
system.A platform, based on standards like CORBA [1], XML
[2] and JAVA [3], has been developed, allowing all hardware
configuration, control and data viewing to be performed by
any authorised user, from any personal computer, anywhere in
the world. CORBA is used to the communication between the
multicast, users, hardware server and hardware clients, allow-
ing the integration of different vendors with high reliability.
All the hardware, platform configuration parameters, plugin
displays and algorithms are described in XML, providing a
very generic way for adding any of these devices. The soft-
ware is distributed using the JAVA Web-start technology[4],
which greatly simplifies the installation process and version
renewing. All received data and information is broadcasted to
all the connected users. A built-in chat service is avaliable for
remote user conferencing.
II. SYSTEM OVERVIEW
One can divide the system in six main parts:
Multicast server - is the core of the system providing
a bridge between all the elements. It is responsible for
the users and hardware clients registration, distribution
of data packets and rotation of client queues, it also acts
as a chat server. Users authentication and authorization
is also done by the multicast server;
Hardware server - works as a bridge between all the
hardware clients and the multicast. It sends configuration
and events to the hardware clients and receives data
and events from them. It is directly connected to the
SQL (Structured Query Language)[5] database, storing
and fetching configurations and data. When required
comunicates with the remote data analysis servers to
perform calculations;
Hardware client - communicate directly with the hard-
ware. It is responsible for hardware configuration, handle
of received data and to act on the hardware accordingly
to hardware server events;
Database - a SQL database is used to store acquired
data, configurations and other parameters of the system.
All types of hardware are divided in several tables, all
inheriting from a master table. The database also stores
users information, profiles and statistics;
Remote data analysis server - perform remote heavy
calculations of some plasma parameters.
User clients - anyone that connects to the system is
considered a client. A client with full permissions can
launch discharges, get saved shots informations and per-
form remote data analysis.
The platform is fully internationalized, current languages are
portuguese and english, the addition of a new language is
trivial due to the JAVA standard internationalization mecha-
nisms through the insertion of new bundles into the distribution
package.
A. Hardware description
All the hardware is described in XML files. These are
constituted by several fields that allow to configure every
aspect of the hardware. The main node hardware has the
following attributes:
id - a unique identifier;
name - name of the hardware;
description - description of the hardware;
table - the SQL table where this hardware exists;
datacolumn - the SQL column where data is saved;
keepdatainconfig - if old data should be maintained in
the configuration, even if there is no new data to replace;
configDisplay - location of an extra configuration display
(not required);
0-7803-9183-7/05/$20.00 ©2005 IEEE.
560