E-Science NorthWest Jon MacLaren Monday 18 th to Friday 22 nd October 2004 GridPrimer Training Course University of Manchester GridPrimer An Introduction.

Slides:



Advertisements
Similar presentations
What is proper format for the XDW document. In its first year, XDW has been exposed to feedback, and this public comment phase –to allow clarifications.
Advertisements

© 2006 Open Grid Forum Joint Session on Information Modeling for Computing Resources OGF 20 - Manchester, 7 May 2007.
© 2006 Open Grid Forum Joint Session on Information Modeling for Computing Resources (OGSA Modeling Activities) OGF 21 - Seattle, 16 October 2007.
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Identity Management Based on P3P Authors: Oliver Berthold and Marit Kohntopp P3P = Platform for Privacy Preferences Project.
Grid Quality of Service and Service Level Agreements Karim Djemame University of Leeds.
SPECIFYING AND MONITORING GUARANTEES IN COMMERCIAL GRIDS THROUGH SLA Sven Graupner Vijay MachirajuAad van Moorsel IEEE/ACM International Symposium on Clustering.
An Application of Dynamic Service Level Agreements in a Risk-Aware Grid Environment Sanaa Sharaf and Karim Djemame School of Computing University of Leeds.
OASIS Reference Model for Service Oriented Architecture 1.0
Transaction Processing Lecture ACID 2 phase commit.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Business Process Orchestration
NextGRID & OGSA Data Architectures: Example Scenarios Stephen Davey, NeSC, UK ISSGC06 Summer School, Ischia, Italy 12 th July 2006.
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Design Plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
Requirements for DSML 2.0. Summary RFC 2251 fidelity Represent existing directory protocols with new transport syntax Backwards compatibility with DSML.
© 2010 The MITRE Corporation. All rights reserved CPE Prefix Property MythBusters* CPE Core Team Technical Working Group (TWG) 05/11/2010 * This presentation.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
WebDAV Issues Munich IETF August 11, Property URL encoding At present, spec. allows encoding of the name of a property so it can be appended to.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004.
New Perspectives on XML, 2nd Edition
© 2006 Open Grid Forum Service Level Terms Andrew Grimshaw.
OGSA Hauptseminar: Data Grid Thema 2: Open Grid Service Architecture
1 WS-Agreement Tutorial Material 2004/09/13 Toshiyuki Nakata NEC Corporation.
Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.
Grid Services I - Concepts
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
Transition and Evolution Moving to Grid Services.
1 WS-Agreement Tutorial Material 2004/09/13 Toshiyuki Nakata.
Designing Classes CS239 – Jan 26, Key points from yesterday’s lab  Enumerated types are abstract data types that define a set of values.  They.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
FIPA Abstract Architecture London FIPA meeting January 24-29, 2000 from: TC-A members.
© 2006 Open Grid Forum BES 1.1 Andrew Grimshaw. © 2006 Open Grid Forum 2 OGF IPR Policies Apply “ I acknowledge that participation in this meeting is.
Software Requirements Specification Document (SRS)
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
INFSO-RI Enabling Grids for E-sciencE Grid Services for Resource Reservation and Allocation Tiziana Ferrari Istituto Nazionale di.
“Custom” Checks/Constraints/Actions A proposal for the OASIS SDD TC Rich Aquino, Macrovision Julia McCarthy, IBM March 1, 2007.
1 WS-Policy. 2 What’s the Problem? To use a web service a client needs more information than is provided in WSDL file. Examples: –Does service support.
The Akoma Ntoso Naming Convention Fabio Vitali University of Bologna.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
© 2006 Open Grid Forum HPC Job Delegation Best Practices Grid Scheduling Architecture Research Group (GSA-RG) May 26, 2009, Chapel Hill, NC, US.
© 2006 Open Grid Forum BES, HPC, JSDL and GLUE Profiling OGF 23, Barcelona, Tuesday 16 October 2007.
© 2005 Global Grid Forum The information contained herein is subject to change without notice Leading the pervasive adoption of grid computing for research.
Of 24 lecture 11: ontology – mediation, merging & aligning.
© 2006 Open Grid Forum WS-Agreement Advance Reservation Profile Oliver Waeldrich OGF 26, 26. May, Chapel Hill.
Enabling Grids for E-sciencE Agreement-based Workload and Resource Management Tiziana Ferrari, Elisabetta Ronchieri Mar 30-31, 2006.
Agreement-based Grid Service Management (OGSI-Agreement) Editors: K. Czajkowski (USC/ISI), A. Dan, J Rofrano (IBM), S. Tuecke, ANL M. Xu (Platform) Asit.
Attributes and Values Describing Entities. Metadata At the most basic level, metadata is just another term for description, or information about an entity.
IPDA Registry Definitions Project Dan Crichton Pedro Osuna Alain Sarkissian.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
XML: Extensible Markup Language
Jun Tatemura NEC Laboratories Amercia GGF10, March 2004
WS-Agreement Overview for OGSA
Management and Manageability in OGSA
WS-Agreement Port Types and Operations 03/2004
Grid Scheduling Architecture – Research Group
Grid Resource Allocation Agreement Protocol Working Group
OGSA Service Classifications
Web Ontology Language for Service (OWL-S)
Heiko Ludwig WS-Agreement Document Structure Details and Issues GGF 10, GRAAP Working Group, March 12, 2004 Heiko Ludwig
Resource and Service Management on the Grid
Introduction to OGF Standards
Presentation transcript:

E-Science NorthWest Jon MacLaren Monday 18 th to Friday 22 nd October 2004 GridPrimer Training Course University of Manchester GridPrimer An Introduction to the world of Grid Computing

E-Science NorthWest WS-Agreement The current “favourite” proposed protocol for negotiation on the Grid

e-Science NorthWest3 What is this WS-Agreement?  Web Services Agreement Specification – WS-Agreement for short.  Abstract from latest version of spec (23 rd August 2004): –“This document describes Web Services Agreement Specification (WS-Agreement), an XML language for specifying an agreement between a resource/service provider and a consumer, and a protocol for creation of an agreement using agreement templates. The specification consists of three parts to be used in a composable manner: a schema for specifying an agreement, a schema for specifying an agreement template, and a set of port types and operations for managing agreement life-cycle, including creation, termination, and monitoring of agreement states.”

e-Science NorthWest4 But what is an “agreement”?  Essentially, this is a contract, a set of terms that the parties entering into the agreement consent to.  Limited to bi-partite agreements –Typically these are between a service provider and a service consumer –The agreement is normally initiated by the service consumer, but this doesn’t have to be the case (although some parts of the spec still say it does!)  How are agreements negotiated? –Single trip negotiation only! –No 2-phase commit  So how are these agreements represented? –By a document?

e-Science NorthWest5 An agreement is represented by a service (!)  To understand this, you have to consider the history of the protocol.  Descendent of “SNAP: A Protocol for Negotiation of Service Level Agreements and Coordinated Resource Management in Distributed Systems” (Czajkowski, Foster, Kesselman, Sander, Tueke), LNCS 2537, 200, pp  Was first created as OGSI-Agreement...

e-Science NorthWest6 So, what is the protocol? Basic steps are: 1.The Agreement Provider or Factory advertises a number of agreement templates (ResourceProperties) 2.The Agreement initiator discovers these templates 3.The Agreement initiator calls the “createAgreement” operation on the Agreement Factory with a proposed agreement that MUST match one of the templates. 4.If the factory does not agree to the terms, a fault message is thrown. Otherwise, an endpoint reference (EPR) is returned, which refers to an observed Agreement service.

e-Science NorthWest7 Is it really this simple?  WS-Agreement appears on many architecture pictures, some of which clearly need something more sophisticated.  Many people assume that there is 2-phase commit  Many people assume that negotiation is being addressed  In reality: –The group of authors doesn’t believe in 2-phase commit for simple agreements –The authors have separated all non-trivial aspects of negotiation into a new specification: WS-AgreementNegotiation –No work on this new protocol has been done...

e-Science NorthWest8 How is the specification organised?  The specification is long: 59 pages, although ~20 pages of this is WSDL specifications. –Section 1: Introduction (4 pages) –Section 2: Two example scenarios (1.5 pages) –Section 3: Architecture Diagram (2 pages) –Section 4: What Agreements look like (15 pages) –Section 5: What Agreement templates look like (4 pages) –Section 6: Definition of template compliance (0.5 pages) –Section 7: Runtime States of terms (1 page) –Section 8: The Factory and Agreement PortTypes (3 pages) –Section 9: A use case (another scenario really) (0.5 pages)

e-Science NorthWest9 State of the Specification  Global Grid Forum Draft Recommendation  Should enter “public comment period” real soon now.  Part of the Grid Resource Allocation and Agreement Protocol Working Group (GRAAP-WG), which is working on protocols for Advance Reservation of resources.  The specification is dependent upon WS-ResourceProperties, part of WS-RF  So, how soon will this really be ready?

e-Science NorthWest10 Section 3 Layered Architecture “Figure 1: WS-Agreement Conceptual Layered Service Model. Note: The names of the different operations and “attributes” are not normative.”

e-Science NorthWest11 Section 4 Form of an agreement Figure 2: Structure of an agreement

e-Science NorthWest12 Agreement Structure: Context  Identifies the following: –Who the initiator is (optional) –Who the provider is (optional) Both of these can be either a URI, Or an WS-Addressing endpoint, Or something else... –Whether the initiator is the service consumer (optional, defaults to “true) –Expiration time (optional – NOT the same as termination time!) –Template name (optional) –Related agreements (must appear, but can be empty). List of: Endpoint references Relationship type (e.g. wsag:dependency – these are not actually defined)

e-Science NorthWest13 Agreement Structure: Summary of Terms  Terms can be composited recursively, i.e. you get a hierarchy of Agreement terms  Composited with “All”, “OneOrMore” or “ExactlyOne” (was AND, OR, XOR – but what is XOR for 3 things?)  You use ServiceDescriptionTerms to express what the service might provide – you are defining ServiceNames –You use ServiceProperties to define which of these terms are measurable –You use ServiceReference to provide domain-specific references to the ServiceNames  You use GuaranteeTerms to make assurances about behaviour of the service – the levels of service that the parties are agreeing to.

e-Science NorthWest14 Agreement Structure: Agreement Terms  Different kinds of terms, all of which have a Name attribute, which names the term and SHOULD be unique, for searching: –ServiceDescriptionTerm – Describes (an aspect of) a service covered by the agreement ServiceName (attr) Name of the service the term refers to – the identifier is only scoped within the agreement Anything! (elem) Domain-specific description of the aspect of the service –ServiceReference – Maps ServiceName to a domain-specific ref., e.g. URI or EPR ServiceName (attr) + xsd:any (elem) –ServiceProperties – Describes aspects of a ServiceName which can be measured ServiceName (attr) + VariableSet (elem) (More in a moment...) –GuaranteeTerms – Define assurance on quality of service More in a moment

e-Science NorthWest15 Agreement Structure: Service Properties: Variable Set VariableSet is just a set of Variables, each of which contains:  Location (elem) xsd:anyType - refers to part of the service description terms –“The value of this element is a structural reference to a field of arbitrary granularity in the service description terms - including fields within the domain-specific service descriptions. This reference gives scope to the concept represented by the variable, i.e. the concept applies at the nesting level of the structural item that is referred. This reference MAY be an XPATH expression for instance to use with domain- specific service description languages that are based on XML. If this reference is an XPATH, it MAY be relative to the wsag:Terms section of the agreement document.”  Name (attr) – Name of the variable – must be unique within the set  Metric (attr) – Optional. –For when the location doesn’t tell you everything you need to know about the variable.

e-Science NorthWest16 Agreement Structure: Guarantee Terms  Define assurance on quality of service... Consists of: –ServiceScope (elem, 0 or more) List of ServiceNames. The guarantee applies to every one of these ServiceNames –QualifyingCondition (elem, any type, optional) –ServiceLevelObjective (elem, any type, optional) “QualifyingCondition and ServiceLevelObjective are expressed as assertions over service attributes and/or external factors such as date and time. The type of both elements is xsd:anyType as a completely open content that can be extended with assertion languages which MAY be designed independently of the WS-Agreement specification but which MUST address the requirements of the particular domain of application of the agreement.” –BusinessValueList (elem) List of Business Value Elements...

e-Science NorthWest17 Agreement Structure: Guarantee Terms: BusinessValueList  Contains: –Importance (elem, optional) – relative important of this ServiceLevelObjective (or “Guarantee”) –Penalty (elem, optional) – for missing an objective –Reward (elem, optional)– for meeting an objective. –Penalty and reward both contain: an interval over which the objective is assessed, or a count which should be met (e.g. number of invocations) a unit for assessing the penalty/reward in the penalty/reward itself –Preference (elem, optional), containing: a list of ServiceTermReferences and a corresponding list of Utility values associated with these –CustomBusinessValue (elem, 0 or more, any type)

e-Science NorthWest18 Agreement Structure: Summary of Terms  You use ServiceDescriptionTerms to express what the service might provide – you are defining ServiceNames –You use ServiceProperties to define which of these terms are measurable –You use ServiceReference to provide domain-specific references to the ServiceNames  You use GuaranteeTerms to make assurances about behaviour of the service – the levels of service that the parties are agreeing to.

e-Science NorthWest19 Section 5 Agreement Template Figure 3: Structure of an agreement template.

e-Science NorthWest20 Agreement Template: Agreement Creation Constraints Optional. Contains:  List of Item elements – constraints referring to a particular term –Name (attr) – Name of the constraint, which should be unique –Location (elem) – Refers to ServiceDescription term(s) –(see VariableSet in ServiceProperties) –Restriction (elem) – xsd:simpleRestrictionModel, as defined in the XML Schema  List of Constraint elements – more freeform than Item –Can be anything –The specification suggest the constraint language contained within XQueryX, the XML rendering of XQuery –They use XQueryXConstraint in the text of the spec, but this is not defined in the WSDL – probably this is meant just as an example?

e-Science NorthWest21 Section 6 Template Compliance “Definition: An agreement template offer is compliant with a template advertised by an agreement provider if and only if each term of service described in the Terms section of the agreement offer complies with the term constraints expressed in the wsag:CreationConstraints section of the agreement template. In addition, certain portions of the Context section of the offer have a required relation to corresponding portions of the Context in the template. These are: –wsag:AgreementProvider:The AgreementProvider value provided in the offer must match the value, if any, specified in the template. –wsag:ExpirationTime: If the template context contains an ExpirationTime element, the ExpirationTime element of the offer MUST NOT be greater than that of the template. –wsag:TemplateName: The TemplateName in the offer must exactly match the name provided in the template document against which compliance is being checked. If the TemplateName is not provided, the provider MAY use any policy to determine compliance. These MAY include rejecting all, testing against all templates, or evaluating independently of the templates advertised.”

e-Science NorthWest22 Section 7.1 Runtime States of Guarantees  Each guarantee term has a state, which can be one of: –“Fulfilled – Currently the guarantee is fulfilled. –Violated – Currently the guarantee is violated. –NotDetermined – No activity regarding this guarantee has happened yet or is currently happening that allows evaluating whether the guarantee is met.”  Possible transitions:

e-Science NorthWest23 Section 7.2 Runtime States of ServiceDescriptionTerm  Each ServiceDescriptionTerm (i.e. ServiceName) also has a runtime state, which can be one of: –Not Ready – The service cannot be used yet. –Ready – The service can start now to be used by a client or to be executed by the service provider. –Processing – The service is currently being processed or in use. –Completed – The service cannot used any more and any service provider activity performing a job is finished. This state does not express whether an execution of a job or service was successful.  Possible transitions:

e-Science NorthWest24 Section 8 PortTypes and Operations  Three PortTypes are definied –AgreementFactory –Agreement –AgreementState – no operations, only resource properties

e-Science NorthWest25 Section 8.1 AgreementFactory PortType Operations:  createAgreement –Supply your EPR (optional) –Supply the proposed agreement  Will throw a fault message for “no”, or return the EPR of the Agreement service ResourceProperties:  Template – 0 or more of these

e-Science NorthWest26 Section 8.2 Agreement PortType Operations:  Terminate – “Terminates an agreement, if permissible” –Will throw a fault message for “no”, or give empty response ResourceProperties:  Context – the context of the agreement  Terms – the specified terms of the agreement

e-Science NorthWest27 Section 8.2 AgreementState PortType ResourceProperties:  GuaranteeTermStateList – as explained previously  ServiceTermStateList – as explained previously  Each of these contains a Name attribute corresponding to the term name, and a state – basically an enumeration of what was stated earlier.  These are not defined in the text of the spec – only in the WSDL! Note: The specification says don’t use this as is – it should be composed into a domain-specific port type...

e-Science NorthWest28 Odd choices?  Agreement as a service, not a document –The service models different views of an agreement (i.e. for the different parties)  No explicit modelling of relationship between Guarantee Terms and Service Description Terms  BUT Explicit modelling of potentially domain-specific services!  Terminate operation. Dangerous! Repudiation issues! Should be called Expire?