Photo
Policy Technologies
 

The Policy Technologies group at the IBM T.J. Watson Research Center has the mission to contribute to accelerating the adoption of policy-based technologies and methodologies. The goal is to produce a set of common software components that can be used across a wide variety of applications, and that simplify the task of integrating policy related methodologies into new or existing software systems. The Policy Toolkit is a prototype that provides direct support for the efforts involved in autonomic computing, e-business on demand, OGSA grid computing, and web services. It contains libraries of commonly used policy manipulation functions (e.g., for creating, validating, evaluating, and otherwise managing a set of policies), as well as patterns for building typical policy-based systems. Its components can be bundled into user applications in a variety of ways, allowing them to flexibly incorporate the ability to make decisions based on policies. The initial Policy Toolkit technologies have been transferred to the IBM Tivoli area and are identified as PMAC (Policy Management for Autonomic Computing).

 

Policy Technologies

Figure 1: Policy Methodology Overview

 

A policy management infrastructure is comprised of four major parts:

  • Decision Point – A point in the software of the system where an action can be performed. Actions that may be performed can directly affect a process (or managed resource). For example, it could be a simple adjustment of a performance parameter, or a more complex process to change the number of active web servers.
  • Autonomic Manager – An element that manages the behavior of a system much as an IT professional might
  • Decision Federator – An element that is responsible for storing, validating and distributing policies
  • Policy Editor – An application that is used to create, deploy and manage policies.

In Figure 1, policies are composed (1) and stored in the Decision Federator (2). Notifications of change and actual XML documents containing policies are provided to the Autonomic Manager (3). An application that is responsible for managing one or more resources has code locations where that application has exposed decision making. It requests a decision, such as a design or tuning request by identifying the scope and decision name, along with inputs needed for the decision (4). The Autonomic Manager provides one or more results depending on the decision (5). Future adjustments to the operation of the application may only require policy changes instead of alterations to the code. The Decision Federator and Autonomic Manager are normally shared with other policy-managed applications allowing for intricate support of larger deployments.