ansto e-science workshop romain quilici university of sydney cima cima instrument remote control...

15
ANSTO E-Science workshop ANSTO E-Science workshop Romain Quilici Romain Quilici University of Sydney University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere Integration with GridSphere

Upload: zoe-mckinney

Post on 12-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

ANSTO E-Science workshopANSTO E-Science workshop

Romain QuiliciRomain QuiliciUniversity of SydneyUniversity of Sydney

CIMACIMA Instrument Remote ControlInstrument Remote Control Integration with GridSphereIntegration with GridSphere

Page 2: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

CIMA: Project goalsCIMA: Project goals Integrate instruments and sensorsIntegrate instruments and sensors ( (e.g. e.g. real-time data real-time data

sources) sources) into a grid computinginto a grid computing environment with Web Services environment with Web Services interfacesinterfaces

Abstract instrument capabilities and functionsAbstract instrument capabilities and functions to reduce to reduce data acquisition and analysis applications’ dependence on data acquisition and analysis applications’ dependence on specialized knowledge about particular instrumentsspecialized knowledge about particular instruments

Move production of metadata as close to instrumentsMove production of metadata as close to instruments as as possible and facilitate the automatic production of metadatapossible and facilitate the automatic production of metadata

Develop a Develop a standard, reusable methodology for “grid standard, reusable methodology for “grid enabling” instrumentsenabling” instruments

Collaborate with scientists in Collaborate with scientists in academia and industryacademia and industry in a broad in a broad range of disciplines who either develop instruments or whose work range of disciplines who either develop instruments or whose work depends on the details of using them.depends on the details of using them.

Page 3: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

CIMA ComponentsCIMA Components Service architectureService 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 Service life cycle, high level protocol, communications, self

description, discovery, security description, discovery, security

Communications protocolCommunications protocol• Standards based Standards based • Support for synchronous and asynchronous interactions Support for synchronous and asynchronous interactions

between client and IR between client and IR

Instrument and sensor descriptionInstrument and sensor description• Ontology-based with static and dynamic information Ontology-based with static and dynamic information • Clients should be able to build functional model from Clients should be able to build functional model from

descriptiondescription

Page 4: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Registry and directory server

Data Acquisition

Code(s)

Register

NotifyWeb Services interface

Request/Response

Events/Streaming

Locate

Analysis Codes

Storage Storage

InstrumentSemantics,Metadata

Page 5: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

WS

Int

erfa

ce

Channel(Sink)

User app main

program

User application

Service main

Plug-inModule

#1

Sensor

Channel(Source)

Web

Ser

vice

s In

terf

ace

CIMA instrument service

Actuator

Plug-inModule#2, etc.

(7) Streaming Data

(6) Response with Data

(3) Request

(5) Sensor Data

Actuatorcommand

(4)

(2) Session token

(1) Session Request

1. Session request Parcel with credentials2. 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 actuator6. 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 clientSession request Parcel with credentials

Request Parcel from client: describe, get, set, register, etc. plus session tokenChannel calls appropriate plug-in for request type and data sourcePlug-in retrieves data or runs actuatorResponse Parcel is returned to client (dataor 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)

Page 6: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Plugin ConfigurationPlugin Configuration

XML based Java Reflection API to load plugins at runtimeJava Reflection API to load plugins at runtime

Page 7: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Instrument controlInstrument control Must support Must support several types of commands types of commands

• Void command: Set variables• Synchronous command: Get: Get• Asynchronous commandAsynchronous command

New parcel types:New parcel types:• Get Get

• CommandCommand

Page 8: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Instrument controlInstrument control Strong Security neededStrong Security needed

• Several levels required. Authentication Authorization, Several levels required. Authentication Authorization, Encryption…Encryption…

• Log mechanismLog mechanism• Might be achieved with certificate (GSI/MyProxy) or with Might be achieved with certificate (GSI/MyProxy) or with

Shibboleth/XACMLShibboleth/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 wait for parameters in order to build a command the instrument/drivers/software can understand. instrument/drivers/software can understand.

Dependency between pluginsDependency between plugins• Parcels containing a sequence of commandsParcels containing a sequence of commands

Instrument Constraints descriptionInstrument Constraints description• Self descriptionSelf description• Defines rules for the instrument: collision map,…Defines rules for the instrument: collision map,…• Loaded dynamically by clients

Page 9: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Implementation StatusImplementation Status One C++ versionOne C++ version

• Used by several sitesUsed by several sites• Difficult to extendDifficult to extend

2 Java versions2 Java versions• IndianaIndiana• University of SydneyUniversity of Sydney

Need to merge the 2 versionsNeed to merge the 2 versions

On going projectsOn going projects• Instruments OntologyInstruments Ontology• RegistryRegistry

Page 10: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

CIMA-GridSphereCIMA-GridSphere Provides Instrument monitoring and controlProvides Instrument monitoring and control Technologies: Tomcat, WS (axis/XFire), Pushlets, AJAX, Technologies: Tomcat, WS (axis/XFire), Pushlets, AJAX,

JavaScript, CIMAJavaScript, CIMA Portal contains CIMA Sink (clients)Portal contains CIMA Sink (clients)

• Plugin architecture Plugin architecture XML based configurationXML based configuration

JAVA Reflection APIJAVA Reflection API

• Instantiated and Registered when the portlets container is loaded Instantiated and Registered when the portlets container is loaded • Container LifecycleContainer Lifecycle

Unregistered when the container is destroyedUnregistered when the container is destroyed

Page 11: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Container A

Portlets Container

User

Admin

UserControl

Monitor

Monitor

Several simultaneous

users.

Only one Administrator

Data cache

Container B

WebServices Container

CIMA component

CIMA component

Instruments

Pushed Data:XML Parcels

1) Requests:XML Parcels

2) Responses:XML Parcels

WebServices Container

SO

AP

SO

AP

Dynamic content pushed:

Pushlets-Ajax

Data Manager

SRB

Pushed Data:XML Parcels

SOAP

Data

Retrieval

Page 12: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

Container A

Portlets Container

User

Admin

UserControl

Monitor

Monitor

Several simultaneous

users.

Only one Administrator

Data cache

Container B

WebServices Container

CIMA component

CIMA component

Instruments

Pushed Data:XML Parcels

1) Requests:XML Parcels

2) Responses:XML Parcels

WebServices Container

SO

AP

SO

AP

Dynamic content pushed:

Pushlets-Ajax

Data Manager

SRB

Pushed Data:XML Parcels

SOAP

Data

Retrieval

Page 13: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere

CIMA-GridSphereCIMA-GridSphere StatusStatus: :

• Instruments Instruments Labjacks (monitoring)Labjacks (monitoring) Diffractometer (monitoring and control)Diffractometer (monitoring and control) CamerasCameras

• SecuritySecurity Username/password authenticationUsername/password authentication No authentication in container BNo authentication in container B

Future workFuture work• Ensure only one operator (control) at a time, or must be synchronize at CIMA Ensure only one operator (control) at a time, or must be synchronize at CIMA

levellevel• Rely on a safe/standard security infrastructureRely on a safe/standard security infrastructure

Portal levelPortal level Instrument levelInstrument level Delegation between both entitiesDelegation between both entities

• Provides a list of instruments with their descriptionsProvides a list of instruments with their descriptions Obtained from a registryObtained from a registry Dynamic registration, involves registration/user managementDynamic registration, involves registration/user management Dynamic Graphical Interface: portlet view built from the Instrument descriptionDynamic Graphical Interface: portlet view built from the Instrument description

• Use PGL to interface with SRBUse PGL to interface with SRB

Page 14: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere
Page 15: ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere