One document matched: draft-ietf-policy-qos-device-info-model-01.txt
Differences from draft-ietf-policy-qos-device-info-model-00.txt
Policy Framework Working Group J. Strassner
INTERNET-DRAFT A. Westerinen
Category: Standards Track Cisco Systems
Bob Moore
IBM Corporation
July 2000
Information Model for Describing Network Device QoS Mechanisms
<draft-ietf-policy-qos-device-info-model-01.txt>
Friday, July 14, 2000, 12:15 PM
Status of this Memo
This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as "work
in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 1]
Internet Draft QoS Device Info Model July 2000
Abstract
The purpose of this draft is to define an information model that
describes the QoS mechanisms inherent in different network
devices. Broadly speaking, these mechanisms describe the
attributes common to selecting and conditioning traffic through
the forwarding path of network devices running Differentiated
Services (see [R2475]). The next version of this draft will also
address Integrated Services (see [R1633]).
This draft is intended to be used with the QoS Policy Information
Model [QOSPIM] to model how policies can be defined to manage and
configure the QoS mechanisms (e.g., the classification, marking,
metering, dropping, queuing, and scheduling functionality) of
devices. Together, these two drafts describe how to write QoS
policy rules to configure and manage the QoS mechanisms of
devices.
This draft, as well as [QOSPIM], are information models. That is,
they represent information independent of binding to a specific
type of repository. A separate draft will be written to provide a
mapping of the data contained in this document to a form suitable
for implementation in a directory that uses (L)DAP as its access
protocol. This latter draft is analogous to [QOSSCH], which
provides a similar mapping of the data in [QOSPIM] to a
directory. Together, these drafts (information models and schema
mappings) then describe how to write QoS policy rules that can be
used to store information in directories to configure device QoS
mechanisms.
Definition of Key Word Usage
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
RFC 2119 [R2119].
Strassner, et al. Expires: Jul 2000 + 6 months [Page 2]
Internet Draft QoS Device Info Model July 2000
Table of Contents
1. Introduction...................................................5
1.1. Policy Management Conceptual Model........................6
1.2. Purpose and Relation to Other Policy Work.................6
1.3. Typical Examples of Policy Usage..........................7
2. Approach.......................................................7
2.1. Common Needs Of DiffServ and IntServ......................7
2.2. Specific Needs Of DiffServ................................8
2.3. Specific Needs Of IntServ.................................9
3. Methodology....................................................9
3.1. Level of Abstraction for Expressing QoS Policies..........9
3.2. Specifying Policy Parameters.............................11
3.3. Specifying Policy Services...............................12
3.4. Level of Abstraction for Defining QoS Attributes and
Classes.......................................................12
3.5. Characterization of QoS Attributes.......................13
3.6. Identifying Common Shared Policies.......................14
3.7. QoS Information Model Derivation.........................15
3.8. Attribute Representation.................................16
3.9. Mental Model.............................................16
3.9.1. The QoSService Class...................................17
3.9.2. The ConditioningService Class..........................18
3.9.3. QoS Statistics Classes.................................19
4. The Class Hierarchy...........................................19
4.1. Difference Between Inheritance and Relationship
Associations..................................................19
4.1.1. Associations...........................................19
4.1.2. Aggregations...........................................20
4.2. The Structure of the Class Hierarchy.....................21
4.2.1. The Class Hierarchy for Modeling State Information.....21
4.2.2. The Class Hierarchy for Modeling Configuration
Information...................................................24
4.3. Class Definitions for the State Portion of the Model.....24
4.3.1. The Class ManagedElement...............................25
4.3.2. The Class ManagedSystemElement.........................25
4.3.3. The Class LogicalElement...............................25
4.3.4. The Class Service......................................25
4.3.5. The Class NetworkService...............................25
4.3.6. The Class ForwardingService............................26
4.3.7. The Class ConditioningService..........................26
4.3.8. The Class ClassifierService............................27
4.3.9. The Class MeterService.................................28
4.3.10. The Class AverageRateMeter............................29
4.3.11. The Class EWMAMeter...................................30
4.3.12. The Class TokenBucketMeter............................31
4.3.13. The Class MarkerService...............................32
4.3.14. The Class DropperService..............................33
4.3.15. The Class REDDropperService...........................35
4.3.16. The Class WeightedREDDropperService...................36
4.3.17. The Class QueuingService..............................37
4.3.18. The Class PacketSchedulingService.....................38
Strassner, et al. Expires: Jul 2000 + 6 months [Page 3]
Internet Draft QoS Device Info Model July 2000
4.3.19. The Class PrioritySchedulingService...................39
4.3.20. The Class PriorityBandwidthSchedulingService..........40
4.3.21. The Class BandwidthSchedulingService..................40
4.3.22. The Class RoundRobinPacketSchedulingService...........41
4.3.23. The Class WeightedRoundRobinPacketSchedulingService...42
4.3.24. The Class QoSService..................................42
4.3.25. The Class DiffServService.............................43
4.3.26. The Class AFService...................................44
4.3.27. The Class EFService...................................45
4.3.28. The Class PrecedenceService...........................45
4.3.29. The Class 8021PService................................46
4.3.30. The Class FilterEntryBase.............................47
4.3.31. The Class FilterEntry.................................47
4.3.32. The Class FilterList..................................48
4.3.33. The Class ServiceAccessPoint..........................49
4.3.34. The Class ProtocolEndpoint............................49
4.3.35. The Class Collection..................................49
4.3.36. The Class CollectionOfMSEs............................49
4.3.37. The Class BufferPool..................................49
4.4. Relationships Defined in the State Portion of the Model..51
4.4.1. The Association Dependency.............................51
4.4.2. The Association ServiceSAPDependency...................51
4.4.3. The Association ConditioningServiceOnEndpoint..........51
4.4.4. The Association ServiceServiceDependency...............52
4.4.5. The Association QueueHierarchy.........................53
4.4.6. The Association SchedulerUsed..........................54
4.4.7. The Association AFRelatedServices......................54
4.4.8. The Association NextService............................55
4.4.9. The Association NextServiceAfterMeter..................56
4.4.10. The Aggregation Component.............................57
4.4.11. The Aggregation ServiceComponent......................57
4.4.12. The Aggregation QoSSubService.........................57
4.4.13. The Aggregation QoSConditioningSubService.............58
4.4.14. The Aggregation MemberOfCollection....................59
4.4.15. The Aggregation CollectedBufferPool...................59
4.4.16. The Aggregation EntriesInFilterList...................60
5. Intellectual Property.........................................60
6. Acknowledgements..............................................61
7. Security Considerations.......................................61
8. References....................................................61
9. Authors' Addresses............................................63
10. Full Copyright Statement.....................................63
Strassner, et al. Expires: Jul 2000 + 6 months [Page 4]
Internet Draft QoS Device Info Model July 2000
1. Introduction
The purpose of this draft is to define an information model that
describes the QoS mechanisms inherent in different network
devices. Broadly speaking, these mechanisms describe the
attributes common to selecting and conditioning traffic through
the forwarding path of network devices running Differentiated
Services (see [R2475]). The next version of this draft will also
address Integrated Services (see [R1633]).
This draft is intended to be used with the QoS Policy Information
Model [QOSPIM] to model how policies can be defined to manage and
configure the QoS mechanisms (e.g., the classification, marking,
metering, dropping, queuing, and scheduling functionality) of
devices. Together, these two drafts describe how to write QoS
policy rules to configure and manage the QoS mechanisms of
devices.
This draft, as well as [QOSPIM], are information models. That is,
they represent information independent of binding to a specific
type of repository. A separate draft will be written to provide a
mapping of the data contained in this document to a form suitable
for implementation in a directory that uses (L)DAP as its access
protocol. This latter draft is analogous to [QOSSCH], which
provides a similar mapping of the data in [QOSPIM] to a
directory. Together, these drafts (information models and schema
mappings) then describe how to write QoS policy rules that can be
used to store information in directories to configure device QoS
mechanisms.
The approach taken in this draft enables a common set of
attributes to be defined that can be used to model Differentiated
Services QoS. (Integrated Services will be modeled in the next
release of this Draft.) Vendors can then map these attributes,
either directly or using a proxy agent like a PIB, to their own
device-specific implementations.
This draft explicitly separates the concepts of configuration and
state. Configuration attributes are used to describe the desired
state of the device, whereas state attributes reflect the current
operation of the device. Both state as well as configuration
attributes are necessary in order to model and manage QoS at the
device level. Although configuration is discussed, the draft only
models state attributes at this time. Configuration will be added
in a future draft.
The design of the class and relationship hierarchies described in
this draft is influenced from the DMTF Network information model
[CIM]. It is specifically not derived from the Policy Core
information model [PCIM]. This is because the modeling of the
QoS mechanisms of a device is separate and distinct from the
Strassner, et al. Expires: Jul 2000 + 6 months [Page 5]
Internet Draft QoS Device Info Model July 2000
modeling of policies that manage those mechanisms. Hence, there
is a need to separate QoS mechanisms (this draft) from their
control (specified using the generic policy draft [PCIM]
augmented by the QoS Policy draft [QOSPIM]).
1.1. Policy Management Conceptual Model
The [PCIM] describes a general methodology for constructing
policy rules. A policy rule aggregates a set of policy conditions
and policy actions. The semantics of a policy rule are such that
if the set of conditions evaluates to TRUE, then the set of
actions are executed.
Policy conditions and actions have two principle components,
operands and operators. Operands can be constants or variables.
A policy can not be constructed without specifying the operands
to be examined, the operands to be changed, and how they should
be bound together.
Operands can be specified at a high-level, such as Joe (a user)
or Gold (a service). Operands can also be specified at a much
finer level of detail, one that is much closer to the operation
of the device. Examples of the latter include an IP Address or a
queue's bandwidth allocation. Implicit in the use of operands is
the binding of legal values or ranges of values to an operand.
For example, the value of an IP address cannot be an integer.
These concepts are defined in this draft and in [QOSPIM].
The second component of policy conditions and actions is a set of
operators. Operators can express both relationships (greater
than, member of a set, Boolean OR, etc.) as well as assignments.
Together, operators and operands can express a variety of
conditions and actions, such as:
If Bob is an Engineer...
If the source IP address is in the Marketing Subnet...
Set Joe's IP address to 2.3.4.5
Limit the bandwidth of application x to 10 Mb
We recognize that the definition of operator semantics is
critical to the definition of policies. However, the definition
of these operators is beyond the scope of this document. Rather,
this draft (with [QOSPIM]) takes the first steps in identifying
and standardizing a set of attributes (operands) for use in
policies.
1.2. Purpose and Relation to Other Policy Work
This model establishes a canonical model of the QoS mechanisms of
a network device (e.g., router or switch) that is independent of
any specific type of network device. This enables traffic to be
Strassner, et al. Expires: Jul 2000 + 6 months [Page 6]
Internet Draft QoS Device Info Model July 2000
described using a common set of abstractions, modeled as a set of
services and sub-services.
When the concepts of this draft are used in conjunction with the
concepts of [QOSPIM], then one is able to define policies that
bind the services in a network to the needs of applications using
that network. In other words, the business requirements of an
organization can be reflected in one set of policies, and those
policies can be translated to a lower-level set of policies that
control and manage the configuration and operation of network
devices.
1.3. Typical Examples of Policy Usage
Policies could be implemented as low-level rules using the
information model described in this specification. For example,
in a low-level policy, a condition could be represented as an
evaluation of a specific attribute from this model. Therefore, a
condition such as "If filter = HTTP" would be interpreted as a
test determining whether any HTTP filters have been defined for
the device. A high-level policy, such as "If HTTP, Then mark with
DSCP 24", would be expressed as a series of actions in a low-
level policy using the classes and attributes described below:
1. Create HTTP filter
2. Create DSCP marker with the value of 24
3. Bind the HTTP filter to the DSCP marker
Using this approach to representing policies, all the semantics
of the policy are preserved.
2. Approach
QoS activities in the IETF have mainly focused in two areas,
Integrated Services (IntServ) and Differentiated Services
(DiffServ) (see [POLTERM], [R1633] and [R2475]). This version of
this draft focuses on the specification of QoS attributes and
classes for the policy management of Differentiated Services.
However, the framework defined by the structure of the classes
defined in this document has been designed with the needs of
IntServ in mind.
2.1. Common Needs Of DiffServ and IntServ
First, let us consider IntServ. IntServ has two principle
components. One component is embedded in the forwarding engine of
the networking device. Its functions include the classification
and policing of individual flows and scheduling admitted packets
for the outbound link. The other component of IntServ is the
management of the signaling protocol (e.g., the PATH and RESV
messages of RSVP). This component processes reservation requests,
Strassner, et al. Expires: Jul 2000 + 6 months [Page 7]
Internet Draft QoS Device Info Model July 2000
manages bandwidth, outsources decision making to policy servers,
and interacts with the Routing Table manager.
We will take RSVP into consideration when defining the structure
of this information model. As this draft initially focuses on the
forwarding engine, elements of RSVP applicable to the forwarding
engine will be considered in the structure of the classes.
This draft models a small subset of the QoS policy problem in
hopes of constructing a methodology that can be adapted for other
aspects of QoS in particular, and policy construction in general.
The focus in this iteration of the draft is on QoS as applied to
DiffServ.
DiffServ operates exclusively in the forwarding engine. It has
all of the same components of the IntServ forwarding engine with
two major differences. First, DiffServ performs classification
based solely on the DSCP field, whereas IntServ examines a subset
of a standard flow's addressing 5-tuple. However, there are
special cases in DiffServ where the addressing 5-tuple (or other
parameters) can be examined. Most notably, this can occur at the
boundary between a DS domain and a non-DS domain. However, most
routers in a DiffServ domain will only need to classify based on
the DSCP field.
The second difference between IntServ and DiffServ is that the
signaling protocol used in IntServ (e.g., RSVP) affects the
forwarding engine in a more dynamic fashion. This is because each
newly admitted RSVP reservation requires a reconfiguration of the
forwarding engine. In contrast, DiffServ requires far fewer
changes to the forwarding engine after the PHBs have been
configured.
The approach advocated in this draft for the creation of policies
that control the various QoS mechanisms of networking devices is
to first identify the attributes with which policies are to be
constructed. These attributes are the parameters used in
expressions that are necessary to construct policies. There is
also a parallel desire to define the operators, relations, and
precedence constructs necessary to construct the conditions and
actions that constitute these policies. However, these efforts
are beyond the scope of this document.
2.2. Specific Needs Of DiffServ
DiffServ-specific rules focus on two particular areas: the core
and the edges of the network. As explained in the DiffServ
Architecture document [R2475], the edge of the network is used to
classify traffic into different traffic streams. The core of the
network then forwards traffic from different streams by using a
set of Per-Hop Behaviors (PHBs). The PHB is defined by a DiffServ
Code Point (DSCP). The DSCP is part of the IP header of each
Strassner, et al. Expires: Jul 2000 + 6 months [Page 8]
Internet Draft QoS Device Info Model July 2000
packet (as described in [R2474]). This enables multiple traffic
streams to be aggregated into a small number of aggregated
traffic streams, where each aggregate traffic stream is forwarded
using a particular PHB.
The attributes used to manipulate QoS capabilities in the core of
the network primarily address the behavioral characteristics of
each supported DiffServ class (or queue). At the edges of the
DiffServ network, the additional complexities of flow
classification, policing, RSVP mappings, remarkings, and other
factors have to be considered. Additional modeling will be
required in this area. However, first, the standards for edges
of the DiffServ network need more detail - to allow the edges to
be incorporated into the policy model.
This draft will initially focus on the core of the DiffServ
network. However, it is expected that as the DiffServ standards
evolve to better define the semantics of edge devices, these
attributes will also be added to the QoS schema presented in this
document.
2.3. Specific Needs Of IntServ
This first iteration of this document will focus exclusively on
the forwarding aspects of network QoS. Therefore, while the
forwarding aspects of IntServ will be considered, the management
of IntServ will not be considered. This will be addressed in a
future iteration of this draft.
3. Methodology
There is a clear need to define attributes and behavior that
together define how traffic should be conditioned. This draft
defines a set of classes and relationships that define the QoS
mechanisms used to condition traffic; [QOSPIM] is used to define
policies to control the QoS mechanisms defined in this draft.
However, there are some very basic issues that need to be
considered when combining these drafts. Considering these issues
should help in constructing a schema for managing the operation
and configuration of network QoS mechanisms through the use of
QoS policies.
3.1. Level of Abstraction for Expressing QoS Policies
The first issue requiring consideration is the level of
abstraction at which QoS policies should be expressed. If we
consider policies as a set of rules used to react to events and
manipulate attributes or generate new events, we realize that
policy represents a continuum of specifications that relate
business goals and rules to the conditioning of traffic done by a
Strassner, et al. Expires: Jul 2000 + 6 months [Page 9]
Internet Draft QoS Device Info Model July 2000
device or a set of devices. An example of a business level policy
might be: from 1:00 pm PST to 7:00 am EST, sell off 40% of the
network capacity on the open market. In contrast, a device-
specific policy might be: if the queue depth grows at a geometric
rate over a specified duration, trigger a potential link failure
event.
A general model for this continuum is shown in Figure 1 below.
+---------------------+
| High-Level Business | Not directly related to device
| Policies | operation and configuration details
+---------------------+
|
|
+---------V-----------+
| Device-Independent | Translate high-level policies to
| Policies | general device operational and
+---------------------+ configuration information
|
|
+---------V-----------+
| Device-Dependent | Translate generic device information
| Policies | to specify how particular devices
+---------------------+ should operate and be configured
Figure 1. The policy continuum
High-level business policies are used to express the requirements
of the different applications, and prioritize which applications
get "better" treatment when the network is congested. The goal,
then, is to use policies to relate the operational and
configuration needs of a device directly to the business rules
that the network administrator is trying to implement (in the
network that the device belongs to).
Device-independent policies translate business policies into a
set of generalized operational and configuration policies that
are independent of any specific device. Not only does this enable
different types of devices (i.e., routers, switches, firewalls,
and hosts) to be controlled by QoS policies, it also enables
devices made by different vendors that use different types of QoS
mechanisms to be controlled. This enables these different devices
to each supply the correct relative conditioning to the same type
of traffic.
In contrast, device-dependent policies translate device-
independent policies into ones that are specific for a given
device. The reason that a distinction is made between device-
independent and device-dependent policies is that in a given
network, many different devices having many different
capabilities (and hence many different mechanisms) need to be
Strassner, et al. Expires: Jul 2000 + 6 months [Page 10]
Internet Draft QoS Device Info Model July 2000
controlled together. Device-independent policies provide a common
layer of abstraction for managing multiple devices of different
capabilities, while device-dependent policies implement the
specific conditioning that is required. This draft provides a
common set of abstractions for representing QoS mechanisms in a
device-independent way.
This draft is focused on the device-independent representation of
policies. QoS mechanisms are modeled in sufficient detail as to
provide a common device-independent representation of QoS
policies. They can also be used to provide a basis for
specialization, enabling each vendor to derive a set of vendor-
specific classes that represent how traffic conditioning is done
for that vendorĘs set of devices. This model also contains hooks
to enable it to be combined with the QoS policy information model
as described in [QOSPIM].
3.2. Specifying Policy Parameters
Policies are a function of parameters (attributes) and operators
(boolean, arithmetic, relational, etc.). Therefore, both need to
be defined as part of the same policy in order to correctly
condition the traffic. If the parameters of the policy are
specified too narrowly, they will reflect the individual
implementations of QoS in each device. As there is currently
little consensus in the industry on what the correct
implementation model for QoS is, most defined attributes would
only be applicable to the unique characteristics of a few
individual devices. Lastly, standardizing all of these potential
implementation alternatives would be a never-ending task as new
implementations appear on the market.
Similarly, if the parameters of the policy are specified too
broadly, it is impossible to develop meaningful policies. For
example, if we concentrate on the so-called Olympic set of
policies, a business policy like "Bob gets Gold Service," is
clearly meaningless to the large majority of existing devices.
This is because the device has no way of determining who Bob is
or what QoS mechanisms should be configured in what way to
provide Gold service.
Furthermore, Gold service may represent a single service, or it
may portray a set of services that are related to each other. In
the latter case, these may have different conditioning
characteristics.
This draft defines a set of parameters that are fit into a
canonical model for modeling the elements in the forwarding path
of a device. By defining such a model in a device-independent
way, the needed parameters can be appropriately abstracted.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 11]
Internet Draft QoS Device Info Model July 2000
3.3. Specifying Policy Services
Administrators want the flexibility to be able to define traffic
conditioning without having to have a low-level understanding of
the different QoS mechanisms that implement that conditioning.
Furthermore, administrators want the flexibility to group
different services together, so that the group of services as a
whole will receive "better" treatment than another group of
services.
These two goals dictate the need for the following set of
abstractions:
- a flexible way to describe a service
- must be able to group different services that may use
different technologies (e.g., DiffServ and 802.1P) together
- must be able to define a set of sub-services that together
make up a higher-level service
- must be able to associate a service and the set of QoS
mechanisms that are used to condition that service
- must be able to define policies that manage the QoS
mechanisms used to implement a service.
This draft addresses this set of problems by defining a set of
classes and relationships that can abstract concepts like "Gold
Service" and bind them to a specific set of QoS mechanisms that
are used to implement the conditioning required by Gold Service.
Furthermore, this draft defines the concept of "sub-services" to
enable Gold Service to be defined as a single service or a set of
services that together should be treated as an atomic entity.
Given these abstractions, policies (as defined in [QOSPIM]) can
be written to control the QoS mechanisms and services defined in
this draft.
3.4. Level of Abstraction for Defining QoS Attributes and Classes
This draft will standardize a set of classes and attributes that
are needed to support policies that configure device QoS
mechanisms. This iteration of this draft concentrates on the
representation of DiffServ services; the next iteration will
include IntServ services.
The classes and attributes in this draft are intended to be used
in conjunction with the QoS policy classes and attributes defined
in [QOSPIM]. For example, to preserve the delay characteristics
committed to the end-user, a network administrator may wish to
create policies that monitor the queue depths in a device and
Strassner, et al. Expires: Jul 2000 + 6 months [Page 12]
Internet Draft QoS Device Info Model July 2000
adjust resource allocations when delay budgets are at risk
(perhaps as a result of a network topology change). The classes
and attributes in this document define the specific services and
mechanisms required to implement those services. The classes and
attributes defined in [QOSPIM] provide the overall structure of
the policy that manages and configures this service.
This combination of low-level specification (using this draft)
and high-level structuring (using [QOSPIM]) of network services
enables network administrators to define new services required of
the network, that are directly related to business goals, while
ensuring that such services can be managed. However, this goal
(of creating and managing service-oriented policies) can only be
realized if policies can be constructed that are capable of
supporting diverse implementations of QoS. The solution is to
model the QoS capabilities of devices at the behavioral level.
This means that for DiffServ, the model must support the
following characteristics:
- Modeling of a generic network service that has QoS
capabilities
- Modeling of how DiffServ traffic conditioning is defined
- Modeling of how statistics are gathered to monitor DiffServ
(and other types of QoS) services
This draft models a network service and associates it with one or
more QoS mechanisms that are used to implement that service. It
also models the various components that are used to condition
DiffServ traffic in a canonical form, such that standard as well
as custom DiffServ services may be described. It further
generalizes this such that other technologies, such as IntServ,
may use the same set of conditioning primitives.
Statistics will be added in the next release of this draft.
3.5. Characterization of QoS Attributes
The QoS attributes and container classes will be described in
more detail in section 4. However, we should consider the basic
characteristics of these attributes to understand the methodology
for representing them.
There are essentially two types of attributes, state and
configuration. Configuration attributes describe the desired
state of the device, and include attributes and classes for
representing desired or proposed thresholds, bandwidth
allocations, and how to classify traffic. State attributes
describe the actual state of the device. This includes the
current ACTUAL value of these configuration attributes in
devices, as well as attributes that represent dynamic state
Strassner, et al. Expires: Jul 2000 + 6 months [Page 13]
Internet Draft QoS Device Info Model July 2000
(queue depths, excess capacity consumption, loss rates, and so
forth).
These two types of attributes must be modeled using a common
information model in order for them to be able to be used
together. This draft makes explicit the common information model
for modeling state as well as configuration attributes for
network QoS mechanisms. In addition, it emphasizes the need to
separate these two types of attributes.
One should note that the state attributes defined in this draft
are purposely device-independent. In contrast, configuration
attributes that are defined in a future release of this draft can
be represented and applied to either the same set of devices or a
specific device. Examples of the former are setting one or more
attributes in all devices in the same domain that share the same
AS (autonomous system) number, or all core devices that share the
same delay bound for a specific service. Examples of the latter
are setting a specific set of attributes that configures how a
device-specific implementation of a conditioning mechanism will
operate.
This difference between state and configuration attributes
suggests that the schema for configuration attributes will not be
exactly the same as the schema that supports state attributes.
However, many of the attributes defined in this draft are exactly
the settings that will be configured. Thus, the definition of
these attributes provides the link between modeling the
operational state of a device and setting configuration
parameters of that device. The intersection of these two schemata
will be through the set of attributes, associations and
aggregations that relates one schema to the other.
3.6. Identifying Common Shared Policies
Another issue that arises is how to distinguish policies for
individual devices or even components of a device from policies
that apply to a set of devices. These contextual issues depend on
more than just the policy schema in order for them to function
properly. Hence, ongoing efforts to define devices, services,
users, groups, and collections of these objects are all relevant
to the proper construction of a policy model. Context is a key
aspect of policies that still requires a great deal more work.
The next iteration of this draft will include some preliminary
results from these modeling efforts. This will focus on using the
concepts in this draft, the concepts in [QOSPIM] and some new
concepts, to establish a better definition of the context in
which a policy is operating.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 14]
Internet Draft QoS Device Info Model July 2000
3.7. QoS Information Model Derivation
The question of context also begs another question: how does the
information specified in the core and QoS policy models ([PCIM]
and [QOSPIM], respectively) integrate with the information
defined in this draft? Put another way, where should device-
independent concepts that lead to device-specific QoS attributes
be derived from?
Past thinking was that QoS was part of the policy model. That is
not completely accurate, and leads to confusion. QoS is a set of
services that can be controlled using policy. These services are
represented as device mechanisms. Not all mechanisms are always
applicable for building a given service, and so this is further
abstracted by referring to the QoS capabilities of a device.
However, a key point is that QoS services, as well as other types
of services (e.g., security), are provided by the mechanisms
inherent in a given device. This means that all devices are
indeed not created equal. For example, although two devices may
have the same type of mechanism (e.g., a queue), one may be a
simple implementation (i.e., a FIFO queue) whereas one may be
much more complex and robust (i.e., CBWFQ). However, both of
these devices can be used to deliver QoS services, and both need
to be controlled by policy. Thus, a device-independent policy can
instruct the device to queue certain traffic, and a device-
specific policy can be used to implement the queuing of each
device.
Furthermore, policy is used to control these mechanisms, not to
represent them. For example, QoS services are implemented with
classifiers, meters, markers, droppers, queues, and schedulers.
Similarly, security is also a characteristic of devices, as
authentication and encryption capabilities represent services
that networked devices perform (irrespective of interactions with
policy servers). These security services may use some of the same
mechanisms that are used by QoS services, such as the concepts of
filters. However, they will largely require different mechanisms
than are used by QoS, even though they are both implemented in
the same device.
Thus, the similarity between QoS and other services is not so
much that they contain a few common mechanisms. Rather, they
model how a device implements that service. As such, the modeling
of QoS should be part of a networking device schema rather than a
policy schema. This enables the networking device schema to
concentrate on modeling device mechanisms and the policy schema
to focus on the semantics of representing the policy itself
(conditions, actions, operators, etc.). While this iteration of
this draft concentrates on defining an information model that can
represent DiffServ QoS services, the ultimate goal is to be able
to apply policies that control these services in network devices.
Furthermore, these two schemata (device and policy) must be
Strassner, et al. Expires: Jul 2000 + 6 months [Page 15]
Internet Draft QoS Device Info Model July 2000
tightly integrated in order to enable policy to control QoS
services.
3.8. Attribute Representation
The last issue to be considered is the question of how attributes
are represented. If QoS attributes are represented as absolute
numbers (e.g., Class AF2 gets 2 Mbs of bandwidth), it is more
difficult to make them uniform across multiple ports in a device
or multiple devices, because of the broad variation in link
capacities. However, expressing attributes in relative or
proportional terms (e.g., Class AF2 gets 5% of the total link
bandwidth) makes it more difficult to express certain types of
conditions and actions, such as:
(If ConsumedBandwidth = AssignedBandwidth Then ...)
There are really three alternatives to address this problem:
o Multiple attributes can be defined to express the same value
in various forms. This idea has been rejected because of the
likelihood of inconsistencies between the attributes, along
with the difficulty in keeping these different attributes
synchronized (e.g., when one attribute changes, the others all
have to be updated).
o Multi-modal attributes can be defined to express the same
value, in different terms, based on the access or assignment
mode. This option was rejected because it significantly
complicates the model and is impossible to express in current
directory access protocols (e.g., (L)DAP).
o Attributes can be expressed as "absolutes", but the operators
in the policy schema would need to be more sophisticated.
Thus, to represent a percentage, division and multiplication
operators are required (e.g., Class AF2 gets .05 * the total
link bandwidth). This is the approach that has been taken in
this draft.
3.9. Mental Model
The mental model for constructing this schema is based on the
work done in the Differentiated Services working group. This
schema is based on information provided in the current versions
of the DiffServ Conceptual Model [DSMODEL], the DiffServ MIB
[DSMIB], the PIB [PIB], as well as the set of RFCs that
constitute the basic definition of DiffServ itself ([R2475],
[R2474], [R2597], and [R2598]). In addition, a common set of
terminology is available in [POLTERM].
Note that this work is not yet completely aligned, as there are
differences between the DiffServ Conceptual Model, the DiffServ
Strassner, et al. Expires: Jul 2000 + 6 months [Page 16]
Internet Draft QoS Device Info Model July 2000
MIB, the DiffServ PIB, and this draft. Work to finish aligning
these drafts is in progress, and will be reflected in the next
revision of this draft.
This model is built around two fundamental class hierarchies that
are bound together using a set of relationships. The two class
hierarchies derive from the QoSService and ConditioningService
base classes. A set of associations relate lower-level QoSService
subclasses to higher-level QoSServices, relate different types of
ConditioningServices together in processing a traffic class, and
relate a set of ConditioningServices to a specific QoSService.
This combination of relationships enables us to view the device
as providing a set of services that can be configured, in a
modular building block fashion, to construct application-specific
services. Thus, this document can be used to model existing and
future standard as well as application-specific network QoS
services.
3.9.1. The QoSService Class
The first of these classes, QoSService, is used to represent
higher-level network services that require special conditioning
of their traffic. QoSService has a set of subclasses that
represent technology-specific implementations of QoS (e.g.,
DiffServ vs. 802.1P) as well as two relationships to the second
fundamental class, ConditioningService. This set of subclasses is
conceptualized as a set of coordinated, cooperating sub-services.
The QoS services can be related to each other or be implemented
as subservient services to each other. This enables us to define
Gold Service as (for example) a combination of the EF PHB to
implement a voice service and a set of AF PHBs to condition data
traffic. Furthermore, it lets us think of AF as a service that
requires different sub-services (e.g., a classification service,
a dropping
service, etc.) to implement it. This set of sub-services derive
from the ConditioningService class, and are related to the
QoSService class via the aggregation QoSConditioningSubServices
(see section 4 for class and relationship definitions).
This document, in its current form, identifies three subclasses
of QoS services: DiffServ, 802.1P, and Precedence. The purpose of
these subclasses is to enable administrators to manage the
application of QoS according to the specific technologies that
they are using. Thus, a network consisting of a set of DiffServ-
and non-DiffServ-compliant devices that each provided QoS traffic
conditioning would be modeled using different subclasses of
QoSService. However, each mechanism can be inter-related since
they all derive from a common base class, QoSService.
These concepts are depicted in Figure 2.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 17]
Internet Draft QoS Device Info Model July 2000
/\______
0..1 \/ |
+--------------+ | QoSSubService +---------------+
| |0..n | | |
| QoSService |----- | Conditioning |
| | | Service |
| | | |
| |0..1 0..n | |
| | /\______________________| |
| | \/ QoSConditioning | |
+--------------+ SubService +---------------+
Figure 2. QoSService and its associations
3.9.2. The ConditioningService Class
The goal of the ConditioningService classes is to describe the
sequence of traffic conditioning that is applied to a given
traffic stream from an ingress to an egress interface. This is
done using a set of classes and relationships.
A single base class, ConditioningService, represents the
superclass for a set of mechanisms that condition traffic. Its
subclasses define device-independent conditioning primitives
(including classifiers, meters, markers, droppers, and queues)
that together implement the conditioning of traffic. This model
abstracts these services into a common set of modular building
blocks that can be used, regardless of device implementation, to
model the forwarding decisions internal to the device.
The different conditioning mechanisms need to be related to each
other to describe how traffic is conditioned. Several important
variations of how these services are related together exist:
- all types of ConditioningServices may not be required
- multiple instances of the same mechanism may be required
- no set order of application of each ConditioningService
exists
Therefore, this model does not dictate ordering, or a first or
last ConditioningService to be applied. Instead, this model ties
together the various ConditioningServices that can be used using
the NextService association (see Section 4). And, it allows the
special case of ingress and egress conditioning to be described
via a separate association, called ConditioningServiceOnEndpoint
(see section 4).
These concepts are depicted in Figure 3.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 18]
Internet Draft QoS Device Info Model July 2000
+-------------------+
| |0..n
|ConditioningService|---------
| |0..n | NextService
| |---------
| |
0..n | |0..1 ConditioningService
----| |---------------- OnEndpoint
| +-------------------+ |
| |
|NextServiceAfterMeter |
| |0..1
|0..n +---------+ +------------------+
-----| Meter | | ProtocolEndpoint |
+---------+ +------------------+
Figure 3. ConditioningService and its associations
3.9.3. QoS Statistics Classes
Various statistics classes were proposed in the previous
iteration of this draft. Such statistics are necessary to
properly instrument QoS services. However, since the core of this
draft has been reworked, the previous statistics classes did not
correspond and were removed. The next iteration of this draft
will add these classes back into the draft.
4. The Class Hierarchy
The following sections describe the class hierarchy of the
information model for modeling QoS capabilities at the device
level.
4.1. Difference Between Inheritance and Relationship Associations
This draft defines two different sets of associations -
inheritance and class relationships (such as dependencies and
aggregations). Inheritance hierarchies are "the mechanism by
which more-specific elements incorporate the structure and
behavior of more-general elements." [UMLUG] The next two sections
describe the class relationships that are used in this draft and
model.
4.1.1. Associations
An association is a means of representing a dependency
relationship between two (or theoretically more) objects. In CIM
and DEN, this type of relationship is modeled as a class
containing two (or more) object references. Since the
association is itself a class, it can benefit from all of the
Strassner, et al. Expires: Jul 2000 + 6 months [Page 19]
Internet Draft QoS Device Info Model July 2000
object-oriented abilities that other non-association classes
have. For example, it can contain properties and methods, and
inheritance can be used to refine its semantics such that it
represents a more specialized type of dependency. This has proven
to be a very useful abstraction, and will be used in this
document as well.
It is important to note that associations form a hierarchy that
is separate from the inheritance hierarchy. Although associations
are inherently bi-directional, there is nothing that prevents
higher order associations from being defined. However, such
associations are inherently more complex to define, understand
and use. In practice, associations higher than binary are rarely
used because of their greatly increased complexity and lack of
generality.
Finally, note that associations that are defined between two
classes do not affect the classes themselves. That is, the
addition or deletion of an association does not affect the
interface of the classes that it is connecting.
4.1.2. Aggregations
An aggregation is a strong form of an association, which usually
represents a "whole-part" or a "collection" relationship. For
example, CIM uses an aggregation to represent the containment
relationship between a system and the components that make it up.
In this draft, all aggregations represent "whole-part"
relationships.
Note that an aggregate object is treated as an atomic unit, even
though it is comprised of, or collects, multiple objects. This is
a defining feature of an aggregation -
- although the individual
components that make up an aggregate object have their own
identities, the aggregate object that is constructed from these
objects has its own identity and name.
"Whole-part" aggregations have some very interesting properties:
- cascaded deletion (if you delete the aggregate, you delete
all of its constituent components)
- transitivity (e.g., if Object A is-a-part-of Object B, and
if Object B is-a-part-of Object C, then Object A is-a-
part-of Object C)
- anti-symmetricity (e.g., if Object A is-a-part-of Object B,
then Object B can not also be a-part-of Object A)
Aggregation is used to represent the physical and/or logical
grouping of related objects.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 20]
Internet Draft QoS Device Info Model July 2000
4.2. The Structure of the Class Hierarchy
The following sections discuss the class hierarchies that will be
used to model the state of QoS devices and services. A later
release will include configuration hierarchies. This model is
influenced by [CIM], and is compatible with the Directory Enabled
Networks (DEN) effort.
4.2.1. The Class Hierarchy for Modeling State Information
The structure of the Class Hierarchy for managing the state of
Differentiated and Integrated Services is shown in Figure 4. In
this figure, the following definitions apply:
- CIMCORE: a class that is defined in the CIM Core Model
- CIMNET: a class that is defined in the CIM Network Model
All of the remaining classes are defined in this document. Please
refer to [CIM] for the definitions of the classes in [CIMCORE]
and [CIMNET].
Strassner, et al. Expires: Jul 2000 + 6 months [Page 21]
Internet Draft QoS Device Info Model July 2000
+--ManagedElement (defined in [CIMCORE])
|
+--ManagedSystemElement (defined in [CIMCORE])
| |
| +--LogicalElement (defined in [CIMCORE])
| | |
| | +--Service (defined in [CIMCORE])
| | | |
| | | +--NetworkService (defined in [CIMNET])
| | | | |
| | | | +--ForwardingService (defined in [CIMNET])
| | | | | |
| | | | | +--ConditioningService
| | | | | | |
| | | | | | +--ClassifierService
| | | | | | |
| | | | | | +--MeterService
| | | | | | | |
| | | | | | | +--AverageRateMeter
| | | | | | | |
| | | | | | | +--EWMAMeter
| | | | | | | |
| | | | | | | +--TokenBucketMeter
| | | | | | |
| | | | | | +--MarkerService
| | | | | | |
| | | | | | +--DropperService
| | | | | | | |
| | | | | | | +--RedDropper
| | | | | | | | |
| | | | | | | | +--WeightedRedDropper
| | | | | | |
| | | | | | +--QueuingService
| | | | | |
| | | | | +--PacketSchedulingService
| | | | | | |
| | | | | | +--PrioritySchedulingService
| | | | | | | |
| | | | | | | +--PriorityBandwidth
| | | | | | | SchedulingService
| | | | | | |
| | | | | | +--BandwidthSchedulingService
| | | | | | |
| | | | | | +--RoundRobinPacketSchedulingService
| | | | | | | |
| | | | | | | +--WeightedRoundRobinPacket
SchedulingService
(continued on following page)
Strassner, et al. Expires: Jul 2000 + 6 months [Page 22]
Internet Draft QoS Device Info Model July 2000
(continued from previous page,
first four elements are repeated for convenience)
+--ManagedElement (defined in [CIMCORE])
|
+--ManagedSystemElement (defined in [CIMCORE])
| |
| +--LogicalElement (defined in [CIMCORE])
| | |
| | +--Service (defined in [CIMCORE])
| | | |
| | | +--NetworkService (defined in [CIMNET])
| | | | |
| | | | +--ForwardingService (defined in [CIMNET])
| | | | | |
| | | | +--QoSService
| | | | | |
| | | | | +--DiffServService
| | | | | | |
| | | | | | +--AFService
| | | | | | |
| | | | | | +--EFService
| | | | | |
| | | | | +--PrecedenceService
| | | | | |
| | | | | +--8021PService
| | |
| | +--FilterEntryBase (defined in [CIMNET])
| | | |
| | | +--FilterEntry (defined in [CIMNET])
| | |
| | +--FilterList (defined in [CIMNET])
| | |
| | +--ServiceAccessPoint (defined in [CIMCORE])
| | | |
| | | +--ProtocolEndpoint (defined in [CIMNET])
|
+--Collection (defined in [CIMCORE])
| |
| +--CollectionOfMSEs (defined in [CIMCORE])
| | |
| | +--BufferPool
Figure 4. Inheritance Class Hierarchy
The set of associations and aggregations defined in this draft
are shown in Figure 5.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 23]
Internet Draft QoS Device Info Model July 2000
+--Dependency
| |
| +--ServiceSAPDependency
| | |
| | +--ConditioningServiceOnEndpoint
| | |
| +--ServiceServiceDependency
| | |
| | +--QueueHierarchy
| | |
| | +--SchedulerUsed
| | |
| +--QueueAllocation
| |
| +--ClassifierFilterSet
|
+--AFRelatedServices
|
+--NextService
| |
| +--NextServiceAfterMeter
|
+--MemberOfCollection
| |
| +--CollectedBufferPool
|
+--Component
| |
| +--ServiceComponent
| | |
| | +--QoSSubService
| | |
| | +--QoSConditioningSubService
| |
| +--EntriesInFilterList
Figure 5. Relationship Class Hierarchy
4.2.2. The Class Hierarchy for Modeling Configuration Information
The structure of the class hierarchy for managing the
configuration of Differentiated and Integrated Services will be
presented in the next iteration of this draft. This is due to the
above hierarchy being changed significantly to reflect
participant feedback.
4.3. Class Definitions for the State Portion of the Model
This section will define the classes and attributes that make up
the Information Model for describing the QoS-related
functionality of network devices. This information is derived
from the CIM Network Model [CIM]. Only new classes that are
Strassner, et al. Expires: Jul 2000 + 6 months [Page 24]
Internet Draft QoS Device Info Model July 2000
presented in this draft will be defined; however, all existing
Network Model classes will be described briefly. The reader is
encouraged to look at [CIM] for further information. Associations
and aggregations will be defined in Section 4.3.
4.3.1. The Class ManagedElement
This is an abstract class that is defined in the Core Model of
CIM. It is the root of the entire CIM inheritance hierarchy and
exists as a referenced class in some generic associations, such
as Dependency and MemberOfCollection. ManagedElement's
properties are Caption and Description. Both are free-form
strings to describe an instantiated object. Please refer to [CIM]
for the full definition of this class.
4.3.2. The Class ManagedSystemElement
This is an abstract class that is defined in the Core Model of
CIM. It is the base class of the System, Physical, and Logical
Element class hierarchies. Any distinguishable component of a
System is a candidate for inclusion in this class hierarchy,
including physical components (e.g., chips and cards) and logical
components (e.g., software components, services, and other
objects). Please refer to [CIM] for the full definition of this
class.
4.3.3. The Class LogicalElement
This is an abstract class that is defined in the Core Model of
CIM. It is a subclass of the ManagedSystemElement class, and is
the base class for all components of a managed System, such as
Files, Processes, or system capabilities in the form of Logical
Devices and Services. Please refer to [CIM] for the full
definition of this class.
4.3.4. The Class Service
This is an abstract class that is defined in the Core Model of
CIM. It is a subclass of the LogicalElement class, and is the
base class for all objects which provide a "service" or
functionality in a System. Note that a Service is a general-
purpose object that is used to configure and manage the
implementation of functionality. Please refer to [CIM] for the
full definition of this class.
4.3.5. The Class NetworkService
This is an abstract class that is defined in the Network Common
Model of CIM. It is a subclass of the Service class, and is the
base class rooting the network service hierarchy. Network
services represent generic functions that are available from the
network, and that condition and/or modify one or more parameters
Strassner, et al. Expires: Jul 2000 + 6 months [Page 25]
Internet Draft QoS Device Info Model July 2000
of the traffic being sent, such as fields in a packet's header.
Please refer to [CIM] for the full definition of this class.
4.3.6. The Class ForwardingService
This is a concrete class that is defined in the Network Common
Model of CIM. It is a subclass of the NetworkService class, and
represents the forwarding of network traffic by receiving data
from one or more communication sources, and discarding it or
sending it via other communication sources. The properties of
ForwardingService are ProtocolType and OtherProtocolType -
describing the type of protocol being forwarded. Please refer to
[CIM] for the full definition of this class.
4.3.7. The Class ConditioningService
This class is a specialization of ForwardingService, and
represents the ability to define how traffic is conditioned in
the data forwarding path of a device. The subclasses of
ConditioningService define the particular type of conditioning
that is done. Five fundamental types of functions are defined in
this draft. They are the services performed by a classifier,
meter, marker, dropper, and queue. Note that other, more
sophisticated, types of conditioning may be defined in future
iterations.
Two associations of ConditioningService are critical to its usage
in QoS - QoSConditioningSubService and NextService.
QoSConditioningSubService aggregates ConditioningServices into a
particular QoS service (such as AF) to describe the specific
conditioning functionality that underlies that QoS service.
NextService indicates the subsequent conditioning service(s) for
different traffic streams.
The class definition is as follows:
NAME ConditioningService
DESCRIPTION A concrete class to define how traffic
will be conditioned in the data
forwarding path of a network device.
DERIVED FROM ForwardingService
TYPE Structural
PROPERTIES Enabled
4.3.7.1. The property Enabled
This property is a boolean that, if TRUE, signifies that one or
more conditioning functions can be performed on traffic
encountered by the ConditioningService.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 26]
Internet Draft QoS Device Info Model July 2000
4.3.8. The Class ClassifierService
This is a new concrete class that is defined in this model. The
concept of a Classifier is defined in [DSMODEL]. It represents a
logical entity in the data forwarding path of a device, that
takes a single input stream and sorts into one or more output
streams. The sorting is done by a set of filters that select
packets based on the packet contents (or possibly other
attributes associated with the packet). Each output stream is the
result of matching a particular filter (or not matching any
filter).
This version of this model does not generalize the representation
of a classifier. Rather, it seeks to portray a classifier as
defined by [DSMODEL]. Thus, the principal components of a
classifier are its ability to use filters. The association,
ClassifierFilterSet, conveys this basic semantic.
A Classifier is modeled as a ConditioningService so that it can
be aggregated into a QoSService (using the
QoSConditioningSubService association), and can use the
NextService association to describe the subsequent
ConditioningServices for different traffic streams.
The class definition is as follows:
NAME ClassifierService
DESCRIPTION A concrete class describing how an input
traffic stream is sorted into multiple
output streams using one or more
filters.
DERIVED FROM ConditioningService
TYPE Structural
PROPERTIES ClassifierType, OtherClassifierType,
HaveClassifiedPackets
4.3.8.1. The Property ClassifierType
This is an enumerated 16-bit unsigned integer that is used to
define the specific type of classifier of this instance. The
following types of classifiers are defined in this draft (please
see [DSMODEL] for a description of each one):
1 - Other
2 - Behavior Aggregate
3 - IPv4 Multi-Field-5
4 - IPv6 Multi-Field-5
5 - IPv4 Multi-Field-6
6 - IPv6 Multi-Field-6
7 - 802 MAC
8 - IEEE Priority
9 - IEEE VLAN
Strassner, et al. Expires: Jul 2000 + 6 months [Page 27]
Internet Draft QoS Device Info Model July 2000
10 - Free-form
Here, Multi-Field-5 defines a filter to match on source and
destination IP address, source and destination port, and IP
Protocol. Multi-Field-6 is the same, except that the DSCP value
is also matched.
4.3.8.2. The Property OtherClassifierType
This is a string attribute that defines a vendor-specific
description of the type of classifier. It is used when the value
of the ClassifierType attribute of this class is equal to 1.
4.3.8.3. The Property HaveClassifiedPackets
This is a Boolean attribute that, if TRUE, means that this
Classifier has already processed at least one packet.
4.3.9. The Class MeterService
This is a new concrete class, defined in this model. This class
represents the metering of network traffic. Metering is the
function of monitoring the arrival times of packets of a traffic
stream and determining the level of conformance of each packet
with respect to a pre-established traffic profile. A meter has
the ability to invoke different ConditioningServices for
conforming and non-conforming traffic. Non-conforming packets may
be further conditioned (e.g., dropped or queued) by routing the
packet to another conditioning element. Please see [DSMODEL] for
more information on metering.
This class is the base class for defining different types of
meters. As such, it contains common properties that all meter
subclasses share. It is modeled as a ConditioningService so that
it can be aggregated into a QoSService (using the
QoSConditioningSubService association) to describe that its
functionality underlies that QoS service. Also, it uses a
subclass of the NextService association to describe the
subsequent ConditioningServices for conforming and non-conforming
traffic.
The class definition is as follows:
NAME MeterService
DESCRIPTION A concrete class describing the
monitoring of traffic with respect to a
pre-established traffic profile.
DERIVED FROM ConditioningService
TYPE Structural
PROPERTIES MeterType, OtherMeterType,
ConformanceLevels
Strassner, et al. Expires: Jul 2000 + 6 months [Page 28]
Internet Draft QoS Device Info Model July 2000
Note: The MeterType property and the MeterService subclasses
provide similar information. The MeterType property is defined
for query purposes and for future expansion. It is assumed that
not all MeterServices will require a subclass to define them.
Therefore, MeterService will be instantiated directly and the
Type property is needed.
4.3.9.1. The Property MeterType
This attribute is an enumerated 16-bit unsigned integer that is
used to specify the particular type of meter that is being used.
Defined values of the enumerations are:
1 - Other
2 - Average Rate Meter
3 - Exponentially Weighted Moving Average Meter
4 - TokenBucketMeter
4.3.9.2. The Property OtherMeterType
This is a string attribute that defines a vendor-specific
description of the type of meter. It is used when the value of
the MeterType attribute of this class is equal to 1.
4.3.9.3. The Property ConformanceLevels
This attribute is a 16-bit unsigned integer. It indicates the
number of conformance levels supported by the meter. For
example, when only "in-profile" or "out of profile" metering is
supported, ConformanceLevels is set to 2.
4.3.10. The Class AverageRateMeter
This is a new concrete class, defined in this model. It is a
subclass of MeterService and describes a simple meter, called an
Average Rate Meter. This type of meter measures the average rate
at which packets are submitted to it over a specified time.
Packets are defined as conformant if their average arrival rate
does not exceed the specified measuring rate of the meter. Any
packet that causes the specified measuring rate to be exceeded is
defined to be non-conforming. For more information, please see
[DSMODEL].
The class definition is as follows:
NAME AverageRateMeter
DESCRIPTION A concrete class describing traffic as
either conforming or non-conforming,
depending on whether the arrival of a
packet causes the average arrival rate
to exceed a pre-determined value or not.
DERIVED FROM MeterService
Strassner, et al. Expires: Jul 2000 + 6 months [Page 29]
Internet Draft QoS Device Info Model July 2000
TYPE Structural
PROPERTIES AverageRate, DeltaInterval
4.3.10.1. The Property AverageRate
This is a 32-bit real number that defines the rate that is used
to determine whether admitted packets are in conformance or not.
The value is specified in kilobits per second.
4.3.10.2. The Property DeltaInterval
This is a 32-bit real number that defines the time period over
which the average measurement should be taken. The value is
specified in microseconds.
4.3.11. The Class EWMAMeter
This is a new concrete class, defined in this model. It is a
subclass of the MeterService class, and represents an
exponentially weighted moving average meter. This meter is a
simple IIR low-pass filter that measures the rate of incoming
packets over a small, fixed sampling interval. Any admitted
packet that pushes the average rate over a pre-defined limit is
defined to be non-conforming. Please see [DSMODEL] for more
information.
The class definition is as follows:
NAME EWMAMeter
DESCRIPTION A concrete class describing admitted
traffic as either conforming or non-
conforming, depending on whether the
arrival of a packet in a small fixed
sampling interval causes the average
arrival rate to exceed a
pre-determined value or not.
DERIVED FROM MeterService
TYPE Structural
PROPERTIES AverageRate, DeltaInterval, Gain
4.3.11.1. The Property AverageRate
This attribute is a 32-bit real number that defines the average
rate against which the sampled arrival rate of packets should be
measured. Any packet that causes the sampled rate to exceed this
rate is deemed non-conforming. The value is specified in kilobits
per second.
4.3.11.2. The Property DeltaInterval
This attribute is a 32-bit real number that defines the sampling
interval used to measure the arrival rate in bytes. The
Strassner, et al. Expires: Jul 2000 + 6 months [Page 30]
Internet Draft QoS Device Info Model July 2000
calculated rate is averaged over this interval and checked
against the AverageRate attribute. All packets whose computed
average arrival rate is less than the AverageRate are deemed
conforming.
The value is specified in microseconds.
4.3.11.3. The Property Gain
This attribute is a 32-bit real number that defines the time
constant (e.g., frequency response) of what is essentially a
simple IIR low-pass filter.
4.3.12. The Class TokenBucketMeter
This is a new concrete class that is defined in this model. It
describes the metering of network traffic using a token bucket
meter. Two types of token bucket meters are defined using this
class - a simple, two parameter bucket meter, and a multi-stage
meter.
A simple token bucket usually has two parameters, an average
token rate and a burst size, and has two conformance levels. This
class also defines an excess burst size, which enables the meter
to have three conformance levels (basically, "conforming",
"partially conforming", and "non-conforming"). The difference is
that packets that exceed the excess burst size are deemed non-
conforming, while packets that exceed the smaller BurstSize but
are less than the ExcessBurst size are deemed partially
conforming. Operation of these meters is described in [DSMODEL].
The class definition is as follows:
NAME TokenBucketMeter
DESCRIPTION A concrete class describing admitted
traffic with respect to a token bucket.
Either two or three levels of
Conformance can be defined.
DERIVED FROM MeterService
TYPE Structural
PROPERTIES AverageRate, PeakRate,
BurstSize, ExcessBurstSize
4.3.12.1. The Property AverageRate
This attribute is a 32-bit real number that is used to define the
committed rate of the meter. The value is specified in kilobits
per second.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 31]
Internet Draft QoS Device Info Model July 2000
4.3.12.2. The Property PeakRate
This attribute is a 32-bit real number that is used to define the
peak rate of the meter. The value is specified in kilobits per
second.
4.3.12.3. The Property BurstSize
This attribute is a 32-bit real number that is used to define the
maximum number of tokens available for the committed rate
(specified by the AverageRate property). The value is specified
in kilobytes.
4.3.12.4. The Property ExcessBurstSize
This attribute is a 32-bit real number that is used to define the
maximum number of tokens available for the peak rate (specified
by the PeakRate property). The value is specified in kilobytes.
4.3.13. The Class MarkerService
This is a new concrete class, defined in this model. It describes
the marking or re-marking (e.g., setting or resetting of a
particular field in a packet header) of network traffic. Markers
may act either on unmarked packets or re-mark previously marked
ones. Markers are usually invoked as a result of a preceding
classifier match. Operation of various types of markers is
described in [DSMODEL].
MarkerService is modeled as a ConditioningService so that it can
be aggregated into a QoSService (using the
QoSConditioningSubService association) to describe that its
functionality underlies that QoS service. Also, it uses the
NextService association to describe the subsequent
ConditioningServices after marking.
The class definition is as follows:
NAME MarkerService
DESCRIPTION A concrete class defining the value of a
field in a packet that is "marked" in
order to control the conditioning that
the packet receives.
DERIVED FROM ConditioningService
TYPE Structural
PROPERTIES CanRemark, RemarkType, OtherRemarkType,
RemarkValue
4.3.13.1. The Property CanRemark
This is a boolean attribute that, when TRUE, signifies that this
Marker can remark the field value specified in the RemarkType
Strassner, et al. Expires: Jul 2000 + 6 months [Page 32]
Internet Draft QoS Device Info Model July 2000
attribute with the value specified in the RemarkValue attribute.
The change will be made to unmarked packets and to remark a
previously marked one.
Otherwise, if FALSE and the field value is filled in, then NO
remarking will be done. If FALSE, only unmarked packets will be
changed.
4.3.13.2. The Property RemarkType
This attribute is an enumerated 16-bit unsigned integer that
defines what type of remarking will be done. Values include:
1 - Other
2 - Mark ToS Byte
3 - Mark the DSCP
4 - Mark the Priority Field
4.3.13.3. The Property OtherRemarkType
This is a string attribute that defines a vendor-specific
description of the type of remarking that is done. It is used
when the value of the RemarkType attribute of this class is equal
to 1.
4.3.13.4. The Property RemarkValue
This attribute is a 16-bit unsigned integer that is the value to
be applied to the field specified in the RemarkType attribute.
4.3.14. The Class DropperService
This is a new concrete class, defined in this model. It
represents the ability to drop network traffic or invoke another
ConditioningService for further processing of the remaining
traffic. This is the base class for different types of droppers.
Droppers are distinguished by the algorithm that they use to drop
traffic. Please see [DSMODEL] for more information about the
various types of droppers.
DropperService is modeled as a ConditioningService so that it can
be aggregated into a QoSService (using the
QoSConditioningSubService association) to describe that its
functionality underlies that QoS service. Also, it uses the
NextService association to describe the subsequent
ConditioningServices for further processing of any remaining
traffic.
The class definition is as follows:
Strassner, et al. Expires: Jul 2000 + 6 months [Page 33]
Internet Draft QoS Device Info Model July 2000
NAME DropperService
DESCRIPTION A concrete base class describing the
common characteristics of droppers.
DERIVED FROM ConditioningService
TYPE Structural
PROPERTIES DropperType, OtherDropperType,
AlwaysDrop, DropStartMetric,
DropMaintainMetric
Note: The DropperType property and the DropperService subclasses
provide similar information. The DropperType property is defined
for query purposes and to not require a subclass for all types of
DropperServices (for example, to describe a Head or Tail dropper
in today's model). Therefore, DropperService can be instantiated
directly and the Type property is needed.
4.3.14.1. The Property DropperType
This is an enumerated 16-bit unsigned integer that defines the
type of dropper. Values are:
1 - Other
2 - Head
3 - Tail
4 - RED
5 - Weighted RED
4.3.14.2. The Property OtherDropperType
This string attribute is used in conjunction with the DropperType
attribute. When the value of DropperType is 1 (e.g., Other), then
the name of the type of dropper (for this instance) is defined in
this attribute.
4.3.14.3. The Property AlwaysDrop
This is a boolean attribute that, if TRUE, signifies that this
Dropper will always drop incoming packets.
4.3.14.4. The Property DropStartMetric
This property is an enumerated 16-bit unsigned integer that
defines the metric used to trigger the start of dropping packets.
This does NOT mean that all packets will be dropped; it does mean
that SOME packets will start to be dropped. The number and type
of packets dropped is a function of the type of algorithm used by
this Dropper.
Values are:
1 - Other
2 - Queue Threshold
Strassner, et al. Expires: Jul 2000 + 6 months [Page 34]
Internet Draft QoS Device Info Model July 2000
3 - Arrival Rate
4.3.14.5. The Property DropMaintainMetric
This property is an enumerated 16-bit unsigned integer that
defines the metric used to determine when ALL packets will be
dropped regardless of the type of algorithm used by this Dropper.
Values are:
1 - Other
2 - Queue Threshold
3 - Arrival Rate
4.3.15. The Class REDDropperService
This is a new concrete class, defined in this model. It describes
the ability to drop network traffic using a Random Early
Detection (RED) algorithm. This algorithm is described in [RED].
REDĘs purpose is congestion avoidance (as opposed to managing
congestion). Instead of waiting for the queues to fill up and
then dropping large numbers of packets, RED works by monitoring
the average queue depth. When the queue depth exceeds a minimum
threshold, packets are randomly discarded, asking only those
connections to slow down. Please see [DSMODEL] for more
information about a dropper.
The class definition is as follows:
NAME REDDropperService
DESCRIPTION A concrete class used to describe
Dropping using the RED algorithm (or
one of its variants).
DERIVED FROM DropperService
TYPE Structural
PROPERTIES MinQueueThreshold, MaxQueueThreshold,
StartProbability, StopProbability
4.3.15.1. The Property MinQueueThreshold
This is a 32-bit real number, and is used to define the minimum
queue length at which packets are subject to being dropped.
4.3.15.2. The Property MaxQueueThreshold
This is a 32-bit real number, and is used to define the maximum
queue length at which packets will always be dropped.
4.3.15.3. The Property StartProbability
This is a 32-bit real number, and is used in conjunction with the
StopProbability attribute to define the slope of the drop
Strassner, et al. Expires: Jul 2000 + 6 months [Page 35]
Internet Draft QoS Device Info Model July 2000
probability function. The latter governs the rate at which
packets are subject to being dropped, as a function of the queue
length.
Min and max values are 0 to 100.
4.3.15.4. The Property StopProbability
This is a 32-bit real number, and is used in conjunction with the
StartProbability attribute to define the slope of the drop
probability function. The latter governs the rate at which
packets are subject to being dropped, as a function of the queue
length.
Min and max values are 0 to 100.
4.3.16. The Class WeightedREDDropperService
This is a new concrete class, defined in this model. It describes
the ability to drop network traffic using a Weighted Random Early
Detection (WRED) algorithm. Like RED, the purpose of WRED is to
avoid congestion (as opposed to managing congestion). This
modification of the basic RED algorithm enables packets belonging
to different traffic classes to be dropped at different queue
depths. This algorithm also enables discard to be done based on
different information contained in the packet header, such as IP
Precedence, RSVP session parameters, or even on other factors not
directly encoded in the packet header, such as the queue depth.
Please see [DSMODEL] for more information about a dropper.
The class definition is as follows:
NAME WeightedREDDropperService
DESCRIPTION A concrete class used to describe
Dropping using the weighted
RED algorithm.
DERIVED FROM REDDropperService
TYPE Structural
PROPERTIES DropMetric, OtherDropMetric, Weight
4.3.16.1. The Property DropMetric
This attribute is an enumerated 16-bit unsigned integer, and
defines the type of metric that is used to drop traffic. Values
are:
1 - Other
2 - IP Precedence
3 - DSCP Value
4 - 802.1P Priority Value
5 - RSVP Session
6 - Queue Depth
Strassner, et al. Expires: Jul 2000 + 6 months [Page 36]
Internet Draft QoS Device Info Model July 2000
7 - Packet Arrival Rate
4.3.16.2. The Property OtherDropMetric
This string attribute is used in conjunction with the DropMetric
attribute. When the value of DropMetric is 1 (e.g., Other), then
the type of metric is defined in this attribute.
4.3.16.3. The Property Weight
This is a 32-bit real number that representing the weighting
factor used to used to determine which queues get more service.
Min and max values are 0 to 100.
4.3.17. The Class QueuingService
This is a new concrete class that is defined in this model. It
represents the ability to queue network traffic and to specify
the characteristics for determining long-term congestion. Please
see [DSMODEL] for more information about queuing functionality.
QueuingService is modeled as a ConditioningService so that it can
be aggregated into a QoSService (using the
QoSConditioningSubService association) to describe that its
functionality underlies that QoS service. Also, it uses the
NextService association to describe if there are any subsequent
ConditioningServices.
The class definition is as follows:
NAME QueuingService
DESCRIPTION A concrete class describing the ability
to queue network traffic and to specify
the characteristics for determining
long-term congestion.
DERIVED FROM ConditioningService
TYPE Structural
PROPERTIES SmoothingWeight, TimeInterval,
GiveExcessCapacity
4.3.17.1. The Property SmoothingWeight
This attribute is a 32-bit real number, and defines the degree to
which each actual queue depth influences the averaged (smoothed)
queue depth used for determining long-term congestion in RED-like
droppers. This attribute is specified as the percentage/weight
that each calculation of averaged queue depth influences the new
value of average depth.
Min and max values are 0 to 100.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 37]
Internet Draft QoS Device Info Model July 2000
4.3.17.2. The Property TimeInterval
This attribute is a 32-bit unsigned integer, and defines the
number of nano-seconds between each calculation of average queue
depth. When this attribute is not specified, it implies that the
calculation is performed every time a packet departs from the
queue under normal operating conditions. In other words, if the
queue is serviced intermittently, the calculations will be
performed logically to simulate a consistent queue servicing
interval.
4.3.17.3. The Property GiveExcessCapacity
This property is a boolean attribute that, if TRUE, enables the
queue to be made available to other queue/scheduler instances.
When true, the queue can be used to hold packets from other
traffic classes than normally serviced. For example, assume that
queues for Gold, Silver and Bronze traffic classes are defined.
Further assume that the Silver queue is full and the others are
empty. If this boolean is set for the Gold and Bronze queues,
their capacity can be used to hold Silver traffic, as opposed to
dropping it.
4.3.18. The Class PacketSchedulingService
This is a new concrete class that is defined in this model. It
represents a scheduling service, which is a process that
determines whether a queued packet should be removed from a queue
and sent to an output interface. Note that output interfaces can
be physical network interfaces or interfaces to components
internal to systems, such as crossbars or backplanes. In either
case, if multiple queues are involved, schedulers are used to
provide access to the interface.
Each instance of a PacketSchedulingService describes a scheduler
from the perspective of the queue that it is servicing. One can
describe that different schedulers support different queues, or
that a scheduler supports several queues. Please see [DSMODEL]
for more information about a scheduler.
PacketSchedulingService is modeled as a sibling service to
ConditioningService. Both are derived from a common root,
ForwardingService.
The class definition is as follows:
NAME PacketSchedulingService
DESCRIPTION A concrete class used to determine if an
arriving packet should be stored in a
queue or not.
DERIVED FROM ForwardingService
TYPE Structural
Strassner, et al. Expires: Jul 2000 + 6 months [Page 38]
Internet Draft QoS Device Info Model July 2000
PROPERTIES SchedulerType, OtherSchedulerType
Note: The SchedulerType property and the SchedulerService
subclasses provide similar information. The SchedulerType
property is defined for query purposes and to not require a
subclass for all types of SchedulerServices (for example, to
describe a FIFO scheduler in today's model). Therefore,
SchedulerService can be instantiated directly and the Type
property is needed.
4.3.18.1. The Property SchedulerType
This attribute is an enumerated 16-bit unsigned integer, and
defines the type of scheduler. Values are:
1 - Other
2 - FIFO
3 - Priority
4 - Bandwidth
5 - Priority Bandwidth
6 - Round Robin Packet
7 - Weighted Round Robin Packet
4.3.18.2. The Property OtherSchedulerType
This attribute is used in conjunction with the SchedulerType
attribute. When the value of SchedulerType is 1 (e.g., Other),
then the type of scheduler is defined in this attribute.
4.3.19. The Class PrioritySchedulingService
This is a new concrete class, defined in this model. It
represents a simple priority scheduler, which is a process that
schedules taking packets from different priority queues. Please
see [DSMODEL] for more information about a scheduler.
The class definition is as follows:
NAME PrioritySchedulingService
DESCRIPTION A concrete class used to represent a
simple priority scheduling service.
DERIVED FROM PacketSchedulingService
TYPE Structural
PROPERTIES Priority
4.3.19.1. The Property Priority
This property is a 16-bit unsigned integer that defines the
priority level of the queue that is being scheduled.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 39]
Internet Draft QoS Device Info Model July 2000
4.3.20. The Class PriorityBandwidthSchedulingService
This is a new concrete class, defined in this model. It
represents a priority scheduler that is extended to specify an
upper limit on the bandwidth that can be sent on the priority
queue over some time interval. Please see [DSMODEL] for more
information about a scheduler.
The class definition is as follows:
NAME PriorityBandwidthSchedulingService
DESCRIPTION This class represents a priority
scheduler that is extended to specify
an upper limit on the bandwidth that
can be sent on the priority
queue over some time interval.
DERIVED FROM PrioritySchedulingService
TYPE Structural
PROPERTIES BandwidthAllocation, BurstsAllowed,
BurstAllocation
4.3.20.1. The Property BandwidthAllocation
This attribute is a 32-bit unsigned integer, and defines the
number of bytes that can be delivered from a queue each cycle.
4.3.20.2. The Property BurstsAllowed
This is a boolean attribute which, if TRUE, signifies that a
temporary or short-term allocation of additional bandwidth in
addition to the amount of bandwidth allocated through the
BandwidthAllocation property is allowed.
4.3.20.3. The Property BurstAllocation
This attribute is a 32-bit unsigned integer, and specifies the
amount of temporary or short-term bandwidth that can be allocated
beyond the amount of bandwidth allocated through the
BandwidthAllocation property. If the maximum actual bandwidth
allocation were to be measured, it would be the sum of the
BurstAllocation and the BandwidthAllocation properties.
4.3.21. The Class BandwidthSchedulingService
This is a new concrete class, defined in this model. It
represents a bandwidth scheduler, which is a process that
reserves a portion of the bandwidth of a link for each selected
traffic type.
The class definition is as follows:
NAME BandwidthSchedulingService
Strassner, et al. Expires: Jul 2000 + 6 months [Page 40]
Internet Draft QoS Device Info Model July 2000
DESCRIPTION A concrete class used to represent
a simple bandwidth scheduling service.
DERIVED FROM PacketSchedulingService
TYPE Structural
PROPERTIES BandwidthAllocation, BurstsAllowed,
BurstAllocation, CanShare,
WorkConserving
4.3.21.1. The Property BandwidthAllocation
This attribute is a 32-bit unsigned integer, and defines the
number of bytes that can be delivered from a queue each cycle.
4.3.21.2. The Property BurstsAllowed
This is a boolean attribute which, if TRUE, signifies that a
temporary or short-term allocation of additional bandwidth in
addition to the amount of bandwidth allocated through the
BandwidthAllocation property is allowed.
4.3.21.3. The Property BurstAllocation
This attribute is a 32-bit unsigned integer, and specifies the
amount of temporary or short-term bandwidth that can be allocated
beyond the amount of bandwidth allocated through the
BandwidthAllocation property. If the maximum actual bandwidth
allocation were to be measured, it would be the sum of the
BurstAllocation and the BandwidthAllocation properties.
4.3.21.4. The Property CanShare
This is a boolean attribute that, if TRUE, enables unused
bandwidth from the associated queue to be allocated to queues
that need additional resources.
4.3.21.5. The Property WorkConserving
This is a boolean attribute that, if TRUE, prevents the scheduler
from bursting traffic from the queue to which this instance of
the scheduler is associated (via SchedulerUsed). When TRUE, this
attribute also prevents bandwidth from other idle queues to be
consumed by the current queue, thereby preventing resource
allocations above the assigned bandwidth.
4.3.22. The Class RoundRobinPacketSchedulingService
This is a new concrete class, defined in this model. It
represents a round robin packet scheduler, which is a process
that guarantees that bandwidth will be allocated fairly at the
packet level. With this type of scheduler, each queue is entitled
to equal access to the output interface.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 41]
Internet Draft QoS Device Info Model July 2000
The class definition is as follows:
NAME RoundRobinPacketSchedulingService
DESCRIPTION A concrete class used to represent a
scheduler that fairly allocates packet
transmission among its traffic classes.
DERIVED FROM PacketSchedulingService
TYPE Structural
PROPERTIES None
4.3.23. The Class WeightedRoundRobinPacketSchedulingService
This is a new concrete class, defined in this model. It
represents a weighted packet scheduler, which is the same as a
fair packet scheduler except that a per-traffic stream multiplier
is applied to each stream.
The class definition is as follows:
NAME WeightedRoundRobinPacket
SchedulingService
DESCRIPTION A concrete class used to represent a
Weighted packet scheduling service.
DERIVED FROM RoundRobinPacketSchedulingService
TYPE Structural
PROPERTIES WeightingFactor, Priority
4.3.23.1. The Property WeightingFactor
This real 32-bit attribute is used to define the weighting factor
that will be used to offer some queues a higher probability of
being serviced than other queues. This attribute represents this
probability.
4.3.23.2. The Property Priority
This 16-bit unsigned integer specifies a tie breaker in the event
that two or more queues achieve an equal weighting. While this
condition may not occur in some implementations of a weighted
round robin scheduler, there are many implementations that
require a priority to resolve it. However, in instances where
this behavior is not necessary or undesirable, this attribute may
be left unspecified.
4.3.24. The Class QoSService
This is a new concrete class that is defined in this model. It
represents the ability to conceptualize a QoS service as a set of
coordinated sub-services. This enables the network administrator
to map business rules to the network, and the network designer to
engineer the network such that it can provide different functions
for different traffic streams.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 42]
Internet Draft QoS Device Info Model July 2000
This class has two main purposes. First, it serves as a common
base class for defining various sub-services that are needed to
build higher-level QoS services. Second, it serves as a way to
consolidate relationships between different types of QoS services
and different types of ConditioningServices.
For example, Gold Service may be defined as a set of sub-
services, where each of these sub-services perform one or more
different functions required by the higher-level service.
Continuing the example, Gold Service may be used to specify EF
for one traffic stream along with different AF services for other
different traffic streams. Each of these services are instances
of the class QoSService, and each require a set of sub-services
to be defined as part of their implementation. For example, one
would expect to see different marking, dropping, and queuing sub-
services to be defined for each of these services.
This is modeled as a type of NetworkService, which is used as the
anchor point for defining a set of sub-services that implement
the desired conditioning characteristics for different types of
flows. It will direct the specific type of ConditioningServices
to be used in order to implement this service.
The class definition is as follows:
NAME QoSService
DESCRIPTION A concrete class used to represent a QoS
service or set of services, as defined
by a network administrator.
DERIVED FROM NetworkService
TYPE Structural
PROPERTIES None
4.3.25. The Class DiffServService
This is a new concrete class, defined in this model. This class
represents using standard or custom DiffServ services to
implement a (higher-level) QoS service. Note that the
DiffServService may be just one of a set of coordinated
QoSSubServices that together implement a higher-level QoS
service.
DiffServService is modeled as a specialization of QoSService.
This enables it to be related to a higher-level QoS service (via
QoSSubService) as well as to specific ConditioningServices (e.g.,
classification, metering, dropping, queuing, and others).
The class definition is as follows:
NAME DiffServService
DESCRIPTION A concrete class used to represent a
DiffServ service, or a set of DiffServ
Strassner, et al. Expires: Jul 2000 + 6 months [Page 43]
Internet Draft QoS Device Info Model July 2000
services.
DERIVED FROM QoSService
TYPE Structural
PROPERTIES DSCP
4.3.25.1. The Property DSCP
This attribute is an unsigned 8-bit integer. It defines the
Differentiated Services Code Point used to represent various
types of differentiated services, through device-specific
configuration commands.
4.3.26. The Class AFService
This is a new concrete class that is defined in this model. It
represents a specialization of the general concept of forwarding
network traffic by adding specific semantics that characterize
the operation of the Assured Forwarding (AF) Service ([R2597]).
[R2597] defines four different AF classes to represent four
different treatments of traffic (e.g., a different amount of
forwarding resources, such as buffer space and bandwidth, are
allocated. Within each AF class, IP packets are marked with one
of three possible drop precedence values. The drop precedence of
a packet determines the relative importance of that packet
compared to other packets within the same AF class, if congestion
occurs. A congested interface will try to avoid dropping packets
with a lower drop precedence value by instead discarding packets
with a higher drop precedence value.
Note that [R2597] defines 12 DSCPs that together implement the AF
Per-Hop Behavior (PHB) group. Implementations are free to extend
this (e.g., add more classes and/or drop precedences).
The AFService class is modeled as a specialization of
DiffServService, which is in turn a specialization of QoSService.
This enables it to be related to a higher-level QoS services as
well as to lower-level sub-services (e.g., classification,
metering, dropping, queuing, and others).
The class definition is as follows:
NAME AFService
DESCRIPTION A concrete class for describing the
common characteristics of differentiated
services that are used to affect
traffic forwarding, using the AF
PHB Group.
DERIVED FROM DiffServService
TYPE Structural
PROPERTIES ClassNumber, DropperNumber
Strassner, et al. Expires: Jul 2000 + 6 months [Page 44]
Internet Draft QoS Device Info Model July 2000
4.3.26.1. The Property ClassNumber
This attribute is an 8-bit unsigned integer that defines the
number of classes that this AF implementation uses.
Implementations should define at least 4 classes.
4.3.26.2. The Property DropperNumber
This attribute is an 8-bit unsigned integer that defines the
number of drop precedences that this AF implementation uses. The
number of drop precedence values are PER AF CLASS.
Implementations should define at least three drop precedence
values per class.
4.3.27. The Class EFService
This is a new concrete class, defined in this model. It
represents a specialization of the general concept of forwarding
network traffic by adding specific semantics that characterize
the operation of the Expedited Forwarding (EF) Service ([R2598]).
The EFService class is modeled as a specialization of
DiffServService, which is in turn a specialization of QoSService.
This enables it to be related to a higher-level QoS service as
well as to lower-level sub-services (e.g., classification,
metering, dropping, queuing, and others).
The EF PHB can be used to build a low loss, low latency, low
jitter, assured bandwidth, end-to-end service through DiffServ
domains. Such a service appears to the endpoints like a point-
to-point connection or a virtual leased line. This service has
also been described as Premium service.
[R2598] defines one DSCP for the EF service. The inherited DSCP
property will contain this value for all instances.
The class definition is as follows:
NAME EFService
DESCRIPTION A concrete class for describing the
common characteristics of differentiated
services that are used to affect
traffic forwarding using the EF
PHB Group.
DERIVED FROM DiffServService
TYPE Structural
PROPERTIES None
4.3.28. The Class PrecedenceService
This is a new concrete class that is defined in this model. It
represents a specialization of the general concept of forwarding
Strassner, et al. Expires: Jul 2000 + 6 months [Page 45]
Internet Draft QoS Device Info Model July 2000
network traffic by adding specific semantics that define how
traffic is forwarded based on the value of the ToS byte of a
packet.
This class is used to enable DiffServ devices and non-DiffServ
devices to exchange traffic. This is done by defining a sibling
class, DiffServService, to represent devices that forward traffic
based on the DiffServ code point. This enables the administrator
to define mappings between devices that do not support DiffServ,
and instead use IP Precedence, to devices that do support
DiffServ, which use DSCPs.
Since the PrecedenceService class is a specialization of
QoSService, it can be related to higher-level QoS services using
the QoSSubService association. Also, it can be related to lower-
level sub-services (e.g., classification, metering, dropping,
queuing, and others), using the QoSConditioingSubService
association.
The class definition is as follows:
NAME PrecedenceService
DESCRIPTION A concrete class for describing the
common characteristics of forwarding
traffic based on the value of the
ToS byte.
DERIVED FROM DiffServService
TYPE Structural
PROPERTIES PrecedenceValue
4.3.28.1. The Property PrecedenceValue
This attribute is an 8-bit unsigned integer that defines the
notion of precedence for different types of traffic. See [R2474]
for more information on the definition, backward compatibility
with the ToS byte of IPv4 traffic, and use of this attribute.
4.3.29. The Class 8021PService
This is a new concrete class that is defined in this model. It
represents a specialization of the general concept of forwarding
network traffic by adding specific semantics that define how
traffic is forwarded based on the value of the Priority field in
the 802.1P header.
This class is used to enable DiffServ devices and domains that
support 802.1P, to exchange traffic. It allows implementations
that only support 802.1P priority marking to be mapped to
implementations that support DiffServ, which uses DSCPs.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 46]
Internet Draft QoS Device Info Model July 2000
Since the 8021PService class is a specialization of QoSService,
it can be related to higher-level QoS services using the
QoSSubService association. Also, it can be related to lower-level
sub-services (e.g., classification, metering, dropping, queuing,
and others), using the QoSConditioingSubService association.
The class definition is as follows:
NAME 8021PService
DESCRIPTION A concrete class for describing the
common characteristics of forwarding
traffic based on the value of the
Priority field in the 802.1P header.
DERIVED FROM QoSService
TYPE Structural
PROPERTIES PriorityValue
4.3.29.1. The Property PriorityValue
This attribute is an 8-bit unsigned integer that defines the
notion of priority as specified in 802.1P implementations.
4.3.30. The Class FilterEntryBase
A simplistic but accurate view of the CIM filter classes is of:
- FilterEntries aggregated into FilterLists,
- Which are then used by the ClassifierService
- To separate incoming traffic into different traffic classes
(and service levels).
FilterEntryBase is an abstract class that is defined in the
Network Model of CIM. It is a base class for all filter entries,
and is the endpoint of the association aggregating filter entries
into filter lists. Its properties include CIM naming attributes
and an IsNegated Boolean property (to easily "NOT" the match
information specified in FilterEntryBase's subclasses). Please
refer to [CIM] for the full definition of this class.
4.3.31. The Class FilterEntry
FilterEntry is a concrete class defined in the Network Model of
CIM. It is specific to packet filtering, identifying traffic for
forwarding/further processing or for dropping. Please refer to
[CIM] for the full definition of this class.
FilterEntry's properties include:
Strassner, et al. Expires: Jul 2000 + 6 months [Page 47]
Internet Draft QoS Device Info Model July 2000
- TrafficType (an enumeration) - Indicates the type of traffic
that is filtered. This property affects what can be
specified in MatchCondition. Currently, only IP-related
values are defined ("IPv4", "IPX" and "IPv6").
- MatchConditionType (an enumeration) - Specifies the type of
condition that will be matched - source/destination address
and mask, port or port range, protocol type, DiffServ
codepoint, ToS Value, 802.1 Priority, etc.
- OtherMatchConditionType (a string) - When the
MatchConditionType is "Other" (value = 1), this string
explicitly describes the type of MatchCondition.
- MatchConditionValue (a string) - Indicates the specific
value(s) to match (or NOT match if the inherited IsNegated
property is TRUE).
- ActionType (an enumeration) - Specifies "Permit" or
"Deny" actions for the traffic class.
- DefaultFilter (a Boolean) - Defines this FilterEntry as the
"default" one when aggregated in a FilterList.
- TrafficClass (a string) - Specifies the label for the
traffic class of a packet, when that packet is matched by
the FilterEntry. Traffic class information is carried
through the sequence of ConditioningServices via the
NextService.TrafficClass property.
4.3.32. The Class FilterList
A concrete class defined in the Network Model of CIM. It
aggregates instances (of subclasses) of FilterEntryBase via the
association, EntriesInFilterList. It is possible to aggregate
different types of Filters into a single List - for example,
aggregating packet filters (which are instances of FilterEntry)
and security filters (which are being defined for the next
release of the CIM Network Model).
The association property, EntriesInFilterList.EntrySequence,
serves to order the filter entries in the FilterList. This is
very useful when algorithms such as "Match First" are used to
identify traffic based on the aggregated Filters. If
EntrySequence is set to 0, then all aggregated Filters should be
ANDed together to define a class of traffic.
Please refer to [CIM] for the full definition of the FilterList
and EntriesInFilterList classes.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 48]
Internet Draft QoS Device Info Model July 2000
4.3.33. The Class ServiceAccessPoint
This is an abstract class that is defined in the Core Model of
CIM. It is a subclass of the LogicalElement class, and is the
base class for all objects which manage access to CIM_Services.
It represents the management of utilizing or invoking a Service.
Please refer to [CIM] for the full definition of this class.
4.3.34. The Class ProtocolEndpoint
This is a concrete class that is defined in the Network Common
Model of CIM. It subclasses from ServiceAccessPoint and
describes a communication point from which the Services of the
network, or the System's protocol stack may be accessed. Please
refer to [CIM] for the full definition of this class.
4.3.35. The Class Collection
This is an abstract class that is defined in the Core Model of
CIM. It is a superclass for all objects that are groupings or
bags, and carry no status or "state" (the latter would be more
correctly modeled as ManagedSystemElements). Please refer to
[CIM] for the full definition of this class.
4.3.36. The Class CollectionOfMSEs
This is an abstract class that is defined in the Core Model of
CIM. It is a specialization of the Collection superclass,
restricting the contents of the Collection to
ManagedSystemElements. Please refer to [CIM] for the full
definition of this class.
4.3.37. The Class BufferPool
This is a new concrete class, defined in this model. It
represents the collection of buffers used by a QueuingService.
(The association QueueAllocation describes this usage semantic.)
The existence and management of individual buffers will be
modeled in a future release. At the current level of abstraction,
modeling the existence of the BufferPool is necessary. Long
term, it is not sufficient.
In implementations where there are multiple buffer sizes, an
instance of BufferPool should be defined for each set of buffers
with identical or similar sizes. These instances of buffer pools
can then be grouped together using the CollectedBuffersPool
association.
Note that this class is derived from CollectionOfMSEs, and not
from Forwarding or ConditioningService. BufferPool is only a
collection of storage, and is NOT a Service.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 49]
Internet Draft QoS Device Info Model July 2000
The class definition is as follows:
NAME BufferPool
DESCRIPTION A concrete class describing the
a collection of buffers.
DERIVED FROM CollectionOfMSEs
TYPE Structural
PROPERTIES CollectionID, CreationClassName,
Name, BufferSize, TotalBuffers,
AvailableBuffers, SharedBuffers
4.3.37.1. The Property CollectionID
CollectionID is a string property of maximum length 256
characters. It identifies the buffer pool.
4.3.37.2. The Property CreationClassName
This attribute is a string property of maximum length 256
characters. It is set to "CIM_BufferPool" if this class is
directly instantiated, or to the class name of the BufferPool
subclass that is created.
4.3.37.3. The Property Name
This attribute is a string of maximum length 256 characters. It
is the common name or label by which the object is known.
4.3.37.4. The Property BufferSize
This attribute is a 16-bit unsigned integer, defining the number
of bytes in each buffer in the buffer pool.
4.3.37.5. The Property TotalBuffers
This attribute is a 32-bit unsigned integer, defining the total
number of individual buffers in the pool.
4.3.37.6. The Property AvailableBuffers
This attribute is a 32-bit unsigned integer, defining the number
of buffers in the Pool that are currently not allocated to any
instance of a QueuingService. Buffers allocated to a
QueuingService could either be in use (containing packet data),
or allocated to a Queue pending the arrival of new packet data.
4.3.37.7. The Property SharedBuffers
This attribute is a 32-bit unsigned integer, and defines the
number of buffers in the Pool that have been simultaneously
allocated to multiple instances of QueuingService.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 50]
Internet Draft QoS Device Info Model July 2000
4.4. Relationships Defined in the State Portion of the Model
This section details the QoS device class associations, that were
presented earlier and drawn in Figure 5. These relationships are
defined as classes (that can have properties) in the Information
Model.
4.4.1. The Association Dependency
This abstract association defines two object references (named
Antecedent and Dependent) that are used to establish general
dependency relationships between different managed objects in the
information model. The Antecedent reference identifies the
independent object in the association, while the Dependent
reference identifies the entity that IS dependent.
The association's cardinality is many to many.
The association is defined in the CIM Core Model. Please refer
to [CIM] for the full definition of this class.
4.4.2. The Association ServiceSAPDependency
This association defines two object references that establish a
general dependency relationship between a Service object and a
ServiceAccessPoint object. This relationship indicates that the
referenced Service uses the ServiceAccessPoint of ANOTHER
Service. The Service is the Dependent reference, relying on the
ServiceAccessPoint to gain access to another Service.
The association's cardinality is many to many.
The association is defined in the CIM Core Model. Please refer
to [CIM] for the full definition of this class.
4.4.3. The Association ConditioningServiceOnEndpoint
This association is new, defined in this model. It establishes a
dependency relationship between a ProtocolEndpoint object and a
ConditioningService object. This relationship indicates that the
referenced ProtocolEndpoint is used by the ConditioningService
for traffic to enter or leave the device. The latter is
distinguished by the property ServiceType, which indicates
whether the ConditioningService object handles incoming or out-
going traffic. The ProtocolEndpoint represents whether the
traffic arrives at or leave from a network device, and the
ConditioningService which begins or ends the traffic conditioning
process within a network device.
This class is subclassed from the ServiceSapDependency
association. It restricts the Antecedent to instances of the
ProtocolEndpoint class (instead of the more generic
Strassner, et al. Expires: Jul 2000 + 6 months [Page 51]
Internet Draft QoS Device Info Model July 2000
ServiceAccessPoint class) and further restricts the cardinality
of this end of the relationship to be 0-or-1 (instead of the more
generic 0-or-more). It restricts the Dependent to instances of
the ConditioningService class (instead of the more generic
Service class) and further restricts the cardinality of this end
of the relationship to be 0-or-1 (instead of the more generic 0-
or-more).
The class definition for this association is as follows:
NAME ConditioningServiceOnEndpoint
DESCRIPTION A generic association used to establish
dependency relationships between a
ConditioningService object and a
ProtocolEndpoint object.
DERIVED FROM ServiceSAPDependency
ABSTRACT False
PROPERTIES Antecedent[ref ProtocolEndpoint[0..1]],
Dependent[ref ConditioningService[0..1]],
ServiceType
4.4.3.1. The Reference Antecedent
This property is inherited from the ServiceSAPDependency
association, and overridden for two reasons - To serve as an
object reference to a ProtocolEndpoint object (instead of the
more general ServiceAccessPoint object), and To update
cardinality. This reference defines the ProtocolEndpoint through
which traffic arrives at or leaves from a network device.
4.4.3.2. The Reference Dependent
This property is inherited from the ServiceSAPDependency
association, and overridden to serve as an object reference to a
ConditioningService object (instead of the more general Service
object) and to update cardinality. This reference indicates the
ConditioningService that begins or ends the traffic conditioning
processing within a network device.
4.4.3.3. The Property ServiceType
This property is a 16-bit unsigned integer that indicates whether
a packet is incoming (value = 1, "Ingress") or out-going (value =
2, "Egress") at the ProtocolEndpoint, relative to the
ConditioningService.
4.4.4. The Association ServiceServiceDependency
This association defines two object references that establish a
dependency relationship between two Service objects. The
particular type of dependency is described by the
TypeOfDependency property; typical examples include that one
Strassner, et al. Expires: Jul 2000 + 6 months [Page 52]
Internet Draft QoS Device Info Model July 2000
Service is required to be present or required to have completed
for the other Service to operate.
This association is very similar to the ServiceSAPDependency
relationship. For the latter, the Service is dependent on an
AccessPoint to get at another Service. In this relationship, it
directly identifies its Service dependency. Both relationships
should not be instantiated - since their information is
repetitive.
The association's cardinality is many to many.
The association is defined in the CIM Core Model. Please refer
to [CIM] for the full definition of this class.
4.4.5. The Association QueueHierarchy
This association is new, defined in this model. It is a subclass
of ServiceServiceDependency, and defines two object references
that are used to establish a dependency relationship between two
QueuingService objects.
The class definition is as follows:
NAME QueueHierarchy
DESCRIPTION A generic association used to establish
dependency relationships between two
QueuingService objects.
DERIVED FROM ServiceServiceDependency
ABSTRACT False
PROPERTIES Antecedent[ref QueuingService[0..1]],
Dependent[ref QueuingService[0..n]]
4.4.5.1. The Reference Antecedent
This property is inherited from the ServiceServiceDependency
association, and overridden to serve as an object reference to a
QueuingService object (instead of the more general Service
object). It also restricts the cardinality of this end of the
relationship to 0-or-1 (instead of the more generic 0-or-more).
This reference defines the supporting queue through its
QueuingService. This QueuingService can only support at most one
higher-level QueuingService.
4.4.5.2. The Reference Dependent
This property is inherited from the ServiceServiceDependency
association, and overridden to serve as an object reference to a
QueuingService object (instead of the more general Service
object). This reference indicates the QueuingService that depends
on another QueuingService.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 53]
Internet Draft QoS Device Info Model July 2000
4.4.6. The Association SchedulerUsed
This association is new, defined in this model. It is a subclass
of ServiceServiceDependency, and defines two object references
that establish a dependency relationship between a
PacketSchedulingService and one or more QueuingService objects.
The class definition is as follows:
NAME SchedulerUsed
DESCRIPTION A generic association used to establish
dependency relationships between a
specific PacketSchedulingService and one
or more QueuingService objects.
DERIVED FROM ServiceServiceDependency
ABSTRACT False
PROPERTIES Antecedent[ref
PacketSchedulingServiceService[0..1]],
Dependent[ref QueuingService[0..n]]
4.4.6.1. The Reference Antecedent
This property is inherited from the ServiceServiceDependency
association, and overridden to serve as an object reference to a
PacketSchedulingService object (instead of the more general
Service object). It also restricts the cardinality of this
relationship to exactly 1 instance (instead of the more generic
0-or-more instances). This reference defines the
PacketSchedulingService, which is used to empty the queue(s)
controlled by the QueuingService.
4.4.6.2. The Reference Dependent
This property is inherited from the ServiceServiceDependency
association, and overridden to serve as an object reference to a
QueuingService object (instead of the more general Service
object). This reference indicates the queue(s) and the associated
QueuingService that depends on the PacketSchedulingService.
4.4.7. The Association AFRelatedServices
This association is new, defined in this model. It defines two
object references that establish a dependency relationship
between two AFService objects. This dependency is the precedence
of the individual AF drop-related Services within an AF IP
packet-forwarding class.
The class definition is as follows:
NAME AFRelatedServices
DESCRIPTION An association used to establish
a dependency relationship between two
Strassner, et al. Expires: Jul 2000 + 6 months [Page 54]
Internet Draft QoS Device Info Model July 2000
AFService objects.
DERIVED FROM Nothing
ABSTRACT False
PROPERTIES AFLowerDropPrecedence[ref
AFService[0..1]],
AFHigherDropPrecedence[ref
AFService[0..n]]
4.4.7.1. The Reference AFLowerDropPrecedence
This property serves as an object reference to an AFService
object that has the lower probability of dropping packets.
4.4.7.2. The Reference AFHigherDropPrecedence
This property serves as an object reference to an AFService
object that has the higher probability of dropping packets.
4.4.8. The Association NextService
This association is new, defined in this model. It defines two
object references that establish a dependency relationship
between two ConditioningService objects. This association is used
to indicate the sequence of ConditioningServices required to
process a particular type of traffic.
Instances of this dependency describe the various relationships
between different ConditioningServices (such as Classifiers,
Meters, Droppers, etc.) that are used collectively to condition
traffic. Both one-to-one and more complicated fan-in and/or fan-
out relationships can be described. The ConditioningServices may
feed one another directly, or be mapped to multiple "next"
Services based on the characteristics of the packet.
The class definition is as follows:
NAME NextService
DESCRIPTION An association used to establish
a dependency relationship between two
ConditioningService objects.
DERIVED FROM Nothing
ABSTRACT False
PROPERTIES PrecedingService[ref
ConditioningService[0..n]],
FollowingService[ref
ConditioningService[0..n]],
TrafficClass
Strassner, et al. Expires: Jul 2000 + 6 months [Page 55]
Internet Draft QoS Device Info Model July 2000
4.4.8.1. The Reference PrecedingService
This property serves as an object reference to a
ConditioningService object that occurs earlier in the processing
sequence for a given type of traffic.
4.4.8.2. The Reference FollowingService
This property serves as an object reference to a
ConditioningService object that occurs later in the processing
sequence for a given type of traffic.
4.4.8.3. The Property TrafficClass
This property is a string that is used to identify different
traffic flows that have been separated by the Classifier
ConditioningService.
This property enables a ConditioningService to forward multiple
traffic flows to (for example) the same "next"
ConditioningService while maintaining their traffic identity.
4.4.9. The Association NextServiceAfterMeter
This association is new, defined in this model. It defines two
object references that establish a dependency relationship
between a MeterService and one or more ConditioningService
objects that process traffic from the MeterService. It subclasses
the NextService association to restrict the independent (or
PrecedingService) to be a MeterService.
Meters are 1:n fan-out elements, which means that we need a way
to distinguish between the different outputs of the meter.
Therefore, this association also defines a new property,
MeterResult, which can be used to identify which output of the
meter this traffic originated from.
The class definition is as follows:
NAME NextServiceAfterMeter
DESCRIPTION An association used to establish
a dependency relationship between a
particular output of a MeterService
and the next ConditioningService
object that is responsible for further
processing of the traffic.
DERIVED FROM NextService
ABSTRACT False
PROPERTIES PrecedingService[ref MeterService[0..n]],
MeterResult
Strassner, et al. Expires: Jul 2000 + 6 months [Page 56]
Internet Draft QoS Device Info Model July 2000
4.4.9.1. The Reference PrecedingService
This property is inherited from the NextService association. It
is overridden in this subclass to restrict the object reference
to a MeterService, as opposed to the more general
ConditioningService defined in the NextService superclass.
This property serves as an object reference to a MeterService
object that occurs earlier in the processing sequence for a given
type of traffic. Since Meters are 1:n fan-out devices, this
relationship associates a particular output of a MeterService
(identified by the MeterResult property) to the next
ConditioningService that is used to further process the traffic.
4.4.9.2. The Property MeterResult
This property is an enumerated 16-bit unsigned integer, and
represents information describing the result of the metering.
Traffic is distinguished as being in- or out-of-profile, or
partially conforming. More complicated metering can be built by
either extending the enumeration or by cascading meters.
The enumerated values are: "Unknown" (0), "In-profile" (1),
"Partially Conforming" (2), "Out-of-profile" (3).
4.4.10. The Aggregation Component
This abstract aggregation is a generic relationship used to
establish "part-of" relationships between managed objects (named
GroupComponent and PartComponent). The association's cardinality
is many to many.
The association is defined in the CIM Core Model. Please refer
to [CIM] for the full definition of this class.
4.4.11. The Aggregation ServiceComponent
This aggregation is used to model a set of subordinate Services
that are aggregated together to form a higher-level Service. This
aggregation is subclassed from the more generic Component
superclass to restrict the types of objects that can participate
in this relationship.
The association is defined in the CIM Core Model. Please refer
to [CIM] for the full definition of this class.
4.4.12. The Aggregation QoSSubService
This association is new, defined in this model. It is used to
model a set of subordinate QoSServices that are aggregated
together to form a higher-level QoSService. A QoSService is a
Strassner, et al. Expires: Jul 2000 + 6 months [Page 57]
Internet Draft QoS Device Info Model July 2000
specific type of Service that conceptualizes QoS functionality as
a set of coordinated sub-services.
This aggregation is subclassed from the more generic
ServiceComponent superclass to restrict the types of objects that
can participate in this relationship to QoSService objects,
instead of a more generic Service object. It also restricts the
cardinality of the aggregate to 0-or-1 (instead of the more
generic 0-or-more).
The class definition for the aggregation is as follows:
NAME QoSSubService
DESCRIPTION A generic association used to establish
"part-of" relationships between a
higher-level QoSService object and the
set of lower-level QoSServices that
are aggregated to create/form it.
DERIVED FROM ServiceComponent
ABSTRACT False
PROPERTIES GroupComponent[ref QoSService[0..1]],
PartComponent[ref QoSService[0..n]]
4.4.12.1. The Reference GroupComponent
This property is overridden in this relationship to represent an
object reference to a QoSService object (instead of the more
generic Service object defined in its superclass). This object
represents the parent, or aggregate, object in the relationship.
4.4.12.2. The Reference PartComponent
This property is overridden in this relationship to represent an
object reference to a QoSService object (instead of the more
generic Service object defined in its superclass). This object
represents the child, or "component", object in the relationship.
4.4.13. The Aggregation QoSConditioningSubService
This association is new, defined in this model. It is used to
define the set of ConditioningServices that together condition
traffic for a particular QoSService.
This aggregation is subclassed from the more generic
ServiceComponent superclass to restrict the types of objects that
can participate in this relationship to ConditioningService and
QoSService objects, instead of a more generic Service object.
The class definition for the aggregation is as follows:
Strassner, et al. Expires: Jul 2000 + 6 months [Page 58]
Internet Draft QoS Device Info Model July 2000
NAME QoSConditioningSubService
DESCRIPTION A generic association used to establish
"part-of" relationships between a set
of ConditioningService objects and the
particular QoSService object that they
provide traffic conditioning for.
DERIVED FROM ServiceComponent
ABSTRACT False
PROPERTIES GroupComponent[ref QoSService[0..1]],
PartComponent[ref
ConditioningService[0..n]]
4.4.13.1. The Reference GroupComponent
This property is overridden in this relationship to represent an
object reference to a QoSService object (instead of the more
generic Service object defined in its superclass). It also
restricts the cardinality of the aggregate to 0-or-1 (instead of
the more generic 0-or-more).
This object represents the parent, or aggregate, object in the
relationship. In this case, this object represents the QoSService
that aggregates one or more ConditioningService objects to
implement the appropriate traffic conditioning for its traffic.
4.4.13.2. The Reference PartComponent
This property is overridden in this relationship to represent an
object reference to a ConditioningService object (instead of the
more generic Service object defined in its superclass). This
object represents the child, or "component", object in the
relationship. In this case, this object represents one or more
ConditioningService objects that together define how traffic for
a specific QoSService will be conditioned.
4.4.14. The Aggregation MemberOfCollection
This aggregation is a generic relationship used to model the
aggregation of a set of ManagedElements in a generalized
Collection object. The association's cardinality is many to many.
The association is defined in the CIM Core Model. Please refer
to [CIM] for the full definition of this class.
4.4.15. The Aggregation CollectedBufferPool
This relationship is used to model the ability to treat a set of
buffers as a pool, or collection, that can in turn be contained
in a "higher-level" buffer pool. This class overrides the more
generic MemberOfCollection aggregation to restrict both the
aggregate and the part component objects to be instances only of
the BufferPool class.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 59]
Internet Draft QoS Device Info Model July 2000
The class definition for the aggregation is as follows:
NAME CollectedBufferPool
DESCRIPTION A generic association used to aggregate
a set of related buffers into a
higher-level buffer pool.
DERIVED FROM MemberOfCollection
ABSTRACT False
PROPERTIES Collection[ref BufferPool[0..n]],
Member[ref BufferPool[0..n]]
4.4.15.1. The Reference Collection
This property represents the parent, or aggregate, object in the
relationship. It is a BufferPool object.
4.4.15.2. The Reference Member
This property represents the child, or lower level pool, in the
relationship. It is one of the set of BufferPools that together
make up the higher-level pool.
4.4.16. The Aggregation EntriesInFilterList
This aggregation is a specialization of the Component association
and is used to define a set of filter entries (subclasses of
FilterEntryBase) that are aggregated by a FilterList. Cardinality
is many to many.
The association is defined in the Network Model of CIM. Please
refer to [CIM] for the full class definition.
5. Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described
in this document or the extent to which any license under such
rights might or might not be available; neither does it represent
that it has made any effort to identify any such rights.
Information on the IETF's procedures with respect to rights in
standards-track and standards-related documentation can be found
in BCP-11.
Copies of claims of rights made available for publication and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the
use of such proprietary rights by implementers or users of this
specification can be obtained from the IETF Secretariat.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 60]
Internet Draft QoS Device Info Model July 2000
The IETF invites any interested party to bring to its attention
any copyrights, patents or patent applications, or other
proprietary rights which may cover technology that may be
required to practice this standard. Please address the
information to the IETF Executive Director.
6. Acknowledgements
The authors wish to thank the participants of the Policy
Framework working group for their many helpful comments and
suggestions.
7. Security Considerations
Security and denial of service considerations are not explicitly
considered in this memo, as they are appropriate for the
underlying policy architecture implementing the distribution and
communication of the information described in this draft.
Specifically, any mechanisms used to distribute and communicate
the information described in this draft must minimize theft and
denial of service threats. Second, it must be ensured that the
entities involved in policy control can verify each other's
identity and establish necessary trust before communicating.
The communication tunnel between policy clients and policy
servers SHOULD be secured by the use of an IPSEC [R1825] channel.
It is advisable that this tunnel makes use of both the AH
(Authentication Header) and ESP (Encapsulating Security Payload)
protocols, in order to provide confidentiality, data origin
authentication, integrity and replay prevention.
8. References
[CIM] Common Information Model (CIM) Schema, version 2.x.
Distributed Management Task Force, Inc. The
components of the CIM schema are available via links on
the following DMTF web page:
http://www.dmtf.org/spec/cims.html.
[DSMIB] Management Information Base for the Differentiated
Services Architecture. Internet Draft, draft-ietf-diffserv-
mib-03.txt, F. Baker, K. Chan, and A. Smith. May 2000.
[DSMODEL] A Conceptual Model for DiffServ Routers. Internet
Draft, draft-ietf-diffserv-model-03.txt, Y. Bernet, A. Smith,
S. Blake, and D. Grossman. May 2000.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 61]
Internet Draft QoS Device Info Model July 2000
[PCIM] Policy Core Information Model - Version 1 Specification.
Internet Draft, draft-ietf-policy-core-info-model-07.txt, B.
Moore, E. Ellison, J. Strassner, and A. Westerinen. July
2000.
[PIB] Quality of Service Policy Information Base. Internet
Draft, draft-mfine-cops-pib-02.txt, M. Fine, K. McCloughrie,
J. Seligson, K. Chan, S. Hahn, and A. Smith. October 1999.
[POLTERM] Policy Terminology. Internet Draft, draft-ietf-policy-
terminology-00.txt, A. Westerinen, J. Schnizlein, J.
Strassner, M. Scherling, B. Quinn, J. Perry, S. Herzog, A.
Huynh, and M. Carlson. July 2000.
[QOSPIM] Policy Framework QoS Information Model. Internet Draft,
draft-ietf-policy-qos-info-model-01.txt, Y. Snir, Y. Ramberg,
J. Strassner, and R. Cohen. April 2000.
[QOSSCH] QoS Policy Schema. Internet Draft, draft-itef-policy-
qos-schema-01.txt, Y. Snir, Y. Ramberg, J. Strassner, and R.
Cohen. February 2000.
[R1633] Integrated Services in the Internet Architecture: An
Overview. R. Braden, D. Clark, and S. Shenker. June 1994.
[R1825] Security Architecture for the Internet Protocol. R.
Atkinson. August 1995.
[R2119] Key words for use in RFCs to Indicate Requirement Levels.
S. Bradner. March 1997.
[R2474] Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers. K. Nichols, S. Blake, F.
Baker, and D. Black. December 1998.
[R2475] An Architecture for Differentiated Service. S. Blake, D.
Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss. December
1998.
[R2597] Assured Forwarding PHB Group. J. Heinanen, F. Baker, W.
Weiss, and J. Wroclawski. June 1999.
[R2598] An Expedited Forwarding PHB. V. Jacobson, K. Nichols,
and K. Poduri. June 1999.
[RED] See http://www-nrg.ee.lbl.gov/floyd/red.html.
[UMLUG] The Unified Modeling Language User Guide. G. Booch, J.
Rumbaugh, and I. Jacobson. Addison-Wesley, 1999.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 62]
Internet Draft QoS Device Info Model July 2000
9. Authors' Addresses
John Strassner
Cisco Systems, Bldg 15
170 West Tasman Drive
San Jose, CA 95134
E-mail: johns@cisco.com
Andrea Westerinen
Cisco Systems, Bldg 15
170 West Tasman Drive
San Jose, CA 95134
E-mail: andreaw@cisco.com
Bob Moore
IBM Corporation, BRQA/502
4205 S. Miami Blvd.
Research Triangle Park, NC 27709
E-mail: remoore@us.ibm.com
10. Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished
to others, and derivative works that comment on or otherwise
explain it or assist in its implementation may be prepared,
copied, published and distributed, in whole or in part, without
restriction of any kind, provided that the above copyright notice
and this paragraph are included on all such copies and derivative
works. However, this document itself may not be modified in any
way, such as by removing the copyright notice or references to
the Internet Society or other Internet organizations, except as
needed for the purpose of developing Internet standards in which
case the procedures for copyrights defined in the Internet
Standards process must be followed, or as required to translate
it into languages other than English.
The limited permissions granted above are perpetual and will not
be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE
OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.
Strassner, et al. Expires: Jul 2000 + 6 months [Page 63] | PAFTECH AB 2003-2026 | 2026-04-24 00:45:45 |