**Node Management Architecture**

**Version 2.0**

The Futures Laboratory

Mathematics and Computer Science Division

Argonne National Laboratory

# Introduction

Each Access Grid Node is made up of hardware and software resources that
provide capabilities to the users. The goal of Access Grid Nodes is to
provide shared capabilities among a group of co-located collaborators.
These capabilities extend each individual user's capabilities in a
manner that supports cooperative work. Additionally, AGNs are designed
to provide mechanisms for sharing the context of the local collaboration
with other groups using AGNs. To do this distributed group
collaboration, AGNs provides multiple simultaneous camera views, an
echo-cancelled audio environment, a large format display, user
management mechanisms and support for collaborative applications.

An Access Grid Node typically comprises multiple machines each assigned
a particular task, working together to provide the infrastructure of a
group space for collaboration in a venue. Each machine in the node
delivers a stream or streams to the venue. Streams are coordinated on a
machine by a single process, a Node Daemon. Node Management knows the
Node Daemons, thus tying the disparate parts into a manageable whole.
Node Management has a network interface, making it accessible by
different clients: local or remote, text or graphical.

This document lists the requirements for Node Management, and then
defines an architecture that satisfies these requirements.

![](media/image1.wmf)

# Requirements

## Node Management configures a Node and its Services

Node management will provide a simple interface for controlling the
configuration of a node, including maintenance of the authorization
policy, window layout, which services are installed, and how services
are configured.

## Node Management is network accessible

Node management functionality will be accessible through a well-defined
network interface. This will enable development of varied clients,
whether text- or GUI-based, local or remote.

# Architecture

The architecture is discussed in terms of data elements and operations.

## Resources

### Identification

The Identification names and describes the Node for external parties.

### Authorization Policy

The Authorization Policy is used to determine whether a user may
associate with the node, and what operations that user may perform on
the node.

### Users

This is a list of the users currently associated with the node.

### Node Services

A Node Service provides a capability to a Node. Node Services must be
configurable in Node Management. Therefore, Node Management must
maintain a list of Node Services currently in the Node, and must know
their locations to be able to communicate with them.

Examples of a Node Service are the Audio Service or Video Service.

## Operations

### Login

A user associates with the node by logging in. If the user provides
appropriate credentials, Node Management adds the user to its list of
users.

### Modify the Authorization Policy

Authorized users can modify the Authorization Policy.

### Add or Remove Node Services

Authorized users can modify the node capabilities by adding or removing
Node Services. Newly added services should not start automatically.
Services that are removed will (of course) be stopped.

### Query Node Services

These operations provide info about Node Services configured on a Node.

### Query Node Service Configuration

These operations allow authorized users to query the configuration of
Node Services.

### Configure Node Service

Authorized users can configure the Node Services. This could include
changing the location to which it delivers its stream, or lower-level
configuration such as device parameters.

### Start or Stop Node Service

These operations allow users to Start and Stop Node Services.

### Discovery of Capabilities

Discovery reveals the resources available on a Node, which may consist
of multiple machines. These resources can then be used to configure new
Services on the node.