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