Beruflich Dokumente
Kultur Dokumente
UNIT I- INTRODUCTION
Evolution of Distributed computing: Scalable computing over the Internet
Technologies for network based systems clusters of cooperative computers Grid
computing Infrastructures cloud computing service oriented architecture
Introduction to Grid Architecture and standardsElements of Grid Overview of Grid
Architecture.
Billions of people use the Internet every day. As a result, supercomputer sites and
large data centers must provide high-performance computing services to huge
numbers of Internet users concurrently.
Because of this high demand, the Linpack Benchmark for high-performance
computing (HPC) applications is no longer optimal for measuring system
performance. The emergence of computing clouds instead demands high-throughput
computing (HTC) systems built with parallel and distributed computing technologies
systems, and high-bandwidth networks.
HIGH-PERFORMANCE COMPUTING
HPC needs large amounts of computing power for short periods of time.
HPC systems uses a smaller number of more expensive processors expensively
interconnected
HPC system focuses on how fast an individual job can complete
Fine grained problems need a high performance system that enables rapid
synchronization between the bits that can be processed in parallel and runs the bit as
fast as possible that are difficult to parallelise
Tightly coupled systems are efficiently executed
For many years, HPC systems emphasize the raw speed performance.
The metrics to evaluate HPC systems are FLOPS(Floating Point Operations Per
Second) which identifies the number of floating point operations per second that a
computing system can perform
On the HPC side, supercomputers (massively parallel processors or MPPs) are
gradually replaced by clusters of cooperative computers out of a desire to share
computing resources.
The cluster is often a collection of homogeneous compute nodes that are physically
connected in close range to one another.
The speed of HPC systems has now increased from Gflops to Pflops.
HIGH-THROUGHPUT COMPUTING
Centralized computing
This is a computing paradigm by which all computer resources are
Centralized in one physical system.
All resources (processors, memory, and storage) are fully shared and tightly coupled
within one integrated OS.
Many data centres and supercomputers are centralized systems, but they are used in
parallel, distributed, and cloud computing applications
Parallel computing
In parallel computing, all processors are either tightly coupled with centralized shared
memory or loosely coupled with distributed memory.
Interprocessor communication is accomplished through shared memory or via
message passing.
A computer system capable of parallel computing is commonly known as a parallel
computer
Programs running in a parallel computer are called parallel programs.
The process of writing parallel programs is often referred to as parallel programming
Distributed computing
A distributed system consists of multiple autonomous computers, each having its own
private memory, communicating through a computer network.
Information exchange in a distributed system is accomplished through message
passing. A computer program that runs in a distributed system is known as a
distributed program.
The process of writing distributed programs is referred to as distributed programming.
Cloud computing
An Internet cloud of resources can be either a centralized or a distributed computing
system.
The cloud applies parallel or distributed computing, or both.
Clouds can be built with physical or virtualized resources over large data centers that
are centralized or distributed
Some authors consider cloud computing to be a form of utility computing or service
computing
DEGREES OF PARALLELISM
MULTITHREADING TECHNOLOGY
The superscalar processor is single-threaded with four functional units. Each of the
three multithreaded processors is four-way multithreaded over four functional data
paths.
In the dual-core processor, assume two processing cores, each a single-threaded two-
way superscalar processor.
Instructions from different threads are distinguished by specific shading patterns for
instructions from five independent threads.
Typical instruction scheduling patterns are shown here. Only instructions from the
same thread are executed in a superscalar processor.
Fine-grain multithreading switches the execution of instructions from different
threads per cycle.
Course-grain multithreading executes many instructions from the same thread for
quite a few cycles before switching to another thread.
The multicore CMP executes instructions from different threads completely.
The SMT allows simultaneous scheduling of instructions from different threads in the
same cycle.
The CPU is the conventional multicore processor with limited parallelism to exploit.
The GPU has a many-core architecture that has hundreds of simple processing cores
organized as multiprocessors.
Each core can have one or more threads.
Essentially, the CPUs floating-point kernel computation role is largely offloaded to
the many-core GPU. The CPU instructs the GPU to perform massive data processing.
The bandwidth must be matched between the on-board main memory and the on-chip
GPU memory.
This process is carried out in NVIDIAs CUDA programming using the GeForce 8800
or Tesla and Fermi GPUs.
A conventional computer has a single OS image. This offers a rigid architecture that
tightly couples application software to a specific hardware platform.
Some software running well on one machine may not be executable on another
platform with a different instruction set under a fixed OS.
Virtual machines (VMs) offer novel solutions to underutilized resources, application
inflexibility, software manageability, and security concerns in existing physical
machines.
In Fig, the host machine is equipped with the physical hardware, as shown at the
bottom of the figure.
An example is an x-86 architecture desktop running its installed Windows OS, as
shown in part (a) of the figure.
The VM can be provisioned for any hardware system. The VM is built with virtual
resources managed by a guest OS to run a specific application. Between the VMs and
the host platform, one needs to deploy a middleware layer called a virtual machine
monitor (VMM).
Fig (b) shows a native VM installed with the use of a VMM called a hypervisor in
privileged mode. For example, the hardware has x-86 architecture running the
Windows system.
The guest OS could be a Linux system and the hypervisor is the XEN system
developed at Cambridge University. This hypervisor approach is also called bare-
metal VM, because the hypervisor handles the bare hardware (CPU, memory, and I/O)
directly.
Another architecture is the host VM shown in Fig(c). Here the VMM runs in non-
privileged mode. The host OS need not be modified. The VM can also be
implemented with a dual mode, as shown in Fig (d). Part of the VMM runs at the user
level and another part runs at the supervisor level. In this case, the host OS may have
to be modified to some extent.
Multiple VMs can be ported to a given hardware system to support the virtualization
process.
The VM approach offers hardware independence of the OS and applications. The user
application running on its dedicated OS could be bundled together as a virtual
appliance that can be ported to any hardware platform.
The VM could run on an OS different from that of the host computer.
VM Primitive Operations
Cluster Architecture
The cluster is connected to the Internet via a virtual private network (VPN) gateway. The gateway IP
address locates the cluster. Most clusters have loosely coupled node
Computers. All resources of a server node are managed by their own OS.
Single-System Image
Cluster designers desire a cluster operating system or some middleware to support SSI at various
levels, including the sharing of CPUs, memory, and I/O across all cluster nodes.
Hardware, Software, and Middleware Support
Special cluster middleware supports are needed to create SSI or high availability (HA).
Both sequential and parallel applications can run on the cluster, and special parallel environments are
needed to facilitate use of the cluster resources.
Major Cluster Design Issues
Unfortunately, a cluster-wide OS for complete resource sharing is not available yet.
A computing cluster consists of interconnected stand-alone computers which work
cooperatively as a single integrated computing resource.
In the past, clustered computer systems have demonstrated impressive results in
handling heavy workloads with large data sets.
Figure shows the architecture of a typical server cluster built around a low-latency,
high bandwidth interconnection network.
This network can be as simple as a SAN (e.g., Myrinet) or a LAN (e.g., Ethernet).
To build a larger cluster with more nodes, the interconnection network can be built
with multiple levels of Gigabit Ethernet, Myrinet, or InfiniBand switches.
Through hierarchical construction using a SAN, LAN, or WAN, one can build
scalable clusters with an increasing number of nodes.
The cluster is connected to the Internet via a virtual private network (VPN) gateway.
The gateway IP address locates the cluster.
The system image of a computer is decided by the way the OS manages the shared
cluster resources.
Most clusters have loosely coupled node computers.
All resources of a server node are managed by their own OS.
Thus, most clusters have multiple system images as a result of having many
autonomous nodes under different OS control
Grid Computing is based on the concept of information and electricity sharing, which
allowing us to access to another type of heterogeneous and geographically separated
resources.
1. Storage elements
2. Computational resources
3. Equipment
4. Specific applications
5. Other
Internet protocols.
Ideas of parallel and distributed computing.
5. CLOUD COMPUTING
Cloud Computing is used to manipulating, accessing, and configuring the hardware and
software resources remotely. It gives online data storage, infrastructure and application.
Cloud Computing
This model enables the user to deploy user-built applications onto a virtualized cloud
platform.
PaaS includes middleware, databases, development tools, and some runtime support
such as Web 2.0 and Java.
The platform includes both hardware and software integrated with specific
programming interfaces.
The provider supplies the API and software tools (e.g., Java, Python, Web 2.0, .NET).
The user is freed from managing the cloud infrastructure.
SOFTWARE AS A SERVICE (SAAS)
There are four key characteristics of cloud computing. They are shown in the following
diagram:
1. On Demand Self Service
Cloud Computing allows the users to use web services and resources on demand. One can
logon to a website at any time and use them.
2. Broad Network Access
Since cloud computing is completely web based, it can be accessed from anywhere and at any
time.
3. Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can share single
physical instance of hardware, database and basic infrastructure.
4. Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of
resources means the ability of resources to deal with increasing or decreasing demand.The
resources being used by customers at any given point of time are automatically monitored.
5. Measured Service
In this service cloud provider controls and monitors all the aspects of cloud service. Resource
optimization, billing capacity planning etc. depend on it.
The cloud computing service oriented architecture is shown in the diagram below.
An early form of client-server arrangement was the remote procedure call (RPC)
introduced in the 1980s. This mechanism allows a local program to execute a
procedure on a remote computer and get back results from that procedure. It is now
the basis of certain network facilities such as mounting remote files in a shared file
system.
For the remote procedure call to work, the client needs to:
Service-oriented architecture.
Later forms of remote procedure calls in 1990s introduced distributed objects, most
notably, CORBA (Common Request Broker Architecture) and Java RMI (Remote Method
Invocation).
A fundamental disadvantage of remote procedure calls so far described is the need for the
calling programs to know implementation-dependent details of the remote procedural
call. A procedural call has a list of parameters with specific meanings and types and the
return value(s) have specific meaning and type.
All these details need to be known by the calling program each remote procedure
provided by different programmers could have different and incompatible arrangements.
This led to improvements including the introduction of interface definition (or
description) languages (IDLs) that enabled the interface to be described in a language-
independent manner and would allow clients and servers to interact in different languages
(e.g., between C and Java). However, even with IDLs, these systems were not always
completely platform/language independent.
Grids provide protocols and services at five different layers as identified in the Grid protocol
architecture.
At the Fabric layer, Grids provide access to different resource types such as compute,
storage for instance, local resource managers.
Connectivity layer defines core communication and authentication protocols for easy
and secure network transactions.
The GSI (Grid Security Infrastructure) protocol underlies every Grid transaction.
The Resource layer defines protocols for the publication, discovery, negotiation,
monitoring, accounting and payment of sharing operations on individual resource
The GRAM (Grid Resource Access and Management) protocol is used for allocation
of computational resources and for monitoring and control of computation on those
resources, and Grid FTP for data access and high-speed data transfer.
Like an electric utility power grid, a computing grid offers an infrastructure that
couples computers, software/middleware, special instruments, and people and sensors
together. The grid is often constructed across LAN, WAN, or Internet backbone
networks at a regional, national, or global scale.
Enterprises or organizations present grids as integrated computing resources.
They can also be viewed as virtual platforms to support virtual organizations. The
computers used in a grid are primarily workstations, servers, clusters, and
supercomputers. Personal computers, laptops, and PDAs can be used as access
devices to a grid system.
The resource sites offer complementary computing resources, including workstations,
large servers, a mesh of processors, and Linux clusters to satisfy a chain of
computational needs.
The grid is built across various IP broadband networks including LANs and WANs
already used by enterprises or organizations over the Internet.
The P2P architecture offers a distributed model of networked systems. First, a P2P
network is client-oriented instead of server-oriented.
In a P2P system, every node acts as both a client and a server, providing part of the
system resources.
Peer machines are simply client computers connected to the Internet. All client
machines act autonomously to join or leave the system freely.
This implies that no master-slave relationship exists among the peers.
No central coordination or central database is needed.
In other words, no peer machine has a global view of the entire P2P system. The
system is self-organizing with distributed control.
OGSA
The Global Grid Forum has published the Open Grid Service Architecture (OGSA).
To address the requirements of grid computing in an open and standard way requires a
framework for distributed systems that support integration, virtualization and
management. Such a framework requires a core set of interfaces, expected behaviors,
resource models bindings.
OGSA defines requirements for these core capabilities and thus provides general
reference architecture for grid computing environments.
It identifies the components and functions that are useful if not required for a grid
environment.
OGSI
The Global Grid Forum extended the concepts defined in OGSA to define specific
interfaces to various services that would implement the functions defined by OGSA.
Open Grid Services Interface (OGSI) defines mechanisms for creating, managing
exchanging information among Grid services.
A Grid service is a Web service that conforms to a set of interfaces and behaviors that
define how a client interacts with a Grid service.
These interfaces and behaviors, along with other OGSI mechanisms associated with
Grid service creation and discovery, provide the basis for a robust grid environment.
OGSI provides the Web Service Definition Language (WSDL) definitions for these
key interface
OGSA-DAI
The OGSA-DAI (data access and integration) project is concerned with constructing
middleware to assist with access and integration of data from separate data sources
via the grid.
GRIDFTP
Grid FTP is a secure and reliable data transfer protocol providing high performance
and optimized for wide-area networks that have high bandwidth.
As one might guess from its name, it is based upon the Internet FTP protocol and
includes extensions that make it a desirable tool in a grid environment.
The Grid FTP protocol specification is a proposed recommendation document in the
Global Grid Forum (GFD-R-P.020).
Grid FTP uses basic Grid security on both control (command) and data channels.
Features include multiple data channels for parallel transfers, partial file transfers,
third-party transfers more.
WSRF Web Services Resource Framework (WSRF). Basically, WSRF defines a set of
specifications for defining the relationship between Web services (that are normally
stateless) and stateful resources
GENERAL DESCRIPTION
The Computing Element (CE) is a set of gLite services that provide access for Grid jobs to a
local resource management system (LRMS, batch system) running on a computer farm, or
possibly to computing resources local to the CE host. Typically the CE provides access to a
set of job queues within the LRMS.
BOOKING CONDITIONS
No particular booking is required to use this service. However, the user MUST have a
valid grid certificate of an accepted Certificate Authority and MUST be member of a
valid Virtual Organization (VO).
The service is initiated by respective commands that can be submitted from any gLite
User Interface either interactively or through batch submission.
To run a job on the cluster the user must install an own or at least have access to a
gLite User Interface. Certificates can be requested for example at the German Grid
Certificate Authority.
DEREGISTRATION
IT-SECURITY
The database and log files of the CEs contain information on the status and results of
the jobs and the certificate that was used to initiate the task.
The required data files themselves are stored on the worker nodes or in the Grid
Storage Elements (SEs). No other personal data is stored.
UNIT II GRID SERVICES
The OGSA is an open source grid service standard jointly developed by academia and
the IT industry under coordination of a working group in the Global Grid Forum
(GGF).
The standard was specifically developed for the emerging grid and cloud service
Communities.
The OGSA is extended from web service concepts and technologies.
The standard defines a common framework that allows businesses to build grid
platforms across enterprises and business partners.
The intent is to define the standards required for both open source and commercial
software to support a global grid infrastructure.
OPEN GRID SERVICES ARCHITECTURE (OGSA)
Infrastructure services
Execution Management services
Data services
Resource Management services
Security services
Self-management services
Information services
Operations are grouped to form interfaces, and interfaces are combined to specify a service.
Encourages code-reuse
Simplifies application design
Ease of composition of services
Service Virtualization: isolate users from
Details of service implementation and location.
OGSA COMPONENTS
OGSA FRAMEWORK
oThe OGSA was built on two basic soware technologies: the Globus Toolkit
widely adopted as a grid technology solution for scientific and technical
computing, and web services (WS 2.0) as a popular standards-based
framework for business and network applications.
The OGSA is intended to support the creation, termination, management,
and invocation of stateful, transient grid services via standard interfaces and
conventions
The OGSA framework specifies the physical environment, security,
infrastructure profile, resource provisioning, virtual domains, and execution
environment for various grid services and API access tools
OGSA is service oriented.
A service is an entity that provides some capability to its client by exchanging
Messages
OGSA INTERFACES
This is a mechanism for creating new services and specifying assertions regarding the
Lifetime of a service.
The OGSA model defines a standard interface, known as a factor, to implement this
reference. Any service that is created must address the former services as the
reference of later services
Applications in the grid are normally grouped into two categories: computation-
intensive and data-intensive.
For data-intensive applications, we may have to deal with massive amounts of data.
The grid system must be specially designed to discover, transfer, and manipulate these
massive data sets.
Transferring massive data sets is a time-consuming task.
Efficient data management demands low-cost storage and high-speed data movement.
oThis data access method is also known as caching, which is oen applied to enhance
data efficiency in a grid environment. By replicating the same data blocks and
scattering them in multiple regions of a grid, users can access the same data with
locality of references.
Furthermore, the replicas of the same data set can be a backup for one another. Some
key data will not be lost in case of failures. However, data replication may demand
periodic consistency checks.
The increase in storage requirements and network bandwidth may cause additional
problems.
Replication strategies determine when and where to create a replica of the data.
The factors to consider include data demand, network conditions, and transfer cost.
The strategies of replication can be classified into method types: dynamic and static.
For the static method, the locations and number of replicas are determined in advance
and will not be modified.
Although replication operations require little overhead, static strategies cannot adapt
to changes in demand, bandwidth, and storage availability.
Dynamic strategies can adjust locations and number of data replicas according to
changes in conditions (e.g., user behavior).
However, frequent data-moving operations can result in much more overhead than in
static strategies.
The replication strategy must be optimized with respect to the status of data replicas.
For static replication, optimization is required to determine the location and number
of data replicas.
For dynamic replication, optimization may be determined based on whether the data
replica is being created, deleted, or moved.
The most common replication strategies include preserving locality, minimizing
update costs, and maximizing profits.
In general, there are four access models for organizing a data grid, as listed here
MONADIC MODEL:
HIERARCHICAL MODEL:
The hierarchical model, is suitable for building a large data grid which has only one
large data access directory.
The data may be transferred from the source to a second-level center. Then some data
in the regional center is transferred to the third-level center.
After being forwarded several times, specific data objects are accessed directly by
users.
Generally speaking, a higher-level data center has a wider coverage area. It provides
higher bandwidth for access than a lower-level data center.
PKI security services are easier to implement in this hierarchical data access model.
FEDERATION MODEL:
This data access model is better suited for designing a data grid with multiple sources
of data supplies.
Sometimes this model is also known as a mesh model. The data sources are
distributed to many different locations. Although the data is shared, the data items are
still owned and controlled by their original owners.
According to predefined access policies, only authenticated users are authorized to
request data from any data source.
This mesh model may cost the most when the number of grid institutions becomes
very large.
HYBRID MODEL:
This model combines the best features of the hierarchical and mesh models.
Traditional data transfer technology, such as FTP, applies for networks with lower
bandwidth.
Network links in a data grid often have fairly high bandwidth, and other data transfer
models are exploited by high-speed data transfer tools such as Grid FTP developed
with the Globus library.
The cost of the hybrid model can be traded off between the two extreme models for
hierarchical and mesh-connected grids.
The first attempt by the Grid computing community to specify how OGSA could be
implemented was the Open Grid Services Infrastructure (OGSI) standard, which was
introduced in 2002-2003. OGSI specifies the way that clients interact with services
(that is, service invocation, management of data, security mechanism, etc.).
The approach taken in OGSI to implement a stateful Web service was to modify the
Web Service Description Language, WSDL, to enable the state to be specified.
The modified language was called Grid Web Service Definition Language(GWSDL).
OGSI also introduced and described the term Grid service as an extended Web service
that conforms to its OGSI standard.
GWSDL provided support for the extra features in Grid services that were not present
in Web services. In addition to a means of representing state, OGSI included
inheritance of portTypes (interfaces), a way of addressing services using so-called
Grid Service References,
The word definition comes from when Web Service Description Language was
called Web Service Definition Language.
WS-RESOURCE FRAMEWORK
The term Grid service, which originally was introduced with OGSI, continued for
while. A broad meaning of Grid service is any service that conforms to interface
conventions of a Grid computing infrastructure.
A narrow WSRF meaning is a service that conforms to WSRF. The term seems to
have lost favor, maybe because it is better to think of services in a Grid environment
simply as regular Web services.
OGSA also continues as an overall framework. OGSA requires a stateful Web service.
WSRF specifies how that stateful Web service is implemented. Stateful Web services
are extensions of the original stateless Web service and a WSRF Web service could be
stateless by simply not using the state features.
A stateful Web service is obtained in WSRF by having a stateless service and stateful
resources where the stateless Web service is a front-end to stateful resources; hence
the name WS-Resource Framework.
Resource Properties: Resource properties are the name given to data items in the resource.
They can consist of:
1. Data values about the current state of the service results of calculations, etc.,
The service interface is described in WSDL. The WSDL file serves the same purpose
as in the original stateless Web service. Using WSDL allows existing WSDL parsing
tools to be used.
A significant addition in the WSDL file is a specification of the resources. In WSRF,
the Web service is described in a WSDL document and the resource is specified in a
separate Resource Properties document (or merged into the WSDL document in the
case of simple resources).
The below figure shows a WSRF version of this stateful Web service. In this example,
there is a single resource property, data, acted upon by the add method. The add method adds
an integer x given as an argument to data. This service implements an operation on a WSRF
resource property and so WSDL will include definitions relating to the resource property.
Each WSRF service needs an addressing mechanism that includes addressing to the
resources.
Pure stateless Web services are addressed with URIs (Uniform Resource Identifiers).
Typically, they are addressed by URLs (Uniform Resource Locators) as used for Web
sites.
URLs are a subset of URIs. The WSRF service addressing mechanism is defined in
the WS-addressing standard and uses a term called an endpoint reference (EPR),
which is an XML document that contains various information about the service and
resource. Specifically, the endpoint reference includes both the service address (URI)
and a resource identification called a key.
The key is a number. The service that accesses the resources and the resources are
paired together.
The client makes a request to the (stateless) Web service, addressing the service using
the EPR. The URI part of the EPR identifies the service.
The Web service selects the resource using the resource key inside the EPR, as
illustrated in the figure.
An endpoint reference has required and optional entries. An endpoint reference could
be used simply to address a Web service without an associated resource, i.e., a
stateless Web service
WSRF Specifications: WSRF is actually a collection of four specifications (standards):
In this the code has been simplified, including not having specific operations or a
types element for defining the data format of the messages. However, as we shall see, a types
element will be still needed to define the resource properties.
WSDL Code: A generic Web service was outlined that performed a function functl that has
one integer argument argl and returns an integer result based only upon the supplied
argument. Now, that simple Web service will be extended so that the function acts upon an
integer, data, as shown in the figure. The actual function is still undefined at the WSDL level.
The integer data is separated out as a resource property.
The format of the stateless service WSDL 1.1 document was given and this carries over for a
WSRF WSDL document. But in addition, the properties of the resources need to be specified.
Generic Stateful Web service with a WSDL document and a stored value.
OGSA SERVICES
Previously, there was a single resource although it could have multiple resource
properties inside the resource. Both the service code and the resource code were held
in a single file. Having one file is not the preferred way except for a simple service.
Ideally, there should be separate classes, and classes are provided for different
arrangements, including having one class for the arrangement combining the service
and resource, which is called Ref lectionResourceProperty class.
As mentioned earlier, each resource assigned a unique key, which together with
service URI identifies WS- resource pair (endpoint reference). The factory service is
requested to create a resource using the create Resource method, and uses the resource
home to create resource. The create Resource method will return an EPR of the newly
created WS-Resource. Notice that the client making the request to the resource factory
needs to know the location of the resource factory. When a service needs access to the
resource it will contact the resource home to find the resource.
Lifecycle Mechanisms:
Lease-Based Lifecycle:
INFORMATION SERVICES
Information services collect information from various sources in a Grid environment. They
can provide information on running jobs and on the availability of Grid resources (computers,
etc.). One of the special features of Grid computing is the possibility of discovering remote
resources in the Grid. Globus 4 information services collectively is called the Monitoring and
Discovering System (MDS4 in GT4) and consists of a set of three WSRF information
components:
Index service
Trigger Service
Resource properties can be implemented in different ways but the information they
contain is converted to an XML document for exchange with other components. This
document is called a resource properties document. The index service also stores the resource
property information in an XML format. A resource properties document can be queried on
the command line with the GT4 command wsrf-query.
Index services support hierarchical structures. Information from various index
services can be aggregated into a higher-level index service, as shown in the figure below.
A community index service might contain information propagated from all the index services
of the virtual organization and provide a global view of the state of the Grid. Since the
resource properties include those associated with regular Globus services such as GRAM
services, the community index service can be searched for monitoring and discovery within
the Grid environment.
Trigger Service: The trigger service responds to specific conditions occurring within the
Grid environment and first appeared in GT4. It subscribes to an index service (or another
source of WSRF information) to be notified of changes, which are compared to the provided
XPath expression. When a match occurs, prescribed actions take place such as sending an
email or updating a Web page.