Download:
Adobe Acrobat format,
Postscript
format (zipped)
Grid-Resource Specification
Authors:
Savas Parastatidis
Paul Watson
Jim Webber
Abstract
This specification defines the
Grid Resource Identifier for globally naming resources and
the Grid Resource Metadata document which may contain
metadata information for those resources.
Motivation
One of the main distinguishing
characteristics of the Grid application domain is the need to
share resources [1] (e.g., data, instruments, computers, humans,
etc.) between organisations. For a resource to be shared it must
be uniquely identified and, in many cases, to have associated
metadata that describes it. The Web Services community does not
address the Grid’s requirement for resource identification and
associated metadata beyond an organisation’s boundary since this
is requirement is particular to the Grid, and is not part of the
lower-level Web Services infrastructure.
This specification defines the Grid
Resource Identifier for globally naming resources and the
Grid Resource Metadata document which may contain metadata
information for those resources. The specification does not
address the means by which such documents are populated.
Furthermore, it is left to the Grid application designers to
define the semantics of the metadata information in Grid
Resource Metadata documents.
Grid Resource Identifier
Once the decision has been made to
globally identify a resource, it is important that the resource
is given a unique name with which it can be identified
throughout the Grid application domain. There have been
proposals for naming and uniformly providing access to
resources, like the REpresentational State Transfer (REST) [2]
model. However, since REST depends on HTTP it is protocol
specific and hence unsuitable for heterogeneous systems like the
Grid.
The Uniform Resource Name (URN)
proposal [3] is a technology-agnostic scheme for identifying
resources. The Grid Resource specification utilises URNs as
follows:
Since the GRI is unique and
everlasting, it can be stored in databases and printed in
journals, in the safe knowledge that it could be used, at any
time in the future, to locate any services offering that
resource. In this, it fulfils a similar role to an LSID [4] (and
indeed, an LSID could be used as a GRI).
Please note that although a resource
may have a finite lifetime, its GRI is everlasting, which is an
attribute derived directly from the URN scheme.
Examples of GRIs:
urn:dais:dataset:b4136aa4-2d11-42bd-aa61-8e8aa5223211
urn:instruments:telescope:nasa:hubble
urn:physics:colliders:cern
urn:lsid:pdb.org:1AFT:1
Grid Resource Metadata Document
In addition to the identity of a Grid
resource, it may also be desirable to expose metadata
information about it. A Grid Resource Metadata (GRM) document is
used as the means to capture such metadata information. A GRM
provides an extensible mechanism for the addition of
application-specific metadata, and so this specification
provides only a minimal set of metadata information elements.
Often in the Grid it is desirable to
know about the lifetime of a shared resource. Also, consumers
wishing to access or operate on a resource may need to locate
services that may be aware of this resource. For example,
services may allow a data resource to be returned in a message
or may provide the means to extract information from a resource
(e.g. through a query). Consequently, the lifetime of a resource
and the service endpoints, that may be aware of it, can be part
of that resource’s GRM document.
The following elements should or may
be included in a GRM document:
·
gri. (mandatory) Its value is the GRI of
the resource with which the metadata is related.
·
type. (optional) In situations where the
identified resource could be represented by, or is, an XML
document, this element might be used to provide information
about the XML type of that document (e.g., the “http://www.dais.org/dataset”
complexType for a DAIS dataset).
·
lifetime. (optional) It provides a hint
about the lifetime of the identified resource.
·
endpoint. (optional) It provides
information about the endpoint of a service that may be aware of
the identified resource. The semantics of what it means for a
service to “be aware of a resource” are application-specific.
There may be zero to many endpoint elements in a GRM document.
An endpoint element consists of the following sub-elements:
o
wsa:EndpointReference. A WS-Address [5] to
the service.
o
lifetime. A hint about the period of time
when the addressed service will be aware of the resource.
Except from the gri element,
all the other elements are optional.
The services for which endpoints are
included in a GRM document do not all need to have the same
interface. Some applications that already utilise services with
a specific WSDL interface may not be able to take advantage of
the availability of new services with different interfaces.
However, various approaches may be implemented for choosing
which of the advertised services can be used. An application may
be statically linked to a specific service endpoint at design
time, or bound to it at runtime. In more advanced schemes, an
application could be made aware of multiple WSDL interfaces at
design time, and choose to bind to the service endpoint which
offers one of them at run-time.
Populating a GRM Document
This specification does not define the
means through which the metadata in a GRM document may be
populated. It is expected that this would become possible
through appropriate registries, peer-to-peer systems, or other
higher-level services (e.g., OGSAI-DAI [6]).
Intended Use
Although this specification focuses on
the identification of resources for the Grid and their related
metadata, it is noted that exposing resources to the Grid should
be avoided where possible. Exposing many resources to the Grid
may lead to a great number of interdependencies that cross
organisation boundaries, and lead to tight coupling and poor
scalability. The Web Services Architecture (WSA) [7] approach to
inter-organisation integration through the exchange of rich,
coarse-grained messages should, we believe, be the preferred way
to building Grid applications [8]. A Grid Resource Metadata
document should only be used when it is absolutely necessary to
expose metadata about globally identified resources, and where
common Web Services practices are not sufficient to meet Grid
application requirements (e.g., extremely large datasets for
which “pass-by-reference” is appropriate, telescopes that must
be uniquely identified, globally unique and shared gene
sequences, etc.).
Grid Resource Metadata Document XML Schema
The XML Schema for a GRM document is
shown in Listing 1.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
targetNamespace="http://www.neresc.ac.uk/2003/10/grm"
xmlns:grm="http://www.neresc.ac.uk/2003/10/grm"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<xs:import
namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing"
schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/addressing"/>
<xs:element name="lifetime">
<xs:complexType>
<xs:sequence>
<xs:element name="valid-from" type="xs:dateTime"
minOccurs="0" maxOccurs="1"/>
<xs:element name="valid-until" type="xs:dateTime"
minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Endpoint">
<xs:sequence>
<xs:element ref="wsa:EndpointReference"
minOccurs="1" maxOccurs="1"/>
<xs:element ref="grm:lifetime"
minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GRM">
<xs:sequence>
<xs:element name="gri" type="xs:anyURI"
minOccurs="1" maxOccurs="1"/>
<xs:element name="type" type="xs:QName"
minOccurs="0" maxOccurs="1"/>
<xs:element ref="grm:lifetime"
minOccurs="0" maxOccurs="1"/>
<xs:element name="endpoint" type="grm:Endpoint"
minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Listing 1: XML
Schema for a WS-Resource
Acknowledgements
We would like to thank Dave Ingham (Arjuna Technologies) for
his feedback.
References
1. Foster, I., et al.,
The Physiology of the Grid: An Open Grid Services Architecture
for Distributed Systems Integration. 2002, Global Grid
Forum.
2. Fielding, R.T.,
Architectural Styles and the Design of Network-based Software
Architectures. 2000, University of California, Irvine.
3. Moats, R., RFC4121,
in URN Syntax. 1997:
http://www.ietf.org/rfc/rfc2141.txt.
4. I3C Life Sciences
Identifiers (LSIDs):
http://www.i3c.org/wgr/ta/resources/lsid/docs/index.htm.
5. Web Services
Addressing (WS-Addressing):
http://msdn.microsoft.com/ws/2003/03/ws-addressing.
6. Open Grid Services
Architecture - Data Access and Integration (OGSA-DAI):
http://www.ogsa-dai.org.uk.
7. Web Services
Architecture:
http://www.w3.org/TR/ws-arch.
8. Parastatidis, S., et
al., A Grid Application Framework based on Web Services
Specifications and Practices. 2003:
http://www.neresc.ac.uk/projects/gaf.