DETAILED ACTION
Claims 1-16 are currently pending and have been examined in this application. This is the first action on the merits.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This communication is in response to the application filed 02/25/2025.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: request acceptance unit, request storage unit, stored request cancellation determination unit, stored request deletion unit in claim 1 and repeated throughout; request arbitration unit, arbitration waiting request cancellation determination unit, arbitration waiting request deletion unit in Claim 3 and repeated throughout.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. None of the above “units” have defined structure described in the specification. See 112 rejection below.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-9, 14-15 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim limitations request acceptance unit, request storage unit, stored request cancellation determination unit, stored request deletion unit, request arbitration unit, arbitration waiting request cancellation determination unit, arbitration waiting request deletion unit invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function and to clearly link the structure, material, or acts to the function. There is no disclosure defining what hardware or software is responsible for performing the function of the above identified “units.” Therefore, the claim is indefinite and is rejected under 35 U.S.C. 112(b) or pre-AIA 35 U.S.C. 112, second paragraph. Claims will be further interpreted to correspond to any form of hardware, software, or combination thereof which accomplish the claimed function.
Applicant may:
(a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph;
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the entire claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(c) Amend the written description of the specification such that it clearly links the structure, material, or acts disclosed therein to the function recited in the claim, without introducing any new matter (35 U.S.C. 132(a)).
If applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts and clearly links them to the function so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function, applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed function and clearly links or associates the structure, material, or acts to the claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
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.
Claim(s) 1-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Harata (US20210155252) in view of Engstrom (US20060287787).
Claim 1:
Harata explicitly teaches:
An onboard device mounted on a vehicle, comprising:
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
a request acceptance unit configured to receive an operation request for the vehicle according to execution of application software and a first cancellation condition, which is a condition for canceling the operation request, from an application execution unit configured to execute the application software;
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
a request storage unit configured to store the operation request received by the request acceptance unit [in a first queue];
(Harata) – “Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
a stored request cancellation determination unit configured to determine whether to cancel the operation request stored in the first queue according to the first cancellation condition received by the request acceptance unit and a second cancellation condition, which is a preset condition related to usage of the vehicle, for canceling the operation request; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
a stored request deletion unit configured to delete the operation request [from the first queue] when the stored request cancellation determination unit determines that the operation request is to be canceled.
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Harata does not explicitly teach:
in a first queue… from the first queue
Engstrom, in the same field of endeavor of vehicle data processing, teaches:
in a first queue… from the first queue
(Engstrom) – “The interaction manager 41 contains the hardware/software (e.g. for realizing a prioritization algorithm and a waiting queue, as explained below) for managing the driver's communication and/or interaction with the integrated ADAS/IVIS modules and applications 2 via the integrated HMI 43 (arrow and with the stand-alone applications 3 via the non-integrated HMIs 34, in dependence of the real-time input from the driver/vehicle environment (DVE) state estimator/predictor 42 (arrow A3).” (Para 0044)
“If permission cannot be given, storing the request in a waiting queue and sending a response to the related application 2,3 comprising an indication (b)"permission denied-wait and hold the communication and/or interaction" and possibly an instruction to await further responses” (Para 0065)
“Such a response can include an indication regarding the number of the request in the waiting queue. Preferably, in this case the response is repeated circularly or whenever another request with a higher priority has left the waiting queue.” (Para 0066)
“If an application withdraws it's request, it preferably sends a delete message to the interaction manager instructing the same to remove the request from the waiting queue. This is handled according to the description below with respect to "dynamic priorities".” (Para 0068)
“In these cases the current non-safety-critical request is preferably put into the waiting queue (again) with the highest possible priority allowed for non-safety-critical requests and is permitted according to the above first routine and/or as soon as the safety-critical message (s) have been presented.” (Para 0070)
“However, this requires that the first request is taken out of the waiting queue at the interaction manager 41 when it becomes irrelevant and is replaced by the updated request. In other cases, it may be necessary to delete a request from the waiting queue without replacing it.” (Para 0108)
“In order to accomplish such dynamic priorities, the standard format (protocol) of the request is extended by a field specifying the requested operation on the waiting queue as either add_request, replace_request or delete_request” (Para 0110)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the control method of Harata with the communications system of Engstrom of Nishi. One of ordinary skill in the art would have been motivated to make these modifications with a reasonable expectation of success, so “that risks and impairments for the safety and comfort of the driver are reduced considerably and workload and distraction of the driver are reduced considerably as well.” (Engstrom Abstract)
Claim 2:
Harata in combination with the references relied upon in Claim 1 teach those respective limitations. Harata further teaches:
wherein the first cancellation condition includes a condition related to a state of the vehicle.
(Harata) – “When it is specified that rewriting of an application program is initiated in the rewrite target ECU 19, the CGW 13 initiates the cancellation request determination process, determines whether or not the rewriting of the application program has been completed (S1511), and determines whether or not a cancellation request has been generated (S1512). That is, as described above, the CGW 13 determines whether or not the cancellation request has been generated in response to an operation performed by the user, the occurrence of abnormality in the system, or the like.” (Para 0741)
Claim 3:
Harata in combination with the references relied upon in Claim 1 teach those respective limitations. Harata further teaches:
a request arbitration unit configured to store the operation request, which is determined not to be canceled by the stored request cancellation determination unit, [in a second queue] and to arbitrate between the operation request and a competing request stored [in the second queue];
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
an arbitration waiting request cancellation determination unit configured to determine whether to cancel the operation request according to the first cancellation condition and the second cancellation condition; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
an arbitration waiting request deletion unit configured to delete the operation request [from the second queue] when the arbitration waiting request cancellation determination unit determines that the operation request is to be canceled.
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Harata does not explicitly teach:
in a second queue…in the second queue… from the second queue
Engstrom, in the same field of endeavor of vehicle data processing, teaches:
in a second queue…in the second queue… from the second queue
(Engstrom) – “The interaction manager 41 contains the hardware/software (e.g. for realizing a prioritization algorithm and a waiting queue, as explained below) for managing the driver's communication and/or interaction with the integrated ADAS/IVIS modules and applications 2 via the integrated HMI 43 (arrow and with the stand-alone applications 3 via the non-integrated HMIs 34, in dependence of the real-time input from the driver/vehicle environment (DVE) state estimator/predictor 42 (arrow A3).” (Para 0044)
“If permission cannot be given, storing the request in a waiting queue and sending a response to the related application 2,3 comprising an indication (b)"permission denied-wait and hold the communication and/or interaction" and possibly an instruction to await further responses” (Para 0065)
“Such a response can include an indication regarding the number of the request in the waiting queue. Preferably, in this case the response is repeated circularly or whenever another request with a higher priority has left the waiting queue.” (Para 0066)
“If an application withdraws it's request, it preferably sends a delete message to the interaction manager instructing the same to remove the request from the waiting queue. This is handled according to the description below with respect to "dynamic priorities".” (Para 0068)
“In these cases the current non-safety-critical request is preferably put into the waiting queue (again) with the highest possible priority allowed for non-safety-critical requests and is permitted according to the above first routine and/or as soon as the safety-critical message (s) have been presented.” (Para 0070)
“However, this requires that the first request is taken out of the waiting queue at the interaction manager 41 when it becomes irrelevant and is replaced by the updated request. In other cases, it may be necessary to delete a request from the waiting queue without replacing it.” (Para 0108)
“In order to accomplish such dynamic priorities, the standard format (protocol) of the request is extended by a field specifying the requested operation on the waiting queue as either add_request, replace_request or delete_request” (Para 0110)
Examiner Note: Per BRI, the repeated action of putting a request in a queue corresponds with multiple queues.
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the control method of Harata with the communications system of Engstrom of Nishi. One of ordinary skill in the art would have been motivated to make these modifications with a reasonable expectation of success, so “that risks and impairments for the safety and comfort of the driver are reduced considerably and workload and distraction of the driver are reduced considerably as well.” (Engstrom Abstract)
Claim 4:
Harata in combination with the references relied upon in Claim 3 teach those respective limitations. Harata further teaches:
wherein the application execution unit is configured to select a vehicle state from a plurality of preset abstracted vehicle states as the first cancellation condition and to set the condition for the selected vehicle state.
(Harata) – “When it is specified that rewriting of an application program is initiated in the rewrite target ECU 19, the CGW 13 initiates the cancellation request determination process, determines whether or not the rewriting of the application program has been completed (S1511), and determines whether or not a cancellation request has been generated (S1512). That is, as described above, the CGW 13 determines whether or not the cancellation request has been generated in response to an operation performed by the user, the occurrence of abnormality in the system, or the like.” (Para 0741)
Claim 5:
Harata in combination with the references relied upon in Claim 3 teach those respective limitations. Harata further teaches:
wherein the onboard device includes a first device and a second device,
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
the first device includes the request acceptance unit, the request storage unit, the stored request cancellation determination unit, and the stored request deletion unit, and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
the second device includes the request arbitration unit, the arbitration waiting request cancellation determination unit, and the arbitration waiting request deletion unit.
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Claim 6:
Harata explicitly teaches:
A center device configured to communicate wirelessly with a vehicle, comprising:
(Harata) –“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
a request acceptance unit configured to receive an operation request for the vehicle according to execution of application software and a first cancellation condition, which is a condition for canceling the operation request, from an application execution unit configured to execute the application software;
(Harata) –“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
a request storage unit configured to store the operation request received by the request acceptance unit [in a first queue];
(Harata) –“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“As illustrated in FIG. 181, the center device 3 includes a write data storage unit 54a (corresponding to an update data storage unit), a display control information storage unit 54b, and an information transmission unit 54c in the display control information transmission control unit 54. The write data storage unit 54a stores write data for a plurality of rewrite target ECUs 19 with rewriting of application programs in the plurality of rewrite target ECUs 19 as a single campaign. The display control information storage unit 54b stores distribution specification data including display control information.” (Para 0967)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
a stored request cancellation determination unit configured to determine whether to cancel the operation request stored in the first queue according to the first cancellation condition received by the request acceptance unit and a second cancellation condition, which is a preset condition related to usage of the vehicle, for canceling the operation request; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
“When an abnormality occurs in the system and the center device 3 is notified of the abnormality in the system, the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12.” (Para 0729)
a stored request deletion unit configured to delete the operation request [from the first queue] when the stored request cancellation determination unit determines that the operation request is to be canceled.
(Harata) – “Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
“When an abnormality occurs in the system and the center device 3 is notified of the abnormality in the system, the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12. The abnormality in the system is, for example, that a certain rewrite target ECU 19 succeeds in writing, but another rewrite target ECU 19 performing a cooperative control with the certain rewrite target ECU 19 fails in writing. As mentioned above, when at least one of a plurality of rewrite target ECUs 19 performing a cooperative control fails in writing, the system is determined to be abnormal, and the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12 for the rewrite target ECU 19 that has succeeds in writing. That is, an operation performed by the user and the occurrence of an abnormality in the system may cause the cancellation request to generate.” (Para 0729)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Harata does not explicitly teach:
in a first queue… from the first queue
Engstrom, in the same field of endeavor of vehicle data processing, teaches:
in a first queue… from the first queue
(Engstrom) – “The interaction manager 41 contains the hardware/software (e.g. for realizing a prioritization algorithm and a waiting queue, as explained below) for managing the driver's communication and/or interaction with the integrated ADAS/IVIS modules and applications 2 via the integrated HMI 43 (arrow and with the stand-alone applications 3 via the non-integrated HMIs 34, in dependence of the real-time input from the driver/vehicle environment (DVE) state estimator/predictor 42 (arrow A3).” (Para 0044)
“If permission cannot be given, storing the request in a waiting queue and sending a response to the related application 2,3 comprising an indication (b)"permission denied-wait and hold the communication and/or interaction" and possibly an instruction to await further responses” (Para 0065)
“Such a response can include an indication regarding the number of the request in the waiting queue. Preferably, in this case the response is repeated circularly or whenever another request with a higher priority has left the waiting queue.” (Para 0066)
“If an application withdraws it's request, it preferably sends a delete message to the interaction manager instructing the same to remove the request from the waiting queue. This is handled according to the description below with respect to "dynamic priorities".” (Para 0068)
“In these cases the current non-safety-critical request is preferably put into the waiting queue (again) with the highest possible priority allowed for non-safety-critical requests and is permitted according to the above first routine and/or as soon as the safety-critical message (s) have been presented.” (Para 0070)
“However, this requires that the first request is taken out of the waiting queue at the interaction manager 41 when it becomes irrelevant and is replaced by the updated request. In other cases, it may be necessary to delete a request from the waiting queue without replacing it.” (Para 0108)
“In order to accomplish such dynamic priorities, the standard format (protocol) of the request is extended by a field specifying the requested operation on the waiting queue as either add_request, replace_request or delete_request” (Para 0110)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the control method of Harata with the communications system of Engstrom of Nishi. One of ordinary skill in the art would have been motivated to make these modifications with a reasonable expectation of success, so “that risks and impairments for the safety and comfort of the driver are reduced considerably and workload and distraction of the driver are reduced considerably as well.” (Engstrom Abstract)
Claim 7:
Rejected for similar reasons as Claim 2
Claim 8:
Rejected for similar reasons as Claim 3
Claim 9:
Rejected for similar reasons as Claim 4
Claim 10:
Harata explicitly teaches:
A non-transitory computer readable storage medium storing a vehicle control program for causing a processing device to execute:
(Harata) – “The control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor and a memory programmed to execute one or more functions embodied by a computer program. Alternatively, the control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits. Alternatively, the control unit and the method described in the present disclosure may be realized by one or more dedicated computers configured by a combination of a processor and a memory programmed to execute one or more functions and a processor configured by one or more hardware logic circuits. The computer program may also be stored on a computer readable and non-transitory tangible recording medium as instructions executed by a computer.” (Para 1323)
Remainder of the claim rejected based on the same rationale as Claim 1
Claim 11:
Harata explicitly teaches:
A vehicle control method executed by a processing device, comprising:
(Harata) – “The control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor and a memory programmed to execute one or more functions embodied by a computer program. Alternatively, the control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits. Alternatively, the control unit and the method described in the present disclosure may be realized by one or more dedicated computers configured by a combination of a processor and a memory programmed to execute one or more functions and a processor configured by one or more hardware logic circuits. The computer program may also be stored on a computer readable and non-transitory tangible recording medium as instructions executed by a computer.” (Para 1323)
Remainder of the claim rejected based on the same rationale as Claim 1
Claim 12:
Harata explicitly teaches:
A non-transitory computer readable storage medium storing a vehicle control program for causing a center device configured to communicate wirelessly with a vehicle to execute:
(Harata) – “As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor and a memory programmed to execute one or more functions embodied by a computer program. Alternatively, the control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits. Alternatively, the control unit and the method described in the present disclosure may be realized by one or more dedicated computers configured by a combination of a processor and a memory programmed to execute one or more functions and a processor configured by one or more hardware logic circuits. The computer program may also be stored on a computer readable and non-transitory tangible recording medium as instructions executed by a computer.” (Para 1323)
Remainder of the claim rejected based on the same rationale as Claim 6
Claim 13:
Harata explicitly teaches:
A vehicle control method executed by a center device configured to communicate wirelessly with a vehicle, comprising:
(Harata) – “As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor and a memory programmed to execute one or more functions embodied by a computer program. Alternatively, the control unit and the method described in the present disclosure may be realized by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits. Alternatively, the control unit and the method described in the present disclosure may be realized by one or more dedicated computers configured by a combination of a processor and a memory programmed to execute one or more functions and a processor configured by one or more hardware logic circuits. The computer program may also be stored on a computer readable and non-transitory tangible recording medium as instructions executed by a computer.” (Para 1323)
Remainder of the claim rejected based on the same rationale as Claim 6
Claim 14:
Harata explicitly teaches:
A vehicle control system comprising: a first onboard device and a second onboard device mounted on a vehicle;
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
and a center device configured to communicate wirelessly with the first onboard device,
wherein the center device includes:
(Harata) –“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
a first request acceptance unit configured to receive an operation request for the vehicle according to execution of first application software and a first cancellation condition, which is a condition for canceling the operation request, from a first application execution unit configured to execute the first application software;
(Harata) –“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
a first request storage unit configured to store the operation request received by the first request acceptance unit [in a first queue];
(Harata) –“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“As illustrated in FIG. 181, the center device 3 includes a write data storage unit 54a (corresponding to an update data storage unit), a display control information storage unit 54b, and an information transmission unit 54c in the display control information transmission control unit 54. The write data storage unit 54a stores write data for a plurality of rewrite target ECUs 19 with rewriting of application programs in the plurality of rewrite target ECUs 19 as a single campaign. The display control information storage unit 54b stores distribution specification data including display control information.” (Para 0967)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
a first stored request cancellation determination unit configured to determine whether to cancel the operation request stored in the first queue according to the first cancellation condition received by the first request acceptance unit and a second cancellation condition, which is a preset condition related to usage of the vehicle, for canceling the operation request; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
“When an abnormality occurs in the system and the center device 3 is notified of the abnormality in the system, the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12.” (Para 0729)
a first stored request deletion unit configured to delete the operation request [from the first queue] when the first stored request cancellation determination unit determines that the operation request is to be canceled,
(Harata) – “Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
“When an abnormality occurs in the system and the center device 3 is notified of the abnormality in the system, the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12. The abnormality in the system is, for example, that a certain rewrite target ECU 19 succeeds in writing, but another rewrite target ECU 19 performing a cooperative control with the certain rewrite target ECU 19 fails in writing. As mentioned above, when at least one of a plurality of rewrite target ECUs 19 performing a cooperative control fails in writing, the system is determined to be abnormal, and the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12 for the rewrite target ECU 19 that has succeeds in writing. That is, an operation performed by the user and the occurrence of an abnormality in the system may cause the cancellation request to generate.” (Para 0729)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
the first onboard device includes: a second request acceptance unit configured to receive the operation request and the first cancellation condition determined not to be canceled by the first stored request cancellation determination unit;
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
a second request storage unit configured to store the operation request received by the second request acceptance unit [in a second queue];
(Harata) – “Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
a second stored request cancellation determination unit configured to determine whether to cancel the operation request stored in the second queue according to the first cancellation condition received by the second request acceptance unit and a preset second cancellation condition; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
a second stored request deletion unit configured to delete the operation request [from the second queue] when the second stored request cancellation determination unit determines that the operation request is to be canceled,
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
the second onboard device includes: a request arbitration unit configured to store the operation request, which is determined not to be canceled by the second stored request cancellation determination unit, [in a third queue] and to arbitrate between the operation request and a competing request stored [in the third queue];
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
an arbitration waiting request cancellation determination unit configured to determine whether to cancel the operation request according to the first cancellation condition and the second cancellation condition; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
an arbitration waiting request deletion unit configured to delete the operation request [from the third queue] when it is determined by the arbitration waiting request cancellation determination unit that the operation request is to be canceled.
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Harata does not explicitly teach:
in a first queue… from the first queue… in a second queue… from the second queue… in a third queue…in the third queue… from the third queue
Engstrom, in the same field of endeavor of vehicle data processing, teaches:
in a first queue… from the first queue… in a second queue… from the second queue… in a third queue…in the third queue … from the third queue
(Engstrom) – “The interaction manager 41 contains the hardware/software (e.g. for realizing a prioritization algorithm and a waiting queue, as explained below) for managing the driver's communication and/or interaction with the integrated ADAS/IVIS modules and applications 2 via the integrated HMI 43 (arrow and with the stand-alone applications 3 via the non-integrated HMIs 34, in dependence of the real-time input from the driver/vehicle environment (DVE) state estimator/predictor 42 (arrow A3).” (Para 0044)
“If permission cannot be given, storing the request in a waiting queue and sending a response to the related application 2,3 comprising an indication (b)"permission denied-wait and hold the communication and/or interaction" and possibly an instruction to await further responses” (Para 0065)
“Such a response can include an indication regarding the number of the request in the waiting queue. Preferably, in this case the response is repeated circularly or whenever another request with a higher priority has left the waiting queue.” (Para 0066)
“If an application withdraws it's request, it preferably sends a delete message to the interaction manager instructing the same to remove the request from the waiting queue. This is handled according to the description below with respect to "dynamic priorities".” (Para 0068)
“In these cases the current non-safety-critical request is preferably put into the waiting queue (again) with the highest possible priority allowed for non-safety-critical requests and is permitted according to the above first routine and/or as soon as the safety-critical message (s) have been presented.” (Para 0070)
“However, this requires that the first request is taken out of the waiting queue at the interaction manager 41 when it becomes irrelevant and is replaced by the updated request. In other cases, it may be necessary to delete a request from the waiting queue without replacing it.” (Para 0108)
“In order to accomplish such dynamic priorities, the standard format (protocol) of the request is extended by a field specifying the requested operation on the waiting queue as either add_request, replace_request or delete_request” (Para 0110)
Examiner Note: Per BRI, the repeated action of putting a request in a queue corresponds with multiple queues.
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the control method of Harata with the communications system of Engstrom of Nishi. One of ordinary skill in the art would have been motivated to make these modifications with a reasonable expectation of success, so “that risks and impairments for the safety and comfort of the driver are reduced considerably and workload and distraction of the driver are reduced considerably as well.” (Engstrom Abstract)
Claim 15:
Harata in combination with the references relied upon in Claim 14 teach those respective limitations. Harata further teaches:
wherein the second request acceptance unit is configured to receive the operation request for the vehicle according to execution of second application software and the corresponding first cancellation condition from a second application execution unit configured to execute the second application software.
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Claim 16:
Harata explicitly teaches:
A vehicle control method executed by a system comprising a first onboard device and a second onboard device mounted on a vehicle, and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
a center device configured to communicate wirelessly with the first onboard device, the method comprising:
(Harata) –“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
in the center device: receiving an operation request for the vehicle according to execution of first application software and a first cancellation condition, which is a condition for canceling the operation request, from a first application execution unit configured to execute the first application software;
(Harata) –“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
storing the operation request received by the first request acceptance unit [in a first queue];
(Harata) –“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“As illustrated in FIG. 181, the center device 3 includes a write data storage unit 54a (corresponding to an update data storage unit), a display control information storage unit 54b, and an information transmission unit 54c in the display control information transmission control unit 54. The write data storage unit 54a stores write data for a plurality of rewrite target ECUs 19 with rewriting of application programs in the plurality of rewrite target ECUs 19 as a single campaign. The display control information storage unit 54b stores distribution specification data including display control information.” (Para 0967)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
determining whether to cancel the operation request stored in the first queue according to the first cancellation condition received by the first request acceptance unit and a second cancellation condition, which is a preset condition related to usage of the vehicle, for canceling the operation request;
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
“When an abnormality occurs in the system and the center device 3 is notified of the abnormality in the system, the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12.” (Para 0729)
deleting the operation request [from the first queue] when the first stored request cancellation determination unit determines that the operation request is to be canceled,
(Harata) – “Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“As described above, according to the one aspect of the present disclosure, an update data acquisition unit is configured to acquire update data from outside. An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback method specifying unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program. A rollback execution unit is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Para 0279)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The center device 3 controls a program update function of the communication network 2 side in the vehicle program rewriting system 1, and functions as an OTA center. The center device 3 includes a file server 8, a web server 9, and a management server 10, and each of the servers 8 to 10 is configured to be able to perform data communication with each other. That is, the center device 3 is configured to include a plurality of different servers for each function.” (Para 0288)
“The file server 8 is a server that manages a file of an application program distributed from the center device 3 to the vehicle-side system 4. The file server 8 manages update data (hereinafter, also referred to as reprogramming data or write data) provided from a supplier or the like, which is a provider of an application program distributed from the center device 3 to the vehicle-side system 4, distribution specification data provided from an original equipment manufacturer (OEM), vehicle conditions acquired from the vehicle-side system 4, and the like. The file server 8 can perform data communication with the vehicle-side system 4 via the communication network 2, and transmits a distribution package in which the reprogramming data and the distribution specification data are packaged into one file to the vehicle-side system 4 when a download request for the distribution package is generated.” (Para 0289)
“As illustrated in FIG. 47, the center device 3 includes a distribution package transmission unit 51. When a download request for a distribution package is received from the DCM 12, the distribution package transmission unit 51 transmits the distribution package to the DCM 12. In addition to the above-described configuration, the center device 3 includes a distribution package transmission determination unit 52, a progress state synchronization control unit 53, a display control information transmission control unit 54, and a write data selection unit 55 (corresponding to an update data selection unit) as a configuration of performing the characteristic processes. When data storage bank information is received from the master device 11, the write data selection unit 55 (corresponding to an update data selection unit) selects write data compliant to an inactive bank on the basis of a software version and an active bank specified by the received data storage bank information. That is, the distribution package transmission unit 51 transmits the distribution package including the write data selected by the write data selection unit 55 to the DCM 12. The functional blocks performing the characteristic processes will be described later.” (Para 0457)
“When an abnormality occurs in the system and the center device 3 is notified of the abnormality in the system, the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12. The abnormality in the system is, for example, that a certain rewrite target ECU 19 succeeds in writing, but another rewrite target ECU 19 performing a cooperative control with the certain rewrite target ECU 19 fails in writing. As mentioned above, when at least one of a plurality of rewrite target ECUs 19 performing a cooperative control fails in writing, the system is determined to be abnormal, and the center device 3 notifies the CGW 13 of the program rewrite cancellation request via the DCM 12 for the rewrite target ECU 19 that has succeeds in writing. That is, an operation performed by the user and the occurrence of an abnormality in the system may cause the cancellation request to generate.” (Para 0729)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
in the first onboard device: receiving the operation request and the first cancellation condition determined not to be canceled by the first stored request cancellation determination unit;
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
storing the operation request received by the second request acceptance unit [in a second queue];
(Harata) – “Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
determining whether to cancel the operation request stored in the second queue according to the first cancellation condition received by the second request acceptance unit and a preset second cancellation condition; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
deleting the operation request [from the second queue] when the second stored request cancellation determination unit determines that the operation request is to be canceled,
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 148, the ECU 19 includes a program execution unit 104a, a switching request receiving unit 104b, a data acquisition unit 104c, a bank information notification unit 104d, a firmware acquisition unit 104e, an installation execution unit 104f, and an activation execution unit 104g in the rewrite execution control unit 104. The program execution unit 104a rewrites an inactive bank by executing a rewrite program in an active bank while executing an application program and parameter data in the active bank. The switching request receiving unit 104b receives an activation request from the CGW 13. The data acquisition unit 104c acquires write data for an area of the inactive bank that needs to be rewritten from the outside. The bank information notification unit 104d notifies the outside of double-bank rewrite information (hereinafter, referred to as bank information). The firmware acquisition unit 104e acquires firmware of a rewrite program from the outside. When an instruction for installation is given by the CGW 13, the installation execution unit 104f writes write data into the flash memory and executes the installation. When an instruction for activation is given by the CGW 13, the activation execution unit 104g executes the activation for switching the active bank in preparation for restart.” (Para 0811)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
in the second onboard device: receiving the operation request determined not to be canceled by the first onboard device and storing it [in a third queue]; arbitrating between the operation request and a competing request stored [in the third queue];
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
determining whether to cancel the operation request according to the first cancellation condition and the second cancellation condition; and
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
deleting the operation request [from the third queue] when it is determined that the operation request is to be canceled.
(Harata) – “A vehicle master device includes a cancellation request determination unit that is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit, a rollback method specifying unit that is configured to, when the cancellation request determination unit determines that the cancellation request is generated, specify a rollback method for returning the rewrite target ECU to a state where writing of the update data has not yet started in accordance with a memory type of the non-volatile memory of the rewrite target ECU and a data type of the update data of the new program or the old program, and a rollback execution unit that is configured to instruct the rewrite target ECU to execute a rollback according to the rollback method specified by the rollback method specifying unit and have the rewrite target ECU operate with the old program.” (Abstract)
“Herein after, a process of causing all ECUs to rewrite a program will be described when rewriting of the program is interrupted in any of the ECUs due to, for example, a power supply failure or the like. Here, for example, when the user performs the cancel operation, it may be necessary to interrupt program rewriting from the old version program to the new version program and to operate the old version program. In this case, when the rewriting area of the ECU is left in an incomplete state, it is likely that the operation of the ECU after the interruption is not performed normally.” (Para 0277)
“An update data distribution unit is configured to distribute the update data acquired by the update data acquisition unit to a rewrite target electronic control unit (ECU) having a non-volatile memory with one or more program storage banks. A cancellation request determination unit is configured to determine whether a cancellation request is generated during program rewriting from an old program to a new program in response to distributing the update data to the rewrite target ECU by the update data distribution unit. A rollback execution unit is configured to, when the cancellation request determination unit determines that the cancellation request is generated, continue distributing the update data of the new program until completion of rewriting, instruct the rewrite target ECU to write the update data of the old program, and have the rewrite target ECU operate with the old program, when the one or more program storage bank is a single-bank, and continue distributing the update data of the new program until completion of rewriting and have the rewrite target ECU operate with the program stored in an active bank when the one or more program storage bank are two or more banks including the active bank and an inactive bank into which the new program is written.” (Para 0281)
“As illustrated in FIG. 1, a vehicle program rewriting system 1 includes a center device 3 on a communication network 2 side, a vehicle-side system 4 on a vehicle side, and a display terminal 5.” (Para 0285)
“The master device 11 controls a program update function of the vehicle side in the vehicle program rewriting system 1, and functions as an OTA master. In FIG. 1, although the DCM 12 and the in-vehicle display 7 are configured to be connected to the same first bus 14 as an example, the DCM 12 and the in-vehicle display 7 may be configured to be connected to separate buses. The CGW 13 may have some or all of the functions of the DCM 12, or the DCM 12 may have some or all of the functions of the CGW 13. That is, in the master device 11, function sharing between the DCM 12 and the CGW 13 may be configured in any manner. The master device 11 may be configured with two ECUs such as the DCM 12 and the CGW 13, or may be configured with a single integrated ECU having the functions of the DCM 12 and the functions of the CGW 13.” (Para 0293)
“As illustrated in FIG. 156, the ECU 19 includes an application execution unit 105a, a wireless rewrite request specifying unit 105b, and a wired rewrite request specifying unit 105c in the session establishment unit 105. The application execution unit 105a has a function of arbitrating execution of each program. The wireless rewrite request specifying unit 105b has a function of specifying a program rewrite request in a wireless manner. The wired rewrite request specifying unit 105c has a function of specifying a program rewrite request in a wired manner.” (Para 0843)
Examiner Note: Bracketed text not explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Harata does not explicitly teach:
in a first queue… from the first queue… in a second queue… from the second queue… in a third queue…in the third queue… from the third queue
Engstrom, in the same field of endeavor of vehicle data processing, teaches:
in a first queue… from the first queue… in a second queue… from the second queue… in a third queue…in the third queue … from the third queue
(Engstrom) – “The interaction manager 41 contains the hardware/software (e.g. for realizing a prioritization algorithm and a waiting queue, as explained below) for managing the driver's communication and/or interaction with the integrated ADAS/IVIS modules and applications 2 via the integrated HMI 43 (arrow and with the stand-alone applications 3 via the non-integrated HMIs 34, in dependence of the real-time input from the driver/vehicle environment (DVE) state estimator/predictor 42 (arrow A3).” (Para 0044)
“If permission cannot be given, storing the request in a waiting queue and sending a response to the related application 2,3 comprising an indication (b)"permission denied-wait and hold the communication and/or interaction" and possibly an instruction to await further responses” (Para 0065)
“Such a response can include an indication regarding the number of the request in the waiting queue. Preferably, in this case the response is repeated circularly or whenever another request with a higher priority has left the waiting queue.” (Para 0066)
“If an application withdraws it's request, it preferably sends a delete message to the interaction manager instructing the same to remove the request from the waiting queue. This is handled according to the description below with respect to "dynamic priorities".” (Para 0068)
“In these cases the current non-safety-critical request is preferably put into the waiting queue (again) with the highest possible priority allowed for non-safety-critical requests and is permitted according to the above first routine and/or as soon as the safety-critical message (s) have been presented.” (Para 0070)
“However, this requires that the first request is taken out of the waiting queue at the interaction manager 41 when it becomes irrelevant and is replaced by the updated request. In other cases, it may be necessary to delete a request from the waiting queue without replacing it.” (Para 0108)
“In order to accomplish such dynamic priorities, the standard format (protocol) of the request is extended by a field specifying the requested operation on the waiting queue as either add_request, replace_request or delete_request” (Para 0110)
Examiner Note: Per BRI, the repeated action of putting a request in a queue corresponds with multiple queues.
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the control method of Harata with the communications system of Engstrom of Nishi. One of ordinary skill in the art would have been motivated to make these modifications with a reasonable expectation of success, so “that risks and impairments for the safety and comfort of the driver are reduced considerably and workload and distraction of the driver are reduced considerably as well.” (Engstrom Abstract)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Goacher (US11995467) teaches a similar request queueing method.
Dorofiyenko (US20210306280) teaches a similar request queueing method.
Friedland (US20230025804) teaches a similar request queueing method.
Vainer (US20220100562) teaches a similar request queueing method.
Wang (US20210129842) teaches a similar request queueing method
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DAVID RUBEN PEDERSEN whose telephone number is (571)272-9696. The examiner can normally be reached M-Th: 07:00 -16:00 Eastern.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ramon Mercado can be reached at (571) 270-5744. 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.
/DAVID RUBEN PEDERSEN/Examiner, Art Unit 3658