DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 06/27/2024, 12/17/2024, 02/23/2026, and 06/09/2026 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 17 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because the claim states “A computer-readable recording medium” however neither the claim nor the specification states that the computer-readable recording medium is non-transitory, thus the claimed subject matter could fall under transitory signals.
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.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-2, 7-8, and 17-18 are rejected under 35 U.S.C. 102(a)(1) and 35 U.S.C. 102(a)(2) as being anticipated by Chavez (US 10,037,203).
Regarding claim 1, Chavez teaches a device (Fig. 2, Controller 210; Col. 7, Lines 25-27, FIG. 2, an ICS 200 is presented, wherein a single controller 210 is in communication with the process 120, and the device 125) comprising: hardware configured to transmit process data to an upper system (Fig. 2, Proxy 250 (i.e. hardware) transmits data 148/180 to process 120 (i.e. an upper system); Col. 2, Lines 26-28, a proxy component (e.g., hardware or software) enables operational data to be provided to both the first software and the second software… Col. 4, Lines 56-59, while only a single device 125 is illustrated in the process 120, the process 120 can include a plurality of devices being controlled (and/or monitored) by the first controller 110… Col. 7, Lines 53-55, data and any operational commands are communicated between the first software 230 and the device 125); a storage unit (Fig. 2, Memory 238) that stores first software that runs to cause the hardware to transmit the process data to the upper system (Fig. 2, First software 230 that transmits process data 148 to process 120 (i.e. upper system); Col. 7, Lines 32-33, first software 230 (e.g., the first software 130) installed thereon (e.g., in a memory 238)) and second software that runs to cause the hardware to transmit the process data to the upper system (Fig. 2, Second software 270 that transmits process data 180 to process 120 (i.e. upper system); Col. 7, Lines 59-60, a second software 270 can be installed on the controller 210 (e.g., in memory 238)… Col. 8, Lines 6-8, data and any operational commands are communicated between the first software 230, the second software 270, and the device 125); and a switch unit (Fig. 2, Switch 273) that switches software in operation from the first software to the second software (Fig. 2, Switch 273 switches between first software 230 and second software 270), wherein the switch unit switches the software in operation from the first software to the second software after a given process based on the second software is executed while the first software is being in operation (Fig. 2, When first software 230 is being updated, second software 270 is switched to for execution; Col. 8, Lines 5-14, switch 273 transitions to a dual state of operation such that data and any operational commands are communicated between the first software 230, the second software 270, and the device 125. The mirrored operation of the second software 270 with the first software 230, enables the second software 270 to operate in lock step with the first software 230, such that the first software 230 and the second software 270 have a same level of knowledge regarding operation of the device 125. The parallel phase operation can continue for a duration).
Regarding claim 2, Chavez teaches the device of claim 1. Chavez teaches the device comprising wherein the switch unit switches the software in operation from the first software to the second software in response to an instruction from the upper system (Figs. 1 and 2, Same embodiment, switch causes first software to switch to second software in response to update 171 from upper system; Col. 5, Lines 21-24, an instruction (e.g., instruction 148) between the device 125, the first controller 110, and any additional controllers that may be utilized to perform the real-time software update… Col. 5, Lines 58-62, update signal 171 can be received at an update manager component 172, wherein the update manager component 172 can be configured to initiate the switch from the first software 130 controlling the device 125 to the second software 170 taking over control of the device 125).
Regarding claim 7, Chavez teaches the device of claim 1. Chavez teaches the device comprising wherein the given process includes an initialization process for initializing the hardware in the second software (Fig. 1, Update signal 171 initializes the switch 173 of the proxy 150 to use the second software 170; Col. 5, Lines 57-62, The update signal 171 can be received at an update manager component 172, wherein the update manager component 172 can be configured to initiate the switch from the first software 130 controlling the device 125 to the second software 170 taking over control of the device 125).
Regarding claim 8, Chavez teaches the device of claim 1. Chavez teaches the device comprising wherein the process data includes process data on a plant (Figs. 1 and 2, Process 120 is an industrial plant and the data 148 and 180 is industrial data; Col. 4, Lines 30-36, the second software has obtained enough operational data for the second software to have sufficient knowledge of the industrial process (e.g., a desired portion of operations performed by the second software has executed), control of the industrial process can be transferred (dynamically updated, dynamically redirected, migrated) to the second software).
Regarding claim 17, Chavez teaches a computer-readable recording medium on which a software switch program is recorded (Fig. 2, Controller 210 includes software instructions stored on a medium that manages the switch 273; Col. 7, Lines 25-27, FIG. 2, an ICS 200 is presented, wherein a single controller 210 is in communication with the process 120, and the device 125… Col. 15, Lines 24-26, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium), the program causes a processor to execute a process of switching software in operation from first software to second software in a device (Fig. 2, Controller 210 is a processor) including: hardware configured to transmit process data to an upper system (Fig. 2, Proxy 250 (i.e. hardware) transmits data 148/180 to process 120 (i.e. an upper system); Col. 2, Lines 26-28, a proxy component (e.g., hardware or software) enables operational data to be provided to both the first software and the second software… Col. 4, Lines 56-59, while only a single device 125 is illustrated in the process 120, the process 120 can include a plurality of devices being controlled (and/or monitored) by the first controller 110… Col. 7, Lines 53-55, data and any operational commands are communicated between the first software 230 and the device 125); a storage unit (Fig. 2, Memory 238) that stores first software that runs to cause the hardware to transmit the process data to the upper system (Fig. 2, First software 230 that transmits process data 148 to process 120 (i.e. upper system); Col. 7, Lines 32-33, first software 230 (e.g., the first software 130) installed thereon (e.g., in a memory 238)) and the second software that runs to cause the hardware to transmit the process data to the upper system (Fig. 2, Second software 270 that transmits process data 180 to process 120 (i.e. upper system); Col. 7, Lines 59-60, a second software 270 can be installed on the controller 210 (e.g., in memory 238)… Col. 8, Lines 6-8, data and any operational commands are communicated between the first software 230, the second software 270, and the device 125); wherein the process includes switching the software in operation from the first software to the second software (Fig. 2, Switch 273 switches between first software 230 and second software 270) after a given process based on the second software is executed while the first software is being in operation (Fig. 2, When first software 230 is being updated, second software 270 is switched to for execution; Col. 8, Lines 5-14, switch 273 transitions to a dual state of operation such that data and any operational commands are communicated between the first software 230, the second software 270, and the device 125. The mirrored operation of the second software 270 with the first software 230, enables the second software 270 to operate in lock step with the first software 230, such that the first software 230 and the second software 270 have a same level of knowledge regarding operation of the device 125. The parallel phase operation can continue for a duration).
Regarding claim 18, Chavez teaches a software switch method comprising switching software in operation from first software to second software in a device (Fig. 2, Controller 210 (i.e. device) includes software instructions stored on a medium that manages the switch 273; Col. 7, Lines 25-27, FIG. 2, an ICS 200 is presented, wherein a single controller 210 is in communication with the process 120, and the device 125… Col. 15, Lines 24-26, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium) including: hardware configured to transmit process data to an upper system (Fig. 2, Proxy 250 (i.e. hardware) transmits data 148/180 to process 120 (i.e. an upper system); Col. 2, Lines 26-28, a proxy component (e.g., hardware or software) enables operational data to be provided to both the first software and the second software… Col. 4, Lines 56-59, while only a single device 125 is illustrated in the process 120, the process 120 can include a plurality of devices being controlled (and/or monitored) by the first controller 110… Col. 7, Lines 53-55, data and any operational commands are communicated between the first software 230 and the device 125); a storage unit (Fig. 2, Memory 238) that stores first software that runs to cause the hardware to transmit the process data to the upper system (Fig. 2, First software 230 that transmits process data 148 to process 120 (i.e. upper system); Col. 7, Lines 32-33, first software 230 (e.g., the first software 130) installed thereon (e.g., in a memory 238)) and second software that runs to cause the hardware to transmit the process data to the upper system (Fig. 2, Second software 270 that transmits process data 180 to process 120 (i.e. upper system); Col. 7, Lines 59-60, a second software 270 can be installed on the controller 210 (e.g., in memory 238)… Col. 8, Lines 6-8, data and any operational commands are communicated between the first software 230, the second software 270, and the device 125); wherein the switching includes switching the software in operation from the first software to the second software (Fig. 2, Switch 273 switches between first software 230 and second software 270) after a given process based on the second software is executed while the first software is being in operation (Fig. 2, When first software 230 is being updated, second software 270 is switched to for execution; Col. 8, Lines 5-14, switch 273 transitions to a dual state of operation such that data and any operational commands are communicated between the first software 230, the second software 270, and the device 125. The mirrored operation of the second software 270 with the first software 230, enables the second software 270 to operate in lock step with the first software 230, such that the first software 230 and the second software 270 have a same level of knowledge regarding operation of the device 125. The parallel phase operation can continue for a duration).
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.
Claims 3-5 are rejected under 35 U.S.C. 103 as being unpatentable over Chavez (US 10,037,203) in view of Paramasivan (US 2022/0357941).
Regarding claim 3, Chavez teaches the device of claim 1. Chavez teaches the device comprising wherein the storage unit stores a first database that the first software refers to (Fig. 1, First memory 138 with first software 130) and a second database that the second software refers to (Fig. 1, Second memory 178 with second software 170), the switch unit switches the software in operation from the first software to the second software (Fig. 1, Switch 173 switches between first software 130 and second software 170).
Chavez does not teach the device comprising after copying data in the first database to the second database, the switch unit switches the software in operation from the first software to the second software.
Paramasivan teaches the device comprising after copying data in the first database to the second database (Fig. 1, Data is copied from primary server 140 to secondary server 150; Paragraph 0060, While replication is enabled, transactions on primary server 140 can be transmitted to replica server 150 for execution on replica server 150, so that replica server 150 can maintain a state of database instance 130 that matches the database state managed by primary server 140), the switch unit switches the software in operation from the first software to the second software (Fig. 5, Central server 520 switches between primary server 540 and replica server 550 via switch 525; Paragraph 0086, Primary database server 540 can also be coupled to replica server 550, which can maintain a replica of database 535; a central server 520, which can provide support or administrative services to primary database server 540 and optionally other database servers 570).
Chavez and Paramasivan are analogous arts because they are in the same field of endeavor of utilizing first and second copies of software and/or data in a database system.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Chavez’s device to incorporate the teachings of Paramasivan and include a redundant database to store copied software data that can be switched to.
One of ordinary skill in the art would be motivated to make the modifications in order to enhance the redundancy of the system, thus preventing disruptions due to system malfunctions and/or system updates (See Paramasivan: Paragraphs 0001 and 0010).
Regarding claim 4, Chavez in view of Paramasivan teaches the device of claim 3. Chavez teaches the device comprising wherein the data of the first database that is copied by the switch unit to the second database includes data on control on communication between the hardware and the upper system (Fig. 1, Second software 170 in second database 160 is capable of communicating between hardware 150 and upper system 120; Col. 6, Lines 14-18, By mirroring operation of the first software 130, the second software 170 can operate in lock step with the first software 130, such that the second software 170 has a same level of knowledge regarding operation of the device 125 as the first software 130 has).
Regarding claim 5, Chavez in view of Paramasivan teaches the device of claim 3. Chavez teaches the device comprising wherein the first software in operation generates the process data, and the data of the first database that the switch unit copies to the second database contains process data that is generated by the first software (Fig. 1, First software 130 comprises process data 148 that is the same as process data 140B of the second database; Col. 6, Lines 1-5, During the parallel phase operation, the first software 130 is currently still controlling the device 125, e.g., with instruction 148, while the second software 170 receives the copy 140B of the operational data along with the instruction 148 generated by the first software 130).
Claims 13-14 are rejected under 35 U.S.C. 103 as being unpatentable over Chavez (US 10,037,203) in view of An (US 2018/0260351).
Regarding claim 13, Chavez teaches the device of claim 1. Chavez does not teach the device comprising wherein, instead of the hardware, the switch unit makes a response to an access from the second software that is executing the given process to the hardware.
An teaches the device comprising wherein, instead of the hardware (Fig. 2, Hardware 214), the switch unit (Fig. 2, Virtual USB peripheral controller 215 (i.e. switches between VM’s 220) within user 211) makes a response to an access from the second software (Fig. 2, Virtual machines include a second virtual machine that is software) that is executing the given process to the hardware (Fig. 2, Virtual USB peripheral controller 215 intercepts requests from VM and responds to the requests instead of hardware 214; Paragraph 0012, Virtual USB peripheral controller 215 is configured to intercept all USB related requests from virtual machines 220 and respond to these USB related requests back to virtual machines 220. Therefore, the USB relates requests from virtual machines 220 do not reach kernel space 213 and hardware 214 of physical server 220).
Chavez and An are analogous arts because they are in the same field of endeavor of emulating software in device controller systems
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Chavez’s device to incorporate the teachings of An and enable the switch to virtually emulate the hardware.
One of ordinary skill in the art would be motivated to make the modifications in order to provide hardware virtualization, thus allowing peripherals to be shared amongst a plurality of virtualized users and clients (See An: Paragraphs 0001 and 0011).
Regarding claim 14, Chavez in view of An teaches the device of claim 13.
An teaches the device comprising wherein the switch unit makes a response to an access from the second software that is executing the given process to the hardware such that no error is caused in the given process (Fig. 2, Virtual USB peripheral controller 215 provides responses to prevent errors from occurring; Paragraph 0036, virtual USB peripheral controller may be configured to emulate isochronous data transfer mode. Isochronous data transfer is usually used to stream data that is time-critical and error-tolerant).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Chavez’s device to incorporate the teachings of An and enable the switch to virtually emulate the hardware for error tolerance.
One of ordinary skill in the art would be motivated to make the modifications in order to provide hardware virtualization, thus allowing peripherals to be shared amongst a plurality of virtualized users and clients (See An: Paragraphs 0001 and 0011).
Allowable Subject Matter
Claims 6, 9-12, and 15-16 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US PGPUB 2016/0179557 to Authement discloses an emulated environment wherein firmware is copied between different memories.
US PGPUB 2020/0293303 to Gubbala discloses a supervisory controller that provides firmware updates to a main controller from an external storage.
US PGPUB 2020/0015054 to Brochu discloses a firmware updating controller coupled to a plurality of peripherals in an industrial plant.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HARRY Z WANG whose telephone number is (571)270-1716. The examiner can normally be reached 9 am - 3 pm (Monday-Friday).
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, Henry Tsai can be reached at 571-272-4176. 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.
/H.Z.W./Examiner, Art Unit 2184
/HENRY TSAI/Supervisory Patent Examiner, Art Unit 2184