Vehicle updating system and method

By determining the battery state of charge threshold in the vehicle and adjusting according to the vehicle position, the problem of battery exhaustion caused by OTA update is solved, ensuring that the vehicle can still start after shutdown, improving the reliability and usability of the vehicle.

CN110018836BActive Publication Date: 2024-12-27FORD GLOBAL TECH LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201811615677.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-01-09
Filing Date
2018-12-27
Publication Date
2024-12-27
Estimated Expiration
2038-12-27

AI Technical Summary

Technical Problem

Performing an OTA update when the vehicle is turned off can cause the battery to run out, causing the vehicle to fail to restart, especially in case of prolonged parking, affecting the availability and safety of the vehicle.

Method used

By determining a vehicle battery state of charge (SOC) threshold and determining whether to perform an OTA update or only partial updates based on the vehicle position and battery characteristics, to ensure that the battery still has sufficient power after the update to prevent the vehicle from starting.

Benefits of technology

It effectively prevents battery exhaustion caused by OTA updates, ensures that the vehicle can be restarted when needed, especially in long-term parking, improving the reliability and usability of the vehicle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110018836B_ABST
    Figure CN110018836B_ABST
Patent Text Reader

Abstract

The present disclosure provides a "vehicle update system and method". A system, device and method for determining whether to provide an over-the-air (OTA) update to a vehicle are disclosed. An exemplary method includes determining update characteristics of a pending software update for a vehicle. The method also includes determining a vehicle battery state of charge (SOC) threshold based on the update characteristics. The method also includes modifying the threshold based on the location of the vehicle. The method also includes determining the SOC of the vehicle battery. And the method also includes responsively providing the pending software update to the vehicle based on the SOC and the threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to vehicle system updates, and more particularly to systems and methods for performing over-the-air updates to a vehicle. Background of the Invention

[0002] A typical vehicle may have one or more computing systems that may need to be updated over time to provide increased safety and functionality. These updates may be performed through a physical connection to the vehicle at a dealership or maintenance facility, or may be performed "over the air" through a communication link between the vehicle and a remote server or computing system. Summary of the invention

[0003] The appended claims define the present application. This disclosure summarizes aspects of the embodiments and should not be used to limit the claims. Other implementations are contemplated based on the techniques described herein, as will be apparent to one of ordinary skill in the art upon reviewing the following figures and detailed description, and are intended to be within the scope of the present application.

[0004] An example embodiment for providing an over-the-air update to a vehicle based on a vehicle location so that the update does not cause the battery to drop below a threshold level is shown. The disclosed exemplary vehicle over-the-air update system includes a vehicle configured to determine a vehicle battery state of charge (SOC). The system also includes a server. The server is configured to determine update characteristics of a pending software update for the vehicle. The server is further configured to determine a vehicle battery SOC threshold based on the update characteristics. The server is further configured to modify the threshold based on the determined vehicle location. And the server is further configured to responsively provide the pending software update to the vehicle based on the vehicle battery SOC and the threshold.

[0005] An exemplary method is disclosed that includes determining an update characteristic of a pending software update for a vehicle. The method also includes determining a vehicle battery state of charge (SOC) threshold based on the update characteristic. The method also includes modifying the threshold based on a determined vehicle location. The method also includes determining the SOC of the vehicle battery. And the method also includes responsively providing the pending software update to the vehicle based on the SOC and the threshold.

[0006] An exemplary tangible computer-readable medium is disclosed that includes instructions that, when executed by a processor, result in the performance of a set of actions, the set of actions including determining update characteristics of a pending software update for a vehicle. The set of actions also includes determining a vehicle battery state of charge (SOC) threshold based on the update characteristics. The set of actions also includes modifying the threshold based on a location of the vehicle. The set of actions also includes determining a vehicle battery SOC. And the set of actions also includes responsively providing the pending software update based on the vehicle battery SOC and the threshold. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] For a better understanding of the present invention, reference may be made to the embodiments shown in the following drawings. The components in the drawings are not necessarily drawn to scale and related elements may be omitted, or in some cases, the proportions may have been exaggerated in order to emphasize and clearly illustrate the novel features described herein. In addition, as is known in the art, the system components may be arranged in different ways. In addition, in the drawings, the same reference numerals designate corresponding parts throughout the several views.

[0008] Figure 1 An exemplary vehicle and server according to an embodiment of the present disclosure are shown.

[0009] Figure 2 The embodiment according to the present disclosure is shown Figure 1 A simplified block diagram of example electronic components of a vehicle.

[0010] Figure 3 The embodiment according to the present disclosure is shown Figure 1 Simplified block diagram of a server.

[0011] Figure 4 A flow chart of an exemplary method according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0012] While the present invention may be embodied in various forms, some exemplary and non-limiting embodiments are shown in the drawings and will be described below, it being understood that this disclosure is to be considered as an example of the invention and is not intended to limit the invention to the particular embodiments illustrated.

[0013] As described above, some vehicle systems may need to be updated from time to time to provide increased safety and functionality. These updates may require that the vehicle be out of use so that the vehicle systems are not in use during the update process. In some examples, the updates may be performed by physically connecting to the vehicle, such as using a diagnostic tool. The vehicle may be placed in a programming mode in which the current software is erased and replaced with updated software. The vehicle may also be connected to an external power source so as not to drain the battery and ensure that sufficient power is supplied to vehicle systems, such as an electronic control unit (ECU), during the update process.

[0014] Alternatively, the update can be provided via Over-the-Air (OTA). If an OTA update is performed while the vehicle is off, the engine and alternator may not be able to provide power to the vehicle systems and battery. Therefore, an OTA update performed while the vehicle is off may drain the battery, which can cause problems. For example, if the battery is drained too much during the update, the vehicle may not be able to restart after the update is complete. Additionally, the battery may not be able to provide enough power to one or more vehicle ECUs that may need to provide data and diagnostic information during the update process.

[0015] The vehicle battery may have a natural tendency to reduce its state of charge (SOC) over time, even when the vehicle is turned off. This may be due to one or more "key-off" loads, or vehicle systems that draw power when the vehicle is turned off (e.g., keyless entry, security systems, etc.). By taking into account the known power draw from the key-off loads, the vehicle can be designed to charge the battery to a sufficient level before shutting down so that the vehicle can be started again even after a long period of time. However, when an OTA update is performed, the battery SOC may decrease by more than the expected amount, meaning that the vehicle may no longer be able to start after a given period of time. For example, the vehicle may be designed so that the key-off loads allow the vehicle to start even after being turned off for a month and not charging the battery. However, the OTA update may draw power from the battery to the point where it is unable to start the vehicle after two weeks, effectively cutting off a large amount of time that the vehicle can be dormant before the battery needs to be charged.

[0016] These issues may be particularly important where the vehicle is parked in a long term parking lot, such as at an airport long term parking lot or when the driver is away on vacation.

[0017] With these issues in mind, embodiments of the present disclosure may include determining whether to perform a full or partial OTA update based on one or more characteristics of the update, the vehicle SOC, and one or more thresholds, wherein the one or more thresholds are set and / or modified based on vehicle battery characteristics and vehicle location. If the current battery SOC is not above the threshold, the update may not be performed, or only a partial update may be performed. Similarly, if the current battery SOC is above the threshold, the update may be performed.

[0018] Figure 1 An example system including a vehicle 100 and a server 120 is shown. The vehicle 100 may be a standard gasoline-powered vehicle, a hybrid vehicle, an electric vehicle, a fuel cell vehicle, or any other type of vehicle. The vehicle 100 may be non-autonomous, semi-autonomous, or autonomous. The vehicle 100 may include portions related to mobility, such as a powertrain having an engine, a transmission, a suspension, a drive shaft, and / or wheels. In the example shown, the vehicle 100 may include one or more electronic components (the one or more electronic components may refer to Figure 2 Discussion).

[0019] The vehicle 100 may include a battery 102, a communication module 104, and one or more sensors 106. The battery 102 may be a rechargeable low-voltage battery configured to provide power to one or more vehicle systems both when the vehicle is on and when the vehicle is off. One or more vehicle systems may be referred to as "key-off loads," and they may draw power from the battery 102 when the vehicle is off. These key-off loads may include a security system, a keyless entry system, one or more communication systems, and / or one or more other vehicle systems.

[0020] The communication module 104 may be configured to communicate with the server 120 using one or more wireless communication protocols. The communication module 104 may be configured to receive and send data, which may include receiving and sending battery information, vehicle location information, OTA updates, etc. The communication module 104 may be part of or may include one or more computing devices, such as Figure 3 Those computing devices described.

[0021] Sensors 106 may include one or more battery sensors configured to monitor the state of charge, voltage, temperature, and / or any other characteristic of battery 102. Additionally, sensors 106 may include various cameras, microphones, and other sensors configured to capture data corresponding to vehicle 100.

[0022] The server 120 may be configured to perform one or more functions or actions described herein. The server 120 may include or be part of a computing system, such as Figure 3 Describe the computing system.

[0023] Some embodiments disclosed herein may include determining that there is a pending update for a given vehicle. The update may be a software update for one or more vehicle systems that fixes a security vulnerability, adds vehicle system functionality, or otherwise makes one or more changes to the software of one or more vehicle systems, such as an electronic control unit (ECU) of the vehicle.

[0024] In some examples, the presence of pending updates may be determined based on an ID associated with a current version of the vehicle software. For example, a vehicle may have a particular version of software, and that version may be checked against a latest version to determine if the installed software is out of date. The vehicle 100 and / or server 120 may check whether an update is available each time the vehicle is turned on, each time the vehicle is turned off, or based on another event. In some examples, an ignition switch off event (e.g., vehicle turned off) may trigger an action to determine whether there is a pending update for the vehicle. Additionally, the vehicle 100 may be configured to send data to the server 120 at regular intervals to check whether an update is available.

[0025] The pending update may include one or more update characteristics that may be determined by the server 120 and / or the vehicle 100. The update characteristics may include (a) file size, (b) predicted duration required to send the update to the vehicle, (c) predicted time to install or implement the update on the vehicle, (d) a list of vehicle systems required before, during, or after the update to perform the update (in order to provide information about the vehicle systems to complete the update), (e) a list of ECUs required before, during, or after the update to perform the update, and the like.

[0026] In some examples, pending updates may include multiple different files that may include multiple updates that may be independently executed. Each file may have one or more corresponding update characteristics, such as those described above. Additionally, in some cases, an ignition switch off event may trigger a determination of one or more update characteristics corresponding to one or more updates.

[0027] Some embodiments may also include determining a vehicle battery state of charge (SOC) threshold based on update characteristics. For example, each update file may have a corresponding charge depletion amount that is expected if the update is performed. Large updates (determined based on relatively large file size) may have a larger corresponding battery depletion amount associated with them than small updates. The battery depletion amount may correspond to a decrease in battery state of charge that is expected if the update is performed. And in the event that there are multiple update files in the pending updates, each update file may have a corresponding expected battery depletion amount.

[0028] Determining the SOC threshold may include determining an amount that the battery must be at before the update is performed. For example, an example update may include a single file corresponding to an expected decrease in battery SOC of three percent (3%). In the event that it is determined that the battery should be above 80% when the update is completed, the SOC threshold may be determined to be 83% in order to keep the battery at 80% when the update is completed. Then, the update may not be performed unless the vehicle battery SOC is above 83%.

[0029] A minor update may only require 1% of the battery SOC. Therefore, the threshold for a minor update may be 81%. The numbers used are for illustration only, and it should be noted that other thresholds may also be used.

[0030] As described above, a single update may include a single battery threshold. However, where the update includes multiple files, each file may have a corresponding threshold. In addition, each combination, subset, or permutation of multiple files may also have a corresponding threshold. The number of subsets and corresponding thresholds may be defined as X=2 N -1, where X is the number of subsets / thresholds and N is the number of files. Thus, where there are three separate update files, there may be seven separate thresholds (file 1, file 2, file 3, file 1 and 2 combined, file 1 and 3 combined, file 2 and 3 combined, and file 1, 2, and 3 combined).

[0031] In some examples, the threshold value may be determined based on one or more update characteristics of one or more update files (as described above). The threshold value may also be determined based on one or more characteristics of the vehicle battery itself. For example, one or more of the vehicle sensors 106 may be used to detect the health of the battery, such as temperature, current, voltage, etc. This information may be used in part to determine the SOC threshold for a given update so that older or less healthy batteries require a higher threshold than healthier batteries. This may prevent unhealthy batteries from dropping too low during an update. Thus, in some examples, based on the battery details per vehicle, the same update may have a first threshold value for a first vehicle and a second, different threshold value for a second vehicle.

[0032] In some embodiments, the determined SOC threshold for a given update may be modified based on the location of the vehicle. As described above, if the vehicle is parked in a long-term parking location, or is expected to be off for a long period of time, the SOC threshold that needs to be met before an update is performed may be increased or decreased based on this information.

[0033] The vehicle's location may be determined based on GPS data, a connection between the vehicle (via the communication module 104) and a cellular tower, or using any other location determination method.

[0034] In some examples, the vehicle location may be determined when an ignition switch-off event is detected. In this case, the vehicle's location may correspond to its last off location. The location may then be sent to the server 120.

[0035] In some examples, a vehicle location may be predicted, such as a predicted location where the vehicle is likely to be parked or stopped for an extended period of time. Embodiments may include predicting that the vehicle will be parked in a long-term parking lot based on GPS (i.e., the vehicle's location matches a known long-term parking lot), a driver-entered route or navigation location, a driver's schedule or other information integrated with the vehicle, known vehicle usage patterns, etc. This information may be used to predict where the vehicle will be the next time it is shut down, and in some cases the prediction may be done while the vehicle is currently active or in motion.

[0036] The SOC threshold corresponding to a pending update may be modified based on the known or predicted location of the vehicle when the update is to be performed. For example, if it is known that the vehicle will be parked in a long-term parking lot, the SOC threshold may be increased.

[0037] Where there are multiple update files and multiple thresholds, modifying the SOC thresholds may include modifying all or a subset of the thresholds. In practice, this may include increasing the threshold if the vehicle is parked in a long term parking lot. The increased threshold may make it more likely that the vehicle battery will not be depleted before the driver returns. This is achieved by ensuring that an update does not leave the vehicle with too low a battery SOC, by preventing updates that would do so from being executed.

[0038] Some embodiments may also include determining the SOC of the vehicle battery. The battery SOC level may be determined at an ignition switch off event, and / or may also be determined based on one or more other triggers. The battery SOC level may be sent from the vehicle 100 to the server 120 along with other battery information determined by one or more vehicle sensors.

[0039] After determining the vehicle battery SOC, the SOC may be compared to an SOC threshold. If the SOC is greater than the threshold, then the update may be performed. If there are multiple different thresholds for multiple different files, then the SOC may be greater than some thresholds but less than other thresholds. In this case, the subset of update files may be performed based on the SOC being greater than the threshold corresponding to the subset.

[0040] Based on the determined SOC and threshold, embodiments may include providing a pending software update to the vehicle in response to determining the battery SOC. As discussed herein, the pending software update may include all pending software update files or a subset of pending software update files. In some embodiments, the update is provided over the air when the vehicle is turned off.

[0041] Some embodiments may include providing a notification to a remote computing device corresponding to the vehicle (e.g., a cell phone or computer of the owner or driver of the vehicle). The notification may indicate that a software update is about to be performed or is in progress, thereby warning the driver that the vehicle cannot be used for a period of time. The driver may also be provided with the option of abandoning the update or preventing the update from occurring. This may be accomplished by receiving input at the remote computing device and transmitting the input to a server, which may then determine not to perform the update.

[0042] In some examples, the battery SOC may be determined while the vehicle is in motion or started, prior to a key-off event. The vehicle battery SOC may be increased in anticipation of a pending update to increase the likelihood that the battery SOC is greater than a threshold when the vehicle is turned off.

[0043] Figure 2 An exemplary block diagram 200 is shown that illustrates electronic components of vehicle 100 in accordance with some embodiments. In the example shown, electronic components 200 include an onboard computing system 210, an infotainment head unit 220, a communication module 104, sensors 106, an electronic control unit 250, and a vehicle data bus 260.

[0044] The vehicle computing system 210 may include a microcontroller unit, a controller or a processor 212 and a memory 214. The processor 212 may be any suitable processing device or set of processing devices, such as, but not limited to, a microprocessor, a microcontroller-based platform, an integrated circuit, one or more field programmable gate arrays (FPGAs), and / or one or more application-specific integrated circuits (ASICs). The memory 214 may be a volatile memory (e.g., RAM, including non-volatile RAM, magnetic RAM, ferroelectric RAM, etc.), a non-volatile memory (e.g., disk memory, flash memory, EPROM, EEPROM, non-volatile solid-state memory based on memristors, etc.), an unchangeable memory (e.g., EPROM), a read-only memory, and / or a high-capacity storage device (e.g., a hard disk drive, a solid-state drive, etc.). In some examples, the memory 214 includes a variety of memories, particularly volatile memories and non-volatile memories.

[0045] The memory 214 may be a computer-readable medium on which one or more sets of instructions, such as software for operating the methods of the present disclosure, may be embedded. The instructions may embody one or more of the methods or logic as described herein. For example, the instructions may reside completely or at least partially in any one or more of the memory 214, the computer-readable medium, and / or the processor 212 during execution of the instructions.

[0046] The terms "non-transitory computer-readable medium" and "tangible computer-readable medium" include a single medium or multiple media, such as a centralized or distributed database, and / or associated caches and servers that store one or more sets of instructions. In addition, the terms "non-transitory computer-readable medium" and "tangible computer-readable medium" include any tangible medium that can store, encode, or carry a set of instructions for execution by a processor or cause a system to perform any one or more of the methods or operations disclosed herein. As used herein, the term "computer-readable medium" is expressly defined to include any type of computer-readable storage device and / or storage disk, and excludes propagating signals.

[0047] The infotainment head unit 220 may provide an interface between the vehicle 100 and a user. The infotainment head unit 220 may include one or more input and / or output devices in the form of a user interface 222 having one or more input devices and output devices. The input devices may include, for example, control knobs, instrument panels, digital cameras for image capture and / or visual command recognition, touch screens, audio input devices (e.g., cabin microphones), buttons, or touch pads. The output devices may include instrument cluster outputs (e.g., dials, lighting devices), actuators, heads-up displays, center console displays (e.g., liquid crystal displays (LCDs), organic light emitting diode (OLED) displays, flat panel displays, solid-state displays, etc.), and / or speakers. In the example shown, the infotainment head unit 220 includes a display for an infotainment system (such as a display provided by Production and MyFord Depend on Production Depend on Production The information entertainment head unit 220 may include hardware (e.g., processor or controller, memory, storage device, etc.) and software (e.g., operating system, etc.) of the vehicle 100. In some examples, the infotainment head unit 220 may share a processor with the vehicle computing system 210. In addition, the infotainment head unit 220 may display the infotainment system on, for example, a center console display of the vehicle 100.

[0048] In addition to the above Figure 1 In addition to the description of FIG. 1 , the sensors 106 may be arranged in and around the vehicle 100 in any suitable manner. In the example shown, the sensors 106 may include a battery sensor 242. The battery sensor 242 may be configured to detect and measure one or more characteristics of the vehicle battery, such as temperature, output voltage and current, charging voltage and current, and many other characteristics. Therefore, the battery sensor 242 may include two or more sensors.

[0049] The ECU 250 may monitor and control the subsystems of the vehicle 100. The ECU 250 may communicate and exchange information via the vehicle data bus 260. In addition, the ECU 250 may transmit properties (such as the status of the ECU 250, sensor readings, control states, errors and diagnostic codes, etc.) to other ECUs 250 and / or receive requests from other ECUs 250. Some vehicles may have seventy or more ECUs 250 located in various locations around the vehicle, communicatively coupled by the vehicle data bus 360. The ECU 250 may be a discrete group of electronic devices including their own circuits (such as integrated circuits, microprocessors, memory, storage devices, etc.) as well as firmware, sensors, actuators, and / or mounting hardware.

[0050] The vehicle data bus 260 may include one or more data buses that communicatively couple the onboard computing system 210, the infotainment head unit 220, the communication module 104, the sensor 106, the ECU 250, and other devices or systems connected to the vehicle data bus 260. In some examples, the vehicle data bus 260 may be implemented according to the controller area network (CAN) bus protocol defined by the International Standards Organization (ISO) 11898-1. Alternatively, in some examples, the vehicle data bus 260 may be a media oriented systems transport (MOST) bus or a CAN-flexible data (CAN-FD) bus (ISO 11898-7).

[0051] Figure 3 An example block diagram of a computing device 300 according to an embodiment of the present disclosure is shown. One or more features of the computing device 300 may be included in the vehicle 100, the server 120, and other devices or systems described herein.

[0052] The computing device 300 may include a processor 310 and a memory 320, wherein the processor 310 and the memory 320 may be associated with Figure 2 The processor 212 and / or memory 214 described in the embodiment of the present invention are similar or identical. The computing device 300 may also include a user interface 330, which is configured to provide a user with the ability to interact with the computing device 300 and control the computing device 300. The user interface 330 may include one or more input and / or output devices to receive input from the user and display information to the user. The input device may include, for example, a control knob, an instrument panel, a digital camera for image capture and / or visual command recognition, a touch screen, an audio input device (e.g., a microphone), a button or a touch pad. The output device may include one or more displays (e.g., a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a flat panel display, a solid state display, etc.) and / or a speaker.

[0053] The computing device 300 may also include one or more communication modules 340. The communication module 340 may allow wired or wireless communication with one or more other computing devices or systems using one or more communication protocols. The communication module may include a wired or wireless network interface to enable communication with an external network. The communication module may also include hardware (e.g., a processor, memory, storage device, etc.) and software for controlling the wired network interface or the wireless network interface. The communication module may include, among other things, an NFC module, a Bluetooth module, a GPS receiver, a dedicated short-range communication (DSRC) module, a WLAN module, and / or a cellular modem, all of which are electrically coupled to one or more corresponding antennas.

[0054] Figure 4 An exemplary method 400 is shown according to an embodiment of the present disclosure. The method 400 may enable determining whether to provide an OTA update to a vehicle based on the vehicle SOC and location. Figure 4 The flowcharts of represent machine readable instructions that are stored in a memory and may include one or more programs that, when executed by a processor, may cause the vehicle 100, the server 120, and / or one or more systems or devices described herein to perform one or more functions described herein. Figure 4 The flowchart shown describes an exemplary procedure, but many other methods for performing the functions described herein may be used instead. For example, the order of execution of the blocks may be rearranged or executed in series or in parallel with each other, and the blocks may be changed, eliminated, and / or combined to perform the method 400. In addition, due to the combination of Figures 1 to 3 The method 400 is disclosed in detail by the components of FIG. 4 , and therefore some functions of those components will not be described in detail below.

[0055] The method 400 may begin at block 402. At block 404, the method 400 may include determining whether there is a pending vehicle update. If there is a pending vehicle update, the method 400 may include determining one or more update characteristics of the pending update at block 406. The update characteristics may include the number of update files, the file size, and any other metrics, such as those described herein.

[0056] At block 408 , method 400 may include determining a vehicle battery SOC threshold. The threshold may be determined based on the updated characteristic determined at block 406 .

[0057] At box 410, method 400 may include determining whether a key-off event has occurred by detecting a key-off event. If a key-off event has occurred, indicating that the vehicle has been turned off and is no longer in use, method 400 may include determining the vehicle location at box 412. This may be done using GPS data or other data corresponding to the vehicle.

[0058] At block 414 , method 400 may include determining one or more vehicle battery characteristics. This may include battery state of charge, as well as battery age, temperature, output voltage and current, charge acceptance, and / or one or more other characteristics.

[0059] At block 416, method 400 may include modifying the threshold value based on the determined battery characteristics. For example, the threshold value may be increased if it is determined that the battery is older or capable of holding less charge.

[0060] At block 418, method 400 may include modifying the threshold based on the location of the vehicle. As described above, this may include increasing the threshold if it is determined that the vehicle is located in a long-term parking location such as an airport parking lot.

[0061] At block 420, method 400 may include determining whether the battery SOC is greater than a threshold. This may include comparing the battery SOC to a plurality of thresholds and determining which of the thresholds are met or not met. As such, block 420 may also include determining which updates may be completed without reducing the battery SOC below the threshold.

[0062] If the threshold is too high, and the battery SOC is below the threshold, then no update may be performed and the method may end at block 424 .

[0063] However, if the battery SOC is above the threshold, then at box 422, method 400 may include providing updates based on the battery SOC and the threshold. This may include selecting a subset of updates if multiple updates are present, and sending the updates to the vehicle over the air. Method 400 may then end at box 424.

[0064] In the present application, the use of transitional conjunctions is intended to include a connecting meaning. The use of definite or indefinite articles is not intended to indicate a cardinality. Specifically, reference to "said / the" object or "a" and "an" objects is also intended to represent one of a possible plurality of such objects. In addition, the conjunction "or" can be used to express simultaneous features rather than mutually exclusive alternatives. In other words, the conjunction "or" should be understood to include "and / or". The term "includes, including and include" is inclusive and has the same scope as "comprises, comprising and comprise", respectively.

[0065] The above-described embodiments and in particular any "preferred" embodiments are possible examples of implementations and are merely set forth for a clear understanding of the principles of the present invention. Many variations and modifications may be made to the above-described embodiments without departing substantially from the spirit and principles of the technology described herein. All modifications are intended to be included within the scope of this disclosure and protected by the appended claims.

[0066] According to the present invention, a vehicle over-the-air update system is provided, the vehicle over-the-air update system comprising: a vehicle, the vehicle being configured to determine the state of charge (SOC) of a vehicle battery; and a server, the server being configured to: determine update characteristics of a pending software update of the vehicle; determine a vehicle battery SOC threshold based on the update characteristics; modify the threshold based on a location of the vehicle; and responsively provide the pending software update to the vehicle based on the vehicle battery SOC and the threshold.

[0067] According to an embodiment, (i) the pending software update includes multiple update files, (ii) the update characteristics include multiple file sizes corresponding to the multiple update files, and (iii) the vehicle battery SOC threshold includes multiple thresholds corresponding to the multiple update files, and wherein the server is further configured to: provide a subset of the multiple update files based on the multiple thresholds corresponding to the multiple update files.

[0068] According to an embodiment, the server is further configured to modify the threshold value based on a position of the vehicle at a most recent key-off event of the vehicle.

[0069] According to an embodiment, the server is further configured to determine that the vehicle has experienced a key-off event; and responsively determine the update characteristics of the pending software update for the vehicle.

[0070] According to the present invention, a method includes determining update characteristics of a pending software update for a vehicle; determining a vehicle battery state of charge (SOC) threshold based on the update characteristics; modifying the threshold based on a location of the vehicle; determining the battery SOC of the vehicle; and responsively providing the pending software update to the vehicle based on the SOC and the threshold.

[0071] According to an embodiment, the pending software update comprises a software update for an electronic control unit (ECU) of the vehicle.

[0072] According to an embodiment, the update characteristics include the file size of the pending software update.

[0073] According to an embodiment, the pending software update comprises a plurality of update files, and wherein the update characteristics comprise a plurality of file sizes corresponding to the plurality of update files.

[0074] According to an embodiment, the vehicle battery SOC threshold includes a plurality of thresholds corresponding to the plurality of update files.

[0075] According to an embodiment, providing the pending software update to the vehicle based on the SOC and the threshold comprises providing a subset of the plurality of update files based on the plurality of thresholds corresponding to the plurality of update files.

[0076] According to an embodiment, modifying the threshold based on the position of the vehicle comprises modifying the threshold based on the position of the vehicle at a most recent key-off event of the vehicle.

[0077] According to an embodiment, modifying the threshold value based on the position of the vehicle comprises modifying the threshold value based on a predicted parking position of the vehicle.

[0078] According to an embodiment, the SOC of the vehicle at the time of a most recent key-off event of the vehicle is determined.

[0079] According to an embodiment, the above invention is further characterized by providing a notification to a remote computing device corresponding to the vehicle, wherein the notification indicates that a software update is being performed.

[0080] According to an embodiment, the above invention is further characterized by determining that the vehicle has experienced an ignition switch-off event; and responsively determining the update characteristics of the pending software update for the vehicle.

[0081] According to an embodiment, providing the pending software update to the vehicle based on the SOC and the threshold value includes providing the pending software update over the air.

[0082] According to the present invention, a tangible computer-readable medium includes instructions that, when executed, result in the execution of a set of actions, the set of actions including determining update characteristics of a pending software update for a vehicle; determining a vehicle battery state of charge (SOC) threshold based on the update characteristics; modifying the threshold based on the location of the vehicle; determining the vehicle battery SOC; and responsively providing the pending software update based on the vehicle battery SOC and the threshold.

[0083] According to an embodiment, the tangible computer-readable medium is further characterized in that (i) the pending software update includes multiple update files, (ii) the update characteristics include multiple file sizes corresponding to the multiple update files, and (iii) the vehicle battery SOC threshold includes multiple thresholds corresponding to the multiple update files, and the set of actions also includes: providing a subset of the multiple update files based on the multiple thresholds corresponding to the multiple update files.

[0084] According to an embodiment, the tangible computer readable medium, wherein the set of actions further comprises modifying the threshold value based on a position of the vehicle at a most recent key-off event of the vehicle.

[0085] According to an embodiment, the tangible computer readable medium, wherein the set of actions further comprises: determining that the vehicle has experienced a key-off event; and responsively determining the update characteristics of the pending software update for the vehicle.

Claims

1. A vehicle over-the-air download update system, the vehicle over-the-air download update system comprising: a vehicle configured to determine a vehicle battery state of charge (SOC); as well as A server, wherein the server is configured to: determining update characteristics of a pending software update for the vehicle; determining a vehicle battery SOC threshold based on the updated characteristic; modifying the threshold based on a position of the vehicle at a most recent key-off event of the vehicle; as well as The pending software update is responsively provided to the vehicle based on the vehicle battery SOC and the threshold value.

2. The vehicle over-the-air update system of claim 1, wherein (i) the pending software update comprises a plurality of update files, (ii) the update characteristics comprise a plurality of file sizes corresponding to the plurality of update files, and (iii) the vehicle battery SOC threshold comprises a plurality of thresholds corresponding to the plurality of update files, and wherein the server is further configured to: A subset of the plurality of update files is provided based on the plurality of thresholds corresponding to the plurality of update files.

3. The vehicle over-the-air update system as claimed in claim 1, wherein the server is further configured to: determining that the vehicle has experienced an ignition switch-off event; and The update characteristics of the pending software update for the vehicle are responsively determined.

4. A vehicle over-the-air download update method, the method comprising: determining update characteristics of a pending software update for the vehicle; determining a vehicle battery state of charge (SOC) threshold based on the updated characteristic; modifying the threshold based on a position of the vehicle at a most recent key-off event of the vehicle; determining a SOC of a battery of the vehicle; as well as The pending software update is responsively provided to the vehicle based on the SOC and the threshold.

5. The method of claim 4, wherein the pending software update comprises a software update for an electronic control unit (ECU) of the vehicle.

6. The method of claim 4, wherein the update characteristics include a file size of the pending software update.

7. The method of claim 4, wherein the pending software update comprises a plurality of update files, and wherein the update characteristics comprise a plurality of file sizes corresponding to the plurality of update files. 8 . The method of claim 7 , wherein the vehicle battery SOC threshold comprises a plurality of thresholds corresponding to the plurality of update files.

9. The method of claim 8, wherein providing the pending software update to the vehicle based on the SOC and the threshold comprises: A subset of the plurality of update files is provided based on the plurality of thresholds corresponding to the plurality of update files.

10. The method of claim 4, wherein modifying the threshold based on the location of the vehicle comprises modifying the threshold based on a predicted parking location of the vehicle.

11. The method of claim 4, wherein the SOC of the vehicle is determined at a most recent key-off event of the vehicle.

12. The method of claim 4, further comprising: A notification is provided to a remote computing device corresponding to the vehicle, wherein the notification indicates that a software update is being performed.

13. The method of claim 4, further comprising: determining that the vehicle has experienced an ignition switch-off event; as well as The update characteristics of the pending software update for the vehicle are responsively determined.