Internet-Draft Energy YANG Model for Streaming February 2025
Dom, et al. Expires 28 August 2025 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-neumann-green-streaming-yang-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
D. Dom
id3as
B. Benjamin
CTOiC
C. Christoph
Broadpeak

YANG Data Model for Energy Measurements in Streaming Devices

Abstract

This document defines a YANG data model for representing energy measurements from streaming-capable devices. The model supports both instantaneous power readings and correlated streaming metrics needed to analyze energy efficiency in streaming applications.

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

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."

This Internet-Draft will expire on 28 August 2025.

Table of Contents

1. Introduction

The increasing focus on environmental sustainability in streaming media delivery requires accurate measurement and analysis of energy consumption across the delivery chain. This document defines a YANG data model for reporting energy measurements from streaming-capable devices, along with relevant streaming metrics needed for correlation and analysis.

The model is designed to support both A-side (mains power) and B-side (internal component) power measurements while maintaining clear distinction between these measurement types. The internal component usage may be used by a collecting entity to estimate the total device power used if such power measurements are not available within the device.

2. YANG Model Structure

The proposed YANG model defines a comprehensive framework for representing energy measurements in streaming devices. The model is structured around four key components that together provide a complete picture of device energy consumption and its relationship to streaming activities.

2.1. Energy Measurement Data

The core of the model focuses on both instantaneous and historical power measurements. This dual approach allows for real-time monitoring as well as trend analysis. The model distinguishes between total system power (A-side) and component-level power (B-side) measurements to support different measurement capabilities across device types.

2.2. Device Identification and Capabilities

Proper device identification and capability reporting is important for accurate data interpretation. This component allows devices to clearly communicate their measurement capabilities, ensuring that data consumers can properly interpret and validate the reported measurements.

To enable meaningful energy efficiency analysis, the model includes streaming-specific metrics that can be correlated with power measurements. These metrics provide essential context for understanding energy consumption patterns in relation to actual streaming activities.

3. YANG Module

module: eyang
  +--rw energy-measurements
     +--rw device-info
     |  +--rw device-id          string
     |  +--rw device-type        enumeration
     |  +--rw measurement-capabilities
     |     +--rw supports-mains-power?      boolean
     |     +--rw supports-component-power?  boolean
     |     +--rw supports-component-usage?  boolean
     +--rw power-readings
     |  +--rw timestamp                    yang:timestamp
     |  +--rw mains-power
     |  |  +--rw watts?                    decimal64
     |  +--rw component-power
     |  |  +--rw cpu-watts?                decimal64
     |  |  +--rw gpu-watts?                decimal64
     |  |  +--rw memory-watts?             decimal64
     |  |  +--rw network-watts?            decimal64
     |  +--rw component-usage
     |     +--rw cpu-usage?                decimal64
     |     +--rw gpu-usage?                decimal64
     |     +--rw memory-usage?             decimal64
     |     +--rw network-usage?            decimal64
     +--rw streaming-metrics
        +--rw active-streams?              uint32
        +--rw total-bandwidth-mbps?        decimal64
        +--rw video-brightness?            uint8
        +--rw encoding-parameters?         string
        +--rw network-utilization?         decimal64

4. JSON Encoding

The following shows the JSON schema for data exchange:

{
  "energy-measurements": {
    "device-info": {
      "device-id": "string",
      "device-type": "string",
      "measurement-capabilities": {
        "supports-mains-power": boolean,
        "supports-component-power": boolean
        "supports-component-usage": boolean
      }
    },
    "power-readings": {
      "timestamp": "string",
      "mains-power": {
        "watts": number,
      },
      "component-power": {
        "cpu-watts": number,
        "gpu-watts": number,
        "memory-watts": number,
        "network-watts": number
      },
      "component-usage": {
        "cpu-usage": number,
        "gpu-usage": number,
        "memory-usage": number,
        "network-usage": number
      }
    },
    "streaming-metrics": {
      "active-streams": number,
      "total-bandwidth-mbps": number,
      "video-brightness": number,
      "encoding-parameters": "string",
      "network-utilization": number
    }
  }
}

5. Data Model Details

5.1. Device Information

  • device-id: Opaque identifier for the device. Device identification is important for proper data attribution and analysis.
  • device-type: The device-type enumeration is chosen to cover the major categories of streaming infrastructure while remaining extensible for future devices. Each device type may have different measurement capabilities and characteristics that affect how their energy data should be interpreted. One of: encoder, decoder, cdn-cache, router, switch, settop-box, tv, mobile-device

5.2. Measurement Capabilities

The capability reporting mechanism allows devices to explicitly declare their measurement abilities. This is essential because:

  • Not all devices can measure both mains and component power
  • Measurement methods may vary in accuracy and reliability
  • Some devices may only support subset of measurements

This information helps data consumers properly interpret and validate the reported measurements. The following attributes indicates which types of power measurements the device supports:

  • supports-mains-power: Device can report total power draw
  • supports-component-power: Device can report component-level power
  • supports-component-usage: Device can report component-level usage

5.3. Power Readings

Power readings are structured to support both high-level and detailed energy analysis:

  • timestamp: UTC timestamp of measurement. Timestamp precision is critical for correlation analysis
  • mains-power: Total power draw from mains (A-side measurement). Mains power provides system-level energy perspective
  • component-power: Individual component power measurements (B-side). Component power enables detailed efficiency analysis
  • component-usage: Individual component measurements usage (B-side). Component usage enables estimating the power used if such power measurements are not available within the device.

5.4. Streaming Metrics

The streaming metrics are selected to enable use-case that require correlation analyses:

  • active-streams: Number of active streaming sessions as an indicator for system load
  • total-bandwidth-mbps: Current bandwidth utilization as an indicator for network utilization
  • video-brightness: Average screen brightness (0-255)
  • encoding-parameters: Active encoding settings that may affect processing requirements
  • network-utilization: Network interface utilization (%)

These metrics were chosen based on empirical research showing their relevance to energy consumption patterns.

6. Acknowledgement

This draft has been elaborated in the context of the working group 7 of Greening of Streaming.

7. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.

Authors' Addresses

Dom Robinson
id3as
20 Rowan Way
Brighton, Sussex
United Kingdom
Benjamin Schwarz
CTOiC
89, rue des Poissonniers
Paris
France
Christoph Neumann
Broadpeak
15, rue Claude Chappe
35510 Cesson-Sevigne
France