IP Library Granted Patent US 12,135,603
Granted Patent B2
US 12,135,603 · App. 17/889,497 · Granted Nov 5, 2024

Monitoring energy consumption associated with users of a distributed computing system using tracing

Inventors: Huamin Chen (Newton, MA); Omri Zeneva (Beer Shiva, IL); Yuval Lifshitz (Kfar HaOranim, IL); Parul Singh (Cambridge, MA)
Assignee: Red Hat, Inc.
G06F1/3296G06F1/3231
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,135,603
App. No.
17/889,497
Granted
Nov 5, 2024
Kind
B2
Abstract

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.

Claims (78)

1. A non-transitory computer-readable medium comprising program code that is executable by one or more processors for causing the one or more processors to:

execute tracing software configured to track usage of a software service in a distributed computing system and generate tracing information that attributes the usage of the software service to a plurality of users of the distributed computing system;

analyze the tracing information to determine a portion of the usage to attribute to a user of the plurality of users;

determine an energy consumption estimate for the user based on the portion of the usage associated with the user and an energy consumption amount associated with the software service; and

generate a graphical user interface indicating the energy consumption estimate associated with the user.

2. The non-transitory computer-readable medium of claim 1 , wherein the energy consumption amount is a total amount of energy consumed by the software service during a predefined time window, and further comprising program code that is executable by the one or more processors for causing the one or more processors to:

determine the energy consumption estimate for the user by multiplying the portion of the usage associated with the user by the energy consumption amount.

3. The non-transitory computer-readable medium of claim 1 , wherein the tracing information includes a plurality of tracing entries, each tracing entry of the plurality of tracing entries including a respective request identifier that uniquely identifies a request that triggered execution of the software service, and each tracing entry of the plurality of tracing entries including a respective user identifier that uniquely identifies a particular user associated with the request from among the plurality of users.

4. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the one or more processors for causing the one or more processors to:

for each respective user of the plurality of users:

analyze the tracing information to determine a respective portion of the usage of the software service to attribute to the respective user; and

determine a respective energy consumption estimate for the respective user, the respective energy consumption estimate being determined based on the respective portion of the usage attributed to the respective user and the energy consumption amount associated with the software service; and

generate the graphical user interface to include the respective energy consumption estimate associated with each respective user of the plurality of users.

5. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the one or more processors for causing the one or more processors to:

execute the tracing software to track the usage of a plurality of software services and generate the tracing information, wherein the plurality of software services include the software service, and wherein the tracing information attributes the usage of the plurality of software services to the plurality of users; and

generate the energy consumption estimate for the user by, for each respective software service of the plurality of software services:

analyzing the tracing information to determine a respective portion of the usage of the respective software service to attribute to the user;

determining a respective energy consumption amount associated with the respective software service;

determining a respective portion of the respective energy consumption amount to attribute to the user, based on the respective portion of the usage attributed to the user; and

incorporating the respective portion into the energy consumption estimate for the user.

6. The non-transitory computer-readable medium of claim 1 , wherein the tracing software is separate from the software service.

7. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the one or more processors for causing the one or more processors to:

determine that the energy consumption estimate for the user exceeds a predefined threshold; and

based on determining that the energy consumption estimate for the user exceeds the predefined threshold, automatically adjust an account tier associated with the user to increase an energy consumption limit associated with the user.

8. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the one or more processors for causing the one or more processors to:

determine that the energy consumption estimate for the user exceeds a predefined threshold; and

based on determining that the energy consumption estimate for the user exceeds the predefined threshold, transmit an alert notification to a recipient device.

9. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the one or more processors for causing the one or more processors to:

determine that the energy consumption estimate for the user exceeds a predefined threshold; and

based on determining that the energy consumption estimate for the user exceeds the predefined threshold, automatically throttle an ability of the user to use the software service to limit energy consumption by the user.

10. The non-transitory computer-readable medium of claim 1 , wherein the energy consumption amount corresponds to a particular operation among a plurality of operations that are executable by the software service, wherein the tracing information indicates that the particular operation was performed by the software service for the user, and further comprising program code that is executable by the one or more processors for causing the one or more processors to:

access a predefined mapping that correlates the plurality of operations to a plurality of energy consumption amounts, each operation of the plurality of operations being correlated in the predefined mapping to a respective energy consumption amount of the plurality of energy consumption amounts; and

determine the energy consumption amount associated with the operation using the predefined mapping.

11. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the one or more processors for causing the one or more processors to:

analyze the tracing information to select a plurality of trace entries that are associated with the software service and that correspond to a predesignated time window;

determine a total number of trace entries in the plurality of trace entries;

determine a number of trace entries that correspond to the user in the plurality of trace entries; and

determine the portion of the usage to attribute to the user based on the number of trace entries corresponding to the user and the total number of trace entries.

12. A method comprising:

executing, by one or more processors, tracing software configured to track usage of a software service in a distributed computing system and generate tracing information that attributes the usage of the software service to a plurality of users of the distributed computing system;

analyzing, by the one or more processors, the tracing information to determine a portion of the usage to attribute to a user of the plurality of users;

determining, by the one or more processors, an energy consumption estimate for the user based on the portion of the usage associated with the user and an energy consumption amount associated with the software service; and

generating, by the one or more processors, a graphical user interface indicating the energy consumption estimate associated with the user.

13. The method of claim 12 , further comprising:

for each respective user of the plurality of users:

analyzing the tracing information to determine a respective portion of the usage of the software service to attribute to the respective user; and

determining a respective energy consumption estimate for the respective user, the respective energy consumption estimate being determined based on the respective portion of the usage attributed to the respective user and the energy consumption amount associated with the software service; and

generating the graphical user interface to include the respective energy consumption estimate associated with each respective user of the plurality of users.

14. The method of claim 12 , further comprising:

executing the tracing software to track the usage of a plurality of software services and generate the tracing information, wherein the plurality of software services include the software service, and wherein the tracing information attributes the usage of the plurality of software services to the plurality of users; and

generating the energy consumption estimate for the user by, for each respective software service of the plurality of software services:

analyzing the tracing information to determine a respective portion of the usage of the respective software service to attribute to the user;

determining a respective energy consumption amount associated with the respective software service;

determining a respective portion of the respective energy consumption amount to attribute to the user, based on the respective portion of the usage attributed to the user; and

incorporating the respective portion into the energy consumption estimate for the user.

15. The method of claim 12 , further comprising:

determining that the energy consumption estimate for the user exceeds a predefined threshold; and

based on determining that the energy consumption estimate for the user exceeds the predefined threshold, automatically adjusting an account tier associated with the user to increase an energy consumption limit associated with the user.

16. The method of claim 12 , further comprising:

determining that the energy consumption estimate for the user exceeds a predefined threshold; and

based on determining that the energy consumption estimate for the user exceeds the predefined threshold, transmitting an alert notification to a recipient device.

17. The method of claim 12 , further comprising:

determining that the energy consumption estimate for the user exceeds a predefined threshold; and

based on determining that the energy consumption estimate for the user exceeds the predefined threshold, automatically throttling an ability of the user to use the software service to limit energy consumption by the user.

18. The method of claim 12 , wherein the energy consumption amount corresponds to a particular operation among a plurality of operations that are executable by the software service, wherein the tracing information indicates that the particular operation was performed by the software service for the user, and further comprising:

accessing a predefined mapping that correlates the plurality of operations to a plurality of energy consumption amounts, each operation of the plurality of operations being correlated in the predefined mapping to a respective energy consumption amount of the plurality of energy consumption amounts; and

determining the energy consumption amount associated with the operation using the predefined mapping.

19. The method of claim 12 , further comprising:

analyzing the tracing information to select a plurality of trace entries that are associated with the software service and that correspond to a predesignated time window;

determining a number of trace entries that correspond to the user in the plurality of trace entries; and

determining the portion of the usage to attribute to the user based on the number of trace entries corresponding to the user.

20. A system comprising:

one or more processors; and

a memory that includes instructions executable by the one or more processors for causing the one or more processors to:

execute tracing software configured to track usage of a software service in a distributed computing system and generate tracing information that attributes the usage of the software service to a plurality of users of the distributed computing system;

analyze the tracing information to determine a portion of the usage to attribute to a user of the plurality of users;

determine an energy consumption estimate for the user based on the portion of the usage associated with the user and an energy consumption amount associated with the software service; and

generate a graphical user interface indicating the energy consumption estimate for the user.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2022
From: CHEN, HUAMIN; ZENEVA, OMRI; LIFSHITZ, YUVAL; SINGH, PARUL
To: RED HAT, INC.
Reel/Frame 060828/0891 →
Continuity (1)
Related Publication 20240061494A1 · Feb 22, 2024