Network Working Group Sandeep Adwankar
Internet-Draft Motorola, Inc.
Expires: January 19, 2005 July 19 2004
NetConf Data Model
draft-adwankar-netconf-datamodel-01.txt
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
"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 a "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html"
Abstract
The NetConf protocol needs a way to represent the managed data
on a device. This document provides a data model representation
that addresses managed object definition, ACL, naming and compliance
mechanism. It provides concrete realizations of system and
interfaces managed objects.
Adwankar Expires January 19, 2005 [Page 1]
Internet Draft NetConf Data Model July 19, 2004
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
2. The NetConf Managed Object Representation . . . . . . . . 3
3. The NetConf Data Model Features. . . . . . . . . . . . . . 6
4. Protocol Examples . . . . . . . . . . . . . . . . . . . 11
5. References . . . . . . . . . . . . . . . . . . . . . . . 12
Appendix A. Data Model Survey . . . . . . . . . . . . . . . . . . 14
Appendix B. NetConf Data Model Schema . . . . . . . . . . . . . . 24
Appendix C. System Schema . . . . . . . . . . . . . . . . . . . . 30
Appendix D. Interfaces Schema . . . . . . . . . . . . . . . . . . 38
Adwankar Expires January 19, 2005 [Page 2]
Internet Draft NetConf Data Model July 19, 2004
1. Introduction
The NetConf protocol [1] provides RPC-based mechanism for management
operations using XML encoding. This document defines NetConf data
model schema that is common across all NetConf implementations and
provide constructs to represent managed objects. Each managed
object definition must extend and use the NetConf data model schema.
The NetConf data model schema is based on the XML Schema
specification.
Appendix A provides a brief survey of data models of few management
protocols. Based on the survey, it can be concluded that
the NetConf Data Model should provide a representation standard for
defining XML documents that describe managed data on a device. Such
a representation mechanism should support strong type as well as
constraints checking. It should allow use of regular expressions to
set constraints. It should support reusable types and should
allow one to create new types using inheritance. It should allow
grouping elements to control the recurrence of managed data
elements. The data model should allow support for partitioning
managed data into multiple spaces, and should able to reference
those. It should able to specify content as being unique within a
region. It should define types that can represent complex managed
objects and its hierarchies. It should define constructs for
describing access control associated with each managed object.
It should allow referencing of complex managed objects. It should
allow easy translation from NetConf representation of managed
objects to any other standard or proprietary XML form. It should
specify naming mechanism so that a managed object or collection of
managed objects can be addressed. NetConf Data Model should allow
easy migration from exising management system.
The XML Schema [9] [10] [11] provides sufficient set of constructs
that satisfies the requirements stated above.
2 The NetConf Managed Object Representation
The managed object tree provides a hierarchical tree structure to
organize all available management objects in the device. Each
managed object is represented by a node or collection of nodes.
The NetConf Data Model Schema is provided in Appendix B.
The managed object tree is represented as XML schema element as
given below.
Adwankar Expires January 19, 2005 [Page 3]
Internet Draft NetConf Data Model July 19, 2004
The model Identity provides identity information such as last
update, version number, organization, contact, description and
revision history. The contact and revision information can occur
multiple times in a model identity. A model identity element must
appear only once in a managed object tree and must provide name and
path of the root. All the nodes in the managed object tree must be
addressed from the name or the path specified in the model identity.
The MOTree is composed of one to unbounded number of node elements.
Each node is represented by a recursive Node type that allows zero
to unbounded number of nodes as its children. Each node specifies
name, path, access control list, title, last update information,
version number, parent, maxAccess, status and description as shown
below.
A managed object must extend a NodeType to define a node. The
non-container managed objects must contain an attribute "value".
The managed object definition must define exact type of this
attribute. This allows type and constraints checking of the
managed object value. The extension of NodeType also allows
specifying parent name, maximum access allowed on the managed
object, status of the object and its description.
Appendix C provides XML Schema representation of "Systems" managed
objects [12] and appendix D provides XML Schema representation of
"Interfaces" managed objects [13].
The managed object element "sysDescr" representation is reproduced
below from Appendix C.
The "sysDescr" managed object element extends NodeType defined in
the "nc" namespace. This managed object must contain a value of type
"DisplayString" defined in the "nc" namespace and is shown below.
The managed object value cannot exceed 255 characters in length.
The managed object's parent is fixed as "system". The ParentName
type as shown below does not allow empty or whitespace-only parent
name.
The "sysDescr" maximum access is limited to ReadAccess, which is
defined as set of five netconf protocol commands as shown below.
The status of the "sysDescr" definition is current where status is
defined as simple type with enumerated values of "current",
"deprecated" or "obsolete" as shown below.
Adwankar Expires January 19, 2005 [Page 5]
Internet Draft NetConf Data Model July 19, 2004
The description of the "sysDescr" managed object is of type
Description defined as below.
3. The NetConf Data Model Features
Addressing
The NetConf agent must support relative URI [14] based addressing.
e.g.
./system/sysName
./ifTable
The NetConf agent should support XPath [15] to locate managed
objects, select a set of managed objects based on a set of
criteria's, select content that is combination of different managed
object values and to create simple expressions of managed objects.
XPath expression given below provides value of the administratively
assigned name for the managed node.
//sys:sysName/@sys:value
XPath expression given below provides value of managed object
ifInOctets that gives the total number of octets received on the
first interface of the device
/if:ifTable/if:ifEntry[if:ifIndex/@if:value='1']/if:ifInOctets
/@if:value
XPath expression given below selects all interface entries having
MTU greater than 500.
//if:ifEntry[if:ifMtu/@if:value>'500']
XPath expresssion given below selects all interface entries that
have either "Ethernet" in their description or IANA assigned type
as ethernetCsmacd(6).
//if:ifEntry[contains(if:ifDescr/@if:value,'Ethernet')] |
//if:ifEntry[if:ifType/@if:value>='6']
XPath expression given below lists descriptions of all interfaces
whose both admin and operational status is up and more than 1000
errors packets (or transmission units).
//if:ifEntry[(if:ifAdminStatus/@if:value='1') and
Adwankar Expires January 19, 2005 [Page 6]
Internet Draft NetConf Data Model July 19, 2004
(if:ifOperStatus/@if:value='1') and
(if:ifInErrors/@if:value>'1000')]/if:ifDescr/@if:value
XPath expression given below provides number of interfaces where
error packet count is more than 1000.
count(//if:ifTable/if:ifEntry[if:ifInErrors/@if:value>='1000'])
Utilization expression such as
(ifInOctets + ifOutOctets) * 800 / ifSpeed can be expressed in XPath
as
(//if:ifEntry/if:ifInOctets/@if:value +
//if:ifEntry/if:ifOutOctets/@if:value)*800 div
(//if:ifEntry/if:ifSpeed/@if:value )
ACL
ACL is defined as a unbounded list of ACL entries and a boolean flag
of acl inheritance. If this flag is true then ACL entries of parent
are inherited and combined with ACL entries defined for the managed
object.
Each ACL entry contains
-- access list which is a list of NetConf protocol operations that
can be performed on the managed object.
-- identifier list which groups accessors together. Accessor is a
identifying an entity to whom access privileges have been granted.
-- accessDuration is an optional element that provides a time
interval over which an ACL entry is valid.
Example of ACL with get access provided to everyone.
Adwankar Expires January 19, 2005 [Page 7]
Internet Draft NetConf Data Model July 19, 2004
*
Example of inherited ACL of sysDescr managed object
SystemDescription
/netconf/system/sysDescr
true
System Description
2004-07-12T09:30:47-05:00
1
system
current
Example of ACL with get access provided to everyone
and replace operation to manager http://example.com/manager
SystemContact
/netconf/system/sysContact
Adwankar Expires January 19, 2005 [Page 8]
Internet Draft NetConf Data Model July 19, 2004
*
http://example.com/manager
P1Y
true
System Contact
2004-07-12T09:30:47-05:00
1
system
current
Managed Object Grouping
The XML Schema group construct must be used to define groups of
managed objects. The sysGroup below is grouping of systems managed
Adwankar Expires January 19, 2005 [Page 9]
Internet Draft NetConf Data Model July 19, 2004
objects
Compliance
The named model group must be referenced in a complex type that
defines whether the group is mandatory and provides description.
The systemGroup type given below defines a mandatory to implement
collection of managed objects.
The schema compliance element must be defined that should include
element corresponding to each named model group. The
schemaCompliance element given below provides compliance statement
of systems managed objects.
Adwankar Expires January 19, 2005 [Page 10]
Internet Draft NetConf Data Model July 19, 2004
Key Constraints
The NetConf data model element must define key constraints to
enforce uniqueness and to require that certain managed objects
must be present. The sysORKey defined below is part of sysORTable
in systems schema and it enforces that sysORIndex value is unique
and must be present.
4. Protocol Examples
NetConf Request:
//if:ifTable/if:ifEntry[if:ifIndex/@if:value='1']
NetConf Reply:
Adwankar Expires January 19, 2005 [Page 11]
Internet Draft NetConf Data Model July 19, 2004
NetConf Request:
//sys:system[sys:sysName/@sys:value="MyName"]
NetConf Reply:
References
Adwankar Expires January 19, 2005 [Page 12]
Internet Draft NetConf Data Model July 19, 2004
[1] Enns, R., "NETCONF Configuration Protocol",
draft-ietf-netconf-prot-03 (work in progress), June 2004.
[2] McCloghrie, K., Perkins, D. and J. Schoenwaelder,
"Structure of Management Information Version 2 (SMIv2)",
STD 58, RFC 2578, April 1999.
[3] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual
Conventions for SMIv2", STD 59, RFC 2579, April 1999.
[4] McCloghrie, K., Perkins, D. and J. Schoenwaelder,
"Conformance Statements for SMIv2", STD 60, RFC 2580, April 1999.
[5] McCloghrie, K., Fine, M., Seligson, J., Chan, K., Hahn,
S., Sahita, R., Smith, A. and F. Reichmeyer, "Structure of
Policy Provisioning Information (SPPI)", RFC 3159, August 2001.
[6] Distributed Management Task Force standards (DMTF)
http://www.dmtf.org/standards
[7] The SyncML Device Management Tree and Description Version 1.1.2
Open Mobile Alliance Ltd. December 2003
[8] OASIS Web Services Distributed Management (WSDM)
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsdm
[9] Fallside, D., "XML Schema Part 0: Primer", W3C Recommendation
May 2001
[10] Thompson, H., Beech, D., Maloney, M. and N. Mendelsohn, "XML
Schema Part 1: Structures", W3C Recommendation May 2001
[11] Biron, P., Malhotra, A., "XML Schema Part 2: Datatypes",
W3C Recommendation May 2001
[12] Presuhn, R., J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
"Management Information Base (MIB) for the Simple Network
Management Protocol (SNMP)", STD 62, RFC 3418, December 2002.
[13] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB",
RFC 2863, June 2000.
[14] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource
Identifiers (URI): Generic Syntax", RFC 2396, August 1998.
[15] "XML Path Language (XPath) Version 1.0", J. Clark and S.
DeRose. W3C Recommendation, November 1999.
Adwankar Expires January 19, 2005 [Page 13]
Internet Draft NetConf Data Model July 19, 2004
Author's Address
Sandeep Adwankar
Motorola
1301 East Algonquin Rd,
MS IL02-2240, Schaumburg,
IL 60196 USA
EMail: sandeep.adwankar@motorola.com
Appendix A. Data Model Survey
Structure of Management Information (SMI)
The Structure of Management Information (version 2 is the current
version), [2] [3] [4] is a specification for creating a management
information base (MIB). The SMI identifies the permissible data
types and spells out the rules for naming and identifying MIB
components. It defines the structure of the SNMP naming mechanism.
The SNMP SMI uses a subset of Abstract Syntax Notation One (ASN.1)
and can represent simple data types such as scalars and
two-dimensional arrays of scalars.
Encoding
Objects in the MIB are encoded using the basic encoding rules (BER)
associated with ASN.1. A typical BER encoding is based on the use
of a type-length-value structure.
Addressing
All managed objects are arranged in hierarchical or tree structure
and associated with each type of object is a unique identifier of
type OBJECT IDENTIFIER (OID). E.g. OID of internet node is defined
as internet OBJECT IDENTIFIER ::={iso(1) org(3) dod(6) 1}
MACRO
SMI defines ASN.1 MACRO definitions that allows describing container
for managed objects, object definitions and notification
definitions.
Module Identity
Object Definitions: Each object is defined using an OBJECT-TYPE an
ASN.1 MACRO shown in syntax that specifies the data type of the
object, its allowable forms and value ranges and its relationship
with other objects within MIB. SMI also defines new macros for
defining object groups, traps, compliance characteristics and
capability characteristics
SMI defines application wide scaler types such as IpAddress,
Counter32, Gauge32, Unsigned32, TimeTicks, Opaque, Counter64.
It defines BIT construct, which represents an enumeration of named
bits. SMI allows definition of a tabular structure on an ordered
collection of objects within the MIB using SEQUENCE OF .
refers to the SEQUENCE type of its subordinate
conceptual row.
Adwankar Expires January 19, 2005 [Page 14]
Internet Draft NetConf Data Model July 19, 2004
Textual Conventions
The TEXTUAL-CONVENTION macro allows defining new types that are
available to all MIB modules. They provide precise semantics and
convenience for human-readability.
Type Representation
DisplayString Textual information
PhysAddress Media- or physical-level addresses
MacAddress 802 MAC address
TruthValue Boolean Value
TestAndIncr Integer-valued information used for atomic
operations value supplied via the management
protocol is tested before incrementing by one
AutonomousType Extensible type identification
InstancePointer Pointer to either a specific instance of a MIB
object or a conceptual row of a MIB table
VariablePointer A pointer to a specific object instance
RowPointer A pointer to a conceptual row
RowStatus Status of a conceptual row
e.g. active, notInService, createAndGo, destroy
TimeStamp Time since a specific occurrence happened.
TimeInterval Period of time
DateAndTime A date-time specification
StorageType memory realization of a conceptual row
e.g. volatile, nonVolatile, permanent, readOnly
TDomain kind of transport service
TAddress Transport service address
Compliance
The MODULE-COMPLIANCE macro is used to convey a minimum set of
requirements with respect to implementation of one or more MIB
modules. It uses OBJECT-GROUP macro that defines a collection of
related managed objects.
Agent Capabilities
The Agent Capabilities macro allows defining set of capabilities
present in an agent. The example below shows that the SNMP Agent
supports SNMPv2 MIB and implements MIB groups identified in the
INCLUDES clause.
snmpAgent AGENT-CAPABILITIES
PRODUCT-RELEASE "SNMP Agent V2.4"
STATUS current
DESCRIPTION "SNMP Agent"
SUPPORTS SNMPv2-MIB
INCLUDES { systemGroup, snmpGroup, snmpSetGroup,
snmpBasicNotificationsGroup }
Notification
Notification Macro is used to define the information contained
within an unsolicited transmission of management information. The
OBJECTS clause in Notification Macro defines an ordered sequence
of MIB object types. Every instance of the notification should
contain only one object instance for each occurrence of each object
Adwankar Expires January 19, 2005 [Page 15]
Internet Draft NetConf Data Model July 19, 2004
type in the specified order.
An example of System group that provides general information about
the managed system is shown below
system OBJECT IDENTIFIER ::= { mib-2 1 }
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the entity. This value should
include the full name and version identification of the
system's hardware type, software operating-system, and
networking software."
::= { system 1 }
2 Structure of Policy Provisioning Information (SPPI)
The Structure of Policy Provisioning Information (SPPI) [5] defines
the adapted subset of Structure of Management Information (SMI) used
to specify policy information. The policy information can be
exchanged from policy servers (Policy Decision Point or PDP) to
network devices (Policy Enforcement Points or PEPs) using Common
Open Policy Service protocol for policy provisioning (COPS-PR). The
SPPI is used to write Policy Information Base (PIB) modules.
The SPPI uses the term Provisioning Class (PRC) for the managed
object table and row definitions, and Provisioning Instance (PRI)
for an instantiation of a row definition. For a columnar object of a
table definition, the SPPI uses the term "attribute" of a
Provisioning Class. The SPPI does not support the equivalent of the
SMI's scalar objects.
The PIB name space is common to both the PEP and the PDP and data
instances within this space are unique within the scope of a given
Client-Type and Request-State per TCP connection between a PEP and
PDP. If a device implements multiple COPS Client-Types, a unique
instance space is to be provided for each separate Client-Type.
There is no sharing of instance data across the Client-Types
implemented by a PEP, even if the classes being instantiated are of
the same type and share the same instance identifier.
The SPPI extends SMI's MODULE-IDENTITY macro to convey the semantics
of a PIB module. The SUBJECT-CATEGORIES clause identifies one or
more categories of provisioning data for which this PIB module
defines provisioning information.
The SPPI uses SMI's modified OBJECT-TYPE macro to convey the syntax
and semantics of PRCs and their attributes. It uses SMI's
OBJECT-GROUP and MODULE-COMPLIANCE macros to specify acceptable
Adwankar Expires January 19, 2005 [Page 16]
Internet Draft NetConf Data Model July 19, 2004
lower-bounds of implementation of the attributes of PRCs. The SPPI
uses SMI's TEXTUAL CONVENTION macro to define following additional
data types that are common to several attributes of one of more
PRCs.
Type Representation
InstanceId Instance-identifying index of a PRC
ReferenceId Reference an instance of a particular PRC
Prid Pointer to a PRI
TagId Tag value. All instances of a particular PRC
having the same tag value form a tag list
TagReferenceId Reference to a tag list of instances of a
particular PRC
The SPPI defines types Integer64, Unsigned64 that are not defined
in SMI. The SPPI does not use SMI's notification definitions.
The SPPI does not define MAX-ACCESS clause as part of its
OBJECT-TYPE macro and instead mandates that PIB-ACCESS clause must
be present for a PRC's table definition. The PIB-ACCESS clause
defines what kind of access is appropriate for the PRC. Thus the
value "install" as shown in example below indicates that a PDP can
install the particular PRC in the PEP as provisioning information.
qosIfDscpAssignTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfDscpAssignEntry
PIB-ACCESS install
STATUS current
DESCRIPTION " "
::= { qosIfParameters 9 }
The value "notify" indicates a PRC for which the PEP must notify
the PDP of all its instances and attribute values of that PRC.
The PIB-INDEX clause defines identification information for
instances of the PRC. The PIB-INDEX clause includes exactly one
descriptor. This descriptor specifies an attribute, which is used
to identify an instance of that PRC. The syntax of this attribute
is InstanceId.
The OBJECT IDENTIFIER, which identifies an instance of a PRC is
formed by appending one sub-identifier to the OID which
identifies that PRC's row definition. The value of the additional
sub-identifier is that instance's value of the attribute specified
in the INDEX clause.
The UNIQUENESS clause lists a set of zero or more of the PRC's
attributes, for which no two instances of the PRC can have the same
set of values as shown in example below.
qosIfDscpAssignEntry OBJECT-TYPE
SYNTAX QosIfDscpAssignEntry
STATUS current
DESCRIPTION
"An instance of the qosIfDscpAssign class."
Adwankar Expires January 19, 2005 [Page 17]
Internet Draft NetConf Data Model July 19, 2004
PIB-INDEX { qosIfDscpAssignPrid }
UNIQUENESS { qosIfDscpAssignName, qosIfDscpAssignRoles }
::= { qosIfDscpAssignTable 1 }
The PIB-TAG clause is used to indicate that this attribute
references a "tag list" of instances of another PRC. Such a tag
list is formed by all instances of the other PRC which have the
same (tag) value of a particular attribute of that other PRC.
3 Common Information Model
The Common Information Model (CIM) [6] specification is the language
and methodology for describing management data. The CIM is
based on an object-oriented model. A Schema is composed of group of
classes with a single owner. Each CIM class is a blueprint for a
type of managed element. Classes contain properties, which describe
the data of the class, and methods, which describe the behavior of
the class. The schema in which it belongs scopes a class. A class
must belong to only one schema and the class name must be unique
for that schema.
The CIM schema is combination of core and common models, where
the core model captures notions that are applicable to all areas of
management. The Common Models are information models that capture
notions that are common to particular management areas, but
independent of any particular technology or implementation.
Examples of common models include systems, applications, networks
and devices. Extension schemas represent technology-specific
extensions of the common models.
The Meta Schema is a formal definition of the model. The Unified
Modeling Language (UML) is used to define the structure of the meta
schema. The graphical forms use UML diagrams and are not normative.
The textual forms are normative and written in a language based on
the Interface Definition Language called the "Managed Object
Format" (MOF). Example of CIM_ManagedElement class in MOF language
is shown below.
[Abstract, Version ("2.7.0"), Description (
"ManagedElement is an abstract class that provides a common
"superclass (or top of the inheritance tree) for the"
"non-association classes in the CIM Schema.") ]
class CIM_ManagedElement {
[MaxLen (64), Description (
"The Caption property is a short textual description (one-"
"line string) of the object.") ]
string Caption;
[Description (
"The Description property provides a textual description of "
"the object.") ]
string Description;
Adwankar Expires January 19, 2005 [Page 18]
Internet Draft NetConf Data Model July 19, 2004
[Description (
" A user-friendly name for the object. ..") ]
string ElementName;
};
Each declaration in the MOF can be preceded by metadata enclosed in
brackets. The CIM_ManagedElement class declaration is preceded
by metadata enclosed in bracket that indicates that the managed
element class is abstract and provides a description of the class.
Different qualifiers can be declared for different data types and
declarations. Thus the MaxLen qualifier for caption
CIM_ManagedElement will limit the length to 64 characters.
Encoding
The xmlCIM Encoding Specification defines XML elements, written in
Document Type Definition (DTD), which can be used to represent CIM
classes and instances. The DTD fragment of Object definition
elements is as below.
...
CIM messages are encoded in XML such that
each CIM message is described completely in XML. CIM Clients, CIM
Servers or CIM Listeners are not required to validate received CIM
Message Response or CIM Message Request. The encapsulation exposes
key CIM message information in headers to allow efficient
firewall/proxy handling. The information is limited to that which
is considered essential, in order not to have significant impact
on the size of the Header. No CIM-specific information appears in
a Header that does not also appear within the CIM message.
Adwankar Expires January 19, 2005 [Page 19]
Internet Draft NetConf Data Model July 19, 2004
Addressing
Instances of a class are addressed by designating one or more
properties with the reserved qualifier "key" provide instance
identification. For example, as shown in Figure 13 the class has one
property (Volume) which serves as its' key. Thus instances of Drive
are distinguished using the Volume property, which acts as the key
for the class. Compound keys are supported and are designated by
marking each of the required properties with the key qualifier.
class Acme_Drive
{
[key] string Volume;
string FileSystem;
sint32 Capacity;
};
A CIM object manager (CIMOM) is a database for instances of CIM
classes. CIMOMs represent the central point for accessing
management resources.
4 Device Description Framework (DDF)
The SyncML DM specifies device description framework (DDF) [7] that
prescribes a way for device vendors to describe their devices. The
DDF root element is management tree root node having one or more
nodes, where each node element is recursive i.e. it make contain
one or more node. Each management tree node has name, path URI to
the node, default value, run time properties and description
framework properties.
Description Framework Properties
The description framework properties as shown below are not
explicit at run-time in a device.
Property Explanation Read/Write Device
support
AccessType Specifies which commands Read MUST
are allowed on the node.
DefaultValue The node value used in Read MAY
a device unless specifically
set to a different value.
Description The human readable Read MAY
description of the node.
DFFormat The data format of the Read MUST
described node.
Occurrence Specifies the number of Read MAY
instances
Scope Specifies whether this is Read MAY
a permanent or dynamic node.
DFTitle The human readable name of Read MAY
the node.
DFType For leaf nodes, the MIME type Read MUST
Adwankar Expires January 19, 2005 [Page 20]
Internet Draft NetConf Data Model July 19, 2004
of the node value.For interior
nodes, a DDF document name or empty
The node description property scope defines whether the node is
permanent or dynamic. A management server cannot create or delete
permanent nodes at runtime while dynamic nodes can be created and
deleted at runtime. The AccessType DF property can be used to
protect dynamic nodes from deletion. The node will be deleted even
if the AccessType DF property excludes Delete if the node is part
of subtree that is being deleted. A DDF description of "Man"
(Manufacturer Name) management tree node is shown below.
1.1.2
Man
ExampleCompany
A Unique Example Company
The name of the device manufacturer.
text/plain
...
RunTime Properties
The run time properties as shown below can change at run-time and
are optional within its parent element node.
Property Explanation Read/Write Device support
ACL Access Control List Read & Write MUST
Format Specifies how node Read MUST
values should be
interpreted
Name The name of the node Read & Write MUST
in the tree
Size Size of the node Read MUST for leaf
value in bytes nodes
MUST NOT for
interior nodes
Title Human readable name Read & Write MAY
TStamp Time stamp, date and Read MAY
Adwankar Expires January 19, 2005 [Page 21]
Internet Draft NetConf Data Model July 19, 2004
time of last change
Type The MIME type of Read MUST
the node's value
VerNo Version number, Read MAY
automatically incremented
at each modification
Each node is associated with a MIME type that determines the kind
of management actions that can be performed on the node. A node
with runtime format property set to "node" is Interior node and it
has zero or more children. Nodes that are not interior nodes are
leaf nodes. Each item in a management command is associated with
Meta information containing format and type that correspond
directly to data content in the node. The management command Add
can be performed on interior nodes only.
Access Control
The Access Control List (ACL) runtime property is the only property
that inherits ACL from parent nodes if it not explicitly specified.
Example of ACL that allows changing node value to server identifier
ACME and allows getting value to all other management servers is
"Replace=www.ACME.com&Get=*" . A server identifier having
Replace access rights according to node ACL can change the ACL
value for interior nodes but same is not true for leaf nodes. A
server identifier with sufficient access to parent node can change
ACL of child node.
Addressing Mechanism
The SyncML DM defines a management tree of nodes and a unique full
device URI addresses each node.
Traversal
Management servers can traverse through device management tree
using GET commands. The Get on an interior node will return a list
of all child node names. The properties of each node can be
accessed by appending ?prop= to the node's URI. Thus
ACL for node xyxInc can be accessed with following URI
./SyncML/DMAccounts/xyzInc?prop=ACL
5 Web Services Distributed Management (WSDM)
WSDM [8] is in the process of defining web services architecture
and technology to manage distributed resources and the
model of a web service as a manageable resource. Managers establish
the endpoint that provides manageability for a given Web service
endpoint and manage the web service endpoint. The manager can
retrieve metadata such as display Name, Metrics/Counters of
requests/replies/faults, service state information such as UP/DOWN
and time since last state change. It can request configuration
control and has startup/shutdown capability. The manager can also
get notifications against service state and notifications against
request processing.
Adwankar Expires January 19, 2005 [Page 22]
Internet Draft NetConf Data Model July 19, 2004
Addressing
Addressing is to reference the web services of a manageability
provider, or, to reference a manageable resource. The data
structure as shown below holds sufficient information
for a manageability consumer to locate the Web service and to
exchange messages with the Web service.
xs:anyURI
... ?
xs:QName ?
xs:QName ?
... *
Capabilities
Many manageability capabilities of a manageable service concern the
resource the manager is able to query and set. This information is
modeled as a set of properties as shown in example below.
By using a property schema, it is possible to find, to read, and to
write a property. A property is part of the advertised
manageability interface for a resource. For manageability, a
property can represent configuration values, metrics, identifiers
Adwankar Expires January 19, 2005 [Page 23]
Internet Draft NetConf Data Model July 19, 2004
etc.
Notification
Notification provides mechanism for manageable resources to convey
information to the managers. In certain cases, it is unreasonable
for the manager to explicitly poll (request) the information, and
it has to be sent to the manager by the manageable resource. The
manageable resource for the service may have to notify the manager
when the event occurs. The manageable resource needs to know which
manager is interested in which information and the address (es) of
the manager in order to send a notification message whenever an
event occurs. A NotificationProducer can send the Notify message as
shown in Figure 19 to the NotificationConsumer in order to deliver
one or more NotificationMessage(s).
{any}
?
wsa:EndpointReference
xsd:any
+
Appendix B. NetConf Data Model Schema
The NetConf Data Model definition
Adwankar Expires January 19, 2005 [Page 24]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 25]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 26]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 27]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 28]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 29]
Internet Draft NetConf Data Model July 19, 2004
Appendix C. System Schema
Adwankar Expires January 19, 2005 [Page 30]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 31]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 32]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 34]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 35]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 36]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 37]
Internet Draft NetConf Data Model July 19, 2004
Appendix C. Interfaces Schema
Adwankar Expires January 19, 2005 [Page 41]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 42]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 45]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 48]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 49]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 50]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 51]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 58]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 59]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 61]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 62]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 63]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 64]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 65]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 66]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 67]
Internet Draft NetConf Data Model July 19, 2004
Adwankar Expires January 19, 2005 [Page 68]
Internet Draft NetConf Data Model July 19, 2004
"Copyright (C) The Internet Society (year). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights."
"This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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."
Adwankar Expires January 19, 2005 [Page 69]