Download presentation
Presentation is loading. Please wait.
Published byZoe McKinney Modified over 9 years ago
1
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere Integration with GridSphere
2
CIMA: Project goals Integrate instruments and sensors (e.g. real-time data sources) into a grid computing environment with Web Services interfaces Integrate instruments and sensors (e.g. real-time data sources) into a grid computing environment with Web Services interfaces Abstract instrument capabilities and functions to reduce data acquisition and analysis applications’ dependence on specialized knowledge about particular instruments Abstract instrument capabilities and functions to reduce data acquisition and analysis applications’ dependence on specialized knowledge about particular instruments Move production of metadata as close to instruments as possible and facilitate the automatic production of metadata Move production of metadata as close to instruments as possible and facilitate the automatic production of metadata Develop a standard, reusable methodology for “grid enabling” instruments Develop a standard, reusable methodology for “grid enabling” instruments Collaborate with scientists in academia and industry in a broad range of disciplines who either develop instruments or whose work depends on the details of using them. Collaborate with scientists in academia and industry in a broad range of disciplines who either develop instruments or whose work depends on the details of using them.
3
CIMA Components Service architecture Service architecture Instrument representative (IR) code (device independent)Instrument representative (IR) code (device independent) Drivers (Plug-ins, device dependent) / Software (BIS)Drivers (Plug-ins, device dependent) / Software (BIS) Service life cycle, high level protocol, communications, self description, discovery, securityService life cycle, high level protocol, communications, self description, discovery, security Communications protocol Communications protocol Standards basedStandards based Support for synchronous and asynchronous interactions between client and IRSupport for synchronous and asynchronous interactions between client and IR Instrument and sensor description Instrument and sensor description Ontology-based with static and dynamic informationOntology-based with static and dynamic information Clients should be able to build functional model from descriptionClients should be able to build functional model from description
4
Registry and directory server Data Acquisition Code(s) Register Notify Web Services interface Request/ Response Events/ Streaming Locate Analysis Codes Storage Instrument Semantics, Metadata
5
WS Interface Channel (Sink) User app main program User application Service main Plug-in Module #1 Sensor Channel (Source) Web Services Interface CIMA instrument service Actuator Plug-in Module #2, etc. … (7) Streaming Data (6) Response with Data (3) Request (5) Sensor Data Actuator command (4) (2) Session token (1) Session Request 1.Session request Parcel with credentials 2.Session token returned to client 3.Request Parcel from client: describe, get, set, register, etc. plus session token 4.Channel calls appropriate plug-in for request type and data source 5.Plug-in retrieves data or runs actuator 6.Response Parcel is returned to client (data or result code) 7.If Client registers for event or streaming data Service calls client periodically or when data is available (timer or event-driven from plug-in) Session token returned to client Session request Parcel with credentials Request Parcel from client: describe, get, set, register, etc. plus session token Channel calls appropriate plug-in for request type and data source Plug-in retrieves data or runs actuator Response Parcel is returned to client (data or result code) If Client registers for event or streaming data Service calls client periodically or when data is available (timer or event-driven from plug-in)
6
Plugin Configuration XML based Java Reflection API to load plugins at runtime Java Reflection API to load plugins at runtime
7
Instrument control Must support types of commands Must support several types of commands Void command: Set variables : GetSynchronous command: Get Asynchronous commandAsynchronous command New parcel types: New parcel types: GetGet CommandCommand
8
Instrument control Strong Security needed Strong Security needed Several levels required. Authentication Authorization, Encryption…Several levels required. Authentication Authorization, Encryption… Log mechanismLog mechanism Might be achieved with certificate (GSI/MyProxy) or with Shibboleth/XACMLMight be achieved with certificate (GSI/MyProxy) or with Shibboleth/XACML Need for operations synchronization: Need for operations synchronization: Concurrent access: Queues, Priorities, locksConcurrent access: Queues, Priorities, locks Wait mechanism:Wait mechanism: wait for parameters in order to build a command the instrument/drivers/software can understand. wait for parameters in order to build a command the instrument/drivers/software can understand. Dependency between plugins Dependency between plugins Parcels containing a sequence of commandsParcels containing a sequence of commands Instrument Constraints description Instrument Constraints description Self descriptionSelf description Defines rules for the instrument: collision map,…Defines rules for the instrument: collision map,… Loaded dynamically by clients
9
Implementation Status One C++ version One C++ version Used by several sitesUsed by several sites Difficult to extendDifficult to extend 2 Java versions 2 Java versions IndianaIndiana University of SydneyUniversity of Sydney Need to merge the 2 versions Need to merge the 2 versions On going projects On going projects Instruments OntologyInstruments Ontology RegistryRegistry
10
CIMA-GridSphere Provides Instrument monitoring and control Provides Instrument monitoring and control Technologies: Tomcat, WS (axis/XFire), Pushlets, AJAX, JavaScript, CIMA Technologies: Tomcat, WS (axis/XFire), Pushlets, AJAX, JavaScript, CIMA Portal contains CIMA Sink (clients) Portal contains CIMA Sink (clients) Plugin architecturePlugin architecture XML based configuration XML based configuration JAVA Reflection API JAVA Reflection API Instantiated and Registered when the portlets container is loadedInstantiated and Registered when the portlets container is loaded Container LifecycleContainer Lifecycle Unregistered when the container is destroyed Unregistered when the container is destroyed
11
Container A Portlets Container User Admin User Control Monitor Several simultaneous users. Only one Administrator Data cache Container B WebServices Container CIMA component Instruments Pushed Data: XML Parcels 1) Requests: XML Parcels 2) Responses: XML Parcels WebServices Container SOAP Dynamic content pushed: Pushlets-Ajax Data Manager SRB Pushed Data: XML Parcels SOAP Data Retrieval
12
Container A Portlets Container User Admin User Control Monitor Several simultaneous users. Only one Administrator Data cache Container B WebServices Container CIMA component Instruments Pushed Data: XML Parcels 1) Requests: XML Parcels 2) Responses: XML Parcels WebServices Container SOAP Dynamic content pushed: Pushlets-Ajax Data Manager SRB Pushed Data: XML Parcels SOAP Data Retrieval
13
CIMA-GridSphere Status : Status : InstrumentsInstruments Labjacks (monitoring) Labjacks (monitoring) Diffractometer (monitoring and control) Diffractometer (monitoring and control) Cameras Cameras SecuritySecurity Username/password authentication Username/password authentication No authentication in container B No authentication in container B Future work Future work Ensure only one operator (control) at a time, or must be synchronize at CIMA levelEnsure only one operator (control) at a time, or must be synchronize at CIMA level Rely on a safe/standard security infrastructureRely on a safe/standard security infrastructure Portal level Portal level Instrument level Instrument level Delegation between both entities Delegation between both entities Provides a list of instruments with their descriptionsProvides a list of instruments with their descriptions Obtained from a registry Obtained from a registry Dynamic registration, involves registration/user management Dynamic registration, involves registration/user management Dynamic Graphical Interface: portlet view built from the Instrument description Dynamic Graphical Interface: portlet view built from the Instrument description Use PGL to interface with SRBUse PGL to interface with SRB
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.