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 .
Response to Amendment
The amendments filed on February 5th, 2026 have been entered.
Claims 1, and 4-9 have been amended.
Claims 2-3 have been canceled.
Response to Arguments
Applicant's arguments filed on February 5th, 2026 have been fully considered, but they are not all persuasive.
Applicant argued that “Nakani does not disclose "analyze the update information and divide the update information into multiple updating processes each having a different execution time," as set forth in claim 1.”
The Examiner respectfully disagrees. Nakani discloses analyze the update information and divide the update information into multiple updating processes each having a different execution time (See Parag. [0124-0125]; The terminal apparatus 100 updates the content playback program stored therein by undergoing a series of downloading of an update program, verification of the validity of the update program. See Parag. [0364] and Fig. 12; The time management control unit 200 predicts the download time by reading the communication speed 220 from the storage unit 210 and obtaining a quotient being a result of dividing the program size by the communication speed 220. Next, the time management control unit 200 reads the download allowed time 216 from the storage unit 210, compares the download allowed time 216 and the predicted download time, and outputs the comparison result to the update control unit 106. See Parag. [0369]).
Applicant argument regarding “Nakani does not disclose "set contents of an update executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and the verification information, and [...] upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes," as set forth in claim,” is moot in view of the new grounds of rejection.
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 set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 4-9 are rejected under 35 U.S.C. 103 as being unpatentable over Nakano et al. (Pub. No. US 2007/0261050), hereinafter Nakano; in view of Bunn (Pub. No. US 2008/0201702).
Claim 1. Nakani discloses an update contents verification system for verifying contents of an update executed to a control system, comprising:
a processor; and a memory, connected to the processor, and storing instructions that when executed by the processor, configures the processor (See Parag. [0193]) to:
receive an input of update information of the control system (See Parag. [0123]; Upon request by the terminal apparatus 100, the server apparatus 400 transmits an update program to the terminal apparatus 100),
analyze the update information and divide the update information into multiple updating processes each having a different execution time (See Parag. [0124-0125]; The terminal apparatus 100 updates the content playback program stored therein by undergoing a series of downloading of an update program, verification of the validity of the update program. See Parag. [0364] and Fig. 12; The time management control unit 200 predicts the download time by reading the communication speed 220 from the storage unit 210 and obtaining a quotient being a result of dividing the program size by the communication speed 220. Next, the time management control unit 200 reads the download allowed time 216 from the storage unit 210, compares the download allowed time 216 and the predicted download time, and outputs the comparison result to the update control unit 106. See Parag. [0369]),
store verification information relating to verification with respect to the update contents (See Parag. [0128]; the terminal apparatus 100 stores therein a download allowed time, a verification allowed time, and an installment allowed time),
estimate an execution time required for executing the update and the verification (See Parag. [0129]; The validity verification processing is also performed by first comparing a calculated time required for verification and the verification allowed time, so as to decide whether to perform the verification. Likewise, the installment processing is performed by first comparing a calculated time required for installment and the installment allowed time, so as to decide whether to perform the installment. See also Parag. [0298]; the update control unit 106 instructs the time management unit 112 to predict an installment time. Next, the update control unit 106 receives, from the time management unit 112, a comparison result between the predicted installment time and the installment allowed time), and
compare the estimated execution time with a predetermined time limit to determine whether the update and the verification are executable within the time limit (See Parag. [0298]; when the comparison result indicates that the predicted installment time is within the installment allowed time, the update control unit 106 commences the processing of (i-g). When the comparison result indicates that the predicted installment time exceeds the installment allowed time, the update control unit 106 writes "C" indicating to put on hold the processes of decryption and installment, as the pending information of the main storage unit 110, and outputs, to the main control unit 107, a control signal indicating to put on hold the update).
Nakani doesn’t explicitly disclose set contents of an update executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and the verification information, upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes.
However, Bunn discloses set contents of an update executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and the verification information, upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes (See Parag. [0007]; scheduling software updates on a data processing system, comprising: identifying a list of software updates; scheduling at least one primary software update for execution within a scheduled outage time based on an estimated execution time and an estimated rollback time for the at least one primary software update; executing the at least one primary software update during the scheduled outage time; and ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates. See Parag. [0014]; if a scheduled software update completes in less time than scheduled, a secondary software update may be inserted for updating within the remaining outage time, which would otherwise be unproductive down time. See Parag. [0041]; … schedule the required software updates according to the best fit within the planned outage time … See Parag. [0061]; the evaluation engine 418 may be configured to provide dynamic ordering using a best-fit scheduler as described above. In an embodiment, dynamic ordering means that the system 400 may continually re-evaluate the next software update to be applied. For example, consider if the system 400 originally sorts and schedules primary software update no. 1 and another primary software update no. 2 to be installed within a scheduled outage time, with sufficient installation and rollback time scheduled for both. If the execution of primary software update no. 1 goes well, and rollback is not required, then it may be possible for system 400 to order the remaining list of required software updates for possible scheduling and execution of one or more secondary software updates in any remaining outage time after execution of software update no. 2. See Parag. [0062]; system 400 may evaluate both secondary software update no. 3 and software update no. 4 for possible scheduling for execution after software update no. 2. In an embodiment, system 400 may calculate the relative priorities as between software update no. 3 and software update no. 4, and also check to see if one or the other have prerequisite software updates that must be executed first. System 400 may also calculate the risk of successfully completing the execution of either software update no. 3 or software update no. 4 within the remaining outage time, before scheduling one or the other. For example, if software update no. 2 also executes without any problems, the availability of additional remaining outage time may cause system 400 to re-evaluate and reorder the scheduling of software update no. 3 and software update no. 4 after completion of execution of software update no. 2. The evaluation engine 418 may thus be configured to dynamically order and schedule the software updates to reduce the number of outstanding software updates as quickly as possible, while taking into account the relative priorities, prerequisites, and estimates for installation and rollback for each of the remaining software updates. i.e., it is reasonable to interpret that setting a next software update (software update no. 3 or software update no. 4) for any remaining outage time would be influenced by execution time and any required rollback times for the next software update (software update no. 3 or software update no. 4). To further explain the Examiner’s interpretation, giving an example that software update no. 3 has a longest execution time (e.g., 60 minutes) compared to software update no. 4 with a second longest execution time (e.g., 40 minutes), and where the remaining outage time is 45 minutes. Therefore, it reasonable to conclude that software update no. 3 (e.g., 60 minutes execution time) doesn’t fit within the remaining outage time (e.g., 45 minutes); on the other hand, the software update no. 4 (e.g., 40 minutes execution time) would be set to execute as its execution time would best fit within the remaining outage time (e.g., 45 minutes)).
It would have been obvious to one of ordinary skill in the art at the time before the effective filling date of the claimed invention to modify the teaching, taught by Nakani, to include setting contents of an update executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and the verification information, and upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes, as taught by Bunn. This would be convenient for ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates (Bunn, Parag. [0007]).
Claim 4. Nakani in view of Bunn discloses the update contents verification system according to claim 1,
Nakani further discloses wherein at least one of the analysis of the update information, the setting of the contents of the update and the contents of the verification, and the estimation of the execution time is executed based on a digital model derived from reproduction of hardware or software for implementing the control system on a computer (See Parag. [0705]; The terminal apparatus stores therein a terminal-side program version number that indicates a generation of the computer program, the recording medium stores a medium version number that indicates a generation of the computer program of a new generation that results after the update performed using the update program, the update judgment unit compares the terminal-side program version number and the medium version number, and judges not to perform the update performed using the update program, when the generation indicated by the terminal-side program version number is the same as the generation indicated by the medium version number, and judges to perform the update performed using the update program, when the generation indicated by the terminal-side program version number is older than the generation indicated by the medium version number).
Claim 5. Nakani in view of Bunn discloses the update contents verification system according to claim 1,
Nakani further discloses wherein the verification information contains at least one of a verification range and a verification granularity each set at multiple levels (See Parag. [0129]; The validity verification processing is also performed by first comparing a calculated time required for verification and the verification allowed time, so as to decide whether to perform the verification).
Claim 6. Nakani in view of Bunn discloses the update contents verification system according to claim 1,
Nakani further discloses wherein the processor is configured to: determine that the update and the verification are executable within the time limit, the update/verification contents setting section additionally sets the update contents and the verification contents other than the execution and the verification contents, which have been determined to be executable within the time limit (See Parag. [0129]; The validity verification processing is also performed by first comparing a calculated time required for verification and the verification allowed time, so as to decide whether to perform the verification. Likewise, the installment processing is performed by first comparing a calculated time required for installment and the installment allowed time, so as to decide whether to perform the installment. See Parag. [0359]; The allowed time setting table 215 includes a download allowed time 216, a verification allowed time 217, and an installment allowed time 218, which have been set either by a manufacturing company or a user of the terminal apparatus 100),
estimate the time required for executing the additionally set update and verification (See Parag. [0298]; when the comparison result indicates that the predicted installment time is within the installment allowed time, the update control unit 106 commences the processing of (i-g). When the comparison result indicates that the predicted installment time exceeds the installment allowed time, the update control unit 106 writes "C" indicating to put on hold the processes of decryption and installment. See Parag. Parag. [0306-0308]; Judgment as to the Necessity of Update), and
determine whether it is possible to execute the additionally set update and verification in addition to the update and the verification, which have been determined to be executable within the time limit (See Parag. [0322]; the update control unit 106 outputs the program size 507c included in the program file 503c to the time management unit 112, and instructs the time management unit 112 to predict an installment time. Next, the update control unit 106 receives, from the time management unit 112, a comparison result between the predicted installment time and the installment allowed time. When the comparison result indicates that the predicted installment time is within the installment allowed time, the update control unit 106 commences the processing of (iii-c)).
Claim 7. Nakani in view of Bunn discloses the update contents verification system according to claim 1,
Nakani further discloses wherein the processor is configured to set essential update contents based on the analysis of the update information (See Parag. [0128]; The terminal apparatus 100 stores therein a download allowed time, a verification allowed time, and an installment allowed time, which have been set by a user or a manufacturing company of the terminal apparatus 100. See Parag. [0255]; A setting change screen 320 is a screen for receiving a setting change regarding a download allowed time, a verification allowed time, and an installment allowed time. Moreover, the setting change screen 320 is for receiving an update frequency setting change, where the update frequency indicates a schedule for performing communication with the server apparatus 400 for update, and a communication speed setting change).
Claim 8. Nakani in view of Bunn discloses the update contents verification system according to claim 1,
Nakani further discloses wherein the processor is configured to: calculate a safety level estimated to be attained when executing the update and the verification, which have been determined to be executable within the time limit, and determine whether the update and the verification are executable based on a comparison between the estimated safety level and a safety level required for the control system (See Parag. [0032]; the first execution subunit puts on hold the process when it is judged that disturbance is to be caused, and the second execution subunit executes the process put on hold when the ending judgment subunit judges that the operation of the content usage has ended. Accordingly, the update unit is able to assuredly update the computer program without causing disturbance to the operation of the computer program. See Parag. [0548]; the current date/time is obtained, and the created date is subtracted from the obtained current date/time, to calculate the elapsed period passed from the created date. The elapsed period is compared to the new content period of "3 months" stored in the update control unit 1106. When the elapsed period is longer than 3 months, the update control unit 1106 ends the update processing or puts on hold the update processing, as in the processing of (1-1)).
Claim 9. Nakani discloses an update contents verification method for verifying contents of update executed to a control system, comprising the steps of:
acquiring update information of the control system (See Parag. [0123]; Upon request by the terminal apparatus 100, the server apparatus 400 transmits an update program to the terminal apparatus 100);
analyzing the update information and dividing the update information into multiple updating processes each having a different execution time (See Parag. [0124-0125]; The terminal apparatus 100 updates the content playback program stored therein by undergoing a series of downloading of an update program, verification of the validity of the update program. See Parag. [0364] and Fig. 12; The time management control unit 200 predicts the download time by reading the communication speed 220 from the storage unit 210 and obtaining a quotient being a result of dividing the program size by the communication speed 220. Next, the time management control unit 200 reads the download allowed time 216 from the storage unit 210, compares the download allowed time 216 and the predicted download time, and outputs the comparison result to the update control unit 106. See Parag. [0369]);
estimating execution time required for executing the update and the verification (See Parag. [0129]; The validity verification processing is also performed by first comparing a calculated time required for verification and the verification allowed time, so as to decide whether to perform the verification. Likewise, the installment processing is performed by first comparing a calculated time required for installment and the installment allowed time, so as to decide whether to perform the installment. See also Parag. [0298]; the update control unit 106 instructs the time management unit 112 to predict an installment time. Next, the update control unit 106 receives, from the time management unit 112, a comparison result between the predicted installment time and the installment allowed time); and
determining whether the update and the verification are executable within a time limit based on a comparison between the estimated execution time and a predetermined time limit (See Parag. [0298]; when the comparison result indicates that the predicted installment time is within the installment allowed time, the update control unit 106 commences the processing of (i-g). When the comparison result indicates that the predicted installment time exceeds the installment allowed time, the update control unit 106 writes "C" indicating to put on hold the processes of decryption and installment, as the pending information of the main storage unit 110, and outputs, to the main control unit 107, a control signal indicating to put on hold the update).
Nakani doesn’t explicitly disclose setting contents of update to be executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and verification information relating to the verification with respect to contents of the update, upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes.
However, Bunn discloses setting contents of update to be executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and verification information relating to the verification with respect to contents of the update, upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes (See Parag. [0007]; scheduling software updates on a data processing system, comprising: identifying a list of software updates; scheduling at least one primary software update for execution within a scheduled outage time based on an estimated execution time and an estimated rollback time for the at least one primary software update; executing the at least one primary software update during the scheduled outage time; and ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates. See Parag. [0014]; if a scheduled software update completes in less time than scheduled, a secondary software update may be inserted for updating within the remaining outage time, which would otherwise be unproductive down time. See Parag. [0041]; … schedule the required software updates according to the best fit within the planned outage time … See Parag. [0061]; the evaluation engine 418 may be configured to provide dynamic ordering using a best-fit scheduler as described above. In an embodiment, dynamic ordering means that the system 400 may continually re-evaluate the next software update to be applied. For example, consider if the system 400 originally sorts and schedules primary software update no. 1 and another primary software update no. 2 to be installed within a scheduled outage time, with sufficient installation and rollback time scheduled for both. If the execution of primary software update no. 1 goes well, and rollback is not required, then it may be possible for system 400 to order the remaining list of required software updates for possible scheduling and execution of one or more secondary software updates in any remaining outage time after execution of software update no. 2. See Parag. [0062]; system 400 may evaluate both secondary software update no. 3 and software update no. 4 for possible scheduling for execution after software update no. 2. In an embodiment, system 400 may calculate the relative priorities as between software update no. 3 and software update no. 4, and also check to see if one or the other have prerequisite software updates that must be executed first. System 400 may also calculate the risk of successfully completing the execution of either software update no. 3 or software update no. 4 within the remaining outage time, before scheduling one or the other. For example, if software update no. 2 also executes without any problems, the availability of additional remaining outage time may cause system 400 to re-evaluate and reorder the scheduling of software update no. 3 and software update no. 4 after completion of execution of software update no. 2. The evaluation engine 418 may thus be configured to dynamically order and schedule the software updates to reduce the number of outstanding software updates as quickly as possible, while taking into account the relative priorities, prerequisites, and estimates for installation and rollback for each of the remaining software updates. i.e., it is reasonable to interpret that setting a next software update (software update no. 3 or software update no. 4) for any remaining outage time would be influenced by execution time and any required rollback times for the next software update (software update no. 3 or software update no. 4). To further explain the Examiner’s interpretation, giving an example that software update no. 3 has a longest execution time (e.g., 60 minutes) compared to software update no. 4 with a second longest execution time (e.g., 40 minutes), and where the remaining outage time is 45 minutes. Therefore, it reasonable to conclude that software update no. 3 (e.g., 60 minutes execution time) doesn’t fit within the remaining outage time (e.g., 45 minutes); on the other hand, the software update no. 4 (e.g., 40 minutes execution time) would be set to execute as its execution time would best fit within the remaining outage time (e.g., 45 minutes)).
It would have been obvious to one of ordinary skill in the art at the time before the effective filling date of the claimed invention to modify the teaching, taught by Nakani, to include setting contents of an update executed to the control system to an initial updating process having a longest execution time among the multiple updating processes, and contents of verification with respect to the update and the verification information, and upon determining the update and the verification are not executable within the time limit, set contents of the update executed to the control system to a second updating process having a second longest execution time among the multiple updating processes, as taught by Bunn. This would be convenient for ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates (Bunn, Parag. [0007]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure (see PTO-form 892).
Murayama et al. (Pub. No. US 2016/0162280) - related to an information processing apparatus and an update-time estimating method.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GHIZLANE MAAZOUZ whose telephone number is (571)272-8118. The examiner can normally be reached Telework M-F 7:30-5 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, Philip J Chea can be reached on 571-272-3951. 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.
/GHIZLANE MAAZOUZ/Examiner, Art Unit 2499 /PHILIP J CHEA/Supervisory Patent Examiner, Art Unit 2499