DETAILED ACTION
This action is responsive to the application filed on October 11, 2024, which is National Stage entry of PCT/CN2023/087611, international filed on April 11, 2023, and claims foreign priority from 202210386463.0 filed on April 11, 2022.
The preliminary amendments filed on October 11, 2024, have been acknowledged and considered.
Claims 3-5, 7-10 and 12-15 have been amended. Claim 17 has been newly added.
Claims 1-17 are pending and presented to examination.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
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 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.
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.
Information Disclosure Statement
As required by M.P.E.P. 609, the applicant’s submission of the Information Disclosure Statement dated October 07, 2025, is acknowledged by the examiner and the cited references have been considered in the examination of the claims now pending.
Drawings
The drawings filed on October 11, 2024, are objected to under 37 CFR 1.83(a) and 1.84. FIG. 1 and FIG. 2 are objected to for the reasons set forth below.
FIG. 1 is objected to under MPEP 608.02(g) because it depicts only that which is old and well known and is not designated by a legend such as "Prior Art." The specification identifies FIG. 1 as a schematic diagram of storage space partitioning for implementing "ping-pong" upgrade and describes that arrangement in the Background as the existing approach whose storage cost the claimed invention seeks to reduce.
FIG. 1 is further objected to under 37 CFR 1.83(a) because it designates the app_0 partition and the app_1 partition as being "(1.2 MB)" in size, and no corresponding disclosure of a 1.2 MB partition size appears in the specification. The only partition sizes disclosed are those of Table 1, namely bootloader 62 KB, main app 1411 KB and Ota app 457 KB, together with the 2M, 2.3M and 3M storage device figures in the accompanying text. Applicant must either amend the specification to describe the 1.2 MB values or cancel them from the drawing. No new matter may be entered.
FIG. 1 and FIG. 2 are further objected to under 37 CFR 1.84(p) and MPEP 608.01(o) because they contain no reference characters. The detailed description discusses a system parameter partition, a bootloader partition, a first firmware partition and a second firmware partition, none of which is designated by a reference character in the drawings or in the description. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to this Office action. Any amended replacement drawing sheet must include all figures appearing on the immediate prior version of the sheet, even if only one figure is amended, and must be labeled "Replacement Sheet" in the page header. Failure to take corrective action will result in ABANDONMENT of the application.
Specification
The disclosure is objected to because of the following informalities: The abstract is objected to because it contains approximately 178 words. The abstract may not exceed 150 words. See 37 CFR 1.72(b). The abstract is further objected to because it begins "Disclosed in the present application discloses are a firmware update method for an embedded device and an embedded device." The sentence contains both a past participle and a finite verb governing the same subject, followed by a second finite verb. The opening clause should read "Disclosed in the present application are a firmware update method for an embedded device and an embedded device," or equivalent.
The abstract is further objected to under MPEP 608.01(b) because it employs phrases that can be implied, namely "Disclosed in the present application are" and "With the present application, the demands for storage space of hardware of embedded devices are reduced." The abstract should be directed to what is disclosed rather than to the fact of disclosure, and should not recite statements of advantage. The Brief Description of the Drawings is objected to because it recites "FIG. 6 schematically illustrates a flow chart of yet a specific implementation," which should read "yet another specific implementation," and because it must be amended to designate FIG. 1 as prior art consistent with the objection to FIG. 1 set forth above.
Appropriate correction is required.
Claim Objections
Claims 6, 9 and 17 are objected to because of the following informalities:
Claim 6 is objected to because it recites "determine whether the second firmware is encrypted firmware." For consistency with the gerund form used elsewhere in the claim set this should read "determining whether."
Claim 9 is objected to because it recites "determine whether the currently running firmware is the second firmware." This should read "determining whether."
Claim 17 is objected to because it omits a transitional word following the dependency phrase, reciting "according to claim 7, when there is one second firmware." Insert "wherein" following "claim 7," for consistency with claims 2-16. Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-17 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recites a minimum code set for implementing remote firmware update of the second firmware in lines 5-6. The term "minimum" is a relative term of degree. The specification provides no standard for ascertaining the requisite degree. It states that the first firmware is only configured to implement the function of receiving the second firmware update data and writing that data into the second firmware partition and does not include other functions of the device, yet the sole working example at Table 1 describes an Ota app of 457 KB whose recited functions include Wi-Fi connection. One of ordinary skill in the art would not be reasonably apprised of the scope of the claim. See MPEP 2173.05(b). For purposes of examination this limitation is interpreted as a set of code whose functionality is limited to performing the remote firmware update of the second firmware.
Claim 1 recites at least one second firmware and thereafter recites the second firmware. Where more than one second firmware is present, a circumstance expressly contemplated by claims 8 and 14, it cannot be determined which of the plurality is referenced. There is insufficient antecedent basis for this limitation. For purposes of examination the second firmware is interpreted as any one of the at least one second firmware stored in the second firmware partition.
Claim 1 recites a currently running firmware and later recites in response to switching a running firmware to the second firmware. It cannot be determined whether "a running firmware" refers to the previously recited currently running firmware or introduces a further firmware. For purposes of examination a running firmware is interpreted as referring to the previously recited currently running firmware.
Claim 3 recites the second firmware update data is updated second firmware data, replacing the received second firmware data directly with the old second firmware data and writing the received second firmware data into the second firmware partition. As written the claim recites replacing the newly received data with the old data, which is the opposite of the operation described in the specification and is inconsistent with the stated purpose of updating the second firmware. There is further insufficient antecedent basis for the old second firmware data, for the received second firmware data, and for the updated second firmware data. For purposes of examination this limitation is interpreted as replacing the old second firmware data with the received second firmware update data and writing the received second firmware update data into the second firmware partition, wherein the old second firmware data is interpreted as the second firmware stored in the second firmware partition prior to the update and the received second firmware data and the updated second firmware data are each interpreted as the received second firmware update data.
Claim 3 is further indefinite because it recites comprises one of followed by two clauses, the first of which is a declarative statement of what the data is rather than an act performed. It cannot be determined whether the recited alternatives are steps of the claimed method. For purposes of examination the two recited clauses are interpreted as alternative acts, only one of which need be performed.
Claim 10 recites the first firmware update data is updated first firmware data, replacing the received first firmware data directly with the old first firmware data and writing the received first firmware data into the first firmware partition. As written the claim recites replacing the newly received data with the old data, which is the opposite of the operation described in the specification and is inconsistent with the stated purpose of updating the first firmware. There is further insufficient antecedent basis for the old first firmware data, for the received first firmware data, and for the updated first firmware data. For purposes of examination this limitation is interpreted as replacing the old first firmware data with the received first firmware update data and writing the received first firmware update data into the first firmware partition, wherein the old first firmware data is interpreted as the first firmware stored in the first firmware partition prior to the update and the received first firmware data and the updated first firmware data are each interpreted as the received first firmware update data.
Claim 10 is further indefinite because it recites comprises one of followed by two clauses, the first of which is a declarative statement of what the data is rather than an act performed. It cannot be determined whether the recited alternatives are steps of the claimed method. For purposes of examination the two recited clauses are interpreted as alternative acts, only one of which need be performed.
Claims 4, 5, 11 and 12 each recite the bootloader program. Claim 1, from which each ultimately depends, recites a bootloader partition and does not recite a bootloader program. There is insufficient antecedent basis for this limitation. For purposes of examination the bootloader program is interpreted as the program stored in the bootloader partition recited in claim 1.
Claims 4, 5 and 11 each recite the firmware required to be booted by the bootloader program on the next reboot. There is insufficient antecedent basis for the firmware required to be booted. For purposes of examination the firmware required to be booted by the bootloader program on the next reboot is interpreted as whichever firmware the bootloader program is set to boot upon the next reboot of the embedded device.
Claim 4 recites the switching currently running firmware to the first firmware. Claim 1 recites switching the currently running firmware to the first firmware, and does so only conditionally. The recitation of claim 4 does not correspond in wording to the limitation of claim 1, and it cannot be determined whether claim 4 requires that the conditional act of claim 1 always occur. For purposes of examination this limitation is interpreted as referring to the switching act recited in claim 1, and claim 4 is interpreted as requiring that act to be performed.
Claim 7 recites performing at least one of signature information verification, and hash value verification, and/or file header information verification. The recitation mixes the conjunction "and" with the disjunction "and/or" within a single "at least one of" list. Under SuperGuide Corp. v. DirecTV Enterprises, Inc., 358 F.3d 870, 886 (Fed. Cir. 2004), the phrase "at least one of A, B, and C" ordinarily requires at least one of each listed item, which cannot be reconciled with the disjunctive "and/or." The scope of the claim cannot be determined. For purposes of examination this limitation is interpreted disjunctively, as requiring at least one of signature information verification, hash value verification, and file header information verification.
Claims 8 and 12 each recite the same mixing of the conjunction "and" with the disjunction "and/or" within an "at least one of" list as is set forth above with respect to claim 7, and are rejected for the same reasons. Claim 8 is further indefinite because it recites the list in two different forms within the same claim. For purposes of examination these limitations are each interpreted disjunctively, as requiring at least one of signature information verification, hash value verification, and file header information verification.
Claims 7-8, 12 and 17 each recite in response to that the verification passes. Where the antecedent recitation is to at least one of a plurality of different verifications, it cannot be determined which verification, or how many of them, must pass. There is insufficient antecedent basis for this limitation. For purposes of examination the verification is interpreted as whichever one or more of the recited verifications is performed.
Claims 8 and 17 each recite the second firmware to be booted. There is insufficient antecedent basis for this limitation. For purposes of examination the second firmware to be booted is interpreted as the second firmware that the bootloader program is set to boot upon the next reboot of the embedded device.
Claim 8 recites when there is a plurality of second firmwares and claim 14 recites when there is a plurality of second firmwares, only one of the second firmwares comprises a code set for implementing firmware update of the first firmware. Claim 1 recites at least one second firmware. It cannot be determined whether claims 8 and 14 further limit claim 1 by requiring a plurality or merely recite a condition under which further acts occur. Claim 14 is further indefinite because it recites no act and it cannot be determined how it further limits the method of claim 1. For purposes of examination the recitation of a plurality of second firmwares is interpreted as a condition precedent rather than as a further structural limitation of claim 1, which requires at least one second firmware, and claim 14 is interpreted as requiring that, where a plurality is present, the code set for implementing firmware update of the first firmware reside in only one of them.
Claim 15 recites a minimum code set for implementing remote firmware update of the second firmware, and recites at least one second firmware and thereafter the second firmware, and is rejected for the same reasons set forth above with respect to those limitations of claim 1. For purposes of examination those limitations of claim 15 are interpreted in the same manner as the corresponding limitations of claim 1.
Claim 16 is rejected as depending from claim 15 and thereby incorporating the deficiencies of claim 15. For purposes of examination claim 16 is interpreted in the same manner as claim 15.
Claims 2, 6, 9 and 13 are rejected under 35 U.S.C. 112(b) as depending from a claim that is itself indefinite and thereby incorporating the indefinite limitations of that claim. Claims 2, 9 and 13 each depend from claim 1 and claim 6 depends from claim 5. No indefiniteness is identified in claims 2, 6, 9 and 13 beyond that inherited from the claims from which they depend. For purposes of examination each of claims 2, 6, 9 and 13 is interpreted in the same manner as the claim from which it depends.
The following is a quotation of 35 U.S.C. 112(d):
(d) REFERENCE IN DEPENDENT FORMS.—Subject to subsection (e), a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
The following is a quotation of pre-AIA 35 U.S.C. 112, fourth paragraph:
Subject to the following paragraph [i.e., the fifth paragraph of pre-AIA 35 U.S.C. 112], a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
Claims 15-16 are rejected under 35 U.S.C. 112(d) as being of improper dependent form for failing to further limit the subject matter of the claim upon which it depends, or for failing to include all the limitations of the claim upon which it depends. Claim 15 is drawn to a device and refers to claim 1, which is drawn to a method. Under the infringement test set forth at MPEP 608.01(n)(III), a proper dependent claim cannot be infringed by anything that would not also infringe the claim from which it depends. Claim 15 would be infringed by the making of the recited embedded device irrespective of whether the method of claim 1 is ever performed, and therefore does not incorporate all of the limitations of claim 1. Applicant may cancel the claim, amend the claim to place it in proper dependent form, rewrite the claim in independent form, or present a sufficient showing that the claim complies with the statutory requirements.
The claims are examined on the merits below as best understood in view of the indefiniteness set forth above. See MPEP 2173.06(II).
Claim 16 is rejected under 35 U.S.C. 112(d) as depending from claim 15 and thereby incorporating the improper dependent form of claim 15.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim 1-3, 13 and 15-16 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”).
With respect to claim 1 (Original), Lajoie teaches a firmware update method for an embedded device, wherein a first firmware partition, a second firmware partition and a bootloader partition are provided in a memory of the embedded device (Lajoie, paragraphs [0020]-[0021] and [0026], a method of remotely upgrading firmware in a field-deployed device 120 over a network, the device comprising a non-volatile memory 210 that is "preferably a 64 kB on-chip flash block with a 512-byte page size (128 pages)"; paragraph [0028] and FIG. 3, the NVM being divided into an upgrade program memory area 230, an application program memory area 220, and page 0 containing the jump to FIC code 370 at address 0, the reset vector, together with the firmware integrity checker 350). wherein the first firmware partition is configured to store a first firmware (Lajoie, paragraphs [0026] and [0028], the upgrade program memory area 230 storing the upgrade program 320).
the second firmware partition is configured to store at least one second firmware (Lajoie, paragraphs [0026] and [0028], the application program memory area 220 storing the application program 310, which "is typically the control program of the corresponding device 120").
the first firmware comprises a minimum code set for implementing remote firmware update of the second firmware (Lajoie, paragraph [0011], "the firmware includes a small upgrade program which performs programming tasks on the device according to commands received by the server"; paragraph [0046], "Once the device 120 is in upgrade mode, any traffic other than upgrade primitives are ignored"; paragraph [0032], the arrangement being adopted because it "does not require the developer to plan for two times the actual firmware memory requirements").
the bootloader partition is configured to load the first firmware and the second firmware (Lajoie, paragraph [0038], "The FIC 350 is the first code to run when control is transferred from the boot ROM 206 to the NVM 210 after a reset or power up"; paragraph [0039], "If the firmware passes the CRC-16 integrity check, the FIC 350 transfers control to the application program 310. If the application CRC test fails, the FIC 350 switches control to the upgrade program 320").
detecting a first triggering event for updating the second firmware (Lajoie, paragraph [0024], "The server 110 initiates the upgrade process (server-initiated upgrade) upon availability of a new firmware. First, it sends out an escape message to a device 120 that requires upgrading").
determining whether a currently running firmware is the first firmware, and if not, switching the currently running firmware to the first firmware (Lajoie, paragraph [0033], "the application program 310 is responsible for switching to upgrade mode by transferring control to the upgrade program 320 on reception of the appropriate message from the server 110"; paragraph [0042], "the application program 310 that supports the remote upgrade feature must transfer control to the upgrade program 320"; paragraphs [0038]-[0039] and TABLE 2, the FIC determining the state of the device from the CLIENT STATE variable and the integrity check result and routing control accordingly).
acquiring, from a source device, second firmware update data for updating the second firmware, and writing received second firmware update data into the second firmware partition to load the second firmware update data in response to switching a running firmware to the second firmware (Lajoie, paragraph [0033], "Once the upgrade program 320 takes control, it communicates with the server 110"; paragraph [0034], "The upgrade of the application program 310 is simply achieved by copying the new application program 310 from the server 110 to the application program memory area 220"; paragraph [0031], "Once the server 110 has completed its programming task, the devices 120 are forced to reset" and "If this verification process succeeds, control is ultimately transferred to the upgraded application program for normal operation"; see also Lajoie published claim 8). The recitation of claim 1 that the currently running firmware is switched to the first firmware is conditioned upon a determination that the currently running firmware is not the first firmware. Under the broadest reasonable interpretation of a method claim a step conditioned upon a condition precedent need not be performed where the condition does not occur. See Ex parte Schulhauser, Appeal 2013-007847 (PTAB Apr. 28, 2016) (precedential) and MPEP 2111.04(II). The rejection of this limitation set forth above does not rely upon this interpretation.
With respect to claim 2 (Original), Lajoie teaches wherein the first triggering event comprises any one of the following: receiving a push message sent by the source device indicating that there is an updated version of the second firmware (Lajoie, paragraph [0024], the server sending out an escape message to a device that requires upgrading upon availability of a new firmware). The claim recites the triggering event in the alternative and the prior art need teach only one alternative.
With respect to claim 3 (Currently Amended), Lajoie teaches wherein the writing received second firmware update data into the second firmware partition comprises one of: the second firmware update data is updated second firmware data, replacing the received second firmware data directly with the old second firmware data and writing the received second firmware data into the second firmware partition (Lajoie, paragraph [0034], "The upgrade of the application program 310 is simply achieved by copying the new application program 310 from the server 110 to the application program memory area 220"). The claim recites the writing in the alternative and the prior art need teach only one alternative.
With respect to claim 13 (Currently Amended), Lajoie teaches wherein the source device is one of a cloud server, a local server, a node of a mesh network, and a low-power Bluetooth network device (Lajoie, paragraph [0020], the network 100 forming a Local Area Network or a Wide Area Network interconnecting an upgrade server 110 with the field-deployed devices 120; paragraph [0022], "The server 110 may be in the form of a personal computer (PC), a handheld device, a gateway, a modem or any other device with a corresponding server application" and the server 110 and firmware provider 170 being connected via a WAN or Internet link). The claim recites the source device in the alternative and the prior art need teach only one alternative.
With respect to claim 15 (Currently Amended), Lajoie teaches an embedded device, wherein a first firmware partition, a second firmware partition and a bootloader partition are provided in a memory of the embedded device, wherein the first firmware partition is configured to store a first firmware, the second firmware partition is configured to store at least one second firmware, the first firmware comprises a minimum code set for implementing remote firmware update of the second firmware, the bootloader partition is configured to load the first firmware and the second firmware (Lajoie, FIG. 2 and paragraph [0026], the device 120 comprising a microcontroller 270, boot ROM 200, RAM 280 and NVM 210 partitioned as set forth above with respect to claim 1).
the firmware stored in the memory is loaded into internal storage of the embedded device to implement the firmware update method for an embedded device according to claim 1 (Lajoie, paragraph [0027], the boot ROM functions being available to the code running in the NVM 210; paragraphs [0031] and [0038], the code being executed by the microcontroller 270 to perform the acts set forth above with respect to claim 1).
With respect to claim 16 (Original), Lajoie teaches wherein the memory is a non-volatile memory (Lajoie, paragraph [0026], the NVM 210 being a 64 kB on-chip flash block).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
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 4-5, 7 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”) in view of Guo Xioaming et al. (CN 112910714, hereinafter “Guo” – IDS 10/07/2025).
With respect to claim 4 (Currently Amended), Lajoie is silent to disclose wherein the switching currently running firmware to the first firmware comprises: setting the first firmware as the firmware required to be booted by the bootloader program on the next reboot; calling a reboot interface to reboot the embedded device; and running the bootloader program to boot and run the first firmware. However, in an analogous art, Guo teaches:
setting the first firmware as the firmware required to be booted by the bootloader program on the next reboot (Guo, paragraph [n0022], the host setting "the firmware update flag in the first program memory to 1"; paragraph [n0080], the same act performed upon the host determining that the target device identifier in the upgrade command sent by the server is its own).
calling a reboot interface to reboot the embedded device (Guo, paragraph [n0022], "and then the host restarts"; paragraph [n0080], the host being restarted following the setting of the flag).
running the bootloader program to boot and run the first firmware (Guo, paragraph [n0022], "After the host restarts, it first enters the boot program and detects that the firmware update flag is 1. The boot program sets the flag to 0 and then begins to check the contents of the data packet in the non-volatile memory"; paragraph [n0081], the boot program thereafter executing the verification and update sequence).
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have effected the switching of the currently running firmware of Lajoie by the flag setting, restart and boot program dispatch sequence of Guo, in order to complete all abnormal situation handling within the device itself without reliance upon other devices, which Guo teaches results in "high stability" (Guo, paragraph [n0019]).
With respect to claim 5 (Currently Amended), Lajoie is silent to disclose wherein the loading the second firmware update data in response to switching the running firmware to the second firmware comprises: setting the second firmware as the firmware required to be booted by the bootloader program on the next reboot; calling a reboot interface to reboot the embedded device; and running the bootloader program to boot and run the second firmware, and loading the second firmware update data. However, in an analogous art, Guo teaches:
setting the second firmware as the firmware required to be booted by the bootloader program on the next reboot (Guo, paragraph [n0023], the boot program erasing the firmware in the second program memory and writing the data packets in the non-volatile memory into the second program memory in sequence, such that the second program memory is the memory booted upon the following restart).
calling a reboot interface to reboot the embedded device (Guo, paragraph [n0023], "After the writing is completed, the host automatically restarts and first enters the bootloader"; paragraph [n0082], the host automatically restarting following completion of the writing).
running the bootloader program to boot and run the second firmware, and loading the second firmware update data (Guo, paragraph [n0017], "If the verification passes, it jumps to the second program memory and starts running the firmware program"; paragraph [n0072], "After the verification is successful, it jumps to the second program memory and starts running the APP program").
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have effected the loading of the second firmware update data of Lajoie by the flag setting, restart and boot program dispatch sequence of Guo, in order to complete all abnormal situation handling within the device itself without reliance upon other devices, which Guo teaches results in "high stability" (Guo, paragraph [n0019]).
With respect to claim 7 (Currently Amended), Lajoie is silent to disclose wherein before the booting and running the second firmware, the method further comprises: performing at least one of signature information verification, and hash value verification, and/or file header information verification on the second firmware in the bootloader partition; and in response to that the verification passes, booting and running the second firmware. However, in an analogous art, Guo teaches:
performing at least one of signature information verification, and hash value verification, and/or file header information verification on the second firmware in the bootloader partition (Guo, paragraph [n0020], the verification performed by the bootloader upon the firmware in the second program memory including "at least firmware integrity verification and firmware ID verification"; paragraph [n0021], the firmware integrity verification comprising "calculating and verifying all firmware content except the firmware check value according to the agreed verification algorithm, and comparing the obtained check value with the check value stored in the specified location of the firmware" and the firmware ID verification comprising "obtaining the firmware ID from the specified location of the firmware and comparing it with the device ID stored in the specified location of the first program memory"; paragraph [n0073], the same).
in response to that the verification passes, booting and running the second firmware (Guo, paragraph [n0072], "After the verification is successful, it jumps to the second program memory and starts running the APP program").
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have performed the boot stage integrity and firmware identifier verifications of Guo upon the second firmware of Lajoie prior to booting it, in order to "prevent incorrect firmware from being upgraded to the device" and to "prevent the device from failing to function due to a previous firmware upgrade failure" (Guo, paragraph [n0018]).
With respect to claim 17 (New), Lajoie teaches when there is one second firmware, after the performing at least one of signature information verification, and hash value verification, and file header information verification on the second firmware, the method further comprises: in response to that the second firmware to be booted fails the verification, returning to run the first firmware (Lajoie, paragraph [0039], "If the application CRC test fails, the FIC 350 switches control to the upgrade program 320"). in response to that the verification passes, booting and running the second firmware (Lajoie, paragraph [0039], "If the firmware passes the CRC-16 integrity check, the FIC 350 transfers control to the application program 310").
The limitations of claim 17 are recited as conditional and need not be given patentable weight under MPEP 2111.04(II). The rejection of claim 17 set forth above does not rely upon this interpretation.
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”) in view of Guo Xioaming et al. (CN 112910714, hereinafter “Guo” – IDS 10/07/2025) and further in view of Leclercq (US Pub. No. 2012/0079287, hereinafter Leclercq).
With respect to claim 6 (Original), Lajoie in view of Guo is silent to disclose wherein before the booting and running the second firmware, the method further comprises: determine whether the second firmware is encrypted firmware, and if yes, performing a decryption operation in the bootloader partition. However, in an analogous art, Leclercq teaches:
determine whether the second firmware is encrypted firmware, and if yes, performing a decryption operation in the bootloader partition (Leclercq, paragraph [0061], "In an embodiment, the SW code in the external memory may be encrypted. In this case, it is first deciphered by the boot ROM"; paragraph [0079], the boot loader process including a firmware image decryption "if the firmware image is encrypted"; paragraphs [0088] and [0089], the generated encryption key being used to decrypt the firmware image, the decrypted image being hashed and the hash value compared with the software checksum, and the boot loader process being aborted upon a negative comparison).
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have performed the boot stage decryption of an encrypted firmware image of Leclercq within the bootloader of Lajoie in view of Guo, in order to satisfy the confidentiality requirements that Leclercq identifies as the reason firmware "may be encrypted" (Leclercq, paragraph [0087]).
The act of claim 6 is conditioned upon a determination that the second firmware is encrypted firmware and need not be performed under the broadest reasonable interpretation. See MPEP 2111.04(II). The rejection of claim 6 set forth above does not rely upon this interpretation.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”) in view of Guo Xioaming et al. (CN 112910714, hereinafter “Guo” – IDS 10/07/2025) and further in view of Kim et al. (US Pub. No. 2012/0102477, hereinafter “Kim” – IDS 10/07/2025).
With respect to claim 8 (Currently Amended), Lajoie in view of Guo is silent to disclose wherein when there is a plurality of second firmwares, after performing at least one of signature information verification, hash value verification, and file header information verification on the second firmware, the method further comprises: in response to that the second firmware to be booted fails the verification, traversing through other second firmwares in the embedded device to perform at least one of signature information verification, and hash value verification, and file header information verification; in response to that the verification passes, booting and running the second firmware that has passed the verification. However, in an analogous art, Kim teaches:
in response to that the second firmware to be booted fails the verification, traversing through other second firmwares in the embedded device to perform at least one of signature information verification, and hash value verification, and file header information verification (Kim, paragraph [0042], the control unit verifying the checksums of each individual update file by comparing the checksum of each stored file with the checksum provided in association with the downloaded files; paragraph [0051], the control unit comparing the first checksum with the second checksum "in order to determine whether there are any update files having a non-matching first and second checksums").
in response to that the verification passes, booting and running the second firmware that has passed the verification (Kim, paragraph [0044], the control unit performing a partial firmware update with the normal update files; paragraph [0053], "the control unit 180 transfers only the normal update files to the delta file storage region 160 and performs the partial firmware update using the update files transferred to the delta file storage region 160").
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have individually verified each of a plurality of second firmwares and to have proceeded with one that passes verification, as taught by Kim, within the boot stage verification of Lajoie in view of Guo, in order to "prevent an update process from being terminated abnormally due to an error in one or more of a plurality of update files" (Kim, paragraph [0062]).
The limitations of claim 8 are recited as conditional and need not be given patentable weight under MPEP 2111.04(II). The rejection of claim 8 set forth above does not rely upon this interpretation.
Claims 9 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”) in view of Cypress Semiconductor Corporation, PSoC Creator Component Datasheet, Bootloader and Bootloadable, v1.40, Document No. 001-96609 Rev. \*C, revised August 30, 2016, hereinafter “Cypress”.
With respect to claim 9 (Currently Amended), Lajoie teaches detecting a second triggering event for updating the first firmware (Lajoie, paragraph [0033], the self-upgrade being the second type of upgrade, in which the base layers comprising the upgrade program 320 are upgraded; paragraph [0046], "it is up to the server 110 to decide what kind of upgrade it will process"; see also Lajoie published claims 20 and 29, reciting the initiation of a self-upgrade process by sending a self-upgrade request message from the device to the server).
acquiring, from the source device, first firmware update data for updating the first firmware, and writing received first firmware update data into the first firmware partition to load the first firmware update data in response to switching the running firmware to the first firmware (Lajoie, paragraph [0035], "Instructions are then given to copy the new upgrade program 320 from the server 110 to the application program memory area 220. Once this is completed, the new upgrade program is copied to the upgrade program memory area 230 and control of the device 120 is subsequently transferred to the new upgrade program 320 therein"; paragraph [0038], the FIC being responsible for transferring the data from the application layer to the base layers in the case of a self-upgrade). Lajoie is silent to disclose determine whether the currently running firmware is the second firmware, and if not, switching the currently running firmware to the second firmware. However, in an analogous art, Cypress teaches:
determine whether the currently running firmware is the second firmware (Cypress, page 17, the function Bootloader_Initialize which "updates the global variable Bootloader_runningApp with a running application number" and which "should be called once in the application project after a startup"; page 17, the function Bootloader_GetRunningAppStatus which returns "The application number that is currently being executed"; page 15, the same function described as one that "Returns the application number of the currently running application").
and if not, switching the currently running firmware to the second firmware (Cypress, page 39, the simplified control flow of launcher and combination application interaction, in which upon a determination that "There is a need to switch to another application" the flow proceeds to "Check if another Application is valid?", then to "Set another application active", and then to "Load another image"; page 15, the function Bootloadable_SetActiveApplication which "Sets the application which will be loaded after a next reset event"; page 16, the function Bootloadable_Load which "Schedules the Bootloader/Launcher to be launched and then performs a software reset to launch it"; page 16, the same function being described as one that "will load a new application and reset the device").
Cypress further teaches that the application to which control is so switched is itself capable of performing the update of the other resident application (Cypress, page 4, the Launcher-Combination use case in which "The Bootloader only performs the switching function. The applications can update each other" and in which "The applications are allocated an equal amount of flash space"; page 3, a Combination Project being "a user application that can bootload another application" which "is loaded into target flash by another combination project").
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have determined which of the two resident applications of Lajoie is executing and to have switched to the other application before updating the upgrade program, as taught by Cypress, in order to avoid the outcome Lajoie identifies as arising when the base layers containing the upgrade program are corrupted, namely that "the device 120 is unable to communicate on the network and requires on-site maintenance for upgrading via alternate means" (Lajoie, paragraph [0031]).
With respect to claim 14 (Currently Amended), Lajoie is silent to disclose wherein when there is a plurality of second firmwares, only one of the second firmwares comprises a code set for implementing firmware update of the first firmware. However, in an analogous art, Cypress teaches:
when there is a plurality of second firmwares, only one of the second firmwares comprises a code set for implementing firmware update of the first firmware (Cypress, page 4, the Upgradable stack use case in which "One application (stack) contains the communication component and 'shares' it with the other application (user application)" and in which "The Copier function makes it possible for the stack to be updated"; page 7, the large communication component being "present only in the first application (Stack application)" in order "To save flash space for the user application"). It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have confined the update code set to a single one of a plurality of second firmwares, as taught by Cypress, within the method of Lajoie, in order to save flash space for the remaining applications as Cypress teaches at page 7 and consistent with the objective Lajoie states of avoiding the need to "plan for two times the actual firmware memory requirements" (Lajoie, paragraph [0032]).
The limitations of claim 14 are recited as conditional and need not be given patentable weight under MPEP 2111.04(II). The rejection of claim 14 set forth above does not rely upon this interpretation.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”) in view of Cypress Semiconductor Corporation, PSoC Creator Component Datasheet, Bootloader and Bootloadable, v1.40, Document No. 001-96609 Rev. \*C, revised August 30, 2016, hereinafter “Cypress” and further in view of Kim et al. (US Pub. No. 2012/0102477, hereinafter “Kim” – IDS 10/07/2025).
With respect to claim 10 (Currently Amended), Lajoie teaches wherein the writing received first firmware update data into the first firmware partition comprises one of: the first firmware update data is updated first firmware data, replacing the received first firmware data directly with the old first firmware data and writing the received first firmware data into the first firmware partition (Lajoie, paragraph [0035], the new upgrade program being copied from the server 110 to the application program memory area 220 and thereafter copied to the upgrade program memory area 230).
Lajoie in view of Cypress is silent to disclose the first firmware update data is differential data between the old first firmware data and the updated first firmware data, synthesizing the received differential data with the old first firmware data to generate updated first firmware data and writing the updated first firmware data into the first firmware partition. However, in an analogous art, Kim teaches:
the first firmware update data is differential data between the old first firmware data and the updated first firmware data, synthesizing the received differential data with the old first firmware data to generate updated first firmware data and writing the updated first firmware data into the first firmware partition (Kim, paragraph [0007], FOTA being "a technology for updating the firmware by applying a delta file generated from a difference between two versions of the firmware" and the mobile device "updates the previous version of the firmware by modifying a part corresponding to the delta file"; paragraph [0021], the update file being "generated according to a difference between an old version and a new version of the firmware of the mobile device" and including "data corresponding to the difference and information indicating the address to which data corresponding to the new version of the firmware is installed").
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have transmitted the first firmware update data of Lajoie in view of Cypress as the differential data of Kim, in order to reduce the volume of data transmitted and the storage required to receive it, consistent with the objective Lajoie states of avoiding the need to "plan for two times the actual firmware memory requirements" (Lajoie, paragraph [0032]).
Claims 11-12 are rejected under 35 U.S.C. 103 as being unpatentable over Lajoie et al. (US Pub. No. 2004/0015952, hereinafter “Lajoie”) in view of Cypress Semiconductor Corporation, PSoC Creator Component Datasheet, Bootloader and Bootloadable, v1.40, Document No. 001-96609 Rev. \*C, revised August 30, 2016, hereinafter “Cypress” and further in view of Guo Xioaming et al. (CN 112910714, hereinafter “Guo” – IDS 10/07/2025).
With respect to claim 11 (Original), Lajoie in view of Cypress is silent to disclose wherein the loading the first firmware update data in response to switching the running firmware to the first firmware comprises: setting the first firmware as the firmware required to be booted by the bootloader program on the next reboot; calling a reboot interface to reboot the embedded device; running the bootloader program to boot and run the first firmware, and loading the first firmware update data. However, in an analogous art, Guo teaches:
setting the first firmware as the firmware required to be booted by the bootloader program on the next reboot (Guo, paragraph [n0022], the host setting "the firmware update flag in the first program memory to 1").
calling a reboot interface to reboot the embedded device (Guo, paragraph [n0022], "and then the host restarts").
running the bootloader program to boot and run the first firmware, and loading the first firmware update data (Guo, paragraph [n0022], "After the host restarts, it first enters the boot program and detects that the firmware update flag is 1"; paragraph [n0081], the boot program thereafter verifying the firmware content and executing the update).
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have effected the loading of the first firmware update data of Lajoie in view of Cypress by the flag setting, restart and boot program dispatch sequence of Guo, in order to complete all abnormal situation handling within the device itself without reliance upon other devices, which Guo teaches results in "high stability" (Guo, paragraph [n0019]).
With respect to claim 12 (Currently Amended), Lajoie in view of Cypress is silent to disclose wherein before the booting and running the first firmware, the method further comprises: performing at least one of signature information verification, and hash value verification, and file header information verification on the first firmware in the bootloader partition; in response to that the verification passes, booting and running the first firmware. However, in an analogous art, Guo teaches:
performing at least one of signature information verification, and hash value verification, and file header information verification on the first firmware in the bootloader partition (Guo, paragraph [n0020], the verification performed by the bootloader including "at least firmware integrity verification and firmware ID verification"; paragraph [n0021], the integrity verification comparing a calculated check value with "the check value stored in the specified location of the firmware" and the firmware ID verification "obtaining the firmware ID from the specified location of the firmware").
in response to that the verification passes, booting and running the first firmware (Guo, paragraph [n0072], "After the verification is successful, it jumps to the second program memory and starts running the APP program").
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to have performed the boot stage integrity and firmware identifier verifications of Guo upon the first firmware of Lajoie in view of Cypress prior to booting it, in order to "prevent incorrect firmware from being upgraded to the device" and to "prevent the device from failing to function due to a previous firmware upgrade failure" (Guo, paragraph [n0018]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Beecham (US Pub. No. 2019/0340379) discloses immutable read only bootloader code that hashes the firmware stored in rewritable memory, compares the digest against a tamper evident repository, and streams and writes a replacement image upon a mismatch. Siluvainathan et al. (US Pat. No. 9,959,125) discloses field update of a boot loader by installing a boot loader update firmware into the device firmware partition using the ordinary firmware update procedure, which upon reboot copies the boot loader binary image into non-volatile memory. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANIBAL RIVERACRUZ whose telephone number is (571)270-1200. The examiner can normally be reached Monday-Friday 9:30 AM-6:00 PM.
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 at 5712726799. 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.
/ANIBAL RIVERACRUZ/Primary Examiner, Art Unit 2192