TIME-AGGREGATE-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,
	experimental,
	OBJECT-TYPE,
	Opaque,
	Integer32
		FROM SNMPv2-SMI
	OwnerString
		FROM RMON-MIB
	RowStatus,
	StorageType,
	TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	MODULE-COMPLIANCE,
	OBJECT-GROUP
		FROM SNMPv2-CONF
	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB;

tAggrMIB MODULE-IDENTITY
	LAST-UPDATED "200604270000Z"	-- Apr 27, 2006 12:00:00 AM
	ORGANIZATION "Cyber Solutions Inc. NetMan Working Group"
	CONTACT-INFO
		"Glenn Mansfield Keeni
		           Postal: Cyber Solutions Inc.
		                   6-6-3, Minami Yoshinari
		                   Aoba-ku, Sendai, Japan 989-3204.
		              Tel: +81-22-303-4012
		              Fax: +81-22-303-4015
		           E-mail: glenn@cysols.com

		Support Group E-mail: mibsupport@cysols.com"
	DESCRIPTION
		"The MIB for servicing Time-Based aggregate
		objects.

		Copyright (C) The Internet Society (2006).  This
		version of this MIB module is part of RFC 4498;
		see the RFC itself for full legal notices.

		"
	REVISION "200604270000Z"	-- Apr 27, 2006 12:00:00 AM
	DESCRIPTION
		"Initial version, published as RFC 4498."
	-- 1.3.6.1.3.124
	::= { experimental 124 }


TAggrMOErrorStatus ::= TEXTUAL-CONVENTION
	STATUS  current
	DESCRIPTION
		"This data type is used to model the error status of the
		sampled MO instance.  The error status for a sampled MO
		instance is given in terms of two elements:
		  o The moIndex, which indicates the sample number of the MO
		    instance (starting at 1) in the value of the time-
		    aggregated MO instance.
		  o The moError, which indicates the error that was
		    encountered in sampling that MO instance.
		The syntax in ASN.1 Notation will be
		ErrorStatus :: = SEQUENCE {
		   moIndex  Integer32,
		   moError  SnmpPduErrorStatus
		}
		TAggrMOErrorStatus ::= SEQUENCE OF {
		   ErrorStatus
		}
		Note1: The command responder will supply values for all
		       the samples of the MO instance.  If an error is
		       encountered for a sample, then the corresponding
		       value will have an ASN.1 value NULL, and an error
		       will be flagged in the corresponding
		       TAggrMOErrorStatus object.
		       Only MOs for which errors have been encountered will
		       the corresponding moIndex and moError values be set.
		Note2: The error code for the component MO instances will be
		       in accordance with the SnmpPduErrorStatus TC defined
		       in the DISMAN-SCHEDULE-MIB[RFC3231].

		"
	SYNTAX Opaque (SIZE (0..1024)


TimeAggrMOValue ::= TEXTUAL-CONVENTION
	STATUS  current
	DESCRIPTION
		"This data type is used to model the time-aggregated MOs.  It





		will be a sequence of values.  The syntax in ASN.1 Notation
		will be
		MOSampleValue :: = SEQUENCE {
		     value ObjectSyntax
		}
		TimeAggrMOValue ::= SEQUENCE OF {
		     MOSampleValue
		}
		where the first MOSampleValue, if any, will always be the
		timestamp of the first sample in the aggregated object.  The
		subsequent values are the values of the MO instance sampled
		at the specified intervals for the specified number of times.
		Note: The command generator will need to know the
		      constituent MO instance and the sampling interval to
		      correctly interpret TimeAggrMOValue.

		"
	SYNTAX Opaque (SIZE (0..1024)


CompressedTimeAggrMOValue ::= TEXTUAL-CONVENTION
	STATUS  current
	DESCRIPTION
		"This data type is used to model the compressed
		TAgMOs."
	SYNTAX Opaque (SIZE (0..1024)


--
-- The Time-Based aggregation control table
--

tAggrCtlTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF TAggrCtlEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The Time-Based aggregation control table.  It controls
		the aggregation of the samples of MO instances.  There
		will be a row for each TAgMO.

		"
	-- 1.3.6.1.3.124.1
	::= { tAggrMIB 1 }


tAggrCtlEntry OBJECT-TYPE
	SYNTAX  TAggrCtlEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"A row of the control table that defines one Time-Based
		aggregate MO (TAgMO)."
	INDEX {
		tAggrCtlEntryID }
	-- 1.3.6.1.3.124.1.1
	::= { tAggrCtlTable 1 }


TAggrCtlEntry ::= SEQUENCE {

	tAggrCtlEntryID              SnmpAdminString,
	tAggrCtlMOInstance           OBJECT IDENTIFIER,
	tAggrCtlAgMODescr            SnmpAdminString,
	tAggrCtlInterval             Integer32,
	tAggrCtlSamples              Integer32,
	tAggrCtlCompressionAlgorithm INTEGER,
	tAggrCtlEntryOwner           OwnerString,
	tAggrCtlEntryStorageType     StorageType,
	tAggrCtlEntryStatus          RowStatus }


tAggrCtlEntryID OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (1..32))
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"A locally unique, administratively assigned name
		for this aggregated MO.  It is used as an index to
		uniquely identify this row in the table."
	-- 1.3.6.1.3.124.1.1.1
	::= { tAggrCtlEntry 1 }


tAggrCtlMOInstance OBJECT-TYPE
	SYNTAX  OBJECT IDENTIFIER
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The sampled values of this MO instance will be
		aggregated by the TAgMO.

		"
	-- 1.3.6.1.3.124.1.1.2
	::= { tAggrCtlEntry 2 }


tAggrCtlAgMODescr OBJECT-TYPE
	SYNTAX  SnmpAdminString (SIZE (0..64))
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"A textual description of the aggregate object."
	-- 1.3.6.1.3.124.1.1.3
	::= { tAggrCtlEntry 3 }


tAggrCtlInterval OBJECT-TYPE
	SYNTAX  Integer32
	UNITS	"micro seconds"
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The interval, in microseconds, at which the MO instance
		pointed at by tAggrInstance will be sampled for
		Time-Based aggregation.

		"
	-- 1.3.6.1.3.124.1.1.4
	::= { tAggrCtlEntry 4 }


tAggrCtlSamples OBJECT-TYPE
	SYNTAX  Integer32
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The number of times at which the MO instance referred
		to by tAggrInstance will be sampled for Time-Based
		aggregation."
	-- 1.3.6.1.3.124.1.1.5
	::= { tAggrCtlEntry 5 }


-- only one compression algorithm is defined as of now.

tAggrCtlCompressionAlgorithm OBJECT-TYPE
	SYNTAX  INTEGER {
			none(1),
			deflate(2) }
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The compression algorithm that will be used by
		the agent to compress the value of the TAgMO.
		The deflate algorithm and corresponding data format
		specification is described in RFC 1951.  It is
		compatible with the widely used gzip utility.

		"
	REFERENCE
		"RFC1951 : DEFLATE Compressed Data Format Specification
		version 1.3

		"
	DEFVAL { none }
	-- 1.3.6.1.3.124.1.1.6
	::= { tAggrCtlEntry 6 }


tAggrCtlEntryOwner OBJECT-TYPE
	SYNTAX  OwnerString
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"A textual description of the entity that created
		this entry.

		"
	-- 1.3.6.1.3.124.1.1.7
	::= { tAggrCtlEntry 7 }


tAggrCtlEntryStorageType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"This object defines whether the parameters defined in
		this row are kept in volatile storage and lost upon
		reboot or backed up by non-volatile (permanent)
		storage.
		Conceptual rows having the value 'permanent' need not
		allow write-access to any columnar objects in the row.

		"
	-- 1.3.6.1.3.124.1.1.8
	::= { tAggrCtlEntry 8 }


tAggrCtlEntryStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The row status variable, used according to row
		installation and removal conventions.
		Objects in a row can be modified only when the value of
		this object in the corresponding conceptual row is not
		'active'.
		Thus, to modify one or more of the objects in this
		conceptual row,
		  a. change the row status to 'notInService',
		  b. change the values of the row, and
		  c. change the row status to 'active'.
		The tAggrCtlEntryStatus may be changed to 'active' iff
		all the MOs in the conceptual row have been assigned
		valid values.

		"
	-- 1.3.6.1.3.124.1.1.9
	::= { tAggrCtlEntry 9 }


--
-- tAggrDataTable: The data table.
--

tAggrDataTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF TAggrDataEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"This is the data table.  Each row of this table contains
		information about a TAgMO indexed by tAggrCtlEntryID.
		tAggrCtlEntryID is the key to the table.  It is used to
		identify instances of the TAgMO that are present in the
		table.

		"
	-- 1.3.6.1.3.124.2
	::= { tAggrMIB 2 }


tAggrDataEntry OBJECT-TYPE
	SYNTAX  TAggrDataEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"Entry containing information pertaining
		to a TAgMO."
	INDEX {
		tAggrCtlEntryID }
	-- 1.3.6.1.3.124.2.1
	::= { tAggrDataTable 1 }


TAggrDataEntry ::= SEQUENCE {

	tAggrDataRecord           TimeAggrMOValue,
	tAggrDataRecordCompressed CompressedTimeAggrMOValue,
	tAggrDataErrorRecord      TAggrMOErrorStatus }


tAggrDataRecord OBJECT-TYPE
	SYNTAX  TimeAggrMOValue
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The snapshot value of the TAgMO."
	-- 1.3.6.1.3.124.2.1.1
	::= { tAggrDataEntry 1 }


tAggrDataRecordCompressed OBJECT-TYPE
	SYNTAX  CompressedTimeAggrMOValue
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The compressed value of the TAgMO.
		The compression algorithm will depend on the
		tAggrCtlCompressionAlgorithm given in the corresponding
		tAggrCtlEntry.  If the value of the corresponding
		tAggrCtlCompressionAlgorithm is (1) 'none', then the





		value of all instances of this object will be a string
		of zero length.
		Note that the access privileges to this object will be
		governed by the access privileges of the corresponding MO
		instance.  Thus, an entity attempting to access an
		instance of this MO MUST have access rights to the
		instance object pointed at by tAggrCtlMOInstance and this
		MO instance.

		"
	-- 1.3.6.1.3.124.2.1.2
	::= { tAggrDataEntry 2 }


tAggrDataErrorRecord OBJECT-TYPE
	SYNTAX  TAggrMOErrorStatus
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The error status corresponding to the MO instance
		samples aggregated in tAggrDataRecord (and
		tAggrDataRecordCompressed)."
	-- 1.3.6.1.3.124.2.1.3
	::= { tAggrDataEntry 3 }


-- Conformance information

tAggrConformance OBJECT IDENTIFIER 
	-- 1.3.6.1.3.124.3
	::= { tAggrMIB 3 }

tAggrGroups OBJECT IDENTIFIER 
	-- 1.3.6.1.3.124.3.1
	::= { tAggrConformance 1 }

tAggrCompliances OBJECT IDENTIFIER 
	-- 1.3.6.1.3.124.3.2
	::= { tAggrConformance 2 }


-- Compliance statements

tAggrMibCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"The compliance statement for SNMP entities
		that implement the TIME-AGGREGATE-MIB."

	MODULE 
	MANDATORY-GROUPS {
			tAggrMibBasicGroup }

	-- 1.3.6.1.3.124.3.2.1
	::= { tAggrCompliances 1 }

-- Units of conformance

tAggrMibBasicGroup OBJECT-GROUP
	OBJECTS {
		tAggrCtlMOInstance,
		tAggrCtlAgMODescr,
		tAggrCtlInterval,
		tAggrCtlSamples,
		tAggrCtlCompressionAlgorithm,
		tAggrCtlEntryOwner,
		tAggrCtlEntryStorageType,
		tAggrCtlEntryStatus,
		tAggrDataRecord,
		tAggrDataRecordCompressed,
		tAggrDataErrorRecord }
	STATUS  current
	DESCRIPTION
		"A collection of objects for Time-Based aggregation
		of MOs."
	-- 1.3.6.1.3.124.3.1.1
	::= { tAggrGroups 1 }

END
