Internet DRAFT - draft-aldri-disman-replication-mib
draft-aldri-disman-replication-mib
Network Working Group Aldri L. dos Santos
Expires May 01, 2002 Elias P. Duarte Jr.
Internet Draft Federal University of Parana'
Glenn Mansfield
Cyber Solutions, inc.
A Clustering Architecture for Replicating Managed Objects
<draft-aldri-disman-replication-mib-00.txt>
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. 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
Distribution of this document is unlimited. Please send comments to
Federal University at Parana <aldri@inf.ufpr.br>.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This memo defines a portion of the Management Information Base (MIB)
for replicating managed objects. In particular, it describes a set of
objects that are used for supporting object replication based on an
clustering architecture.
Table of Contents
1. Introduction .................................................. 3
2. The SNMP Management Framework ................................. 3
3. A Clustering Architecture for Replicating Managed Objects ..... 4
3.1. The Architecture ............................................. 4
3.2. Usage Example ................................................ 5
4. Definitions ................................................... 8
5. Security Considerations .......................................20
6. Intellectual Property .........................................21
7. References ....................................................22
8. Authors's Address .............................................25
9. Full Copyright Statement ......................................26
1. Introduction
This memo defines a portion of the Management Information Base (MIB)
for replicating managed objects. In particular, it describes a set of
objects that are used for supporting object replication based on an
clustering architecture.
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 [1].
2. The SNMP Management Framework
The SNMP Management Framework presently consists of five major
components:
o An overall architecture, described in RFC 2571 [2].
o Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in
STD 16, RFC 1155 [3], STD 16, RFC 1212 [4] and RFC
1215 [5]. The second version, called SMIv2, is described
in STD 58, RFC 2578 [6], STD 58, RFC 2579 [7] and
STD 58, RFC 2580 [8].
o Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1 and
described in STD 15, RFC 1157 [9]. A second version of the
SNMP message protocol, which is not an Internet standards track
protocol, is called SNMPv2c and described in RFC 1901 [10]
and RFC 1906 [11]. The third version of the message
protocol is called SNMPv3 and described in RFC 1906 [11],
RFC 2572 [12] and RFC 2574 [13].
o Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in STD 15, RFC 1157 [9]. A second set of
protocol operations and associated PDU formats is described in
RFC 1905 [14].
o A set of fundamental applications described in RFC 2573
[15] and the view-based access control mechanism described
in RFC 2575 [16].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [17].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. Objects in the MIB are
defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A
MIB conforming to the SMIv1 can be produced through the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of machine
readable information is not considered to change the semantics of the
MIB.
3. A Clustering Architecture for Replicating Managed Objects
The goal of this document is to define a replication architecture
which supports the replication of objects in order to keep
managed objects available in critical situations in which the
network entities are unreachable [18].
Replication [19] is a useful tool which has been applied to introduce
fault tolerance in both distributed systems and databases, where it
also aims at improving performance [20]. Replication is the process
of making a replica (a copy) of resources, processes or data. Although
it is an intuitive concept, replication requires sophisticated
techniques for successful implementation in a distributed system [21].
The replication technique used in this architecture is known as
semi-active replication [20, 22], which is a hybrid approach involving
characteristics of both active and passive replication [23]. In this
technique, replicated data can be accessed through any replica
member. However, only the original replica owner, known as the leader,
determines the order in which the replica is updated.
3.1. The Architecture
The proposed architecture is structured in three layers, as shown in
figure 1 and described below. The three layers are called the manager
layer, the cluster layer and the cluster member layer, respectively.
The clustering approach is similar to the one introduced in [24].
o The lower layer keeps management entities called cluster members.
Those entities have their managed objects monitored and replicated
in a cluster, as defined below.
o The middle layer keeps management entities called clusters.
Each cluster has the task of monitoring a subset of managed objects
of a set of management entities and replicating those objects in
other clusters.
o In the upper layer keeps Management Applications (MA) which define
management clusters, their purpose as well as other clusters that
maintain replicas of the objects monitored by the defined clusters.
___________
| |
+-----<---| MA |--->----+
| |___________| |
| |
+--------V------------------------------V-----------+
| +--------------+ REPLICATION +--------------+ |
| | CLUSTERi(Ci) |<=============>| CLUSTERj(Cj) | |
| +-----+--------+ +-----+--------+ |
+--------|------------------------------|-----------+
| |
+-------V-----------+ +---------V---------+
| [Memb1] | | [Memb4] |
| [Memb2] | | [Memb3] |
+-------------------+ +-------------------+
CLUSTER MEMBERS CLUSTER MEMBERS
Figure 1: The Replication Architecture.
This architecture also allows different means of communication to be
used to send instances of replicated objects among the clusters.
We propose the use of a group communication protocol [25, 26, 27] for
that purpose, due to the properties and services which can be offered
by such a protocol (e.g. reliable multicast, group membership, etc.)
3.2. Usage Example
This subsection presents an example of how the proposed architecture
is used to replicate managed objects in the case shown in figure 1.
Two clusters (Ci and Cj) are defined with the purpose of monitoring and
replicating managed objects of their cluster members (Memb1, Memb2, Memb3
and Memb4). In order to avoid a lenghthy description, only one specific
object (ifInOctets) is replicated.
The Cluster Table is defined and kept by the Management Application (MA).
This table contains the definition of clusters, the replicated objects,
and monitored members. The Member Table, Replicated Object Table and
Neighbor Table are used by the cluster to monitor and replicate managed
objects. The Replica Table in each cluster keeps the replicated instances
of managed objects.
The table below is an example of a Cluster Table in which a Management
Application defines two clusters (Ci and Cj) each with two members
(Memb1 and Memb2; Memb3 and Memb4, respectively). OID refers to the
replicated object. RepCID is the identifier of the cluster in which the
object is replicated. Name refers to the human manager, Descr contains a
description and Status indicates that the cluster is active.
+--------------------------------------------------------------------------+
|Cluster Table |
+------+---+---------+-------+-----------+-------+-----+--------+----------+
| Index| ID| Address| Member| OID| RepCID| Name| Descr| Status|
+------+---+---------+-------+-----------+-------+-----+--------+----------+
| 1| Ci| 10.0.0.1| Mb1| ifInOctets| Cj| John| example| active(1)|
| 2| Ci| 10.0.0.1| Mb2| ifInOctets| Cj| John| example| active(1)|
| 3| Cj| 10.0.0.2| Mb3| ifInOctets| Ci| John| example| active(1)|
| 4| Cj| 10.0.0.2| Mb4| ifInOctets| Ci| John| example| active(1)|
+------+---+---------+-------+-----------+-------+-----+--------+----------+
Each cluster keeps three tables: the Member Table, which keeps the
identifiers of the cluster's members; the Replicated Object Table
which keeps the managed objects OID's; and the Neighbor Table keeps the
identifier of the peer clusters that keep managed object replicas. An
example of the three tables in CLUSTERi is shown below.
+--------------------------------------------+
|Member Table |
+------+---------------+----------+----------+
| Index| Address| Community| Status|
+------+---------------+----------+----------+
| 1| 10.0.0.3 (Mb1)| community| active(1)|
| 2| 10.0.0.4 (Mb2)| community| active(1)|
+------+---------------+----------+----------+
In the Replicated Object Table below, the Interval refers to the
checkpointing interval which is used to replicate instances of managed
objects. The active State indicates that the managed object is being
replicated. The active Status indicates that that the row information
is complete.
+---------------------------------------------------+
|Replicated Object Table |
+------+-----------+----------+----------+----------+
| Index| OID| Interval|| State| Status|
+------+-----------+----------+----------+----------+
| 1| ifInOctets| 2 seconds| active(1)| active(1)|
+------+-----------+----------+----------+----------+
This example Neighbor Table indicates that cluster Cj is being used to
replicate managed objects. ROIndex indicates which objects are being
replicated. The Status is active when row information is complete.
+-----------------------------------------+
|Neighbor Table |
+------+--------------+--------+----------+
| Index| Address| ROIndex| Status|
+------+--------------+--------+----------+
| 1| 10.0.0.2 (Cj)| 1| active(1)|
+------+--------------+--------+----------+
After all tables are defined, the Replica Table is created and keeps
replicated instances of managed objects. Each row has information about
the objects original member Address, the object OID, its Instance Index,
Value and respective Type, and the Status which is active when information
has been properly updated.
+---------------------------------------------------------------------------+
|Replica Table |
+---------------+-----------+---------------+------+-------------+----------+
| Address| OID| Instance Index| Value| Type| Status|
+---------------+-----------+---------------+------+-------------+----------+
| 10.0.0.3 (Mb1)| ifInOctets| 1| 124| counter32(4)| active(1)|
| 10.0.0.3 (Mb1)| ifInOctets| 2| 145| counter32(4)| active(1)|
| 10.0.0.4 (Mb2)| ifInOctets| 1| 120| counter32(4)| active(1)|
| 10.0.0.5 (Mb3)| ifInOctets| 1| 200| counter32(4)| active(1)|
| 10.0.0.6 (Mb4)| ifInOctets| 1| 300| counter32(4)| active(1)|
+---------------+-----------+---------------+------+-------------+----------+
All tables kept by CLUSTERj are analogous and shown below:
+--------------------------------------------+
|Member Table |
+------+---------------+----------+----------+
| Index| Address| Community| Status|
+------+---------------+----------+----------+
| 1| 10.0.0.5 (Mb3)| community| active(1)|
| 2| 10.0.0.6 (Mb4)| community| active(1)|
+------+---------------+----------+----------+
+---------------------------------------------------+
|Replicated Object Table |
+------+-----------+----------+----------+----------+
| Index| OID| Interval|| State| Status|
+------+-----------+----------+----------+----------+
| 1| ifInOctets| 5 seconds| active(1)| active(1)|
+------+-----------+----------+----------+----------+
+-----------------------------------------+
|Neighbor Table |
+------+--------------+--------+----------+
| Index| Address| ROIndex| Status|
+------+--------------+--------+----------+
| 1| 10.0.0.1 (Ci)| 1| active(1)|
+------+--------------+--------+----------+
+---------------------------------------------------------------------------+
|Replica Table |
+---------------+-----------+---------------+------+-------------+----------+
| Address| OID| Instance Index| Value| Type| Status|
+---------------+-----------+---------------+------+-------------+----------+
| 10.0.0.3 (Mb1)| ifInOctets| 1| 124| counter32(4)| active(1)|
| 10.0.0.3 (Mb1)| ifInOctets| 2| 145| counter32(4)| active(1)|
| 10.0.0.4 (Mb2)| ifInOctets| 1| 120| counter32(4)| active(1)|
| 10.0.0.5 (Mb3)| ifInOctets| 1| 200| counter32(4)| active(1)|
| 10.0.0.6 (Mb4)| ifInOctets| 1| 300| counter32(4)| active(1)|
+---------------+-----------+---------------+------+-------------+----------+
4. Definitions
REPLIC-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Unsigned32
FROM SNMPv2-SMI
RowStatus
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB;
replicMIB MODULE-IDENTITY
LAST-UPDATED "200111010000Z"
ORGANIZATION "Federal University of Parana' - Dept. Informatics"
CONTACT-INFO
"Aldri L. Santos
Elias P. Duarte Jr.
Federal University of Parana'
Dept. Informatics
P.O. Box 19018
Curitiba, PR 81531-990
Brazil
Phone: +55-41-267-5244
Email: {aldri, elias}@inf.ufpr.br
Glenn Mansfield
Cyber Solutions Inc.
ICR Bldg. 3F 6-6-3 Minami Yoshinari
Aoba-ku Sendai-shi Miyagi
Japan
Phone: +81-22-303-4012
Email: cyber@cysol.co.jp"
DESCRIPTION
" This MIB module defines a set of objects that supports object
replication in a three-layer clustering architecture."
::= { yyy xxx } -- to be assigned by IANA
--
-- The groups defined within this MIB definition:
--
replicObjects OBJECT IDENTIFIER ::= { replicMIB 1 }
replicConformance OBJECT IDENTIFIER ::= { replicMIB 2 }
clusterDefinition OBJECT IDENTIFIER ::= { replicObjects 1 }
clusterReplication OBJECT IDENTIFIER ::= { replicObjects 2 }
clusterTable OBJECT-TYPE
SYNTAX SEQUENCE OF ClusterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table allows the definition of agent clusters, which
are used to monitor and replicate objects from other agents,
providing alternative means of accessing information from
those agents when they are unreachable."
::= { clusterDefinition 1 }
clusterEntry OBJECT-TYPE
SYNTAX ClusterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" Each entry contains the definition of an agent cluster, its
members and replicated objects."
INDEX { clusterID, clusterMember, clusterIndex }
::= { clusterTable 1 }
ClusterEntry ::= SEQUENCE {
clusterIndex Unsigned32,
clusterID Unsigned32,
clusterAddress IpAddress,
clusterMember IpAddress,
clusterOID OBJECT IDENTIFIER,
clusterRepClusterID Unsigned32,
clusterName SnmpAdminString,
clusterDescr SnmpAdminString,
clusterStatus RowStatus
}
clusterIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Unique value which identifies a cluster table entry."
::= { clusterEntry 1 }
clusterID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The unique identifier of a cluster that is defined for
monitoring a subset of agents and replicating some of
their objects."
::= { clusterEntry 2 }
clusterAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The IP address of a agent that monitors a set of agents and
replicates their objects on its neighbor clusters."
::= { clusterEntry 3 }
clusterMember OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The IP address of an agent which has its objects monitored
and replicated by the cluster."
::= { clusterEntry 4 }
clusterOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The instance identifier of a replicated managed object.
For example: ifInOctets "
::= { clusterEntry 5 }
clusterRepClusterID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Identifier of a peer cluster which keeps replica of managed
objects kept by the current cluster."
::= { clusterEntry 6 }
clusterName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The human manager responsible for the cluster."
::= { clusterEntry 7 }
clusterDescr OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Description of the purpose of the cluster."
::= { clusterEntry 8 }
clusterStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
" The status of this cluster entry.
To create a row in this table, a manager must set this
object to either createAndGo(4) or createAndWait(5).
This object may not be active(1) until instances of all
other objects are appropriately configured. Its value,
meanwhile, is notReady(2)."
::= { clusterEntry 9 }
memberTable OBJECT-TYPE
SYNTAX SEQUENCE OF MemberEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table contains information that defines the set of
agents monitored by the cluster."
::={ clusterDefinition 2 }
memberEntry OBJECT-TYPE
SYNTAX MemberEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" Each entry contains the definition of a cluster member."
INDEX { cmIndex }
::= { memberTable 1 }
MemberEntry ::= SEQUENCE {
cmIndex Unsigned32,
cmAddress IpAddress,
cmCommunity SnmpAdminString,
cmStatus RowStatus
}
cmIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Unique identifier of a cluster member table entry."
::= { memberEntry 1 }
cmAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The IP address of a cluster member whose objects are
monitored and replicated by the cluster."
::= { memberEntry 2 }
cmCommunity OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The community required to access cluster member objects."
::= { memberEntry 3 }
cmStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
" The status of this cluster member entry.
To create a row in this table, a manager must set this
object to either createAndGo(4) or createAndWait(5).
This object may not be active(1) until instances of all
other objects are appropriately configured. Its value,
meanwhile, is notReady(2)."
::= { memberEntry 4 }
repObjectTable OBJECT-TYPE
SYNTAX SEQUENCE OF RepObjectEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table allows the definition of a set of managed objects
which are monitored and replicated by the cluster."
::={ clusterDefinition 3 }
repObjectEntry OBJECT-TYPE
SYNTAX RepObjectEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" An entry keeping information about an object that is replicated."
INDEX { roIndex }
::= { repObjectTable 1 }
RepObjectEntry ::= SEQUENCE {
roIndex Unsigned32,
roOID OBJECT IDENTIFIER,
roInterval Unsigned32,
roState Unsigned32,
roStatus RowStatus
}
roIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Unique identifier of a replicated object table entry."
::= { repObjectEntry 1 }
roOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The instance identifier of an object which is replicated
by the cluster."
::= { repObjectEntry 2 }
roInterval OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The time interval in which a cluster polls replicated
objects in cluster members."
::= { repObjectEntry 3 }
roState OBJECT-TYPE
SYNTAX Unsigned32(0|1) -- { non-active(0), active(1)}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The State object determines whether an object is replicated
in a given cluster.
Setting this value to non-active(0) requests that an object
should not be replicated.
Setting this value to active(1) requests that an object
should be replicated."
::= { repObjectEntry 4 }
roStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
" The status of this replicated object entry.
To create a row in this table, a manager must set this
object to either createAndGo(4) or createAndWait(5).
This object may not be active(1) until instances of all
other objects are appropriately configured. Its value,
meanwhile, is notReady(2)."
::= { repObjectEntry 5 }
neighborTable OBJECT-TYPE
SYNTAX SEQUENCE OF NeighborEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table allows the definition of neighbor clusters of agent
clusters which are used to maintain replicated objects."
::={ clusterDefinition 4 }
neighborEntry OBJECT-TYPE
SYNTAX NeighborEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" Each entry contains information of a cluster that maintains
replicated objects."
INDEX { ncIndex }
::= { neighborTable 1 }
NeighborEntry ::= SEQUENCE {
ncIndex Unsigned32,
ncAddress IpAddress,
ncROTIndex Unsigned32,
ncStatus RowStatus
}
ncIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Unique value which identifies a neighbor cluster table entry."
::= { neighborEntry 1 }
ncAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The IP address of a neighbor cluster which receives and
keeps replicated objects by the cluster."
::= { neighborEntry 2 }
ncROTIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Index of a object in the replicated object table which is
replicated in a given neighbor cluster."
::= { neighborEntry 3 }
ncStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
" The status of this neighbor cluster entry.
To create a row in this table, a manager must set this
object to either createAndGo(4) or createAndWait(5).
This object may not be active(1) until instances of all
other objects are appropriately configured. Its value,
meanwhile, is notReady(2)."
::= { neighborEntry 4 }
replicaTable OBJECT-TYPE
SYNTAX SEQUENCE OF ReplicaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table keeps the replicated instances of managed objects."
::={ clusterReplication 1 }
replicaEntry OBJECT-TYPE
SYNTAX ReplicaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" Each entry keeps an instance of a given object of a given agent."
INDEX { repAgent, repOID, repInstanIndex }
::= { replicaTable 1 }
ReplicaEntry ::= SEQUENCE {
repAgent IpAddress,
repOID OBJECT IDENTIFIER,
repInstanIndex Unsigned32,
repValue OCTET STRING,
repValueType INTEGER,
repStatus RowStatus
}
repAgent OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The IP address of an agent whose objects are replicated
in the cluster."
::= { replicaEntry 1 }
repOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The instance identifier of a replicated object maintained
in the cluster."
::= { replicaEntry 2 }
repInstanIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Unique identifier of an instance index of a replicated
object maintained in the cluster."
::= { replicaEntry 3 }
repValue OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Value of an instance of a replicated object.
The data type of the instance is specified in the next
managed object."
::= { replicaEntry 4 }
repValueType OBJECT-TYPE
SYNTAX INTEGER {
integer(0),
integer32(1),
unsigned32(2),
gauge32(3),
counter32(4),
counter64(5),
timeTicks(6),
octectString(7),
objectIdentifier(8),
ipAddress(9),
opaque(10),
bits(11)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" The data type of an instance of a replicated object kept
in the previous managed object."
::= { replicaEntry 5 }
repStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
" The status of this replica entry.
This object may not be active(1) until instances of all
other objects are appropriately configured. Its value,
meanwhile, is notReady(2)."
::= { replicaEntry 6 }
-- Conformance information
replicGroups OBJECT IDENTIFIER ::= { replicConformance 1 }
replicCompliances OBJECT IDENTIFIER ::= { replicConformance 2 }
-- Compliance statements
replicManagerCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
" The compliance statement for SNMP entities which
implement the replication MIB in the manager level."
MODULE
MANDATORY-GROUPS { replicManagerGroup }
::= { replicCompliances 1 }
replicClusterCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
" The compliance statement for SNMP entities which
implement the replication MIB in the cluster level."
MODULE
MANDATORY-GROUPS { replicClusterGroup }
::= { replicCompliances 2 }
replicFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
" The compliance statement for SNMP entities which
implement the replication MIB in three layers."
MODULE
MANDATORY-GROUPS { replicManagerGroup, replicClusterGroup }
::= { replicCompliances 3 }
-- Units of conformance
replicManagerGroup OBJECT-GROUP
OBJECTS{
clusterIndex,
clusterID,
clusterAddress,
clusterMember,
clusterOID,
clusterRepClusterID,
clusterName,
clusterDescr,
clusterStatus
}
STATUS current
DESCRIPTION
" The collection of objects for the definition of agents
clusters, which are used to replicate objects."
::= { replicGroups 1 }
replicClusterGroup OBJECT-GROUP
OBJECTS{
cmIndex,
cmAddress,
cmCommunity,
cmStatus,
roIndex,
roOID,
roInterval,
roState,
roStatus,
ncIndex,
ncAddress,
ncROTIndex,
ncStatus,
repAgent,
repOID,
repInstanIndex,
repValue,
repValueType,
repStatus
}
STATUS current
DESCRIPTION
" The collection of objects used to monitor and keep
the replicated objects."
::= { replicGroups 2 }
END
5. Security Considerations
There are a number of management objects defined in this MIB
that have a MAX-ACCESS clause of read-write and/or read-create.
Such objects may be considered sensitive or vulnerable in some
network environments. The support for SET operations in a
non-secure environment without proper protection can have a
negative effect on network operations.
SNMPv1 by itself is not a secure environment. Even if the network
itself is secure (for example by using IPSec), even then, there is no
control as to who on the secure network is allowed to access and
GET/SET (read/change/create/delete) the objects in this MIB.
It is recommended that the implementers consider the security
features as provided by the SNMPv3 framework. Specifically, the use
of the User-based Security Model RFC 2574 [13] and the View-
based Access Control Model RFC 2575 [16] is recommended.
It is then a customer/user responsibility to ensure that the SNMP
entity giving access to an instance of this MIB, is properly
configured to give access to the objects only to those principals
(users) that have legitimate rights to indeed GET or SET
(change/create/delete) them.
6. 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 implementors or users of this specification can
be obtained from the IETF Secretariat.
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.
7. References
[1] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[2] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing SNMP Management Frameworks",
RFC 2571, April 1999.
[3] Rose, M., and K. McCloghrie, "Structure and Identification
of Management Information for TCP/IP-based Internets", STD
16, RFC 1155, May 1990.
[4] Rose, M., and K. McCloghrie, "Concise MIB Definitions",
STD 16, RFC 1212, March 1991.
[5] M. Rose, "A Convention for Defining Traps for use with the
SNMP", RFC 1215, March 1991.
[6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Structure of Management
Information Version 2 (SMIv2)", STD 58, RFC 2578, April
1999.
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Textual Conventions for
SMIv2", STD 58, RFC 2579, April 1999.
[8] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Conformance Statements for
SMIv2", STD 58, RFC 2580, April 1999.
[9] Case, J., Fedor, M., Schoffstall, M., and J. Davin,
"Simple Network Management Protocol", STD 15, RFC 1157,
May 1990.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Introduction to Community-based SNMPv2", RFC 1901,
January 1996.
[11] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Transport Mappings for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1906, January 1996.
[12] Case, J., Harrington D., Presuhn R., and B. Wijnen,
"Message Processing and Dispatching for the Simple Network
Management Protocol (SNMP)", RFC 2572, April 1999.
[13] Blumenthal, U., and B. Wijnen, "User-based Security Model
(USM) for version 3 of the Simple Network Management
Protocol (SNMPv3)", RFC 2574, April 1999.
[14] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Protocol Operations for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1905, January 1996.
[15] Levi, D., Meyer, P., and B. Stewart, "SNMPv3
Applications", RFC 2573, April 1999.
[16] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
Access Control Model (VACM) for the Simple Network
Management Protocol (SNMP)", RFC 2575, April 1999.
[17] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction to Version 3 of the Internet-standard
Network Management Framework", RFC 2570, April 1999.
[18] E.P. Duarte Jr. and Aldri L. dos Santos, "Semi-Active
Replication of SNMP Objects in Agent Groups Applied for Fault
Management", Proceedings of the 7th IFIP/IEEE International
Symposium on Integrated Network Management (IM'01), Seattle,
May 2001.
[19] R. Guerraoui and A. Schiper, "Fault-Tolerance by Replication
in Distributed Systems", International Conference on Reliable
softwares Technologies, Springer Verlag (LNCS), 1996.
[20] M. Wiesmannn, F. Pedone, A. Schiper, B. Kemme and G. Alonso,
"Understanding Replication in Databases and Distributed
Systems", Technical Report SSC/1999/035, Ecole Polytechnique
Federale de Lausanne, Switzerland, September, 1999.
[21] R. Guerraoui and A. Schiper, "Software-based Replication for
Fault Tolerance", IEEE Computer, Vol. 30, No. 4, pp. 86-74,
April, 1997.
[22] E.P. Duarte Jr. and Aldri L. dos Santos, "Network Fault
Management Based on SNMP Agent Groups", Proceedings of the
IEEE 21st International Conference on Distributed Computing
Systems Workshops (ICDCS'2001), Workshop on Applied Reliable
Group Communications, pp. 51-56, Mesa, Arizona, April 2001.
[23] F. B. Schneider,"Implementating Fault-Tolerant Services
Using The State Machine Approach: A Tutorial",
ACM Computing Surveys, Vol. 22, No. 4, pp. 299-319,
December, 1990.
[24] W. Chen, N. Jain, and S. Singh, "ANMP: Ad Hoc Network Management
Protocol", IEEE Journal on Selected Areas in Communications,
Vol. 17, No. 8, August 1999.
[25] K. Birman, "Building Reliable and Secure Network
Applications", Prentice-Hall, 1996.
[26] R. V. Renesse, K. P. Birman and S. Maffeis, "Horus:
A Flexible Group Communication System", Communications of the
ACM, Vol. 39, No. 4, pp. 76-83, April, 1996.
[27] M. G. Hayden, "The Ensemble System", PhD Thesis,
Cornell University, Ithaca, Jan. 1998.
8. Author's Addresses
Aldri Luiz dos Santos
Elias Procopio Duarte Jr.
Federal University of Parana'
Dept. Informatics
P.O. Box 19018
Curitiba, PR 81531-990
Brazil
Phone: +55-41-267-5244
Email: {aldri, elias}@inf.ufpr.br
Glenn Mansfield
Cyber Solutions Inc.
ICR Bldg. 3F 6-6-3 Minami Yoshinari
Aoba-ku Sendai-shi Miyagi
Japan
Phone: +81-22-303-4012
Email: cyber@cysol.co.jp
9. Full Copyright Statement
Copyright (C) The Internet Society (2001). 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.