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

Slides:



Advertisements
Similar presentations
Common Instrument Middleware Architecture and Federation of Instrument Resources for X-ray Crystallography Rick McMullen Indiana University.
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
16/11/ IRS-II: A Framework and Infrastructure for Semantic Web Services Motta, Domingue, Cabral, Gaspari Presenter: Emilia Cimpian.
External User Security Model (EUSM) for SNMPv3 draft-kaushik-snmp-external-usm-00.txt November, 2004.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
ECHO: NASA’s E os C learing HO use Integrating Access to Data Services Michael Burnett Blueprint Technologies, 7799 Leesburg.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
Massimo Cafaro GridLab Review GridLab WP10 Information Services Massimo Cafaro CACT/ISUFI University of Lecce, Italy.
1-2.1 Grid computing infrastructure software Brief introduction to Globus © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. Modification.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
Globus Computing Infrustructure Software Globus Toolkit 11-2.
OGSA : Open Grid Services Architecture Ramya Rajagopalan
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Data Grid Web Services Chip Watson Jie Chen, Ying Chen, Bryan Hess, Walt Akers.
Tools for e-Research Mat Wyatt. 2 e-Research Sensor nets data compute… Models/ software/ workflows colleagues instruments.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Core Grid Functions: A Minimal Architecture for Grids William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (www-itg.lbl.gov/~wej)
Apache Airavata GSOC Knowledge and Expertise Computational Resources Scientific Instruments Algorithms and Models Archived Data and Metadata Advanced.
A PERMIS-based Authorization Solution between Portlets and Back-end Web Services Hao Yin 1, Sofia Brenes-Barahona 2, Donald F. McMullen * 2, Marlon Pierce.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
UDDI ebXML(?) and such Essential Web Services Directory and Discovery.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
1 School of Computer, National University of Defense Technology A Profile on the Grid Data Engine (GridDaEn) Xiao Nong
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
Crystal-25 April The Rising Power of the Web Browser: Douglas du Boulay, Clinton Chee, Romain Quilici, Peter Turner, Mathew Wyatt. Part of a.
ICTP, April 2007 CIMA in Australia Ian Atkinson HPRC Manager, ITR School of Maths, Physics and IT James Cook University.
Production Data Grids SRB - iRODS Storage Resource Broker Reagan W. Moore
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
Crystal25 Hunter Valley, Australia, 11 April 2007 Crystal25 Hunter Valley, Australia, 11 April 2007 JAINIS (JCU and Indiana Instrument Services): A Grid.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Toward Standards for Integration of Instruments into Grid Computing Environments D. F. (Rick) McMullen 1, I. M. Atkinson 2, K. Chiu 3, P. Turner 4, K.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Overview of Privilege Project at Fermilab (compilation of multiple talks and documents written by various authors) Tanya Levshina.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
Jini Architecture Introduction System Overview An Example.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Presentation.
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Presentation Title Subtitle DSpace UI Prototype 7 Spring, Angular.js, and the DSpace REST API.
.NET Mobile Application Development XML Web Services.
PROGRESS: GEW'2003 Using Resources of Multiple Grids with the Grid Service Provider Michał Kosiedowski.
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
CIMA and Semantic Interoperability for Networked Instruments and Sensors Donald F. (Rick) McMullen Pervasive Technology Labs at Indiana University
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
© Copyright IBM Corporation 2016 Diagram Template IBM Cloud Architecture Center Using the Diagram Template This template is for use in creating a visual.
A System for Monitoring and Management of Computational Grids Warren Smith Computer Sciences Corporation NASA Ames Research Center.
Grid Services for Digital Archive Tao-Sheng Chen Academia Sinica Computing Centre
Unit – 5 JAVA Web Services
Chapter 3: Windows7 Part 4.
Service-centric Software Engineering
Core Grid Functions: A Minimal Architecture for Grids
Core Grid Functions: A Minimal Architecture for Grids
Introduction to Web Services
Distributed System using Web Services
Grid Computing Software Interface
Presentation transcript:

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

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.

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

Registry and directory server Data Acquisition Code(s) Register Notify Web Services interface Request/ Response Events/ Streaming Locate Analysis Codes Storage Instrument Semantics, Metadata

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)

Plugin Configuration XML based Java Reflection API to load plugins at runtime Java Reflection API to load plugins at runtime

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

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

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

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

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

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

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