Prosecution Insights
Last updated: April 19, 2026
Application No. 18/100,296

METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR PROACTIVE THERMAL MANAGEMENT AND PROCESSING CORE SELECTION

Final Rejection §103
Filed
Jan 23, 2023
Examiner
AKBARI, FARAZ TIMA
Art Unit
2196
Tech Center
2100 — Computer Architecture & Software
Assignee
Mellanox Technologies Ltd.
OA Round
2 (Final)
0%
Grant Probability
At Risk
3-4
OA Rounds
3y 3m
To Grant
0%
With Interview

Examiner Intelligence

Grants only 0% of cases
0%
Career Allow Rate
0 granted / 2 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
36 currently pending
Career history
38
Total Applications
across all art units

Statute-Specific Performance

§101
13.0%
-27.0% vs TC avg
§103
71.2%
+31.2% vs TC avg
§102
1.1%
-38.9% vs TC avg
§112
14.7%
-25.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 2 resolved cases

Office Action

§103
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 office action is in response to Applicant’s Amendment filed 11/25/2025. Claims 1-22 are pending. Claims 1-3, 8-10, and 15-17 have been amended. New Claims 21-22 have been added. Any examiner’s note, objection, or rejection not repeated is withdrawn due to Applicant’s amendment. Claim Rejections - 35 USC § 103 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 to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-22 are rejected under 35 U.S.C. 103 as being unpatentable over Sahu et al. (US 20220164011 A1) in view of Aguilar, Jr. et al. (US 20070260895 A1), hereinafter referred to as Sahu and Aguilar, respectively. Regarding Claim 1, Sahu discloses A computer-implemented method for proactive thermal management ([0036] method 400 for dynamic temperature threshold adjustment of an electronic device. Please note that the method 400 for dynamic temperature threshold adjustment of an electronic device corresponds to Applicant’s computer-implemented method for proactive thermal management.), the method comprising: receiving a job packet, wherein the job packet is associated with a packet profile ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408. Please note that receiving data including user-specific characteristics for the threshold determination function 420 corresponds to Applicant’s receiving a job packet, wherein the job packet is associated with a packet profile, as Applicant defines job packets in [0002]: job packets (e.g., tasks, requests, actions, applications, transactions, etc. Therefore, the set of input data that is received to allow the function 420 to execute corresponds to the job packet, and the user-specific characteristics correspond to a packet profile containing the parameters.); determining one or more performance parameters associated with a performance of the job packet as defined by the packet profile ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408 […] examples of dynamic user-specific characteristics 408 may include […] user expectations regarding tradeoffs in device performance level. Please note that receiving data by the threshold determination function 420 to determine a temperature threshold for an electronic device based on user-specific characteristics such as the expected device performance level tradeoff corresponds to Applicant’s determining one or more performance parameters associated with a performance of the job packet as defined by the packet profile, as the input data defining expected performance level tradeoffs corresponds to a packet profile defining performance parameters associated with a performance of the job packet.); generating a thermal management procedure based upon the one or more performance parameters ([0038] Threshold determination function 420 may employ the input data it receives to generate a dynamic temperature threshold 450 for the electronic device to improve or maximize the user's experience in using the electronic device. Please note that the threshold determination function 420 generating a dynamic temperature threshold 450 using input data corresponds to Applicant’s generating a proactive thermal management procedure based upon the one or more performance parameters, as its dynamic nature corresponds to being proactive since it maintains an optimal temperature in the electronic device based on input data, corresponding to performance parameters.); defining an amount of heat dissipation to be required by performance of the job packet ([0021] Further, in some examples, the temperature threshold may be adjusted or at least partially based on one or more static characteristics of the electronic device that may affect a measured temperature of the electronic device. Such characteristics may include, but are not limited to, […] an indication of the amount of heat (e.g., as measured by the one or more temperature sensors) that may be transferred. Please note that the temperature threshold being based on characteristics of the electronic device including an indication of the amount of heat that may be transferred corresponds to Applicant’s defining an amount of heat dissipation to be required by performance of the job packet, as this value affects the measured temperature of the electronic device and thus would define the amount of heat dissipation that could be required by performing the job packet in the system. As the temperature threshold is dynamic, even if the amount of heat that may be transferred is static, it would still result in allowing for proactive thermal management based on other additional inputs.); and associating the proactive thermal management procedure with the job packet ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408. Please note that by having the threshold determination function 420 corresponding to the proactive thermal management procedure utilize user-specific characteristics in its configuration, it is in effect associating that version of the procedure with a distinct requesting user, corresponding to associating it with the job packet.). Sahu does not explicitly disclose predicted performance parameters; and processing core selection; proactive thermal management procedure; However, Aguilar discloses predicted performance parameters ([0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that predicting the thermal effect on the multi-core processor with the software thermal index for the software module corresponds to Applicant’s predicted performance parameters, as the prediction is associated with the software module, i.e., associated with the performance of jobs.) and processing core selection ([0020] operation for the selection of processor cores for optimal thermal performance of a computer system. Please note that the selection of processing cores corresponds to Applicant’s processing core selection.); proactive thermal management procedure ([0151] the state of the computer system is controlled to avoid and not just react to thermal limits. Please note that controlling the state of the computer system to avoid and not just react to thermal limits corresponds to Applicant’s proactive thermal management procedure.) Sahu and Aguilar are both considered to be analogous to the claimed invention because they are in the same field of electronic device thermal management. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Sahu to incorporate the teachings of Aguilar to modify the profile-based thermal management procedure to predict performance parameters, select processor cores as part of the procedure, and conduct the procedure proactively, allowing for improved thermal performance of the system and avoid throttling, as described in Aguilar. Regarding Claim 2, Sahu-Aguilar as described in Claim 1, Aguilar further discloses determining a selected processing core from amongst a plurality of processing cores for the performance ([0146] thermal data is used to select which core is best for running the application on. Please note that selecting which core is best for running the application on corresponds to Applicant’s determining a selected processing core from amongst a plurality of processing cores for the performance, as it selects a core for the running of an application.); transmitting the proactive thermal management procedure to a thermal management device ([0033] As mentioned above, data collection module 304 may repeatedly or continually collect the measurable characteristics and the current temperature values for availability to threshold determination module 306 and temperature comparison module 308 to continually determine whether electronic device 300 should perform a heat mitigation operation. Please note that the data collection module 304 collecting measurable characteristics and current temperature values for availability to threshold determination module 306 and determination comparison module 308 to continually determine whether electronic device 300 should perform a heat mitigation operation corresponds to Applicant’s transmitting the proactive thermal management procedure to a thermal management device. This is because the continual determination being performed by the system of whether a heat mitigation operation should be performed corresponds to the proactive thermal management procedure, and in order to have the electronic device 300 perform the heat mitigation operation, corresponding to the thermal management device, there must inherently be a means for transmitting the procedure.); and transmitting to the selected processing core ([0146] thermal data is used to select which core is best for running the application on. Please note that running the application once the core is selected corresponds to transmitting to the selected processing core, as it is known in the art that running an application on a core requires transmitting the necessary data for its execution to that core.). Sahu further discloses the job packet ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device. Please note that receiving data for the threshold determination function 420 corresponds to Applicant’s receiving a job packet, as Applicant defines job packets in [0002]: job packets (e.g., tasks, requests, actions, applications, transactions, etc. Therefore, the set of input data that is received to allow the function 420 to execute corresponds to the job packet.) Regarding Claim 3, Sahu-Aguilar as described in Claim 2, Aguilar further discloses determining the selected processing core further comprises: receiving one or more operating characteristics of each of the plurality of processing cores ([0145] generation of a hardware thermal profile for a multi-core processor in accordance with an illustrative embodiment. A hardware thermal profile is a data structure containing information about the thermal performance of the hardware or system. Some cores on a processor may have better thermal characteristics due to the cores location relative to other cores and the system's cooling solution. Please note that creating a thermal profile for a multi-core processor because some cores may have better thermal characteristics corresponds to Applicant’s determining the selected processing core further comprising receiving one or more operating characteristics of each of the plurality of processing cores, as the thermal characteristics of each core correspond to operating characteristics, which are a criterion upon which the optimal core is selected.); and determining the selected processing core based upon the one or more operating characteristics ([0146] a selection is made of one or more previously gathered and stored software thermal profiles of the power and/or performance of the multi-core system […] The thermal index generated from the sampled thermal data is used to select which core is best for running the application on. Please note that a selected thermal profile of the system including the performance being used to select the best processing core corresponds to Applicant’s determining the selected processing core based upon the one or more operating characteristics, i.e., the stored thermal profile) predicted performance parameters ([0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that predicting the thermal effect on the multi-core processor with the software thermal index for the software module corresponds to Applicant’s predicted performance parameters, as the prediction is associated with the software module, i.e., associated with the performance of jobs.) Sahu further discloses and the one or more performance parameters of the job packet ([0037] In some embodiments, the input data may include […] user-specific characteristics 408 […] examples of dynamic user-specific characteristics 408 may include […] user expectations regarding tradeoffs in device performance level. Please note that the input data defining expected performance level tradeoffs corresponds to performance parameters of the job packet.). Regarding Claim 4, Sahu-Aguilar as described in Claim 2, Sahu further discloses the proactive thermal management procedure is configured to cause dissipation of heat associated with the selected processing core that is generated in response to the performance of the job packet ([0018] computer-implemented method 200 for dynamic adjustment of a temperature threshold for an electronic device; [0023] at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that the method 200 containing step 240 carrying out the thermal management procedure in response to input data corresponds to Applicant’s performance of the job packet, and the heat mitigation operation corresponds to Applicant’s causing dissipation of heat associated with the selected processing core generated in response to performance, since the electronic device corresponds to Applicant’s selected processing core. This is because the heat mitigation operation of step 250 is responsive to the temperature exceeding the threshold, which may occur while the job packet is executing.). Regarding Claim 5, Sahu-Aguilar as described in Claim 2, Sahu further discloses the proactive thermal management procedure is configured to dynamically modify a supplied cooling amount ([0023] At step 240, the current temperature of the electronic device may be compared to the current temperature threshold. Further, at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that comparing the current temperature to the current temperature threshold and initiating the heat mitigation operation to lower the current temperature if it exceeds the threshold corresponds to Applicant’s proactive thermal management procedure being configured to dynamically modified the supplied cooling amount, as it is comparing the current temperature to the threshold on an ongoing basis to perform cooling.) Aguilar further discloses based upon variation in the one or more operating characteristics of the selected processing core during performance of the job packet ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004). For a hardware thermal profile, workloads are selected to represent the maximum thermal operation of the processor. The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that sampling the temperature of the cores while the application is running and using the stored information to optimally manage the system corresponds to Applicant’s modifying based on upon variation in the one or more operating characteristics of the selected processing core during performance of the job, as the management procedure is modified in response to the performance of the application by the cores by measuring the operating characteristics, i.e., the thermal state, of the cores, including the selected core.). Regarding Claim 6, Sahu-Aguilar as described in Claim 5, Sahu further discloses wherein a maximum supplied cooling amount coincides with a maximal thermal load of the selected processing core during performance of the job packet ([0023] At step 240, the current temperature of the electronic device may be compared to the current temperature threshold. Further, at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. […] In yet other examples, the heat mitigation operation may include mechanical heat reduction techniques, such as increased fan speeds, activation of previously inactive fans, and so on to reduce the current temperature of the electronic device. Please note that the temperature threshold corresponds to Applicant’s maximal thermal load, as it is a value that cannot be exceeded, and initiating the heat mitigation operation of the electronic device, corresponding to the selected processing core, corresponds to the maximum supplied cooling amount that coincides with the maximum thermal load, as the maximum supplied cooling via fans and other temperature reduction methods is maximized once the temperature threshold is reached during performance of the job packet.). Regarding Claim 7, Sahu-Aguilar as described in Claim 2, Aguilar further discloses modifying the proactive thermal management procedure in response to the performance of the job packet by the selected processing core ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004). For a hardware thermal profile, workloads are selected to represent the maximum thermal operation of the processor. The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that sampling the temperature of the cores while the application is running and using the stored information to optimally manage the system corresponds to Applicant’s modifying the proactive thermal management procedure in response to the performance of the job packet by the selected processing core, as the management procedure is modified in response to the performance of the application by the cores, including the selected core.). Regarding Claim 8, Sahu discloses A system comprising: a plurality of processing cores ([0063] As detailed above, the computing devices and systems described […] these computing device(s) may each include at least one memory device and at least one physical processor. Please note that a computing system including physical processors corresponds to Applicant’s system comprising a plurality of processing cores.): receive a job packet associated with a packet profile ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408. Please note that receiving data including user-specific characteristics for the threshold determination function 420 corresponds to Applicant’s receiving a job packet, wherein the job packet is associated with a packet profile, as Applicant defines job packets in [0002]: job packets (e.g., tasks, requests, actions, applications, transactions, etc. Therefore, the set of input data that is received to allow the function 420 to execute corresponds to the job packet, and the user-specific characteristics correspond to a packet profile containing the parameters.); determine one or more performance parameters associated with a performance of the job packet as defined by the packet profile ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408 […] examples of dynamic user-specific characteristics 408 may include […] user expectations regarding tradeoffs in device performance level. Please note that receiving data by the threshold determination function 420 to determine a temperature threshold for an electronic device based on user-specific characteristics such as the expected device performance level tradeoff corresponds to Applicant’s determining one or more performance parameters associated with a performance of the job packet as defined by the packet profile, as the input data defining expected performance level tradeoffs corresponds to a packet profile defining performance parameters associated with a performance of the job packet.); generate a thermal management procedure based upon the one or more performance parameters ([0038] Threshold determination function 420 may employ the input data it receives to generate a dynamic temperature threshold 450 for the electronic device to improve or maximize the user's experience in using the electronic device. Please note that the threshold determination function 420 generating a dynamic temperature threshold 450 using input data corresponds to Applicant’s generating a proactive thermal management procedure based upon the one or more performance parameters, as its dynamic nature corresponds to being proactive since it maintains an optimal temperature in the electronic device based on input data, corresponding to performance parameters.); and associate the proactive thermal management procedure with the job packet ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408. Please note that by having the threshold determination function 420 corresponding to the proactive thermal management procedure utilize user-specific characteristics in its configuration, it is in effect associating that version of the procedure with a distinct requesting user, corresponding to associating it with the job packet.). defining an amount of heat dissipation to be required by performance of the job packet ([0021] Further, in some examples, the temperature threshold may be adjusted or at least partially based on one or more static characteristics of the electronic device that may affect a measured temperature of the electronic device. Such characteristics may include, but are not limited to, […] an indication of the amount of heat (e.g., as measured by the one or more temperature sensors) that may be transferred. Please note that the temperature threshold being based on characteristics of the electronic device including an indication of the amount of heat that may be transferred corresponds to Applicant’s defining an amount of heat dissipation to be required by performance of the job packet, as this value affects the measured temperature of the electronic device and thus would define the amount of heat dissipation that could be required by performing the job packet in the system. As the temperature threshold is dynamic, even if the amount of heat that may be transferred is static, it would still result in allowing for proactive thermal management based on other additional inputs.) Sahu does not explicitly disclose predicted performance parameters; proactive thermal management procedure; and a thermal management unit communicatively connected to the plurality of processing cores, wherein the thermal management unit is configured to However, Aguilar discloses predicted performance parameters ([0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that predicting the thermal effect on the multi-core processor with the software thermal index for the software module corresponds to Applicant’s predicted performance parameters, as the prediction is associated with the software module, i.e., associated with the performance of jobs.) and a thermal management unit communicatively connected to the plurality of processing cores, wherein the thermal management unit is configured to ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004) […] The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure. In the cell broadband engine, the sampling may be performed in hardware or software […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that the software or hardware performing sampling of the temperature registers periodically to create a profile to optimally manage the multi-core system corresponds to Applicant’s configured thermal management unit communicatively connected to the plurality of processing cores.); proactive thermal management procedure ([0151] the state of the computer system is controlled to avoid and not just react to thermal limits. Please note that controlling the state of the computer system to avoid and not just react to thermal limits corresponds to Applicant’s proactive thermal management procedure.) Sahu and Aguilar are both considered to be analogous to the claimed invention because they are in the same field of electronic device thermal management. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Sahu to incorporate the teachings of Aguilar to modify the profile-based thermal management procedure to predict performance parameters, have a thermal management unit communicating with the plurality of processing cores. and conduct the procedure proactively, allowing for improved thermal performance of the system and avoid throttling, as described in Aguilar. Regarding Claim 9, Sahu-Aguilar as described in Claim 8, Aguilar further discloses determine a selected processing core from amongst the plurality of processing cores for the performance ([0146] thermal data is used to select which core is best for running the application on. Please note that selecting which core is best for running the application on corresponds to Applicant’s determining a selected processing core from amongst a plurality of processing cores for the performance, as it selects a core for the running of an application.); transmit the proactive thermal management procedure to a thermal management device ([0033] As mentioned above, data collection module 304 may repeatedly or continually collect the measurable characteristics and the current temperature values for availability to threshold determination module 306 and temperature comparison module 308 to continually determine whether electronic device 300 should perform a heat mitigation operation. Please note that the data collection module 304 collecting measurable characteristics and current temperature values for availability to threshold determination module 306 and determination comparison module 308 to continually determine whether electronic device 300 should perform a heat mitigation operation corresponds to Applicant’s transmitting the proactive thermal management procedure to a thermal management device. This is because the continual determination being performed by the system of whether a heat mitigation operation should be performed corresponds to the proactive thermal management procedure, and in order to have the electronic device 300 perform the heat mitigation operation, corresponding to the thermal management device, there must inherently be a means for transmitting the procedure.); and transmit to the selected processing core ([0146] thermal data is used to select which core is best for running the application on. Please note that running the application once the core is selected corresponds to transmitting to the selected processing core, as it is known in the art that running an application on a core requires transmitting the necessary data for its execution to that core.). Sahu further discloses the job packet ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device. Please note that receiving data for the threshold determination function 420 corresponds to Applicant’s receiving a job packet, as Applicant defines job packets in [0002]: job packets (e.g., tasks, requests, actions, applications, transactions, etc. Therefore, the set of input data that is received to allow the function 420 to execute corresponds to the job packet.) Regarding Claim 10, Sahu-Aguilar as described in Claim 9, Aguilar further discloses in determining the selected processing core, the thermal management unit is further configured to: receive one or more operating characteristics of each of the plurality of processing cores ([0145] generation of a hardware thermal profile for a multi-core processor in accordance with an illustrative embodiment. A hardware thermal profile is a data structure containing information about the thermal performance of the hardware or system. Some cores on a processor may have better thermal characteristics due to the cores location relative to other cores and the system's cooling solution. Please note that creating a thermal profile for a multi-core processor because some cores may have better thermal characteristics corresponds to Applicant’s in determining the selected processing core, the thermal management unit being further configured to receive one or more operating characteristics of each of the plurality of processing cores, as the thermal characteristics of each core correspond to operating characteristics, which are a criterion upon which the optimal core is selected.); and determine the selected processing core based upon the one or more operating characteristics ([0146] a selection is made of one or more previously gathered and stored software thermal profiles of the power and/or performance of the multi-core system […] The thermal index generated from the sampled thermal data is used to select which core is best for running the application on. Please note that a selected thermal profile of the system including the performance being used to select the best processing core corresponds to Applicant’s determining the selected processing core based upon the one or more operating characteristics, i.e., the stored thermal profile) predicted performance parameters ([0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that predicting the thermal effect on the multi-core processor with the software thermal index for the software module corresponds to Applicant’s predicted performance parameters, as the prediction is associated with the software module, i.e., associated with the performance of jobs.) Sahu further discloses and the one or more performance parameters of the job packet ([0037] In some embodiments, the input data may include […] user-specific characteristics 408 […] examples of dynamic user-specific characteristics 408 may include […] user expectations regarding tradeoffs in device performance level. Please note that the input data defining expected performance level tradeoffs corresponds to performance parameters of the job packet.). Regarding Claim 11, Sahu-Aguilar as described in Claim 9, Sahu further discloses cause dissipation of heat associated with the selected processing core that is generated in response to the performance of the job packet ([0018] computer-implemented method 200 for dynamic adjustment of a temperature threshold for an electronic device; [0023] at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that the method 200 containing step 240 carrying out the thermal management procedure in response to input data corresponds to Applicant’s performance of the job packet, and the heat mitigation operation corresponds to Applicant’s causing dissipation of heat associated with the selected processing core generated in response to performance, since the electronic device corresponds to Applicant’s selected processing core. This is because the heat mitigation operation of step 250 is responsive to the temperature exceeding the threshold, which may occur while the job packet is executing.). Regarding Claim 12, Sahu-Aguilar as described in Claim 9, Sahu further discloses the proactive thermal management procedure is configured to dynamically modify a supplied cooling amount ([0023] At step 240, the current temperature of the electronic device may be compared to the current temperature threshold. Further, at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that comparing the current temperature to the current temperature threshold and initiating the heat mitigation operation to lower the current temperature if it exceeds the threshold corresponds to Applicant’s proactive thermal management procedure being configured to dynamically modified the supplied cooling amount, as it is comparing the current temperature to the threshold on an ongoing basis to perform cooling.) Aguilar further discloses based upon variation in the one or more operating characteristics of the selected processing core during performance of the job packet ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004). For a hardware thermal profile, workloads are selected to represent the maximum thermal operation of the processor. The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that sampling the temperature of the cores while the application is running and using the stored information to optimally manage the system corresponds to Applicant’s modifying based on upon variation in the one or more operating characteristics of the selected processing core during performance of the job, as the management procedure is modified in response to the performance of the application by the cores by measuring the operating characteristics, i.e., the thermal state, of the cores, including the selected core.). Regarding Claim 13, Sahu-Aguilar as described in Claim 12, Sahu further discloses wherein a maximum supplied cooling amount coincides with a maximal thermal load of the selected processing core during performance of the job packet ([0023] At step 240, the current temperature of the electronic device may be compared to the current temperature threshold. Further, at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. […] In yet other examples, the heat mitigation operation may include mechanical heat reduction techniques, such as increased fan speeds, activation of previously inactive fans, and so on to reduce the current temperature of the electronic device. Please note that the temperature threshold corresponds to Applicant’s maximal thermal load, as it is a value that cannot be exceeded, and initiating the heat mitigation operation of the electronic device, corresponding to the selected processing core, corresponds to the maximum supplied cooling amount that coincides with the maximum thermal load, as the maximum supplied cooling via fans and other temperature reduction methods is maximized once the temperature threshold is reached during performance of the job packet.). Regarding Claim 14, Sahu-Aguilar as disclosed in Claim 9, Aguilar further discloses modify the proactive thermal management procedure in response to the performance of the job packet by the selected processing core ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004). For a hardware thermal profile, workloads are selected to represent the maximum thermal operation of the processor. The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that sampling the temperature of the cores while the application is running and using the stored information to optimally manage the system corresponds to Applicant’s modifying the proactive thermal management procedure in response to the performance of the job packet by the selected processing core, as the management procedure is modified in response to the performance of the application by the cores, including the selected core.). Regarding Claim 15, Sahu discloses A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code thereon that, in execution with at least one processor, configures the computer program product for ([0063] As detailed above, the computing devices and systems described […] these computing device(s) may each include at least one memory device and at least one physical processor; [0064] In some examples, the term “memory device” generally refers to any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions; [0065] In some examples, the term “physical processor” generally refers to any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. Please note that the non-volatile storage medium of the computer system storing instructions that can be executed by a processor corresponds to Applicant’s computer program product comprising a non-transitory computer-readable storage medium having computer program code thereon that configures the computer program product in execution with at least one processor.): receiving a job packet, wherein the job packet is associated with a packet profile ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408. Please note that receiving data including user-specific characteristics for the threshold determination function 420 corresponds to Applicant’s receiving a job packet, wherein the job packet is associated with a packet profile, as Applicant defines job packets in [0002]: job packets (e.g., tasks, requests, actions, applications, transactions, etc. Therefore, the set of input data that is received to allow the function 420 to execute corresponds to the job packet, and the user-specific characteristics correspond to a packet profile containing the parameters.); determining one or more performance parameters associated with a performance of the job packet as defined by the packet profile ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408 […] examples of dynamic user-specific characteristics 408 may include […] user expectations regarding tradeoffs in device performance level. Please note that receiving data by the threshold determination function 420 to determine a temperature threshold for an electronic device based on user-specific characteristics such as the expected device performance level tradeoff corresponds to Applicant’s determining one or more performance parameters associated with a performance of the job packet as defined by the packet profile, as the input data defining expected performance level tradeoffs corresponds to a packet profile defining performance parameters associated with a performance of the job packet.); generating a thermal management procedure based upon the one or more performance parameters ([0038] Threshold determination function 420 may employ the input data it receives to generate a dynamic temperature threshold 450 for the electronic device to improve or maximize the user's experience in using the electronic device. Please note that the threshold determination function 420 generating a dynamic temperature threshold 450 using input data corresponds to Applicant’s generating a proactive thermal management procedure based upon the one or more performance parameters, as its dynamic nature corresponds to being proactive since it maintains an optimal temperature in the electronic device based on input data, corresponding to performance parameters.); and associating the proactive thermal management procedure with the job packet ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device […] In some embodiments, the input data may include […] user-specific characteristics 408. Please note that by having the threshold determination function 420 corresponding to the proactive thermal management procedure utilize user-specific characteristics in its configuration, it is in effect associating that version of the procedure with a distinct requesting user, corresponding to associating it with the job packet.); defining an amount of heat dissipation to be required by performance of the job packet ([0021] Further, in some examples, the temperature threshold may be adjusted or at least partially based on one or more static characteristics of the electronic device that may affect a measured temperature of the electronic device. Such characteristics may include, but are not limited to, […] an indication of the amount of heat (e.g., as measured by the one or more temperature sensors) that may be transferred. Please note that the temperature threshold being based on characteristics of the electronic device including an indication of the amount of heat that may be transferred corresponds to Applicant’s defining an amount of heat dissipation to be required by performance of the job packet, as this value affects the measured temperature of the electronic device and thus would define the amount of heat dissipation that could be required by performing the job packet in the system. As the temperature threshold is dynamic, even if the amount of heat that may be transferred is static, it would still result in allowing for proactive thermal management based on other additional inputs.); Sahu does not explicitly disclose predicted performance parameters; proactive thermal management procedure; However, Aguilar discloses predicted performance parameters ([0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that predicting the thermal effect on the multi-core processor with the software thermal index for the software module corresponds to Applicant’s predicted performance parameters, as the prediction is associated with the software module, i.e., associated with the performance of jobs.) proactive thermal management procedure ([0151] the state of the computer system is controlled to avoid and not just react to thermal limits. Please note that controlling the state of the computer system to avoid and not just react to thermal limits corresponds to Applicant’s proactive thermal management procedure.) Sahu and Aguilar are both considered to be analogous to the claimed invention because they are in the same field of electronic device thermal management. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Sahu to incorporate the teachings of Aguilar to modify the profile-based thermal management procedure to predict performance parameters, select processor cores as part of the procedure, and conduct the procedure proactively, allowing for improved thermal performance of the system and avoid throttling, as described in Aguilar. Regarding Claim 16, Sahu-Aguilar as described in Claim 15, Aguilar further discloses determining a selected processing core from amongst a plurality of processing cores for the performance ([0146] thermal data is used to select which core is best for running the application on. Please note that selecting which core is best for running the application on corresponds to Applicant’s determining a selected processing core from amongst a plurality of processing cores for the performance, as it selects a core for the running of an application.); transmitting the proactive thermal management procedure to a thermal management device([0033] As mentioned above, data collection module 304 may repeatedly or continually collect the measurable characteristics and the current temperature values for availability to threshold determination module 306 and temperature comparison module 308 to continually determine whether electronic device 300 should perform a heat mitigation operation. Please note that the data collection module 304 collecting measurable characteristics and current temperature values for availability to threshold determination module 306 and determination comparison module 308 to continually determine whether electronic device 300 should perform a heat mitigation operation corresponds to Applicant’s transmitting the proactive thermal management procedure to a thermal management device. This is because the continual determination being performed by the system of whether a heat mitigation operation should be performed corresponds to the proactive thermal management procedure, and in order to have the electronic device 300 perform the heat mitigation operation, corresponding to the thermal management device, there must inherently be a means for transmitting the procedure.); and transmitting to the selected processing core ([0146] thermal data is used to select which core is best for running the application on. Please note that running the application once the core is selected corresponds to transmitting to the selected processing core, as it is known in the art that running an application on a core requires transmitting the necessary data for its execution to that core.). Sahu further discloses the job packet ([0037] In method 400, one or more types of data may be received by threshold determination function 420 to determine a temperature threshold for an electronic device. Please note that receiving data for the threshold determination function 420 corresponds to Applicant’s receiving a job packet, as Applicant defines job packets in [0002]: job packets (e.g., tasks, requests, actions, applications, transactions, etc. Therefore, the set of input data that is received to allow the function 420 to execute corresponds to the job packet.) Regarding Claim 17, Sahu-Aguilar as described in Claim 16, Aguilar further discloses in determining the selected processing core, the computer program product is further configured for: receiving one or more operating characteristics of each of the plurality of processing cores ([0145] generation of a hardware thermal profile for a multi-core processor in accordance with an illustrative embodiment. A hardware thermal profile is a data structure containing information about the thermal performance of the hardware or system. Some cores on a processor may have better thermal characteristics due to the cores location relative to other cores and the system's cooling solution. Please note that creating a thermal profile for a multi-core processor because some cores may have better thermal characteristics corresponds to Applicant’s computer program product in determining the selected processing core being further configured for receiving one or more operating characteristics of each of the plurality of processing cores, as the thermal characteristics of each core correspond to operating characteristics, which are a criterion upon which the optimal core is selected.); and determining the selected processing core based upon the one or more operating characteristics ([0146] a selection is made of one or more previously gathered and stored software thermal profiles of the power and/or performance of the multi-core system […] The thermal index generated from the sampled thermal data is used to select which core is best for running the application on. Please note that a selected thermal profile of the system including the performance being used to select the best processing core corresponds to Applicant’s determining the selected processing core based upon the one or more operating characteristics, i.e., the stored thermal profile) predicted performance parameters ([0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that predicting the thermal effect on the multi-core processor with the software thermal index for the software module corresponds to Applicant’s predicted performance parameters, as the prediction is associated with the software module, i.e., associated with the performance of jobs.) Sahu further discloses and the one or more performance parameters of the job packet ([0037] In some embodiments, the input data may include […] user-specific characteristics 408 […] examples of dynamic user-specific characteristics 408 may include […] user expectations regarding tradeoffs in device performance level. Please note that the input data defining expected performance level tradeoffs corresponds to performance parameters of the job packet.). Regarding Claim 18, Sahu-Aguilar as described in Claim 16, Sahu further discloses wherein the proactive thermal management procedure is configured to cause dissipation of heat associated with the selected processing core that is generated in response to the performance of the job packet ([0018] computer-implemented method 200 for dynamic adjustment of a temperature threshold for an electronic device; [0023] at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that the method 200 containing step 240 carrying out the thermal management procedure in response to input data corresponds to Applicant’s performance of the job packet, and the heat mitigation operation corresponds to Applicant’s causing dissipation of heat associated with the selected processing core generated in response to performance, since the electronic device corresponds to Applicant’s selected processing core. This is because the heat mitigation operation of step 250 is responsive to the temperature exceeding the threshold, which may occur while the job packet is executing.). Regarding Claim 19, Sahu-Aguilar as described in Claim 16, Sahu further discloses the proactive thermal management procedure is configured to dynamically modify a supplied cooling amount ([0023] At step 240, the current temperature of the electronic device may be compared to the current temperature threshold. Further, at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that comparing the current temperature to the current temperature threshold and initiating the heat mitigation operation to lower the current temperature if it exceeds the threshold corresponds to Applicant’s proactive thermal management procedure being configured to dynamically modified the supplied cooling amount, as it is comparing the current temperature to the threshold on an ongoing basis to perform cooling.) Aguilar further discloses based upon variation in the one or more operating characteristics of the selected processing core during performance of the job packet ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004). For a hardware thermal profile, workloads are selected to represent the maximum thermal operation of the processor. The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that sampling the temperature of the cores while the application is running and using the stored information to optimally manage the system corresponds to Applicant’s modifying based on upon variation in the one or more operating characteristics of the selected processing core during performance of the job, as the management procedure is modified in response to the performance of the application by the cores by measuring the operating characteristics, i.e., the thermal state, of the cores, including the selected core.). Regarding Claim 20, Sahu-Aguilar as described in Claim 16, Aguilar further discloses modifying the proactive thermal management procedure in response to the performance of the job packet by the selected processing core ([0146] While the workloads are being executed, sampling of the thermal state in the multi-core processor is performed (step 1004). For a hardware thermal profile, workloads are selected to represent the maximum thermal operation of the processor. The temperature is sampled by reading the current or maximum temperature registers periodically while the application is running and storing the information into a data structure […] The stored information from the sampling of the thermal state of the multi-core processor in combination with the selected software thermal profiles is utilized to optimally manage the multi-core system. Please note that sampling the temperature of the cores while the application is running and using the stored information to optimally manage the system corresponds to Applicant’s modifying the proactive thermal management procedure in response to the performance of the job packet by the selected processing core, as the management procedure is modified in response to the performance of the application by the cores, including the selected core.). Regarding Claim 21, Sahu-Aguilar as described in Claim 2, Sahu further discloses wherein the proactive thermal management procedure is transmitted to the thermal management device in advance of transmission of the job packet to the selected processing unit ([0035] Heat mitigation module 310, in some embodiments, may initiate or continue a heat mitigation operation to lower a current temperature of electronic device 300 (e.g. in response to one or more current temperature values of electronic device 300 exceeding a temperature threshold). […] in some examples, heat mitigation module 310 may base its selection of a heat mitigation strategy on a current use of electronic device 300, previous feedback from the user on prior experiences of the user with electronic device 300, and so on. Please note that since the heat mitigation strategy is carried out on an ongoing basis based on prior experiences of the user, i.e., in a preemptive manner, this corresponds to the proactive thermal management procedure being transmitted to the thermal management device in advance of transmission of the job packet to the selected processing unit, and can initiate the heat mitigation operation and continue to adjust it as future job packets are carried out.). Regarding Claim 22, Sahu-Aguilar as described in Claim 1, Aguilar further discloses wherein the proactive thermal management procedure is associated with an amount of heat dissipation to be required by performance of the job packet ([0145] generation of a hardware thermal profile for a multi-core processor in accordance with an illustrative embodiment. A hardware thermal profile is a data structure containing information about the thermal performance of the hardware or system. Some cores on a processor may have better thermal characteristics due to the cores location relative to other cores and the system's cooling solution.; [0146] a selection is made of one or more previously gathered and stored software thermal profiles of the power and/or performance of the multi-core system […] The thermal index generated from the sampled thermal data is used to select which core is best for running the application on.; [0139] The stored information may then used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor. Please note that thermal profiles of the performance of the system containing a thermal index generated from the sampled thermal data used to select which core is best for running the application on corresponds to Applicant’s proactive thermal management procedure being associated with an amount of heat dissipation to be required by performance of the job packet. This is because there are stored software thermal profiles, indicating the amount of heat dissipation to be required by performance of the job packet, and this data can be used to generate a software thermal index to predict the thermal effect, i.e., to allow for the implementation of a proactive thermal management procedure associated with it. Sahu further discloses and defines a dynamic cooling profile over a time period associated with performance of the job packet ([0023] At step 240, the current temperature of the electronic device may be compared to the current temperature threshold. Further, at step 250, in response to the current temperature exceeding the temperature threshold, a heat mitigation operation of the electronic device may be initiated to lower the current temperature. Please note that comparing the current temperature to the current temperature threshold and initiating the heat mitigation operation to lower the current temperature if it exceeds the threshold corresponds to Applicant’s defining a dynamic cooling profile over a time period associated with performance of the job packet, as it is comparing the current temperature to the threshold on an ongoing basis, i.e., within a time period associated with performance of the job packet, to perform cooling.). Response to Arguments Applicant's arguments filed 11/25/2025 have been fully considered but they are not persuasive. Applicant’s arguments are summarized as follows: Regarding the rejection of amended Independent Claims 1, 8, and 15 under 35 U.S.C. 103, Sahu and Aguilar fail to disclose the features of the amended Claim. Specifically, Sahu discloses a single temperature value or limit, not proactive generation of a time-varying profile for cooling. Aguilar fails to cure this deficiency because it generally states “the state of the computer system is controlled to avoid and not just reach to thermal limits,” and fails to provide indication that thermal management via separate cooling is proactively managed. Additionally, Aguilar only describes modification of the of the processor core as opposed to thermal management devices such as heat dissipation/cooling devices. Neither Sahu nor Aguilar disclose, teach, or suggest generating a proactive thermal management procedure that defines an amount of heat dissipation to be required by performance of the job packet. Therefore, the amended independent Claims 1, 8, and 15 are patentable over the cited references, alone or in combination, and the rejections should be withdrawn. The dependent Claims 2-7, 9-14, and 16-22 dependent upon independent Claims 1, 8, or 15 are patentable, as they dependent upon patentable Claims. Regarding A, the examiner respectfully disagrees. As stated above, since Sahu describes a “dynamic” temperature threshold that is adjusted in [0036], and a heat mitigation module 310 operating with a current temperature value in [0035], this inherently means that the cooling profile is time-varying, since it is based on a current value. Additionally, since Aguilar discloses in [0139] that stored information may be used to generate a software thermal index for the software module to predict the thermal effect on the multi-core processor, this corresponds to proactively generating a profile, and predicting the thermal effect, i.e., the amount of heat dissipation that is to be required. Therefore, the recited features can be found in the cited combination of references, and independent Claims 1, 8, and 15 remain rejected under 35 U.S.C. 103 for the reasons stated above, and the combinations cited would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the application. The rejections under 35 U.S.C. 103 are maintained. Regarding B, the examiner respectfully disagrees. The dependent Claims 2-7, 9-14, and 16-22 depend on unpatentable Independent claims and do not add limitations that overcome the rejection; therefore, they likewise remain rejected, and the application is not in condition for allowance. The rejections under 35 U.S.C. 103 are maintained. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Park et al. (US 20210247762 A1) discloses performing operations to keep a processor below a thermal limited including carrying out mitigation operations on selected processing cores, a maximum operating temperature threshold, and determination of whether the temperature threshold has been met by a processor (see [0031, 0040-0041, 0139-0140] ). Seo et al. (US 20170177045 A1) discloses a policy determination unit that selects a particular processor core setting, determines a thermal management policy, having a thermal management scheme for a certain period of time of execution, and limiting the generation of heat, i.e., thermal mitigation (see [0153,0160,0187, 0252]). THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARAZ T AKBARI whose telephone number is (571)272-4166. The examiner can normally be reached Monday-Thursday 9:30am-7:30pm ET. 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, April Blair can be reached at (571)270-1014. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /FARAZ T AKBARI/Examiner, Art Unit 2196 /APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196
Read full office action

Prosecution Timeline

Jan 23, 2023
Application Filed
Aug 21, 2025
Non-Final Rejection — §103
Nov 25, 2025
Response Filed
Dec 29, 2025
Final Rejection — §103
Mar 18, 2026
Examiner Interview Summary
Apr 01, 2026
Request for Continued Examination
Apr 06, 2026
Response after Non-Final Action

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
0%
Grant Probability
0%
With Interview (+0.0%)
3y 3m
Median Time to Grant
Moderate
PTA Risk
Based on 2 resolved cases by this examiner. Grant probability derived from career allow 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