P.L. FabbriPula 20 - 22 Ottobre 2008C.I.G.S. Instruments Remote Control The experience of C.I.G.S C...
-
Upload
geoffrey-croker -
Category
Documents
-
view
215 -
download
0
Transcript of P.L. FabbriPula 20 - 22 Ottobre 2008C.I.G.S. Instruments Remote Control The experience of C.I.G.S C...
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Instruments Remote Control
The experience of C.I.G.S
Centro Interdipartimentale Grandi Strumenti University of Modena & Reggio Emilia - Italy
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
SEM1
ESEM
XRDP
XRDS
TEM-GIF
NMR400
MICIR
NMR200
FTIR1
FTIR2MICRAM
TGA
CONFOCAAS
AI
GC-MS
LC-TQMS
QTOF-MS
MALDI TOF-MS
HR
ICP-MS
ICP-MSEPR
C.I.G.S.
AFM1
AFM2
EDXS
EDXS
EDXS
LC-ITMS
C.I.G.S.
SEM1
ESEM
XRDP
XRDS
TEM-GIF
NMR400
MICIR
NMR200
FTIR1
FTIR2MICRAM
TGA
CONFOCAAS
AI
HR
ICP-MS
ICP-MSEPR
AFM1
AFM2
Windows2003 - Server
Windows XP
Windows 2000
Windows NT
Windows 98
Windows95
Unix
Mac OS
Altri
EDXS
EDXS
EDXS
GC-MS
LC-TQMS
QTOF-MS
MALDI TOF-MS
LC-ITMS
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
C.I.G.S. Acquisition and data archiving - Planning
Analysis of users typology and users needs
~ 700 Internal users grouped in 180
different research groups coming from all Departments of our University
~ 80 external users from other Universities, research agencies and private companies
Informatics skill is very ETHEROGENEUS
Coming from different Campus
“self-service” access to many labs is needed
Simple and “transparent” procedures for data acquisition, archiving and retrieving.
Planning for a rigid and hierarchic data structure is mandatory for an efficient centralized data management system
A Database containing information on Users and Groups need to be developed an maintained.
For each group, a group manager has to be identified.
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
SEM1
ESEM
XRDP
XRDS
TEM-GIF
NMR400
MICIR
NMR200
FTIR1
FTIR2MICRAM
TGA
CONFOCAAS
AI
HR
ICP-MS
ICP-MSEPR
AFM1
AFM2
SRV1
EDXS
EDXS
EDXS
C.I.G.S. Acquisition and data archiving - Planning
Client Server Network
• Central management of shared resources and access privileges
• Each labs can store data on network shares on central file Server
GC-MS
LC-TQMS
QTOF-MS
MALDI TOF-MS
LC-ITMS
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
C.I.G.S. Acquisition and data archiving - Planning
Analysis of Instruments typologies
28 labs with informatics systems for control and data acquisition by proprietary software applications. Operating systems e data types largely
ETHEROGENEUS.
Different levels of possible interaction with control software applications using self made software tools
All the information about instruments need to be inserted on a specific Database Network connection to LAN is necessary.
Specific software tools must be developed with as deep as possible interaction with proprietary software applications
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Struttura dati gerarchica
CODICI
CODICE
YYYYMMDD ( data sessione)
LAB ( Sigla strumento)
[ SIGLA_campione ]
DATA files
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Such a rigid data structure open the way for an easy data finding on the Network File System and, above all, will be a mandatory requirement for automatic data archiving by software tools.
… How can be done ?
In a complex multi-user environment like CIGS we cannot think to delegate each single user to respect the data structure.
Specific software tools must be developed that to do the job. Each user, during a “working session”, must be completely free to select every things about his data files ( file names, comments …. ), BUT NOT where they will be stored.
C.I.G.S. Acquisition and data archiving - Realization
CODICI (is the data Root Folder )
CODICE ( Group Label )
YYYYMMDD ( Session date )
LAB ( Instrument Label )
SAMPLE Name
DATA files names
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Runs on the Main Login Central PC. Here the user is requested to give his CIGS credentials before starting his working session on the requested lab.
The CTRL-Tools must be, at minimum, be able to :
• Communicate with main Login PC to get informations about the session
• Run and stop Main Control software of the instrument and other external applications
• Read and write configuration files or Registy entries to read and set the default folder for storing data
• Close the working session and transfers files from temp folders to the Network file Sytems structure
• At the end communicates to main Login PC the that the job is finished
C.I.G.S. Acquisition and data archiving - Realization
After a succesfull login the for a specific lab the corresponding local control software tool is activated and the session can be started
.
.
.
SEM1_CTRL.EXE
XRDP_CTRL.EXE
NMR200_CTRL.EXE
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Main Login PC
C.I.G.S. A typical working session - Example
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Main Login PC
C.I.G.S. A typical working session - Example
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
Main Login PC
C.I.G.S. A typical working session - Example
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
C.I.G.S. A typical working session - Example
Control PC of FTIR Microscope
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
C.I.G.S. A typical working session - Example
Control PC of FEI XL-30 SEM
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
C.I.G.S. A typical working session - Example
Control PC of Leica Confocal Microscope SP2
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
<lab>_exe tools : one for each instrument
All the tools are developed using Visual Basic and all SW projects have a common modular structure.
When a new instrument is installed, these main aspects must be considered :
•Data types and their sizes
•Configuration files and Registry entries
•Existence of usable API libraries or integrated scripting facilities
Only few modules contains specific code for each lab. Normally, a minimal functionality tool, can be developed in few days and is ready to work.
Depending on how far is the possible interaction with the main control sw, more funtionalities can be added in a second time, also using feedback suggestions by uesers.
C.I.G.S. Acquisition and data archiving - Realization
Last but not least :
All our SW tools have an integrated web server, so they can respond to HTTP requests coming from the NET with dynamically created HTML pages or performing some requested actions on the instrument or on the file system.
C.I.G.S.
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
C.I.G.S. Remote Control
In recent years, the demand for instruments remote access has risen very much. Improvements in computational hardware and software together with increasing speed of network connections, make now it possible. Till now we are far easily easily obtain a complete “ as if you where at the lab ” feeling, However in many cases, acceptable results can be obtained. For that reason, we decided that time has gone to add this kind of service to those we already give to our internal and external users.
Before you feel ready to set up a remote access service you must consider and answer some questions :
WHY? WHO? From WHERE? HOW?
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
C.I.G.S. Remote Control – Why?
• Didactics
• Need to follow long unattended experiments
• Collaborative sessions with a far away sample owner
• Very restrictive instruments requirements in terms of environment perturbations
• Dangerous samples
• Very special instrument ( few exemplars in your country or in the world )
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
C.I.G.S. Remote Control – WHO? From WHERE?
NOBODY ! From NOWHERE !
from Everywhere• Every CIGS registered user ( with different access levels )
• External registered users ( with LIMITED access levels )
• GUESTS ( with variable access levels )
In prospect
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
C.I.G.S. Remote Control – HOW ?
Client side Instrument side
Tailored P2P Applications
• Maximum flexibility
• Browser functionality and external applications control can be integrated
• Generally NOT platform independent
Remote desktop Client Applications
• Easily available
• No need of special Web Services at lab side
• Generally NOT platform independent
• Collaborative sessions NOT always possible
• No restrictions on instrument functions
VNC / MRD Protocols
Proprie
tary
Pro
tocol
WWW Client ( modern browser )
• Easily available
• Platform independent
• Special interfaces with limited functions can be made
• Need a Web Service at the lab side interacting with Instrument HW/SW
HTTP Protocol
HTTP Server
Server Applications
Client side Instrument side
SEM1_CTR.EXE
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
Send graphical desktop changesClient Server
Send Mouse / keyboard events
• type of event
• Desktop coordinates
???SEM
FEI XL-30
Client
C.I.G.S. Remote Control – HOW ? There are also special cases
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
F.S.
SEMPC
CPU
NIC
DLL 32bits
MCCTRL
VGASEM1_CTRL.EXE
C.I.G.S. Remote Control – HOW ? There are also special cases
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
F.S.
SEMPC
CPU
NIC
DLL 32bits
MCCTRL
VGA
Video Server
N1N2
Node N1 must be connected for desktop remote
session and node N2 for live image
SEM1_CTRL.EXE
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
VNC Server
Client side Instrument side
VNC Viewer
CigsIRC.exe
HTTP ClientSEM1_CTRL.exe
HTTP Server
AXIS Video Server
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
C.I.G.S. Remote Control – WHO? From WHERE?
XRDP_CTRL.exe
HTTP Server
CigsIRC.exe
HTTP Client
Client side Instrument side
1 – Connection request
VNC ServerVNC Viewer
2b – Connection accepted
2a – Start VNC Server3a – Start VNC Client
3a – VNC remote session started
From WHERE?
• Create policies for limited IP source addresses
LAN
FireWall
WHO?
• Request remote user to proviede credentials ID and Pwd
1b – User credentials accepted
It works BUT :
• Users sensible data must be accessed and managed locally
• Users could have multiple sets of credentails for each service at the same Organization
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.
C.I.G.S. Remote Control – WHO? From WHERE?
Test
VPN Access can be granted only after a SSO identication process
P.L. Fabbri Pula 20 - 22 Ottobre 2008C.I.G.S.C.I.G.S.
Instrument side
SPClient side
CigsIRC.exe
HTTP ClientXRDP_CTRL.exe
HTTP Server
LAN
FireWall
VPN Olny
Policies
UniMore SSO
IdP
1 Request for Remote Control Service
WWW ServerCIGS
2 – User provides his SSO credentials
3b After a SSO login, user public attributes ar sent
3a VPN access enabled
6 – VNC remote session started
5 – Connection accepted
VNC ViewerVNC Server
4 – Connection request
C.I.G.S. Remote Control – WHO? From WHERE?
VPN