- Technical Solutions
- Grid Business
- Announcements
- Grid Middleware
- Existing Grids
- Grid Links
- Publications
- Feedback
- Contribute
- Sitemap
GRIA is a service-oriented infrastructure (SOI) designed to support B2B collaborations through service provision across organisational boundaries in a secure, interoperable and flexible manner.
GRIA makes use of business models, processes and semantics to allow resource owners and users to discover each other and negotiate terms for access to high-value resources. By focusing on business processes and the associated semantics, GRIA enables users to provision for their computational needs more cost effectively, and develop new business models for some of their services.
IT Innovation Centre, http://www.it-innovation.soton.ac.uk/
GRIA is available free and open source (most of the software is LGPL).
GRIA 5.2 was released in December 2007 providing significant enhancements to the Basic and OGSA-DAI application service packages along with other usability and performance enhancements to other packages GRIA now support JSDL, integration of multiple heterogeneous resource managers at a single service provider and instrumentation of resource managers and applications for SLA based management. GRIA 5.3 will be released in Spring 2008 and will address further barriers to adoption such as integration with enterprise identity systems (MS ActiveDirectory / LDAP), enhanced policy-driven client API for intelligent service and resource selection, support for software licensing models building on multi-party federations and improved interoperability with .NET through Windows Communication Foundation (WCF) Client API.
The approach to security in GRIA is designed primarily to maintain the independence between sites whilst keeping operating costs down. GRIA 5 comes with standard Web Service security mechanisms (SSL, WS-Security, WS-Trust, WS-Federation, PKI and SAML assertions) to verify the identities (and roles) of users attempting to access services. Like most e-Commerce applications, but unlike some other Grids, GRIA does not give even authorised users direct access to run their own commands on computational nodes. Instead, users must request that the service run commands on their behalf, and by default the only commands supported are those defined by the service provider as application services.
This means GRIA service providers do not have to set up local accounts for each user (a significant operational cost). It also reduces the amount of trust service providers must place in their users, enabling them to remain independent of each other even when interacting with other service providers on behalf of common users. Finally, it means service providers can ensure that applications used at their site are fully licensed, and avoid the risk of legal action by their own or their users' software suppliers.
GRIA 5 has dynamic policy management features to define and enforce policies for accessing service and consumer management functions, and for each individual data item and computation. This dynamic policy feature enables users to orchestrate interactions between services operated by totally independent providers, and to share results with other users as required. The GRIA 5 client management package also supports integration with 'home site' user authentication, and service policies can specify which site(s) are trusted to authenticate users against each individual policy clause. This makes it very easy to set up business relationships and start providing services to new customers within a few minutes.
Finally, by maintaining independence between service providers, GRIA allows them to remain responsible for their own security. Unlike centralised approaches, there are no single points of failure, and if one GRIA site suffers a security breach, the problem can be dealt with locally and other sites do not have to close down. GRIA's low-dependency approach thus ensures a high degree of intrusion tolerance, which is essential for business Grid service providers.
GRIA provides an SLA Management Service allows service providers and customers to trade resources (applications, data, processing, storage) under the terms of bilateral Service Level Agreements (SLAs). An SLA describes quality of service (QoS) and other commitments by a service provider in exchange for financial commitments by a customer against an agreed schedule of prices and payments. GRIA allows service providers to advertise SLA templates that are proposed by customers during SLA negotiation. Service providers deploy application services appropriate to their business operation. These services generate usage reports using their own QoS criteria which may be qualitative (e.g. error conditions) or quantitative (e.g. processing time, data transferred). GRIA uses these reports to monitor customer usage and the level of commitments from existing agreements compared with available capacity.
The GRIA Data Service allows remote users to upload and download data files to the service provider, and to transfer data between Data Services hosted by different service providers. The Data Service also supports management of access rights (for read or read-write access) granted to other users or service providers.
The GRIA OGSA-DAI Service allows clients using the OGSA-DAI libraries access to databases through a GRIA service. The OGSA-DAI service can be deployed on its own to provide unmanaged access to data resources, or it can be used with the GRIA service provider management package to take advantage of billing and service level agreement capabilities.
GRIA is an integration middleware supporting connectivity of heterogeneous client applications, resource managers and application Web Services. GRIA provides a client-side Java API that allows client applications such as problem solving environments, workflow tools and portals to access GRIA services. A graphical user interface is also provided to demonstrate the use of business relationship management, policy management and the use of data storage and processing services. GRIA allows service providers to run applications on different execution platforms, including local execution and computational clusters, using a wide range of different resource managers depending upon the business need.