# Presentation: 461057

## Middleware

- Ian Foster
- Argonne National Laboratory
- The University of Chicago

## Overview

- What is middleware, anyway?
- Grid services architecture and status
- Grid Services and Access Grid

## What is Middleware?

- It’s the stuff that everyone wants someone else to be responsible for
- Or: Broadly deployed services that enhance the usability and capability of a network environment
- The services themselves
- Well-defined protocols, APIs, SDKs
- We use the term “Grid Services”

## The Grid Service Space Includes ...

- Fundamentals, e.g.
- Security: authentication, authorization, confidentiality, etc.
- Policy: who is allowed to do what when
- Resource discovery and characterization
- Events and instrumentation
- Resource allocation and co-allocation: space, network, computing; reservation
- Domain-specific
- Data replication, intelligent multicast, ...

## Layered Grid Architecture(By Analogy to Internet Architecture)

**Notes:**
We define Grid architecture in terms of a layered collection of protocols. 
Fabric layer includes the protocols and interfaces that provide access to the resources that are being shared, including computers, storage systems, datasets, programs, and networks.  This layer is a logical view rather then a physical view.  For example, the view of a cluster with a local resource manager is defined by the local resource manger, and not the cluster hardware.  Likewise, the fabric provided by a storage system is defined by the file system that is available on that system, not the raw disk or tapes.
The connectivity layer defines core protocols required for Grid-specific network transactions.  This layer includes the IP protocol stack (system level application protocols [e.g. DNS, RSVP, Routing], transport and internet layers), as well as core Grid security protocols for authentication and authorization.
Resource layer defines protocols to initiate and control sharing of (local) resources.  Services defined at this level are gatekeeper, GRIS, along with some user oriented application protocols from the Internet protocol suite, such as file-transfer.
Collective layer defines protocols  that provide system oriented capabilities that are expected to be wide scale in deployment and generic in function.  This includes GIIS,  bandwidth brokers, resource brokers,....
Application layer defines protocols and services that are parochial  in nature, targeted towards a specific application domain or class of applications.  These are   are  are  ... arrgh

## Grid Services Architecture:Fabric Layer Protocols & Services

- Just what you would expect: the diverse mix of resources that may be shared
- Individual computers, Condor pools, file systems, archives, metadata catalogs, networks, sensors, etc., etc.
- Few constraints on low-level technology: connectivity and resource level protocols form the “neck in the hourglass”
- Defined by interfaces not physical characteristics

## Grid Services Architecture:Connectivity Layer Protocols & Services

- Communication
- Internet protocols: IP, DNS, routing, etc.
- Security: Grid Security Infrastructure (GSI)
- Uniform authentication & authorization mechanisms in multi-institutional setting
- Single sign-on, delegation, identity mapping
- Public key technology, SSL, X.509, GSS-API
- Supporting infrastructure: Certificate Authorities, key management, etc.

- GSI: www.globus.org

## Grid Services Architecture:Resource Layer Protocols & Services

- Grid Resource Allocation Mgmt (GRAM)
- Remote allocation, reservation, monitoring, control of compute resources
- GridFTP protocol (FTP extensions)
- High-performance data access & transport
- Grid Resource Information Service (GRIS)
- Access to structure & state information
- Network reservation, monitoring, control
- All integrated with GSI: authentication, authorization, policy, delegation

- GRAM, GridFTP, GRIS: www.globus.org

## Grid Services Architecture:Collective Layer Protocols & Services

- Index servers aka metadirectory services
- Custom views on dynamic resource collections assembled by a community
- Resource brokers (e.g., Condor Matchmaker)
- Resource discovery and allocation
- Replica catalogs
- Co-reservation and co-allocation services
- Etc., etc.

- Metadirectory: www.globus.org; Condor: www.cs.wisc.edu/condor

## Grid Services: Status

- Broad adoption of Grid technologies
- E.g., physics (PPDG, European Data Grid, GriPhyN), climate (ESG), NASA (IPG), NSF (PACIs), earthquake engineering (NEESgrid)
- Major deployment activities
- Active community and standards effort
- Global Grid Forum 1 (=GF6): March 2001
- www.gridforum.org
- Application evolution: computation, data, instrumentation: next collaboration?

## Grid Services and Access Grid:Opportunities at Multiple Levels

- Exploit existing services to enhance current AG framework, e.g. for
- Authentication, authorization, confidentiality
- Resource discovery and characterization
- Develop entirely new applications, e.g.
- Collaborative viz of large datasets, using online storage accessed via Grid protocols
- Develop entirely new functionality based on new AG-specific services
- E.g., domain-specific multicast