Network Working Group                                  B. Claise
     Internet-Draft                                   M. Chandramouli
     Intended Status: Standards Track                      J. Parello
     Expires: April 16, 2011                             B. Schoening
                                                  Cisco Systems, Inc.
                                                     October 16, 2010
     
                       Power and Energy Monitoring MIB
                    draft-claise-energy-monitoring-mib-06
     
     
     Status of this Memo
     
        This Internet-Draft is submitted to IETF in full conformance
        with the provisions of BCP 78 and BCP 79.
     
        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
     
        This Internet-Draft will expire on September, 2010.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     <Claise, et. Al>        Expires April 16 2011            [Page 1]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     Copyright Notice
     
        Copyright (c) 2010 IETF Trust and the persons identified as the
        document authors.  All rights reserved.
     
        This document is subject to BCP 78 and the IETF Trust's Legal
        Provisions Relating to IETF Documents
        (http://trustee.ietf.org/license-info) in effect on the date of
        publication of this document.  Please review these documents
        carefully, as they describe your rights and restrictions with
        respect to this document.  Code Components extracted from this
        document must include Simplified BSD License text as described
        in Section 4.e of the Trust Legal Provisions and are provided
        without warranty as described in the Simplified BSD License.
     
     
     Abstract
     
        This document defines a subset of the Management Information
        Base (MIB) for power and energy monitoring of devices.
     
     Conventions used in this document
     
       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 [RFC2119].
     
     
     
     Table of Contents
     
        1. Introduction............................................. 4
        2. The Internet-Standard Management Framework............... 5
        3. Use Cases................................................ 5
        4. Terminology.............................................. 5
        5. Architecture Concepts Applied to the MIB Module.......... 6
           5.1 Power Monitor Information............................ 6
           5.2 Power Monitor Levels................................. 6
           5.3 Power Monitor Usage Measurement...................... 7
           5.4 Optional Power Usage Quality......................... 8
           5.5 Optional Energy Measurement.......................... 8
           5.6 Optional Battery Information........................ 12
        6. Implementation Scenarios................................ 12
           Scenario 1: Switch with PoE Endpoints................... 13
           Scenario 2: Switch with PoE Endpoints with Further Connected
           Devices................................................. 14
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 2]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
           Scenario 3: Switch with Wireless Access Points.......... 15
           Scenario 4: Network Connected Facilities Gateway........ 17
           Scenario 5: Data Center Network......................... 20
           Scenario 6: Switch with Power Distribution Units (PDU).. 22
           Scenario 7: Power Consumption of UPS.................... 24
           Scenario 8: Power Consumption of Battery-Based Devices.. 24
        7. Link with the other IETF MIBs........................... 24
           7.1. Link with the ENTITY MIB and the ENTITY-SENSOR MIB. 24
           7.2. Link with the ENTITY-STATE MIB..................... 25
           7.3. Link with the POWER-OVER-ETHERNET MIB.............. 26
           7.4. Link with the UPS MIB.............................. 26
           7.5. Link with the LLDP and LLDP-MED MIBs............... 27
        8. Structure of the MIB.................................... 28
        9. MIB Definitions......................................... 29
        10. Security Considerations................................ 65
        11. IANA Considerations.................................... 66
        12. Acknowledgment......................................... 66
        13. References............................................. 67
           13.1. Normative References.............................. 67
           13.2. Informative References............................ 67
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 3]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
     
     TO DO
     
          . Do we need the pmIndex persistence?
             Agreement among us: should be optional, like for ifIndex.
             Option: the implementation might indicate it. Persistent or
             not might be in shown in a OID, using the StorageType ::=
             TEXTUAL-CONVENTION. One OID that explains the persistence
             of all objects, not more granularity. This must also be
             covered in the architecture draft.
     
          . ACTION: change the pmPowerLevel to pmRequestedPowerLevel,
             and pmPowerActualLevel to pmPowerLevel? The 3 drafts need
             to be changed. DMTF uses "requestedLevel"
     
          . "Power Monitor Child" Feedback received: it's the object to
             be monitored, not the monitoring device. Power
             Monitoring/Monitored Child?
     
          . If [POWER-MON-ARCH] covers the notion of transition state,
             we must be covering this topic in this MIB module.
     
     
     
     1. Introduction
     
        This document defines a subset of the Management Information
        Base (MIB) for use in energy management of devices within or
        connected to communication networks.  The MIB modules in this
        document are designed to provide a model for energy management,
        which includes monitoring for power state and energy consumption
        of networked elements.  This MIB takes into account the Power
        Management Architecture [POWER-MON-ARCH], which in turn, is
        based on the Power Monitoring Requirements [POWER-MON-REQ] .
     
        Energy management is applicable to devices in communication
        networks.  Target devices for this specification include (but
        are not limited to): routers, switches, Power over Ethernet
        (PoE) endpoints, protocol gateways for building management
        systems, intelligent meters, home energy gateways, hosts and
        servers, sensor proxies, etc.
     
        Where applicable, device monitoring extends to the individual
        components of the device and to any attached dependent devices.
        For example: A device can contain components that are
        independent from a power-state point of view, such as line
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 4]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        cards, processor cards, hard drives. A device can also have
        dependent attached devices, such as a switch with PoE endpoints
        or a power distribution unit with attached endpoints.
     
        Devices and their sub-components may be characterized by the
        power-related attributes of a physical entity present in the
        ENTITY MIB, even though the ENTITY MIB compliance is not a
        requirement due to the variety and broad base of devices
        concerned with energy management.
     
     
     2. The Internet-Standard Management Framework
     
        For a detailed overview of the documents that describe the
        current Internet-Standard Management Framework, please refer to
        section 7 of RFC 3410 [RFC3410].
     
        Managed objects are accessed via a virtual information store,
        termed the Management Information Base or MIB.  MIB objects are
        generally accessed through the Simple Network Management
        Protocol (SNMP).  Objects in the MIB are defined using the
        mechanisms defined in the Structure of Management Information
        (SMI).  This memo specifies MIB modules that are compliant to
        SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58,
        RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].
     
     
     3. Use Cases
     
        Requirements for power and energy monitoring for networking
        devices are specified in [POWER-MON-REQ].  The requirements in
        [POWER-MON-REQ] cover devices typically found in communications
        networks, such as switches, routers, and various connected
        endpoints.  For a power monitoring architecture to be useful, it
        should also apply to facility meters, power distribution units,
        gateway proxies for commercial building control, home automation
        devices, and devices that interface with the utility and/or
        smart grid.  Accordingly, the scope of the MIB modules in this
        document is broader than that specified in [POWER-MON-REQ].
        Several scenarios that cover these broader use cases are
        presented later in Section 6 - Implementation Scenarios.
     
     4. Terminology
     
        The definitions of basic terms like Power Monitor, Power Monitor
        Parent, Power Monitor Child, Power Monitor Meter Domain, Power
        Level, and Manufacturer Power Level can be found in the Power
        Management Architecture [POWER-MON-ARCH].
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 5]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
     5. Architecture Concepts Applied to the MIB Module
     
        This section describes the concepts specified in the Power
        Monitor Architecture [POWER-MON-ARCH] that pertain to power
        usage, with specific information related to the MIB module
        specified in this document. This subsection maps to the section
        "Architecture High Level Concepts" in the Power Monitoring
        Architecture [POWER-MON-ARCH].
     
     
       5.1 Power Monitor Information
     
        Refer to the "Power Monitor Information" section in [POWER-MON-
        ARCH] for background information.  An energy aware device is
        considered an instance of a power monitor as defined in the
        [POWER-MON-ARCH].
     
        The Power Monitor information is specified in the MIB module
        primary table, i.e. the pmTable.  Every Power Monitor SHOULD
        have a printable name pmName, and MUST HAVE a unique Power
        Monitor index pmIndex, as specified in [POWER-AWARE-MIB].
     
     
       5.2 Power Monitor Levels
     
        Refer to the "Power Monitor Levels" section in [POWER-MON-ARCH]
        for background information.
     
        Power Levels, which represent universal states of power
        management of a Power Monitor, are specified by the pmPowerLevel
        MIB object.
     
        Via the pmManufacturerActualPowerLevel MIB variable, the
        Manufacturer Power Levels might be read, in case the Power
        Levels specified in this document are not (yet) supported.  The
        Manufacturer Power Level name can be read with the
        pmManufacturerActualPowerLevel Name MIB variable.
     
        When a Power Monitor requires a mapping with the Manufacturer
        Power Level, the Power Monitor configuration is done via the
        Power Level settings, and not directly via the Manufacturer
        Power Levels, which are read-only. The actual Power Level is
        specified by the pmPowerActualLevel MIB object, while the
        pmPowerLevel MIB object specifies the Power Level requested for
        the Power Monitor.  A difference in values between the
        pmPowerLevel and pmPowerActualLevel indicates that the Power
     
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 6]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        Monitor is busy going into the pmPowerLevel, at which point it
        will update the content of pmPowerActualLevel.
     
        The MIB objects pmPowerLevel and pmManufacturerDefinedPowerLevel
        are contained in the pmTable MIB table.
     
        The pmPowerLevelTable table enumerates the maximum power usage
        in watts, for every single supported Power Level of each Power
        Monitor.
     
        The pmPowerLevelMappingTable table enumerates the maximum power
        usage in watts, for every single Manufacturer Power Level.
        Furthermore, this table maps the Manufacturer Power Levels to
        the Power Levels specified in this document (more specifically
        with the PowerMonitorLevel textual convention).  Finally, this
        table returns the name of each Manufacturer Power Level.
     
     
       5.3 Power Monitor Usage Measurement
     
        Refer to the "Power Monitor Usage Measurement" section in
        [POWER-MON-ARCH] for background information.
     
        For a Power Monitor, power usage is reported using pmPower.  The
        magnitude of measurement is based on the pmPowerUnitMultiplier
        MIB variable, based on the UnitMultiplier Textual Convention
        (TC).
     
        For example, if current power usage of a Power Monitor is 3, it
        could be 3 W, 3 mW, 3 KW, or 3 MW, depending on the value of
        pmPowerUnitMultiplier.  Note that other measurements throughout
        the two MIB modules in this document use the same mechanism,
        including pmPowerLevelPowerUnitMultiplier,
        pmDemandIntervalEnergyUnitMultiplier, and
        pmACPwrQualityPowerUnitMultiplier.
     
        In addition to knowing the usage and magnitude, it is useful to
        know how a pmPower measurement was obtained.  An NMS can use
        this to account for the accuracy and nature of the reading
        between different implementations.  For this pmPowerOrigin
        describes whether the measurements were made at the device
        itself or from a remote source.  The pmPowerMeasurementCaliber
        describes the method that was used to measure the power and can
        distinguish actual or estimated values.
     
        The nameplate power rating of a Power Monitor is specified in
        pmPowerNameplate MIB object.
     
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 7]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
       5.4 Optional Power Usage Quality
     
        Refer to the "Optional Power Usage Quality" section in [POWER-
        MON-ARCH] for background information.
     
        The optional powerQualityMIB MIB module can be implemented to
        further describe power usage quality measurement.  The
        powerQualityMIB MIB module adheres closely to the IEC 61850 7-2
        standard to describe AC measurements.
     
        The powerQualityMIB MIB module contains a primary table, the
        pmACPwrQualityTable table, that defines power quality
        measurements for supported pmIndex entities, as a sparse
        extension of the pmTable (with pmIndex as primary index).  This
        pmACPwrQualityTable table contains such information as the
        configuration (single phase, DEL 3 phases, WYE 3 phases),
        voltage, frequency, power accuracy, total active/reactive
        power/apparent power, amperage, and voltage.
     
        In case of 3-phase power, the pmACPwrQualityPhaseTable
        additional table is populated with power quality measurements
        per phase (so double indexed by the pmIndex and pmPhaseIndex).
        This table, which describes attributes common to both WYE and
        DEL configurations, contains the average current,
        active/reactive/apparent power, power factor, and impedance.
     
        In case of 3-phase power with a DEL configuration, the
        pmACPwrQualityDelPhaseTable table describes the phase-to-phase
        power quality measurements, i.e., voltage and current.
     
        In case of 3-phase power with a Wye configuration, the
        pmACPwrQualityWyePhaseTable table describes the phase-to-neutral
        power quality measurements, i.e., voltage and current.
     
     
       5.5 Optional Energy Measurement
     
        Refer to the "Optional Energy Measurement" section in [POWER-
        MON-ARCH] for background information.
     
        It is relevant to measure the demand only when there are actual
        power measurements from a Power Monitor, and not when the power
        measurement is assumed or predicted as specified in the
        description clause of the object pmPowerMeasurementCaliber.
     
        Two tables are introduced to characterize the energy demand:
        pmDemandEnergyTable and pmDemandEnergyParametersTable.  The
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 8]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        pmDemandEnergyParametersTable table consists of parameters
        defining the duration of the demand intervals in seconds,
        (pmDemandEnergyParametersIntervalLength), the number of demand
        intervals kept in the pmDemandEnergyTable,
        (pmDemandEnergyParametersIntervalNumber), the type of demand
        intervals (pmDemandEnergyParametersIntervalMode), and a sample
        rate used to calculate the average
        (pmDemandEnergyParametersSampleRate).  Judicious choice of the
        SamplingRate will ensure accurate measurement of power while not
        imposing an excessive polling burden.
     
        There are three pmDemandEnergyParametersIntervalMode types used
        for energy measurement collection: period, sliding, and total.
        Note that multiple pmDemandEnergyParametersIntervalMode types
        MAY be configured simultaneously.
     
        These three pmDemandEnergyParametersIntervalMode types are
        illustrated by the following three figures, for which:
     
        - The horizontal axis represents the current time, with the
        symbol <--- L ---> expressing the
        pmDemandEnergyParametersIntervalLength, and the
        pmDemandEnergyIntervalStartTime is represented by S1, S2, S3,
        S4, ..., Sx where x is the value of
        pmDemandEnergyParametersIntervalNumber.
     
        - The vertical axis represents the time interval of sampling and
        the value of pmDemandEnergyIntervalEnergyUsed can be obtained at
        the end of the sampling period.  The symbol =========== denotes
        the duration of the sampling period.
     
     
     
              |             |             | =========== |
              |============ |             |             |
              |             |             |             |
              |             |============ |             |
              |             |             |             |
              | <--- L ---> | <--- L ---> | <--- L ---> |
              |             |             |             |
             S1            S2            S3             S4
     
             Figure 1 : Period pmDemandEnergyParametersIntervalMode
     
        A pmDemandEnergyParametersIntervalMode type of 'period'
        specifies non-overlapping periodic measurements.  Therefore, the
        next pmDemandEnergyIntervalStartTime is equal to the previous
     
     
     
     <Claise, et. Al>        Expires April 16, 2011            [Page 9]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        pmDemandEnergyIntervalStartTime plus
        pmDemandEnergyParametersIntervalLength. S2=S1+L; S3=S2+L, ...
     
     
                       |============ |
                       |             |
                       | <--- L ---> |
                       |             |
                       |   |============ |
                       |   |             |
                       |   | <--- L ---> |
                       |   |             |
                       |   |   |============ |
                       |   |   |             |
                       |   |   | <--- L ---> |
                       |   |   |             |
                       |   |   |   |============ |
                       |   |   |   |             |
                       |   |   |   | <--- L ---> |
                      S1   |   |   |             |
                           |   |   |             |
                           |   |   |             |
                          S2   |   |             |
                               |   |             |
                               |   |             |
                              S3   |             |
                                   |             |
                                   |             |
                                  S4
     
            Figure 2 : Sliding pmDemandEnergyParametersIntervalMode
     
        A pmDemandEnergyParametersIntervalMode type of 'sliding'
        specifies overlapping periodic measurements.
     
     
                          |                          |
                          |========================= |
                          |                          |
                          |                          |
                          |                          |
                          |  <--- Total length --->  |
                          |                          |
                         S1
     
             Figure 3 : Total pmDemandEnergyParametersIntervalMode
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 10]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        A pmDemandEnergyParametersIntervalMode type of 'total' specifies
        a continuous measurement since the last reset.  The value of
        pmDemandEnergyParametersIntervalNumber should be (1) one and
        pmDemandEnergyParametersIntervalLength is ignored.
     
        The pmDemandEnergyParametersStatus is useful to specify that the
        energy measurement is actual and thus to indicate if the
        pmDemandEnergyTable entries exist or not.
     
        The pmDemand Table consists of energy measurements in
        pmDemandIntervalEnergyUsed, the scale of energy measured,
        pmDemandIntervalEnergyUnitMultiplier, and the maximum observed
        demand in a window - pmDemandIntervalMax.
     
        The following example illustrates the pmDemandEnergyTable and
        pmDemandEnergyParametersTable:
     
        First, in order to estimate demand, an interval to sample energy
        should be specified, i.e.
        pmDemandEnergyParametersIntervalLength can be "900 seconds" and
        the number of consecutive intervals over which the maximum
        demand is calculated (pmDemandEnergyParametersIntervalNumber) as
        "10".  The sampling rate internal to the Power Monitor for
        measurement of power usage (pmDemandEnergyParametersSampleRate)
        can be "1000 milliseconds", as set by the Power Monitor as a
        reasonable value.  Then, the pmDemandEnergyParametersStatus is
        set to active (value 1) to indicate that the Power Monitor
        should start monitoring the usage per the pmDemandEnergyTable.
     
        The indices in the pmDemandEnergyTable are pmIndex, which
        identifies the Power Monitor, and pmDemandIntervalStartTime,
        which denotes the start time of the demand measurement interval
        based on sysUpTime.  The value of pmDemandIntervalEnergyUsed is
        the measured energy consumption over the time interval specified
        (pmDemandEnergyParametersIntervalLength) based on the Power
        Monitor internal sampling rate
        (pmDemandEnergyParametersSampleRate).  While choosing the values
        for the pmDemandEnergyParametersIntervalLength and
        pmDemandEnergyParametersSampleRate, it is recommended to take
        into consideration either the network element resources adequate
        to process and store the sample values, and the mechanism used
        to calculate the pmDemandEnergyIntervalEnergyUsed.  The units
        are derived from pmDemandIntervalPowerUnitMultiplier.  For
        example, pmDemandIntervalPowerUsed can be "100" with
        pmDemandIntervalPowerUnits equal to 0, the demand is 100 watt-
        hours.  The pmDemandIntervalMax is the maximum demand observed
        and can be "150 watt-hours".
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 11]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        The pmDemandEnergyTable has a buffer to retain a certain number
        of intervals, as defined by
        pmDemandEnergyParametersIntervalNumber.  If the default value of
        "10" is kept, then the pmDemandEnergyTable contains 10 demand
        measurements, including the maximum.
     
        Here is a brief explanation of how the maximum demand can be
        calculated.  The first observed demand measurement value is
        taken to be the initial maximum.  With each subsequent
        measurement, based on numerical comparison, maximum demand may
        be updated.  The maximum value is retained as long as the
        measurements are taking place.  Based on periodic polling of
        this table, an NMS could compute the maximum over a longer
        period, i.e. a month, 3 months, or a year.
     
     
       5.6 Optional Battery Information
     
        EDITOR NOTE: Since a merge between this draft and [QUITTEK-
        POWER-MIB] seems to be the direction that the OPSAWG/EMAN IETF
        WG wants to go, one idea is to copy the battery MIB module from
        [QUITTEK-POWER-MIB].
     
     
     6. Implementation Scenarios
     
        The scope of power and energy monitoring consists of devices
        that consume power within and that are connected to a
        communications network.  These devices include:
     
        - Network devices and sub-components: Devices such as routers
        and switches and their sub-components.
     
        - Network attached endpoints: Devices that use the
        communications network, such as endpoints, PCs, and facility
        gateways that proxy energy monitor and control for commercial
        buildings or home automation.
     
        - Network attached meters or supplies: Devices that can monitor
        the electrical supply, such as smart meters or Universal Power
        Supplies (UPS) that meter and provide availability.
     
        This section provides illustrative examples that model different
        scenarios for implementation of the Power Monitor, including
        Power Monitor Parent and Power Monitor Child relationships.
     
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 12]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     Scenario 1: Switch with PoE Endpoints
     
        Consider a PoE IP phone connected to a switch, as displayed in
        Figure 4.  The IP phone consumes power from the PoE switch.  The
        switch has the following attributes, also illustrated in Figure
        4: pmIndex "1", pmPhysicalEntity "2", and pmPowerMonitorId "UUID
        1000".  The power usage of the switch is "440 Watts".  The
        switch does not have a Power Monitor Parent.
     
        The PoE switch port has the following attributes: The switch
        port has pmIndex "3", pmPhysicalEntity is "12" and
        pmPowerMonitorId is "UUID 1003".  The power metered at the POE
        switch port is "12 watts".  Note that the PoE switch port
        doesn't consume any power, it meters the usage.  When summing
        power usage for the Power Monitor Meter Domain, the PoE switch
        port meter usage should be kept separate from actual Power
        Monitor Children usage.
     
        In this example, the POE switch port has the switch as the Power
        Monitor Parent, with its pmParentID of "1000".
     
        The IP phone has the following attributes: the IP phone has
        pmIndex "31" and pmPowerMonitorId "UUID 2003", but does not have
        an entry for pmPhysicalEntity, as the ENTITY MIB is not
        supported on this device.  The IP phone has a Power Monitor
        Parent: the switch whose pmPowerMonitorId is "UUID 1000".  The
        power usage of the IP phone is metered at the POE switch port
        and the pmPower on the PoE IP phone reports 12.
     
     
        |--------------------------------------------------------------|
        |                            Switch                            |
        |==============================================================|
        | |Switch  | Switch   | Switch       | Switch     | Switch   | |
        | |pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower  | |
        | ============================================================ |
        | |   1    |    2     | UUID 1000    |    null    |   440    | |
        | ============================================================ |
        |                                                              |
        |                           SWITCH PORT                        |
        | ============================================================ |
        | | Switch  | Switch   | Switch       | Switch     | Switch  | |
        | | Port    | Port     | Port         | Port       | Port    | |
        | | pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower | |
        | ============================================================ |
        | |    3    |    12    | UUID 1003    | UUID 1000  |    12   | |
        | ============================================================ |
        |                               ^                              |
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 13]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        |                               |                              |
        |-------------------------------|----------------------------- |
                                        |
                                        |
                          POE IP PHONE  |
                                        |
        ==============================================================
        | IP phone| IP phone | IP phone        | IP phone  | IP phone|
        | pmIndex | EntPhyIdx| pmPowerMonitorId| pmParentID| pmPower |
        ==============================================================
        |   31    |     0    | UUID 2003       | UUID 1000 |    12   |
        ==============================================================
     
                      Figure 4: Scenario 1
     
     
     
     Scenario 2: Switch with PoE Endpoints with Further Connected
        Devices
     
        Consider the same scenario as example 1 with an IP phone
        connected to PoE port of a switch.  Now, in addition, a PC is
        daisy-chained from the IP phone for LAN connectivity.  The phone
        draws power from the PoE port of the switch, while the PC draws
        power from the wall outlet.
     
        The attributes of the switch, switch port and IP phone are the
        same as in Scenario 1.  The attributes of the PC are given
        below.  The PC does not have pmPhysicalEntity.  The pmIndex of
        the PC is "57", the pmPowerMonitorId is "UUID 3003".  The PC has
        a Power Monitor Parent, i.e. the switch whose pmPowerMonitorId
        is "UUID 1000".  The power usage of the PC is "120 Watts" and is
        communicated to the switch port.
     
        This example illustrates the important distinction between the
        Power Monitor Children: The IP phone draws power from the
        switch, while the PC has LAN connectivity from the phone, but is
        powered from the wall outlet.  However, the Power Monitor Parent
        sends power control messages to both the Power Monitor Children
        (IP phone and PC) and the Children react to those messages.
     
        |--------------------------------------------------------------|
        |                            Switch                            |
        |==============================================================|
        |  Switch  | Switch   | Switch       | Switch     | Switch     |
        |  pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower    |
        | ============================================================ |
        |     1    |    2     | UUID 1000    |    null    |   440      |
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 14]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        | ============================================================ |
        |                                                              |
        |                           SWITCH PORT                        |
        | ============================================================ |
        | | Switch  | Switch   | Switch       | Switch     | Switch    |
        | | Port    | Port     | Port         | Port       | Port    | |
        | | pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower | |
        | ============================================================ |
        | |    3    |    12    | UUID 1003    | UUID 1000  |    12   | |
        | ============================================================ |
        |                                   ^                          |
        |                                   |                          |
        |-----------------------------------|--------------------------|
                                            |
                                            |
                          POE IP PHONE      |
                                            |
                                            |
        =============================================================
        | IP phone | IP phone |IP phone        |IP phone   |IP phone|
        | pmIndex  | pmPhyIdx |pmPowerMonitorId|pmParentID |pmPower |
        ============================================================
        |   31     |     0   | UUID 2003     | UUID 1000   |   12   |
        ============================================================
                                             |
                                             |
        PC connected to switch via IP phone  |
                                             |
        =============================================================
        | PC     | PC      |PC              |PC        | PC         |
        | pmIndex| pmPhyIdx|pmPowerMonitorId|pmParentID| pmPower    |
        ============================================================
        | 57      |    0   |  UUID 3003     | UUID 1000 |   120     |
        =============================================================
     
     
                               Figure 5: Scenario 2
     
     
     
     Scenario 3: Switch with Wireless Access Points
     
        Consider a Wireless Access Point connected to the PoE port of a
        switch.  There are several PCs connected to the Wireless Access
        Point over Wireless protocols.  All PCs draw power from the wall
        outlets.
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 15]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        The switch port is the Power Monitor Parent for the Wireless
        Access Point (WAP) and the PCs.  There is a distinction between
        the Power Monitor Children, as the WAP draws power from the PoE
        port of the switch and the PCs draw power from the wall outlet.
     
        The switch has pmIndex "1", pmPhysicalEntity is "2" and
        pmPowerMonitorId is "UUID 1000".  The power usage of the switch
        is "440 Watts".  The switch does not have a Power Monitor
        Parent.
     
        The PoE switch port has the following attributes: The switch
        port has pmIndex "3", pmPhysicalEntity is "12" and
        pmPowerMonitorId is "UUID 1003".  The power usage of the POE
        switch port is "20 watts".  The POE switch port has the switch
        as the parent and the pmParentID is "UUID 1000".
     
        The WAP has the following attributes:  The WAP has no entry for
        pmPhysicalEntity, pmIndex "47", and pmPowerMonitorId "UUID
        2004".  The WAP has a parent: the switch whose pmPowerMonitorId
        is "UUID 1000".  The power usage of the WAP is measured at the
        PoE switch port.
     
        Neither of the two PCs - PC1 and PC2 - has pmPhysicalEntity.
     
        The pmIndex of PC1 is "53" and the pmPowerMonitorId is "UUID 3".
        PC1 has a parent: the switch whose pmPowerMonitorId is "UUID
        1000".  The power usage of PC1 is "120 Watts" and is
        communicated to the switch port.
     
        The pmIndex of PC2 is "58" and the pmPowerMonitorId is "UUID 5".
        PC2 has a parent: the switch whose pmPowerMonitorId is "UUID
        1000".  The power usage of the PC is "120 Watts" and is
        communicated to the switch port.
     
        |--------------------------------------------------------------|
        |                            Switch                            |
        |==============================================================|
        |  Switch  | Switch   | Switch       | Switch     | Switch     |
        |  pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower    |
        | ============================================================ |
        |     1    |    2     |   UUID 1000  |    null    |   440      |
        | ============================================================ |
        |                                                              |
        |                           SWITCH PORT                        |
        | ============================================================ |
        | | Switch  | Switch   | Switch       | Switch     | Switch  | |
        | | Port    | Port     | Port         | Port       | Port    | |
        | | pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower | |
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 16]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        | ============================================================ |
        | |    3    |    12    |   UUID 1003  |  UUID 1000 |    20   | |
        | ============================================================ |
        |                                               ^              |
        |                                               |              |
        |-----------------------------------------------|--------------|
                                                        |
                           POE Wireless Access Point    |
                                                        |
                                                        |
        ==============================================================
        | WAP      | WAP      |  WAP          | WAP        | WAP     |
        | pmIndex  | pmPhyIdx |  pmPowerMonId | pmParentID | pmPower |
        ==============================================================
        |   47    |      0    |  UUID 2004    | UUID 1000  |   20    |
        ==============================================================
                                                 .
                                                 .
                                                 .
                                                 .
           PC1 connected to WAP                  .
                                                 .
     
        ==============================================================
        | PC     | PC       |PC                | PC         | PC      |
        | pmIndex| pmPhyIdx |pmPowerMonitorId  | pmParentID | pmPower |
        ==============================================================
        |   53   |    0     |   UUID 3004      | UUID 1000  | 120     |
        ==============================================================
                                                 .
                                                 .
           PC2 connected to WAP                  .
                                                 .
        ================================================================
        | PC     | PC       |PC                |  PC         | PC      |
        | pmIndex| pmPhyIdx |pmPowerMonitorId  |  pmParentID | pmPower |
        ===============================================================
        |   58    |    0    |   UUID 4004      | UUID 1000   | 120     |
        ================================================================
     
     
                      Figure 6: Scenario 3
     
     
     
     Scenario 4: Network Connected Facilities Gateway
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 17]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
     
                   ------
                   | NMS |
                   |     |
                   ------
                     |
                     |
                     |
                  ========================(IP Network)
                           ^
                           | North side interface
                           |
                     -----------------------
                     |   Building Gateway   |
                     |                      |
                     -----------------------
                       |               | Ethernet Interface
              RS-232/  |               |
              RS-438   |               | MODBUS, BACNET, etc...
                       |               |
                    ---------          |  --------
            HVAC    | Cont  |          |  | Cont |   UPS
     -------------- | roll  |          |--| roll |---------
        |        |  | er 1  |          |  | er 3 |  |
        |        |  ---------          |  --------  |
     <meter2> <meter1> |               |        <meter5>
                       |               |
                       |               |
                   --------            |  -------
        Lighting   | Cont |            |  | Cont |  Electrical
      ------------ | roll |            |--| roll |------------
         |       | | er 2 |            |  | er 4 |   |       |
         |       | --------            |  -------    |       |
     <meter3> <meter4>                            <meter6> <meter7>
     
                            Figure 7: Scenario 4
     
     
     
        A simplified illustration of the building gateway network is
        presented in Figure 7.  At the top of the network hierarchy of a
        building network is a gateway device that can perform protocol
        conversion between many facility management devices. The south
        building gateway communicates to the controllers, via RS-232/RS-
        485 interfaces, ethernet interfaces, and building management
        protocols such as BACNET or MODBUS.  Each controller is
        associated with a specific energy-consuming function, such as
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 18]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        HVAC, electrical or lighting.  The controllers are in turn
        connected to the actual building energy management devices:
        meters, sub-meters, valves, actuators, etc.  Controller 1 is
        associated with a meter for the HVAC system and controller 2 can
        be associated with a meter for the Lighting.
     
        Assuming that the MIB is implemented on the gateway device, the
        building gateway can be considered as the Power Monitor Parent,
        and the controllers associated with the meters can be considered
        as Power Monitor Children. Tthe power measurement collected is
        therfore at the granularity of a controller, which aggregates
        all the energy measurement collected from all the meters and
        sub-meters.  However, if energy measurement needs to be
        collected at a meter level, then the MIB should be implemented
        at the controller level.
     
        In building management, the EntPhysicalIndex usually is not
        defined for these Power Monitor Parents or Children, as the
        ENTITY MIB is generally not implemented for these devices.
        Hence the gateway, controller 1, and controller 2 all have
        pmPhysicalEntities of value zero.
     
        The pmIndex of the gateway is "7", and the pmPowerMonitorId is
        "UUID 1000".  The gateway does not have a Power Monitor Parent.
        The total power usage of the gateway and its children is "2000
        Watts".
     
        Controller 1 has pmIndex "707", and pmPowerMonitorId is "UUID
        5007". Controller 1 will report a power usage of "2000 watts".
        Controller 1 has the gateway as the parent and its pmParentID is
        "UUID 1000".
     
        Controller 2 has pmIndex "708", and pmPowerMonitorId is "UUID
        5008". Controller 2 will report a power usage of "500 watts".
        Controller 2 has the gateway as the Power Monitor Parent and its
        pmParentID is "UUID 1007".
     
     
     
           ----------------------------------------------------------
           |                          Building Gateway               |
           |                                                         |
           |======================================================== |
           |  Mediat  | Mediat   | Mediat       | Mediat   | Mediat  |
           |  pmIndex | pmPhyIdx | pmPowerMonId | pmParentId|pmPower |
           |======================================================== |
           |     7    |    None  | UUID 1000    |    Null    | 2500  |
           |======================================================== |
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 19]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                                                                  |
            ------------------------------------------------------
            |
            |
            |=> Controller 1
            =========================================================
            | Cntrl1  | Cntrl1   | Cntrl1     | Cntrl1     | Cntrl1  |
            | pmIndex | pmPhyIdx |pmPowerMonId|pmParentID  | pmPower |
            |========================================================|
            |   707   |    0    |   UUID 5007 | UUID 1000  | 2000    |
            |=========================================================
            |
            |
            |===>Controller 2
            ==========================================================
            | Cntrl2   | Cntrl2   | Cntrl2     | Cntrl2     | Cntrl2  |
            |  pmIndex | pmPhyIdx |pmPowerMonId| pmParentID |pmPower  |
            | ========================================================|
            |     708  |    0    |   UUID 5008 | UUID 1000  |   500   |
            |                                                         |
            |=========================================================|
     
                         Figure 8: Scenario 4
     
     
     
     Scenario 5: Data Center Network
     
        A typical data center network consists of a hierarchy of
        switches.  At the bottom of the hierarchy are servers mounted on
        a rack, and these are connected to the top-of-the-rack switches.
        The top switches are connected to aggregation switches that are
        in turn connected to core switches.  As an example, Server 1 and
        Server 2 are connected to different switch ports of the top
        switch, as shown in Figure 9.
     
        The proposed MIB can be implemented on the switches.  The switch
        can be considered as the Power Monitor Parent.  The servers can
        be considered as the Power Monitor Children.
     
        The switch has pmIndex "1", pmPhysicalEntity is "2", and the
        pmPowerMonitorId is "UUID 1000".  The power usage of the switch
        is "440 Watts". The switch does not have a parent.
     
        The switch ports are non-PoE and have the following attributes:
        Server 1 is connected to Switch port 1.  Switch port 1 has
        pmIndex "3", pmPhysicalEntity is "12", and pmPowerMonitorId is
        "UUID 1003".  Switch port 2 has pmIndex "4", pmPhysicalEntity is
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 20]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        "13", and pmPowerMonitorId is "UUID 1004".  The power usage of
        the non-POE switch port cannot be measured.  The switch ports
        have the switch as the Power Monitor Parent and its pmParentID
        is "1000".
     
     
        Server 1 has a value of zero for pmPhysicalEntity.  The pmIndex
        of Server 1 is "5", and the pmPowerMonitorId is "UUID 2006".
        Server 1 has a Power Monitor Parent: The switch whose
        pmPowerMonitorId is "1000".  The power usage of Server 1 is "200
        Watts" and is communicated to the switch port.
     
        Server 2 has a value of zero for pmPhysicalEntity.  The pmIndex
        of Server 2 is "6", and the pmPowerMonitorId is "UUID 3006".
        Server 1 has a parent: The switch whose pmPowerMonitorId is
        "1000".  The power usage of the Server 2 is "140 Watts" and is
        communicated to the switch port.
     
        Communication of power usage of Server1 and Server2 to the
        switch is out of scope of this document.
     
        |--------------------------------------------------------------|
        |                            Switch                            |
        |==============================================================|
        | |Switch  | Switch   | Switch       | Switch     | Switch   | |
        | |pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower  | |
        | ============================================================ |
        | |   1    |    2     | UUID 1000    |    null    |   440    | |
        | ============================================================ |
        |                                                              |
        |                                                              |
        |                           SWITCH PORT 1                      |
        | ============================================================ |
        | | Switch  | Switch   | Switch       | Switch     | Switch    |
        | | Port1   | Port1    | Port1        | Port1      | Port1     |
        | | pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower   |
        | ============================================================ |
        | |   3     |    12    | UUID 1003    | UUID 1000  |    NULL  ||
        | ============================================================ |
        |                                                              |
        |                             SWITCH PORT 2                    |
        | ============================================================ |
        | | Switch  | Switch   | Switch       | Switch     | Switch    |
        | | Port2   | Port2    | Port2        | Port2      | Port2     |
        | | pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower   |
        | ============================================================ |
        | |    4    |    13    | UUID 1004    | UUID 1000  |    NULL   |
        | ============================================================ |
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 21]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        |                                                              |
        |                                                              |
        |--------------------------------------------------------------|
        |
        |
        |    Server 1 connected to switch (Non-POE)
        |  =============================================================
        |  | Server 1| Server 1 | Server 1       | Server 1 | Server 1 |
        |  | pmIndex | pmPhyIdx |pmPowerMonitorId|pmParentID| pmPower  |
        |=>|============================================================
        |  |    5    |    0     | UUID 2006      | UUID 1000 | 200     |
        |  =============================================================
        |
        |    Server 2 connected to switch (Non-POE)
        |  ============================================================
        |=>| Server 2| Server 2 | Server 2       | Server 2 | Server 2 |
           | pmIndex | pmPhyIdx |pmPowerMonitorId|pmParentID| pmPower  |
           =============================================================
           |    6    |     0    | UUID 3006      | UUID 1000  | 140    |
           =============================================================
     
     
                      Figure 9: Scenario 5
     
     Scenario 6: Switch with Power Distribution Units (PDU)
     
        Consider Scenario 1 again, this time with two PDUs.  The switch
        draws power from one of the PDUs, while the PDUs are plugged
        into the switch for LAN connectivity.
     
        The attributes of the switch and switch ports are the same as
        in Scenario 1.  The attributes of the PDUs are given in Figure
        11.
     
        The PDUs are network peers of the switch, with their own
        management agent and no pmPowerMonitor parent pmPowerMonitorId,
        as the PDUs are Power Monitor Parents themselves.  The power
        usage of the PDUs are reporting 3000 watts and 12000 watts
        categorized as 'Meter'.
     
        This example illustrates the distinction between power supply,
        metering, and LAN connectivity.  The PDUs supply and meter
        power to the switch, while the PC has LAN connectivity from the
        phone, but is powered from the wall outlet.  However, the Power
        Monitor Parent sends power control messages to both the Power
        Monitor Children (IP phone and PC) and the children react to
        those messages.
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 22]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        |--------------------------------------------------------------|
        |                            Switch                            |
        |==============================================================|
        |  Switch  | Switch   | Switch       | Switch     | Switch     |
        |  pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower    |
        | ============================================================ |
        |     1    |    2     | UUID 1000    |    null    |   440      |
        | ============================================================ |
        |                                                              |
        |                           SWITCH PORT                        |
        | ============================================================ |
        | | Switch  | Switch   | Switch       | Switch     | Switch    |
        | | Port    | Port     | Port         | Port       | Port    | |
        | | pmIndex | pmPhyIdx | pmPowerMonId | pmParentId | pmPower | |
        | ============================================================ |
        | |    3    |    12    |              | UUID 1000  |     0   | |
        | ============================================================ |
        | |    4    |    13    |              | UUID 1000  |     0   | |
        | ============================================================ |
        |                                   ^                          |
        |                                   |                          |
        |-----------------------------------|--------------------------|
                                            |
                                            |
                  PDU #1  (no children)     |
                                            |
                                            |
        =============================================================
        | PDU      | PDU      |PDU             |PDU        | Meter  |
        | pmIndex  | pmPhyIdx |pmPowerMonitorId|pmParentID |pmPower |
        ============================================================
        |  1       |    1    | UUID 2001       | null      | 3000   |
        ============================================================
                                             |
                                             |
                  PDU #2  (with children)_   |
                                             |
        =============================================================
        | PDU      | PDU      |PDU             |PDU        | Meter  |
        | pmIndex  | pmPhyIdx |pmPowerMonitorId|pmParentID |pmPower |
        ============================================================
        |  1       |    1     | UUID 3001      | null      |   600  |
        |  2       |    2     | UUID 3002      | null      |  1000  |
        |  3       |    3     | UUID 3003      | null      |   800  |
        =============================================================
     
     
                            Figure 11: Scenario 6
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 23]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
     
     Scenario 7: Power Consumption of UPS
     
        Data centers and commercial buildings can have Uninterruptible
        Power Supplies (UPS) connected to the network. The Power Monitor
        can be used to model a UPS as a Power Monitor Parent with the
        connected devices as Power Monitor Children.
     
        EDITOR'S NOTE: the example will be completed in the future.
     
     Scenario 8: Power Consumption of Battery-Based Devices
     
        As specified in [POWER-MON-REQ], battery-state monitoring is a
        requirement for the Power and Energy Monitoring MIB.
        EDITOR NOTE: since a merge between this draft and [QUITTEK-
        POWER-MIB] seems to be the direction that the OPSAWG IETF WG
        wants to go, one idea is to copy the battery MIB module from
        [QUITTEK-POWER-MIB].
     
     
     7. Link with the other IETF MIBs
     
     
     7.1. Link with the ENTITY MIB and the ENTITY-SENSOR MIB
     
        RFC 4133 [RFC4133] defines the ENTITY MIB module that lists the
        physical entities of a networking device (router, switch, etc.)
        and those physical entities indexed by entPhysicalIndex.  From
        an energy-management standpoint, the physical entities that
        consume or produce energy are of interest.
     
        RFC 3433 [RFC3433] defines the ENTITY-SENSOR MIB module that
        provides a standardized way of obtaining information (current
        value of the sensor, operational status of the sensor, and the
        data units precision) from sensors embedded in networking
        devices.  Sensors are associated with each index of
        entPhysicalIndex of the ENTITY MIB [RFC4133].  While the focus
        of the Power and Energy Monitoring MIB is on measurement of
        power usage of networking equipment indexed by the ENTITY MIB,
        this MIB proposes a customized power scale for power measurement
        and different power level states of networking equipment, and
        functionality to configure the power level states.
     
        When this MIB module is used to monitor the power usage of
        devices like routers and switches, the ENTITY MIB and ENTITY-
        SENSOR MIB SHOULD be implemented.  In such cases, the Power
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 24]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        Monitors are modeled by the entPhysicalIndex through the
        pmPhysicalEntity MIB object specified in the pmTable.
     
        However, the ENTITY-SENSOR MIB [RFC3433] does not have the ANSI
        C12.x accuracy classes required for electricity (i.e., 1%, 2%,
        0.5% accuracy classes). Indeed, entPhySensorPrecision [RFC3433]
        represents "The number of decimal places of precision in fixed-
        point sensor values returned by the associated entPhySensorValue
        object".  The ANSI and IEC Standards are used for power
        measurement and these standards require that we use an accuracy
        class, not the scientific-number precision model specified in
        RFC3433.  The pmPowerAccuracy MIB object models this accuracy.
        Note that pmPowerUnitMultipler represents the scale factor per
        IEC 61850, which is a more logical representation for power
        measurements (compared to entPhySensorScale), with the mantissa
        and the exponent values X * 10 ^ Y.
     
        Power measurements specifying the qualifier 'UNITS' for each
        measured value in watts are used in the LLDP-EXT-MED-MIB, POE
        [RFC3621], and UPS [RFC1628] MIBs.  The same 'UNITS' qualifier
        is used for the power measurement values.
     
        One cannot assume that the ENTITY MIB and ENTITY-SENSOR MIB are
        implemented for all Power Monitors that need to be monitored.  A
        typical example is a converged building gateway, monitoring
        several other devices in the building, doing the proxy between
        SNMP and a protocol like BACNET.  Another example is the home
        energy controller.  In such cases, the pmPhysicalEntity value
        contains the zero value, thanks to PhysicalIndexOrZero textual
        convention.
     
        The pmIndex MIB object has been kept as the unique Power Monitor
        index.   The pmPower is similar to entPhySensorValue [RFC3433]
        and the pmPowerUnitMultipler is similar to entPhySensorScale.
     
     
     7.2. Link with the ENTITY-STATE MIB
     
        For each entity in the ENTITY-MIB [RFC4133], the ENTITY-STATE
        MIB [RFC4268] specifies the operational states (entStateOper:
        unknown, enabled, disabled, testing), the alarm (entStateAlarm:
        unknown, underRepair, critical, major, minor, warning,
        indeterminate) and the possible values of standby states
        (entStateStandby: unknown, hotStandby, coldStandby,
        providingService).
     
        From a power monitoring point of view, in contrast to the entity
        operational states of entities, Power Levels are required, as
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 25]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        proposed in the Power and Energy Monitoring MIB module.  Those
        Power Levels can be mapped to the different operational states
        in the ENTITY-STATE MIB, if a formal mapping is required.  For
        example, the entStateStandby "unknown", "hotStandby",
        "coldStandby", states could map to the Power Level "unknown",
        "ready", "standby", respectively, while the entStateStandby
        "providingService" could map to any "low" to "high" Power Level.
     
     
     7.3. Link with the POWER-OVER-ETHERNET MIB
     
        Power-over-Ethernet MIB [RFC3621] provides an energy monitoring
        and configuration framework for power over Ethernet devices.
        The RFC introduces a concept of a port group on a switch to
        define power monitoring and management policy and does not use
        the entPhysicalIndex as the index.  Indeed, the
        pethMainPseConsumptionPower is indexed by the
        pethMainPseGroupIndex, which has no mapping with the
        entPhysicalIndex.
     
        One cannot assume that the Power-over-Ethernet MIB is
        implemented for all Power Monitors that need to be monitored.  A
        typical example is a converged building gateway, monitoring
        several other devices in the building, doing the proxy between
        SNMP and a protocol like BACNET.  Another example is the home
        energy controller.  In such cases, the pmethPortIndex and
        pmethPortGrpIndex values contain the zero value, thanks to new
        PethPsePortIndexOrZero and textual PethPsePortGroupIndexOrZero
        conventions.
     
        However, if the Power-over-Ethernet MIB [RFC3621] is supported,
        the Power Monitor pmethPortIndex and pmethPortGrpIndex contain
        the pethPsePortIndex and pethPsePortGroupIndex, respectively.
     
        As a consequence, the pmIndex MIB object has been kept as the
        unique Power Monitor index.
     
        Note that, even though the Power-over-Ethernet MIB [RFC3621] was
        created after the ENTITY-SENSOR MIB [RFC3433], it does not reuse
        the precision notion from the ENTITY-SENSOR MIB, i.e. the
        entPhySensorPrecision MIB object.
     
     
     7.4. Link with the UPS MIB
     
        To protect against unexpected power disruption, data centers and
        buildings make use of Uninterruptible Power Supplies (UPS).  To
        protect critical assets, a UPS can be restricted to a particular
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 26]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        subset or domain of the network.  UPS usage typically lasts only
        for a finite period of time, until normal power supply is
        restored.  Planning is required to decide on the capacity of the
        UPS based on output power and duration of probable power outage.
        To properly provision UPS power in a data center or building, it
        is important to first understand the total demand required to
        support all the entities in the site.  This demand can be
        assessed and monitored via the Power and Energy Monitoring MIB.
     
        UPS MIB [RFC1628] provides information on the state of the UPS
        network.  Implementation of the UPS MIB is useful at the
        aggregate level of a data center or a building.  The MIB module
        contains several groups of variables:
     
         - upsIdent: Identifies the UPS entity (name, model, etc.).
     
        - upsBattery group: Indicates the battery state
        (upsbatteryStatus, upsEstimatedMinutesRemaining, etc.)
     
        - upsInput group: Characterizes the input load to the UPS
        (number of input lines, voltage, current, etc.).
     
        - upsOutput: Characterizes the output from the UPS (number of
        output lines, voltage, current, etc.)
     
        - upsAlarms: Indicates the various alarm events.
     
        The measurement of power in the UPS MIB is in Volts,  Amps and
        Watts.  The units of power measurement are RMS volts and RMS
        Amps. They are not based on EntitySensorDataScale and
        EntitySensorDataPrecision of Entity-Sensor MIB.
     
        Both the Power and Energy Monitoring MIB and the UPS MIB may be
        implemented on the same UPS SNMP agent, without conflict.  In
        this case, the UPS device itself is the Power Monitor Parent and
        any of the UPS meters or submeters are the Power Monitor
        Children.
     
     
     7.5. Link with the LLDP and LLDP-MED MIBs
     
        The LLDP Protocol is a Data Link Layer protocol used by network
        devices to advertise their identities, capabilities, and
        interconnections on a LAN network.
     
        The Media Endpoint Discovery is an enhancement of LLDP, known as
        LLDP-MED.  The LLDP-MED enhancements specifically address voice
        applications.  LLDP-MED covers 6 basic areas: capability
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 27]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        discovery, LAN speed and duplex discovery, network policy
        discovery, location identification discovery, inventory
        discovery, and power discovery.
     
        Of particular interest to the current MIB module is the power
        discovery, which allows the endpoint device (such as a PoE
        phone) to convey power requirements to the switch.  In power
        discovery, LLDP-MED has four Type Length Values (TLVs): power
        type, power source, power priority and power value.
        Respectively, those TLVs provide information related to the type
        of power (power sourcing entity versus powered device), how the
        device is powered (from the line, from a backup source, from
        external power source, etc.), the power priority (how important
        is it that this device has power?), and how much power the
        device needs.
     
        The power priority specified in the LLDP-MED MIB [LLDP-MED-MIB]
        actually comes from the Power-over-Ethernet MIB [RFC3621]. If
        the Power-over-Ethernet MIB [RFC3621] is supported, the exact
        value from the pethPsePortPowerPriority [RFC3621] is copied over
        in the lldpXMedRemXPoEPDPowerPriority [LLDP-MED-MIB]; otherwise
        the value in lldpXMedRemXPoEPDPowerPriority is "unknown". From
        the Power and Energy Monitoring MIB, it is possible to identify
        the pethPsePortPowerPriority [RFC3621], thanks to the
        pmethPortIndex and pmethPortGrpIndex.
     
        The lldpXMedLocXPoEPDPowerSource [LLDP-MED-MIB] is similar to
        pmPowerOrigin in indicating if the power for an attached device
        is local or from a remote device. If the LLDP-MED MIB is
        supported, the following mapping can be applied to the
        pmPowerOrigin: lldpXMedLocXPoEPDPowerSource fromPSE(2) and
        local(3) can be mapped to remote(2) and self(1), respectively.
     
     
     8. Structure of the MIB
     
       The primary MIB object in this MIB module is the
       PowerMonitorMIBObject.  The pmTable table of
       PowerMonitorMibObject describes an entity in the network that is
       a Power Monitor.
     
       A Power Monitor contains information describing itself as an
       entity in the context of the network (such as its Power Monitor
       Meter Domain pmDomainName) and attributes for describing its
       business context (such as pmImportance, pmRoleDescription and
       pmKeywords).
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 28]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
       A Power Monitor contains information describing its power usage
       (pmPower) and its power state (pmPowerLevel).  Along with the
       power usage is information describing how the power usage was
       determined (such as pmPowerMeasurementCaliber and
       pmPowerOrigin).
     
       The pmPowerLevelMappingTable table enumerates the maximum power
       usage in watts for every Manufacturer Power Level.  This table
       also maps the Manufacturer Power Levels to the Power Levels
       specified in this document (more specifically, to the
       PowerMonitorLevel textual convention).  Finally, this table
       returns the name of each Manufacturer Power Level.
     
       A Power Monitor may contain an optional pmPowerQuality table
       that describes the electrical characteristics associated with
       the current power state and usage.
     
       A Power Monitor may contain an optional pmDemandEnergyTable to
       describe energy information over time.
     
       A Power Monitor may also contain optional battery information
       associated with this entity.
     
       EDITOR NOTE: since a merge between this draft and [QUITTEK-
       POWER-MIB] seems to be the direction that the OPSAWG IETF WG
       wants to go, one idea is to copy the battery MIB module from
       [QUITTEK-POWER-MIB].
     
     
     
     9. MIB Definitions
     
     
        -- ************************************************************
        --
        --
        -- This MIB is used to monitor power usage of network
        -- devices
        --
        -- *************************************************************
     
        POWER-MONITOR-MIB DEFINITIONS ::= BEGIN
     
        IMPORTS
            MODULE-IDENTITY,
            OBJECT-TYPE,
            NOTIFICATION-TYPE,
            mib-2,
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 29]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            Integer32, TimeTicks
                FROM SNMPv2-SMI
            TEXTUAL-CONVENTION, DisplayString, RowStatus, TimeInterval
                FROM SNMPv2-TC
            MODULE-COMPLIANCE,
            NOTIFICATION-GROUP,
            OBJECT-GROUP
                FROM SNMPv2-CONF
            SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
     
     
             pmEntry, pmIndex
                FROM ENERGY-AWARE-NETWORKS-AND-DEVICE-MIB;
     
     
     
     
     
        powerMonitorMIB MODULE-IDENTITY
            LAST-UPDATED    "201010150000Z"
            ORGANIZATION    "Cisco Systems, Inc."
            CONTACT-INFO
                    "Cisco Systems
                    Customer Service
     
                    Postal: 170 W Tasman Drive
                    San Jose, CA  95134
                    USA
     
                    Tel: +1 800 553-NETS
     
                    E-mail: cs-snmp@cisco.com"
     
            DESCRIPTION
               "This MIB is used to monitor power and energy in
               devices."
            REVISION
                "201010150000Z"
            DESCRIPTION
               "Initial version, published as RFC XXXX."
     
     
           ::= { mib-2 xxxxx }
     
        powerMonitorMIBNotifs OBJECT IDENTIFIER
            ::= { powerMonitorMIB 0 }
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 30]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        powerMonitorMIBObjects OBJECT IDENTIFIER
            ::= { powerMonitorMIB 1 }
     
        powerMonitorMIBConform  OBJECT IDENTIFIER
            ::= { powerMonitorMIB 2 }
     
     
        -- Textual Conventions
     
     
        PowerMonitorLevel ::= TEXTUAL-CONVENTION
            STATUS          current
            DESCRIPTION
        "An enumerated integer value that represents the value of the
        power policy level, a current power setting at which a Power
        Monitor uses power.
     
        There are twelve power policy levels, divided into six
        operational states, and six non-operational states.  The lowest
        non-operational state is 1 and the highest is six.  Each non-
        operational state corresponds to an ACPI level [ACPI]
        corresponding to Global and System levels between G3 (hard-off)
        and G1 (sleeping).  For operational levels, 6 is the lowest, and
        12 the highest (full power).  Each operational level represent a
        performance state, and may be mapped to ACPI states P0 (maximum
        performance & power) through P5 (minimum performance and minimum
        power).
     
        An entity may have fewer power levels than twelve and would then
        map several policy levels to the same power state.  Entities
        with more than twelve levels, would choose which twelve to
        represent as power policy levels.
     
        Note that Power Monitor Parents MUST report some of the non-
        operational Power Levels of their Power Monitor Children who are
        unable to report their Power Level.  For example: A phone may
        notify its Power Monitor Parent that it will go into a
        mechoff(1) or hibernate(3) state so that the Power Monitor
        Parent can report the phone's current state (such as zero or 1
        watt).  Conversely, a PC with Desktop and mobile Architecture
        for System Hardware [DASH] out-of-band management is an example
        where a Power Monitor Child can report its usage and level even
        when in a non-operational state.
     
        In each of the non-operational levels (from mechoff(1) to
        ready(6)), the Power Level preceding it is expected to have a
        lower power consumption and a longer delay in returning to an
        operational state:
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 31]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
     
                 mechoff(1)  : An off state where no entity features are
                               available.  The entity is unavailable.
                               No energy is being consumed and the power
                               connector can be removed.  This
                               corresponds to ACPI level G3.
     
                 softoff(2)  : Similar to mechoff(1), but some
                               components remain powered or receive
                               trace power so that the entity
                               can be awakened from its off state.  In
                               softoff(2), no context is saved and the
                               device typically requires a complete boot
                               when awakened.  This corresponds to ACPI
                               level G2.
     
                 hibernate(3): No entity features are available.  The
                               entity may be awakened without requiring
                               a complete boot, but the time for
                               availability is longer than sleep(4). An
                               example for state hibernate(3) is a save-
                               to-disk state where DRAM context is not
                               maintained. Typically, energy consumption
                               is zero or close to zero.  This
                               corresponds to level G1, S4 in ACPI.
     
                 sleep(4)    : No entity features are available, except
                               for out-of-band management, for example
                               wake-up mechanisms. The time for
                               availability is longer than standby(5).
                               An example for state sleep(4) is a save-
                               to-RAM state, where DRAM context is
                               maintained.  Typically, energy
                               consumption is close to zero. This
                               corresponds to level G1, S3 in ACPI.
     
                 standby(5) : No entity features are available, except
                              for out-of-band management, for example
                              wake-up mechanisms. This mode is analogous
                              to cold-standy.  The time for availability
                              is longer than ready(6).  For example, the
                              processor context is not maintained.
                              Typically, energy consumption is close to
                              zero. This corresponds to level G1, S2 in
                              ACPI.
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 32]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                 ready(6)    : No entity features are available, except
                               for out-of-band management, for example
                               wake-up mechanisms. This mode is
                               analogous to hot-standby.  The entity can
                               be quickly transitioned into an
                               operational state.  For example,
                               processors are not executing, but
                               processor context is maintained. This
                               corresponds to level G1, S1 in ACPI.
     
                 lowMinus(7) : Indicates some entity features may not be
                               available and the entity has selected
                               measures/options to provide less than
                               low(8) usage.  This corresponds to
                               ACPI State G0. This includes operational
                               levels lowMinus(7) to full(12).
     
                 low(8)      : Indicates some features may not be
                               available and the entity has taken
                               measures or selected options to provide
                               less than mediumMinus(9) usage.
     
                 mediumMinus(9): Indicates all entity features are
                               available but the entity has taken
                               measures or selected options to provide
                               less than medium(10) usage.
     
                 medium(10)  : Indicates all entity features are
                               available but the entity has taken
                               measures or selected options to provide
                               less than highMinus(11) usage.
     
                 highMinus(11) : Indicates all entity features are
                               available and power usage is less
                               than high(12).
     
     
     
                 high(12)    : Indicates all entity features are
                               available and the entity is consuming the
                               highest power.
     
                Note that unknown(0) is not a Power Level as such, but
                simply an indication that the Power Level unavailable."
     
     
            SYNTAX          INTEGER  {
                                unknown(0),
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 33]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                                mechoff(1),
                                softoff(2),
                                hibernate(3),
                                sleep(4),
                                standby(5),
                                ready(6),
                                lowMinus(7),
                                low(8),
                                mediumMinus(9),
                                medium(10),
                                highMinus(11),
                                high(12)
                            }
     
        UnitMultiplier ::= TEXTUAL-CONVENTION
            STATUS          current
            DESCRIPTION
               "The Unit Multiplier is an integer value that represents
               the IEEE 61850 Annex A units multiplier associated with
               the integer units used to measure the power or energy.
     
               For example, when used with pmPowerUnitMultiplier, -3
               represents 10^-3 or milliwatts."
            REFERENCE
                    "The International System of Units (SI),
                    National Institute of Standards and Technology,
                    Spec. Publ. 330, August 1991."
            SYNTAX INTEGER {
                yocto(-24),   -- 10^-24
                zepto(-21),   -- 10^-21
                atto(-18),    -- 10^-18
                femto(-15),   -- 10^-15
                pico(-12),    -- 10^-12
                nano(-9),     -- 10^-9
                micro(-6),    -- 10^-6
                milli(-3),    -- 10^-3
                units(0),     -- 10^0
                kilo(3),      -- 10^3
                mega(6),      -- 10^6
                giga(9),      -- 10^9
                tera(12),     -- 10^12
                peta(15),     -- 10^15
                exa(18),      -- 10^18
                zetta(21),    -- 10^21
                yotta(24)     -- 10^24
            }
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 34]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
        -- Objects
     
     
        pmPowerTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This table lists Power Monitors."
            ::= { powerMonitorMIBObjects 1 }
     
     
        pmPowerEntry OBJECT-TYPE
            SYNTAX          PmEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "An entry describes the power usage of a Power Monitor.
               This table augments the pmTable."
            AUGMENTS           { pmEntry }
            ::= { pmPowerTable  1 }
     
     PmEntry ::= SEQUENCE {
                pmPower                         Integer32,
                pmPowerNameplate                Integer32,
                pmPowerUnitMultiplier           UnitMultiplier,
                pmPowerAccuracy                 Integer32,
                pmPowerMeasurementCaliber       INTEGER,
                pmCurrentType                   INTEGER,
                pmPowerOrigin                   INTEGER,
                pmPowerLevel                    PowerMonitorLevel,
                pmPowerActualLevel              PowerMonitorLevel,
                pmManufacturerActualPowerLevel  Integer32,
                pmManufacturerMappingId         Integer32
     }
     
        pmPower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Watts"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates the 'instantaneous' RMS
               consumption for the Power Monitor.  This value is
               specified in SI units of watts with the magnitude of
               watts (milliwatts, kilowatts, etc.) indicated separately
               in pmPowerUnitMultiplier. The accuracy of the measurement
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 35]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
               is specfied in pmPowerAccuracy. The direction of power
               flow is indicated by the sign on pmPower. If the Power
               Monitor is consuming power, the pmPower value will be
               positive. If the Power Monitor is producing power, the
               pmPower value will be negative.
     
               The pmPower MUST be less than or equal to the maximum
               power that can be consumed at the power level specified
               by pmPowerLevel."
            ::= { pmPowerEntry 1 }
     
        pmPowerNameplate OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Watts"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates the rated maximum consumption for
               the fully populated Power Monitor.  The nameplate power
               requirements are the maximum power numbers and, in almost
               all cases, are well above the expected operational
               consumption.  The pmPowerNameplate is widely used for
               power provisioning.  This value is specified in either
               units of watts or voltage and current.  The units are
               therefore SI watts or equivalent Volt-Amperes with the
               magnitude (milliwatts, kilowatts, etc.) indicated
               separately in pmPowerUnitMultiplier."
            ::= { pmPowerEntry 2 }
     
        pmPowerUnitMultiplier OBJECT-TYPE
            SYNTAX          UnitMultiplier
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "The magnitude of watts for the usage value in pmPower
               and pmPowerNameplate."
            ::= { pmPowerEntry 3 }
     
        pmPowerAccuracy OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates a percentage value, in 100ths of a
               percent, representing the assumed accuracy of the usage
               reported by pmPower. For example: The value 1010 means
               the reported usage is accurate to +/- 10.1 percent.  This
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 36]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
               value is zero if the accuracy is unknown or not
               applicable based upon the measurement method.
     
               ANSI and IEC define the following accuracy classes for
               power measurement:
                    IEC 62053-22  60044-1 class 0.1, 0.2, 0.5, 1  3.
                    ANSI C12.20 class 0.2, 0.5"
            ::= { pmPowerEntry 4 }
     
        pmPowerMeasurementCaliber   OBJECT-TYPE
            SYNTAX          INTEGER  {
                                unknown(1),
                                actual(2) ,
                                estimated(3),
                                presumed(4)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object specifies how the usage value reported by
               pmPower was obtained:
     
               - unknown: Indicates that the way the usage was
               determined is unknown. In some cases, entities report
               aggregate power on behalf of another device. In such
               cases it is not known whether the usage reported is
               actual(2), estimated(3) or presumed (4).
     
               - actual:  Indicates that the reported usage was measured
               by the entity through some hardware or direct physical
               means. The usage data reported is not presumed (4) or
               estimated (3) but the real apparent current energy
               consumption rate.
     
               - estimated: Indicates that the usage was not determined
               by physical measurement. The value is a derivation based
               upon the device type, state, and/or current utilization
               using some algorithm or heuristic. It is presumed that
               the entity's state and current configuration were used to
               compute the value.
     
              - presumed: Indicates that the usage was not determined
              by physical measurement, algorithm or derivation. The
              usage was reported based upon external tables,
              specifications, and/or model information.  For example, a
              PC Model X draws 200W, while a PC Model Y draws 210W."
         ::= { pmPowerEntry 5 }
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 37]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        pmCurrentType OBJECT-TYPE
              SYNTAX      INTEGER  {
                               ac(1),
                               dc(2),
                               unknown(3)
                           }
               MAX-ACCESS  read-only
               STATUS      current
            DESCRIPTION
               "This object indicates whether the pmUsage for the Power
               Monitor reports alternative current AC(1), direct current
               DC(2), or that the current type is unknown(3)."
            ::= { pmPowerEntry 6 }
     
        pmPowerOrigin  OBJECT-TYPE
            SYNTAX          INTEGER  {
                                self (1),
                                remote (2)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates the source of power measurement
               and can be useful when modeling the power usage of
               attached devices. The power measurement can be performed
               by the entity itself or the power measurement of the
               entity can be reported by another trusted entity using a
               protocol extension.  A value of self(1) indicates the
               measurement is performed by the entity, whereas remote(2)
               indicates that the measurement was performed by another
               entity."
            ::= { pmPowerEntry 7 }
     
        pmPowerLevel OBJECT-TYPE
            SYNTAX          PowerMonitorLevel
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                "This object specifies the Power Level (0..12) requested
                for the Power Monitor.  The pmPowerLevel values increase
                with the power consumption.
                If the Power Monitor is unable to report its Power
                Level, it must report the value unknown(0).  Note that
                unknown(0) is not a Power Level as such, but simply an
                indication that the Power Level is unknown."
            ::= { pmPowerEntry 8 }
     
        pmPowerActualLevel OBJECT-TYPE
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 38]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            SYNTAX          PowerMonitorLevel
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "This object specifies the current Power Level (0..12)
                for the Power Monitor. If the Power Monitor is unable to
                report its Power Level, it must report the value
                unknown(0).  Note that unknown(0) is not a Power Level
                as such, but simply an indication that the Power Level
                is unknown."
            ::= { pmPowerEntry 9 }
     
        pmManufacturerActualPowerLevel      OBJECT-TYPE
            SYNTAX          Integer32 (0..1000)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "This object is a positive integer which specifies the
                actual Manufacturer Power Level for the Power Monitor.
                If the Manufacturer Power Level is not defined, the
                pmManufacturerActualPowerLevel will report 0. If the
                Power Monitor is unable to report its Manufacturer Power
                Level, it must report the value 0."
         ::= { pmPowerEntry 10  }
     
        pmManufacturerMappingId OBJECT-TYPE
            SYNTAX          Integer32 (1..1000)
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                "This object specifies the actual Manufacturer Power
                Level mapping ID for the Power Monitor. The
                pmManufacturerMappingId points to the
                pmPowerLevelMappingTable, which maps the Manufacturer
                Power Levels versus the standard ones specified in the
                PowerMonitorLevel textual convention.  If the
                Manufacturer Power Level mapping is not defined, the
                pmManufacturerMappingId will report 0. If the Power
                Monitor is unable to report its Manufacturer Power
                Level mapping ID, it must report the value 0."
            ::= { pmPowerEntry 11  }
     
        pmPowerLevelTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmPowerLevelEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 39]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
               "This table enumerates the maximum power usage, in watts,
               for every single supported Power Level of each Power
               Monitor.
     
               This table has an expansion-dependent relationship on the
               pmTable, containing rows describing each Power Level for
               the corresponding Power Monitor. For every Power Monitor
               in the pmTable, there is a corresponding entry in this
               table."
            ::= { powerMonitorMIBObjects 2 }
     
     
        pmPowerLevelEntry OBJECT-TYPE
            SYNTAX          PmPowerLevelEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "A pmPowerLevelEntry extends a corresponding pmEntry.
               This entry displays max usage values at every single
               possible Power Monitor Level supported by the Power
               Monitor.
               For example, given the values of a Power Monitor
               corresponding to a maximum usage of 11W at the
               level 1 (off), 6 (low), 8 (medium), 12 (full):
     
                    Level  MaxUsage  Units
                     1       0        0
                     5       0        0
                     6       8        0
                     7       8        0
                     8      11        0
                    12      11        0"
     
                        INDEX   {
                                  pmIndex,
                                  pmPowerLevelIndex
     
     
                                }
            ::= { pmPowerLevelTable 1 }
     
        PmPowerLevelEntry ::= SEQUENCE {
                pmPowerLevelIndex                 PowerMonitorLevel,
                pmPowerLevelMaxPower              Integer32,
                pmPowerLevelPowerUnitMultiplier   UnitMultiplier
        }
     
        pmPowerLevelIndex OBJECT-TYPE
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 40]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            SYNTAX          PowerMonitorLevel
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This object indicates the level for which this entry
               describes the power usage."
            ::= { pmPowerLevelEntry 1 }
     
     
        pmPowerLevelMaxPower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Watts"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates the maximum power for the Power
               Monitor at the particular Power Level. This value is
               specified in SI units of watts with the magnitude of the
               units (milliwatts, kilowatts, etc.) indicated separately
               in pmPowerLevelPowerUnitMultiplier. If the maximum power
               is not known for a certain Power Level, then the value is
               encoded as 0xFFFF.
     
               For Power Levels not enumerated, the value of
               pmPowerLevelMaxPower might be interpolated by using the
               next highest supported Power Level."
            ::= { pmPowerLevelEntry 2 }
     
     
        pmPowerLevelPowerUnitMultiplier OBJECT-TYPE
            SYNTAX          UnitMultiplier
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "The magnitude of watts for the usage value in
               pmPowerLevelMaxPower."
            ::= { pmPowerLevelEntry 3 }
     
        pmPowerLevelMappingTable  OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmPowerLevelMappingEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This table enumerates the maximum power usage, in watts,
               for every single Manufacturer Power Level. This table
               also maps the Manufacturer Power Levels to the Power
               Levels specified in this document (more specifically, to
               the PowerMonitorLevel textual convention). Finally, this
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 41]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
               table returns the name of each Manufacturer Power Level.
               For every different pmManufacturerMappingId in the
               pmTable, there is a corresponding entry in this table."
            ::= { powerMonitorMIBObjects 3 }
     
        pmPowerLevelMappingEntry  OBJECT-TYPE
            SYNTAX          PmPowerLevelMappingEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "For every pmManufacturerMappingId, this entry displays
               the max usage value at every single possible Manufacturer
               Power Level supported by the Power Monitor, along with
               the mapping at the standardized Power Level
               For example, given the values of a Power Monitor
               corresponding to a maximum usage of 0, 3, 7, and 11W at
               the level 1 (off), 2 (low), 3 (medium), 4 (full), the
               mapping would be represent as follows:
     
               Pow. Lev.    Manu. Pow. Lev./Name     maxUsage
                      1                   1/off         0 W
                      2                   1/off         0 W
                      3                   1/off         0 W
                      4                   1/off         0 W
                      5                   1/off         0 W
                      6                   2/low         3 W
                      7                   2/low         3 W
                      8                   3/medium      7 W
                      9                   3/medium      7 W
                     10                   3/medium      7 W
                     11                   3/medium      7 W
                     12                   4/full       11 W
     
               In this example, the Manufacturer Power Levels map to the
               lowest applicable Power Levels, so that setting all Power
               Monitors to a Power Level would be conservative in terms
               of disabled functionality on the Power Monitor
               implementing the Manufacturer Power Levels."
     
                 INDEX   {
                           pmManufacturerMappingId,
                           pmPowerLevelIndex,
                           pmManufacturerDefinedPowerLevel
                         }
            ::= { pmPowerLevelMappingTable  1 }
     
        PmPowerLevelMappingEntry  ::= SEQUENCE {
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 42]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                pmManufacturerDefinedPowerLevel   Integer32,
                pmManufacturerPowerLevelMaxPower  Integer32,
                pmManufacturerPowerLevelPowerUnitMultiplier
                                                  UnitMultiplier,
                pmManufacturerPowerLevelName      DisplayString
        }
     
        pmManufacturerDefinedPowerLevel   OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "This object specifies the Manufacturer Power Levels for
                the specific pmManufacturerMappingId."
            ::= { pmPowerLevelMappingEntry 1 }
     
        pmManufacturerPowerLevelMaxPower  OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Watts"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates the maximum power for the
               Manufacturer Power Level specified by the
               pmManufacturerDefinedPowerLevel index.  This value is
               specified in SI units of watts with the magnitude of the
               units (milliwatts, kilowatts, etc.) indicated separately
               in pmManufacturerPowerLevelPowerUnitMultiplier. If the
               maximum power is not known for a certain Power Level,
               then the value is encoded as 0xFFFF.
               For Power Levels not enumerated, the value of
               pmManufacturerPowerLevelMaxPower might be interpolated by
               using the next highest supported Power Level."
            ::= { pmPowerLevelMappingEntry 2 }
     
        pmManufacturerPowerLevelPowerUnitMultiplier  OBJECT-TYPE
            SYNTAX          UnitMultiplier
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "The magnitude of watts for the usage value in
               pmManufacturerPowerLevelMaxPower ."
            ::= { pmPowerLevelMappingEntry 3 }
     
        pmManufacturerPowerLevelName   OBJECT-TYPE
            SYNTAX          DisplayString
            MAX-ACCESS      read-write
            STATUS          current
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 43]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            DESCRIPTION
               "The textual name of the manufacturer name for the Power
               Level specified by the pmManufacturerDefinedPowerLevel
               index. If there is no local name, or this object is
               otherwise not applicable, then this object contains a
               zero-length string."
            ::= { pmPowerLevelMappingEntry 4 }
     
        pmDemandEnergyParametersTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmDemandEnergyParametersEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
           "Controls and configures the demand table
                 pmDemandEnergyTable."
            ::= { powerMonitorMIBObjects 4 }
     
        pmDemandEnergyParametersEntry OBJECT-TYPE
            SYNTAX          PmDemandEnergyParametersEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "An entry controls an energy measurement in
               pmDemandEnergyTable."
            INDEX  { pmIndex }
            ::= { pmDemandEnergyParametersTable 1 }
     
        PmDemandEnergyParametersEntry ::= SEQUENCE {
                pmDemandEnergyParametersIntervalLength     TimeInterval,
                pmDemandEnergyParametersIntervalNumber     Integer32,
                pmDemandEnergyParametersIntervalMode       Integer32,
                pmDemandEnergyParametersIntervalWindow     TimeInterval,
                pmDemandEnergyParametersSampleRate         Integer32,
                pmDemandEnergyParametersStatus             RowStatus
        }
     
        pmDemandEnergyParametersIntervalLength OBJECT-TYPE
            SYNTAX          TimeInterval
            UNITS           "Seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
               "This object indicates the length of time in seconds over
               which to compute the average pmDemandIntervalEnergyUsed
               measurement in the pmDemandEnergyTable table. The
               computation is based on the Power Monitor's internal
               sampling rate of power consumed or produced by the Power
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 44]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
               Monitor. The sampling rate is the rate at which the power
               monitor can read the power usage and may differ based on
               device capabilities. The average energy consumption is
               then computed over the length of the demand interval."
            DEFVAL { 900 }
            ::= { pmDemandEnergyParametersEntry 1 }
     
        pmDemandEnergyParametersIntervalNumber OBJECT-TYPE
            SYNTAX          Integer32
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
               "The number of demand intervals maintained in the
               pmDemandEnergyTable table. Each interval is characterized
               by a specific pmDemandIntervalStartTime, used as an index
               in the the table pmDemandEnergyTable table
               pmDemandIntervalStartTime. Whenever the maximum number of
               entries is reached, the new demand interval replaces the
               oldest one, except if the oldest one is the
               pmDemandIntervalMax, in which case the next oldest
               interval is replaced."
             DEFVAL { 10 }
          ::= { pmDemandEnergyParametersEntry 2 }
     
        pmDemandEnergyParametersIntervalMode OBJECT-TYPE
          SYNTAX          INTEGER  {
                              period(1),
                              sliding(2),
                              total(3)
                          }
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
            "A control object to define the mode of interval calculation
            for the computation of the average
            pmDemandIntervalEnergyUsed measurement in the
            pmDemandEnergyTable table.
              A mode of period(1) specifies non-overlapping periodic
              measurements.
     
              A mode of sliding(2) specifies overlapping sliding windows
              where the interval between the start of one interval and
              the next is defined in
              pmDemandEnergyParametersIntervalWindow.
     
              A mode of total(3) specifies non-periodic measurement.  In
              this mode only one interval is used as this is a
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 45]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
              continuous measurement since the last reset. The value of
              pmDemandEnergyParametersIntervalNumber should be (1) one
              and pmDemandEnergyParametersIntervalLength is ignored. "
           ::= { pmDemandEnergyParametersEntry 3 }
     
        pmDemandEnergyParametersIntervalWindow OBJECT-TYPE
          SYNTAX          TimeInterval
          UNITS           "Seconds"
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
             "The length of the duration window between the starting
             time of one sliding window and the next starting time in
             seconds, in order to compute the average
             pmDemandIntervalEnergyUsed measurement in the
             pmDemandEnergyTable table  This is valid only when the
             pmDemandEnergyParametersIntervalMode is sliding(2). The
             pmDemandEnergyParametersIntervalWindow value should be a
             multiple of pmDemandEnergyParametersSampleRate."
               ::= { pmDemandEnergyParametersEntry 4 }
     
        pmDemandEnergyParametersSampleRate OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Milliseconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
               "The sampling rate, in milliseconds, at which the Power
               Monitor should poll power usage in order to compute the
               average pmDemandIntervalEnergyUsed measurement in the
               table pmDemandEnergyTable.  The Power Monitor should
               initially set this sampling rate to a reasonable value,
               i.e., a compromise between intervals that will provide
               good accuracy by not being too long, but not so short
               that they affect the Power Monitor performance by
               requesting continuous polling. If the sampling rate is
               unknown, the value 0 is reported. The sampling rate
               should be selected so that
               pmDemandEnergyParametersIntervalWindow is a multiple of
               pmDemandEnergyParametersSampleRate."
             DEFVAL { 1000 }
            ::= { pmDemandEnergyParametersEntry 5 }
     
        pmDemandEnergyParametersStatus OBJECT-TYPE
            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 46]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            DESCRIPTION
              "The status of this row. The
              pmDemandEnergyParametersStatus is used to start or stop
              energy usage logging. An entry
              status may not be active(1) unless all objects in the
              entry have an appropriate value.  If this object is not
              equal to active(1), all associated usage-data logged into
              the pmDemandEnergyTable will be deleted. The data can be
              destroyed by setting up the
              pmDemandEnergyParametersStatus to destroy(2)."
     
            ::= {pmDemandEnergyParametersEntry 6 }
     
        pmDemandEnergyTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmDemandEnergyEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This table lists Power Monitor energy measurements.
               Entries in this table are only created if the
               corresponding value of object pmPowerMeasurementCaliber
               is active(2), i.e., if the power is actually metered."
            ::= { powerMonitorMIBObjects 5 }
     
        pmDemandEnergyEntry OBJECT-TYPE
            SYNTAX          PmDemandEnergyEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "An entry describing energy measurements."
     
            INDEX  { pmIndex, pmDemandEnergyParametersIntervalMode,
        pmDemandEnergyIntervalStartTime }
     
            ::= { pmDemandEnergyTable 1 }
     
        PmDemandEnergyEntry ::= SEQUENCE {
             pmDemandEnergyIntervalStartTime            TimeTicks,
             pmDemandEnergyIntervalEnergyUsed           Integer32,
             pmDemandEnergyIntervalEnergyUnitMultiplier UnitMultiplier,
             pmDemandEnergyIntervalMax                  Integer32
        }
     
        pmDemandEnergyIntervalStartTime OBJECT-TYPE
            SYNTAX          TimeTicks
            UNITS           "hundredths of seconds"
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 47]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "The time (in hundredths of a second) since the
               network management portion of the system was last
               re-initialized, as specified in the sysUpTime [RFC3418].
               This object is useful for reference of interval periods
               for which the demand is measured."
            ::= { pmDemandEnergyEntry 1 }
     
        pmDemandEnergyIntervalEnergyUsed OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Watt-hours"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object indicates the energy used in units of watt-
               hours for the Power Monitor over the defined interval.
               This value is specified in the common billing units of
               watt-hours with the magnitude of watt-hours (kW-Hr, MW-
               Hr, etc.) indicated separately in
               pmDemandEnergyIntervalEnergyUnitMultiplier."
            ::= { pmDemandEnergyEntry 2 }
     
        pmDemandEnergyIntervalEnergyUnitMultiplier OBJECT-TYPE
            SYNTAX          UnitMultiplier
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object is the magnitude of watt-hours for the
               energy field in pmDemandEnergyIntervalEnergyUsed."
            ::= { pmDemandEnergyEntry 3 }
     
        pmDemandEnergyIntervalMax OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Watt-hours"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "This object is the maximum demand ever observed in
               pmDemandEnergyIntervalEnergyUsed since the monitoring
               started. This value is specified in the common billing
               units of watt-hours with the magnitude of watt-hours (kW-
               Hr,   MW-Hr, etc.) indicated separately in
               pmDemandEnergyIntervalEnergyUnits."
            ::= { pmDemandEnergyEntry 4 }
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 48]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        -- Notifications
     
        pmPowerLevelChange NOTIFICATION-TYPE
            OBJECTS       {pmPowerLevel,pmManufacturerActualPowerLevel}
            STATUS        current
            DESCRIPTION
                "The SNMP entity generates the PmPowerLevelChange when
                the value(s) of pmPowerLevel and/or
               pmManufacturerActualPowerLevel has changed for the Power
               Monitor represented by the pmIndex."
           ::= { powerMonitorMIBNotifs 1 }
     
        -- Conformance
     
        powerMonitorMIBCompliances  OBJECT IDENTIFIER
            ::= { powerMonitorMIB 3 }
     
        powerMonitorMIBGroups  OBJECT IDENTIFIER
            ::= { powerMonitorMIB 4 }
     
        powerMonitorMIBFullCompliance MODULE-COMPLIANCE
            STATUS          current
            DESCRIPTION
                "When this MIB is implemented with support for
                read-create, then such an implementation can
                claim full compliance. Such devices can then
                be both monitored and configured with this MIB."
            MODULE          -- this module
            MANDATORY-GROUPS {
                        powerMonitorMIBTableGroup,
                        powerMonitorMIBLevelTableGroup,
                        powerMonitorMIBLevelMappingTableGroup,
                        powerMonitorMIBDemandEnergyTableGroup,
                        powerMonitorMIBDemandEnergyParametersTableGroup,
                        powerMonitorMIBNotifGroup
                            }
     
            ::= { powerMonitorMIBCompliances 1 }
     
        powerMonitorMIBReadOnlyCompliance MODULE-COMPLIANCE
            STATUS          current
            DESCRIPTION
                "When this MIB is implemented without support for
                read-create (i.e. in read-only mode), then such an
                implementation can claim read-only compliance.  Such a
                device can then be monitored but can not be configured
                with this MIB."
            MODULE          -- this module
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 49]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            MANDATORY-GROUPS {
                                powerMonitorMIBTableGroup,
                                powerMonitorMIBLevelTableGroup,
                                powerMonitorMIBLevelMappingTableGroup,
                                powerMonitorMIBNotifGroup
                            }
     
            OBJECT          pmPowerLevel
            MIN-ACCESS      read-only
            DESCRIPTION
                "Write access is not required."
     
            ::= { powerMonitorMIBCompliances 2 }
     
        -- Units of Conformance
     
        powerMonitorMIBTableGroup OBJECT-GROUP
            OBJECTS         {
                                pmPower,
                                pmPowerNameplate,
                                pmPowerUnitMultiplier,
                                pmPowerAccuracy,
                                pmPowerMeasurementCaliber,
                                pmCurrentType,
                                pmPowerOrigin,
                                pmPowerCategory,
                                pmPowerLevel,
                                pmPowerActualLevel,
                                pmManufacturerActualPowerLevel,
                                pmManufacturerMappingId
                            }
                    STATUS          current
            DESCRIPTION
                "This group contains the collection of all the objects
                related to the PowerMonitor."
            ::= { powerMonitorMIBGroups 1 }
     
           powerMonitorMIBLevelTableGroup OBJECT-GROUP
                    OBJECTS         {
                                        pmPowerLevelMaxPower,
                                        pmPowerLevelPowerUnitMultiplier
                                    }
                    STATUS          current
                    DESCRIPTION
                        "This group contains the collection of all the
                        objects related to the Power Level. "
                    ::= { powerMonitorMIBGroups 2 }
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 50]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
          powerMonitorMIBLevelMappingTableGroup  OBJECT-GROUP
                    OBJECTS         {
                           pmManufacturerPowerLevelMaxPower,
                           pmManufacturerPowerLevelPowerUnitMultiplier,
                           pmManufacturerPowerLevelName
                            }
                    STATUS          current
                    DESCRIPTION
                         "This table enumerates the maximum power usage
                         in watts, for every single Manufacturer Power
                         Level."
                   ::= { powerMonitorMIBGroups 3 }
     
     
        powerMonitorMIBDemandEnergyParametersTableGroup OBJECT-GROUP
            OBJECTS         {
                                pmDemandEnergyParametersIntervalLength,
                                pmDemandEnergyParametersIntervalNumber,
                                pmDemandEnergyParametersIntervalMode,
                                pmDemandEnergyParametersIntervalWindow,
                                pmDemandEnergyParametersSampleRate,
                                pmDemandEnergyParametersStatus
                            }
            STATUS          current
            DESCRIPTION
                "This group contains the collection of all the objects
                related to the configuration of the Demand Table."
            ::= { powerMonitorMIBGroups 4 }
     
        powerMonitorMIBDemandEnergyTableGroup OBJECT-GROUP
            OBJECTS         {
                                -- Note that object
                                -- pmDemandIntervalStartTime is not
                                -- included since it is not-accessible
     
                             pmDemandEnergyIntervalEnergyUsed,
                             pmDemandEnergyIntervalEnergyUnitMultiplier,
                             pmDemandEnergyIntervalMax
                            }
            STATUS          current
            DESCRIPTION
                "This group contains the collection of all the objects
                related to the Demand Table."
            ::= { powerMonitorMIBGroups 5 }
     
        powerMonitorMIBNotifGroup NOTIFICATION-GROUP
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 51]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
           NOTIFICATIONS    {
                                pmPowerLevelChange
                            }
            STATUS          current
            DESCRIPTION
                "This group contains the notifications for the power and
                energy monitoring MIB Module."
            ::= { powerMonitorMIBGroups 6 }
     
        END
     
     
        -- ************************************************************
        --
        -- This MIB module is used to monitor power quality of networked
        -- devices with measurements.
        --
        -- This MIB module is an extension of powerMonitorMIB module.
        --
        -- *************************************************************
     
        POWER-QUALITY-MIB DEFINITIONS ::= BEGIN
     
        IMPORTS
            MODULE-IDENTITY,
            OBJECT-TYPE,
            NOTIFICATION-TYPE,
            mib-2,
            Integer32
        FROM SNMPv2-SMI
            MODULE-COMPLIANCE,
            NOTIFICATION-GROUP,
            OBJECT-GROUP
                FROM SNMPv2-CONF
            TEXTUAL-CONVENTION
                FROM SNMPv2-TC
            UnitMultiplier, pmPowerTable , pmIndex
                FROM POWER-MONITOR-MIB
        ;
     
        powerQualityMIB MODULE-IDENTITY
            LAST-UPDATED    "201005300000Z"
            ORGANIZATION    "Cisco Systems, Inc."
            CONTACT-INFO
                    "Cisco Systems
                    Customer Service
     
                    Postal: 170 W Tasman Drive
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 52]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                    San Jose, CA  95134
                    USA
     
                    Tel: +1 800 553-NETS
     
                    E-mail: cs-snmp@cisco.com"
     
          DESCRIPTION
        "This MIB is used to report AC power quality in devices. The
        table is a sparse augmentation of the pmTable table from the
        powerMonitorMIB module.  Both three-phase and single-phase power
        configurations are supported."
            REVISION
                "201005300000Z"
          DESCRIPTION
               "Initial version, published as RFC XXXX."
     
           ::= { mib-2 yyyyy }
     
        powerQualityMIBConform  OBJECT IDENTIFIER
            ::= { powerQualityMIB 0 }
     
     
        powerQualityMIBObjects OBJECT IDENTIFIER
            ::= { powerQualityMIB 1 }
     
        -- Objects
     
     
        pmACPwrQualityTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmACPwrQualityEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "This table defines power quality measurements for
                supported pmIndex entities. It is a sparse extension of
                the pmTable."
            ::= { powerQualityMIBObjects 1 }
     
        pmACPwrQualityEntry OBJECT-TYPE
            SYNTAX          PmACPwrQualityEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "This is a sparse extension of the pmTable with entries
                for power quality measurements or configuration.  Each
                measured value corresponds to an attribute in IEC
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 53]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                61850-7-4 for non-phase measurements within the object
                MMUX."
            INDEX { pmIndex }
            ::= { pmACPwrQualityTable 1 }
     
        PmACPwrQualityEntry ::= SEQUENCE {
            pmACPwrQualityConfiguration       INTEGER,
            pmACPwrQualityAvgVoltage          Integer32,
            pmACPwrQualityAvgCurrent          Integer32,
            pmACPwrQualityFrequency           Integer32,
            pmACPwrQualityPowerUnitMultiplier UnitMultiplier,
            pmACPwrQualityPowerAccuracy       Integer32,
            pmACPwrQualityTotalActivePower    Integer32,
            pmACPwrQualityTotalReactivePower  Integer32,
            pmACPwrQualityTotalApparentPower  Integer32,
            pmACPwrQualityTotalPowerFactor    Integer32,
            pmACPwrQualityThdAmpheres         Integer32,
            pmACPwrQualityThdVoltage          Integer32
        }
     
        pmACPwrQualityConfiguration OBJECT-TYPE
            SYNTAX INTEGER {
                sngl(1),
                del(2),
                wye(3)
                   }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                 "Configuration describes the physical configurations
                 of the power supply lines:
     
                    * alternating current, single phase (SNGL)
                    * alternating current, three phase delta (DEL)
                    * alternating current, three phase Y (WYE)
     
                 Three-phase configurations can be either connected in
                 a triangular delta (DEL) or star Y (WYE) system.  WYE
                 systems have a shared neutral voltage, while DEL
                 systems do not.  Each phase is offset 120 degrees to
                 each other."
            ::= { pmACPwrQualityEntry 1 }
     
        pmACPwrQualityAvgVoltage OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "0.1 Volt AC"
            MAX-ACCESS      read-only
            STATUS          current
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 54]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            DESCRIPTION
                "A measured value for average 'instantaneous' RMS line
                voltage.  For a 3-phase system, this is the average
                voltage (V1+V2+V3)/3.  IEC 61850-7-4 measured value
                attribute 'Vol'"
            ::= { pmACPwrQualityEntry 2 }
     
        pmACPwrQualityAvgCurrent OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Ampheres"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the current per phase. IEC 61850-
                7-4 attribute 'Amp'"
            ::= { pmACPwrQualityEntry 3 }
     
        pmACPwrQualityFrequency OBJECT-TYPE
            SYNTAX          Integer32 (4500..6500) -- UNITS 0.01 Hertz
            UNITS           "hertz"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value for the basic frequency of the AC
                circuit.  IEC 61850-7-4 attribute 'Hz'."
            ::= { pmACPwrQualityEntry 4 }
     
        pmACPwrQualityPowerUnitMultiplier OBJECT-TYPE
            SYNTAX          UnitMultiplier
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The magnitude of watts for the usage value in
                pmACPwrQualityTotalActivePower,
                pmACPwrQualityTotalReactivePower
                and pmACPwrQualityTotalApparentPower measurements.  For
                3-phase power systems, this will also include
                pmACPwrQualityPhaseActivePower,
                pmACPwrQualityPhaseReactivePower and
                pmACPwrQualityPhaseApparentPower"
            ::= { pmACPwrQualityEntry 5 }
     
        pmACPwrQualityPowerAccuracy OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 55]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                "This object indicates a percentage value, in 100ths of
                a percent, representing the presumed accuracy of
                active, reactive, and apparent power usage reporting.
                For example: 1010 means the reported usage is accurate
                to +/- 10.1 percent.  This value is zero if the
                accuracy is unknown.
     
                ANSI and IEC define the following accuracy classes for
                power measurement: IEC 62053-22 & 60044-1 class 0.1,
                0.2, 0.5, 1 & 3.
                ANSI C12.20 class 0.2 & 0.5"
            ::= { pmACPwrQualityEntry 6 }
     
        pmACPwrQualityTotalActivePower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "RMS watts"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the actual power delivered to or
                consumed by the load.  IEC 61850-7-4 attribute 'TotW'."
            ::= { pmACPwrQualityEntry 7 }
     
        pmACPwrQualityTotalReactivePower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "volt-amperes reactive"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A mesured value of the reactive portion of the
                apparent power.  IEC 61850-7-4 attribute 'TotVAr'."
            ::= { pmACPwrQualityEntry 8 }
     
        pmACPwrQualityTotalApparentPower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "volt-amperes"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the voltage and current which
                determines the apparent power.  The apparent power is
                the vector sum of real and reactive power.
     
                Note: watts and volt-ampheres are equivalent units and
                may be combined.  IEC 61850-7-4 attribute 'TotVA'."
            ::= { pmACPwrQualityEntry 9 }
     
        pmACPwrQualityTotalPowerFactor OBJECT-TYPE
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 56]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            SYNTAX          Integer32 (-10000..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value ratio of the real power flowing to
                the load versus the apparent power. It is dimensionless
                and expressed here as a percentage value in 100ths of a
                percent. A power factor of 100% indicates there is no
                inductance load and thus no reactive power. Power
                Factor can be positive or negative, where the sign
                should be in lead/lag (IEEE) form.  IEC 61850-7-4
                attribute 'TotPF'."
            ::= { pmACPwrQualityEntry 10 }
     
        pmACPwrQualityThdAmpheres OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A calculated value for the current total harmonic
                distortion (THD).  Method of calculation is not
                specified.  IEC 61850-7-4 attribute 'ThdAmp'."
            ::= { pmACPwrQualityEntry 11 }
     
        pmACPwrQualityThdVoltage OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A calculated value for the voltage total harmonic
                distortion (THD).  Method of calculation is not
                specified.  IEC 61850-7-4 attribute 'ThdVol'."
            ::= { pmACPwrQualityEntry 12 }
     
        pmACPwrQualityPhaseTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmACPwrQualityPhaseEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "This table describes 3-phase power quality
                measurements.  It is a sparse extension of the
                pmACPwrQualityTable."
            ::= { powerQualityMIBObjects 2 }
     
        pmACPwrQualityPhaseEntry OBJECT-TYPE
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 57]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            SYNTAX          PmACPwrQualityPhaseEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "An entry describes common 3-phase power quality
                measurements.
     
                This optional table describes 3-phase power quality
                measurements, with three entries for each supported
                pmIndex entity.  Entities having single phase power
                shall not have any entities.
     
                This table describes attributes common to both WYE and
                DEL.  Entities having single phase power shall not have
                any entries here.  It is a sparse extension of the
                pmACPwrQualityTable.
     
                These attributes correspond to IEC 61850-7.4 MMXU phase
                measurements."
            INDEX { pmIndex, pmPhaseIndex }
            ::= { pmACPwrQualityPhaseTable 1 }
     
        PmACPwrQualityPhaseEntry ::= SEQUENCE {
                pmPhaseIndex                       Integer32,
                pmACPwrQualityPhaseAvgCurrent      Integer32,
                pmACPwrQualityPhaseActivePower     Integer32,
                pmACPwrQualityPhaseReactivePower   Integer32,
                pmACPwrQualityPhaseApparentPower   Integer32,
                pmACPwrQualityPhasePowerFactor     Integer32,
                pmACPwrQualityPhaseImpedance       Integer32
        }
     
        pmPhaseIndex OBJECT-TYPE
            SYNTAX          Integer32 (0..359)
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "A phase angle typically corresponding to 0, 120, 240."
             ::= { pmACPwrQualityPhaseEntry 1 }
     
        pmACPwrQualityPhaseAvgCurrent OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "Ampheres"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the current per phase. IEC 61850-
                7-4 attribute 'A'"
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 58]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            ::= { pmACPwrQualityPhaseEntry 2 }
     
        pmACPwrQualityPhaseActivePower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "RMS watts"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the actual power delivered to or
                consumed by the load. IEC 61850-7-4 attribute 'W'"
            ::= { pmACPwrQualityPhaseEntry 3 }
     
        pmACPwrQualityPhaseReactivePower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "volt-amperes reactive"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the reactive portion of the
                apparent power.  IEC 61850-7-4 attribute 'VAr'"
            ::= { pmACPwrQualityPhaseEntry 4 }
     
        pmACPwrQualityPhaseApparentPower OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "volt-amperes"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value of the voltage and current determines
                the apparent power.  Active plus reactive power equals
                the total apparent powwer.
     
                Note: Watts and volt-ampheres are equivalent units and
                may be combined.  IEC 61850-7-4 attribute 'VA'."
            ::= { pmACPwrQualityPhaseEntry 5 }
     
        pmACPwrQualityPhasePowerFactor OBJECT-TYPE
            SYNTAX          Integer32 (-10000..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A measured value ratio of the real power flowing to
                the load versus the apparent power for this phase.  IEC
                61850-7-4 attribute 'PF'. Power Factor can be positive
                or negative where the sign should be in lead/lag (IEEE)
                form."
            ::= { pmACPwrQualityPhaseEntry 6 }
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 59]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
        pmACPwrQualityPhaseImpedance OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "volt-amperes"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
        "A measured value of the impedance.  IEC 61850-7-4 attribute
        'Z'."
            ::= { pmACPwrQualityPhaseEntry 7 }
     
        pmACPwrQualityDelPhaseTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmACPwrQualityDelPhaseEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This table describes DEL configuration phase-to-phase
               power quality measurements.  This is a sparse extension
               of the pmACPwrQualityPhaseTable."
            ::= { powerQualityMIBObjects 3 }
     
        pmACPwrQualityDelPhaseEntry OBJECT-TYPE
            SYNTAX          PmACPwrQualityDelPhaseEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "An entry describes quality attributes of a phase in a
               DEL 3-phase power system.  Voltage measurements are
               provided both relative to each other and zero.
     
               Measured values are from IEC 61850-7-2 MMUX and THD from
               MHAI objects.
     
               For phase-to-phase measurements, the pmPhaseIndex is
               compared against the following phase at +120 degrees.
               Thus, the possible values are:
     
                             pmPhaseIndex        Next Phase Angle
                                   0                 120
                                 120                 240
                                 240                   0
               "
            INDEX { pmIndex, pmPhaseIndex}
            ::= { pmACPwrQualityDelPhaseTable 1}
     
        PmACPwrQualityDelPhaseEntry ::= SEQUENCE {
            pmACPwrQualityDelPhaseToNextPhaseVoltage      Integer32,
            pmACPwrQualityDelThdPhaseToNextPhaseVoltage   Integer32,
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 60]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            pmACPwrQualityDelThdCurrent                   Integer32
        }
     
        pmACPwrQualityDelPhaseToNextPhaseVoltage OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "0.1 Volt AC"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "A measured value of phase to next phase voltages, where
               the next phase is IEC 61850-7-4 attribute 'PPV'."
            ::= { pmACPwrQualityDelPhaseEntry 2 }
     
        pmACPwrQualityDelThdPhaseToNextPhaseVoltage OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "A calculated value for the voltage total harmonic
               disortion for phase to next phase. Method of calculation
               is not specified.  IEC 61850-7-4 attribute 'ThdPPV'."
            ::= { pmACPwrQualityDelPhaseEntry 3 }
     
        pmACPwrQualityDelThdCurrent OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
            MAX-ACCESS      read-only
            STATUS          current
          DESCRIPTION
               "A calculated value for the voltage total harmonic
               disortion (THD) for phase to phase.  Method of
               calculation is not specified.
               IEC 61850-7-4 attribute 'ThdPPV'."
            ::= { pmACPwrQualityDelPhaseEntry 4 }
     
        pmACPwrQualityWyePhaseTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF PmACPwrQualityWyePhaseEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This table describes WYE configuration phase-to-neutral
               power quality measurements.  This is a sparse extension
               of the pmACPwrQualityPhaseTable."
            ::= { powerQualityMIBObjects 4 }
     
        pmACPwrQualityWyePhaseEntry OBJECT-TYPE
            SYNTAX          PmACPwrQualityWyePhaseEntry
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 61]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "This table describes measurements of WYE configuration
               with phase to neutral power quality attributes. Three
               entries are required for each supported pmIndex entry.
               Voltage measurements are relative to neutral.
     
               This is a sparse extension of the
               pmACPwrQualityPhaseTable.
     
               Each entry describes quality attributes of one phase of
               a WYE 3-phase power system.
     
               Measured values are from IEC 61850-7-2 MMUX and THD from
               MHAI objects."
            INDEX { pmIndex, pmPhaseIndex }
            ::= { pmACPwrQualityWyePhaseTable 1}
     
        PmACPwrQualityWyePhaseEntry ::= SEQUENCE {
                pmACPwrQualityWyePhaseToNeutralVoltage       Integer32,
                pmACPwrQualityWyePhaseCurrent                Integer32,
                pmACPwrQualityWyeThdPhaseToNeutralVoltage    Integer32
        }
     
        pmACPwrQualityWyePhaseToNeutralVoltage OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "0.1 Volt AC"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "A measured value of phase to neutral voltage.  IEC
               61850-7-4 attribute 'PhV'."
            ::= { pmACPwrQualityWyePhaseEntry 1 }
     
        pmACPwrQualityWyePhaseCurrent OBJECT-TYPE
            SYNTAX          Integer32
            UNITS           "0.1 ampheres AC"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "A measured value of phase currents.  IEC 61850-7-4
               attribute 'A'."
            ::= { pmACPwrQualityWyePhaseEntry 2 }
     
        pmACPwrQualityWyeThdPhaseToNeutralVoltage OBJECT-TYPE
            SYNTAX          Integer32 (0..10000)
            UNITS           "hundredths of percent"
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 62]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
               "A calculated value of the voltage total harmonic
               distortion (THD) for phase to neutral. IEC 61850-7-4
               attribute 'ThdPhV'."
            ::= { pmACPwrQualityWyePhaseEntry 3 }
     
        -- Conformance
     
        powerQualityMIBCompliances  OBJECT IDENTIFIER
            ::= { powerQualityMIB 2 }
     
        powerQualityMIBGroups  OBJECT IDENTIFIER
            ::= { powerQualityMIB 3 }
     
        powerQualityMIBFullCompliance MODULE-COMPLIANCE
            STATUS          current
            DESCRIPTION
               "When this MIB is implemented with support for read-
               create, then such an implementation can claim full
               compliance. Such devices can then be both monitored and
               configured with this MIB."
            MODULE          -- this module
            MANDATORY-GROUPS {
                                powerACPwrQualityMIBTableGroup,
                                powerACPwrQualityPhaseMIBTableGroup
                             }
     
            GROUP       powerACPwrQualityDelPhaseMIBTableGroup
            DESCRIPTION
               "This group must only be implemented for a DEL phase
               configuration."
     
            GROUP       powerACPwrQualityWyePhaseMIBTableGroup
            DESCRIPTION
               "This group must only be implemented for a WYE phase
               configuration."
            ::= { powerQualityMIBCompliances 1 }
     
     
        -- Units of Conformance
     
        powerACPwrQualityMIBTableGroup OBJECT-GROUP
            OBJECTS         {
                                -- Note that object pmIndex is NOT
                                -- included since it is not-accessible
                                pmACPwrQualityConfiguration,
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 63]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
                                pmACPwrQualityAvgVoltage,
                                pmACPwrQualityAvgCurrent,
                                pmACPwrQualityFrequency,
                                pmACPwrQualityPowerUnitMultiplier,
                                pmACPwrQualityPowerAccuracy,
                                pmACPwrQualityTotalActivePower,
                                pmACPwrQualityTotalReactivePower,
                                pmACPwrQualityTotalApparentPower,
                                pmACPwrQualityTotalPowerFactor,
                                pmACPwrQualityThdAmpheres,
                                pmACPwrQualityThdVoltage
                            }    STATUS          current
            DESCRIPTION
               "This group contains the collection of all the power
               quality objects related to the Power Monitor."
            ::= { powerQualityMIBGroups  1 }
     
     
        powerACPwrQualityPhaseMIBTableGroup OBJECT-GROUP
            OBJECTS         {
                                -- Note that object pmIndex is NOT
                                -- included since it is not-accessible
                                pmACPwrQualityPhaseAvgCurrent,
                                pmACPwrQualityPhaseActivePower,
                                pmACPwrQualityPhaseReactivePower,
                                pmACPwrQualityPhaseApparentPower,
                                pmACPwrQualityPhasePowerFactor,
                                pmACPwrQualityPhaseImpedance
                            }
            STATUS          current
            DESCRIPTION
               "This group contains the collection of all 3-phase power
               quality objects related to the Power Level."
            ::= { powerQualityMIBGroups  2 }
     
        powerACPwrQualityDelPhaseMIBTableGroup OBJECT-GROUP
            OBJECTS         {
                            -- Note that object pmIndex and
                            -- pmPhaseIndex are NOT included
                            -- since they are not-accessible
                            pmACPwrQualityDelPhaseToNextPhaseVoltage  ,
                            pmACPwrQualityDelThdPhaseToNextPhaseVoltage,
                            pmACPwrQualityDelThdCurrent
                            }
            STATUS          current
            DESCRIPTION
                "This group contains the collection of all quality
                attributes of a phase in a DEL 3-phase power system."
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 64]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
            ::= { powerQualityMIBGroups  3 }
     
        powerACPwrQualityWyePhaseMIBTableGroup OBJECT-GROUP
            OBJECTS         {
                               -- Note that object pmIndex and
                               -- pmPhaseIndex are NOT included
                               -- since they are not-accessible
                               pmACPwrQualityWyePhaseToNeutralVoltage,
                               pmACPwrQualityWyePhaseCurrent,
                               pmACPwrQualityWyeThdPhaseToNeutralVoltage
                            }
            STATUS          current
            DESCRIPTION
                "This group contains the collection of all WYE
                configuration phase-to-neutral power quality
                measurements."
            ::= { powerQualityMIBGroups  4 }
     
     
     
        END
     
     10. Security Considerations
     
        Some of the readable objects in these MIB modules (i.e., objects
        with a MAX-ACCESS other than not-accessible) may be considered
        sensitive or vulnerable in some network environments.  It is
        thus important to control even GET and/or NOTIFY access to these
        objects and possibly to even encrypt the values of these objects
        when sending them over the network via SNMP.
     
        There are a number of management objects defined in these MIB
        modules with 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.  The following are the
        tables and objects and their sensitivity/vulnerability:
     
          . Unauthorized changes to the pmPowerLevel MAY disrupt the
             power settings of the different Power Monitors, and
             therefore the level of functionality of the respective
             Power Monitors.
          . Unauthorized changes to the pmDemandControlTable MAY
             disrupt energy measurement in the pmDemandEnergyTable
             table.
     
        SNMP versions prior to SNMPv3 did not include adequate security.
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 65]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
        Even if the network itself is secure (for example, by using
        IPsec), there is still no secure control over who on the secure
        network is allowed to access and GET/SET
        (read/change/create/delete) the objects in these MIB modules.
     
        It is RECOMMENDED that implementers consider the security
        features as provided by the SNMPv3 framework (see [RFC3410],
        section 8), including full support for the SNMPv3 cryptographic
        mechanisms (for authentication and privacy).
     
        Further, deployment of SNMP versions prior to SNMPv3 is NOT
        RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
        enable cryptographic security.  It is then a customer/operator
        responsibility to ensure that the SNMP entity giving access to
        an instance of these MIB modules is properly configured to give
        access to the objects only to those principals (users) that have
        legitimate rights to GET or SET (change/create/delete) them.
     
     
     11. IANA Considerations
     
        The MIB module in this document uses the following IANA-assigned
        OBJECT IDENTIFIER values recorded in the SMI Numbers registry:
     
               Descriptor            OBJECT IDENTIFIER value
               ----------            -----------------------
               PowerMonitorMIB         { mib-2 xxx }
     
        Additions to this MIB module are subject to Expert Review
        [RFC5226], i.e., review by one of a group of experts designated
        by an IETF Area Director.  The group of experts MUST check the
        requested MIB objects for completeness and accuracy of the
        description.  Requests for MIB objects that duplicate the
        functionality of existing objects SHOULD be declined.  The
        smallest available OID SHOULD be assigned to a new MIB objects.
        The specification of new MIB objects SHOULD follow the structure
        specified in Section 6 and MUST be published using a well-
        established and persistent publication medium.
     
     
     
     12. Acknowledgment
     
        The authors would like to thank Shamita Pisal for her prototype
        of this MIB module, and her valuable feedback.  The authors
        would like to Michael Brown for improving the text dramatically.
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 66]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
     13. References
     
     13.1. Normative References
     
     
        [RFC2119] S. Bradner, Key words for use in RFCs to Indicate
                Requirement Levels, BCP 14, RFC 2119, March 1997.
     
        [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
                Schoenwaelder, Ed., "Structure of Management
                Information Version 2 (SMIv2)", STD 58, RFC 2578, April
                1999.
     
        [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
                Schoenwaelder, Ed., "Textual Conventions for SMIv2",
                STD 58, RFC 2579, April 1999.
     
        [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                "Conformance Statements for SMIv2", STD 58, RFC 2580,
                April 1999.
     
        [RFC3621] Berger, A., and D. Romascanu, "Power Ethernet MIB",
                RFC3621, December 2003.
     
        [RFC4133]  Bierman, A. and K. McCloghrie, "Entity MIB (Version
                3)", RFC 4133, August 2005.
     
     
        [LLDP-MED-MIB]  ANSI/TIA-1057, "The LLDP Management Information
                Base extension module for TIA-TR41.4 media endpoint
                discovery information", July 2005.
     
        [POWER-AWARE-MIB], J. Parello, and B. Claise, "draft-parello-
                eman-energy-aware-mib-00", work in progress, October
                2010.
     
     
     13.2. Informative References
     
     
        [RFC1628] S. Bradner, "UPS Management Information Base", RFC
                1628, May 1994
     
        [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
                "Introduction and Applicability Statements for Internet
                Standard Management Framework ", RFC 3410, December
                2002.
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 67]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
     
        [RFC3418]  Presun, R., Case, J., McCloghrie, K., Rose, M, and S.
                Waldbusser, "Management Information Base (MIB) for the
                Simple Network Management Protocol (SNMP)", RFC3418,
                December 2002.
     
        [RFC3433]  Bierman, A., Romascanu, D., and K. Norseth, "Entity
                Sensor Management Information Base", RFC 3433, December
                2002.
     
        [RFC4268]  Chisholm, S. and D. Perkins, "Entity State MIB", RFC
                4268,November 2005.
     
        [RFC5226]  Narten, T. Alverstrand, H., A. and K. McCloghrie,
                "Guidelines for Writing an IANA Considerations Section
                in RFCs ", BCP 26, RFC 5226, May 2008.
     
     
        [POWER-MON-REQ] Quittek, J., Winter, R., Dietz, T., Claise, B.,
                and M. Chandramouli, "Requirements for Power
                Monitoring", draft-quittek-power-monitoring-
                requirements-01 (work in progress), October 2009.
     
        [QUITTEK-POWER-MIB] Quittek, J., Winter, R., Dietz, T., and
                Dudkowski, D., "Requirements for Power Monitoring",
                draft-quittek-power-mib-01.txt(work in progress), April
                2010.
     
        [POWER-MON-ARCH] Claise, B., Parello, J., and B. Schoening,
                "Power Management Architecture", draft-claise-power-
                management-arch-01 (work in progress), August 2010.
     
        [ACPI] "Advanced Configuration and Power Interface
                Specification", http://www.acpi.info/spec30b.htm
     
        [DASH] "Desktop and mobile Architecture for System Hardware",
                http://www.dmtf.org/standards/mgmt/dash/
     
     
     
     Authors' Addresses
     
      Benoit Claise
      Cisco Systems, Inc.
      De Kleetlaan 6a b1
      Diegem 1813
      BE
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 68]


     Internet-Draft        <Energy Monitoring MIB>        Oct 2010
     
      Phone: +32 2 704 5622
      Email: bclaise@cisco.com
     
     
     
      Mouli Chandramouli
      Cisco Systems, Inc.
      Sarjapur Outer Ring Road
      Bangalore,
      IN
     
      Phone: +91 80 4426 3947
      Email: moulchan@cisco.com
     
     
      John Parello
      Cisco Systems Inc.
      3550 Cisco Way
      San Jose, California 95134
      US
     
      Phone: +1 408 525 2339
      Email: jparello@cisco.com
     
     
      Brad Schoening
      Cisco Systems Inc.
      3550 Cisco Way
      San Jose, California 95134
      US
     
      Phone: +1 408 525 2339
      Email: braschoe@cisco.com
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     <Claise, et. Al>        Expires April 16, 2011           [Page 69]