Package Bundling Concepts

Introduction

One of the assumptions the Grid Packaging Technology (GPT) is based on is that smaller is better. The idea is that software should be distributed as a collection of small well defined packages. In this way, the software can be tailored by changing the content of the collection. This assumption leads to the need to manage software as a collection of packages. Concepts for managing these collections (which we will call bundles) is the focus of this page.

Bundle Types

In order to understand bundle management requirements better we define the following types:

Transient Bundles

These bundles are used as a transport mechanism for a collection of packages. For example, the bundles could be created by a web based front end to a package repository which allows the user to select overall components and features which are then translated into package sets. These packages are then downloaded and installed as a bundle. The command line tool gpt-bundle does something similar. In this case the bundle identity is irrelevent.

Pre-Wrapped bundles

These bundles have identity for people but not for GPT. They allow collections of packages to be grouped into components and subcomponents. For example people will want the MDS 2.1 bundle but to GPT its just a set of packages. The current beta bundles are this way. For pre-wrapped bundles there may be a need to maintain this identity in the installation data so that users can find the components installed on a machine.

Persistent bundles

These bundles have an identity for GPT because they together provide an API that a package normally provides. For example the GSSAPI can be fulfilled by a GSI bundle or a bundle that uses kerberos. For this reason persistent bundles will come with packaging data.

Bundling Types

Another subtle distinction that needs to be made is how these bundles are created. Pre-wrapped and persistent bundles are static collections of packages. Transient bundles on the other hand are created "on-the-fly" by users using a web interface or command line tool. We will call this type of procedure dynamic bundling.

Dynamic Bundling and Software Localization

The true power provided by software bundles is when these bundles include various forms of localization. This allows bundles to be tailored to specific needs. Consider the following diagram: The diagram shows the relationships between various types of bundles. Here is a description of these bundle types:
Developer Bundle
Software provided by the developer. Contains no localization.
NMI Bundle
These are bundles created from multiple developer distributions. Contains no localization.
Organization Bundle
Software that is localized for a particular organization such as NEES.
Site Bundle
Software that is localized for a particular site. This a possible method for campus wide deployments.
Cluster Bundle
Software localized for a particular computing cluster.
Machine Bundle
Software localized for a particular host machine. This is useful for remote administration or cluster management tools
Installation
The actual installation of the software

Summary

With the concepts discussed in this page, software deployment now can be discussed in terms of collections of packages.
Last modified: Mon Mar 18 20:05:44 Central Standard Time 2002