Tracing Software for Per-User Energy Consumption Attribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in accurately estimating energy consumption on a per-user basis due to complex and cascading interactions between software services, which makes it difficult to attribute energy consumption to individual users.

Innovation Solution

Implementing tracing software to track usage of software services across distributed computing systems, generating tracing information that associates users with service executions, and using energy monitoring engines to analyze this information and estimate energy consumption per user.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If tracing software is implemented to track usage of software services, then measurement precision of energy consumption per user is improved, but device complexity increases

Engineering Contradiction:
Improveenergy consumption measurement precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the distributed computing system into individual software services, each instrumented with tracing code. This segmentation allows tracking of energy consumption at the service level and attribution to specific users, improving measurement precision without requiring a complete system overhaul. Each service independently generates tracing information that can be aggregated later.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component (energy monitoring system) that collects tracing information from various software services and aggregates it to determine user-level energy consumption. This intermediary handles the complexity of data collection and attribution, isolating the measurement precision improvement from the overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If tracing information is collected and analyzed to attribute energy consumption to individual users, then information completeness is improved, but loss of time increases

Engineering Contradiction:
Improveenergy consumption information completenessVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by instrumenting software services with tracing code in advance. This tracing infrastructure is set up beforehand to automatically capture usage information, so that when energy consumption analysis is needed, the data is already collected and structured, reducing the time required for subsequent analysis while maintaining information completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of tracing information from multiple software services and aggregates them to form a complete picture of user energy consumption. Rather than requiring real-time analysis of all services simultaneously, the system creates and stores tracing data copies that can be processed sequentially, reducing processing time while maintaining information completeness.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250028381A1Monitoring energy consumption associated with tenants of a distributed computing system using tracing
Publication Date: 2025.01.23 RED HAT INC
  • US20250028381A1 patent drawing
  • US20250028381A1 patent drawing
  • US20250028381A1 patent drawing

AI summary

Energy consumption associated with users of a distributed computing system can be monitored using tracing according to some examples described herein. In one such example, a system can execute tracing software configured to track usage of a software service and generate tracing information. The tracing information cant attribute the usage of the software service to a group of users. The system can analyze the tracing information to determine a portion of the usage to attribute to a given user. The system can then determine an energy consumption estimate for the user, for example based on the portion of the usage associated with the user and an energy consumption amount associated with the software service. A graphical user interface can be generated indicating the energy consumption estimate for the user.