Information Model, JSDL and XQuery: A proposed solution Michel Drescher, Fujitsu OGSA-16 Tampa, FL, USA
OGF IPR Policies Apply “I acknowledge that participation in this meeting is subject to the OGF Intellectual Property Policy.” Intellectual Property Notices Note Well: All statements related to the activities of the OGF and addressed to the OGF are subject to all provisions of Appendix B of GFD-C.1, which grants to the OGF and its participants certain licenses and rights in such statements. Such statements include verbal statements in OGF meetings, as well as written and electronic communications made at any time or place, which are addressed to: the OGF plenary session, any OGF working group or portion thereof, the OGF Board of Directors, the GFSG, or any member thereof on behalf of the OGF, the ADCOM, or any member thereof on behalf of the ADCOM, any OGF mailing list, including any group list, or any other list functioning under OGF auspices, the OGF Editor or the document authoring and review process Statements made outside of a OGF meeting, mailing list or other function, that are clearly not intended to be input to an OGF activity, group or function, are not subject to these provisions. Excerpt from Appendix B of GFD-C.1: ”Where the OGF knows of rights, or claimed rights, the OGF secretariat shall attempt to obtain from the claimant of such rights, a written assurance that upon approval by the GFSG of the relevant OGF document(s), any party will be able to obtain the right to implement, use and distribute the technology or works when implementing, using or distributing technology based upon the specific specification(s) under openly specified, reasonable, non-discriminatory terms. The working group or research group proposing the use of the technology with respect to which the proprietary rights are claimed may assist the OGF secretariat in this effort. The results of this procedure shall not affect advancement of document, except that the GFSG may defer approval where a delay may facilitate the obtaining of such assurances. The results will, however, be recorded by the OGF Secretariat, and made available. The GFSG may also direct that a summary of the results be included in any GFD published containing the specification.” OGF Intellectual Property Policies are adapted from the IETF Intellectual Property Policies that support the Internet Standards Process. 2
Overview Two documents Goals A job description A resource description Does the job meet the resource’s requirements? <Capabilities> </Capabilities> <Capabilities> </Capabilities> <Requirements> </Requirements> <Requirements> </Requirements> Does the resource meet the job’s requirements? 3
Contents Foundations: XML Schemas Foundations: XML Documents XQuery and context Solution Results 4
XML Schemas Information Model BES2 JSDL2 Makes use of Information Model JSDL2 5
Info Model XML Schema <Requirements> <XQuery> xs:string </XQuery> </Requirements> <Capabilities> <Host/>+ <VO/>+ </Capabilities> 6
Info Model XML Schema (cont’d) <Host> <CPU> <Architecture> <CPUSpeed> </CPU> <OS> <OSType> <PhysicalMemory> </OS> <Software> <Library>+ <SoftwarePackage>+ </Software>? </Host> <VO> <Name/> <Authentication> <X509/>? <UserPass/>? </Authentication> <Authorisation> <TAN/>+ <Kerberos5/>+ </Authorisation> </VO> 7
JSDL2 / BES2 XML Schema JSDL2 BES2 <JSDLJob> <Resources> <im:Capabilities/> <im:Requirements/> </JSDLJob> <Resources> <im:Capabilities/> <im:Requirements/> </Resources> 8
Contents Foundations: XML Schemas Foundations: XML Documents XQuery and context Solution Results 9
Sample JSDL2 document <Job> </Job> <Capabilities> <VO> <Name> DEISA </Name> <Authentication> <X509/> <UserPass/> <Authorisation> <TAN/> </Authorisation> </VO> </Capabilities> <VO> <Name> OGSA </Name> <Authentication> <X509/> </Authentication> <Authorisation> <TAN/> </Authorisation> </VO> <Requirements> <XQuery> im:OS/im:PhysicalMemory < 101 </XQuery> </Requirements> 10
Sample BES2 document <Job> </Job> <Capabilities> <Host Name=“Host1”> <CPU/> ( Intel, 10 ) <OS/> ( Linux, 100 ) <Software/> </Host> <Host Name=“Host2”> <OS/> ( Windows, 80 ) </Capabilities> <Host Name=“Host3”> <CPU/> ( AMD, 15 ) <OS/> ( Linux, 500 ) <Software/> </Host> <Host Name=“Host4”> <OS/> ( Windows, 80 ) <Requirements> <XQuery> im:Name = 'OGSA-Grid' or count(im:Authentication/im:X509) >= 1 </XQuery> </Requirements> 11
Contents Foundations: XML Schemas Foundations: XML Documents XQuery and context Solution Results 12
im:PhysicalMemory element Dynamic queries XQuery is all about context doc(“job.xml”) // im:OS / im:PhysicalMemory < 101 external function document-node() decendant-or-self:: node() im:OS element element() child:: element() im:PhysicalMemory element element() boolean expression xs:boolean typed Atomic value xs:integer How to provide the correct context? 13
Contents Foundations: XML Schemas Foundations: XML Documents XQuery and context Solution Results 14
Providing context <Job> </Job> <Test> </Test> <Resource> </Resource> <Capabilities> </Capabilities> <Capabilities> </Capabilities> <Capabilities> </Capabilities> <Capabilities> </Capabilities> <Requirements> </Requirements> <Requirements> </Requirements> <Requirements> </Requirements> <Requirements> </Requirements> <Requirements> </Requirements> <Requirements> </Requirements> VO Host VO Host VO Host 15
Assessing the results Number of VOs Number of Hosts = 0: Job is not suitable ≥ 0: pick one VO Number of Hosts = 0: Can’t execute the Job ≥ 0: pick one Host 16
Contents Foundations: XML Schemas Foundations: XML Documents XQuery and context Solution Results 17
How XQuery is used XQuery is a suitable tool for our needs XQuery used in separate domains Requirements matching Document management Different domain usage allows: (restricted XQuery set) (full XQuery set) 18
Info Model work Controls how XQuery will be used XML Element reuse vs. XQuery path assembly Result should be reused in JSDL2 BES (2?) 19
Results (3) Non-standard XQuery function Define OGSA wrapper saxon:evaluate-node( $node ) Evaluates query stored in XML element Define OGSA wrapper Decouples functionality from used Interpreter Implementation left to the user 20
Results (4) JSDL 1.0 extension Define requirements extension Replaces the jsdl:Resources element Query should match container resource description Container requirements may query other JSDL extensions Transparent to existing JSDL 1.0! 21