DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they include the following reference character(s) not mentioned in the description: 406B and 406C. Examiner presumes that ¶ 000116 line 2 has a typographical error where 402B and 402C are cited instead of 406B and 406C. Corrected drawing sheets in compliance with 37 CFR 1.121(d), or amendment to the specification to add the reference character(s) in the description in compliance with 37 CFR 1.121(b) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Objections
Claim 5 is objected to because of the following informalities:
Claim 5 line 1 reads "the controller is configured to" which appears to be a continuity error since the controller has already been configured in claim 1. This should read "the controller is further configured to" to improve clarity and maintain continuity.
Claim 5 line 2 reads "server, and update" which appears to be a punctuation error since the controller is also doing the updating step. This should read "server and update" to improve clarity.
Appropriate correction is required.
Claim Interpretation
"Run-time data" is interpreted, consistent with the definition known in the art, as any
data collected during a time period when a function, program, system, etc. is operating (i.e.
during run-time).
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1-2, 4, 21, 23-24, 27-28, and 30-31 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Hansel et al. US 20190318555 A1 (hereinafter Hansel).
Regarding claim 1,
Hansel teaches
A device comprising:
non-volatile memory (Figure 1 non-volatile memory 106); and
a controller configured to, in response to detecting a predetermined event, download data from volatile memory to the non-volatile memory (Abstract “The controller is configured to initiate a transfer of the vehicle data stored in the volatile memory module to the non-volatile memory module in response to receiving an indication from the collision-detector module that a collision has occurred”).
Regarding claim 2, Hansel teaches all of claim 1 as detailed above.
Hansel further teaches that
the downloaded data is run-time data (claim 14 “the vehicle data stored in the volatile memory module comprises… navigation decision data”; ¶ 0009 “decision data (e.g., computational logs, intermediate computation results, object detection result, etc.)”; examiner understands this as equivalent to run time data as logs and results would be collected during run time; see Abstract regarding data download).
Regarding claim 4, Hansel teaches all of claim 1 as detailed above.
Hansel further teaches
further comprising a sensor (¶ 0009 “one or more sensors”), wherein the data is obtained from the sensor (¶ 0012 “the vehicle data may include raw sensor data”).
Regarding claim 21,
Hansel teaches
A system comprising:
volatile memory configured to store data used by software during operation of a vehicle (Abstract “a volatile memory module configured to store vehicle data”; ¶ 0012 “the vehicle data may include data used for vehicle navigation (e.g.., [SIC] assisted or autonomous)”); and
one or more processors configured to, in response to detecting a predetermined event, download the data stored in the volatile memory to non-volatile memory (Abstract “The controller is configured to initiate a transfer of the vehicle data stored in the volatile memory module to the non-volatile memory module in response to receiving an indication from the collision-detector module that a collision has occurred”; one of ordinary skill in the art would recognize that the controller of Hansel would conventionally include a processor since it is detailed as a hardware component comprising a computing system in at least ¶ 0022).
Regarding claim 23, Hansel teaches all of claim 21 as detailed above.
Hansel further teaches
the predetermined event is identified based on a rate of deceleration of the vehicle exceeding a predetermined threshold (¶ 0016 “collision-detection module 112 detects a collision (e.g., through a spontaneous spike in deceleration over a pre-determined threshold)”).
Regarding claim 24, Hansel teaches all of claim 21 as detailed above.
Hansel further teaches
the predetermined event comprises accelerometer data indicating that deceleration of the vehicle exceeds a threshold (¶ 0015 “ a collision may be detected… through an accelerometer”; ¶ 0016 “collision-detection module 112 detects a collision (e.g., through a spontaneous spike in deceleration over a pre-determined threshold)”).
Regarding claim 27, Hansel teaches all of claim 21 as detailed above.
Hansel further teaches that
the data is run-time data (claim 14 “the vehicle data stored in the volatile memory module comprises… navigation decision data”; ¶ 0009 “decision data (e.g., computational logs, intermediate computation results, object detection result, etc.)”; examiner understands this as equivalent to run time data as logs and results would be collected during run time) including sensor data (¶ 0012 “the vehicle data may include raw sensor data”) and data regarding an operational state of a control system for the vehicle (¶ 0016 “the sensor data stored in volatile memory module 104 may include… status information of the vehicle”).
Regarding claim 28, Hansel teaches all of claim 27 as detailed above.
Hansel further teaches that
downloading the data comprises downloading at least a predetermined portion of the data stored in the volatile memory (Abstract “transfer of the vehicle data stored in the volatile memory module to the non-volatile memory module”).
Regarding claim 30,
Hansel teaches
A method comprising:
storing data used by software in volatile memory (Abstract “a volatile memory module configured to store vehicle data”; ¶ 0012 “the vehicle data may include data used for vehicle navigation (e.g.., assisted or autonomous)”; and
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory (Abstract “The controller is configured to initiate a transfer of the vehicle data stored in the volatile memory module to the non-volatile memory module in response to receiving an indication from the collision-detector module that a collision has occurred”).
Regarding claim 31, Hansel teaches all of claim 30 as detailed above.
Hansel further teaches that
detecting the predetermined event comprises identifying an extent of movement as compared to a predetermined threshold (¶ 0016 “collision-detection module 112 detects a collision (e.g., through a spontaneous spike in deceleration over a pre-determined threshold)”).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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) 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hansel as applied to claim 1 above, and further in view of Warren US 20150356795 A1 (hereinafter Warren).
Regarding claim 3, Hansel teaches all of claim 1 as detailed above.
Hansel further teaches that
the data is downloaded from the volatile memory (Abstract “initiate a transfer of the vehicle data stored in the volatile memory module to the non-volatile memory module”).
Hansel does not explicitly teach that
the volatile memory provides system memory for the controller, and the data is downloaded from the system memory.
Warren teaches that
the volatile memory provides system memory for the controller (¶ 0049 “major subsystems of controller 700, such as… a system memory 715 (typically RAM, but which may also include ROM, flash RAM, or the like)”).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings of Warren such that the volatile memory may be system memory as taught by Warren such that, since data is downloaded from volatile memory according to Hansel and the entire volatile memory is system memory according to Warren, data would consequentially be downloaded from the system memory thanks to this modification. This modification would be made with a reasonable expectation of success to allow memory to be provided fast read/write times to the controller for any processing tasks that requires it. Further, it would have been prima facie obvious to one having ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings Warren such that the volatile memory of Hansel can be rearranged to be included within the controller of Hansel according to the teachings of Warren since it has been held that rearranging the location of elements without affecting operation of the elements involves only routine skill in the art. See MPEP § 2144.04(VI)(C) and the court cases cited therein.
Claim(s) 5-6, 8-9, and 26 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hansel as applied to claims 1 and 21 above, and further in view of Della Penna US 20190220011 A1 (hereinafter Della).
Regarding claim 5, Hansel teaches all of claim 1 as detailed above.
Hansel further teaches
sending the data to a server (¶ 0033 “the autonomous vehicles 440 may… transmit data to the transportation management system 460”; ¶ 0028 “transportation management system 460 may include one or more server computers”), and updating software in response to receiving a communication from the server (¶ 0033 “the autonomous vehicles 440 may receive data from… the transportation management system 460… Example of received data may include… software updates”; ¶ 0028 “transportation management system 460 may include one or more server computers”).
Hansel does not explicitly teach that
the controller is configured to send the data and update the software in response to receiving a communication.
Della teaches that
the controller is configured to send the data (¶ 0023 “autonomy controller 150 may be configured to transmit event data…to event-adaptive computing platform 109”), and update the software in response to receiving a communication (¶ 0024 discloses the controller receiving updates and being updated).
It would have been prima facie obvious to one having ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings of Della such that the communication with the server and updating of the software of Hansel can be done using the controller as taught by Della. This modification would require only a routine and mundane rearrangement of software functions such that these functions are performed by the controller. It has been held that rearranging the location of elements without affecting operation of the elements involves only routine skill in the art. See MPEP § 2144.04(VI)(C) and the court cases cited therein. Further, this modification would thus be made with a reasonable expectation of success to reduce production costs by allowing one component to perform multiple functions.
Regarding claim 6, the modified Hansel reference teaches all of claim 5 as detailed above.
Hansel does not teach that
the server is configured to send the communication based on identifying that software is unsafe.
Della further teaches that
the server is configured to send the communication based on identifying that software is unsafe (¶ 0080-0082 discloses sending an updated software to a vehicle after analyzing event data to determine a type of event such as software failing to stop due to an occluded stop sign; examiner understands at least this example to be equivalent to identifying unsafe software; see also ¶ 0023-0024 regarding more detail on updates).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have further modified Hansel to incorporate the further teachings of Della such that the server of Hansel can analyze the received data to determine unsafe operations that require logic updates as taught by Della. This modification would be made with a reasonable expectation of success to improve safety of an autonomously driving vehicle and prevent future occurrences of the collision event.
Regarding claim 8, the modified Hansel reference teaches all of claim 5 as detailed above.
Hansel does not teach that
the updated software controls a navigation system of a vehicle.
Della further teaches that
the updated software controls a navigation system of a vehicle (¶ 0082, for example, discloses the updated software updating time/distance at which brakes are applied; examiner understands this as control of an autonomous navigation system including brakes).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have further modified Hansel to incorporate the further teachings of Della such that the updated software can control vehicle navigation as taught by Della. This modification would be made with a reasonable expectation of success to improve safety of an autonomously driving vehicle and prevent future occurrences of the collision event.
Regarding claim 9, the modified Hansel reference teaches all of claim 8 as detailed above.
Hansel does not teach that
the updated software causes the vehicle to avoid unsafe functions.
Della teaches that
the updated software causes the vehicle to avoid unsafe functions (¶ 0082, for example, discloses the updated software updating time/distance at which brakes are applied).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have further modified Hansel to incorporate the further teachings of Della such that the updated software improves autonomous driving practices to avoid reoccurrence of the event as taught by Della. This modification would be made with a reasonable expectation of success to improve safety of an autonomously driving vehicle.
Regarding claim 26, Hansel teaches all of claim 21 as detailed above.
Hansel teaches that
the data is downloaded to the non-volatile memory (Abstract “initiate a transfer of the vehicle data stored in the volatile memory module to the non-volatile memory module in response to receiving an indication… that a collision has occurred”),
and communication to a central server (¶ 0033 “the autonomous vehicles 440 may… transmit data to the transportation management system 460”; ¶ 0028 “transportation management system 460 may include one or more server computers”).
Hansel does not teach that
event data is extracted from the non-volatile memory and communicated to a central server configured to analyze the event data.
Della teaches
event data is extracted from the non-volatile memory and communicated to a central server (¶ 0023 “transmit event data 138… to event-adaptive computing platform 109”; see also ¶ 0017 and claim 8 where event data is initially stored in a repository before transmission) configured to analyze the event data (¶ 0080 discloses analysis of the received data by the computing platform).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings of Della such that the data sent to a server as taught by Hansel can be the event data stored in memory wherein the server can analyze the event data as taught by Della. This modification would be made with a reasonable expectation of success to allow remote identification of software faults on a computer that is undamaged from the event to improve safety of the vehicle and reliability of the completion of the diagnostic process.
Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hansel and Della as applied to claim 6 above, and further in view of “Classification of Software Behaviors for Failure Detection” by Lo et al. (hereinafter Lo).
Regarding claim 7, the modified Hansel reference teaches all of claim 6 as detailed above.
Hansel does not teach that
the server is further configured to identify that the software is unsafe based on pattern recognition.
Lo teaches that
the server is further configured to identify that the software is unsafe based on pattern recognition (Abstract discloses using a pattern based approach to detect software anomalies and failures; examiner understands software anomalies and failures as equivalent to unsafe software).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have further modified Hansel to incorporate the teachings of Lo such that the analysis of Della can further include a pattern based approach of software failure/anomalies as taught by Lo. This modification would be made with a reasonable expectation of success to improve classification accuracy as disclosed by Lo (Conclusion).
Claim(s) 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hansel as applied to claim 21 above, and further in view of Davidson US 2013030873 A1 (hereinafter Davidson).
Regarding claim 22, Hansel teaches all of claim 21 as detailed above.
Hansel does not teach that
the predetermined event is identified based on a measurement of a brake pedal in the vehicle.
Davidson teaches that
the predetermined event is identified based on a measurement of a brake pedal in the vehicle (¶ 0094 discloses storing data in response to a predefined event relating to a parameter measured by one or more sensors; ¶ 0083 discloses a brake pedal position sensor).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings of Davidson. Since each individual element and its function are shown in the prior art, albeit shown in separate references, the difference between the claimed subject matter and the prior art rests not on any individual element or function, but in the very combination itself, that is in the substitution of the brake pedal position based event of Davidson for the collision event of Hansel. Thus, the simple substitution of one known element for another producing a predictable result of causing data collection in response to a detected event renders the claim obvious.
Claim(s) 25 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hansel as applied to claim 21 above, and further in view of Klug US 8229630 B2 (hereinafter Klug).
Regarding claim 25, Hansel teaches all of claim 21 as detailed above.
Hansel does not teach that
the download of the data is performed within a specific time duration after detecting the predetermined event, the specific time duration being less than five seconds.
Klug teaches that
the download of the data is performed within a specific time duration after detecting the predetermined event, the specific time duration being less than five seconds (column 2 lines 10-62 discloses that; following detection of disconnection from a battery in, for example, and accident; accident data is collected in 250ms and transferred to non-volatile memory in approximately 2 seconds).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings of Klug such that upon a collision detection of Hansel, accident data can be collected and transferred to non-volatile memory in approximately 2.25 seconds as taught by Klug. This modification would be made with a reasonable expectation of success to ensure sufficient data exists to reconstruct the accident even if the vehicle’s battery becomes disconnected as disclosed in Klug (column 1 lines 15-25 and column 2 lines 10-31).
Claim(s) 29 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hansel as applied to claim 28 above, and further in view of Zwerg et al. US 20190377404 A1 (hereinafter Zwerg).
Regarding claim 29, Hansel teaches all of claim 28 as detailed above.
Hansel teaches that
the predetermined portion includes a program counter indicating an operational state of the software executing during the predetermined event.
Zwerg teaches that
the predetermined portion includes a program counter (¶ 0025 discloses storing program counters in memory in response to a low power event) indicating an operational state of the software executing during the predetermined event (¶ 0025 “the data stored in the NVL memory 115 during the entry into the low power mode represents a state of one or more of the CPU 105 or one or more peripherals”; Abstract discloses that normal operating is interrupted to cause data transfer indicating that the transferred data is the state at the time and consequentially during the event).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Hansel to incorporate the teachings of Zwerg such that a program counter can be included in the downloaded data as taught by Zwerg. This modification would be made with a reasonable expectation of success to enable a system state to be easily recovered following reset of the system as taught by Zwerg (¶ 0025).
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-4,21, 23-24, 27-28, and 30-31 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 4, 9-10, and 18 of U.S. Patent No. 11,507,175 B2 (hereinafter Golov) in view of Hansel. Golov teaches the following.
Application 19/020,438
US Patent 11,507,175 B2 (Golov)
Claim 1
Claim 9
A device comprising:
A system comprising…
non-volatile memory; and
...non-volatile memory…
a controller configured to, in response to detecting a predetermined event, download data from volatile memory to the non-volatile memory.
...at least one processing device; andmemory storing instructions configured to instruct the at least one processing device to... in response to determining that the event has occurred...initiate a transfer of data, the transfer including copying data stored in the volatile memory to the non-volatile memory…
Claim 2
Claim 10 or Claim 18
The device of claim 1, wherein the downloaded data is run-time data.
The system of claim 9, wherein the collected data includes data indicating failure or impending failure of a power source that provides power to the volatile memory.The system of claim 9, wherein the collected dataincludes data from at least one accelerometer.
Claim 3
Claim 9
The device of claim 1, wherein the volatile memory provides system memory for the controller, and the data is downloaded from the system memory.
...wherein the first processing device utilizes thevolatile memory as system memory for the firstprocessing device…
Claim 4
Claim 18
The device of claim 1, further comprising a sensor, wherein the data is obtained from the sensor.
The system of claim 9, wherein the collected dataincludes data from at least one accelerometer.
Claim 21
Claim 9
A system comprising:
A system comprising…
volatile memory configured to store data used by software during operation of a vehicle; and
...volatile memory…
one or more processors configured to, in response to detecting a predetermined event, download the data stored in the volatile memory to non-volatile memory.
...at least one processing device; andmemory storing instructions configured to instruct the at least one processing device to... in response to determining that the event has occurred...initiate a transfer of data, the transfer including copying data stored in the volatile memory to the non-volatile memory…
Claim 23
Claim 4
The system of claim 21, wherein the predetermined event is identified based on a rate of deceleration of the vehicle exceeding a predetermined threshold.
The method of claim 1, wherein the collected data includes data from at least one accelerometer of the autonomous vehicle, and the event is a deceleration of the autonomous vehicle that exceeds a predetermined threshold.
Claim 24
Claim 4
The system of claim 21, wherein the predetermined event comprises accelerometer data indicating that deceleration of the vehicle exceeds a threshold.
The method of claim 1, wherein the collected data includes data from at least one accelerometer of the autonomous vehicle, and the event is a deceleration of the autonomous vehicle that exceeds a predetermined threshold.
Claim 27
Claim 10 and Claim 18
The system of claim 21, wherein the data is run-time data including sensor data and data regarding an operational state of a control system for the vehicle.
The system of claim 9, wherein the collected data includes data indicating failure or impending failure of a power source that provides power to the volatile memory.The system of claim 9, wherein the collected dataincludes data from at least one accelerometer.
Claim 28
Claim 9
The system of claim 27, wherein downloading the data comprises downloading at least a predetermined portion of the data stored in the volatile memory.
...initiate a transfer of data, the transfer including copying data stored in the volatile memory to the non-volatile memory…
Claim 30
Claim 1
A method comprising:
A method comprising…
storing data used by software in volatile memory; and
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory.
...initiating a transfer of data including copying data stored in the volatile memory of the autonomous vehicle to a non-volatile memory of the autonomous vehicle...
Claim 31
Claim 4
The method of claim 30, wherein detecting the predetermined event comprises identifying an extent of movement as compared to a predetermined threshold.
The method of claim 1, wherein the collected data includes data from at least one accelerometer of the autonomous vehicle, and the event is a deceleration of the autonomous vehicle that exceeds a predetermined threshold.
Golov does not teach a controller or that the volatile memory is configured to store data used by software during operation of a vehicle.
Hansel teaches a controller (claim 18) or that the volatile memory is configured to store data used by software during operation of a vehicle (claim 1 and 9).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Golov to incorporate the teachings of Hansel such that the volatile memory of Golov can store data for use by the vehicle as taught by Hansel. This modification would be made with a reasonable expectation of success to improve processing speed by using volatile memory for storing and retrieving data. Further it would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Golov to incorporate the teachings of Hansel. Since each individual element and its function are shown in the prior art, albeit shown in separate references, the difference between the claimed subject matter and the prior art rests not on any individual element or function, but in the very combination itself, that is in the substitution of the controller of Hansel for the processing device of Golov. Thus, the simple substitution of one known element for another producing a predictable result of transferring memory renders the claim obvious.
Claims 1, 4, 21, and 30 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 of copending Application No. 16/263,359 (hereinafter Golov1) (reference application). Although the claims at issue are not identical, they are not patentably distinct from each other because the Golov teaches the following.
Application 19/020,438
Application 16/263,359 (Golov1)
Claim 1
Claim 1
A device comprising:
An autonomous vehicle, comprising…
non-volatile memory; and
...a non-volatile memory…
a controller configured to, in response to detecting a predetermined event, download data from volatile memory to the non-volatile memory.
...a controller configured to copy the first sensor data from the first cyclic buffer into the non-volatile memory in response to the accident signal, and copy the second sensor data from the second cyclic buffer to the non-volatile memory in response to the training signal.
Claim 4
Claim 1
The device of claim 1, further comprising a sensor, wherein the data is obtained from the sensor.
…sensor data…
Claim 21
Claim 1
A system comprising:
An autonomous vehicle, comprising…
volatile memory configured to store data used by software during operation of a vehicle; and
...a first cyclic buffer having a capacity to buffer first sensor data generated by the sensors up to a first period of time; a second cyclic buffer having a capacity to buffer second sensor data generated by the sensors up to a second period of time that is longer than the first period of time...
one or more processors configured to, in response to detecting a predetermined event, download the data stored in the volatile memory to non-volatile memory.
...a controller configured to copy the first sensor data from the first cyclic buffer into the non-volatile memory in response to the accident signal, and copy the second sensor data from the second cyclic buffer to the non-volatile memory in response to the training signal.
Claim 30
Claim 1
A method comprising:
An autonomous vehicle, comprising…
storing data used by software in volatile memory; and
...a first cyclic buffer having a capacity to buffer first sensor data generated by the sensors up to a first period of time; a second cyclic buffer having a capacity to buffer second sensor data generated by the sensors up to a second period of time that is longer than the first period of time...
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory.
...a controller configured to copy the first sensor data from the first cyclic buffer into the non-volatile memory in response to the accident signal, and copy the second sensor data from the second cyclic buffer to the non-volatile memory in response to the training signal.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claims 30 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 6-7 of U.S. Patent No. 11,670,123 B2 (hereinafter Sato) in view of Hansel. Sato teaches the following.
Application 19/020,438
US Patent 11,670,123 B2 (Sato)
Claim 30
Claim 1
A method comprising:
A method for an autonomous vehicle, the methodcomprising…
storing data used by software in volatile memory; and
...automatically storing the sensor data in a volatile memory independently of any control by a host controller;
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory.
transferring at least a first portion of the sensor data stored in the volatile memory to a non-volatile memory disposed in a predetermined location within the autonomous vehicle upon detecting a predetermined event…
Sato does not teach that the volatile memory is configured to store data used by software during operation of a vehicle.
Hansel teaches that the volatile memory is configured to store data used by software during operation of a vehicle (claims 1 and 9).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Sato to incorporate the teachings of Hansel such that the volatile memory of Sato can store data for use by the vehicle as taught by Hansel. This modification would be made with a reasonable expectation of success to improve processing speed by using volatile memory for storing and retrieving data.
Examiner notes that Sato cannot be applied to reject claims 1 or 21 under double patenting as the limitation “wherein data of a predetermined type is extracted from the volatile memory without any knowledge of or control by the host controller” detailed in at least claim 7 of Sato appears to teach away from having a controller/processor perform the transference method.
Claims 1-2, 4-8, 21, 26-28, and 30 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 21, and 26-27 of copending Application No. 18/307723 (hereinafter Sato1) in view of Hansel. Sato1 teaches the following.
Application 19/020,438
US Application 18/307723 (Sato1)
Claim 1
Claim 1
A device comprising:
A device comprising…
non-volatile memory; and
...a non-volatile memory
a controller configured to, in response to detecting a predetermined event, download data from volatile memory to the non-volatile memory.
configured to download, from the volatile memory upon detecting a predetermined event of the vehicle, sensor data and the instructions…
Claim 2
Claim 1
The device of claim 1, wherein the downloaded data is run-time data.
...download... sensor data and the instructions…
Claim 4
Claim 1
The device of claim 1, further comprising a sensor, wherein the data is obtained from the sensor.
...at least one sensor of a vehicle configured to generate sensor data…download a first portion of the sensor data…
Claim 5
Claim 21 and 26
The device of claim 1, wherein the controller is configured to send the data to a server,
...send the sensor data and the instructions to a server…
and update software in response to receiving a communication from the server.
The device of claim 21, wherein the controller is further configured to, in response to receiving the communication, update software used to control operation of the vehicle in the autonomous navigation mode.
Claim 6
Claim 27
The device of claim 5, wherein the server is configured to send the communication based on identifying that software is unsafe.
The device of claim 21, wherein the server identifies that software used to control operation of the vehicle in the autonomous navigation mode is unsafe based on pattern recognition, and the communication indicates that the software is unsafe.
Claim 7
Claim 27
The device of claim 6, wherein the server is further configured to identify that the software is unsafe based on pattern recognition.
The device of claim 21, wherein the server identifies that software used to control operation of the vehicle in the autonomous navigation mode is unsafe based on pattern recognition, and the communication indicates that the software is unsafe.
Claim 8
Claim 26
The device of claim 5, wherein the updated software controls a navigation system of a vehicle.
The device of claim 21, wherein the controller is further configured to, in response to receiving the communication, update software used to control operation of the vehicle in the autonomous navigation mode.
Claim 21
Claim 1
A system comprising:
A device comprising…
volatile memory configured to store data used by software during operation of a vehicle; and
...a volatile memory…
one or more processors configured to, in response to detecting a predetermined event, download the data stored in the volatile memory to non-volatile memory.
...a non-volatile memory configured to download, from the volatile memory upon detecting a predetermined event of the vehicle, sensor data and the instructions…
Claim 26
Claim 21 and 27
The system of claim 21, wherein, after the data is downloaded to the non-volatile memory, event data is extracted from the non-volatile memory and communicated to a central server configured to analyze the event data.
...to send the sensor data and the instructions to a server... The device of claim 21, wherein the server identifies that software used to control operation of the vehicle in the autonomous navigation mode is unsafe based on pattern recognition, and the communication indicates that the software is unsafe.
Claim 27
Claims 1
The system of claim 21, wherein the data is run-time data including sensor data and data regarding an operational state of a control system for the vehicle.
...download... sensor data and the instructions…
Claim 28
Claim 1
The system of claim 27, wherein downloading the data comprises downloading at least a predetermined portion of the data stored in the volatile memory.
...download... sensor data and the instructions…
Claim 30
Claim 1
A method comprising:
A device comprising…
storing data used by software in volatile memory; and
...a volatile memory…
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory.
...a non-volatile memory configured to download, from the volatile memory upon detecting a predetermined event of the vehicle, sensor data and the instructions…
Sato1 does not teach a controller or a processor or that the volatile memory is configured to store data used by software during operation of a vehicle.
Hansel teaches a controller (claim 18) or a processor (claim 18; one of skill in the art would recognize that the controller of Hansel would conventionally include a processor since it is detailed as a hardware component comprising a computing system in at least ¶ 0022) or that the volatile memory is configured to store data used by software during operation of a vehicle (claims 1 and 9).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Sato1 to incorporate the teachings of Hansel such that the volatile memory of Sato1 can store data for use by the vehicle as taught by Hansel and the vehicle of Sato can further include the controller of Hansel. This modification would be made with a reasonable expectation of success to improve processing speed by using volatile memory for storing and retrieving data and allow for repeatable performance of the method on a computer.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claims 1-4, 21, 25-28, and 30-31 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 3, 8, 11-13, and 15 of copending Application No. 16/010646 (hereinafter Sato2) (reference application) in view of Hansel. Sato2 teaches the following.
Application 19/020,438
Application 16/010646 (Sato2)
Claim 1
Claim 11
A device comprising:
An autonomous vehicle comprising…
non-volatile memory; and
...a non-volatile memory device…
a controller configured to, in response to detecting a predetermined event, download data from volatile memory to the non-volatile memory.
...at least one computing device configured to control at least one operation of the vehicle; and memory storing instructions configured to instruct the at least one computing device to: detect, based on at least a portion of the sensor data, an event associated with operation of the vehicle; and in response to detecting the event, download first data from the volatile memory device to the non-volatile memory device.
Claim 2
Claim 13
The device of claim 1, wherein the downloaded data is run-time data.
The autonomous vehicle of claim 11, wherein the data used by the software during operation of the vehicle is stored in system memory of the at least one computing device, and wherein the first data comprises... at least a portion of the data used by the software during operation of the vehicle...
Claim 3
Claim 8
The device of claim 1, wherein the volatile memory provides system memory for the controller, and the data is downloaded from the system memory.
The method of claim 1, wherein the system memory includes a volatile memory device that stores the data prior to downloading the data from the system memory to the non-volatile memory device.
Claim 4
Claims 11 and 13
The device of claim 1, further comprising a sensor, wherein the data is obtained from the sensor.
...at least one sensor...The autonomous vehicle of claim 11, wherein the data used by the software during operation of the vehicle is stored in system memory of the at least one computing device, and wherein the first data comprises... the portion of the sensor data.
Claim 21
Claim 11
A system comprising:
An autonomous vehicle comprising…
volatile memory configured to store data used by software during operation of a vehicle; and
...a volatile memory device to store data used by software during operation of the vehicle…
one or more processors configured to, in response to detecting a predetermined event, download the data stored in the volatile memory to non-volatile memory.
...at least one computing device configured to control at least one operation of the vehicle; and memory storing instructions configured to instruct the at least one computing device to: detect, based on at least a portion of the sensor data, an event associated with operation of the vehicle; and in response to detecting the event, download first data from the volatile memory device to the non-volatile memory device.
Claim 25
Claim 12
The system of claim 21, wherein the download of the data is performed within a specific time duration after detecting the predetermined event, the specific time duration being less than five seconds.
The autonomous vehicle of claim 11, wherein downloading the first data from the volatile memory device to the non-volatile memory device is completed in less than five seconds after detecting the event.
Claim 26
Claim 15
The system of claim 21, wherein, after the data is downloaded to the non-volatile memory, event data is extracted from the non-volatile memory and communicated to a central server configured to analyze the event data.
The autonomous vehicle of claim 11, wherein the non-volatile memory device is configured to provide the first data to a first computing device configured to analyze the first data.
Claim 27
Claim 13
The system of claim 21, wherein the data is run-time data including sensor data and data regarding an operational state of a control system for the vehicle.
The autonomous vehicle of claim 11, wherein the data used by the software during operation of the vehicle is stored in system memory of the at least one computing device, and wherein the first data comprises at least one of: at least a portion of the data used by the software during operation of the vehicle; or the portion of the sensor data.
Claim 28
Claim 13
The system of claim 27, wherein downloading the data comprises downloading at least a predetermined portion of the data stored in the volatile memory.
The autonomous vehicle of claim 11, wherein the data used by the software during operation of the vehicle is stored in system memory of the at least one computing device, and wherein the first data comprises at least one of: at least a portion of the data used by the software during operation of the vehicle; or the portion of the sensor data.
Claim 30
Claims 1 and 8
A method comprising:
A method for an autonomous vehicle, the method comprising…
storing data used by software in volatile memory; and
The method of claim 1, wherein the system memory includes a volatile memory device that stores the data prior to downloading the data from the system memory to the non-volatile memory device.
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory.
...in response to detecting the event, downloading data from the system memory to a non-volatile memory device of the vehicle.
Claim 31
Claim 3
The method of claim 30, wherein detecting the predetermined event comprises identifying an extent of movement as compared to a predetermined threshold.
The method of claim 1, wherein detecting the event comprises at least one of: receiving first data from at least one sensor of the vehicle, and comparing the first data to a threshold; detecting activation of an emergency braking system of the vehicle; or analyzing an output from an artificial neural network.
Sato2 does not teach a controller, a processor, or a server.
Hansel teaches a controller (claim 18), a processor (claim 18; one of skill in the art would recognize that the controller of Hansel would conventionally include a processor since it is detailed as a hardware component comprising a computing system in at least ¶ 0022), or a server (¶ 0028).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Sato2 to incorporate the teachings of Hansel. Since each individual element and its function are shown in the prior art, albeit shown in separate references, the difference between the claimed subject matter and the prior art rests not on any individual element or function, but in the very combination itself, that is in the substitution of the controller and server of Hansel for the computing devices of Sato2. Thus, the simple substitution of one known element for another producing a predictable result of transferring memory renders the claim obvious.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claims 1, 21, and 30 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claim 11 of copending Application No. 17/958,915 (hereinafter Pax) in view of Hansel. Pax teaches the following.
Application 19/020,438
Application 17/958,915 (Pax)
Claim 1
Claim 11
A device comprising:
A dual inline memory module (DIMM), comprising…
non-volatile memory; and
...non-volatile memory (NVM)…
a controller configured to, in response to detecting a predetermined event, download data from volatile memory to the non-volatile memory.
... a controller and register configured to perform operations, including: receiving, from a host device, a first control signal establishing a value in the register enabling saving of data in the DRAM to the NVM through use of the power source in response to power loss to the DIMM...
Claim 21
Claim 11
A system comprising:
A dual inline memory module (DIMM), comprising…
volatile memory configured to store data used by software during operation of a vehicle; and
...dynamic random access memory (DRAM)…
one or more processors configured to, in response to detecting a predetermined event, download the data stored in the volatile memory to non-volatile memory.
... a controller and register configured to perform operations, including: receiving, from a host device, a first control signal establishing a value in the register enabling saving of data in the DRAM to the NVM through use of the power source in response to power loss to the DIMM...
Claim 30
Claim 11
A method comprising:
A method of operating a dual inline memory module (DIMM), comprising:
storing data used by software in volatile memory; and
in response to detecting a predetermined event associated with a vehicle, downloading the data stored in the volatile memory to non-volatile memory.
receiving a first command at a register of the DIMM, the first command from a host device, the first command enabling saving of contents of dynamic random access memory (DRAM) of the memory module to non-volatile memory (NVM) of the memory module in an event of loss of power to the DIMM...
Pax does not teach that the volatile memory is configured to store data used by software during operation of a vehicle.
Hansel teaches that the volatile memory is configured to store data used by software during operation of a vehicle (claims 1 and 9).
It would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Pax to incorporate the teachings of Hansel such that the volatile memory of Pax can store data for use by the vehicle as taught by Hansel. This modification would be made with a reasonable expectation of success to improve processing speed by using volatile memory for storing and retrieving data.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claims 2-9, 22-29, and 31 are (provisionally) rejected on the ground of nonstatutory double patenting as being unpatentable over Galov, Galov1, Sato, Sato1, Sato2, or Pax in view of Hansel, Warren, Della, Lo, Davidson, Zwerg, and/or Klug. See above regarding which independent claims are taught by Galov, Galov1, Sato, Sato1, Sato2, or Pax. Claim 28 is taught in Galov, Galov1, Sato, Sato1, Sato2, and Pax (see at least independent claim citations above) although claim 27 is not taught in all these references.
Any applicable dependent claims not previously discussed under double patenting regarding Galov, Galov1, Sato, Sato1, Sato2, or Pax may further be rejected using the cited sections of the prior art as detailed in the 102 and 103 rejections above. For conciseness of record, these grounds of rejection are not repeated. The same reasons to combine detailed above for Warren, Della, Lo, Davidson, Zwerg, and/or Klug may be utilized with regards to the not taught aspects of Galov, Galov1, Sato, Sato1, Sato2, or Pax. Regarding Hansel, it would have been prima facie obvious to one of ordinary skill in the art at the time of filing to have modified Galov, Galov1, Sato, Sato1, Sato2, or Pax to incorporate the teachings of Hansel such that run time data can be downloaded, sensor data can be downloaded, operational state data can be downloaded, and the event may be a sudden deceleration captured by an accelerometer. This modification would be made with a reasonable expectation of success to improve record keeping of the incident and allow for accurate detection of a collision event which may damage a volatile memory or power source requiring data to be saved before complete erasure.
Documents Considered but not Relied Upon
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Fox US 20190034256 A1 discloses communicating with a server and getting ECU updates.
Zhang et al. US 20170060768 A1 discloses using volatile memory as system memory for the controller.
Dhainaut FR 2799557 A1 discloses logging data into non-volatile memory when deceleration exceeds a threshold.
Pelling GB 2443645 A discloses detecting a high deceleration indicating an accident and storing accident information in a non-volatile memory.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ashley Tiffany Schoech whose telephone number is (571)272-2937. The examiner can normally be reached 4:45 am - 3:15 pm PT Monday - Thursday.
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, Erin Piateski can be reached at 571-270-7429. 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.
/A.T.S./Examiner, Art Unit 3669
/Erin M Piateski/Supervisory Patent Examiner, Art Unit 3669