DETAILED ACTION
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 .
Claim Objections
Claim 10 is objected to because of the following informalities:
Claim 10 – Please change “trigger” to “triggering.”
Appropriate correction is required.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claim(s) 1-4, 9-13, and 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bieswanger et al. (US 20100095137 A1)[hereinafter “Bieswanger”].
Regarding Claims 1, 9, and 18, Bieswanger discloses a system (and corresponding method)[Fig. 1 – Computer 152] comprising:
one or more hardware components including a processor [Fig. 1 – Processors 156/157] and memory [Fig. 1 – RAM 168. Also, the processors inherently include register memory.]; and
a system manager [Fig. 1 – Power Management Module 112], the system manager configured to:
operate the one or more hardware components according to a tuning configuration [Paragraph [0038] – “The method of FIG. 5, however, also includes verifying (402) the operating range as part of manufacturing test. The verification in this example is carried out generally by a test module (111 on FIG. 1), a module of user-level computer program instructions that carries out the verification of the operating range as part of manufacturing test of the processor. In the method of FIG. 5, verifying (402) the operating range includes retrieving (502), by the test module from non-volatile storage on the computer processor, stored information specifying the nominal operating point and the operating range for the computer processor. In the method of FIG. 5, the operating range is characterized by a minimum operating point, a maximum operating point, and the nominal operating point. A minimum operating point can include, for example, a minimum operating voltage and a minimum operating frequency. A maximum operating point can include, for example, a maximum operating voltage and a maximum operating frequency. A nominal operating point can include, for example, a nominal operating voltage and a nominal operating frequency.”See the determination of a nominal test set based on the nominal operating point disclosed in Paragraph [0040].Paragraph [0041] – “In the method of FIG. 5, verifying (402) the operating range also includes testing the processor at each of the frequency, voltage pairs in the nominal test set.”]; and
execute, using the one or more hardware components, a calibration workload while adjusting one or more parameters of the tuning configuration [Paragraph [0041] – “The test module may run a test program on the processor, for example, and, while the test program continues to run without interruption when the test module steps between operating points, start at the lowest operating point, test from lowest to highest operating point in the nominal test set, then reverse the process and step from the highest operating point in the test set to the lowest. In stepping up through the operating points, the test module steps to a higher operating point by first increasing the voltage to the voltage in the frequency, voltage pair of the next higher operating point in the test set, and then increasing the frequency to the frequency in the higher next frequency, voltage pair. Higher frequencies require higher voltages for proper operation of the processor.”].
Bieswanger separately discloses that the system manager [Fig. 1 – Power Management Module 112], configured to:
generate an updated tuning configuration that includes adjusted values of the one or more parameters [Paragraph [0045] – “FIG. 6 sets forth a flow chart illustrating a further example method of dynamic frequency and voltage scaling for a computer processor according to embodiments of the present invention.”Paragraph [0048] – “In the method of FIG. 6, applying an operating voltage and frequency is carried out in dependence upon current operating conditions (614) of the processor. In the method of FIG. 6, the current operating conditions (614) include processor utilization (616), processor temperature (618), and processor power consumption (620).”]; and
operate the one or more hardware components according to the updated tuning configuration [Paragraph [0048] – “Applying an operating voltage and frequency in dependence upon such conditions can include, for example, applying an operating voltage and frequency to increase processor utilization, to decrease processor temperature, to decrease processor power consumption, or in any other way as will occur to those of skill in the art.”].
It would have been obvious to update the tuning configuration of a verified processor based on current operating conditions in order to ensure proper continued operation of the processor.
Regarding Claims 2, 11, and 19, Bieswanger discloses that the system manager is further configured to adjust, during execution of the calibration workload, the one or more parameters to values within a predefined range [Paragraph [0041] – “The test module may run a test program on the processor, for example, and, while the test program continues to run without interruption when the test module steps between operating points, start at the lowest operating point, test from lowest to highest operating point in the nominal test set, then reverse the process and step from the highest operating point in the test set to the lowest. In stepping up through the operating points, the test module steps to a higher operating point by first increasing the voltage to the voltage in the frequency, voltage pair of the next higher operating point in the test set, and then increasing the frequency to the frequency in the higher next frequency, voltage pair. Higher frequencies require higher voltages for proper operation of the processor.”Also, Paragraph [0038] discloses the use of testing ranges.].
Regarding Claim 3, Bieswanger discloses that the one or more hardware components include a memory [Fig. 1 – RAM 168. Also, the processors inherently include register memory.].
Regarding Claims 4, 13, and 20, Bieswanger discloses that the one or more parameters include at least one of a controller coefficient, a voltage limit [Paragraph [0041] – “The test module may run a test program on the processor, for example, and, while the test program continues to run without interruption when the test module steps between operating points, start at the lowest operating point, test from lowest to highest operating point in the nominal test set, then reverse the process and step from the highest operating point in the test set to the lowest. In stepping up through the operating points, the test module steps to a higher operating point by first increasing the voltage to the voltage in the frequency, voltage pair of the next higher operating point in the test set, and then increasing the frequency to the frequency in the higher next frequency, voltage pair. Higher frequencies require higher voltages for proper operation of the processor.”], a hysteresis threshold, or an efficiency response.
Regarding Claim 10, Bieswanger discloses receiving input indicative of a request to update the tuning configuration [The test module inherently receives an “input” to trigger the manufacturing test of Paragraph [0038].]; and
trigger execution of the calibration workload in response to receipt of the input [Paragraph [0038] – “The method of FIG. 5, however, also includes verifying (402) the operating range as part of manufacturing test. The verification in this example is carried out generally by a test module (111 on FIG. 1), a module of user-level computer program instructions that carries out the verification of the operating range as part of manufacturing test of the processor.”].
Regarding Claim 12, Bieswanger discloses that the one or more hardware components include a memory [Fig. 1 – RAM 168], the memory storing an indication of the predefined range [Paragraph [0041] – “The test module may run a test program on the processor, for example, and, while the test program continues to run without interruption when the test module steps between operating points, start at the lowest operating point, test from lowest to highest operating point in the nominal test set, then reverse the process and step from the highest operating point in the test set to the lowest. In stepping up through the operating points, the test module steps to a higher operating point by first increasing the voltage to the voltage in the frequency, voltage pair of the next higher operating point in the test set, and then increasing the frequency to the frequency in the higher next frequency, voltage pair. Higher frequencies require higher voltages for proper operation of the processor.”].
Claim(s) 5, 6, 8, 14, 15, and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bieswanger et al. (US 20100095137 A1)[hereinafter “Bieswanger”] and Lefurgy et al. (US 20170168534 A1)[hereinafter “Lefurgy”].
Regarding Claims 5 and 14, although Bieswanger discloses controlling processor configuration by selecting processor parameters in reliance on conditions that could be measured [Paragraph [0048] – “Applying an operating voltage and frequency in dependence upon such conditions can include, for example, applying an operating voltage and frequency to increase processor utilization, to decrease processor temperature, to decrease processor power consumption, or in any other way as will occur to those of skill in the art.”], Bieswanger fails to disclose a sensor coupled to the one or more hardware components, wherein the system is further configured to: based on measurements from the sensor collected during execution of the calibration workload, select the adjusted values of the one or more parameters for the updated tuning configuration.
However, Lefurgy discloses the use of such a sensor to perform control of processor operating conditions [See Fig. 1 and Paragraph [0018] – “In one embodiment, a sensor or detector 112 is coupled to the processor 110 and measures an operating parameter of the processor 110. The sensor 112 can measure a current in the processor 110. Alternatively, the sensor 112 can measure a temperature of the processor 110 of a power through the voltage regulator. In additional embodiments, the sensor 112 can include multiple sensors and can measure current, temperature and/or power. The operating parameter measurements can be used to change a voltage regulator set point at the voltage regulator 102 according to the methods disclosed herein, as indicated by control line 120. The processor 110 provides a signal to the voltage regulator 102 in order to change the voltage regulator set point, i.e., the voltage V.sub.vrm.”].
It would have been obvious to use appropriate sensors to monitor the processors in order to control them appropriately under given conditions.
Regarding Claims 6 and 15, Lefurgy discloses that the sensor includes a temperature sensor configured to measure a temperature of a processor and/or hardware components [Paragraph [0018] – “In one embodiment, a sensor or detector 112 is coupled to the processor 110 and measures an operating parameter of the processor 110. The sensor 112 can measure a current in the processor 110. Alternatively, the sensor 112 can measure a temperature of the processor 110 of a power through the voltage regulator. In additional embodiments, the sensor 112 can include multiple sensors and can measure current, temperature and/or power. The operating parameter measurements can be used to change a voltage regulator set point at the voltage regulator 102 according to the methods disclosed herein, as indicated by control line 120. The processor 110 provides a signal to the voltage regulator 102 in order to change the voltage regulator set point, i.e., the voltage V.sub.vrm.”].
Regarding Claims 8 and 17, although Bieswanger discloses controlling processor configuration by selecting processor parameters in reliance on conditions that could be measured [Paragraph [0048] – “In the method of FIG. 6, the current operating conditions (614) include processor utilization (616), processor temperature (618), and processor power consumption (620). … Applying an operating voltage and frequency in dependence upon such conditions can include, for example, applying an operating voltage and frequency to increase processor utilization, to decrease processor temperature, to decrease processor power consumption, or in any other way as will occur to those of skill in the art.”], Bieswanger fails to disclose a sensor configured to measure an environment of the system.
However, Lefurgy discloses the use of such a sensor to perform control of processor operating conditions [See Fig. 1 and Paragraph [0018] – “In one embodiment, a sensor or detector 112 is coupled to the processor 110 and measures an operating parameter of the processor 110. The sensor 112 can measure a current in the processor 110. Alternatively, the sensor 112 can measure a temperature of the processor 110 of a power through the voltage regulator. In additional embodiments, the sensor 112 can include multiple sensors and can measure current, temperature and/or power. The operating parameter measurements can be used to change a voltage regulator set point at the voltage regulator 102 according to the methods disclosed herein, as indicated by control line 120. The processor 110 provides a signal to the voltage regulator 102 in order to change the voltage regulator set point, i.e., the voltage V.sub.vrm.”].
It would have been obvious to use appropriate sensors to monitor the processors in order to control them appropriately under given conditions.
The combination would disclose to, based on measurements from the sensor, detect a change in an environmental condition associated with the tuning configuration [Per the use of the sensors of Lefurgy].
Although Bieswanger discloses to schedule execution of the calibration workload [Paragraph [0038] – “verifying (402) the operating range as part of manufacturing test.”], Bieswanger fails to disclose doing so based on the change in the environmental condition exceeding a threshold.
However, it would have been obvious to detect processor environment changes and to trigger execution of the calibration workload in response in order to perform recalibration of the processor configuration when significant change has been occurred (i.e., above a threshold amount) so that the processor can be operated appropriately in response to such a change.
Claim(s) 7 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bieswanger et al. (US 20100095137 A1)[hereinafter “Bieswanger”] and Oudet (US 20030128509 A1).
Regarding Claims 7 and 16, Bieswanger fails to disclose that the system manager is further configured to:
detect a change to a configuration of the one or more hardware components; and
trigger/schedule execution of the calibration workload in response to detecting the change.
However, Oudet discloses a microprocessor that operates under different configurations [See Fig. 3 and Paragraph [0030] – “In a preferred embodiment, the BIOS 125 executed by the microprocessor 110 controls Tmin based upon a system configuration and package configuration for the system 100. The system configuration includes the internal components of the computer system 100 that dissipate heat. The system configuration may include, but is not limited to, the microprocessor, the memory 120 and the peripheral cards in the system 100.”], detecting the current configuration [Paragraph [0032] – “Upon start-up of the system 100, the BIOS 125 determines the system configuration and the package configuration for the system 100. For example, upon start-up the BIOS 125 determines whether all the components of in the system 100 are attached and operational. The BIOS 125 also identifies the microprocessor type/speed, the memory configuration, peripheral cards, package configuration information, etc. This information may be queried from the components of the system 100 and/or input by a user.”], and adjusting processor parameters in response to a change in the configuration [Paragraph [0033] – “Based upon the system configuration and the package configuration, the BIOS 125 determines Tmin for the system 100. For example, the BIOS 125 uses the thermal table 300, shown in FIG. 3, to determine the setting for Tmin. … The BIOS 125 selects a Tmin for a particular system configuration and a particular package configuration. For example, a 1 GHz system configuration in a tower package corresponds to a Tmin of sixty-four degrees.”].
It would have been obvious to detect processor configuration changes and to trigger execution of the calibration workload in response in order to perform recalibration of the processor configuration when significant change has been made so that the processor can be operated appropriately in response to such a change.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
US 20130047012 A1 – Apparatus And Method For Entering Low Power Mode Based On Process, Voltage, And Temperature Considerations
US 7765412 B1 – Methods And Systems For Dynamically Changing Device Operating Conditions
US 20100094572 A1 – Dynamic Frequency And Voltage Scaling For A Computer Processor
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KYLE ROBERT QUIGLEY whose telephone number is (313)446-4879. The examiner can normally be reached 9AM-5PM EST.
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, Arleen Vazquez can be reached at (571) 272-2619. 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.
/KYLE R QUIGLEY/Primary Examiner, Art Unit 2857