Calculation device and calculation method

The calculation device effectively calculates carbon emissions per software unit by integrating server information, carbon intensity, and resource consumption data, overcoming the complexity of existing methods to accurately allocate emissions.

WO2025210870A1PCT designated stage Publication Date: 2025-10-09NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/014054
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-05
Publication Date
2025-10-09

AI Technical Summary

Technical Problem

Existing methods struggle to accurately calculate carbon emissions per software unit due to the complexity of measuring and allocating emissions across multiple software running on a single hardware, requiring continuous collection of varying values and complex calculations.

Method used

A calculation device comprising a server information collection unit, carbon intensity collection unit, and carbon emission calculation unit to gather and process power consumption, resource consumption, and location-specific carbon intensity data to determine carbon emissions per software unit, including calculations for both electricity-derived and embodied carbon.

Benefits of technology

Enables precise calculation of carbon emissions per software unit, addressing the challenge of allocating emissions across multiple software instances and hardware manufacturing contributions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024014054_09102025_PF_FP_ABST
    Figure JP2024014054_09102025_PF_FP_ABST
Patent Text Reader

Abstract

A calculation device 10 comprises: a server information collection unit 11 that acquires server information including the power consumption of a server and the resource consumption ratio for each process; a carbon intensity collection unit 13 that acquires the carbon intensity indicating the carbon emission amount per unit of the power consumption amount at a location where the server is installed; and a carbon emission amount calculation unit 15 that calculates, from the power consumption of the server and the carbon intensity, the carbon emission amount resulting from the power consumption of the server during a calculation target period, that calculates the carbon emission amount by multiplying, by the carbon emission amount resulting from the manufacture of the server, the ratio of the calculation target period with respect to the period during which the server is used, and that calculates the carbon emission amount for each process by multiplying the resource consumption ratio for each process by the sum of the carbon emission amount resulting from the power consumption and the carbon emission amount resulting from the manufacture.
Need to check novelty before this filing date? Find Prior Art

Description

Calculation device and calculation method

[0001] The present disclosure relates to a calculation device and a calculation method.

[0002] Greenhouse gas emissions, such as carbon dioxide, are considered to be a cause of climate change, and reductions in emissions are necessary. As ICT technology continues to spread and expand, carbon emissions from the ICT sector are also increasing. Measures such as reducing the power consumption of hardware have been implemented to reduce carbon emissions in the ICT sector, and have been somewhat effective.

[0003] On the other hand, not enough efforts have been made on software due to the difficulty of measuring and calculating the emissions that are a prerequisite for reducing emissions. Software does not directly emit carbon, but it indirectly affects carbon emissions by driving hardware.

[0004] SmartWatts: Self-Calibrating Software-Defined Power Meter for Containers: G. Fieni, R. Rouvoy, L. Seiturier. 20th IEEE / ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID 2020). May 2020, Melbourne, Australia. Green Software Foundation. (2021). Software Carbon Intensity Standard (Version 1.0.0) [Computer software]. https: / / github.com / green-software-foundation / software_carbon_intensity

[0005] In order to take appropriate software-based measures to reduce carbon emissions, a technique for calculating carbon emissions on a software-by-software basis is important. It is common for multiple pieces of software to run on a single piece of hardware, making it difficult to calculate the carbon emissions contributed by each piece of software. Non-Patent Document 1 is a prior art technique for calculating the power consumption of multiple pieces of software running on a single piece of hardware, such as a server, based on the resource consumption ratio of each piece of software.

[0006] On the other hand, carbon emissions cannot be calculated by calculating power consumption alone. For example, in Software Carbon Intensity, an index of software carbon emissions shown in Non-Patent Document 2, carbon intensity, which is the carbon emissions per unit of power consumption used, is required to calculate the carbon emissions derived from electricity, and further, calculations are required to allocate embodied carbon, which is the carbon emissions during hardware manufacturing, to each software unit.

[0007] Calculating carbon emissions per software unit has been difficult because it requires continuous collection of values ​​that vary with time and location and complex calculations.

[0008] The present disclosure has been made in view of the above, and aims to calculate carbon emissions per software unit.

[0009] A calculation device according to one aspect of the present disclosure calculates carbon emissions per software unit, and includes: a server information collection unit that acquires server information including the power consumption of the server and the resource consumption rate for each process; a carbon intensity collection unit that acquires carbon intensity indicating the carbon emissions per amount of power consumption in the area where the server is installed; and a carbon emission calculation unit that calculates a first carbon emission amount resulting from the power consumption of the server from the power consumption of the server during a calculation period and the carbon intensity, calculates a second carbon emission amount by multiplying the carbon emission amount resulting from the manufacture of the server by the ratio of the calculation period to the period during which the server is in use, and calculates the carbon emission amount for each process by multiplying the sum of the first carbon emission amount and the second carbon emission amount by the resource consumption rate for each process.

[0010] According to the present disclosure, carbon emissions per software unit can be calculated.

[0011] FIG. 1 is a diagram showing an example of the configuration of a software carbon emission calculation device. FIG. 2 is a flowchart showing an example of the processing flow of a server information collection unit. FIG. 3 is a flowchart showing an example of the processing flow of a carbon intensity collection unit. FIG. 4 is a flowchart showing an example of the processing flow of a carbon emission calculation unit. FIG. 5 is a flowchart showing an example of the processing flow for calculating electricity-derived emissions. FIG. 6 is a diagram showing an example of power consumption during a calculation period. FIG. 7 is a diagram showing an example of carbon intensity during a calculation period. FIG. 8 is a diagram showing an example of resource consumption rates of processes during a calculation period. FIG. 9 is a flowchart showing an example of the processing flow for calculating embodied carbon. FIG. 10 is a diagram showing an example of the hardware configuration of a software carbon emission calculation device.

[0012] [Configuration of Software Carbon Emission Calculation Apparatus] Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings.

[0013] An example of the configuration of a software carbon emission calculation device 10 (hereinafter referred to as the calculation device 10) according to this embodiment will be described with reference to Figure 1. The calculation device 10 shown in the figure includes a server information collection unit 11, a server information recording unit 12, a carbon intensity collection unit 13, a carbon intensity recording unit 14, and a carbon emission calculation unit 15.

[0014] The server information collection unit 11 collects server information required for calculating carbon emissions from servers that run software for which carbon emissions are to be calculated, using a predetermined protocol. It is assumed that a list of servers from which the server information collection unit 11 will obtain server information is set in advance. The server information collection unit 11 records the acquired server information and a timestamp at which the server information was acquired in the server information recording unit 12.

[0015] Server information includes a server ID, a location ID, server-embedded carbon, server usage period, server power consumption, and consumed resource information. The server ID is an arbitrary identifier that uniquely identifies a server. The server ID is an arbitrary identifier that uniquely identifies the location (a specific geographical area) where the server is installed. The server-embedded carbon is the carbon emissions associated with the manufacturing of the server and is a real value unique to the server model and hardware configuration. The server usage period is an integer value representing the planned period from the start of server usage to the end of usage. The server power consumption is a real value representing the instantaneous power consumption by the server at the time the server information is acquired. The consumed resource information represents the resource consumption rate for each process at the time the server information is acquired and includes a process ID and resource consumption rate. A process is the actual software instance currently being executed. Knowing the carbon emissions for each process allows the carbon emissions for each software to be determined. Resources refer to hardware resources such as the CPU, GPU, and main memory. One of these resources may be selected and applied, or one or more may be combined and applied. The process ID is an arbitrary identifier that uniquely identifies a process. The location ID, server carbon, and server usage period basically do not change, so they only need to be collected once.

[0016] The server information recording unit 12 records the set of server information and timestamp input from the server information collection unit, and outputs the recorded content as needed to the carbon emission calculation unit 15. The server information recording unit 12 can use any means such as a relational database or a file.

[0017] The carbon intensity collection unit 13 collects the carbon intensity for each location at the time of processing execution. Carbon intensity is a real value that represents the amount of carbon emissions per unit of power consumption. The carbon intensity for each location is a value distributed via the network by the electric power company that supplies electricity to each location. It is assumed that a list of locations from which the carbon intensity collection unit 13 obtains carbon intensity is set in advance. It is assumed that the location ID for the same location matches the location ID in the server information.

[0018] The carbon intensity collection unit 13 records the collected carbon intensity together with the location ID and the timestamp of the time when the carbon intensity was acquired in the carbon intensity recording unit 14 .

[0019] The carbon intensity recording unit 14 records the set of location ID, carbon intensity, and timestamp input from the carbon intensity collection unit 13, and outputs the recorded content as needed to the carbon emission amount calculation unit 15. The carbon intensity recording unit 14 can use any means such as a relational database or a file.

[0020] The carbon emission calculation unit 15 calculates the carbon emission from electricity for the entire server during the calculation period, and also calculates the carbon emission from the manufacturing of the server during the calculation period, and adds up these carbon emissions to calculate the carbon emission for each process according to the resource consumption ratio of the processes running on the server.

[0021] [Operation of Software Carbon Emission Calculation Apparatus] An example of the flow of processing by the server information collection unit 11 will be described with reference to the flowchart of FIG.

[0022] In step S11, the server information collection unit 11 acquires server information from a server that executes software for which carbon emissions are to be calculated.

[0023] In step S12, the server information collection unit 11 generates a timestamp at the time when the server information is acquired.

[0024] In step S13 , the server information collection unit 11 records the set of the server information and the time stamp in the server information recording unit 12 .

[0025] The server information collection unit 11 may periodically execute the above process for each server on a pre-set server list to acquire server information, or may execute the above process when a server transmits server information to acquire server information. The timing for collecting server information can be set arbitrarily.

[0026] An example of the processing flow of the carbon intensity collection unit 13 will be described with reference to the flowchart of FIG.

[0027] In step S21, the carbon intensity collection unit 13 acquires the carbon intensity from the carbon intensity information source of the location.

[0028] In step S22, the carbon intensity collection unit 13 generates a timestamp at the time when the carbon intensity is acquired.

[0029] In step S23, the carbon intensity collection unit 13 records a set of the location ID, the carbon intensity value, and the timestamp in the carbon intensity recording unit 14.

[0030] The carbon intensity is a value that varies depending on the location and time. The carbon intensity collection unit 13 periodically performs the above process for each location included in the list of locations from which carbon intensity is collected. The timing for collecting the carbon intensity can be set arbitrarily.

[0031] An example of the flow of processing by the carbon emission calculation unit 15 will be described with reference to the flowchart of FIG.

[0032] In step S31, the carbon emission calculation unit 15 obtains server information of the calculation target server associated with a timestamp within the calculation target period from the server information recording unit 12. It is assumed that the calculation target period is set in advance. The calculation target server is any server whose server information is recorded in the server information recording unit 12. The carbon emission calculation unit 15 may input the calculation target period and the settings of the calculation target server.

[0033] In step S32, the carbon emission amount calculation unit 15 calculates the carbon emission amount derived from electricity during the calculation period.

[0034] In step S33, the carbon emission calculation unit 15 calculates the embodied carbon corresponding to the calculation period.

[0035] The processing of steps S32 and S33 will be described in detail later. The order of the processing of steps S32 and S33 does not matter.

[0036] In step S34, the carbon emission amount calculation unit 15 sums up the carbon emission amounts calculated in steps S32 and S33 for each process, and outputs the total as the calculation result of the carbon emission amount by software.

[0037] [Process for Calculating Electricity-Derived Emissions] The process for calculating electricity-derived emissions will be described with reference to the flowchart in Figure 5. Carbon emissions derived from the electricity of the target server can be calculated by adding up the power consumption and the carbon intensity, which is the carbon emissions during power generation. Carbon emissions per process can be calculated based on the carbon emissions of the target server according to the resource consumption ratio of the process.

[0038] In step S41, the carbon emission amount calculation unit 15 acquires the location ID included in the server information.

[0039] In step S42, the carbon emission amount calculation unit 15 obtains, from the carbon intensity recording unit 14, a carbon intensity value that includes the obtained location ID and is associated with a timestamp within the calculation target period.

[0040] In step S43, the carbon emission calculation unit 15 calculates the server power consumption for each interval obtained by dividing the calculation period by the timestamps of the server information (server power consumption). The carbon emission calculation unit 15 assumes that the power consumption in each interval is constant and calculates the server power consumption by integrating the time of each interval. If the power consumption for each interval is available at both ends of the interval, the average of both values ​​is used; if the power consumption for only one end is available, that power consumption is used.

[0041] Specifically, the carbon emission calculation unit 15 sorts the server power consumption in the order of timestamps and calculates the server power consumption w n (n is an integer of 0 or more) is calculated using the following formula.

[0042]

[0043] Here, e n is the power consumption of the nth server, t n Hae n This is the timestamp.

[0044] Start time of the calculation period t s The timestamp t of the first server power consumption e0 n Server power consumption in the section up to w s and the final server power consumption e m-1 timestamp tm-1 From the end of the calculation period t e Server power consumption in the section up to w e is calculated using the following formula:

[0045]

[0046] The server power consumption should be adjusted to fit the units you want to calculate. For example, if the unit of power consumption is kWh, the calculation should be done so that the unit of power is kW and the unit of time is h.

[0047] Here, calculation of the server power consumption amount will be described with reference to Fig. 6. In the example of Fig. 6, s From t e The calculation target period is defined as the period between t and t. Within the calculation target period, there are three server power consumptions e, e, and e acquired at timestamps t, t, and t, respectively. Therefore, in the example of FIG. 6, the carbon emission calculation unit 15 calculates the carbon emission s and t0, the interval between t0 and t1, the interval between t1 and t2, and the interval between t2 and t e Server power consumption in the section w s , w0, w1, w e Calculate the following.

[0048] In step S44, the carbon emission calculation unit 15 obtains a series of server carbon emissions for each interval by integrating the carbon intensity with the server power consumption for each interval obtained by dividing the calculation period by the timestamp of the server information and the timestamp of the carbon intensity. As with the power consumption, the carbon emission calculation unit 15 assumes that the carbon intensity value is constant in each interval divided by the carbon intensity timestamp. If the carbon intensity at both ends of the interval is obtained, the carbon intensity for each interval is the average of the two, and if the carbon intensity is obtained only at one end, that carbon intensity is used.

[0049] Here, the calculation of the carbon intensity will be described with reference to FIG. 7. In the example of FIG. 7, t s From t e The calculation period is the period between timestamp t a , t b The two carbon intensities i obtained at each a , ib There exists a condition where t0 < t a <t1, t1<t b In the example of FIG. s and a t a and b t b and e The carbon intensity in the section is i a , (i a +i b ) / 2,i b This becomes:

[0050] In the examples of FIGS. 6 and 7, the carbon emission calculation unit 15 divides the calculation period into five time stamps t0, t a , t, t b , t2, separated by s and t0, t0 and t a t a and t1, t1 and t b t b and t2, t2 and t e The server carbon emissions for each section are calculated by multiplying the server power consumption by the carbon intensity, as shown in the following formula:

[0051]

[0052] In step S45, the carbon emission calculation unit 15 calculates the carbon emission per software unit by multiplying the server carbon emission by the resource consumption rate of the process for each process. Because the server information includes the resource consumption rate of the process, the timestamp of the resource consumption rate is the same as the power consumption rate. As with power consumption, the carbon emission calculation unit 15 assumes that the resource consumption rate in each interval is constant. If resource consumption rates are available at both ends of the interval, the resource consumption rate for each interval is the average of both rates, and if a resource consumption rate is available for only one end, that resource consumption rate is used.

[0053] Here, calculation of the resource consumption rate of a certain process will be described with reference to FIG. 8. In the example of FIG. s From t eSimilar to the server power consumption, the calculation period is the period between t0, t1, and t2. p0 , u p1 , u p2 Therefore, in the example of FIG. 8, the carbon emission calculation unit 15 calculates t s and t0 interval, t0 and t1 interval, t1 and t2 interval, t2 and t e The resource consumption rate for the section is calculated.

[0054] The carbon emission calculation unit 15 calculates the carbon emission amount of process p in each interval by multiplying each of the server carbon emission amounts for the six intervals calculated in step S44 by the resource consumption rate for the corresponding interval, and calculates the total carbon emission amount of process p in each interval to calculate the carbon emission amount of process p for the calculation period. The carbon emission amount of process p calculated in the examples of Figures 6 to 8 is expressed by the following formula.

[0055]

[0056] [Endogenous Carbon Calculation Process] The process of calculating endogeneous carbon will be described with reference to the flowchart of FIG.

[0057] The server-embodied carbon in the server information is the carbon emissions at the time of server manufacturing. When allocating the server-embodied carbon to each software unit, the carbon emission calculation unit 15 calculates and allocates the proportion of resources that each software unit consumes among the resources that can be provided during the period from the start to the end of server usage.

[0058] In step S51, the carbon emission amount calculation unit 15 calculates the ratio of the calculation target period to the server usage period included in the server information.

[0059] In step S52, the carbon emission calculation unit 15 multiplies the server-embodied carbon included in the server information by the ratio calculated in step S52 to calculate the value of the server-embodied carbon for the calculation period.

[0060] In step S53, the carbon emission calculation unit 15 calculates, for each process, the carbon embodied in the server for each interval obtained by dividing the calculation period by the timestamp of the server information, and calculates the carbon emission per software unit by finding the sum of the carbon embodied in the server for each interval.

[0061] As with the electricity-derived emissions calculation process, the resource consumption rate in each interval is assumed to be constant. If the resource consumption rates at both ends of the interval are available, the resource consumption rate for each interval is taken as the average of both rates, and if the resource consumption rate for only one end is available, that resource consumption rate is used. The carbon emission calculation unit 15 calculates the server-embodied carbon for each interval by multiplying the server-embodied carbon for the calculation period by the resource consumption rate for each interval.

[0062] As described above, the calculation device 10 of this embodiment includes a server information collection unit 11 that acquires server information including the server's power consumption and the resource consumption rate for each process; a carbon intensity collection unit 13 that acquires carbon intensity that indicates the amount of carbon emission per unit of power consumption at the location where the server is installed; and a carbon emission calculation unit 15 that calculates the amount of carbon emission attributable to the server's power consumption from the server's power consumption and carbon intensity during the calculation period, calculates the carbon emission by multiplying the carbon emission attributable to the server's manufacturing by the ratio of the calculation period to the server's usage period, and calculates the carbon emission for each process by multiplying the sum of the carbon emission attributable to power consumption and the carbon emission attributable to manufacturing by the resource consumption rate for each process.

[0063] The above-described calculation device 10 can be, for example, a general-purpose computer system including a central processing unit (CPU) 901, a memory 902, a storage 903, a communication device 904, an input device 905, and an output device 906, as shown in Fig. 10. In this computer system, the calculation device 10 is realized by the CPU 901 executing a predetermined program loaded onto the memory 902. This program can be recorded on a computer-readable non-transitory recording medium such as a magnetic disk, an optical disk, or a semiconductor memory, or can be distributed via a network.

[0064] REFERENCE SIGNS LIST 10 Software carbon emission calculation device 11 Server information collection unit 12 Server information recording unit 13 Carbon intensity collection unit 14 Carbon intensity recording unit 15 Carbon emission calculation unit

Claims

1. A calculation device that calculates carbon emissions per software unit, comprising: a server information collection unit that acquires server information including the power consumption of the server and the resource consumption rate for each process; a carbon intensity collection unit that acquires carbon intensity that indicates the carbon emissions per amount of power consumption in the area where the server is installed; and a carbon emission calculation unit that calculates a first amount of carbon emissions resulting from the power consumption of the server from the power consumption of the server during a calculation period and the carbon intensity, calculates a second amount of carbon emissions by multiplying the carbon emissions resulting from the manufacture of the server by the ratio of the calculation period to the period during which the server is in use, and calculates the carbon emissions for each process by multiplying each of the first and second carbon emissions by the resource consumption rate for each process.

2. A calculation device as described in claim 1, wherein the server information collection unit records a first timestamp when the server information is acquired, the carbon intensity collection unit records a second timestamp when the carbon intensity is acquired, and the carbon emission calculation unit calculates the first carbon emission amount for each section of the calculation period divided by the first timestamp and the second timestamp from the power consumption of the server for each section of the calculation period divided by the first timestamp and the carbon intensity for each section of the calculation period divided by the second timestamp.

3. A calculation device as described in claim 2, wherein the carbon emission calculation unit calculates the amount of power consumption of the server in each interval obtained by dividing the calculation period by the first timestamp using the average value of the power consumption of the server obtained at both ends of the interval, and calculates the carbon intensity in each interval obtained by dividing the calculation period by the second timestamp using the average value of the carbon intensity obtained at both ends of the interval.

4. A method for calculating carbon emissions per software unit, comprising: a computer acquiring server information including the power consumption of the server and the resource consumption rate for each process; acquiring carbon intensity indicating the carbon emissions per unit of power consumption in the area where the server is installed; calculating a first amount of carbon emissions resulting from the power consumption of the server from the power consumption of the server during a calculation period and the carbon intensity; calculating a second amount of carbon emissions by multiplying the carbon emissions resulting from the manufacture of the server by the ratio of the calculation period to the period during which the server is in use; and calculating the carbon emissions for each process by multiplying each of the first amount of carbon emissions and the second amount of carbon emissions by the resource consumption rate for each process.

Citation Information

Patent Citations

  • Electronic apparatus, power control method for the same, and program for being executed by computer

    JP2010244202A

  • Carbon dioxide emission amount calculation device and program

    WO2023112509A1