Method and apparatus for multiple vehicle software module reflash

US10061574B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10061574-B2
Application numberUS-201313803850-A
CountryUS
Kind codeB2
Filing dateMar 14, 2013
Priority dateMar 14, 2013
Publication dateAug 28, 2018
Grant dateAug 28, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system includes a processor configured to wirelessly receive update requests from a plurality of vehicles. The processor is also configured to, for each request, determine if any vehicle modules require updating. Also, the processor is configured to retrieve an updated version and sending the updated version to a vehicle for reflashing, for each module that requires updating. The processor is additionally configured to receive confirmation for each module that has been reflashed and update a vehicle configuration with a version identifier corresponding to the updated version for each reflashed module.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a processor that: receives a plurality of wireless update requests from a plurality of vehicles; and for each of the plurality of wireless update requests: retrieves vehicle data based on an identifier of a respective vehicle, wherein the vehicle data comprises one or more identifiers that identify one or more aftermarket hardware components installed in the respective vehicle; determines, based on the one or more identifiers, which of the one or more aftermarket hardware components require updating; aggregates software updates for each of the one or more aftermarket hardware components that require updating; transmits the aggregated software updates to the respective vehicle; receives, from the respective vehicle, a notification of software modules of one or more aftermarket hardware components that failed to update; and re-transmits software updates for the failed one or more software modules of the one or more aftermarket hardware components that failed to update to the respective vehicle; and each of the plurality of vehicles configured to: receive, from the processor, the aggregated software updates; flash software modules corresponding to the aggregated software updates; determine the one or more of the aftermarket hardware components that failed to update; restore the software modules of the one or more aftermarket hardware components that failed to update to a previous state; wirelessly transmit a notification of the one or more aftermarket hardware components that failed to update to the processor; receive, from the processor, the re-transmitted software updates; and re-flash the software modules of the one or more aftermarket hardware components that failed to update. 2. The system of claim 1 , wherein the processor is configured to compare received module versions against stored module versions from a module database to determine which modules require updating. 3. The system of claim 2 , wherein the processor is further configured to determine which stored module versions from the module database are appropriate for comparison purposes based at least in part on the one or more aftermarket hardware components installed in each respective vehicle. 4. A computer-implemented method comprising: receiving, by a server, a plurality of wireless update requests from a plurality of vehicles; and for each of the plurality of wireless update requests: retrieving, by the server, vehicle data based on an identifier of a respective vehicle, wherein the vehicle data comprises one or more identifiers that identify one or more aftermarket hardware components installed in the respective vehicle; determining, by the server, based on the one or more identifiers, which of the one or more aftermarket hardware components require updating; aggregating, by the server, software updates for each of the one or more aftermarket hardware components that require updating; transmitting, by the server, the aggregated software updates to the respective vehicle; receiving, by the respective vehicle, from the server, the aggregated software updates; flashing, by the respective vehicle, software modules corresponding to the aggregated software updates; determining, by the respective vehicle, one or more of the aftermarket hardware components that failed to update; restoring, by the respective vehicle, software modules of the one or more aftermarket hardware components that failed to update to a previous state; wirelessly transmitting, by the respective vehicle, a notification of the one or more aftermarket hardware components that failed to update to the server; receiving, by the server, the notification of one or more aftermarket hardware components that failed to update; re-transmitting, by the server, software updates for the failed one or more software modules of the one or more aftermarket hardware components; receiving, by the respective vehicle, the re-transmitted software updates; and re-flashing, by the respective vehicle, the software modules of the one or more aftermarket hardware components that failed to update. 5. The method of claim 4 , wherein received module versions are compared against stored module versions from a module database to determine which modules require updating. 6. The method of claim 5 , further comprising determining which stored module versions from the module database are appropriate for comparison purposes based at least in part on the one or more aftermarket hardware components installed in each respective vehicle. 7. A non-transitory computer readable storage medium, storing instructions that, when executed by a processor, cause the processor to perform a method comprising: receiving, by the processor, a plurality of wireless update requests from a plurality of vehicles; and for each of the plurality of wireless update requests: retrieving, by the processor, vehicle data based on an identifier of a respective vehicle, wherein the vehicle data comprises one or more identifiers that identify one or more aftermarket hardware components installed in the respective vehicle; determining, by the processor, based on the one or more identifiers, which of the one or more aftermarket hardware components require updating; aggregating, by the processor, software updates for each of the one or more aftermarket hardware components that require updating; transmitting, by the processor, the aggregated software updates to the respective vehicle; receiving, by the respective vehicle, from the processor, the aggregated software updates; flashing, by the respective vehicle, software modules corresponding to the aggregated software updates; determining, by the respective vehicle, one or more of the one or more aftermarket hardware components that failed to update; restoring, by the respective vehicle, software modules of the one or more aftermarket hardware components that failed to update to a previous state; wirelessly transmitting, by the respective vehicle, a notification of the one or more aftermarket hardware components that failed to update to the processor; receiving, by the processor, the notification of the one or more aftermarket hardware components that failed to update; re-transmitting, by the processor, software updates for the one or more aftermarket hardware components that failed to update; receiving, by the respective vehicle, the re-transmitted software updates; and re-flashing, by the respective vehicle, the software modules of the one or more aftermarket hardware components that failed to update. 8. The non-transitory storage medium of claim 7 , wherein received module versions are compared against stored module versions from a module database to determine which modules require updating.

Assignees

Inventors

Classifications

  • G06F8/654Primary

    using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title

  • of program code stored in read-only memory [ROM] · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10061574B2 cover?
A system includes a processor configured to wirelessly receive update requests from a plurality of vehicles. The processor is also configured to, for each request, determine if any vehicle modules require updating. Also, the processor is configured to retrieve an updated version and sending the updated version to a vehicle for reflashing, for each module that requires updating. The processor is…
Who is the assignee on this patent?
Ford Global Tech Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/654. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 28 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).