DETAILED ACTION
This Action is a response to the reply filed 19 December 2025. Claims 1, 7, 13 and 16 are amended; no claims are canceled or newly added. Claims 1-20 remain pending for examination.
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 .
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-2, 6-7, 9, 13-14, 16-17 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Berra et al., U.S. 2020/0293300 A1 (“Berra”) in view of Jiang et al., U.S. 2023/0058477 A1 (“Jiang”) and Lovmand, Bo, U.S. 2021/0017962 A1 (“Lovmand”).
Regarding claim 1, Berra teaches: A method for validating a version of wind turbine control software, the method comprising: running a first version of the wind turbine control software on a controller for controlling operation of a wind turbine or a wind farm, installing a second version of the wind turbine control software on the controller (Berra, e.g., ¶138, “updates may be made during operation of the wind turbine, such as updating of the software or instructions controlling the controller … wind turbine may be toggled between modes where the update is installed and where it is not …”),
[substantially] simultaneously running the first version of the wind turbine control software and the second version of the wind turbine control software on the controller, by applying [essentially] same control input to the first version of the wind turbine control software and to the second version of the wind turbine control software, and the first and the second versions of the wind turbine control software each generating control output, based on the control input (Berra, e.g., ¶139, “surrounding parameters (such as wind direction or wind speed … are temporarily close means that they typically show high degree of autocorrelation, and thus the statistical characteristics of the measured magnitudes (such as power production) in those pair of observations will be rather similar …” See also, e.g., ¶140, “when the wind turbine is toggled in and out of the upgrade with a high frequency … other parameters, such as (average) wind direction, (average) wind speed and the like, may be assumed to not have changed during the two periods of time …” See also, e.g., ¶150, “data is collected from the wind turbine. This data has to do with wind turbine performance and often is the power generated …” Examiner’s note: when the wind turbine is toggled in and out of the upgrade with a high frequency, the versions are executed substantially simultaneously (that is, a test period for the versions overlaps rather than a first test for a first version and a second test for a second version at a later time); further, because of the temporal closeness of the toggling, the control input values may be assumed to have not changed between the two periods of time. Examiner further cites to Jiang below, which more clearly discloses a method by which two versions of software are tested simultaneously in fact, and using same control input values),
controlling the wind turbine or wind farm by the controller and based on the control output generated by the first version of the wind turbine control software (Berra, e.g., ¶16, “processor is preferably able to influence the operation of the wind turbine by affecting the manner in which the hardware of the wind turbine (such as the nacelle, the blades, the gear box, the converter and the like) operate in a given situation.” See also, e.g., ¶18, “The first mode thus is a mode wherein the upgrade is not implemented, such as the historical manner of operation of the wind turbine …”),
comparing the control output generated by the first version of the wind turbine control software and the control output generated by the second version of the wind turbine control software, during a time interval (Berra, e.g., ¶¶157-158, “pairs of data parts are firmed … pair of data parts relate to two operations (one in each of the two modes) which are assumed to take place under similar circumstances …” See also, e.g., ¶149, “toggling preferably takes place at least every hour, but each mode may be continuously operated for only … 30 minutes …”), and
validating the second version of the wind turbine control software, based on the comparison (Berra, e.g., ¶162, “A number of manners exist of estimating the upgrade from the pairs of data parts.” See also, e.g., ¶180, “another manner of determining from the gain curve whether the upgrade is useful or not is to calculate … from the calculated gain curve the cumulative energy gain observed during the validation campaign …” See also, e.g., ¶182, “After the validation campaign is finished, and if the upgrade is found useful (step 8), part or all of the turbines in the park will typically then be configured with the feature ON continuously”).
Berra does not more particularly teach providing for a test period during which first and second versions of control software are simultaneously operated with same control input, control of the wind turbine is by output of the first version and not by the second version during the test period, and test period outputs are compared to validate the second version, after which the test period ends. However, Jiang does teach: during a test period after installing the second version of the [wind turbine] control software on the controller, simultaneously [running the first and second software versions by applying] same [control input to the first and second versions, each generating output] (Jiang, e.g., ¶34, “request duplicator container 206 generates duplicate traffic by sending any requests directed to the upgrading container(s) to a container(s) … that has already been successfully upgraded …” Examiner’s note: the upgraded container is the first version, and the upgrading container is the second version; the test period is the period during which the upgrading container is in the “upgrading” state (i.e., prior to verification but after installation of the patch). See also, e.g., ¶37. See also, e.g., ¶26, “avoid the sharp switching … and instead provide software patch deployment that includes multiple software versions running at the same time …”);
during the test period, [controlling the system by output generated by the first version] during the test period, during the test period, refraining from controlling the [wind turbine or wind farm] by the controller based on the control output generated by the second version of the [wind turbine] control software during the test period (Jiang, e.g., ¶35, “database engine manager container 204 generates a database engine container and a shadow database engine container. The requests received from the container(s) being upgraded are routed to the shadow database engine container which writes to a cache storage and a recycled storage, and the requests received from the previously upgraded container are routed to the database engine container which writes to a persistent storage and to the cache storage …” See also, e.g., ¶38, “shadow database engine container 330 is a duplicate of and behaves the same as the database engine container 328 except for the writing of the operational log into the cache storage 334 …” Examiner’s note: the output of the upgrading containers is routed to a shadow database, wherein the log of the output is only temporarily stored for use in the comparison of the outputs for validation (see below); the output of the upgraded containers is routed to a database, wherein the log of the output is persistently stored. See, e.g., ¶25, “data generated during the testing of the upgrading application instance is not written to persistent storage (e.g., cache storage), and this eliminates the data consistency issues of contemporary methods …” Examiner’s note: the output that “controls” the system (i.e., causes further operation by persistently storing records generated as a result of the execution of application instances) is by the first version (the upgraded container), and the system is not “controlled” by execution of the second version (the upgrading container), as the output thereof is only temporarily saved for validation purposes. See, e.g., ),
during the test period, [comparing output generated by the first and second versions, and validating, based on the comparison], wherein the test period ends after validating the second version of the [wind turbine] control software (Jiang, e.g., ¶39, “Once a request … and the duplicate request … have both generated responses, the request compare container 306 evaluates the response from the application container currently being upgraded … not only compares the request, but also compares the responses to the request. The comparison can be performed according to defined rules … responses can be compared and determined to be the same, nearly the same, different …” See also, e.g., ¶40, “Results can be determined to be within a similarity threshold of each other …” See also, e.g., ¶45, “determined, based on the results of the comparing, whether the container being upgraded with the patch should be moved into an upgraded status … determined that the upgrading container is operating as expected with the patch when the results are within a similarity threshold with each other …” and ¶46, “determined at block 514 that the status of the upgrading container should be changed to upgraded …” Examiner’s note: the test period ends when the comparison satisfies the threshold and the status of the upgrading container is changed to upgraded (i.e., is no longer being tested), and the temporary data saved for comparison purposes is deleted (see ¶40)) for the purpose of efficiently comparing the output results of two versions of an application being run simultaneously on a system during a verification period, while not causing the results of the patch being validated to be persisted to the system prior to verification of the upgrading version (Jiang, e.g., ¶¶25-27).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra to provide providing for a test period during which first and second versions of control software are simultaneously operated with same control input, control of the wind turbine is by output of the first version and not by the second version during the test period, and test period outputs are compared to validate the second version, after which the test period ends because the disclosure of Jiang shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating the operation of a second version of software running simultaneously to a first version to provide providing for a test period during which first and second versions of control software are simultaneously operated with same control input, control of the wind turbine is by output of the first version and not by the second version during the test period, and test period outputs are compared to validate the second version, after which the test period ends for the purpose of efficiently comparing the output results of two versions of an application being run simultaneously on a system during a verification period, while not causing the results of the patch being validated to be persisted to the system prior to verification of the upgrading version (Jiang, Id.).
Berra in view of Jiang does not more particularly teach that the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller. However, Lovmand does teach: wherein the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller (Lovmand, e.g., ¶¶12-15, “wind turbine is operated by the use of a control system which monitors a vast number of parameters associated with the operation of the wind turbine … control system is configured to use the parameters sensed by the sensors as inputs in the calculation of a feedback procedure … turbine can be operated automatically according to a predetermined algorithm using monitored parameters …” See also, e.g., ¶¶72-78, “one or more sensors relate to sensors for sensing: problems with the mechanics … problems with the grid, such as undesirably low grid frequency, undesirably high grid voltage, phase asymmetry; and/or problems with the environment … external commands … normal operation … presence of condensate in the electrical system …”) for the purpose of automatically operating a wind turbine or wind farm based on feedback obtained from a plurality of sensors using a predetermined algorithm and to determine whether a critical event has occurred, and to securely and accurately store monitored feedback data for analysis (Lovmand, e.g., ¶¶12-27).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang to provide that the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller because the disclosure of Lovmand shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller for the purpose of automatically operating a wind turbine or wind farm based on feedback obtained from a plurality of sensors using a predetermined algorithm and to determine whether a critical event has occurred, and to securely and accurately store monitored feedback data for analysis (Lovmand, Id.).
Claim 13 is rejected for the reasons given in the rejection of claim 1. Examiner notes that with respect to claim 13, Berra further teaches: A computer-readable program product which, when executed by one or more processors, performs an operation of validating a version of wind turbine control software (Berra, e.g., claim 14, “A computer readable medium comprising a set of instructions which, when executed by a controller, configure the controller of a wind turbine to …” See also, e.g., ¶1, “evaluating a software upgrade of a wind turbine …” and ¶5, “… reducing validation campaign time”), the operation comprising: [[[the method of claim 1]]].
Regarding claim 2, the rejection of claim 1 is incorporated, and Berra further teaches: A method according to claim 1, further comprising: upon validation of the second version of the wind turbine control software, subsequently controlling the wind turbine or wind farm based on the control output generated by the second version of the wind turbine control software (Berra, e.g., ¶182, “After the validation campaign is finished, and if the upgrade is found useful (step 8), part or all of the turbines in the park will typically then be configured with the feature ON continuously.” Examiner’s note: the feature ON continuously means that the updated version is used, wherein the output is the influence of the operation of the wind turbine by affecting the manner in which the hardware of the wind turbine operates).
Claim 14 is rejected for the additional reasons given in the rejection of claim 2 above.
Regarding claim 6, the rejection of claim 1 is incorporated, and Berra further teaches: wherein comparing the control output generated by the first version of the wind turbine control software and by the second version of the wind turbine control software comprises performing a weighted comparison (Berra, e.g., ¶178, “gain values obtained at each power production level can be summed with the appropriate weights indicating the number of hours that each power production level has witnessed …”).
Regarding claim 7, the rejection of claim 1 is incorporated, and Berra further teaches: wherein the control input includes sensor data related to the wind turbine or wind farm being controlled to which (Berra, e.g., ¶86, “pitch motors or actuators and controllers may be provided for … rotating the nacelle to direct the rotation axis of the blades into a wind direction … sensors may be provided for sensing … the wind direction, wind speed …”).
Regarding claim 9, the rejection of claim 1 is incorporated, and Berra further teaches: wherein the controller is a wind turbine controller (Berra, e.g., ¶138, “updates may be made during operation of the wind turbine, such as updating of the software or instructions controlling the controller …”).
Regarding claim 16, Berra teaches: A controller, comprising: one or more processors (Berra, e.g., ¶137, “Each wind turbine usually has its own controller …”); a storage device storing a program which, when executed by one or more processors, performs an operation of validating a version of wind turbine control software (Berra, e.g., ¶¶137-138, “instructions or altered configurations may be received from the wind farm controller … updates may be made … such as updating of the software or instructions controlling the controller …” See also, e.g., claim 14, “A computer readable medium comprising a set of instructions which, when executed by a controller, configure the controller of a wind turbine to …”), the operation comprising:
running a first version of the wind turbine control software on a controller for controlling operation of a wind turbine or a wind farm; installing a second version of the wind turbine control software on the controller (Berra, e.g., ¶138, “updates may be made during operation of the wind turbine, such as updating of the software or instructions controlling the controller … wind turbine may be toggled between modes where the update is installed and where it is not …”);
[substantially] simultaneously running the first version of the wind turbine control software and the second version of the wind turbine control software on the controller, under [essentially] identical operating conditions and by applying [essentially the] same control input to the first version of the wind turbine control software and to the second version of the wind turbine control software, and the first and the second versions of the wind turbine control software each generating control output, based on the control input, as if they were each applied for controlling the wind turbine (Berra, e.g., ¶139, “surrounding parameters (such as wind direction or wind speed … are temporarily close means that they typically show high degree of autocorrelation, and thus the statistical characteristics of the measured magnitudes (such as power production) in those pair of observations will be rather similar …” See also, e.g., ¶140, “when the wind turbine is toggled in and out of the upgrade with a high frequency … other parameters, such as (average) wind direction, (average) wind speed and the like, may be assumed to not have changed during the two periods of time …” See also, e.g., ¶150, “data is collected from the wind turbine. This data has to do with wind turbine performance and often is the power generated …” Examiner’s note: when the wind turbine is toggled in and out of the upgrade with a high frequency, the versions are executed substantially simultaneously (that is, a test period for the versions overlaps rather than a first test for a first version and a second test for a second version at a later time); further, because of the temporal closeness of the toggling, the control input values may be assumed to have not changed between the two periods of time. Examiner further cites to Jiang below, which more clearly discloses a method by which two versions of software are tested simultaneously in fact, and using same control input values);
controlling, at least prior to validation of the second version of the wind turbine control software, the wind turbine or wind farm based on the control output generated by the first version of the wind turbine control software (Berra, e.g., ¶16, “processor is preferably able to influence the operation of the wind turbine by affecting the manner in which the hardware of the wind turbine (such as the nacelle, the blades, the gear box, the converter and the like) operate in a given situation.” See also, e.g., ¶18, “The first mode thus is a mode wherein the upgrade is not implemented, such as the historical manner of operation of the wind turbine …”);
comparing the control output generated by the first version of the wind turbine control software and the control output generated by the second version of the wind turbine control software, during a time interval (Berra, e.g., ¶¶157-158, “pairs of data parts are firmed … pair of data parts relate to two operations (one in each of the two modes) which are assumed to take place under similar circumstances …” See also, e.g., ¶149, “toggling preferably takes place at least every hour, but each mode may be continuously operated for only … 30 minutes …”); and
validating the second version of the wind turbine control software, based on the comparison (Berra, e.g., ¶162, “A number of manners exist of estimating the upgrade from the pairs of data parts.” See also, e.g., ¶180, “another manner of determining from the gain curve whether the upgrade is useful or not is to calculate … from the calculated gain curve the cumulative energy gain observed during the validation campaign …” See also, e.g., ¶182, “After the validation campaign is finished, and if the upgrade is found useful (step 8), part or all of the turbines in the park will typically then be configured with the feature ON continuously”).
Berra does not more particularly teach providing for a test period during which first and second versions of control software are simultaneously operated with same control input, control of the wind turbine is by output of the first version and not by the second version during the test period, and test period outputs are compared to validate the second version, after which the test period ends. However, Jiang does teach: during a test period after installing the second version of the [wind turbine] control software on the controller, simultaneously [running the first and second software versions by applying] same [control input to the first and second versions, each generating output] (Jiang, e.g., ¶34, “request duplicator container 206 generates duplicate traffic by sending any requests directed to the upgrading container(s) to a container(s) … that has already been successfully upgraded …” Examiner’s note: the upgraded container is the first version, and the upgrading container is the second version; the test period is the period during which the upgrading container is in the “upgrading” state (i.e., prior to verification but after installation of the patch). See also, e.g., ¶37. See also, e.g., ¶26, “avoid the sharp switching … and instead provide software patch deployment that includes multiple software versions running at the same time …”);
during the test period, [controlling the system by output generated by the first version] during the test period, during the test period, refraining from controlling the [wind turbine or wind farm] by the controller based on the control output generated by the second version of the [wind turbine] control software during the test period (Jiang, e.g., ¶35, “database engine manager container 204 generates a database engine container and a shadow database engine container. The requests received from the container(s) being upgraded are routed to the shadow database engine container which writes to a cache storage and a recycled storage, and the requests received from the previously upgraded container are routed to the database engine container which writes to a persistent storage and to the cache storage …” See also, e.g., ¶38, “shadow database engine container 330 is a duplicate of and behaves the same as the database engine container 328 except for the writing of the operational log into the cache storage 334 …” Examiner’s note: the output of the upgrading containers is routed to a shadow database, wherein the log of the output is only temporarily stored for use in the comparison of the outputs for validation (see below); the output of the upgraded containers is routed to a database, wherein the log of the output is persistently stored. See, e.g., ¶25, “data generated during the testing of the upgrading application instance is not written to persistent storage (e.g., cache storage), and this eliminates the data consistency issues of contemporary methods …” Examiner’s note: the output that “controls” the system (i.e., causes further operation by persistently storing records generated as a result of the execution of application instances) is by the first version (the upgraded container), and the system is not “controlled” by execution of the second version (the upgrading container), as the output thereof is only temporarily saved for validation purposes. See, e.g., ),
during the test period, [comparing output generated by the first and second versions, and validating, based on the comparison], wherein the test period ends after validating the second version of the [wind turbine] control software (Jiang, e.g., ¶39, “Once a request … and the duplicate request … have both generated responses, the request compare container 306 evaluates the response from the application container currently being upgraded … not only compares the request, but also compares the responses to the request. The comparison can be performed according to defined rules … responses can be compared and determined to be the same, nearly the same, different …” See also, e.g., ¶40, “Results can be determined to be within a similarity threshold of each other …” See also, e.g., ¶45, “determined, based on the results of the comparing, whether the container being upgraded with the patch should be moved into an upgraded status … determined that the upgrading container is operating as expected with the patch when the results are within a similarity threshold with each other …” and ¶46, “determined at block 514 that the status of the upgrading container should be changed to upgraded …” Examiner’s note: the test period ends when the comparison satisfies the threshold and the status of the upgrading container is changed to upgraded (i.e., is no longer being tested), and the temporary data saved for comparison purposes is deleted (see ¶40)) for the purpose of efficiently comparing the output results of two versions of an application being run simultaneously on a system during a verification period, while not causing the results of the patch being validated to be persisted to the system prior to verification of the upgrading version (Jiang, e.g., ¶¶25-27).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra to provide providing for a test period during which first and second versions of control software are simultaneously operated with same control input, control of the wind turbine is by output of the first version and not by the second version during the test period, and test period outputs are compared to validate the second version, after which the test period ends because the disclosure of Jiang shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating the operation of a second version of software running simultaneously to a first version to provide providing for a test period during which first and second versions of control software are simultaneously operated with same control input, control of the wind turbine is by output of the first version and not by the second version during the test period, and test period outputs are compared to validate the second version, after which the test period ends for the purpose of efficiently comparing the output results of two versions of an application being run simultaneously on a system during a verification period, while not causing the results of the patch being validated to be persisted to the system prior to verification of the upgrading version (Jiang, Id.).
Berra in view of Jiang does not more particularly teach that the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller. However, Lovmand does teach: wherein the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller (Lovmand, e.g., ¶¶12-15, “wind turbine is operated by the use of a control system which monitors a vast number of parameters associated with the operation of the wind turbine … control system is configured to use the parameters sensed by the sensors as inputs in the calculation of a feedback procedure … turbine can be operated automatically according to a predetermined algorithm using monitored parameters …” See also, e.g., ¶¶72-78, “one or more sensors relate to sensors for sensing: problems with the mechanics … problems with the grid, such as undesirably low grid frequency, undesirably high grid voltage, phase asymmetry; and/or problems with the environment … external commands … normal operation … presence of condensate in the electrical system …”) for the purpose of automatically operating a wind turbine or wind farm based on feedback obtained from a plurality of sensors using a predetermined algorithm and to determine whether a critical event has occurred, and to securely and accurately store monitored feedback data for analysis (Lovmand, e.g., ¶¶12-27).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang to provide that the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller because the disclosure of Lovmand shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that the control input is based on feedback captured while operating the wind turbine or wind farm running the first version of the wind turbine control software on the controller for the purpose of automatically operating a wind turbine or wind farm based on feedback obtained from a plurality of sensors using a predetermined algorithm and to determine whether a critical event has occurred, and to securely and accurately store monitored feedback data for analysis (Lovmand, Id.).
Claim 17 is rejected for the additional reasons given in the rejection of claim 9 above.
Claim 19 is rejected for the additional reasons given in the rejection of claim 2 above.
Claims 3, 5, 11-12, 15 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Berra in view of Jiang and Lovmand, and in further view of Chu et al., U.S. 11,921,504 B1 (“Chu”).
Regarding claim 3, the rejection of claim 1 is incorporated, but Berra in view of Jiang and Lovmand does not more particularly teach that validation of the second version of the control software occurs in the case that a difference between the control outputs generated by the first and second versions of the control software does not exceed a predefined threshold during the time interval. However, Chu does teach: wherein validating the second version of the wind turbine control software comprises validating the second version of the wind turbine control software in the case that a difference between the control output generated by the first version of the wind turbine control software and the control output generated by the second version of the wind turbine control software does not exceed a predefined threshold value during the time interval (Chu, e.g., 2:56-59, “validation of the updated controller may ensure that the code update results in less than a threshold amount of change in the behavior of the vehicle as controlled by the updated controller …” See also, e.g., 4:6-17, “simulation … may generate the simulation based on one or more scenarios associated with the previous operation of the vehicle … A scenario may include a portion of time associated with the previous operation of the vehicle in which the on-vehicle controller determined one or more actions to take based on sensor data …”) for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions based on one or more events over a particular period of time (Chu, e.g., 2:30-3:15, 6:4-67).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang and Lovmand to provide that validation of the second version of the control software occurs in the case that a difference between the control outputs generated by the first and second versions of the control software does not exceed a predefined threshold during the time interval because the disclosure of Chu shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that validation of the second version of the control software occurs in the case that a difference between the control outputs generated by the first and second versions of the control software does not exceed a predefined threshold during the time interval for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions based on one or more events over a particular period of time (Chu, Id.).
Claims 15 and 20 are rejected for the additional reasons given in the rejection of claim 3 above.
Regarding claim 5, the rejection of claim 1, but Berra in view of Jiang and Lovmand does not more particularly teach that validation of the second version of the control software occurs in a case when the control outputs generated by the first and second versions of the control software correspond to each other during one or more predefined operating conditions. However, Chu does teach: wherein validating the second version of the wind turbine control software comprises validating the second version of the wind turbine control software in the case that the control output generated by the second version of the wind turbine control software corresponds to the control output generated by the first version of the wind turbine control software during one or more predefined operating conditions (Chu, e.g., 4:6-17, “simulation … may generate the simulation based on one or more scenarios associated with the previous operation of the vehicle … A scenario may include a portion of time associated with the previous operation of the vehicle in which the on-vehicle controller determined one or more actions to take based on sensor data …” See also, e.g., 6:4-14, “simulation computing system may run the simulation and may cause the updated controller to control a simulated vehicle associated therewith … may determine a plurality of metrics corresponding to a plurality of attributes associated with a control of the simulated vehicle … compare metrics associated with the control of the simulated vehicle by the updated controller to corresponding metrics associated with the control of the vehicle by the control version of the controller.” See also, e.g., 6:27-45, “simulation computing system may determine whether the differences between the corresponding metrics … are less than a threshold value …”) for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions based on one or more operating conditions (Chu, e.g., 2:30-3:15, 6:4-67).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang and Lovmand to provide that validation of the second version of the control software occurs in a case when the control outputs generated by the first and second versions of the control software correspond to each other during one or more predefined operating conditions because the disclosure of Chu shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that validation of the second version of the control software occurs in a case when the control outputs generated by the first and second versions of the control software correspond to each other during one or more predefined operating conditions for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions based on one or more operating conditions (Chu, Id.).
Regarding claim 11, the rejection of claim 2 is incorporated, but Berra in view of Jiang and Lovmand does not more particularly teach that validation of the second version of the control software occurs in the case that a difference between the control outputs generated by the first and second versions of the control software does not exceed a predefined threshold during the time interval. However, Chu does teach: wherein validating the second version of the wind turbine control software comprises validating the second version of the wind turbine control software in the case that a difference between the control output generated by the first version of the wind turbine control software and the control output generated by the second version of the wind turbine control software does not exceed a predefined threshold value during the time interval (Chu, e.g., 2:56-59, “validation of the updated controller may ensure that the code update results in less than a threshold amount of change in the behavior of the vehicle as controlled by the updated controller …” See also, e.g., 4:6-17, “simulation … may generate the simulation based on one or more scenarios associated with the previous operation of the vehicle … A scenario may include a portion of time associated with the previous operation of the vehicle in which the on-vehicle controller determined one or more actions to take based on sensor data …”) for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions based on one or more events over a particular period of time (Chu, e.g., 2:30-3:15, 6:4-67).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang and Lovmand to provide that validation of the second version of the control software occurs in the case that a difference between the control outputs generated by the first and second versions of the control software does not exceed a predefined threshold during the time interval because the disclosure of Chu shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that validation of the second version of the control software occurs in the case that a difference between the control outputs generated by the first and second versions of the control software does not exceed a predefined threshold during the time interval for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions based on one or more events over a particular period of time (Chu, Id.).
Regarding claim 12, the rejection of claim 11 is incorporated, and Berra further teaches: wherein comparing the control output generated by the first version of the wind turbine control software and by the second version of the wind turbine control software comprises performing a weighted comparison (Berra, e.g., ¶178, “gain values obtained at each power production level can be summed with the appropriate weights indicating the number of hours that each power production level has witnessed …”).
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Berra and Jiang in view of Lovmand and Chu, and in further view of Lev et al., U.S. 2024/0176894 A1 (“Lev”).
Regarding claim 4, the rejection of claim 1 is incorporated, but Berra in view of Jiang and Lovmand does not more particularly teach that validation of the second version of the control software occurs in a case where the first and second outputs generated by the first and second control software versions correspond to each other. However, Chu does teach: wherein validating the second version of the wind turbine control software comprises validating the second version of the wind turbine control software in the case that the control output generated by the second version of the wind turbine control software corresponds to the control output generated by the first version of the wind turbine control software (Chu, e.g., 2:56-59, “validation of the updated controller may ensure that the code update results in less than a threshold amount of change in the behavior of the vehicle as controlled by the updated controller …”) for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions (Chu, e.g., 2:30-3:15, 6:4-67).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang and Lovmand to provide that validation of the second version of the control software occurs in a case where the first and second outputs generated by the first and second control software versions correspond to each other because the disclosure of Chu shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that validation of the second version of the control software occurs in a case where the first and second outputs generated by the first and second control software versions correspond to each other for the purpose of validating whether an update to controller software is ready for distribution by performing simulation tests against the updated version to compare the performance thereof against that of other versions, in particular with respect to controller output actions (Chu, Id.).
Berra and Jiang in view of Lovmand and Chu do not more particularly teach that validation of the second version of the control software occurs based on one or more predefined grid events. However, Lev does teach: [validating the second version of the control software] during one or more predefined grid events (Lev, e.g., ¶65, “upon an overload event in a power station dynamic digital emulation model … taking place, an overload operational procedure is executed …” See also, e.g., ¶66, “Changing one or more of the modeled components—testing and validating impacts of such changes (minor changes, upgrades) on the critical infrastructure …”) for the purpose of evaluating, testing and validating the impact of one or more configuration or controller software version changes in response to one or more grid-related events, among other criteria (Lev, e.g., ¶¶62, 65-66).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra and Jiang in view of Lovmand and Chu to provide that validation of the second version of the control software occurs based on one or more predefined grid events because the disclosure of Lev shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for validating controller software updates to provide that validation of the second version of the control software occurs based on one or more predefined grid events for the purpose of evaluating, testing and validating the impact of one or more configuration or controller software version changes in response to one or more grid-related events, among other criteria (Lev, Id.).
Claims 8, 10 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Berra in view of Jiang and Lovmand, and in further view of Miller et al., U.S. 2018/0173205 A1 (“Miller”).
Regarding claim 8, the rejection of claim 1 is incorporated, but Berra in view of Jiang and Lovmand does not more particularly teach that controlling the wind turbine or wind farm is performed by an open-loop control strategy. However, Miller does teach: wherein controlling the wind turbine or wind farm is performed by an open-loop control strategy (Miller, e.g., ¶59, “local embedded control device 102 includes a … real-time controller 112 … local embedded control device 102 executes a near real-time open-loop processes (e.g., to provide data associated with the plant asset 108 and other devices connected therebetween …” See also, e.g., ¶57, “Examples of plant assets include … wind turbines …”) for the purpose of collecting and providing data associated with one or more plant assets, such as wind turbines, for analysis (Miller, e.g., ¶¶51-59).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang and Lovmand to provide that controlling the wind turbine or wind farm is performed by an open-loop control strategy because the disclosure of Miller shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for designing and evaluating industrial internet connected control system applications to provide that controlling the wind turbine or wind farm is performed by an open-loop control strategy for the purpose of collecting and providing data associated with one or more plant assets, such as wind turbines, for analysis (Miller, Id.).
Regarding claim 10, the rejection of claim 1 is incorporated, but Berra in view of Jiang and Lovmand does not more particularly teach that the controller is a power plant controller. However, Miller does teach: wherein the controller is a power plant controller (Miller, e.g., ¶57, “Examples of plant assets include … equipment and machines used in power generation … plant controls …”) for the purpose of designing and evaluating the performance of applications for plant asset controllers in environments including power plants (Miller, e.g., ¶¶51-59).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for evaluating wind turbine software upgrades as taught by Berra in view of Jiang and Lovmand to provide that the controller is a power plant controller because the disclosure of Miller shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for designing and evaluating industrial internet connected control system applications to provide that the controller is a power plant controller for the purpose of designing and evaluating the performance of applications for plant asset controllers in environments including power plants (Miller, Id.).
Claim 18 is rejected for the additional reasons given in the rejection of claim 10 above.
Response to Arguments
In the Remarks, Applicant Argues: Amendments have been submitted which Examiner agreed during an interview overcome the previous rejections under 35 U.S.C. § 103, and favorable action is requested (Resp. at 9-10).
Examiner’s Response: In view of the amendments, Examiner newly cites to Jiang, and maintains the rejections under the new grounds set forth in full above.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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.
Examiner has identified particular references contained in the prior art of record within the body of this action for the convenience of Applicant. Although the citations made are representative of the teachings in the art and are applied to the specific limitations within the enumerated claims, the teaching of the cited art as a whole is not limited to the cited passages. Other passages and figures may apply. Applicant, in preparing the response, should consider fully the entire reference as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art and/or disclosed by Examiner.
Examiner respectfully requests that, in response to this Office Action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line number(s) in the specification and/or drawing figure(s). This will assist Examiner in prosecuting the application.
When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 C.F.R. 1.111(c).
Examiner interviews are available via telephone and video conferencing using a USPTO-supplied web-based collaboration tool. Applicant is encouraged to submit an Automated Interview Request (AIR) which may be done via https://www.uspto.gov/patent/uspto-automated-interview-request-air-form, or may contact Examiner directly via the methods below.
Any inquiry concerning this communication or earlier communication from Examiner should be directed to Andrew M. Lyons, whose telephone number is (571) 270-3529, and whose fax number is (571) 270-4529. The examiner can normally be reached Monday to Friday from 10:00 AM to 6:00 PM ET. If attempts to reach Examiner by telephone are unsuccessful, Examiner’s supervisor, Wei Mui, can be reached at (571) 272-3708. Information regarding the status of an application may be obtained from the Patent Center system. For more information about the Patent Center system, see https://www.uspto.gov/patents/apply/patent-center. If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call (800) 786-9199 (in USA or Canada) or (571) 272-1000.
/Andrew M. Lyons/Primary Examiner, Art Unit 2191