280 likes | 487 Views
C.I.G.S. Instruments Remote Control. The experience of C.I.G.S C entro I nterdipartimentale G randi S trumenti University of Modena & Reggio Emilia - Italy. C.I.G.S. P.L. Fabbri. Pula 20 - 22 Ottobre 2008. C.I.G.S. C.I.G.S. XRDP. XRDS. AI. EDXS. ICP-MS. EPR. SEM1. CONFOC. AAS.
E N D
C.I.G.S. Instruments Remote Control The experience of C.I.G.S CentroInterdipartimentaleGrandiStrumenti University of Modena & Reggio Emilia - Italy C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. XRDP XRDS AI EDXS ICP-MS EPR SEM1 CONFOC AAS LC-TQMS EDXS HR ICP-MS ESEM LC-ITMS QTOF-MS EDXS MALDI TOF-MS TEM-GIF GC-MS NMR400 MICIR TGA FTIR1 NMR200 MICRAM FTIR2 AFM1 AFM2 C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. XRDP XRDS AI ICP-MS EDXS EPR SEM1 CONFOC AAS EDXS LC-TQMS HR ICP-MS ESEM LC-ITMS QTOF-MS EDXS MALDI TOF-MS TEM-GIF GC-MS NMR400 MICIR TGA FTIR1 NMR200 MICRAM FTIR2 AFM1 Windows2003 - Server Windows XP Windows 2000 Windows NT Windows 98 Windows95 Unix Mac OS Altri AFM2
C.I.G.S. C.I.G.S. Acquisition and data archiving - Planning Analysis of users typology and users needs ~ 700Internal users grouped in180different 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 Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. Acquisition and data archiving - Planning XRDP XRDS AI EDXS ICP-MS EPR SEM1 CONFOC AAS LC-TQMS EDXS HR ICP-MS LC-ITMS ESEM QTOF-MS EDXS MALDI TOF-MS TEM-GIF GC-MS NMR400 MICIR TGA FTIR1 NMR200 MICRAM FTIR2 • Client Server Network • Central management of shared resources and access privileges • Each labs can store data on network shares on central file Server AFM1 AFM2 SRV1 C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. Acquisition and data archiving - Planning Analysis of Instruments typologies 28labs 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 Pula20 - 22 Ottobre 2008
C.I.G.S. Struttura dati gerarchica CODICI CODICE YYYYMMDD ( data sessione) LAB ( Siglastrumento) [ SIGLA_campione ] DATA files C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. Acquisition and data archiving - Realization 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 archivingbysoftware tools. CODICI (is the data Root Folder ) CODICE ( Group Label ) YYYYMMDD ( Session date ) LAB ( Instrument Label ) SAMPLE Name DATA files names … 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. P.L. Fabbri Pula20 - 22 Ottobre 2008
SEM1_CTRL.EXE XRDP_CTRL.EXE . . . NMR200_CTRL.EXE C.I.G.S. C.I.G.S. Acquisition and data archiving - Realization 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. After a succesfull login the for a specific lab the corresponding local control software tool is activated and the session can be started • 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 filesfrom 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. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. A typical working session - Example Main Login PC C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. A typical working session - Example Main Login PC C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. A typical working session - Example Main Login PC C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. A typical working session - Example Control PC of FTIR Microscope C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.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 Pula20 - 22 Ottobre 2008
C.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 Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. Acquisition and data archiving - Realization <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. 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 Pula20 - 22 Ottobre 2008
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 softwaretogether 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? C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
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 ) C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. Remote Control – WHO? From WHERE? NOBODY ! From NOWHERE ! In prospect from Everywhere • Every CIGS registered user ( with different access levels ) • External registered users ( with LIMITED access levels ) • GUESTS ( with variable access levels ) C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
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 • Remote desktop Client Applications • Easily available • No need of special Web Services at lab side • GenerallyNOT platform independent • Collaborative sessions NOT always possible • No restrictions on instrument functions VNC / MRD Protocols HTTP Server Server Applications Proprietary Protocol SEM1_CTR.EXE C.I.G.S. C.I.G.S. Remote Control –HOW ? Instrument side Instrument side Client side Client side • Tailored P2P Applications • Maximum flexibility • Browser functionality and external applications control can be integrated • Generally NOT platform independent C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. Remote Control – HOW ? There are also special cases Client Client Send graphicaldesktop changes Server • Send Mouse / keyboard events • type of event • Desktop coordinates ??? SEM FEI XL-30 C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. Remote Control – HOW ? There are also special cases F.S. PC SEM DLL 32bits CPU MCCTRL VGA SEM1_CTRL.EXE NIC C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. F.S. PC SEM DLL 32bits CPU MCCTRL VGA SEM1_CTRL.EXE Video Server NIC Node N1 must be connected fordesktop remote session and node N2 for live image N2 N1 C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
AXIS Video Server VNC Viewer VNC Server SEM1_CTRL.exe HTTP Server CigsIRC.exe HTTP Client C.I.G.S. Client side Instrument side C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
VNC Viewer 3a – VNC remote session started VNC Server 2a – Start VNC Server 3a – Start VNC Client 2b – Connection accepted CigsIRC.exe HTTP Client 1b – User credentials accepted C.I.G.S. C.I.G.S. Remote Control – WHO? From WHERE? Client side Instrument side LAN FireWall • From WHERE? • Create policies for limited IP source addresses • WHO? • Request remote user to proviede credentials ID and Pwd • 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 XRDP_CTRL.exe HTTP Server 1 – Connection request C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
VPN Access can be granted only after a SSO identication process C.I.G.S. C.I.G.S. Remote Control – WHO? From WHERE? Test P.L. Fabbri Pula20 - 22 Ottobre 2008
2 – User provides his SSO credentials 3a VPN access enabled VNC Viewer 5 – Connection accepted VNC Server 4 – Connection request XRDP_CTRL.exe HTTP Server 3b After a SSO login, user public attributes ar sent CigsIRC.exe HTTP Client 1 Request for Remote Control Service C.I.G.S. C.I.G.S. Remote Control – WHO? From WHERE? Instrument side SP Client side LAN FireWall VPN Olny Policies UniMore SSO IdP VPN 6 – VNC remote session started WWW Server CIGS C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008
C.I.G.S. C.I.G.S. P.L. Fabbri Pula20 - 22 Ottobre 2008