DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This action is in response to the following communication: Non-provisional Application No. 18495517 filed on10/26/2023.
3. Claims 1-30 are pending.
Claims 1, 7, 16, 22 and 27 are independent claims.
Claim Rejections - 35 USC § 103
4. 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.
5. Claims 1, 3-6, 16-20, 22, 23 and 27-30 are rejected under 35 U.S.C. 103 as being unpatentable over Amundsen et al., US 20220342657 (hereinafter Amundsen) in view of Phillips et al., US 20160026192 (hereinafter Phillips).
In regards to claim 1, Amundsen teaches:
A system, comprising: (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
receive, sequentially, a number of portions of an image of the updated operating system from the cloud server via the cellular communication network (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
request an updated operating system (p. 7, [0127]), see “in some embodiments, the second-stage bootloader 27 includes instructions for updating the application 29 in the application region 47. This is separate from the updating of the second-stage bootloader 27. The application 29 may download a replacement application image to the update working region 49” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”. Such a request must occur for such download replacement to occur.
Amundsen doesn’t explicitly teach:
a device including a controller having an operating system installed thereon.
However, Phillips teaches such use: (p. 1, [0011]), see “FIG. 1 illustrates an example of a command-center server, a site master-controller, an a mobile surveillance unit in accordance with some embodiments” and (p. 2, [0063]), see “as shown in the figures, in some embodiments, the mobile surveillance unit 11 may include a trailer 200, solar panels 202, a power supply 204, a mast 206, cameras 208, and in antenna 210 connected to a cellular modem or a wireless router in the container for the power supply 204”. Such mobile surveillance unit 11 is very much the same such a mobile surveillance unit.
a cloud server communicatively coupled to the device via a cellular communication network; wherein the device is configured to.
However, Phillips teaches such use: (p. 7, [0062]), see “in some cases, mobile surveillance units may integrate with data connections of site master controllers 18 physically at the same site, for example, via a local area network connected a cellular network to the Internet and to the command-center server 14”. Such command-center server is very much the same as such a cloud server.
Amundsen and Phillips are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Phillips before him or her, to modify the system of Amundsen to include the teachings of Phillips, as a system for a mobile surveillance unit, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to integrate a surveillance system into other sources of information, as suggested by Phillips (p. 1, [0011), p. 11, [0089]).
In regards to claim 3, Amundsen doesn’t explicitly teach:
a mobile surveillance unit including the device.
However, Phillips teaches such use: (p. 1, [0011]), see “FIG. 1 illustrates an example of a command-center server, a site master-controller, an a mobile surveillance unit in accordance with some embodiments” and (p. 2, [0063]), see “as shown in the figures, in some embodiments, the mobile surveillance unit 11 may include a trailer 200, solar panels 202, a power supply 204, a mast 206, cameras 208, and in antenna 210 connected to a cellular modem or a wireless router in the container for the power supply 204”. Such mobile surveillance unit 11 is very much the same such a mobile surveillance unit.
Amundsen and Phillips are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Phillips before him or her, to modify the system of Amundsen to include the teachings of Phillips, as a system for a mobile surveillance unit, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to integrate a surveillance system into other sources of information, as suggested by Phillips (p. 1, [0011], p. 11, [0089]).
In regards to claim 4, Amundsen teaches:
the device is further configured to install each portion of the number of portions on a hard drive of the controller (p. 3, [0045]), see “the first-stage bootloader region, first second-stage bootloader region, second second-stage bootloader region, and application region (and update working region, where present) may be distinct, non-overlapping regions of the memory. Each region may span a respective contiguous address space, although this is not essential and one or more of the regions may be divided into a plurality of disjoint sub-regions”.
In regards to claim 5, Amundsen teaches:
the device is further configured to install a bootloader on the controller prior to receiving the number of portions of the image of the updated operating system (p. 3, [0046]), see "the first-stage bootloader may detect the replacement second-stage bootloader in any appropriate way. In some embodiments, the active second-stage bootloader or an application in the application region may signal to the first-stage bootloader that the replacement second-stage bootloader has been written—e.g. by writing a flag to a predetermined memory address which the first-stage bootloader may read when the microcontroller is next reset (booted). In some embodiments" and (p. 4, [0052]), see "the second-stage bootloader or the active application may comprise instructions for writing the replacement application image to the memory. In some embodiments, the second-stage bootloader may write the replacement application image to the application region—e.g. overwriting the active application".
the bootloader includes an operating system updater program (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”.
In regards to claim 6, Amundsen teaches:
an application programming interface (API) communicatively coupled to the controller and configured to receive the image of the updated operating system from an image generation pipeline (p. 3, [0041]), “instructions in the second portion may use an application programming interface (API) provided by the first portion to instruct the first portion to write the replacement second-stage bootloader directly to whichever of the first and second second-stage bootloader regions is not the active region. This API may be made available to the second portion using an Arm™ TrustZone™ non-secure callable (NSC) region. This can provide a secure way to enable the application to write to the second-stage bootloader regions”.
In regards to claim 16, Amundsen teaches:
A system, comprising: a server (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
boot the operating system (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
receive, from the server, a plurality of portions of an updated operating system image (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
install each portion of the plurality of portions on a hard drive of the controller (p. 3, [0045]), see “the first-stage bootloader region, first second-stage bootloader region, second second-stage bootloader region, and application region (and update working region, where present) may be distinct, non-overlapping regions of the memory. Each region may span a respective contiguous address space, although this is not essential and one or more of the regions may be divided into a plurality of disjoint sub-regions”.
Amundsen doesn’t explicitly teach:
a number of mobile surveillance units, each mobile surveillance unit of the number comprising: a trailer; a mast coupled to the trailer; a head unit coupled to the mast and comprising a controller having an operating system stored thereon.
However, Phillips teaches such use: (p. 1, [0011]), see “FIG. 1 illustrates an example of a command-center server, a site master-controller, an a mobile surveillance unit in accordance with some embodiments” and (p. 2, [0063]), see “as shown in the figures, in some embodiments, the mobile surveillance unit 11 may include a trailer 200, solar panels 202, a power supply 204, a mast 206, cameras 208, and in antenna 210 connected to a cellular modem or a wireless router in the container for the power supply 204”. Such mobile surveillance unit 11 is very much the same such a mobile surveillance unit.
the controller communicatively coupled to the server via a cellular communication network.
However, Phillips teaches such use: (p. 7, [0062]), see “in some cases, mobile surveillance units may integrate with data connections of site master controllers 18 physically at the same site, for example, via a local area network connected a cellular network to the Internet and to the command-center server 14”. Such command-center server is very much the same as such a cloud server.
Amundsen and Phillips are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Phillips before him or her, to modify the system of Amundsen to include the teachings of Phillips, as a system for a mobile surveillance unit, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to integrate a surveillance system into other sources of information, as suggested by Phillips (p. 1, [0011], p. 11, [0089]).
In regards to claim 17, Amundsen teaches:
an application programming interface (API) communicatively coupled to the controller and configured to receive the updated operating system image from an image generation pipeline (p. 3, [0041]), “instructions in the second portion may use an application programming interface (API) provided by the first portion to instruct the first portion to write the replacement second-stage bootloader directly to whichever of the first and second second-stage bootloader regions is not the active region. This API may be made available to the second portion using an Arm™ TrustZone™ non-secure callable (NSC) region. This can provide a secure way to enable the application to write to the second-stage bootloader regions”.
In regards to claim 18, Amundsen teaches:
the controller is configured to receive, from the API, information regarding the updated operating system image prior to receipt of the plurality of portions of the updated operating system image (p. 3, [0041]), “instructions in the second portion may use an application programming interface (API) provided by the first portion to instruct the first portion to write the replacement second-stage bootloader directly to whichever of the first and second second-stage bootloader regions is not the active region. This API may be made available to the second portion using an Arm™ TrustZone™ non-secure callable (NSC) region. This can provide a secure way to enable the application to write to the second-stage bootloader regions”.
In regards to claim 19, Amundsen teaches:
receive one or more bootloader files (p. 6, [0113]), see “in a first stage 101, the update process is initiated by the application 29, which controls the radio modem 15 to download a replacement second-stage bootloader 27 which it writes directly to the update working region 49, which is a reserved update bank of flash”.
execute at least one bootloader file of the one or more bootloader files to install a bootloader to enable an updated operating system to be installed on the controller (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”.
In regards to claim 20, Amundsen teaches:
the controller is configured to receive the plurality of portions sequentially, one at a time (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
In regards to claim 22, Amundsen teaches:
A system, comprising (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
the device configured to convey at least one bootloader file to the controller (p. 6, [0113]), see “in a first stage 101, the update process is initiated by the application 29, which controls the radio modem 15 to download a replacement second-stage bootloader 27 which it writes directly to the update working region 49, which is a reserved update bank of flash”. Such bootloader 27 is very much the same as such bootloader file.
the controller is configured to execute the at least one bootloader file to install a bootloader to enable an updated operating system to be installed on the controller (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”.
Amundsen doesn’t explicitly teach:
a mobile surveillance unit including a controller with an operating system installed thereon.
However, Phillips teaches such use: (p. 1, [0011]), see “FIG. 1 illustrates an example of a command-center server, a site master-controller, an a mobile surveillance unit in accordance with some embodiments” and (p. 2, [0063]), see “as shown in the figures, in some embodiments, the mobile surveillance unit 11 may include a trailer 200, solar panels 202, a power supply 204, a mast 206, cameras 208, and in antenna 210 connected to a cellular modem or a wireless router in the container for the power supply 204”. Such mobile surveillance unit 11 is very much the same such a mobile surveillance unit.
a device remote from the mobile surveillance unit and communicatively coupled to the controller via a cellular communication network.
However, Phillips teaches such use: (p. 2, [0018]), see “as explained in greater detail below, the control system 12 of this embodiment includes a plurality of mobile surveillance units 11 (or “MSUs,” described below with reference to FIGS. 3-6), a command-center server 14 and site master-controllers 16 (specifically, in this example, three such site master-controllers 18, 20, and 22) that cooperate to facilitate remote control at a fluid-handling site 24 from user devices 26 or 28 via the Internet 30” and (p. 7, [0062]), see “in some cases, mobile surveillance units may integrate with data connections of site master controllers 18 physically at the same site, for example, via a local area network connected a cellular network to the Internet and to the command-center server 14”. Such user device connected to mobile surveillance unit connected via a cellular network is very much the same as such remote device.
Amundsen and Phillips are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Phillips before him or her, to modify the system of Amundsen to include the teachings of Phillips, as a system for a mobile surveillance unit, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to integrate a surveillance system into other sources of information, as suggested by Phillips (p. 1, [0011], p. 11, [0089]).
In regards to claim 23, Amundsen teaches:
an application to install the bootloader (p. 6, [0113]), see “in a first stage 101, the update process is initiated by the application 29, which controls the radio modem 15 to download a replacement second-stage bootloader 27 which it writes directly to the update working region 49, which is a reserved update bank of flash”.
Amundsen doesn’t explicitly teach:
the at least one bootloader file comprises an environment image.
However, Phillips teaches such use: (p. 5, [0046], “in another example, the command translator 78 may be operative to determine whether a command corresponds to a particular voltage or current on an individual instance of the control bus 64. For example, a command to dislodge a stuck valve may be translated by the command translator 78 into a sequence of on and off signals conveyed via a high and low voltage on an individual wire corresponding to bus 64”.
Amundsen and Phillips are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Phillips before him or her, to modify the system of Amundsen to include the teachings of Phillips, as a system for a mobile surveillance unit, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to integrate a surveillance system into other sources of information, as suggested by Phillips (p. 1, [0011], p. 11, [0089]).
In regards to claim 27, Amundsen teaches:
A method of updating an operating system of a mobile device, the method comprising (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
executing at least one bootloader file of the one or more bootloader files to install a bootloader on the controller of the mobile device (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”.
receiving, at the mobile device and via a cellular communication network, a plurality of portions of an image of an updated operating system (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
installing each portion of the image of the plurality of portions on the controller (p. 3, [0045]), see “the first-stage bootloader region, first second-stage bootloader region, second second-stage bootloader region, and application region (and update working region, where present) may be distinct, non-overlapping regions of the memory. Each region may span a respective contiguous address space, although this is not essential and one or more of the regions may be divided into a plurality of disjoint sub-regions”.
Amundsen doesn’t explicitly teach:
conveying, via a cellular communication network, one or more bootloader files to a controller of the mobile device.
However, Phillips teaches such use: (p. 2, [0018]), see “as explained in greater detail below, the control system 12 of this embodiment includes a plurality of mobile surveillance units 11 (or “MSUs,” described below with reference to FIGS. 3-6), a command-center server 14 and site master-controllers 16 (specifically, in this example, three such site master-controllers 18, 20, and 22) that cooperate to facilitate remote control at a fluid-handling site 24 from user devices 26 or 28 via the Internet 30” and (p. 7, [0062]), see “in some cases, mobile surveillance units may integrate with data connections of site master controllers 18 physically at the same site, for example, via a local area network connected a cellular network to the Internet and to the command-center server 14”. Such user device connected to mobile surveillance unit connected via a cellular network is very much the same as such remote device.
Amundsen and Phillips are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Phillips before him or her, to modify the system of Amundsen to include the teachings of Phillips, as a system for a mobile surveillance unit, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to integrate a surveillance system into other sources of information, as suggested by Phillips (p. 1, [0011), p. 11, [0089]).
In regards to claim 28, Amundsen teaches:
receiving the plurality of portions comprises receiving, sequentially, each portion of the image of the plurality of portions of the image of the updated operating system (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
In regards to claim 29, Amundsen teaches:
booting the controller after installing the bootloader and prior to receiving the plurality of portions of the image of the operating system (p. 3, [0046]), see "the first-stage bootloader may detect the replacement second-stage bootloader in any appropriate way. In some embodiments, the active second-stage bootloader or an application in the application region may signal to the first-stage bootloader that the replacement second-stage bootloader has been written—e.g. by writing a flag to a predetermined memory address which the first-stage bootloader may read when the microcontroller is next reset (booted). In some embodiments" and (p. 4, [0052]), see "the second-stage bootloader or the active application may comprise instructions for writing the replacement application image to the memory. In some embodiments, the second-stage bootloader may write the replacement application image to the application region—e.g. overwriting the active application".
In regards to claim 30, Amundsen teaches:
determining, based on a comparison of an assigned operating system image for the controller and a current operating system image for the controller, that the updated operating system should be installed on the controller (p. 4, [0052]), see “in other embodiments, the replacement application image may be written to another region of memory, which may be the aforementioned update working region. The second-stage bootloader may comprise instructions for determining which of the update working region and the application region contains a newer application image, and for transferring execution to the newer application image when the microcontroller is reset” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”.
Claim Rejections - 35 USC § 102
6. 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.
7. Claims 7-12 and 15 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Amundsen et al., US 20220342657 (hereinafter Amundsen).
In regards to claim 7, Amundsen teaches:
A method of updating an operating system of a mobile unit, comprising: (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
booting an operating system of a controller of a mobile unit (p. 1 [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)” (emphasis added). Such updating application which may include a -real-time operating system is very much the same as updating an operating system.
downloading, individually and via a cellular communication network, a plurality of portions of an image of updated operating system to the controller (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
installing each portion of the plurality of portions on a hard drive of the controller (p. 3, [0045]), see “the first-stage bootloader region, first second-stage bootloader region, second second-stage bootloader region, and application region (and update working region, where present) may be distinct, non-overlapping regions of the memory. Each region may span a respective contiguous address space, although this is not essential and one or more of the regions may be divided into a plurality of disjoint sub-regions”.
In regards to claim 8, Amundsen teaches:
installing a bootloader on the controller after booting the operating system (p. 6, [0114-0117]), see “once the replacement second-stage bootloader 27 has been downloaded, and the application 29 determines that the update should take place (which may be scheduled some time after the downloading), in a second stage 103, the application 29 sets a flag, in a predetermined address in the update working region 49, to indicate that the update should proceed. It then resets the microcontroller 2. Upon booting, in a third stage 105, the active second-stage bootloader 27 will copy the image of the replacement second-stage bootloader 27 from the update working region 49 to whichever of the Region B1 slots 0, 1 does not contain the active second-stage bootloader 27. Once the update has been copied to the other second- stage bootloader slot 43, 45, in a fourth stage 107, the active second-stage bootloader 27 causes the microcontroller 2 to reset again. Upon booting, in a fifth stage 109, the first-stage bootloader 25 detects that the inactive second- stage bootloader slot 43, 45 contains a newer version of the second-stage bootloader 27, and executes the replacement second-stage bootloader 27 from then on”.
In regards to claim 9, Amundsen teaches:
downloading comprises downloading the plurality of portions from a cloud server (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
In regards to claim 10, Amundsen teaches:
determining if the operating system should be updated based on a comparison of an assigned operating system image for the controller and a current operating system image for the controller (p. 4, [0052]), see “in other embodiments, the replacement application image may be written to another region of memory, which may be the aforementioned update working region. The second-stage bootloader may comprise instructions for determining which of the update working region and the application region contains a newer application image, and for transferring execution to the newer application image when the microcontroller is reset” and (p. 5, [0082]), see “in some embodiments, the applications may include a real-time operating system (RTOS)”.
In regards to claim 11, Amundsen teaches:
the downloading the plurality of portions of the image of the updated operating system comprises downloading, in response the determining that the operating system should be updated, the plurality of portions of the image of the updated operating system (p. 3, [0041]), see “the application may comprise a first portion and a second portion, the first portion being configured as secure (e.g. being arranged to be executed by the processor in a secure state) and the second portion being configured as non-secure (e.g. being arranged to be executed by the processor in a non-secure state)” and (p. 1, [0005]), see “some bootloaders also provide functions for updating software on the microcontroller, e.g. after the device has been deployed. When the microcontroller includes a radio modem, the bootloader may, for example, include instructions for controlling the radio to receive an updated application software and for installing the application on the microcontroller”. Such first and second portion is very much the same as such sequentially portions.
In regards to claim 12, Amundsen teaches:
creating a number of partitions and a file system on the hard drive prior to installing (p. 7, [0126]), see “in order to provide greater security in such variant embodiments, the variant application 29′ may be divided into a secure part and a non-secure part. A first “Secure Partition Manager” (SPM) part of the application may be “secure”, and enforce the configuration of the system protection unit 13. A second part of the application may be “non-secure” and contain the rest of the logic of the application. By leveraging a functionality called “non-secure-callable regions” provided by Arm™ TrustZone™, an application programming interface (API) can be exposed from the SPM part to the non-secure part of the application 29′, allowing the non-secure part to perform “secure-only” operations, while being supervised by the SPM. One function provided to the non-secure part of the application 29′ may be the capability to write to the inactive second stage bootloader slot 43, 45. The application 29′ may use this function to write a downloaded replacement second-stage bootloader 27 directly to an inactive second- stage bootloader slot 43, 45”.
In regards to claim 15, Amundsen teaches:
launching an operating system updater program after booting the operating system and prior to downloading the plurality of portions (p. 3, [0046]), see "the first-stage bootloader may detect the replacement second-stage bootloader in any appropriate way. In some embodiments, the active second-stage bootloader or an application in the application region may signal to the first-stage bootloader that the replacement second-stage bootloader has been written—e.g. by writing a flag to a predetermined memory address which the first-stage bootloader may read when the microcontroller is next reset (booted). In some embodiments" and (p. 4, [0052]), see "the second-stage bootloader or the active application may comprise instructions for writing the replacement application image to the memory. In some embodiments, the second-stage bootloader may write the replacement application image to the application region—e.g. overwriting the active application".
8. Claims 2 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Amundsen in view of Phillips in view of Day et al., US Patent No. 12,143,502 (hereinafter Day).
In regards to claims 1 and 16 the rejections above are incorporated respectively.
In regards to claim 2, Amundsen and Phillips, in particular Amundsen doesn’t explicitly teach:
the cloud server is configured to receive the image of the updated operating system from an image generation pipeline.
However, Day teaches such use: (column 2, lines 57-67), see “tasks such as simulations, builds, and others may use large data sets, and a data set may be written once and read many times. For example, a SquashFS build image may be written once and used many times by a variety of worker nodes. When a SquashFS image is updated, a relatively small portion of the data may be changed... Thus, updated file system images may need to be uploaded to a server, or downloaded from a server. Throughout this specification, downloads are used as an example of data transfers. However, the chunkwise data transfer teachings of the present specification may be similarly be used for uploading data”.
Amundsen, Phillips and Day are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen, Phillips and Day before him or her, to modify the system of Amundsen and Phillips , in particular Amundsen to include the teachings of Day, as a system for data transfer, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to utilize chunks for data transfers, as suggested by Day (column 2, lines 57-67, column 20, lines 12-19).
In regards to claim 21, Amundsen and Phillips, in particular Amundsen doesn’t explicitly teach:
an image generation pipeline configured to convey the updated operating system image to the server.
However, Day teaches such use: (column 2, lines 57-67), see “tasks such as simulations, builds, and others may use large data sets, and a data set may be written once and read many times. For example, a SquashFS build image may be written once and used many times by a variety of worker nodes. When a SquashFS image is updated, a relatively small portion of the data may be changed... Thus, updated file system images may need to be uploaded to a server, or downloaded from a server. Throughout this specification, downloads are used as an example of data transfers. However, the chunkwise data transfer teachings of the present specification may be similarly be used for uploading data”.
Amundsen, Phillips and Day are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen, Phillips and Day before him or her, to modify the system of Amundsen and Phillips , in particular Amundsen to include the teachings of Day, as a system for data transfer, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to utilize chunks for data transfers, as suggested by Day (column 2, lines 57-67, column 20, lines 12-19).
9. Claims 13 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Amundsen et al., US 20220342657 (hereinafter Amundsen) in view of Marino et al., US Patent No. 8402109 (hereinafter Marino).
In regards to claims 7 and 12 the rejections above are incorporated accordingly.
In regards to claim 13, Amundsen doesn’t explicitly teach:
downloading comprises downloading a number of compressed tarball chunks, wherein installing comprises unpacking the downloaded compressed tarball chunks into the file system.
However, Marino teaches such use: (column 13, lines 22-29), see “in some embodiments, the router upgrade includes software generally, as opposed to firmware alone. The upgrade software can be stored on a disk local to the router, e.g., in compressed or archive format such as tar or gz format. After extracting the software, setting/checking permissions, and applying the upgrade, the router continues (sometimes without rebooting) providing services to the user client).
Amundsen and Marino are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Marino before him or her, to modify the system of Amundsen to include the teachings of Marino, as a system for wireless remote firmware upgrade, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to utilize chunks and re-ordering for firmware upgrades, as suggested by Marino (column 13, lines 22-29, column 24, lines 34-47).
In regards to claim 14, Amundsen doesn’t explicitly teach:
installing comprises unpacking each portion of the downloaded plurality of portions into an associated file system.
However, Marino teaches such use: (column 13, lines 22-29), see “in some embodiments, the router upgrade includes software generally, as opposed to firmware alone. The upgrade software can be stored on a disk local to the router, e.g., in compressed or archive format such as tar or gz format. After extracting the software, setting/checking permissions, and applying the upgrade, the router continues (sometimes without rebooting) providing services to the user client).
Amundsen and Marino are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen and Marino before him or her, to modify the system of Amundsen to include the teachings of Marino, as a system for wireless remote firmware upgrade, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to utilize chunks and re-ordering for firmware upgrades, as suggested by Marino (column 13, lines 22-29, column 24, lines 34-47).
10. Claims 24 and 25 are rejected under 35 U.S.C. 103 as being unpatentable over Amundsen in view of Phillips in view of Feng et al., CN 115934136 A (hereinafter Feng).
In regards to claims 22 and 23 the rejections above are incorporated accordingly.
In regards to claim 24, Amundsen and Phillips, in particular Amundsen doesn’t explicitly teach:
after installation of the bootloader and the updated operating system, the controller includes: the bootloader including a boot partition, a root partition, and a settings partition; and the updated operating system including a boot partition and a root partition.
However, Feng teaches such use: (p. 10, para. 15), see "all embedded devices or handheld devices based on the linux operating system, pc-side notebooks, and the linux operating system installed on the company's background server can adopt this partition and directory combination scheme. Take the company's background linux server as an example. When the system is installed In the future, there will be two systems of partition A and partition B, and system A and system B are set as read-only partitions. When users write data, they will write data to the data partition. If you are currently using system A, then in normal use it is a combination of boot partition, A partition and data partition, and B partition is a free partition. When upgrading, the system will update B partition without affecting the existing partition. For the use of partitions, after the upgrade is completed, restart the system and it will automatically switch to the B system. At this time, the application combination is the boot partition, B partition and data partition, and the A partition is unavailable. In this state, even if the upgrade fails, there is still a system available, and the upgrade process will not cause user interruption, and the upgrade is performed in the background" and (p. 11, para. 16), see “and install the user-defined configuration on the data partition”.
Amundsen, Phillips and Feng are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen, Phillips and Feng before him or her, to modify the system of Amundsen and Phillips , in particular Amundsen to include the teachings of Feng, as a system for multi-region upgrading, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to prevent data loss during upgrading, as suggested by Feng (p. 10, para. 15, p. 15, last para.).
In regards to claim 25, Amundsen and Phillips, in particular Amundsen doesn’t explicitly teach:
prior to installation of the bootloader, the controller includes: a boot partition; a system read only partition; a system read write partition; and at least one data partition.
However, Feng teaches such use: (p. 10, para. 15), see "all embedded devices or handheld devices based on the linux operating system, pc-side notebooks, and the linux operating system installed on the company's background server can adopt this partition and directory combination scheme. Take the company's background linux server as an example. When the system is installed In the future, there will be two systems of partition A and partition B, and system A and system B are set as read-only partitions. When users write data, they will write data to the data partition. If you are currently using system A, then in normal use it is a combination of boot partition, A partition and data partition, and B partition is a free partition. When upgrading, the system will update B partition without affecting the existing partition. For the use of partitions, after the upgrade is completed, restart the system and it will automatically switch to the B system. At this time, the application combination is the boot partition, B partition and data partition, and the A partition is unavailable. In this state, even if the upgrade fails, there is still a system available, and the upgrade process will not cause user interruption, and the upgrade is performed in the background".
Amundsen, Phillips and Feng are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen, Phillips and Feng before him or her, to modify the system of Amundsen and Phillips , in particular Amundsen to include the teachings of Feng, as a system for multi-region upgrading, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to prevent data loss during upgrading, as suggested by Feng (p. 10, para. 15, p. 15, last para.).
11. Claim 26 is rejected under 35 U.S.C. 103 as being unpatentable over Amundsen in view of Phillips in view of Feng in view of Walton US Patent No. 9,563,418.
In regards to claims 22, 23, 24 and 25 the rejections above are incorporated accordingly.
In regards to claim 26, Amundsen and Phillips, in particular Amundsen doesn’t explicitly teach:
after installation of the bootloader and the updated operating system, the controller includes: a bootloader boot partition; a bootloader root partition; a settings partition.
However, Feng teaches such use: (p. 10, para. 15), see "all embedded devices or handheld devices based on the linux operating system, pc-side notebooks, and the linux operating system installed on the company's background server can adopt this partition and directory combination scheme. Take the company's background linux server as an example. When the system is installed In the future, there will be two systems of partition A and partition B, and system A and system B are set as read-only partitions. When users write data, they will write data to the data partition. If you are currently using system A, then in normal use it is a combination of boot partition, A partition and data partition, and B partition is a free partition. When upgrading, the system will update B partition without affecting the existing partition. For the use of partitions, after the upgrade is completed, restart the system and it will automatically switch to the B system. At this time, the application combination is the boot partition, B partition and data partition, and the A partition is unavailable. In this state, even if the upgrade fails, there is still a system available, and the upgrade process will not cause user interruption, and the upgrade is performed in the background" and (p. 11, para. 16), see “and install the user-defined configuration on the data partition”.
Amundsen, Phillips and Feng are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen, Phillips and Feng before him or her, to modify the system of Amundsen and Phillips , in particular Amundsen to include the teachings of Feng, as a system for multi-region upgrading, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to prevent data loss during upgrading, as suggested by Feng (p. 10, para. 15, p. 15, last para.).
Amundsen, Phillips and Feng, in particular Amundsen doesn’t explicitly teach:
an extended partition including a boot partition, a root partition, and a data partition.
However, Walton teaches such use: (column 16, claim 1), see “a method of operating a software update system for updating software on a communication endpoint, the method comprising: providing a data storage device on the communication endpoint including a boot loader partition comprising a boot loader, a boot loader settings partition comprising boot loader settings, a first combo image partition comprising a combo image, a second combo image partition comprising a copy of the combo image, and an extended partition configured to serve as a storage placeholder in case more data storage space is needed, wherein the combo image includes at least a secondary boot loader, a root file system, and an operating system kernel”.
Amundsen, Phillips, Feng and Walton are analogous art because they are from the same field of endeavor, software upgrading.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Amundsen, Phillips, Feng and Walton before him or her, to modify the system of Amundsen, Phillips and Feng, in particular Amundsen to include the teachings of Walton, as a system for communication endpoints with software update servers, and accordingly it would enhance the system of Amundsen, which is focused on bootloader updating, because that would provide Amundsen with the ability to work out issues arising from confusion between multiple different versions of the same software, as suggested by Walton (column 16, claim 1, column lines 54-67).
Conclusion
12. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US Patent Application Publications
Liverance 10110594 teaches a header section of a package may be downloaded from a server. The header section may be analyzed to determine if a data section of the package is secure and a correct version. The data section of the package is downloaded, if the data section is secure and the correct version.
Brady 20060031748 teaches an in-flight entertainment system is shown wherein digital content servers are interconnected with network servers such that the content servers can communicate with one another and with a portable data loader. The loader stores digital content files that are to be downloaded to the content servers. A script downloaded to each content server is executed by the server to download some of the files from the portable data loader and cross-load other files from other content servers. Alternatively, a content inventory list is downloaded to each content server that indicates which content server is to download each content file and which content servers are to receive the content file. Each content server parses the list to identify files for which it is the download server, request download of those files, identify other files that it should have and request cross-load of those files from other content servers.
13. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Evral Bodden whose telephone number is 571-272-3455. The examiner can normally be reached on Monday to Friday from 9am to 5pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Cha Do, can be reached at telephone number 571-272-3721. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
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) Form at https://www.uspto.gov/patents/uspto-automatedinterview-request-air-form.
If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/EVRAL E BODDEN/Primary Examiner, Art Unit 2193