Prosecution Insights
Last updated: August 17, 2026
Application No. 18/906,939

MONITORING ENERGY CONSUMPTION ASSOCIATED WITH TENANTS OF A DISTRIBUTED COMPUTING SYSTEM USING TRACING

Non-Final OA §101§103§Other
Filed
Oct 04, 2024
Priority
Aug 17, 2022 — continuation of 12/135,603
Examiner
PHAN, RAYMOND NGAN
Art Unit
2175
Tech Center
2100 — Computer Architecture & Software
Assignee
Red Hat Inc.
OA Round
2 (Non-Final)
94%
Grant Probability
Favorable
2-3
OA Rounds
3m
Est. Remaining
90%
With Interview

Examiner Intelligence

Grants 94% — above average
94%
Career Allowance Rate
975 granted / 1039 resolved
+38.8% vs TC avg
Minimal -4% lift
Without
With
+-3.8%
Interview Lift
resolved cases with interview
Fast prosecutor
2y 1m
Avg Prosecution
38 currently pending
Career history
1065
Total Applications
across all art units

Statute-Specific Performance

§101
1.6%
-38.4% vs TC avg
§103
14.8%
-25.2% vs TC avg
§102
28.9%
-11.1% vs TC avg
§112
2.0%
-38.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1039 resolved cases

Office Action

§101 §103 §Other
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This action is responsive to the following communications: amendment filed on June 3, 2026. This application has been examined. Claims 1-20 are pending. Double Patenting 4. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. 5. Claims 1-3 are rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 1, 10 in Patent No. 12,135,603 respectively. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 1 and 10 of the US Patent No. 12,135,603 are similar in scope to claims 1-3 of the present application with only obvious wording variations. 6. Claims 4-10 are rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 11, 2, 3, 7, 8, 9, 5 in Patent No. 12,135,603 respectively. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 11, 2, 3, 7, 8, 9, 5 of the US Patent No. 12,135,603 are similar in scope to claims 4-10 of the present application with only obvious wording variations. 7. Claims 11-13 are rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 12, 18 in Patent No. 12,135,603 respectively. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 12 and 18 of the US Patent No. 12,135,603 are similar in scope to claims 11-13 of the present application with only obvious wording variations. 8. Claims 14-16 are rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 13, 2, 3 in Patent No. 12,135,603 respectively. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 13, 2, 3 of the US Patent No. 12,135,603 are similar in scope to claims 14-16 of the present application with only obvious wording variations. 9. Claim 17 is rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 15-17 in Patent No. 6,314,480 combinedly. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 15-17 of the US Patent No. are similar in scope to claim 17 of the present application with only obvious wording variations. 10. Claims 18-20 are rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 14, 6, 20 in Patent No. 6,314,480 respectively. Although the conflicting claims are not identical, they are not patentably distinct from each other because claims 14, 6, 20 of the US Patent No. 12,135,603 are similar in scope to claims 18-20 of the present application with only obvious wording variations. Present Application Pat No. 12,135,603 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: receive tracing information that attributes usage of a software service to a plurality of users of a distributed computing system; determine, based on the tracing information, a portion of the usage to attribute to a user of the plurality of users; determine an energy consumption amount associated with the software service; and determine an energy consumption estimate for the user based on the portion of the usage associated with the user and the energy consumption amount associated with the software service. 2. 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: access a predefined mapping that correlates a plurality of software services to a plurality of energy consumption amounts, each software service of the plurality of software services 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 software service using the predefined mapping. 3. 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. 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: 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. 5. 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. 6. 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. 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, further comprising program code that is executable by the one or more processors for causing the one or more processors to: execute 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. 11. A method comprising: receiving, by one or more processors, tracing information that attributes usage of a software service to a plurality of users of a distributed computing system; determining, by the one or more processors and based on the tracing information, 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 amount associated with the software service; and 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 the energy consumption amount associated with the software service. 12. The method of claim 11, further comprising: accessing a predefined mapping that correlates a plurality of software services to a plurality of energy consumption amounts, each software service of the plurality of software services 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 software service using the predefined mapping. 13. The method of claim 11, 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. 14. The method of claim 11, 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 total number of trace entries in the plurality of trace entries; 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 and the total number of trace entries. 15. The method of claim 11, wherein the energy consumption amount is a total amount of energy consumed by the software service during a predefined time window, and further comprising: determining the energy consumption estimate for the user by multiplying the portion of the usage associated with the user by the energy consumption amount. 16. The method of claim 11, 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. 17. The method of claim 11, 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; automatically transmitting an alert notification to a recipient device; or automatically throttling an ability of the user to use the software service to limit energy consumption by the user. 18. The method of claim 11, further comprising: executing 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. 19. The method of claim 18, wherein the tracing software is separate from the software service. 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: receive tracing information that attributes usage of a software service to a plurality of users of a distributed computing system; determine, based on the tracing information, a portion of the usage to attribute to a user of the plurality of users; determine an energy consumption amount associated with the software service; and determine an energy consumption estimate for the user based on the portion of the usage associated with the user and the energy consumption amount associated with the software service. 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; Claim 10 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. 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. 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. 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. 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 Claim 18 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. 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. Claim 2 Claim 3 Claims 15-17: 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. 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. Claim 6 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. In re Karlson, 136 USPQ 189 (ccPA 1963). Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-20 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Claim 1 recites a non-transitory computer-readable medium. Claim 12 recites a method. Claim 20 recites a system. Therefore, claim 1 is directed to a manufacture, claim 12 is directed to a process, and claim 20 is directed to a machine. Claims 2-11 depend from claim 1; claims 13-19 depend from claim 12. With respect to claims 1, 12, 20: 2A, Prong 1: the claim recites a Judicial Exception • 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; (mental process - collecting and observing information; or alternatively, insignificant extra-solution activity - mere data gathering, see MPEP 2106.05(g)) • analyze the tracing information to determine a portion of the usage to attribute to a user of the plurality of users; (mental process - evaluation or mathematical calculation; a human administrator reviewing usage logs can mentally determine what fraction of service executions were triggered by a particular user) • 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 (mathematical concept - mathematical calculation; the claimed step applies the formula: energy_estimate = (portion of usage) × (energy consumption amount), which is a straightforward proportional arithmetic operation) • generate a graphical user interface indicating the energy consumption estimate associated with the user (mental process - evaluation or judgement; displaying a computed result; alternatively, insignificant extra-solution activity - mere data output, see MPEP 2106.05(g)) 2A, Prong 2: This Judical Exception is not integrated into a Practical Application • a non-transitory computer-readable medium comprising program code that is executable by one or more processors (mere instructions to apply an exception on generic computer hardware - see MPEP 2106.05(f); additionally, the specification admits the claimed techniques use "existing tracing tools such as OpenTelemetry which is normally used by programmers to perform debugging" and can be implemented "without having to further modify the software services themselves," confirming no improvement to the computer itself - see MPEP 2106.05(a)) • execute tracing software configured to track usage of a software service in a distributed computing system (insignificant extra-solution activity - mere data gathering preliminary to the abstract calculations, see MPEP 2106.05(g); additionally WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) • generate tracing information that attributes the usage of the software service to a plurality of users of the distributed computing system (insignificant extra-solution activity - mere data storage/recording of gathered information, see MPEP 2106.05(g); additionally WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) • generate a graphical user interface indicating the energy consumption estimate associated with the user (insignificant extra-solution activity - mere data output presenting the result of the abstract calculation, see MPEP 2106.05(g); additionally WURC: displaying data on a generic display - see MPEP 2106.05(d)(II)(i)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • a non-transitory computer-readable medium comprising program code that is executable by one or more processors (mere instructions to apply an exception - see MPEP 2106.05(f)) • execute tracing software configured to track usage of a software service in a distributed computing system and generate tracing information (insignificant extra-solution activity - mere data gathering, see MPEP 2106.05(g), and WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) • generate a graphical user interface indicating the energy consumption estimate associated with the user (insignificant extra-solution activity - mere data output, see MPEP 2106.05(g), and WURC: displaying data on a generic display - see MPEP 2106.05(d)(II)(i)) With respect to claims 2 and 13: 2A Prong 1: the claim recites a judicial exception. • wherein the energy consumption amount is a total amount of energy consumed by the software service during a predefined time window, and...determine the energy consumption estimate for the user by multiplying the portion of the usage associated with the user by the energy consumption amount (mathematical concept - mathematical calculation; the claim explicitly recites the proportional allocation formula: estimate = portion × total energy amount, a straightforward arithmetic multiplication) 2A Prong 2: This judicial exception is not integrated into a practical application. • wherein the energy consumption amount is a total amount of energy consumed by the software service during a predefined time window (insignificant extra-solution activity - selecting a time window for data input is mere data gathering, see MPEP 2106.05(g)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • wherein the energy consumption amount is a total amount of energy consumed by the software service during a predefined time window (insignificant extra-solution activity - mere data input parameterization, see MPEP 2106.05(g), and WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) With respect to claim 3: 2A Prong 1: the claim recites a judicial exception. • wherein the tracing information includes a plurality of tracing entries, each tracing entry...including a respective request identifier that uniquely identifies a request that triggered execution of the software service, and...a respective user identifier that uniquely identifies a particular user associated with the request (mental process - evaluation or judgement; structuring collected information by associating request identifiers and user identifiers with observed service executions is a mental record-keeping task; additionally, insignificant extra-solution activity - mere data structuring/labeling, see MPEP 2106.05(g)) 2A Prong 2: This judicial exception is not integrated into a practical application. • wherein the tracing information includes a plurality of tracing entries, each tracing entry...including a respective request identifier...and...a respective user identifier (insignificant extra-solution activity - specifying the data structure and content of gathered information is mere data gathering and storage, see MPEP 2106.05(g); additionally WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • wherein the tracing information includes a plurality of tracing entries, each tracing entry...including a respective request identifier...and...a respective user identifier (insignificant extra-solution activity - mere data structuring/storage, see MPEP 2106.05(g), and WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) With respect to claims 4 and 13: 2A Prong 1: the claim recites a judicial exception. • 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...based on the respective portion...and the energy consumption amount; and generate the graphical user interface to include the respective energy consumption estimate associated with each respective user (mathematical concept - mathematical calculation; iteratively applying the same proportional allocation formula across multiple users is a mathematical generalization of the same abstract arithmetic; additionally, mental process - evaluation or judgement) 2A Prong 2: This judicial exception is not integrated into a practical application. • generate the graphical user interface to include the respective energy consumption estimate associated with each respective user (insignificant extra-solution activity - displaying multiple calculated results rather than one is a quantitative extension of the same abstract output step, not an improvement to technology; see MPEP 2106.05(g); additionally WURC: displaying data on a generic display - see MPEP 2106.05(d)(II)(i)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • generate the graphical user interface to include the respective energy consumption estimate associated with each respective user (insignificant extra-solution activity - mere data output, see MPEP 2106.05(g), and WURC: displaying data on a generic display - see MPEP 2106.05(d)(II)(i)) With respect to claims 5 and 14: 2A Prong 1: the claim recites a judicial exception. • 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 (mental process - collecting and observing information; or alternatively, insignificant extra-solution activity - mere data gathering extended to multiple services, see MPEP 2106.05(g)) • 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...and incorporating the respective portion into the energy consumption estimate for the user (mathematical concept - mathematical calculation; iterating the proportional formula across multiple services and summing the results is a mathematical aggregation operation; additionally, mental process - evaluation or mathematical calculation) 2A Prong 2: This judicial exception is not integrated into a practical application. • execute the tracing software to track the usage of a plurality of software services (insignificant extra-solution activity - extending data gathering to multiple services is a quantitative expansion of the same abstract data collection step, not an improvement to technology; see MPEP 2106.05(g); additionally WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • execute the tracing software to track the usage of a plurality of software services (insignificant extra-solution activity - mere data gathering, see MPEP 2106.05(g), and WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) With respect to claim 6: 2A Prong 1: the claim recites a judicial exception. • wherein the tracing software is separate from the software service (mental process - evaluation or judgement; specifying an organizational arrangement of two generic software components (that they are separate rather than integrated) does not introduce any new technical functionality and is equivalent to a mental or architectural design choice) 2A Prong 2: This judicial exception is not integrated into a practical application. • wherein the tracing software is separate from the software service (mere instructions to apply an exception using a generic architectural arrangement - see MPEP 2106.05(f); specifying that two conventional software components are separate does not improve any technology or technical field, see MPEP 2106.05(a)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • wherein the tracing software is separate from the software service (mere instructions to apply an exception - see MPEP 2106.05(f)) With respect to claims 7 and 15: 2A Prong 1: the claim recites a judicial exception. • 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 (certain methods of organizing human activity - fundamental economic practice; adjusting a user's subscription or account tier based on computed consumption levels is a fundamental commercial/billing practice; additionally, mental process - evaluation or judgement) 2A Prong 2: This judicial exception is not integrated into a practical application. • automatically adjust an account tier associated with the user to increase an energy consumption limit associated with the user (insignificant extra-solution activity - automatically applying a conventional commercial billing response (tier adjustment) based on a computed threshold comparison is a routine administrative action, not an improvement to technology; see MPEP 2106.05(g); additionally WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • automatically adjust an account tier associated with the user to increase an energy consumption limit associated with the user (insignificant extra-solution activity - a routine commercial/administrative action applied on a generic computer, see MPEP 2106.05(g), and WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) With respect to claims 8 and 16: 2A Prong 1: the claim recites a judicial exception. • 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 (mental process - evaluation or judgement; comparing a calculated value to a threshold and deciding to send a notification is a mental evaluation step; additionally, insignificant extra-solution activity - transmitting a notification based on the result of the abstract calculation is a conventional data output step, see MPEP 2106.05(g)) 2A Prong 2: This judicial exception is not integrated into a practical application. • transmit an alert notification to a recipient device (insignificant extra-solution activity - transmitting a data output (notification) upon a threshold comparison is routine and conventional; see MPEP 2106.05(g); additionally WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • transmit an alert notification to a recipient device (insignificant extra-solution activity - mere data transmission as a post-solution output, see MPEP 2106.05(g), and WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) With respect to claims 9 and 17: 2A Prong 1: the claim recites a judicial exception. • 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 (mental process - evaluation or judgement; comparing a calculated value to a threshold and deciding to restrict access is a mental evaluation and decision step; throttling user access based on computed consumption is a conventional administrative/network management action applied on a generic computer) 2A Prong 2: This judicial exception is not integrated into a practical application. • automatically throttle an ability of the user to use the software service to limit energy consumption by the user (insignificant extra-solution activity - rate limiting or throttling user access is a well-understood, routine, and conventional network management technique applied here as a post-solution action responsive to the abstract threshold calculation; see MPEP 2106.05(g); additionally WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • automatically throttle an ability of the user to use the software service to limit energy consumption by the user (insignificant extra-solution activity - a routine network management action, see MPEP 2106.05(g), and WURC: receiving or transmitting data over a network - see MPEP 2106.05(d)(II)(i)) With respect to claims 11 and 19: 2A Prong 1: the claim recites a judicial exception. • 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 (mathematical concept - mathematical calculation; selecting a data subset within a time window, counting items in that subset, and computing a ratio (user entries / total entries) is a mathematical/statistical operation performable mentally or with pen and paper by a human analyst reviewing a log file; additionally, mental process - evaluation or mathematical calculation) 2A Prong 2: This judicial exception is not integrated into a practical application. • 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 (insignificant extra-solution activity - filtering a dataset to a time window is a preliminary data selection step that is mere data gathering/preparation ancillary to the abstract mathematical calculation; see MPEP 2106.05(g); additionally WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)) • 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 (mathematical concept - mathematical calculation; counting items in a data set and computing a ratio is a purely mathematical operation, see MPEP 2106.05(g)) 2B: The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. • analyze the tracing information to select a plurality of trace entries...that correspond to a predesignated time window; determine a total number of trace entries; determine a number of trace entries that correspond to the user; 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 (insignificant extra-solution activity - mere data selection and mathematical calculation, see MPEP 2106.05(g), and WURC: storing and retrieving information in memory - see MPEP 2106.05(d)(II)(iii)). EXAMINER NOTE: Applicant is invited to amend the claims to recite a specific technical improvement to computer functionality, a specific application of the abstract idea to a particular technological context that improves the technology itself, or other elements that integrate the abstract idea into a practical application and provide significantly more. Claim Rejections - 35 USC § 103 11. The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art t which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. 12. Claims 1-2, 4-12, and 14-20 are rejected under 35 U.S.C. § 103 as unpatentable over Marr et al. (“Marr”) US 9,292,060 in view of Mogul et al. (“Mogul”) US 2006/0069786. In order to expedite and avoid piecemeal prosecution, the following rejection is made to the extent that the claims are understood, by considering those elements which are understood and interpreting their function in a manner which is consistent with the recited goals of the claims, and then applying the best available art. The examiner relies on the entire teachings of Marr and Mogul references; the applicant should carefully consider the entire teachings of the above-mentioned references to better understand the examiner’s position. In regard to claim 1, Marr discloses 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: receive tracing information that attributes usage of a software service to a plurality of users of a distributed computing system (as shown in Fig. 5, which is reproduced below for ease of reference and convenience, Marr discloses: attributes usage to a plurality of users of a multi-tenant distributed system in claim 1 monitors “usage of a set of computing components … by each of a plurality of users” and determines the percentage “attributable to each of the plurality of users” (col. 16:65-17:8). The monitored units are hardware computing components (col. 7:20-34), tracked per VM_ID (col. 12:30-48; FIG. 5, blocks 502-510, col. 14:1-16). PNG media_image1.png 726 490 media_image1.png Greyscale determine, based on the tracing information, a portion of the usage to attribute to a user of the plurality of users (in Marr, determines a per-user portion in claim 1, “determining a percentage of the usage of each of the set of computing components that is attributable to each of the plurality of users over a selected period of time” (col. 17:3-8). determine an energy consumption amount associated with the software service (in Marr, determines an energy/power amount for the monitored unit in claim 1, “determining an amount of power consumption for each of the set of computing components over the selected period of time” (col. 17:8-11); and maintains “rates of power consumption for particular activities” (col. 14:22-27); and determine an energy consumption estimate for the user based on the portion of the usage associated with the user and the energy consumption amount associated with the software service (in Marr, supplies the formula in claim 1, “allocating an amount of power consumption … to each of the plurality of users … determined based at least in part upon the percentage of the usage … and the amount of power consumption for each of the set of computing components over that selected period of time” (col. 17:11-18), i.e., estimate = (portion) × (amount)). But Marr does not expressly teach tracing information, nor tracking usage of a software service; its accounting is of hardware-component power keyed to a VM_ID, not distributed traces of software-service executions; derives the portion from hardware usage counters/registers from tracing information; and the amount with hardware components/operational states with a software service. In the same field of endeavor, Mogul expressly teaches tracing information, nor tracking usage of a software service; its accounting is of hardware-component power keyed to a VM_ID, not distributed traces of software-service executions (as shown in Fig. 2A, which is reproduced below for ease of reference and convenience, Mogul discloses traces activity of nodes/services through cascading service chains that web [Wingdings font/0xE0] application [Wingdings font/0xE0] database / authentication / name / credit-card / CRM services (col. 1:33-40; FIG. 2A, col. 4:46-52) where a node may itself be a software module/component/service (col. 4:5-13), captured as a message trace (col. 5:14-18). In the combination, Mogul’s trace supplies the “tracing information” identifying software-service usage, and Marr’s multi-user framework attributes it to the plurality of users); PNG media_image2.png 612 708 media_image2.png Greyscale derives the portion from hardware usage counters/registers from tracing information (in Mogul, apportions a node’s resource consumption among the causal paths/activities active at that node where N causal paths are simultaneously active, each is allocated a share of the trace value (col. 12:8-22; per-sub-interval allocation, col. 11:57-65). Combined, the per-user portion is derived from Mogul’s trace analysis); and the amount with hardware components/operational states with a software service (in Mogul, quantifies energy as a traced resource ascribed to a node’s (service’s) activity “quantified resources, such as energy and network bandwidth” (col. 5:3-6); a per-node energy-consumption trace (col. 6:45-56; energy trace, FIG. 5C timeline 504, col. 10:63-66). Combined, the energy amount is associated with the traced software service). Marr supplies a per-user proportional-attribution framework (portion × amount; col. 17:11-18); Mogul supplies distributed causal-path/energy tracing (col. 3:16-30; col. 6:45-56). It would have been obvious to a person of ordinary skill in the art before the effective filling date of the claimed invention to a person having ordinary skill in the art to combine them substitutes Mogul’s trace-based, software-service-level usage data for Marr’s hardware-counter usage data as the input to Marr’s per-user allocation as a predictable result using known methods. See KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 416 (2007). In regard to claims 2, 12, Marr teaches further a 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 a plurality of software services to a plurality of energy consumption amounts, each software service of the plurality of software services 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 software service using the predefined mapping (in Marr, maintains “rates of power consumption for particular activities” (col. 14:22-27) and per-component power amounts (claim 1, col. 17: 8-11); Mogul quantifies per-node/service energy (col. 6:45-56). Storing that correlation as a predefined service[Wingdings font/0xE0]energy lookup is a routine implementation. Obvious over Marr in view of Mogul. In regard to claims 4, 14, Mogul teaches further 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 (in Mogul, builds intermediate per-node traces with entry/exit timestamps, identifies sub-intervals by the number of active causal paths (FIG. 6, blocks 42-44; blocks 601-602, col. 13-col. 14), and counts/allocates per sub-interval (col. 12:8-22). Marr supplies the per-user ratio over a selected period (claim 1, col. 17:3-8). Combination. In regard to claims 5, 15, Marr teaches 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 (in Marr, claim 1 uses a selected-period power amount × per-user percentage (col. 17:8-18); Mogul provides a window-based energy trace (col. 6:45-56; FIG. 5C). Taught / obvious over Marr in view of Mogul. In regard to claims 6, 16 Mogul teaches 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 (in Mogul’s trace records carry “a timestamp, a source identifier, and a destination identifier” (col. 5:53-56), with each causal path corresponding to one activity/request, e.g., a Web-page request (col. 4:52-58); Marr supplies the per-user identifier (VM_ID) (col. 12:30-48). The combination yields entries carrying both a request ID and a user ID. In regard to claim 7, Marr teaches further 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 (in Marr, claim 1 determines “at least one adjustment for reducing an amount of power consumption … for at least one user” (col. 17:18-22) and lets a customer set a maximum / obtain a lower rate for lower power states (col. 8:16-19). Adjusting a user’s tier/limit on a threshold is a routine remediation. Obvious over Marr. In regard to claim 8, Marr teaches further 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 (Marr’s power console reports per-user consumption (col. 8:19-25); issuing a threshold-triggered alert is a routine monitoring step. Obvious over Marr. In regard to claim 9, Marr teaches further 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 (in Marr, expressly contemplates “only extreme usage cases being throttled or otherwise affected” (col. 10:50-55) and monitoring requests to adjust power levels accordingly (col. 9:24-30). Obvious over Marr. In regard to claims 10 and 18, Mogul teaches further program code that is executable by the one or more processors for causing the one or more processors to: execute 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 (in Mogul traces multiple nodes/services and receives a resource-usage trace per node (logic 103, col. 3:16-30; multiple causal paths across tiers, FIG. 2A / FIG. 3); 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 (in Mogul traces multiple nodes/services and receives a resource-usage trace per node (logic 103, col. 3:16-30; multiple causal paths across tiers, FIG. 2A / FIG. 3) to determine a respective portion of the usage of the respective software service to attribute to the user (in Mogul, for each service, determine a respective portion [Wingdings font/0xE0] per-node apportionment among active causal paths (col. 12:8-22); determining a respective energy consumption amount associated with the respective software service (in Mogul, determines respective energy amount per service [Wingdings font/0xE0] per-node energy trace (col. 6:45-56); 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 (in Marr, determines respective portion of the energy amount [Wingdings font/0xE0] portion × amount, per service (Marr, claim 1, col. 17:11-18); and incorporating the respective portion into the energy consumption estimate for the user (in Mogul traces a plurality of nodes/services and ascribes each node’s usage to the causal paths that include it (col. 3:16-30; FIG. 3; FIG. 10 block 1001, col. 16:48-53); Marr aggregates per user across components (claim 1). Combination over Marr in view of Mogul). In regard to claim 17, Marr teaches further: determining that the energy consumption estimate for the individual user exceeds a predefined threshold (in Marr, lets a customer specify a maximum power level and has the service respond when usage reaches it (col. 9:24-10:55); and based on determining that the energy consumption estimate for the individual user exceeds the predefined threshold: automatically adjusting an account tier associated with the individual user to increase an energy consumption limit associated with the individual user (in Marr, comparing the per-user estimate to the set limit is obvious to Marr); automatically transmitting an alert notification to a recipient device (in Marr, teaches power console reports per-user consumption (col. 8:19-25), and a threshold-triggered notification is a routine monitoring step so this branch is obvious, not anticipated. But you never have to reach it, given: "only extreme usage cases being throttled or otherwise affected" (col. 10:50-55) and the service "monitor[s] incoming requests for that customer … and adjust[s] power consumption levels accordingly" (col. 9: 24-30)) , or automatically throttling an ability of the individual user to use the software service to limit energy consumption by the individual user (in Marr, claim 1 recites "determining at least one adjustment for reducing an amount of power consumption … for at least one user" (col. 17:18-22), and the spec ties consumption-based rate/limit setting to the billing system (col. 8:8-19). Routine tier/limit adjustment is obvious over Marr). In regard to claim 19, Marr teaches wherein the tracing software is separate form the software service (in Mogul’s ascribing logic 103 is separate from the traced nodes/services (FIG. 1; col. 3:16-24); Amazon’s power management service is separate from the host machines (FIG. 3, power management service 304; col. 7-col. 8)). Claim 11 (method) and Claim 20 (system comprising processor and memory) recite the same operative limitations as non-transitory machine-readable (CRM) claim 1. The change in claim format from CRM to method or system does not confer patentability where the underlying operations are identical to those taught by the applied references. See MPEP § 2114; In re Bernhart, 417 F.2d 1395 (CCPA 1969). The element-by-element mapping set forth for claim 1 applies with equal force to claims 11 and 20. Examiner's note: Examiner has cited particular columns and line numbers in the references applied to the claims above for the convenience of the Applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the Applicant in preparing responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passages as taught by the prior art or disclosed by the Examiner. Allowable Subject Matter 13. Claims 3 and 13 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. 14. The following is an Examiner's statement of reasons for the indication of allowable subject matter: Claims 3 and 13 recite that the energy consumption amount corresponds to a particular operation among a plurality of operations executable by the software service, that the tracing information indicates the particular operation was performed by the software service for the individual user, and a predefined mapping correlating operations (not services) to energy amounts. Marr meters hardware components / operational states (col. 7:28-34; col. 12:30-48), not named software-service operations identified through tracing. Mogul allocates by causal-path/node activity (col. 12:8-22) and does not use a predefined operation[Wingdings font/0xE0]nergy mapping tied to a per-user, operation-level trace. The specific combination of (i) operation-level granularity in the energy mapping, (ii) tracing that affirmatively identifies the particular operation performed for the individual user, and (iii) a predefined operation[Wingdings font/0xE0]energy mapping does not appear taught or rendered obvious by the art of record. Incorporating this combination into the independent claims would place them in condition for allowance. Response to Amendment 15. Applicant’s amendment and arguments, see pages 2-11, filed on June 3, 2026, with respect to the rejection of claims 1-20 under 35USC102 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground of rejection is made in view of Marr. Conclusion 16. All claims are rejected. 17. Any inquiry concerning this communication or earlier communications from the examiner should be directed to examiner Raymond Phan, whose telephone number is (571) 272-3630. The examiner can normally be reached on Monday-Friday from 6:30AM- 3:00PM. The Group Fax No. (571) 273-8300. Communications via Internet e-mail regarding this application, other than those under 35 U.S.C. 132 or which otherwise require a signature, may be used by the applicant and should be addressed to [raymond.phan@uspto.gov]. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Andrew Jung can be reached at (571) 270-3779. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. All Internet e-mail communications will be made of record in the application file. PTO employees do not engage in Internet communications where there exists a possibility that sensitive information could be identified or exchanged unless the record includes a properly signed express waiver of the confidentiality requirements of 35 U.S.C. 122. This is more clearly set forth in the Interim Internet Usage Policy published in the Official Gazette of the Patent and Trademark on February 25, 1997 at 1195 OG 89. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see hop://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). Any inquiry of a general nature or relating to the status of this application should be directed to the TC 2100 central telephone number is (571) 272-2100. /RAYMOND N PHAN/ Primary Examiner, Art Unit 2175
Read full office action

Prosecution Timeline

Oct 04, 2024
Application Filed
Mar 26, 2026
Non-Final Rejection mailed — §101, §103, §Other
Jun 02, 2026
Applicant Interview (Telephonic)
Jun 02, 2026
Examiner Interview Summary
Jun 03, 2026
Response Filed
Jul 29, 2026
Non-Final Rejection mailed — §101, §103, §Other (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12693986
CREDIT SYNCHRONIZATION BY SENDING A VALUE FOR A LOCAL CREDIT IN A MESSAGE SENDER FROM A MESSAGE RECEIVER TO THE MESSAGE SENDER IN RESPONSE TO A SYNCHRONIZATION TRIGGER
1y 9m to grant Granted Jul 28, 2026
Patent 12687969
DATA PLACEMENT WITH TRUSTWORTHY ENERGY AWARENESS
2y 5m to grant Granted Jul 21, 2026
Patent 12687882
LATENCY SYNCHRONIZATION
2y 2m to grant Granted Jul 21, 2026
Patent 12669844
SYNCRONISER CIRCUIT
2y 5m to grant Granted Jun 30, 2026
Patent 12670110
CLOCK DOMAIN TRANSFER FOR HIGH BANDWIDTH DATA TRANSFER USING EVENT TRANSFER BLOCKS
2y 3m to grant Granted Jun 30, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

2-3
Expected OA Rounds
94%
Grant Probability
90%
With Interview (-3.8%)
2y 1m (~3m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 1039 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month