Introduction
Technology Overview
Common Information Model (CIM)
Web Based Enterprise Management (WBEM)
Management Profiles
Management Initiatives
DMTF
Glossary

 


DMTF Tutorial > CIM > CIM Schema > Common Models > Policy Model

CIM Schema - Policy Model

Overview | CIM Specification | CIM Schema | Extension Schema

Core Model | Common Models

When used in the context of computer systems, "policy" is a term that is frequently used to describe any system configuration that controls system behaviors such as in "security policies" or "quality of service policies." In general, a "policy" is a "definite goal, course or method of action to guide and determine present and future decisions." Policies can specify resource management directives and, at a higher level of abstraction such as in a service-level objective, policies can also specify user experience management directives. The DMTF Policy Model provides a common framework for specifying system behaviors that are both sufficiently abstract to be independent of implementation-specific details and scalable to configuring large complexes of computer systems, i.e., the DMTF Policy Model is a specific model for expressing such policies in a general and scalable way.

Developed jointly 1 by the IETF and the DMTF, the Policy Model is an object-oriented model that enables constructing policy rules of the form:
if <condition(s)> then <action(s)>.
The <condition(s)> term is a Boolean expression used to specify the rule selection criteria. These criteria may include temporal conditions (when does the rule apply), scoping conditions (to what does the rule apply) and state-related conditions (under what circumstances should the action(s) of the rule be attempted). When, for a resource under management, the <condition(s)> expression evaluates to True, the <action(s)> portion of the rule is attempted. These conditional directives are an implementation-independent description for the common aspects of system administration. However, the Policy Model does not, by itself, provide the abstracted specification. For a discipline, e.g., IPsec-based VPN, network quality of service, etc., a set of subclasses are defined to capture the necessary semantics to express rules in that discipline.

The scalability is provided, in part, by the abstractions that also enable implementation-independence and, in part, by a role-based deployment framework. A policy role is an administratively assigned name for the enforcement role played by an entity that consumes sets of policy rules. The sets of rules are flagged with one or more policy roles for which they apply and the enforcement points know the roles that they play. The deployment infrastructure, then, delivers the appropriate policy rules to the enforcement points based on these named relationships. For example, rules marked with the policy role “DMZ Web Server” would be delivered to those web servers that are located in the DMZ of the administrative domain. Similarly, rules that are intended for use with Ethernet interfaces facing the Internet in the DMZ might be flagged with the policy role "DMZ External Ethernet" and the security gateways playing that role, i.e., in the DMZ and with externally facing Ethernet interfaces, would be recipients of these rules.

The CIM PolicyRule class is the central class used to aggregate PolicyCondition and PolicyAction object instances. PolicyRule instances may be aggregated into instances of PolicyGroup instances to form coherent sets with the same Policy Role value(s). Actually, a PolicySet is a common abstraction for PolicyRule and PolicyGroup because both classes can aggregate PolicySet (PolicyRule and PolicyGroup) instances.

A PolicySet, then, forms a coherent set with a common set of PolicyRole values and a decision strategy for selecting, based upon priority, which of the rules or sets of rules in the aggregation are to be evaluated. The PolicyRoleCollection class (not shown here) is used to identify the roles played by enforcement points that need to consume the PolicySets identified by PolicyRole. The PolicyRole, and therefore the elements collected in the PolicyRoleCollection, identifies the resource(s) to be managed using the PolicySet. So, for example, if the PolicyRole is "Ethernet Interface" the enforcement points that consume these PolicySets are the enforcement points that manage Ethernet interfaces and it is the Ethernet interfaces that are collected into the PolicyRoleCollection instance.

For CIM 2.7, there is only one decision strategy defined, FirstMatching, for which the aggregated PolicySet instances are evaluated by priority and the actions of only the highest priority PolicySet that matches (conditions evaluate to True) are attempted. Clearly, when the aggregated policy set is a PolicyGroup instance, it doesn't have conditions that can be evaluated, but it is selected in turn by priority and then, recursively, its decision strategy and priorities are applied.

For further details, the Policy White Paper, UML diagram and MOF should be consulted.

  1. The IETF Policy Core Information Model [RFC3060] and Policy Core Information Model Extensions [RFC3460] is a superset of the CIM 2.7 Policy Model. There are a few functions included in the IETF specifications that are not included in the DMTF model pending further analysis.

Applications Event Network Support
Database Interop Physical Systems
Devices Metrics Policy User

Copyright © 2002-2006 Distributed Management Task Force, Inc. and WBEM Solutions, Inc.
All rights reserved.