Prosecution Insights
Last updated: April 19, 2026
Application No. 18/198,421

Firmware update method having self-restoration mechanism

Non-Final OA §103
Filed
May 17, 2023
Examiner
BERMAN, STEPHEN DAVID
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
Realtek Semiconductor Corporation
OA Round
3 (Non-Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
2y 9m
To Grant
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allow Rate
262 granted / 331 resolved
+24.2% vs TC avg
Strong +57% interview lift
Without
With
+56.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
26 currently pending
Career history
357
Total Applications
across all art units

Statute-Specific Performance

§101
12.1%
-27.9% vs TC avg
§103
45.6%
+5.6% vs TC avg
§102
14.9%
-25.1% vs TC avg
§112
18.3%
-21.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 331 resolved cases

Office Action

§103
DETAILED ACTION Remarks 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 filed in response to Applicant’s Request for Continued Examination dated December 8, 2025. Claims 1, 5-7, 9, 11, 15-17, and 19 are currently amended and claims 1, 2, 5-12, and 15-20 remain pending in the application and have been fully considered by Examiner. Applicant's arguments with respect to the prior art rejections have been considered, but are moot in view of the new grounds of rejection presented herein. Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on December 8, 2025, has been entered. Examiner Notes Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. 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 of this title, 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, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Sakurai et al. (US 20220012043, hereinafter Sakurai) in view of Lee (US 20230176855, hereinafter Lee ‘855) and Ogle (US 20040088473, hereinafter Ogle). With respect to claim 1, Sakurai discloses A firmware update method having a self-restoration mechanism and being performed by a server and a terminal device cooperatively (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0038], the vehicle program rewriting system 1 acts as a system for providing and rewriting software of ECUs in a vehicle over-the-air (OTA). The software may be … firmware programs…. As shown in FIG. 1, the vehicle program rewriting system 1 includes a communication network 2, a center apparatus 3 [server], a vehicle system 4 [terminal device]; [0113] Next, At A5, the package management unit 3A [server] generates the difference data file including difference data for rollback to the old program based on the new program [a self-restoration mechanism]; see also [0042-43].), the firmware update method comprising: using the server to obtain to-be-upgraded firmware that is equal to or equivalent to current firmware of the terminal device, and obtain target firmware (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0042], the center apparatus 3 [server] may include a file server 8, a web server 9, and a management server 10; [0112] As shown in FIG. 15, at A1, with the input device 18 and the display device 219, the management server 10 [server] starts a screen for reprograming data registration. The input device 218 receives inputs of new and old program file of the ECU 19 [using the server to obtain to-be-upgraded firmware that is equal to or equivalent to current firmware of the terminal device, and obtain target firmware]; [0074], FIG. 5 illustrates the difference data that is used for updating from the old application program to the new application program [target firmware]; see also [0038], [0072].); using the server to perform a first differential operation to the to-be-upgraded firmware based on the target firmware, and thereby generating a differential upgrade package (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0112], At A3, the package management unit 3A generates the difference data file including difference data for update to the new program based on the old program [using the server to perform a first differential operation to the to-be-upgraded firmware based on the target firmware, and thereby generating a differential upgrade package].); using the server to perform a second differential operation to the target firmware based on the to-be-upgraded firmware, and thereby generating a differential restoration package (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0113] Next, At A5, the package management unit 3A generates the difference data file including difference data for rollback to the old program based on the new program [using the server to perform a second differential operation to the target firmware based on the to-be-upgraded firmware, and thereby generating a differential restoration package]; see also [0126].); using the terminal device to download the differential upgrade package and the differential restoration package through a communication channel (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0113], Next, At A5, the package management unit 3A generates the difference data file including difference data for rollback to the old program based on the new program…. At A7, these program files … are registered in the ECU reprograming data DB 204 [reprogramming data, i.e., differential upgrade package and the differential restoration package]; [0090], The package generation unit 202 generates the distribution package containing the … reprogramming data [differential upgrade package and the differential restoration package]…. The package distribution unit 203 distributes the registered distribution package to the vehicle system 4 [using the terminal device to download the differential upgrade package and the differential restoration package through a communication channel]; see also [126], [0167], and [0172].); using the terminal device to perform an upgrade operation to the current firmware of the terminal device with the differential upgrade package so as to upgrade the current firmware to the target firmware, wherein the current firmware is changed into incompletely-upgraded firmware after the upgrade operation starts and before the upgrade operation finishes successfully (Id.; [0046], The vehicle system 4 [terminal device] includes a master device 11; [0167], When the master device 11 [terminal device] receives the update data (distribution package file and the integrity verification data) via the DCM 12 (D34), the master device 11 updates the ECU(s) 19 that is to be updated with the update data (D35) [using the terminal device to perform an upgrade operation to the current firmware of the terminal device with the differential upgrade package so as to upgrade the current firmware to the target firmware]; Examiner notes that a firmware update cannot be completed instantly and thus it necessarily follows from the disclosed firmware update operation that the current firmware is changed into incompletely-upgraded firmware after the upgrade operation starts and before the upgrade operation finishes successfully; see also [0126].); and Although Sakurai discloses the upgrade operation and differential restoration package (see above), it does not appear to disclose the following, which is taught in in analogous art, Lee ‘855: using the terminal device to verify whether the upgrade operation fails, and when the upgrade operation fails, using the terminal device to perform a restoration operation to the incompletely-upgraded firmware with backup of partial data of the current firmware and/or with the differential restoration package so as to restore the incompletely-upgraded firmware to the current firmware (e.g., Figs. 2-8 and associated text, e.g., [0040], when the rollback is requested due to … update failure [using the terminal device to verify whether the upgrade operation fails, and when the upgrade operation fails], the main control unit 30 performs rollback from the new version data to the old version data by using the rollback difference data stored in the memory unit 50 [using the terminal device to perform a restoration operation to the incompletely-upgraded firmware with backup of partial data of the current firmware and/or with the differential restoration package so as to restore the incompletely-upgraded firmware to the current firmware]; Examiner notes that “when the upgrade operation fails, using the terminal device to perform a restoration operation to the incompletely-upgraded firmware with backup of partial data of the current firmware and/or with the differential restoration package so as to restore the incompletely-upgraded firmware to the current firmware” is a contingent limitation that does not occur when the upgrade operation is successful. Thus, the limitation is not required by the broadest reasonable interpretation of the claim because this is a method claim. See MPEP § 2111.04(II) “The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met … When analyzing the claimed method as a whole, the PTAB determined that giving the claim its broadest reasonable interpretation, "[i]f the condition for performing a contingent step is not satisfied, the performance recited by the step need not be carried out in order for the claimed method to be performed" (citing Ex parte Schulhauser). However, for purposes of compact prosecution only, Examiner has shown that this limitation is taught by the cited reference(s).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sakurai with the invention of Lee ‘855 because “in vehicles, as a countermeasure against version matching with other controllers or update failure, a rollback to return to the old version is sometimes required,” as suggested by Lee ‘855 (see [0005]). Sakurai as modified does not appear to disclose the following, which is taught in analogous art, Ogle: wherein the current firmware is divided into N blocks, the N blocks are from a first block to an Nth block in turn, each of the N blocks represents firmware data of a storage block, the N is an integer greater than one (e.g., Figs. 1-9 along with associated text, e.g., [0003], updating of the resident firmware; [0020], FIG. 4 is a flowchart illustrating one embodiment of updating a flash memory on a block-by-block [in turn] method; [0032], original image 120 [current firmware] is programmed or saved across a first section of memory 220 comprised of a plurality of k blocks shown in FIG. 2 as blocks 1 through k.), and the upgrade operation includes: using the differential upgrade package to upgrade the N blocks in turn (e.g., Figs. 1-9 along with associated text, e.g., [0013], a space efficient storage of an update package expressing the difference between an original binary image and an updated version of that image; [0028], Update generator 112 creates update packages 124 through the use of a binary differencing engine (BDE) 118 … Update generator 112 … generates the update package 124, which … is supplied to the client device 150 [using the differential upgrade package to upgrade]; [0020], updating a flash memory on a block-by-block method [N blocks in turn]; [0039], the process for applying the update package 124 commences at a start state 402 where it is desirable for a client device having a first original image 120 programmed across k blocks of a block structured non-volatile memory device 210 to have such original image reprogrammed with a new image 122; [0100], FIG. 9 illustrates an installation process 900 for applying an update package 124 generated in accordance with one embodiment of the invention, wherein the update package incorporates a status bit array 930 comprised of at least 2 additional status bits 932 and 934 for and associated with each memory block X of the k memory blocks to be updated; see also claim 15.); wherein the upgrade operation (Id.) includes: before upgrading a Kth block of the N blocks, setting an upgrade state of the Kth block for a beginning state, wherein the K is a positive integer not greater than the N (e.g., Figs. 3-5 and 9 along with associated text, e.g., [0100], the update package incorporates a status bit array 930 comprised of at least 2 additional status bits 932 and 934 for and associated with each memory block X [Kth block] of the k memory blocks [N blocks] to be updated; [0102], Each block to be updated, X, has a first status bit 932 and second status bit 934 … These bits are generically referenced as X.1 and X.2, respectively; [0104], All status bits begin in a first or set state when the update package is first stored [before upgrading a Kth block of the N blocks, setting an upgrade state of the Kth block for a beginning state] on the device and act as switchable status identifiers during the process of updating; see also [0099].); after setting the upgrade state of the Kth block for the beginning state, duplicating data of the Kth block to generate backup of the data of the Kth block (e.g., Figs. 3-5 and 9 and associated text, e.g., [0107], the process moves sequentially through steps 914 to 918 where the scratch block 232 is erased, the original contents of block X are copied into the scratch block, and then first status bit 932, X.1, is cleared.); after generating the backup of the data of the Kth block, setting the upgrade state of the Kth block for a backup state (Id., particularly, the original contents of block X are copied into the scratch block, and then first status bit 932, X.1, is cleared [backup state].); after setting the upgrade state of the Kth block for the backup state, using the differential upgrade package to upgrade the Kth block (e.g., Figs. 3-9 along with associated text, e.g., [0013], a space efficient storage of an update package expressing the difference between an original binary image and an updated version of that image; [0107], After the first status bit is cleared at step 918 [after setting the upgrade state of the Kth block for the backup state], the new image contents of block X are constructed in RAM at 920, block X itself is erased at 922 and reprogrammed with the new content from RAM at 924, and second status bit 934, X.2, is cleared at 926); when the Kth block is upgraded successfully, setting the upgrade state of the Kth block for a completion state (Id., particularly, block X itself is erased at 922 and reprogrammed with the new content from RAM at 924, and second status bit 934, X.2, is cleared at 926.); and (Examiner notes that “when the Kth block is not upgraded successfully, turning to the restoration operation” is a contingent limitation that is not required by the broadest reasonable interpretation of the claim because the condition for the limitation is not satisfied when the Kth block is upgraded successfully. See MPEP § 2111.04(II) citing Ex parte Schulhauser, Appeal 2013-007847 (PTAB April 28, 2016).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sakurai with the invention of Ogle because it can make “the application of the update package secure against power failure,” as suggested by Ogle (see [0099]). With respect to claim 11, Sakurai discloses A firmware update method having a self-restoration mechanism and being performed by a terminal device (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0038], the vehicle program rewriting system 1 acts as a system for providing and rewriting software of ECUs in a vehicle over-the-air (OTA). The software may be … firmware programs; [0113] Next, At A5, the package management unit 3A [server] generates the difference data file including difference data for rollback to the old program based on the new program [a self-restoration mechanism]; see also [0042-43].), the firmware update method comprising: using the terminal device to download a differential upgrade package and a differential restoration package through a communication channel (e.g., Figs. 1, 5, 7-8, 15, 19-20, 22A-B, and 24 along with associated text, e.g., [0113], Next, At A5, the package management unit 3A generates the difference data file including difference data for rollback to the old program based on the new program…. At A7, these program files … are registered in the ECU reprograming data DB 204 [reprogramming data, i.e., differential upgrade package and the differential restoration package]; [0090], The package generation unit 202 generates the distribution package containing the … reprogramming data [differential upgrade package and the differential restoration package]…. The package distribution unit 203 distributes the registered distribution package to the vehicle system 4 [using the terminal device to download a differential upgrade package and a differential restoration package through a communication channel]; see also [126], [0167], and [0172].); using the terminal device to perform an upgrade operation to current firmware of the terminal device with the differential upgrade package so as to upgrade the current firmware to a target firmware, wherein the current firmware is changed into incompletely-upgraded firmware after the upgrade operation starts and before the upgrade operation finishes successfully (Id.; [0046], The vehicle system 4 [terminal device] includes a master device 11; [0167], When the master device 11 [terminal device] receives the update data (distribution package file and the integrity verification data) via the DCM 12 (D34), the master device 11 updates the ECU(s) 19 that is to be updated with the update data (D35) [using the terminal device to perform an upgrade operation to the current firmware of the terminal device with the differential upgrade package so as to upgrade the current firmware to a target firmware]; Examiner notes that a firmware update cannot be completed instantly and thus it necessarily follows from the disclosed firmware update operation that the current firmware is changed into incompletely-upgraded firmware after the upgrade operation starts and before the upgrade operation finishes successfully; see also [0126].); and . Although Sakurai discloses the upgrade operation and differential restoration package (see above), it does not appear to disclose the following, which is taught in analogous art, Lee ‘855: using the terminal device to verify whether the upgrade operation fails, and when the upgrade operation fails, using the terminal device to perform a restoration operation to the incompletely-upgraded firmware with backup of partial data of the current firmware and/or with the differential restoration package so as to restore the incompletely-upgraded firmware to the current firmware (e.g., Figs. 2-8 and associated text, e.g., [0040], when the rollback is requested due to … update failure [using the terminal device to verify whether the upgrade operation fails, and when the upgrade operation fails], the main control unit 30 performs rollback from the new version data to the old version data by using the rollback difference data stored in the memory unit 50 [using the terminal device to perform a restoration operation to the incompletely-upgraded firmware with backup of partial data of the current firmware and/or with the differential restoration package so as to restore the incompletely-upgraded firmware to the current firmware]; Examiner notes that “when the upgrade operation fails, using the terminal device to perform a restoration operation to the incompletely-upgraded firmware with backup of partial data of the current firmware and/or with the differential restoration package so as to restore the incompletely-upgraded firmware to the current firmware” is a contingent limitation that does not occur when the upgrade operation is successful. Thus, the limitation is not required by the broadest reasonable interpretation of the claim because this is a method claim. See MPEP § 2111.04(II) “The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met … When analyzing the claimed method as a whole, the PTAB determined that giving the claim its broadest reasonable interpretation, "[i]f the condition for performing a contingent step is not satisfied, the performance recited by the step need not be carried out in order for the claimed method to be performed" (citing Ex parte Schulhauser). However, for purposes of compact prosecution only, Examiner has shown that this limitation is taught by the cited reference(s).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sakurai with the invention of Lee ‘855 because “in vehicles, as a countermeasure against version matching with other controllers or update failure, a rollback to return to the old version is sometimes required,” as suggested by Lee ‘855 (see [0005]). Sakurai as modified does not appear to disclose the following, which is taught in analogous art, Ogle: wherein the current firmware is divided into N blocks, the N blocks are from a first block to an Nth block in turn, each of the N blocks represents firmware data of a storage block, the N is an integer greater than one (e.g., Figs. 1-9 along with associated text, e.g., [0003], updating of the resident firmware; [0020], FIG. 4 is a flowchart illustrating one embodiment of updating a flash memory on a block-by-block [in turn] method; [0032], original image 120 [current firmware] is programmed or saved across a first section of memory 220 comprised of a plurality of k blocks shown in FIG. 2 as blocks 1 through k.), and the upgrade operation includes: using the differential upgrade package to upgrade the N blocks in turn (e.g., Figs. 1-9 along with associated text, e.g., [0013], a space efficient storage of an update package expressing the difference between an original binary image and an updated version of that image; [0028], Update generator 112 creates update packages 124 through the use of a binary differencing engine (BDE) 118 … Update generator 112 … generates the update package 124, which … is supplied to the client device 150 [using the differential upgrade package to upgrade]; [0020], updating a flash memory on a block-by-block method [N blocks in turn]; [0039], the process for applying the update package 124 commences at a start state 402 where it is desirable for a client device having a first original image 120 programmed across k blocks of a block structured non-volatile memory device 210 to have such original image reprogrammed with a new image 122; [0100], FIG. 9 illustrates an installation process 900 for applying an update package 124 generated in accordance with one embodiment of the invention, wherein the update package incorporates a status bit array 930 comprised of at least 2 additional status bits 932 and 934 for and associated with each memory block X of the k memory blocks to be updated; see also claim 15.); wherein the upgrade operation (Id.) includes: before upgrading a Kth block of the N blocks, setting an upgrade state of the Kth block for a beginning state, wherein the K is a positive integer not greater than the N (e.g., Figs. 3-5 and 9 along with associated text, e.g., [0100], the update package incorporates a status bit array 930 comprised of at least 2 additional status bits 932 and 934 for and associated with each memory block X [Kth block] of the k memory blocks [N blocks] to be updated; [0102], Each block to be updated, X, has a first status bit 932 and second status bit 934 … These bits are generically referenced as X.1 and X.2, respectively; [0104], All status bits begin in a first or set state when the update package is first stored [before upgrading a Kth block of the N blocks, setting an upgrade state of the Kth block for a beginning state] on the device and act as switchable status identifiers during the process of updating; see also [0099].); after setting the upgrade state of the Kth block for the beginning state, duplicating data of the Kth block to generate backup of the data of the Kth block (e.g., Figs. 3-5 and 9 and associated text, e.g., [0107], the process moves sequentially through steps 914 to 918 where the scratch block 232 is erased, the original contents of block X are copied into the scratch block, and then first status bit 932, X.1, is cleared.); after generating the backup of the data of the Kth block, setting the upgrade state of the Kth block for a backup state (Id., particularly, the original contents of block X are copied into the scratch block, and then first status bit 932, X.1, is cleared [backup state].); after setting the upgrade state of the Kth block for the backup state, using the differential upgrade package to upgrade the Kth block (e.g., Figs. 3-9 along with associated text, e.g., [0013], a space efficient storage of an update package expressing the difference between an original binary image and an updated version of that image; [0107], After the first status bit is cleared at step 918 [after setting the upgrade state of the Kth block for the backup state], the new image contents of block X are constructed in RAM at 920, block X itself is erased at 922 and reprogrammed with the new content from RAM at 924, and second status bit 934, X.2, is cleared at 926); when the Kth block is upgraded successfully, setting the upgrade state of the Kth block for a completion state (Id., particularly, block X itself is erased at 922 and reprogrammed with the new content from RAM at 924, and second status bit 934, X.2, is cleared at 926.); and (Examiner notes that “when the Kth block is not upgraded successfully, turning to the restoration operation” is a contingent limitation that is not required by the broadest reasonable interpretation of the claim because the condition for the limitation is not satisfied when the Kth block is upgraded successfully. See MPEP § 2111.04(II) citing Ex parte Schulhauser, Appeal 2013-007847 (PTAB April 28, 2016).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sakurai with the invention of Ogle because it can make “the application of the update package secure against power failure,” as suggested by Ogle (see [0099]). With respect to claims 5 and 15, Ogle further teaches wherein using the differential upgrade package to upgrade the Kth block includes: generating upgraded firmware data of the Kth block according to firmware data relevant to the Kth block and the differential upgrade package (e.g., Figs. 1-9 and associated text, e.g., [0042], state 418 begins with the first block X of the k blocks to be updated according to instruction set 302 and at state 420 builds the Xth block of new image 122 in scratch memory 252. Building the content of the Xth block to be reprogrammed is comprised of ADD and COPY operations as directed by the instruction set 302, though it is possible that any Xth block may constitute only a single ADD operation or single COPY operation.); and after generating the upgraded firmware data of the Kth block successfully, overwriting firmware data of the Kth block with the upgraded firmware data of the Kth block (Id.; [0013], an update package expressing the difference between an original binary image and an updated version of that image; [0032], A remainder section 230 of memory blocks of memory device 210 store other relevant information; [0035], when the update process is invoked or commenced (see for example reference to FIGS. 4 and 9) the update decoder 154 interprets instruction set(s) 302 contained in the update package 124. The update instructions 302 are encoded to direct, among other things, how the update decoder 154 will append: (1) various elements of code supplied with the update package, shown as representative ADD elements 322 and 324, and (2) code copied from certain source data locations contained in the original image, shown as representative COPY elements 326 and 328; [0040], update package is next saved at 408 in … remainder section 230; [0042], state 420 builds the Xth block of new image 122 in scratch memory 252. Building the content of the Xth block to be reprogrammed is comprised of ADD and COPY operations as directed by the instruction set 302 … Once the new image content for Xth block is complete in scratch memory, then the destination memory block X … subsequently reprogrammed with the then current content of scratch memory.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sakurai with the invention of Ogle for the same reason set forth above. With respect to claims 6 and 16, Lee ‘855 further teaches wherein the restoration operation includes: (e.g., Figs. 2-8 and associated text, e.g., [0040], when the rollback is requested due to … update failure, the main control unit 30 performs rollback from the new version data to the old version data by using the rollback difference data stored in the memory unit 50; Examiner Note: As noted above with respect to base claims 1 and 11, the claimed “restoration operation” is part of a contingent limitation that does not need to occur and thus is not required by the broadest reasonable interpretation of the claim. See MPEP § 2111.04(II) citing Ex parte Schulhauser, Appeal 2013-007847 (PTAB April 28, 2016). Similarly, “when the Kth block is not upgraded successfully, performing the restoration operation to the Kth block with the backup of the data of the Kth block” is also a contingent limitation that does not need to occur and thus is also not required by the broadest reasonable interpretation of the claim.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sakurai with the invention of Lee ‘855 for the same reason set forth above. With respect to claims 7 and 17, Ogle further teaches wherein the K is greater than one (e.g., Figs. 3-5 and 9 along with associated text, e.g., [0108], This completes the cycle of updating the instant block X, so the process 900 updates the block counter at 908 and queries whether all blocks have been updated according to the block counter at step 910. If all blocks have been updated, the process moves to completion state 928; [0037], when updating block X 312, block X-1 310 has already been reprogrammed and contains the new image 122 for that block and not the original image 120.) and Lee ‘855 also discloses and the restoration operation includes: (e.g., Figs. 2-8 and associated text, e.g., [0040], when the rollback is requested due to … update failure, the main control unit 30 performs rollback from the new version data to the old version data by using the rollback difference data stored in the memory unit 50; Examiner Note: As noted above with respect to base claims 1 and 11, the claimed “restoration operation” is part of a contingent limitation that does not need to occur and thus is not required by the broadest reasonable interpretation of the claim. See MPEP § 2111.04(II) citing Ex parte Schulhauser, Appeal 2013-007847 (PTAB April 28, 2016). Similarly, “when the Kth block is not upgraded successfully, performing the restoration operation to K blocks with the backup of the data of the Kth block and the differential restoration package, wherein the K blocks are from the Kth block to the first block” is also a contingent limitation that is not required by the broadest reasonable interpretation of the claim.). 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 invention of Sakurai with the inventions of Lee ‘855 and Ogle for the same reason set forth above. With respect to claims 8 and 18, Lee ‘855 further teaches wherein the restoration operation includes: (e.g., Figs. 2-8 and associated text, e.g., [0040], when the rollback is requested due to … update failure, the main control unit 30 performs rollback from the new version data to the old version data by using the rollback difference data stored in the memory unit 50; Examiner Note: As noted above with respect to respective base claims 1 and 11, the claimed “restoration operation” is part of a contingent limitation that does not need to occur and thus is not required by the broadest reasonable interpretation of the claim. See MPEP § 2111.04(II) citing Ex parte Schulhauser, Appeal 2013-007847 (PTAB April 28, 2016). Since the “restoration operation” is not required, “wherein the restoration operation includes: checking an upgrade state of each of the K blocks; when the upgrade state of an Ith block of the K blocks is the backup state, replacing current data of the Ith block with backup of original data of the Ith block, wherein the I is a positive integer not greater than the K; and when the upgrade state of the Ith block is the completion state, restoring the Ith block with the differential restoration package” is also not required by the broadest reasonable interpretation of the claim.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sakurai with the invention of Lee ‘855 for the same reason set forth above. With respect to claims 9 and 19, Ogle further teaches wherein after the upgrade operation starts and before the upgrade operation finishes successfully, if the terminal device , the upgrade operation includes: checking an upgrade state of each of the N blocks (e.g., Figs. 4 and 9 and associated text, e.g., [0109], it is possible to restart the upgrade procedure following loss of power (or other interruption) during a previous upgrade attempt. The procedure re-starts from the first block as for the normal procedure, but due to one or more status bits having been cleared in the previous update attempt the process has a modified effect as described below; [0110] For example, if at the outset of reaching query step 906 (perhaps in restarting the update process after an interrupt or power loss during a previous update attempt), a cleared second status bit is encountered, the process would move directly to step 908 to increment the update counter 254 and then verify at 910 if all blocks were updated. The process continues to return to step 906 and update counter block 254 at 908 until it is confirmed that all blocks are updated at step 910; see also [0099-100]; Examiner notes that “if the terminal device reboots, the upgrade operation includes: checking an upgrade state of each of the N blocks and checking whether the N blocks are executed successfully; when the upgrade state of any of the N blocks is not a completion state or when the terminal device does not run successfully based on present firmware data of the terminal device, turning to the restoration operation” are contingent limitation that do not occur when the terminal device does not reboot and thus these limitations are not required by the broadest reasonable interpretation of the claim. See MPEP § 2111.04(II) citing Ex parte Schulhauser, Appeal 2013-007847 (PTAB April 28, 2016). For purposes of compact prosecution only, Examiner has shown how the cited reference(s) teach “if the terminal device … the upgrade operation includes: checking an upgrade state of each of the N blocks”.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sakurai with the invention of Ogle for the same reason set forth above. With respect to claim 12, Sakurai also discloses wherein the communication channel is a wireless channel of a wireless communication network (e.g., Figs. 1, 7-8, and 22A-B, along with associated text, e.g., [0038-39], the vehicle program rewriting system 1 acts as a system for providing and rewriting software of ECUs in a vehicle over-the-air (OTA)…. The communication network 2 includes, for example, a mobile communication network such as 4G communications network… WiFi (Wireless Fidelity).). Claims 10 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Sakurai in view of Lee ‘855 and Ogle, as applied to claims 1 and 11 above, and further in view of Lee (US 20230325174, hereinafter Lee ‘174). With respect to claims 10 and 20, Sakurai also discloses using the terminal device to perform the upgrade operation to the incompletely-upgraded firmware with the differential upgrade package using the terminal device to perform the restoration operation to the incompletely-upgraded firmware (e.g., Figs. 2-8 and associated text, e.g., [0040], when the rollback is requested due to … update failure, the main control unit 30 performs rollback from the new version data to the old version data by using the rollback difference data stored in the memory unit 50.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sakurai with the invention of Lee ‘855 for the same reason set forth above. Although Sakurai as modified discloses using the terminal device to perform the upgrade operation to the incompletely-upgraded firmware with the differential upgrade package and using the terminal device to perform the restoration operation to the incompletely-upgraded firmware (see above), it does not appear to disclose after the upgrade operation fails… again … and when a number of failures in execution of the upgrade operation reaches a predetermined number. However, this is taught in analogous art, Lee ‘174 (e.g., [0130-132], when the update for the specific robot fails, the update unit 650 may repeatedly attempt to update the specific robot by a set number of times…. The update unit 650 may classify the specific robot as a failed robot in which the update fails when the update of the specific robot fails despite repeated attempts to update. The update unit 650 may restore a software version of the failed robot to a version prior to the update so that the failed robot may operate at least in a state prior to the update [after the upgrade operation fails, perform the upgrade operation again; and when a number of failures in execution of the upgrade operation reaches a predetermined number, perform the restoration operation].). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Lee ‘174 such that the differential updating is repeated a set number of time before rolling back to the old version because this would make the update process more resilient to failure. Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Sakurai in view of Lee ‘855 and Ogle, as applied to claim 1 above, and further in view of Lee (US 20210157578, hereinafter Lee ‘578) and Scian et al. (US 20130125109, hereinafter Scian). With respect to claim 2, Sakurai as modified does not appear to disclose the following, which is taught in analogous art, Lee ‘578: wherein the to-be-upgraded firmware is divided into N to-be-upgraded blocks, the N to-be-upgraded blocks are from a first to-be-upgraded block to an Nth to-be-upgraded block in turn, and the N is an integer greater than one (e.g., Fig. 2, Particularly Sector 1 Old Version, Sector 2 Old Versions, and Sector 3 Old Version [wherein the to-be-upgraded firmware is divided into N to-be-upgraded blocks, the N to-be-upgraded blocks are from a first to-be-upgraded block to an Nth to-be-upgraded block], and associated text, e.g., [0064], updating an individual sector in which an old version [to-be-upgraded block] is stored to a new version [target firmware] by using difference data will be referred to as “difference release”; [0104] Difference Release (Update for Each Sector) Order [the N to-be-upgraded blocks are from a first to-be-upgraded block to an Nth to-be-upgraded block in turn]; see also [0066-67] and [0108].); the target firmware is divided into N target blocks, and the N target blocks are from a first target block to an Nth target block (e.g., Fig. 2, Particularly Sector 1 New Version, Sector 2 New Versions, and Sector 3 New Version [the target firmware is divided into N target blocks, and the N target blocks are from a first target block to an Nth target block], and associated text, e.g., [0067] The difference data is generated by comparing the old version with the new version for each sector [blocks]; see also [0066].); the first differential operation includes a differential operation between each of the N target blocks and the N to-be-upgraded blocks (e.g., Fig. 2 and associated text, e.g., [0067], [0067] The difference data is generated by comparing the old version with the new version for each sector [a differential operation between each of the N target blocks and the N to-be-upgraded blocks].). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Lee ‘578 because it can “effectively” update a control unit for a vehicle, as suggested by Lee ‘578 (see [0009]). Sakurai as modified does not appear to disclose the following, which is taught in analogous art, Scian: the second differential operation includes a differential operation between a Kth to-be-upgraded block and K target block(s), the K is a positive integer not greater than the N, and the K target block(s) is/are from the first target block to a Kth target block (e.g., Figs. 2-4 and 9-12 and associated text, e.g., [0098], Each sector-specific reverse patch rp.sub.i contains commands for generating one of the old sectors a.sub.i from one of the then-current partially patched images 30. To generate one of the reverse patches rp.sub.i, the patch generation module 26 uses the old sector a.sub.i [Kth to-be-upgraded block], the then-current partially patched image 30 containing new sector b.sub.i [K target block], and the reverse index file r.sub.i. The reverse index file r.sub.i identifies the regions of similarity between old sector a.sub.i and the then-current partially patched image 30; [0108] In step 512, the client device then generates sector-specific reverse patch rp.sub.i from the current_image, the saved sector a.sub.i, and reverse index file r.sub.i. Reverse index file r.sub.i describes the regions of similarity between saved sector a.sub.i and the current_image. The sector-specific reverse patch rp.sub.i is then saved to memory in step 514; see also [0061], [0093-94].). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Scian because “It would be advantageous to provide a new method and system for generating a reverse patch,” as suggested by Scian (see [0008]). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Specifically, Park US 20200201617 teaches a firmware overwriting process and Komano et al. “Efficient and Secure Firmware Update/Rollback Method for Vehicular Devices” teaches a two-way patch for update/rollback. Any inquiry concerning this communication or earlier communications from the examiner should be directed to STEPHEN DAVID BERMAN whose telephone number is (571) 272-7206. The examiner can normally be reached M-F, 9-6 Eastern. 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, Hyung S. Sough can be reached on 571-272-6799. 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. /STEPHEN D BERMAN/Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

May 17, 2023
Application Filed
Jun 13, 2025
Non-Final Rejection — §103
Aug 29, 2025
Response Filed
Sep 08, 2025
Final Rejection — §103
Dec 08, 2025
Request for Continued Examination
Dec 18, 2025
Response after Non-Final Action
Mar 21, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591505
ANALYSIS OF CODE COVERAGE DIFFERENCES ACROSS ENVIRONMENTS
2y 5m to grant Granted Mar 31, 2026
Patent 12572372
SEMANTIC METADATA VALIDATION
2y 5m to grant Granted Mar 10, 2026
Patent 12572361
METHOD, APPARATUS, COMPUTER DEVICE, AND STORAGE MEDIUM FOR DETERMINING PAGE JUMP INFORMATION
2y 5m to grant Granted Mar 10, 2026
Patent 12547379
GENERATING TARGET LANGUAGE CODE FROM SOURCE LANGUAGE CODE
2y 5m to grant Granted Feb 10, 2026
Patent 12541344
RECORDING MEDIUM, PROGRAMMING ASSISTING DEVICE, AND PROGRAMMING ASSISTING METHOD
2y 5m to grant Granted Feb 03, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

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
79%
Grant Probability
99%
With Interview (+56.6%)
2y 9m
Median Time to Grant
High
PTA Risk
Based on 331 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