The Open Grid Services Architecture (OGSA) described in the new Globus-IBM
paper, “The Physiology of the Grid,” builds on the widely adopted Globus
Toolkit and Web services technologies.
The toolkit components most relevant to OGSA are the Grid Resource
Allocation and Management (GRAM) protocol and its “gatekeeper” service,
which provides for secure, reliable, service creation and management;
the Meta Directory Service (MDS-2), which provides for information
discovery through soft state registration, data modeling, and a local
registry (“GRAM reporter”); and the Grid Security Infrastructure (GSI),
which supports single sign-on, restricted delegation, and credential
mapping.
Web services standards addressed by the paper include SOAP, WSDL, and
WS-Inspection. The Simple Object Access Protocol (SOAP) provides a means
of messaging between a service provider and a service requestor. The Web
Services Description Language (WSDL) is an XML document for describing
Web services as a set of endpoints operating on messages containing
either document-oriented (messaging) or RPC payloads. WS-Inspection
comprises a simple XML language and related conventions for locating
service descriptions published by a service provider.
The Web services framework offers two advantages for the Open Grid
Services Architecture, the paper said.
First, the need to support the
dynamic discovery and composition of services in heterogeneous
environments requires mechanisms for registering and discovering
interface definitions and endpoint implementation descriptions and for
dynamically generating proxies based on bindings for specific
interfaces, the authors wrote. WSDL supports this requirement by
providing a standard mechanism for defining interface definitions
separately from their embodiment within a particular binding (transport
protocol and data encoding format).
Second, the widespread adoption of
Web services mechanisms means that a framework based on Web services can
exploit numerous tools and extant services, such as WSDL processors that
can generate language bindings for a variety of languages (such as Web
Services Invocation Framework, or WSIF), workflow systems that sit on
top of WSDL, and hosting environments for Web services (such as
Microsoft .NET and Apache Axis), the authors wrote.
Services At Core Of OGSA
The Open Grid Services Architecture (OGSA) described in the paper
supports the creation, maintenance, and application of ensembles of
services maintained by virtual organizations (VOs). A service is a
network-enabled entity that provides some capability, such as
computational resources, storage resources, networks, programs and
databases.
The paper defines a Grid service as a Web service that provides a set of
well-defined interfaces and follows specific conventions. The interfaces
address discovery, dynamic service creation, lifetime management,
notification, and manageability; the conventions address naming and
upgradeability. The authors also expect to address authorization and
concurrency control as OGSA evolves. Two other issues, authentication
and reliable invocation, are viewed as service protocol bindings and are
thus external to the core OGSA definition.
The interfaces and conventions that define a Grid service are concerned,
in particular, with behaviors related to the management of “transient
service instances,” the paper said. VO participants typically maintain
not only a static set of persistent services that handle complex
activity requests from clients, but often need to “instantiate” new
transient service instances dynamically, which then handle the
management and interactions associated with the state of particular
requested activities. When the activity’s state is no longer needed, the
service can be destroyed.
For example, in a videoconferencing system,
the establishment of a videoconferencing session might involve the
creation of service instances at intermediate points to manage
end-to-end data flows according to QoS constraints. Or, in a Web serving
environment, service instances might be instantiated dynamically to
provide for consistent user response time by managing application
workload through dynamically added capacity.
Other examples of transient
service instances might be a query against a database, a data mining
operation, a network bandwidth allocation, a running data transfer, and
an advance reservation for processing capability.
First of two pages.
Services within a complex distributed system must be independently
upgradable, the paper said. Versioning and compatibility between services must be
managed and expressed so that clients can discover not only specific
service versions but also compatible services.
Further, services (and
the hosting environments in which they run) must be upgradable without
disrupting the operation of their clients. For example, an upgrade to
the hosting environment may change the set of network protocols that can
be used to communicate with the service, and an upgrade to the service
itself may correct errors or even enhance the interface. Thus, OGSA
defines conventions that can identify when a service changes and when
those changes are backwardly compatible with respect to interface and
semantics (but not necessarily network protocol).
OGSA also defines mechanisms for refreshing a client’s knowledge of a service, such as
what operations it supports or what network protocols can be used to
communicate with the service.
Standard Interfaces Defined
The paper also defines a number of standard interfaces:
Discovery. Applications require mechanisms for discovering available
services and for determining the characteristics of those services so
that they can configure themselves and their requests to those services
appropriately.
Dynamic service creation. The ability to dynamically create and manage
new service instances is a basic tenet of the OGSA model and
necessitates the existence of service creation services. The OGSA model
defines a standard interface (Factory) and semantics that any service
creation service must provide.
Lifetime management. Any distributed system must be able to deal with
inevitable failures. In a system that incorporates transient, stateful
service instances, mechanisms must be provided for reclaiming services
and state associated with failed operations.
Notification. A collection of dynamic, distributed services must be able
to notify each other asynchronously of interesting changes to their
state.
Manageability. In operational settings, large sets of Grid service
instances may need to be monitored and managed. A manageability
interface defines relevant operations.
The OGSA Factory, Registry, Discovery, and HandleMapper interfaces
support the creation of transient service instances and the discovery
and characterization of the service instances associated with a VO. In
effect, a registry service — a service instance that supports the
Registry interface for registration and the Discovery interface, with
appropriate service information, for discovery — defines the service set
associated with a VO. These interfaces can be used to construct a
variety of VO service structures.
Simple hosting environment. A simple execution environment is a set of
resources located within a single administrative domain and supporting
native facilities for service management: for example, a J2EE
application server, Microsoft .NET system, or Linux cluster. In OGSA,
the user interface to such an environment will typically be structured
as a registry, one or more factories, and a handleMapper.
Each factory
is recorded in the registry to enable clients to discover available
factories. When a factory receives a client request to create a Grid
service instance, the factory invokes hosting-environment-specific
capabilities to create the new instance, assigns it a handle, registers
the instance with the registry, and makes the handle available to the
handleMapper. The implementations of these various services map directly
into local operations.
The authors also describe a Virtual hosting environment. In more complex
environments, the resources associated with a VO will span
heterogeneous, geographically distributed “hosting environments,” such
as for a B2B partnership.