Imperial College e-Science Networked Infrastructure
Abstract: The ICENI (Imperial College e-Science Networked Infrastructure) is an integrated Grid Middleware designed to support a variety of e-science activities. These range from the exposure of resources as services with specified usage agreements and their subsequent federation into computational communities, a component programming model developed to support distributed application execution, a scheduling framework that optimally maps applications to resources within defined policies, and the ability to visualise data from and steer applications during execution.
This manual describes the overall architecture of the ICENI system, its structure and includes documentation on how to build services for it.
How to obtain the latest version of this document:
1 Overview
2 Installation and Configuration Guide
2.1 Introduction
2.2 Installing the ICENI Environment using the Binary Modules
2.2.1 Description
2.2.2 Pre-requisites
2.2.3 Actions
2.2.4 Usage
2.3 Installing the ICENI Environment from Source Code Modules
2.3.1 Description
2.3.2 Pre-requisites
2.3.3 Actions
2.3.4 Usage
2.4 Automatic Deployment of ICENI
2.4.1 Description
2.4.2 Pre-requisites
2.4.3 Actions
2.4.4 Usage
2.5 Setting the Private Administrators
2.5.1 Description
2.5.2 Pre-requisites
2.5.3 Actions
2.5.4 Usage
2.6 Starting a Private Administrative Domain
2.6.1 Description
2.6.2 Pre-requisites
2.6.3 Actions
2.6.4 Usage
2.7 Starting a Public Computational Community
2.7.1 Description
2.7.2 Pre-requisites
2.7.3 Actions
2.7.4 Usage
2.8 Configure the Domain Manager and the Identity Manager
2.8.1 Description
2.8.2 Pre-requisites
2.8.3 Actions
2.8.4 Usage
2.9 Starting a Domain Manager and a Identity Manager
2.9.1 Description
2.9.2 Pre-requisites
2.9.3 Actions
2.9.4 Usage
2.10 Domain Manager
2.10.1 Access Policy
2.11 Identity Manager
2.11.1 Authentication
2.11.2 Configuration of the standard Identity Manager
2.11.3 Configuration of the Identity Manager with Role Management
2.11.4 Role Management Features
2.11.5 Cache for Access Request
2.12 Virtual Public Computational Communities
3 Deployment Guide
3.1 Introduction
3.2 Starting a Private Resource
3.2.1 Description
3.2.2 Pre-requisites
3.2.3 Actions
3.2.4 Usage
3.3 Expose a Software Component
3.3.1 Description
3.3.2 Pre-requisites
3.3.3 Actions
3.3.4 Usage
3.4 Configuring the File Transfer Mechanisms
3.4.1 Description
3.4.2 Pre-requisites
3.4.3 Actions
3.4.4 Usage
3.5 Starting Schedulers
3.5.1 Description
3.5.2 Pre-requisites
3.5.3 Actions
3.5.4 Usage
3.6 Configuring a Launcher
3.6.1 Description
3.6.2 Pre-requisites
3.6.3 Actions
3.6.4 Usage
3.7 Starting Launchers
3.7.1 Description
3.7.2 Pre-requisites
3.7.3 Actions
3.7.4 Usage
3.8 Starting a Software Resource Repository
3.8.1 Description
3.8.2 Pre-requisites
3.8.3 Actions
3.8.4 Usage
3.9 Browsing Resources in a Private Administrative Domain
3.9.1 Description
3.9.2 Pre-requisites
3.9.3 Actions
3.9.4 Usage
3.10 Starting the OGSA Gateway
3.10.1 Description
3.10.2 Pre-requisites
3.10.3 Actions
3.10.4 Usage
3.11 Express an Application as a Binary Component through the Binary Component Graphical Builder Tool
3.11.1 Description
3.11.2 Pre-requisites
3.11.3 Actions
3.11.4 Usage
3.12 Express an Application Requiring Dynamic Arguments through the Binary Component Graphical Builder Tool
3.12.1 Description
3.12.2 Pre-requisites
3.12.3 Actions
3.12.4 Usage
3.13 Express an Application as a Binary Component
3.13.1 Description
3.13.2 Pre-requisites
3.13.3 Actions
3.13.4 Usage
3.14 Expose a File for Input or Output
3.14.1 Description
3.14.2 Pre-requisites
3.14.3 Actions
3.14.4 Usage
3.15 Build a Steer Client and Steer Server
3.15.1 Description
3.15.2 Pre-requisites
3.15.3 Actions
3.15.4 Usage
3.16 Configure an Application for Component Based Steering
3.16.1 Description
3.16.2 Pre-requisites
3.16.3 Actions
3.16.4 Usage
3.17 Configure an Application for ICENI Service Based Steering
3.17.1 Description
3.17.2 Pre-requisites
3.17.3 Actions
3.17.4 Usage
3.18 Build a Visualisation Component
3.18.1 Description
3.18.2 Pre-requisites
3.18.3 Actions
3.18.4 Usage
3.19 Define a Visualisable Application
3.19.1 Description
3.19.2 Pre-requisites
3.19.3 Actions
3.19.4 Usage
3.20 Install and run 3D Visualisation Chromium Display Components
3.20.1 Description
3.20.2 Pre-requisites
3.20.3 Actions
3.20.4 Usage
3.21 Integrating Chromium within ICENI
3.21.1 Description
3.21.2 Pre-requisites
3.21.3 Actions
3.21.4 Usage
4 Users Guide
4.1 Introduction
4.2 Browsing Resources in a Public Computational Community
4.2.1 Description
4.2.2 Pre-requisites
4.2.3 Actions
4.2.4 Usage
4.3 Querying Resources in a Public Computational Community
4.3.1 Description
4.3.2 Pre-requisites
4.3.3 Actions
4.3.4 Usage
4.4 Building Applications in a Public Computational Community
4.4.1 Description
4.4.2 Pre-requisites
4.4.3 Actions
4.4.4 Usage
4.5 Building Applications in a Computational Community using Netbeans
4.5.1 Description
4.5.2 Pre-requisites
4.5.3 Actions
4.5.4 Usage
4.6 Using ICENI's Job Proxy features from Netbeans
4.6.1 Description
4.6.2 Pre-requisites
4.6.3 Actions
4.6.4 Usage
4.7 Run a Binary Component Application
4.7.1 Description
4.7.2 Pre-requisites
4.7.3 Actions
4.7.4 Usage
4.8 Run a Binary Component Application With Dynamic Arguments
4.8.1 Description
4.8.2 Pre-requisites
4.8.3 Actions
4.8.4 Usage
4.9 Define and Execute an Application Requiring Data Files
4.9.1 Description
4.9.2 Pre-requisites
4.9.3 Actions
4.9.4 Usage
4.10 Steer An Application Using Component Based Steering
4.10.1 Description
4.10.2 Pre-requisites
4.10.3 Actions
4.10.4 Usage
4.11 Steer An Application using ICENI service base steering
4.11.1 Description
4.11.2 Pre-requisites
4.11.3 Actions
4.11.4 Usage
4.12 Visualise Data From An Application
4.12.1 Description
4.12.2 Pre-requisites
4.12.3 Actions
4.12.4 Usage
4.13 Sub-contracting services
4.13.1 Description
4.13.2 Pre-requisites
4.13.3 Actions
4.13.4 Usage
4.14 Managing roles using the ICENI Role Management Utility
4.14.1 Description
4.14.2 Pre-requisites
4.14.3 Actions
4.14.4 Usage
5 Developers Guide
5.1 Developing a New Service
5.2 Defining Service Data for a Service
5.3 Developing a New Resource Service
5.3.1 Interface of the Private Resource
5.3.2 Implementation of the Private Resource
5.3.3 The Public Resource
5.3.4 The XML Definition of The Resource
5.3.5 Starting the Resource
5.4 Generating the Public Interface and Implementation for a Resource Service
5.4.1 Description
5.4.2 Pre-requisites
5.4.3 Actions
5.4.4 Usage
5.5 Defining an Interactive Resource Service
5.5.1 getInteractiveMenu
5.5.2 mapping
5.5.3 Example for the counter service
5.6 Generating the JINI Implementation for An ICENI Service
5.6.1 Using the shell-script
5.6.2 Using the ant file
5.6.3 Result
5.7 Discovering Services
5.8 Developing a Software Component
5.8.1 Defining the meta-data
5.8.2 Skeleton Generator
5.9 Implementing a Launcher
5.9.1 Writing a Launcher
5.9.2 Accessing the Launching Framework
5.9.3 Defining the XML Document to start a Launcher
5.9.4 Checking a Launcher is working
5.9.5 A Worked Example: Bash Script Launcher
5.10 Implementing a Scheduler
5.10.1 Writing a Scheduler
5.10.2 Accessing Meta-Data
5.10.3 Defining the XML Document to start a Scheduler
5.10.4 Simulating a Scheduler
5.10.5 Checking a Scheduler is working
5.10.6 A Worked Example: Random Scheduler
5.11 Defining an ICENI Application
5.11.1 Defining the dependencies of the application
5.11.2 Shell-script
5.11.3 Copying the application in the module iceni-bootstrap
5.12 Validating XML Documents
5.12.1 Description
5.12.2 Pre-requisites
5.12.3 Actions
5.12.4 Usage
5.13 Parsing and Generating XML Documents
5.13.1 Accessors
5.13.2 Input/Output
5.13.3 Graphical editor
5.14 Generating a XML Java Parser
5.14.1 Through the shell-script
5.14.2 Through the ant file
5.15 An overview of the launching process and the EP
5.15.1 Overview of process
5.15.2 Execution Plan Schema
5.16 Documenting New Development
6 Contributors Guide
6.1 The ICENI Module Structure
6.1.1 Introduction
6.1.2 Structure of an ICENI Module
6.1.3 Source Module
6.1.4 Source Module Build System
6.1.5 Source Module Build Process
6.1.6 Binary Module
6.1.7 ICENI Core Module Dependencies
6.2 Creating a New Module
6.2.1 Description
6.2.2 Pre-requisites
6.2.3 Actions
6.2.4 Usage
6.3 Creating a New Project
6.3.1 Defining a New Project
6.3.2 The Nightly Build Project
6.3.3 Downloading a Project
6.3.4 Compiling a Project
6.4 Accessing the CVS Repository
6.4.1 Getting Started
6.4.2 Finding out about the changes
6.4.3 Contributing your changes
A Common Questions
B XML Schema and Parser
References
Copyright © January 2005 ICENI Research Group
Generated on: 05-Jan-2005 12:04:25