WO2022193298A1 - Method and apparatus for updating a vehicle application - Google Patents

Method and apparatus for updating a vehicle application Download PDF

Info

Publication number
WO2022193298A1
WO2022193298A1 PCT/CN2021/081845 CN2021081845W WO2022193298A1 WO 2022193298 A1 WO2022193298 A1 WO 2022193298A1 CN 2021081845 W CN2021081845 W CN 2021081845W WO 2022193298 A1 WO2022193298 A1 WO 2022193298A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
vehicles
batch
behavior
server
Prior art date
Application number
PCT/CN2021/081845
Other languages
French (fr)
Inventor
Fengpei Zhang
Xinmei KE
Yinsheng CHEN
Jingfeng Luo
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/CN2021/081845 priority Critical patent/WO2022193298A1/en
Publication of WO2022193298A1 publication Critical patent/WO2022193298A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station

Definitions

  • the present disclosure generally relates to communication networks, and more specifically, to a method and apparatus for vehicle application.
  • OTA over-the-air
  • FOTA firmware-over-the-air
  • SOTA software-over-the-air
  • An OTA server may support the firmware/software update of a vehicle, e.g., according to static information of the vehicle such as the vehicle model, the current firmware/software version, the battery level, etc.
  • static information of the vehicle such as the vehicle model, the current firmware/software version, the battery level, etc.
  • the static information of the vehicle may not be sufficient for updating safety sensitive firmware/software.
  • a more conservative strategy may be required to update the vehicles batch by batch. Therefore, it may be desirable to support the update of vehicles in a more efficient way.
  • Various exemplary embodiments of the present disclosure propose a solution for vehicle application, which can enable a pilot batch of target vehicles to be selected for safety sensitive firmware/software update, e.g., according to behavior-oriented attributes of the vehicles, so as to avoid or reduce some potential risks and enhance driving safety.
  • pilot batch of vehicles may refer to a batch of vehicles that are updated first among target vehicles, similar as “grayscale release” and “canary test” concepts in software release process.
  • a method performed by a vehicle server comprises: determining behavior-oriented information of a vehicle.
  • the behavior-oriented information of the vehicle may be used to determine whether the vehicle belongs to a first batch of vehicles to be updated.
  • the method further comprises: receiving an update indication of the vehicle from an application server, when the vehicle is updated.
  • the behavior-oriented information of the vehicle may indicate one or more behaviors of the vehicle during a time period.
  • the vehicle server can determine the behavior-oriented information of the vehicle by performing an analysis on data reported by the vehicle and generating one or more behavior-oriented attributes of the vehicle according to the analysis.
  • the behavior-oriented information of the vehicle may include one or more of: vehicle condition information, driving behavior information, and road condition information.
  • the vehicle condition information may include one or more of: a maintenance status, a repair frequency, and a diagnostic status.
  • the driving behavior information may include a driving frequency and/or a driving behavior score.
  • the driving behavior score may be based on a negative driving behavior deduction.
  • the road condition information may include highway percentage information.
  • the behavior-oriented information of the vehicle may be determined according to one or more of: location data, sensor data, diagnostic data, trajectory data, and event log data.
  • the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the application server or the vehicle server.
  • the method according to the first aspect of the present disclosure may further comprise: receiving a request for the behavior-oriented information of the vehicle from the application server.
  • the method according to the first aspect of the present disclosure may further comprise: transmitting the behavior-oriented information of the vehicle to the application server.
  • the method according to the first aspect of the present disclosure may further comprise: receiving a notification from the application server.
  • the notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
  • the method according to the first aspect of the present disclosure may further comprise: receiving a selection criterion of the first batch of vehicles from the application server.
  • the selection criterion of the first batch of vehicles may include one or more parameters and/or thresholds corresponding to the behavior-oriented information.
  • the method according to the first aspect of the present disclosure may further comprise: determining one or more vehicles belonging to the first batch of vehicles, according to the selection criterion of the first batch of vehicles.
  • the method according to the first aspect of the present disclosure may further comprise: informing the application server of the one or more vehicles belonging to the first batch of vehicles.
  • the method according to the first aspect of the present disclosure may further comprise: monitoring a status of the vehicle, in response to reception of the update indication of the vehicle.
  • the method according to the first aspect of the present disclosure may further comprise: reporting the status of the vehicle to the application server.
  • an apparatus which may be implemented as a vehicle server.
  • the apparatus may comprise one or more processors and one or more memories storing computer program codes.
  • the one or more memories and the computer program codes may be configured to, with the one or more processors, cause the apparatus at least to perform any step of the method according to the first aspect of the present disclosure.
  • a computer-readable medium having computer program codes embodied thereon which, when executed on a computer, cause the computer to perform any step of the method according to the first aspect of the present disclosure.
  • an apparatus which may be implemented as a vehicle server.
  • the apparatus may comprise a determining unit and a receiving unit.
  • the determining unit may be operable to carry out at least the determining step of the method according to the first aspect of the present disclosure.
  • the receiving unit may be operable to carry out at least the receiving step of the method according to the first aspect of the present disclosure.
  • a method performed by an application server (e.g., an OTA server, etc. ) .
  • the method comprises determining a selection criterion of a first batch of vehicles to be updated.
  • the selection criterion may be used to determine whether a vehicle belongs to the first batch of vehicles according to behavior-oriented information of the vehicle.
  • the method further comprises: transmitting an update indication of the vehicle to a vehicle server, when the vehicle is updated.
  • the behavior-oriented information of the vehicle according to the fifth aspect of the present disclosure may correspond to the behavior-oriented information of the vehicle according to the first aspect of the present disclosure.
  • the behavior-oriented information of the vehicle according to the first aspect of the present disclosure and the behavior-oriented information of the vehicle according to the fifth aspect of the present disclosure may have the same or similar contents and/or feature elements.
  • the selection criterion of the first batch of vehicles according to the first aspect of the present disclosure may correspond to the selection criterion of the first batch of vehicles according to the fifth aspect of the present disclosure.
  • the determination of the first batch of vehicles according to the first and fifth aspects of the present disclosure may be based on the same or similar parameter (s) and/or criterion (s) .
  • the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the application server.
  • the method according to the fifth aspect of the present disclosure may further comprise: transmitting a request for the behavior-oriented information of the vehicle to the vehicle server.
  • the method according to the fifth aspect of the present disclosure may further comprise: receiving the behavior-oriented information of the vehicle from the vehicle server.
  • the method according to the fifth aspect of the present disclosure may further comprise: transmitting a notification to the vehicle server.
  • the notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
  • the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the vehicle server.
  • the method according to the fifth aspect of the present disclosure may further comprise: transmitting the selection criterion of the first batch of vehicles to the vehicle server.
  • the method according to the fifth aspect of the present disclosure may further comprise: receiving a selection result of the first batch of vehicles from the vehicle server.
  • the selection result may indicate one or more vehicles which are determined to belong to the first batch of vehicles according to the selection criterion of the first batch of vehicles.
  • the first batch of vehicles may be a subset of target vehicles of an over-the-air update campaign created by the application server.
  • the subset of the target vehicles may include one or more vehicles to be updated earliest among the target vehicles.
  • the over-the-air update campaign may be created based at least in part on behavior-oriented information of the target vehicles.
  • the target vehicles of the over-the-air update campaign may include at least the first batch of vehicles and a second batch of vehicles.
  • the second batch of vehicles may be updated when the update of the first batch of vehicles meets a success criterion for the first batch of vehicles.
  • the success criterion for the first batch of vehicles may be related to status of one or more updated vehicles among the first batch of vehicles.
  • the over-the-air update campaign may include, for each batch of vehicles among the target vehicles, one or more of:
  • a success criterion related to status of one or more updated vehicles among said batch of vehicles.
  • the over-the-air update campaign may further include an overall success criterion for the target vehicles.
  • the overall success criterion may be related to status of one or more updated vehicles among the target vehicles.
  • the method according to the fifth aspect of the present disclosure may further comprise: updating the vehicle according to the first batch of vehicles, when the vehicle is determined to belong to the first batch of vehicles.
  • the method according to the fifth aspect of the present disclosure may further comprise: determining which batch of vehicles to be updated the vehicle belongs to, according to the behavior-oriented information of the vehicle, when the vehicle is determined not belong to the first batch of vehicles.
  • the method according to the fifth aspect of the present disclosure may further comprise: updating the vehicle according to the determined batch of vehicles, when an update of a previous batch of vehicles of the determined batch of vehicles meets a corresponding success criterion.
  • the method according to the fifth aspect of the present disclosure may further comprise: receiving a status of the vehicle from the vehicle server, in response that the vehicle is updated.
  • the method according to the fifth aspect of the present disclosure may further comprise: determining whether to perform an update of a next batch of vehicles, based at least in part on the status of the vehicle received from the vehicle server.
  • the update of the vehicle may include software update and/or firmware update.
  • an apparatus which may be implemented as an application server.
  • the apparatus may comprise one or more processors and one or more memories storing computer program codes.
  • the one or more memories and the computer program codes may be configured to, with the one or more processors, cause the apparatus at least to perform any step of the method according to the fifth aspect of the present disclosure.
  • a computer-readable medium having computer program codes embodied thereon which, when executed on a computer, cause the computer to perform any step of the method according to the fifth aspect of the present disclosure.
  • an apparatus which may be implemented as an application server.
  • the apparatus may comprise a determining unit and a transmitting unit.
  • the determining unit may be operable to carry out at least the determining step of the method according to the fifth aspect of the present disclosure.
  • the transmitting unit may be operable to carry out at least the transmitting step of the method according to the fifth aspect of the present disclosure.
  • the vehicle system may include one or more vehicles, a vehicle server and an application server.
  • the method comprises receiving (e.g., by the vehicle server) data from a vehicle, and determining (e.g., by the vehicle server) behavior-oriented information of the vehicle based at least in part on the data of the vehicle.
  • the method further comprises: determining whether the vehicle belongs to a first batch of vehicles to be updated, according to the behavior-oriented information of the vehicle.
  • the determination of whether the vehicle belongs to the first batch of vehicles may be performed by the vehicle server or the application server.
  • the vehicle server may be configured to also act as the application server.
  • a vehicle system comprising a vehicle, a vehicle server and an application server.
  • the vehicle may be configured to report data of the vehicle to the vehicle server.
  • the vehicle server may be configured to: determine behavior-oriented information of the vehicle based at least in part on the data of the vehicle. The behavior-oriented information of the vehicle may be used by the vehicle server or the application server to determine whether the vehicle belongs to a first batch of vehicles to be updated.
  • the vehicle server may be configured further to: receive an update indication of the vehicle from the application server, when the vehicle is updated.
  • the application server may be configured to: determine a selection criterion of the first batch of vehicles, and transmit the update indication of the vehicle to the vehicle server when the vehicle is updated.
  • Fig. 1 is a diagram illustrating an exemplary system architecture according to an embodiment of the present disclosure
  • Fig. 2 is a diagram illustrating an exemplary OTA procedure according to an embodiment of the present disclosure
  • Fig. 3A is a diagram illustrating an exemplary decay formula according to an embodiment of the present disclosure
  • Fig. 3B is a diagram illustrating an exemplary OTA campaign graphical user interface (GUI) according to an embodiment of the present disclosure
  • Fig. 4 is a diagram illustrating an exemplary OTA procedure according to another embodiment of the present disclosure.
  • Fig. 5A is a flowchart illustrating a method according to an embodiment of the present disclosure
  • Fig. 5B is a flowchart illustrating another method according to an embodiment of the present disclosure.
  • Fig. 5C is a flowchart illustrating yet another method according to an embodiment of the present disclosure.
  • Fig. 6 is a block diagram illustrating an apparatus according to an embodiment of the present disclosure.
  • Fig. 7A is a block diagram illustrating another apparatus according to an embodiment of the present disclosure.
  • Fig. 7B is a block diagram illustrating another apparatus according to an embodiment of the present disclosure.
  • Fig. 8 is a block diagram illustrating an exemplary vehicle system according to an embodiment of the present disclosure.
  • the terms “first” , “second” and so forth refer to different elements.
  • the singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
  • the term “based on” is to be read as “based at least in part on” .
  • the term “one embodiment” and “an embodiment” are to be read as “at least one embodiment” .
  • the term “another embodiment” is to be read as “at least one other embodiment” .
  • Other definitions, explicit and implicit, may be included below.
  • SDV may offer a chance to upgrade a vehicle’s functionality via OTA updates, giving a vehicle the ability to continually adapt to the needs of drivers and fleet operators.
  • Software based solutions may transform operating and ownership models.
  • the campaign management function in an OTA server usually uses vehicle profile information (e.g., brand, vehicle model, current firmware/software version, etc. ) and vehicle status information (e.g., battery level, connectivity status, being driving or not, etc. ) to select vehicles for firmware/software update, which may be sufficient for infotainment and telematics scenarios.
  • vehicle profile information e.g., brand, vehicle model, current firmware/software version, etc.
  • vehicle status information e.g., battery level, connectivity status, being driving or not, etc.
  • the vehicle profile and status information may be not enough.
  • Safety sensitive firmware/software rollout may require a more conservative strategy.
  • a typical example is to firstly update a small portion of target vehicles, and if no major bug is found, then the remaining ones may be updated batch by batch, similar as “grayscale release” and “canary test” concepts in software release process.
  • pilot batch of target vehicles for “canary test” it may be critical to consider controlling the potential risk in case that major bugs exist in the firmware/software. In this case, more data and algorithms may be required to select such a low risk pilot batch.
  • an OTA server may select a pilot batch of target vehicles for safety sensitive firmware/software update, e.g., based at least in part on behavior-oriented attributes of the vehicles, so that the potential risk can be minimized or reduced as much as possible.
  • Application of various exemplary embodiments can enable a more fine-grained level and flexible vehicle selection for the original equipment manufacture (OEM) to meet the needs of different OTA update purposes. Since a behavior-based grayscale release approach may be used for OTA update, the update failure risk can be mitigated.
  • the proposed solution may provide more insight from the OTA update result so that the OEM can have a faster feedback cycle time to handle abnormalities and achieve the improvement.
  • an end-to-end closed loop for SDV OTA may be supported, e.g., from behavior-based vehicle selection to verification of the post update vehicle behavior.
  • the road safety may also be improved.
  • Fig. 1 is a diagram illustrating an exemplary system architecture according to an embodiment of the present disclosure.
  • Fig. 1 only schematically depicts some sub-systems in the exemplary system architecture, e.g., including a vehicle, a connected vehicle system (also called vehicle system for ease of illustration) , a geographic information system (GIS) spatial database and an OTA server.
  • the vehicle may be connected with the vehicle system via various communication networks.
  • the vehicle system and the OTA server may be configured at the same device/node, or at different devices/nodes.
  • the vehicle system and the GIS spatial database may be configured at the same device/node, or at different devices/nodes.
  • the sub-systems and various interfaces shown in Fig. 1 are just as examples, and more or less alternative sub-systems and interfaces may be involved in the SDV OTA according to embodiments of the present disclosure.
  • the vehicle connected with the vehicle system may be a vehicle with network connectivity that communicates bi-directionally with other systems outside the vehicle.
  • the vehicle may send location data, telemetry data or events to other systems, and receive commands or notifications from other systems.
  • the vehicle may send trajectory data, sensor data, log data, etc. to the vehicle system.
  • the vehicle system may be a platform which can provide a set of services to the connected vehicles, such as telematics service, infotainment service, geofencing service, remote diagnostic service, etc.
  • the vehicles may communicate with the connected vehicle system through network connectivity in order to access those services.
  • the GIS spatial database may be a database that is optimized for storing and querying data that represents objects defined in a geometric space.
  • the spatial objects may include the point-of-interest and road network, etc. In terms of road network model, it may contain sub-objects such as lane and intersection, and related attributes for instance direction and speed.
  • the OTA server may be a server that can provide remote firmware/software services for various connected vehicles.
  • the main functions of the OTA server may include software management, campaign management, vehicle communication, etc.
  • the OTA server may provide a vehicle provisioning interface, which may be used by an external system to provision the vehicle profiles and metadata.
  • the vehicle system may provide an OTA update notification interface to let the OTA server notify the status of OTA updates.
  • the OTA server may provide a vehicle running status report interface to let the connected vehicle system to feedback if a vehicle is running well after an OTA update.
  • the GIS spatial database may provide a spatial object query interface for an external system to look up the metadata of one or more spatial objects based on one or more locations.
  • Fig. 2 is a diagram illustrating an exemplary OTA procedure according to an embodiment of the present disclosure.
  • a connected vehicle may report 201 its location, sensor data and/or event log, etc. to a connected vehicle system periodically or on-demand.
  • the connected vehicle system may trigger 202 a data analytics procedure periodically or on-demand.
  • the connected vehicle system may use data analytics and/or machine learning algorithms to analyze the data reported by each vehicle and generate one or more behavior-oriented attributes associated with the vehicle accordingly.
  • the one or more behavior-oriented attributes may at least include the following categories:
  • Vehicle Condition those attributes that can reflect how healthy a vehicle is.
  • Driving Behavior those attributes that can reflect the driving characteristic of the driver (s) of a vehicle.
  • ⁇ Road Condition those attributes that can reflect the kinds of roads through which a vehicle drives, and/or the traffic situation a vehicle encounters.
  • Table 1 illustrates some exemplary behavior-oriented attributes generated by the data analytics procedure.
  • the vehicle condition may include one or more of the following behavior-oriented attributes:
  • each vehicle may have a relatively fixed maintenance interval, the health of the vehicle may be relevant to how close to the next maintenance date.
  • the connected vehicle system may detect the hood status to count the times of repair. For example, if the hood is opened for more than 15 minutes, it may be considered as a valid repair activity.
  • ⁇ Low less than 3 times per year.
  • a vehicle may report diagnostic results based on predefined events, for example:
  • DTCs diagnostic trouble codes
  • the last diagnostic result may be used in this attribute to describe the health of a vehicle as below:
  • ⁇ Abnormal more than one DTCs.
  • the driving behavior may include one or more of the following behavior-oriented attributes:
  • the connected vehicle system may define a trip between a pair of ignition on/off events. This attribute may be based on the number of trips per day.
  • ⁇ Low less than 0.5 trip per day.
  • each vehicle may have a full score (e.g., 100) at the beginning.
  • the system may deduct corresponding points from the initial score.
  • the score calculation formula of a certain vehicle may be defined as follows:
  • Fig. 3A is a diagram illustrating an exemplary decay formula according to an embodiment of the present disclosure.
  • the graph of the formula shown in Fig. 3A can be constructed according to a need for decay rate.
  • the half-life of a negative driving behavior deduction is 4 months, and gradually decreases to close to 0 after 8 months. This is a good way to illustrate the impact of violations at different times on the current score and to express a driver’s current safety risk in the final score.
  • a driver commits an overspeed event on March 1, 2020, five points may be deducted, and the score reduced from 100 to 95. If the driver has no other violations, his score may increase to 97.5 in August 2020.
  • the driver’s behavior score may be calculated as below:
  • the road condition may include highway percentage and/or any other attributes which may reflect the kinds of roads, traffic situations or driving environments with respect to the concerned vehicle.
  • the highway percentage since highway is usually relevant to higher speed and higher risk, this attribute may help to provide the insight of driving risk.
  • the connected vehicle system may provision 203 the generated behavior-oriented attributes to an OTA server.
  • An OTA campaign may be created 204 in the OTA server, e.g., based at least in part on the behavior-oriented attributes.
  • the OTA campaign may indicate which vehicles will be updated in the OTA procedure and how to update the vehicles batch by batch.
  • Fig. 3B is a diagram illustrating an exemplary OTA campaign graphical user interface (GUI) according to an embodiment of the present disclosure.
  • GUI graphical user interface
  • the campaign may contain the following information:
  • General vehicle targeting information such as “Vehicle brand” , “Vehicle model” , “Current software version” and “Market” , etc.;
  • Software information such as “Software name” , “Software version” and “Software file” , etc., which may indicate the software package to be updated to the targeted vehicles;
  • Scheduling information such as “Valid until” , etc., which may indicate the validity period of the campaign
  • Success criteria one or more conditions for determining whether the OTA campaign is successfully completed, e.g., “At least 85%of the targeted vehicles updated successfully” , “At least 80%of the updated vehicles run normally” , etc.;
  • the campaign may include the following information for each batch:
  • the number of targeted vehicles e.g., “Maximum 10%of targeted vehicles” , etc.;
  • One or more filters for further vehicle targeting selecting targeted vehicles of the corresponding batch, e.g., according to behavior-oriented attributes of the vehicles;
  • Success criteria one or more conditions for determining whether the corresponding batch is successfully updated, e.g., “At least 90%of the targeted vehicles updated successfully” , “At least 85%of the updated vehicles run normally” , etc.
  • a pilot batch (e.g., “Batch 1” shown in Fig. 3B) may include the filters using behavior-oriented attributes shown in Table 4 for vehicle targeting.
  • the OTA server can determine and query 205 the targeted vehicles in the pilot batch. Then the OTA server may start 206 executing an OTA update of the pilot batch and perform the OTA procedure for each targeted vehicle in the pilot batch. When the OTA server notifies 207 the OTA updated vehicles to the connected vehicle system, the connected vehicle system may send 208 a successful response to the OTA server for the notification.
  • the connected vehicle system may monitor 209 the status of the OTA updated vehicles, as shown in Fig. 2. After analyzing the data collected for the OTA updated vehicles (e.g., the data reported by the OTA updated vehicles, etc. ) with custom algorithms, the connected vehicle system may report 210 the status of the OTA updated vehicles to the OTA server, e.g., in a vehicle running status report procedure. If the OTA server finds that the condition of successfully updating the pilot batch can be fulfilled, the OTA server may continue 211 the campaign roll-out, e.g., by executing an OTA update of the next batch.
  • the OTA server may continue 211 the campaign roll-out, e.g., by executing an OTA update of the next batch.
  • the OTA server may continue other batches in a campaign when the OTA update in current batch has fulfilled a certain successful rate.
  • the effect of an updated firmware/software is also a crucial part of the criteria.
  • the connected vehicle system can monitor the running status of the OTA updated vehicle for a certain of time and then report the running status of the OTA updated vehicle back to the OTA server.
  • one or more custom algorithms in the connected vehicle system may be needed for different functions or scenarios.
  • the OTA server may use the statistics based on the reported status of various OTA updated vehicles to decide whether it may continue the campaign or not.
  • Fig. 4 is a diagram illustrating an exemplary OTA procedure according to another embodiment of the present disclosure.
  • the OTA procedure illustrated in Fig. 4 is similar to the OTA procedure illustrated in Fig. 2.
  • the difference between the two procedures is in that the pilot batch is determined by the OTA server according to the procedure of Fig. 2, while in the procedure of Fig. 4, the pilot batch is determined by the vehicle system based on a selection criterion for the pilot batch provided by the OTA server.
  • a connected vehicle may report 401 its location, sensor data and/or event log, etc. to a connected vehicle system periodically or on-demand.
  • the connected vehicle system may trigger 402 a data analytics procedure periodically or on-demand to generate one or more behavior-oriented attributes associated with the vehicle, e.g., as described with respect to Fig. 2.
  • the connected vehicle system may not provision the generated behavior-oriented attributes to an OTA server.
  • the OTA server may create 403 an OTA campaign including a pilot batch. For example, the OTA campaign may indicate which vehicles will be updated in the OTA procedure and how to update the vehicles batch by batch.
  • the OTA server may determine one or more selection criteria for the pilot batch, which may include one or more filters for the pilot batch, e.g. as described with respect to Fig. 3B.
  • the OTA server may send 404 the selection criteria for the pilot batch to the connected vehicle system.
  • the connected vehicle system can determine and query 405 the targeted vehicles in the pilot batch.
  • the connected vehicle system may inform 406 the targeted vehicles in the pilot batch to the OTA server, so that the OTA server can start 407 executing an OTA update of the pilot batch and perform the OTA procedure for each targeted vehicle in the pilot batch.
  • the OTA server notifies 408 the OTA updated vehicles to the connected vehicle system, the connected vehicle system may send 409 a successful response to the OTA server for the notification.
  • the connected vehicle system may monitor 410 the status of the OTA updated vehicles, and report 411 the status of the OTA updated vehicles to the OTA server, e.g., in a vehicle running status report procedure. If the OTA server finds that the condition of successfully updating the pilot batch can be fulfilled, the OTA server may continue 412 the campaign roll-out, e.g., by executing an OTA update of the next batch.
  • Various exemplary embodiments provide an advanced vehicle selection approach for SDV OTA by leveraging data collected in a vehicle system and basing on driving behaviors of vehicles.
  • Application of the proposed approach of behavior-based vehicle selection can enable a low risk pilot batch of vehicles to be determined and updated more flexibly and efficiently.
  • monitoring the status of the updated vehicles can enhance handling of abnormalities and improve the road safety.
  • Fig. 5A is a flowchart illustrating a method 510 according to some embodiments of the present disclosure.
  • the method 510 illustrated in Fig. 5A may be performed by a vehicle server (e.g., the connected vehicle system shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) or an apparatus communicatively coupled to the vehicle server.
  • the vehicle server may be configured to provide various vehicle services to one or more vehicles or in-vehicle devices, collect data for the one or more vehicles or in-vehicle devices, and exchange information with the one or more vehicles or in-vehicle devices, etc.
  • the vehicle server may be configured to communicate with an application server (e.g., the OTA server shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) to facilitate application provision and/or management (e.g., software/firmware update, application provision, etc. ) of the one or more vehicles or in-vehicle devices by the application server.
  • an application server e.g., the OTA server shown in Fig. 1, Fig. 2 and Fig. 4, etc.
  • application provision and/or management e.g., software/firmware update, application provision, etc.
  • the vehicle server can determine behavior-oriented information of a vehicle, as shown in block 512.
  • the behavior-oriented information of the vehicle may be used to determine whether the vehicle belongs to a first batch of vehicles to be updated.
  • the vehicle server may receive an update indication of the vehicle from an application server when the vehicle is updated (e.g., software updated and/or firmware updated) , as shown in block 514.
  • the vehicle server may receive data reported by the vehicle.
  • the vehicle server can determine the behavior-oriented information of the vehicle by performing an analysis on the data reported by the vehicle, and generating one or more behavior-oriented attributes of the vehicle according to the analysis.
  • the behavior-oriented information of the vehicle may be determined according to one or more of: location data, sensor data, diagnostic data, trajectory data, and event log data, e.g., as described with respect to Fig. 2 and Table 1.
  • the behavior-oriented information of the vehicle may indicate one or more behaviors of the vehicle during a time period.
  • the behavior-oriented information of the vehicle may include one or more of: vehicle condition information, driving behavior information, and road condition information, e.g., as described with respect to Table 1.
  • the vehicle condition information may include one or more of: a maintenance status, a repair frequency, and a diagnostic status.
  • the driving behavior information may include a driving frequency and/or a driving behavior score.
  • the driving behavior score may be based on a negative driving behavior deduction.
  • the road condition information may include highway percentage information.
  • the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the application server (e.g., as described with respect to Fig. 2) or the vehicle server (e.g., as described with respect to Fig. 4) .
  • the vehicle server may transmit the behavior-oriented information of the vehicle to the application server.
  • the vehicle server may receive a request for the behavior-oriented information of the vehicle from the application server.
  • the transmission of the behavior-oriented information of the vehicle from the vehicle server to the application server may be triggered periodically, or by the request for the behavior-oriented information of the vehicle from the application server.
  • the vehicle server may receive a notification from the application server. The notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
  • the vehicle server may receive a selection criterion of the first batch of vehicles from the application server.
  • the selection criterion of the first batch of vehicles may include one or more parameters and/or thresholds corresponding to the behavior-oriented information.
  • the vehicle server can determine one or more vehicles belonging to the first batch of vehicles. For example, if a vehicle has behavior-oriented information meeting the corresponding parameter setting (s) and/or threshold (s) of the selection criterion, the vehicle may be determined to belong to the first batch of vehicles.
  • the vehicle server may inform the application server of the one or more vehicles belonging to the first batch of vehicles.
  • the vehicle server may monitor a status of the vehicle, in response to reception of the update indication of the vehicle. Then the vehicle server may report the status of the vehicle to the application server.
  • Fig. 5B is a flowchart illustrating a method 520 according to some embodiments of the present disclosure.
  • the method 520 illustrated in Fig. 5B may be performed by an application server (e.g., the OTA server shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) or an apparatus communicatively coupled to the application server.
  • the application server may be configured to support or provision various vehicle applications.
  • the application server may be configured to communicate with a vehicle server (e.g., the connected vehicle system shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) to implement application provision and/or management of one or more vehicles or in-vehicle devices.
  • a vehicle server e.g., the connected vehicle system shown in Fig. 1, Fig. 2 and Fig. 4, etc.
  • the application server can determine a selection criterion of a first batch of vehicles to be updated, as shown in block 522.
  • the selection criterion may be used to determine whether a vehicle belongs to the first batch of vehicles according to behavior-oriented information of the vehicle.
  • the application server may transmit an update indication of the vehicle to a vehicle server (e.g., the vehicle server as described with respect to Fig. 5A) , when the vehicle is updated, as shown in block 524.
  • the update of the vehicle may include software update and/or firmware update.
  • the behavior-oriented information of the vehicle as described with respect to Fig. 5B may correspond to the behavior-oriented information of the vehicle as described with respect to Fig. 5A.
  • the behavior-oriented information of the vehicle according to the method 510 and the behavior-oriented information of the vehicle according to the method 520 may have the same or similar contents and/or feature elements.
  • the selection criterion of the first batch of vehicles as described with respect to Fig. 5B may correspond to the selection criterion of the first batch of vehicles as described with respect to Fig. 5A.
  • the determination of the first batch of vehicles according to the method 510 and the determination of the first batch of vehicles according to the method 520 may be based on the same or similar parameter (s) and/or criterion (s) .
  • the application server may receive the behavior-oriented information of the vehicle from the vehicle server, e.g., periodically or as required.
  • the application server may transmit a request for the behavior-oriented information of the vehicle to the vehicle server.
  • the application server can determine whether the vehicle belongs to the first batch of vehicles to be updated. For example, if the behavior-oriented information of the vehicle meets one or more filtering conditions according to the selection criterion of the first batch of vehicles, it can be determined that the vehicle belongs to the first batch of vehicles to be updated.
  • the application server may transmit a notification to the vehicle server. The notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
  • the application server may transmit the selection criterion of the first batch of vehicles to the vehicle server.
  • the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the vehicle server.
  • the application server may receive a selection result of the first batch of vehicles from the vehicle server. The selection result may indicate one or more vehicles which are determined to belong to the first batch of vehicles according to the selection criterion of the first batch of vehicles.
  • the first batch of vehicles may be a subset of target vehicles of an over-the-air update campaign created by the application server.
  • the subset of the target vehicles may include one or more vehicles to be updated earliest among the target vehicles.
  • the subset of the target vehicles may include one or more vehicles to be updated at any other later time among the target vehicles.
  • the target vehicles of the over-the-air update campaign may include at least the first batch of vehicles and a second batch of vehicles, e.g., as described with respect to Fig. 3B.
  • the second batch of vehicles may be updated when the update of the first batch of vehicles meets a success criterion for the first batch of vehicles.
  • the success criterion for the first batch of vehicles may be related to status of one or more updated vehicles among the first batch of vehicles.
  • the over-the-air update campaign may be created, e.g., by the application server, based at least in part on behavior-oriented information of the target vehicles, e.g., as described with respect to Fig. 3B.
  • the over-the-air update campaign may include, for each batch of vehicles among the target vehicles, one or more of:
  • a success criterion related to status of one or more updated vehicles among said batch of vehicles.
  • the over-the-air update campaign may further include an overall success criterion for the target vehicles.
  • the overall success criterion may be related to status of one or more updated vehicles among the target vehicles.
  • the application server may update the vehicle according to the first batch of vehicles, when the vehicle is determined to belong to the first batch of vehicles.
  • the application server can determine which batch of vehicles to be updated the vehicle belongs to, according to the behavior-oriented information of the vehicle.
  • the application server may update the vehicle according to the determined batch of vehicles.
  • the application server may receive a status of the vehicle from the vehicle server, in response that the vehicle is updated. In accordance with another exemplary embodiment, the application server can determine whether to perform an update of a next batch of vehicles, based at least in part on the status of the vehicle received from the vehicle server.
  • Fig. 5C is a flowchart illustrating a method 530 according to some embodiments of the present disclosure.
  • the method 530 illustrated in Fig. 5C may be performed for a vehicle system including one or more vehicles, a vehicle server (e.g., the vehicle server as described with respect to Fig. 5A) and an application server (e.g., the application server as described with respect to Fig. 5B) .
  • the vehicle system may utilize the vehicle server and the application server to provide various services to the one or more vehicles, e.g., software/firmware update, data collection and analysis, status detection, performance evaluation, etc.
  • the vehicle server may receive data from a vehicle, as shown in block 532. Based at least in part on the data of the vehicle, the vehicle server can determine behavior-oriented information of the vehicle, as shown in block 534. In an embodiment, the vehicle server may transmit the behavior-oriented information of the vehicle to the application server. Alternatively or additionally, the vehicle server may receive a selection criterion of a first batch of vehicles from the application server. According to the behavior-oriented information of the vehicle, the vehicle server or the application server can determine whether the vehicle belongs to the first batch of vehicles to be updated, as shown in block 536. In an embodiment, the vehicle server and application server may be implemented as different servers or the same server. In another embodiment, the vehicle server may be configured to also act as the application server.
  • Figs. 5A-5C may be viewed as method steps, and/or as operations that result from operation of computer program code, and/or as a plurality of coupled logic circuit elements constructed to carry out the associated function (s) .
  • the schematic flow chart diagrams described above are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of specific embodiments of the presented methods. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated methods. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
  • Fig. 6 is a block diagram illustrating an apparatus 600 according to various embodiments of the present disclosure.
  • the apparatus 600 may comprise one or more processors such as processor 601 and one or more memories such as memory 602 storing computer program codes 603.
  • the memory 602 may be non-transitory machine/processor/computer readable storage medium.
  • the apparatus 600 may be implemented as an integrated circuit chip or module that can be plugged or installed into a vehicle server as described with respect to Fig. 5A, or an application server as described with respect to Fig. 5B. In such cases, the apparatus 600 may be implemented as a vehicle server as described with respect to Fig. 5A, or an application server as described with respect to Fig. 5B.
  • the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform any operation of the method as described in connection with Fig. 5A. In other implementations, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform any operation of the method as described in connection with Fig. 5B. In other implementations, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform any operation of the method as described in connection with Fig. 5C. Alternatively or additionally, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform more or less operations to implement the proposed methods according to the exemplary embodiments of the present disclosure.
  • Fig. 7A is a block diagram illustrating an apparatus 710 according to some embodiments of the present disclosure.
  • the apparatus 710 may comprise a determining unit 711 and a receiving unit 712.
  • the apparatus 710 may be implemented in a vehicle server.
  • the determining unit 711 may be operable to carry out the operation in block 512
  • the receiving unit 712 may be operable to carry out the operation in block 514.
  • the determining unit 711 and/or the receiving unit 712 may be operable to carry out more or less operations to implement the proposed methods according to the exemplary embodiments of the present disclosure.
  • the apparatus 710 may comprise a transmitting unit (not shown in Fig. 7A) for transmitting various kinds of information of a vehicle (e.g., behavior-oriented information, status information, etc. ) to an application server.
  • Fig. 7B is a block diagram illustrating an apparatus 720 according to some embodiments of the present disclosure.
  • the apparatus 720 may comprise a determining unit 721 and a transmitting unit 722.
  • the apparatus 720 may be implemented in an application server.
  • the determining unit 721 may be operable to carry out the operation in block 522
  • the transmitting unit 722 may be operable to carry out the operation in block 524.
  • the determining unit 721 and/or the transmitting unit 722 may be operable to carry out more or less operations to implement the proposed methods according to the exemplary embodiments of the present disclosure.
  • the apparatus 720 may comprise a receiving unit (not shown in Fig. 7B) for receiving various kinds of information of a vehicle (e.g., behavior-oriented information, status information, etc. ) from a vehicle server.
  • a receiving unit not shown in Fig. 7B
  • Fig. 8 is a block diagram illustrating an exemplary vehicle system 800 according to an embodiment of the present disclosure.
  • the vehicle system 800 may comprise a vehicle 801, a vehicle server 802 and an application server 803.
  • the vehicle 801 may be configured to report data of the vehicle 801 to the vehicle server 802.
  • the vehicle server 802 may be configured to determine behavior-oriented information of the vehicle 801 based at least in part on the data of the vehicle 801, and optionally transmit the behavior-oriented information of the vehicle 801 to the application server 803.
  • the behavior-oriented information of the vehicle 801 may be used by the vehicle server 802 or the application server 803 to determine whether the vehicle 801 belongs to a first batch of vehicles to be updated.
  • the vehicle server 802 may be configured to receive an update indication of the vehicle 801 from the application server 803 when the vehicle 801 is updated.
  • the application server 803 may be configured to determine a selection criterion of the first batch of vehicles, and transmit the update indication of the vehicle 801 to the vehicle server 802 when the vehicle 801 is updated.
  • the various exemplary embodiments may be implemented in hardware or special purpose chips, circuits, software, logic or any combination thereof.
  • some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the disclosure is not limited thereto.
  • firmware or software which may be executed by a controller, microprocessor or other computing device, although the disclosure is not limited thereto.
  • While various aspects of the exemplary embodiments of this disclosure may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
  • the exemplary embodiments of the disclosure may be practiced in various components such as integrated circuit chips and modules. It should thus be appreciated that the exemplary embodiments of this disclosure may be realized in an apparatus that is embodied as an integrated circuit, where the integrated circuit may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor, a digital signal processor, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this disclosure.
  • exemplary embodiments of the disclosure may be embodied in computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device.
  • the computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, random access memory (RAM) , etc.
  • RAM random access memory
  • the function of the program modules may be combined or distributed as desired in various embodiments.
  • the function may be embodied in whole or partly in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA) , and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Traffic Control Systems (AREA)

Abstract

Various embodiments of the present disclosure provide a method for vehicle application. The method which may be performed by a vehicle server comprises determining behavior-oriented information of a vehicle. The behavior-oriented information of the vehicle may be used to determine whether the vehicle belongs to a first batch of vehicles to be updated. In accordance with an exemplary embodiment, the method further comprises receiving an update indication of the vehicle from an application server when the vehicle is updated.

Description

METHOD AND APPARATUS FOR VEHICLE APPLICATION FIELD OF THE INVENTION
The present disclosure generally relates to communication networks, and more specifically, to a method and apparatus for vehicle application.
BACKGROUND
This section introduces aspects that may facilitate a better understanding of the disclosure. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
In automotive industry, previously when there is any problem on the software in a car/vehicle or there is a need for a car/vehicle system to upgrade, the driver may have to go to the dealer to upgrade through an on board diagnostics (OBD) interface. With the over-the-air (OTA) technology, the car/vehicle can download the package through network and upgrade it easily. There are two types of OTA, one is firmware-over-the-air (FOTA) which upgrades firmware over the air, another is software-over-the-air (SOTA) which upgrade software over the air.
SUMMARY
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
An OTA server may support the firmware/software update of a vehicle, e.g.,  according to static information of the vehicle such as the vehicle model, the current firmware/software version, the battery level, etc. However, the static information of the vehicle may not be sufficient for updating safety sensitive firmware/software. For example, in some scenarios using autonomous driving vehicles, a more conservative strategy may be required to update the vehicles batch by batch. Therefore, it may be desirable to support the update of vehicles in a more efficient way.
Various exemplary embodiments of the present disclosure propose a solution for vehicle application, which can enable a pilot batch of target vehicles to be selected for safety sensitive firmware/software update, e.g., according to behavior-oriented attributes of the vehicles, so as to avoid or reduce some potential risks and enhance driving safety.
It can be appreciated that the term “apilot batch of vehicles” mentioned in this document may refer to a batch of vehicles that are updated first among target vehicles, similar as “grayscale release” and “canary test” concepts in software release process.
According to a first aspect of the present disclosure, there is provided a method performed by a vehicle server. The method comprises: determining behavior-oriented information of a vehicle. The behavior-oriented information of the vehicle may be used to determine whether the vehicle belongs to a first batch of vehicles to be updated. In accordance with an exemplary embodiment, the method further comprises: receiving an update indication of the vehicle from an application server, when the vehicle is updated.
In accordance with an exemplary embodiment, the behavior-oriented information of the vehicle may indicate one or more behaviors of the vehicle during a time period.
In accordance with an exemplary embodiment, the vehicle server can determine the behavior-oriented information of the vehicle by performing an analysis on data reported by the vehicle and generating one or more behavior-oriented attributes of the vehicle according to the analysis.
In accordance with an exemplary embodiment, the behavior-oriented information of the vehicle may include one or more of: vehicle condition information, driving behavior information, and road condition information.
In accordance with an exemplary embodiment, the vehicle condition information may include one or more of: a maintenance status, a repair frequency, and a diagnostic status.
In accordance with an exemplary embodiment, the driving behavior information may include a driving frequency and/or a driving behavior score.
In accordance with an exemplary embodiment, the driving behavior score may be based on a negative driving behavior deduction.
In accordance with an exemplary embodiment, the road condition information may include highway percentage information.
In accordance with an exemplary embodiment, the behavior-oriented information of the vehicle may be determined according to one or more of: location data, sensor data, diagnostic data, trajectory data, and event log data.
In accordance with an exemplary embodiment, the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the application server or the vehicle server.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: receiving a request for the  behavior-oriented information of the vehicle from the application server.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: transmitting the behavior-oriented information of the vehicle to the application server.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: receiving a notification from the application server. The notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: receiving a selection criterion of the first batch of vehicles from the application server. The selection criterion of the first batch of vehicles may include one or more parameters and/or thresholds corresponding to the behavior-oriented information.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: determining one or more vehicles belonging to the first batch of vehicles, according to the selection criterion of the first batch of vehicles.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: informing the application server of the one or more vehicles belonging to the first batch of vehicles.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: monitoring a status of the vehicle, in response to reception of the update indication of the vehicle.
In accordance with an exemplary embodiment, the method according to the first aspect of the present disclosure may further comprise: reporting the status of the  vehicle to the application server.
According to a second aspect of the present disclosure, there is provided an apparatus which may be implemented as a vehicle server. The apparatus may comprise one or more processors and one or more memories storing computer program codes. The one or more memories and the computer program codes may be configured to, with the one or more processors, cause the apparatus at least to perform any step of the method according to the first aspect of the present disclosure.
According to a third aspect of the present disclosure, there is provided a computer-readable medium having computer program codes embodied thereon which, when executed on a computer, cause the computer to perform any step of the method according to the first aspect of the present disclosure.
According to a fourth aspect of the present disclosure, there is provided an apparatus which may be implemented as a vehicle server. The apparatus may comprise a determining unit and a receiving unit. In accordance with some exemplary embodiments, the determining unit may be operable to carry out at least the determining step of the method according to the first aspect of the present disclosure. The receiving unit may be operable to carry out at least the receiving step of the method according to the first aspect of the present disclosure.
According to a fifth aspect of the present disclosure, there is provided a method performed by an application server (e.g., an OTA server, etc. ) . The method comprises determining a selection criterion of a first batch of vehicles to be updated. The selection criterion may be used to determine whether a vehicle belongs to the first batch of vehicles according to behavior-oriented information of the vehicle. In accordance with an exemplary embodiment, the method further comprises: transmitting an update indication of the vehicle to a vehicle server, when the vehicle is updated.
In accordance with some exemplary embodiments, the behavior-oriented information of the vehicle according to the fifth aspect of the present disclosure may correspond to the behavior-oriented information of the vehicle according to the first aspect of the present disclosure. Thus, the behavior-oriented information of the vehicle according to the first aspect of the present disclosure and the behavior-oriented information of the vehicle according to the fifth aspect of the present disclosure may have the same or similar contents and/or feature elements. Similarly, the selection criterion of the first batch of vehicles according to the first aspect of the present disclosure may correspond to the selection criterion of the first batch of vehicles according to the fifth aspect of the present disclosure. Correspondingly, the determination of the first batch of vehicles according to the first and fifth aspects of the present disclosure may be based on the same or similar parameter (s) and/or criterion (s) .
In accordance with an exemplary embodiment, the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the application server.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: transmitting a request for the behavior-oriented information of the vehicle to the vehicle server.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: receiving the behavior-oriented information of the vehicle from the vehicle server.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: transmitting a notification to the vehicle server. The notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
In accordance with an exemplary embodiment, the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the vehicle server.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: transmitting the selection criterion of the first batch of vehicles to the vehicle server.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: receiving a selection result of the first batch of vehicles from the vehicle server. The selection result may indicate one or more vehicles which are determined to belong to the first batch of vehicles according to the selection criterion of the first batch of vehicles.
In accordance with an exemplary embodiment, the first batch of vehicles may be a subset of target vehicles of an over-the-air update campaign created by the application server.
In accordance with an exemplary embodiment, the subset of the target vehicles may include one or more vehicles to be updated earliest among the target vehicles.
In accordance with an exemplary embodiment, the over-the-air update campaign may be created based at least in part on behavior-oriented information of the target vehicles.
In accordance with an exemplary embodiment, the target vehicles of the over-the-air update campaign may include at least the first batch of vehicles and a second batch of vehicles. The second batch of vehicles may be updated when the update of the first batch of vehicles meets a success criterion for the first batch of vehicles.
In accordance with an exemplary embodiment, the success criterion for the  first batch of vehicles may be related to status of one or more updated vehicles among the first batch of vehicles.
In accordance with an exemplary embodiment, the over-the-air update campaign may include, for each batch of vehicles among the target vehicles, one or more of:
● quantity information of said batch of vehicles;
● indication information of said batch of vehicles;
● one or more filters related to behavior-oriented information of said batch of vehicles; and
● a success criterion related to status of one or more updated vehicles among said batch of vehicles.
In accordance with an exemplary embodiment, the over-the-air update campaign may further include an overall success criterion for the target vehicles. The overall success criterion may be related to status of one or more updated vehicles among the target vehicles.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: updating the vehicle according to the first batch of vehicles, when the vehicle is determined to belong to the first batch of vehicles.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: determining which batch of vehicles to be updated the vehicle belongs to, according to the behavior-oriented information of the vehicle, when the vehicle is determined not belong to the first batch of vehicles.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: updating the vehicle according to the determined batch of vehicles, when an update of a previous batch of vehicles of the determined batch of vehicles meets a corresponding success criterion.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: receiving a status of the vehicle from the vehicle server, in response that the vehicle is updated.
In accordance with an exemplary embodiment, the method according to the fifth aspect of the present disclosure may further comprise: determining whether to perform an update of a next batch of vehicles, based at least in part on the status of the vehicle received from the vehicle server.
In accordance with an exemplary embodiment, the update of the vehicle may include software update and/or firmware update.
According to a sixth aspect of the present disclosure, there is provided an apparatus which may be implemented as an application server. The apparatus may comprise one or more processors and one or more memories storing computer program codes. The one or more memories and the computer program codes may be configured to, with the one or more processors, cause the apparatus at least to perform any step of the method according to the fifth aspect of the present disclosure.
According to a seventh aspect of the present disclosure, there is provided a computer-readable medium having computer program codes embodied thereon which, when executed on a computer, cause the computer to perform any step of the method according to the fifth aspect of the present disclosure.
According to an eighth aspect of the present disclosure, there is provided an apparatus which may be implemented as an application server. The apparatus may  comprise a determining unit and a transmitting unit. In accordance with some exemplary embodiments, the determining unit may be operable to carry out at least the determining step of the method according to the fifth aspect of the present disclosure. The transmitting unit may be operable to carry out at least the transmitting step of the method according to the fifth aspect of the present disclosure.
According to a ninth aspect of the present disclosure, there is provided a method for a vehicle system. In an embodiment, the vehicle system may include one or more vehicles, a vehicle server and an application server. In accordance with an exemplary embodiment, the method comprises receiving (e.g., by the vehicle server) data from a vehicle, and determining (e.g., by the vehicle server) behavior-oriented information of the vehicle based at least in part on the data of the vehicle. In accordance with an exemplary embodiment, the method further comprises: determining whether the vehicle belongs to a first batch of vehicles to be updated, according to the behavior-oriented information of the vehicle. In an embodiment, the determination of whether the vehicle belongs to the first batch of vehicles may be performed by the vehicle server or the application server. In another embodiment, the vehicle server may be configured to also act as the application server.
According to a tenth aspect of the present disclosure, there is provided a vehicle system comprising a vehicle, a vehicle server and an application server. In accordance with an exemplary embodiment, the vehicle may be configured to report data of the vehicle to the vehicle server. In accordance with an exemplary embodiment, the vehicle server may be configured to: determine behavior-oriented information of the vehicle based at least in part on the data of the vehicle. The behavior-oriented information of the vehicle may be used by the vehicle server or the application server to determine whether the vehicle belongs to a first batch of vehicles to be updated. In accordance with an exemplary embodiment, the vehicle server may be configured further to: receive an update indication of the vehicle from the application server, when  the vehicle is updated. In accordance with an exemplary embodiment, the application server may be configured to: determine a selection criterion of the first batch of vehicles, and transmit the update indication of the vehicle to the vehicle server when the vehicle is updated.
BRIEF DESCRIPTION OF THE DRAWINGS
The disclosure itself, the preferable mode of use and further objectives are best understood by reference to the following detailed description of the embodiments when read in conjunction with the accompanying drawings, in which:
Fig. 1 is a diagram illustrating an exemplary system architecture according to an embodiment of the present disclosure;
Fig. 2 is a diagram illustrating an exemplary OTA procedure according to an embodiment of the present disclosure;
Fig. 3A is a diagram illustrating an exemplary decay formula according to an embodiment of the present disclosure;
Fig. 3B is a diagram illustrating an exemplary OTA campaign graphical user interface (GUI) according to an embodiment of the present disclosure;
Fig. 4 is a diagram illustrating an exemplary OTA procedure according to another embodiment of the present disclosure;
Fig. 5A is a flowchart illustrating a method according to an embodiment of the present disclosure;
Fig. 5B is a flowchart illustrating another method according to an embodiment of the present disclosure;
Fig. 5C is a flowchart illustrating yet another method according to an  embodiment of the present disclosure;
Fig. 6 is a block diagram illustrating an apparatus according to an embodiment of the present disclosure;
Fig. 7A is a block diagram illustrating another apparatus according to an embodiment of the present disclosure;
Fig. 7B is a block diagram illustrating another apparatus according to an embodiment of the present disclosure; and
Fig. 8 is a block diagram illustrating an exemplary vehicle system according to an embodiment of the present disclosure.
DETAILED DESCRIPTION
The embodiments of the present disclosure are described in detail with reference to the accompanying drawings. It should be understood that these embodiments are discussed only for the purpose of enabling those skilled persons in the art to better understand and thus implement the present disclosure, rather than suggesting any limitations on the scope of the present disclosure. Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present disclosure should be or are in any single embodiment of the disclosure. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present disclosure. Furthermore, the described features, advantages, and characteristics of the disclosure may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the disclosure may be practiced without one or more of the specific features or advantages of a  particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the disclosure.
As used herein, the terms “first” , “second” and so forth refer to different elements. The singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises” , “comprising” , “has” , “having” , “includes” and/or “including” as used herein, specify the presence of stated features, elements, and/or components and the like, but do not preclude the presence or addition of one or more other features, elements, components and/or combinations thereof. The term “based on” is to be read as “based at least in part on” . The term “one embodiment” and “an embodiment” are to be read as “at least one embodiment” . The term “another embodiment” is to be read as “at least one other embodiment” . Other definitions, explicit and implicit, may be included below.
In recent years, a vehicle becomes more and more intelligent and smart. There may be a trend that vehicles are primarily controlled by software rather than traditional mechanical components, which is also known as software-defined vehicles (SDV) .
SDV may offer a chance to upgrade a vehicle’s functionality via OTA updates, giving a vehicle the ability to continually adapt to the needs of drivers and fleet operators. Software based solutions may transform operating and ownership models.
The campaign management function in an OTA server usually uses vehicle profile information (e.g., brand, vehicle model, current firmware/software version, etc. ) and vehicle status information (e.g., battery level, connectivity status, being driving or not, etc. ) to select vehicles for firmware/software update, which may be sufficient for infotainment and telematics scenarios. However, for updating safety sensitive  firmware/software, e.g., advanced driver-assistance systems (ADAS) or algorithms in autonomous driving vehicles, the vehicle profile and status information may be not enough.
Safety sensitive firmware/software rollout may require a more conservative strategy. A typical example is to firstly update a small portion of target vehicles, and if no major bug is found, then the remaining ones may be updated batch by batch, similar as “grayscale release” and “canary test” concepts in software release process.
As the pilot batch of target vehicles for “canary test” , it may be critical to consider controlling the potential risk in case that major bugs exist in the firmware/software. In this case, more data and algorithms may be required to select such a low risk pilot batch.
Various exemplary embodiments of the present disclosure propose a solution for vehicle application to enable behavior-based vehicle selection for OTA. In accordance with exemplary embodiments, an OTA server may select a pilot batch of target vehicles for safety sensitive firmware/software update, e.g., based at least in part on behavior-oriented attributes of the vehicles, so that the potential risk can be minimized or reduced as much as possible.
Application of various exemplary embodiments can enable a more fine-grained level and flexible vehicle selection for the original equipment manufacture (OEM) to meet the needs of different OTA update purposes. Since a behavior-based grayscale release approach may be used for OTA update, the update failure risk can be mitigated. The proposed solution may provide more insight from the OTA update result so that the OEM can have a faster feedback cycle time to handle abnormalities and achieve the improvement. In addition, an end-to-end closed loop for SDV OTA may be supported, e.g., from behavior-based vehicle selection to verification of the post update vehicle behavior. On the other hand, with the risk-mitigated OTA update for  vehicles and the faster response to handle abnormalities by the OEM, the road safety may also be improved.
Fig. 1 is a diagram illustrating an exemplary system architecture according to an embodiment of the present disclosure. For simplicity, Fig. 1 only schematically depicts some sub-systems in the exemplary system architecture, e.g., including a vehicle, a connected vehicle system (also called vehicle system for ease of illustration) , a geographic information system (GIS) spatial database and an OTA server. The vehicle may be connected with the vehicle system via various communication networks. The vehicle system and the OTA server may be configured at the same device/node, or at different devices/nodes. Similarly, the vehicle system and the GIS spatial database may be configured at the same device/node, or at different devices/nodes. It can be appreciated that the sub-systems and various interfaces shown in Fig. 1 are just as examples, and more or less alternative sub-systems and interfaces may be involved in the SDV OTA according to embodiments of the present disclosure.
In accordance with an exemplary embodiment, the vehicle connected with the vehicle system may be a vehicle with network connectivity that communicates bi-directionally with other systems outside the vehicle. Typically, the vehicle may send location data, telemetry data or events to other systems, and receive commands or notifications from other systems. As shown in Fig. 1, the vehicle may send trajectory data, sensor data, log data, etc. to the vehicle system.
In accordance with an exemplary embodiment, the vehicle system may be a platform which can provide a set of services to the connected vehicles, such as telematics service, infotainment service, geofencing service, remote diagnostic service, etc. The vehicles may communicate with the connected vehicle system through network connectivity in order to access those services.
In accordance with an exemplary embodiment, the GIS spatial database  may be a database that is optimized for storing and querying data that represents objects defined in a geometric space. The spatial objects may include the point-of-interest and road network, etc. In terms of road network model, it may contain sub-objects such as lane and intersection, and related attributes for instance direction and speed.
In accordance with an exemplary embodiment, the OTA server may be a server that can provide remote firmware/software services for various connected vehicles. The main functions of the OTA server may include software management, campaign management, vehicle communication, etc.
As shown in Fig. 1, various interfaces may be configured for different sub-systems to support information exchange and data communication. For example, the OTA server may provide a vehicle provisioning interface, which may be used by an external system to provision the vehicle profiles and metadata. The vehicle system may provide an OTA update notification interface to let the OTA server notify the status of OTA updates. The OTA server may provide a vehicle running status report interface to let the connected vehicle system to feedback if a vehicle is running well after an OTA update. The GIS spatial database may provide a spatial object query interface for an external system to look up the metadata of one or more spatial objects based on one or more locations.
Fig. 2 is a diagram illustrating an exemplary OTA procedure according to an embodiment of the present disclosure. As shown in Fig. 2, a connected vehicle may report 201 its location, sensor data and/or event log, etc. to a connected vehicle system periodically or on-demand. The connected vehicle system may trigger 202 a data analytics procedure periodically or on-demand. In the data analytics procedure, the connected vehicle system may use data analytics and/or machine learning algorithms to analyze the data reported by each vehicle and generate one or more behavior-oriented attributes associated with the vehicle accordingly. In accordance with an  exemplary embodiment, the one or more behavior-oriented attributes may at least include the following categories:
● Vehicle Condition: those attributes that can reflect how healthy a vehicle is.
● Driving Behavior: those attributes that can reflect the driving characteristic of the driver (s) of a vehicle.
● Road Condition: those attributes that can reflect the kinds of roads through which a vehicle drives, and/or the traffic situation a vehicle encounters.
Table 1 illustrates some exemplary behavior-oriented attributes generated by the data analytics procedure.
Table 1
Figure PCTCN2021081845-appb-000001
As shown in Table 1, the vehicle condition may include one or more of the following behavior-oriented attributes:
1.1  Maintenance Status
Since each vehicle may have a relatively fixed maintenance interval, the health of the vehicle may be relevant to how close to the next maintenance date.
● Normal: remaining more than 5%to the next maintenance date.
● Approaching deadline: remaining less than 5%to the next maintenance date.
● Overdue: does not do a maintenance check on the due maintenance date.
1.2  Repair Frequency
The connected vehicle system may detect the hood status to count the times of repair. For example, if the hood is opened for more than 15 minutes, it may be considered as a valid repair activity.
● High: more than 10 times per year.
● Medium: between 3 times and 10 times per year.
● Low: less than 3 times per year.
1.3  Diagnostic Status
There may be the following two scenarios of remote diagnostic in the connected vehicle system:
● On-demand diagnostic; and
● A vehicle may report diagnostic results based on predefined events, for example:
- Collect and upload diagnostic trouble codes (DTCs) right after the ignition is on.
- Collect and upload DTCs periodically during a driving cycle.
According to an exemplary embodiment, the last diagnostic result may be used in this attribute to describe the health of a vehicle as below:
● Healthy: no DTC.
● Abnormal: more than one DTCs.
As an example, the driving behavior may include one or more of the following behavior-oriented attributes:
2.1  Driving Frequency
The connected vehicle system may define a trip between a pair of ignition on/off events. This attribute may be based on the number of trips per day.
● High: more than 5 trips per day.
● Medium: between 0.5 and 5 trips per day.
● Low: less than 0.5 trip per day.
2.2  Driving Behavior Score
In accordance with an exemplary embodiment, each vehicle may have a full score (e.g., 100) at the beginning. When a driver does something risky, the system may deduct corresponding points from the initial score. Some exemplary points deduction rules and deduction factors are listed in Table 2.
Table 2
Figure PCTCN2021081845-appb-000002
When the behavior score is calculated, it may need to fade-out some deductions as time passes to give the driver an opportunity to improve his behaviors. Therefore, a decay function may be introduced for this purpose. In accordance with an exemplary embodiment, the score calculation formula of a certain vehicle may be defined as follows:
Figure PCTCN2021081845-appb-000003
where the decay formula Decay (Δt) may be defined as below:
Figure PCTCN2021081845-appb-000004
where the parameter Δt represents how long has this deduction item been generated, the unit of it is month.
Fig. 3A is a diagram illustrating an exemplary decay formula according to an embodiment of the present disclosure. The graph of the formula shown in Fig. 3A can be constructed according to a need for decay rate. The half-life of a negative driving behavior deduction is 4 months, and gradually decreases to close to 0 after 8 months. This is a good way to illustrate the impact of violations at different times on the current score and to express a driver’s current safety risk in the final score.
For example, a driver commits an overspeed event on March 1, 2020, five points may be deducted, and the score reduced from 100 to 95. If the driver has no other violations, his score may increase to 97.5 in August 2020.
Score=100- (5*Decay (4) )
=100- (5*0.5) =97.5               (3)
A more general example of a driver’s negative behavior history is shown in Table 3.
Table 3
Index Events type Deduction point Occur time
1 Overspeed 5 2018-01-10 10: 34: 01
2 Fatigue Driving 10 2020-05-13 23: 10: 34
3 Overspeed 5 2020-12-01 03: 43: 57
In accordance with an exemplary embodiment, in January 1, 2021, the driver’s behavior score may be calculated as below:
Score=100- [ (5*Decay (35.6) ) + (10*Decay (7.5) ) + (5*Decay (1.0) ) ]
=100- [ (5*1e-14) + (10*0.03) + (5*0.95) ] =94.95    (4)
In accordance with an exemplary embodiment, as a category of behavior-oriented attributes, the road condition may include highway percentage and/or any other attributes which may reflect the kinds of roads, traffic situations or driving environments with respect to the concerned vehicle. For the highway percentage, since highway is usually relevant to higher speed and higher risk, this attribute may help to provide the insight of driving risk. By looking up the vehicle locations in the GIS spatial database, it can be identified whether the road segments a vehicle drives through are highway or not. Furthermore, the percentage of highway driving in a specific time  window can be calculated.
Referring back to Fig. 2, in the exemplary OTA procedure, the connected vehicle system may provision 203 the generated behavior-oriented attributes to an OTA server. An OTA campaign may be created 204 in the OTA server, e.g., based at least in part on the behavior-oriented attributes. In accordance with an exemplary embodiment, the OTA campaign may indicate which vehicles will be updated in the OTA procedure and how to update the vehicles batch by batch.
Fig. 3B is a diagram illustrating an exemplary OTA campaign graphical user interface (GUI) according to an embodiment of the present disclosure. In the GUI example of OTA campaign summary shown in Fig. 3B, the campaign may contain the following information:
● General vehicle targeting information, such as “Vehicle brand” , “Vehicle model” , “Current software version” and “Market” , etc.;
● Software information, such as “Software name” , “Software version” and “Software file” , etc., which may indicate the software package to be updated to the targeted vehicles;
● Scheduling information, such as “Valid until” , etc., which may indicate the validity period of the campaign; and
● Success criteria: one or more conditions for determining whether the OTA campaign is successfully completed, e.g., “At least 85%of the targeted vehicles updated successfully” , “At least 80%of the updated vehicles run normally” , etc.; and
● Batches: splitting the targeted vehicles into several batches for the stepwise roll-out, e.g., “Batch 1” , “Batch 2” , etc.
In accordance with an exemplary embodiment, the campaign may include the following information for each batch:
● The number of targeted vehicles, e.g., “Maximum 10%of targeted vehicles” , etc.;
● One or more filters for further vehicle targeting: selecting targeted vehicles of the corresponding batch, e.g., according to behavior-oriented attributes of the vehicles; and
● Success criteria: one or more conditions for determining whether the corresponding batch is successfully updated, e.g., “At least 90%of the targeted vehicles updated successfully” , “At least 85%of the updated vehicles run normally” , etc.
As an example, a pilot batch (e.g., “Batch 1” shown in Fig. 3B) may include the filters using behavior-oriented attributes shown in Table 4 for vehicle targeting.
Table 4
Figure PCTCN2021081845-appb-000005
According to the one or more filters for the pilot batch, the OTA server can  determine and query 205 the targeted vehicles in the pilot batch. Then the OTA server may start 206 executing an OTA update of the pilot batch and perform the OTA procedure for each targeted vehicle in the pilot batch. When the OTA server notifies 207 the OTA updated vehicles to the connected vehicle system, the connected vehicle system may send 208 a successful response to the OTA server for the notification.
In accordance with an exemplary embodiment, the connected vehicle system may monitor 209 the status of the OTA updated vehicles, as shown in Fig. 2. After analyzing the data collected for the OTA updated vehicles (e.g., the data reported by the OTA updated vehicles, etc. ) with custom algorithms, the connected vehicle system may report 210 the status of the OTA updated vehicles to the OTA server, e.g., in a vehicle running status report procedure. If the OTA server finds that the condition of successfully updating the pilot batch can be fulfilled, the OTA server may continue 211 the campaign roll-out, e.g., by executing an OTA update of the next batch.
Traditionally, the OTA server may continue other batches in a campaign when the OTA update in current batch has fulfilled a certain successful rate. However, for updating safety sensitive firmware/software, the effect of an updated firmware/software is also a crucial part of the criteria. In accordance with an exemplary embodiment, by using data analytics or machine learning techniques, the connected vehicle system can monitor the running status of the OTA updated vehicle for a certain of time and then report the running status of the OTA updated vehicle back to the OTA server. To monitor the running status of the OTA updated vehicle, one or more custom algorithms in the connected vehicle system may be needed for different functions or scenarios. The OTA server may use the statistics based on the reported status of various OTA updated vehicles to decide whether it may continue the campaign or not.
Fig. 4 is a diagram illustrating an exemplary OTA procedure according to another embodiment of the present disclosure. The OTA procedure illustrated in Fig. 4  is similar to the OTA procedure illustrated in Fig. 2. The difference between the two procedures is in that the pilot batch is determined by the OTA server according to the procedure of Fig. 2, while in the procedure of Fig. 4, the pilot batch is determined by the vehicle system based on a selection criterion for the pilot batch provided by the OTA server.
Similar to Fig. 2, in the procedure of Fig. 4, a connected vehicle may report 401 its location, sensor data and/or event log, etc. to a connected vehicle system periodically or on-demand. The connected vehicle system may trigger 402 a data analytics procedure periodically or on-demand to generate one or more behavior-oriented attributes associated with the vehicle, e.g., as described with respect to Fig. 2. The connected vehicle system may not provision the generated behavior-oriented attributes to an OTA server. The OTA server may create 403 an OTA campaign including a pilot batch. For example, the OTA campaign may indicate which vehicles will be updated in the OTA procedure and how to update the vehicles batch by batch. In accordance with an exemplary embodiment, the OTA server may determine one or more selection criteria for the pilot batch, which may include one or more filters for the pilot batch, e.g. as described with respect to Fig. 3B. The OTA server may send 404 the selection criteria for the pilot batch to the connected vehicle system. According to the selection criteria for the pilot batch, the connected vehicle system can determine and query 405 the targeted vehicles in the pilot batch. Then the connected vehicle system may inform 406 the targeted vehicles in the pilot batch to the OTA server, so that the OTA server can start 407 executing an OTA update of the pilot batch and perform the OTA procedure for each targeted vehicle in the pilot batch. When the OTA server notifies 408 the OTA updated vehicles to the connected vehicle system, the connected vehicle system may send 409 a successful response to the OTA server for the notification.
According to the procedure of Fig. 4, the connected vehicle system may  monitor 410 the status of the OTA updated vehicles, and report 411 the status of the OTA updated vehicles to the OTA server, e.g., in a vehicle running status report procedure. If the OTA server finds that the condition of successfully updating the pilot batch can be fulfilled, the OTA server may continue 412 the campaign roll-out, e.g., by executing an OTA update of the next batch.
Various exemplary embodiments provide an advanced vehicle selection approach for SDV OTA by leveraging data collected in a vehicle system and basing on driving behaviors of vehicles. Application of the proposed approach of behavior-based vehicle selection can enable a low risk pilot batch of vehicles to be determined and updated more flexibly and efficiently. In addition, monitoring the status of the updated vehicles can enhance handling of abnormalities and improve the road safety.
It can be appreciated that different categories of behavior-oriented attributes of vehicles and related parameter settings as described with respect to Fig. 2, Fig. 3A, Fig. 3B, Fig. 4 and Tables 1-4 are just examples. According to different application requirements, other suitable behavior-oriented attributes of vehicles, the associated parameter settings and the specific values thereof may also be applicable to various exemplary embodiments according to the present disclosure.
Fig. 5A is a flowchart illustrating a method 510 according to some embodiments of the present disclosure. The method 510 illustrated in Fig. 5A may be performed by a vehicle server (e.g., the connected vehicle system shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) or an apparatus communicatively coupled to the vehicle server. In accordance with an exemplary embodiment, the vehicle server may be configured to provide various vehicle services to one or more vehicles or in-vehicle devices, collect data for the one or more vehicles or in-vehicle devices, and exchange information with the one or more vehicles or in-vehicle devices, etc. In an exemplary embodiment, the vehicle server may be configured to communicate with an application server (e.g., the  OTA server shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) to facilitate application provision and/or management (e.g., software/firmware update, application provision, etc. ) of the one or more vehicles or in-vehicle devices by the application server.
According to the exemplary method 510 illustrated in Fig. 5A, the vehicle server can determine behavior-oriented information of a vehicle, as shown in block 512. The behavior-oriented information of the vehicle may be used to determine whether the vehicle belongs to a first batch of vehicles to be updated. In accordance with an exemplary embodiment, the vehicle server may receive an update indication of the vehicle from an application server when the vehicle is updated (e.g., software updated and/or firmware updated) , as shown in block 514.
In accordance with an exemplary embodiment, the vehicle server may receive data reported by the vehicle. In an embodiment, the vehicle server can determine the behavior-oriented information of the vehicle by performing an analysis on the data reported by the vehicle, and generating one or more behavior-oriented attributes of the vehicle according to the analysis. In accordance with an exemplary embodiment, the behavior-oriented information of the vehicle may be determined according to one or more of: location data, sensor data, diagnostic data, trajectory data, and event log data, e.g., as described with respect to Fig. 2 and Table 1.
In accordance with an exemplary embodiment, the behavior-oriented information of the vehicle may indicate one or more behaviors of the vehicle during a time period. In an embodiment, the behavior-oriented information of the vehicle may include one or more of: vehicle condition information, driving behavior information, and road condition information, e.g., as described with respect to Table 1.
According to an embodiment, the vehicle condition information may include one or more of: a maintenance status, a repair frequency, and a diagnostic status. According to another embodiment, the driving behavior information may include a  driving frequency and/or a driving behavior score. In an embodiment, the driving behavior score may be based on a negative driving behavior deduction. According to another embodiment, the road condition information may include highway percentage information.
In accordance with an exemplary embodiment, the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the application server (e.g., as described with respect to Fig. 2) or the vehicle server (e.g., as described with respect to Fig. 4) .
In accordance with an exemplary embodiment, the vehicle server may transmit the behavior-oriented information of the vehicle to the application server. In an embodiment, the vehicle server may receive a request for the behavior-oriented information of the vehicle from the application server. The transmission of the behavior-oriented information of the vehicle from the vehicle server to the application server may be triggered periodically, or by the request for the behavior-oriented information of the vehicle from the application server. In an embodiment, the vehicle server may receive a notification from the application server. The notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
In accordance with an exemplary embodiment, the vehicle server may receive a selection criterion of the first batch of vehicles from the application server. The selection criterion of the first batch of vehicles may include one or more parameters and/or thresholds corresponding to the behavior-oriented information. According to the selection criterion of the first batch of vehicles, the vehicle server can determine one or more vehicles belonging to the first batch of vehicles. For example, if a vehicle has behavior-oriented information meeting the corresponding parameter setting (s) and/or threshold (s) of the selection criterion, the vehicle may be determined  to belong to the first batch of vehicles. In accordance with an exemplary embodiment, the vehicle server may inform the application server of the one or more vehicles belonging to the first batch of vehicles.
In accordance with an exemplary embodiment, the vehicle server may monitor a status of the vehicle, in response to reception of the update indication of the vehicle. Then the vehicle server may report the status of the vehicle to the application server.
Fig. 5B is a flowchart illustrating a method 520 according to some embodiments of the present disclosure. The method 520 illustrated in Fig. 5B may be performed by an application server (e.g., the OTA server shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) or an apparatus communicatively coupled to the application server. In accordance with an exemplary embodiment, the application server may be configured to support or provision various vehicle applications. In an exemplary embodiment, the application server may be configured to communicate with a vehicle server (e.g., the connected vehicle system shown in Fig. 1, Fig. 2 and Fig. 4, etc. ) to implement application provision and/or management of one or more vehicles or in-vehicle devices.
According to the exemplary method 520 illustrated in Fig. 5B, the application server can determine a selection criterion of a first batch of vehicles to be updated, as shown in block 522. The selection criterion may be used to determine whether a vehicle belongs to the first batch of vehicles according to behavior-oriented information of the vehicle. In accordance with an exemplary embodiment, the application server may transmit an update indication of the vehicle to a vehicle server (e.g., the vehicle server as described with respect to Fig. 5A) , when the vehicle is updated, as shown in block 524. In an embodiment, the update of the vehicle may include software update and/or firmware update.
In accordance with some exemplary embodiments, the behavior-oriented  information of the vehicle as described with respect to Fig. 5B may correspond to the behavior-oriented information of the vehicle as described with respect to Fig. 5A. Thus, the behavior-oriented information of the vehicle according to the method 510 and the behavior-oriented information of the vehicle according to the method 520 may have the same or similar contents and/or feature elements. Similarly, the selection criterion of the first batch of vehicles as described with respect to Fig. 5B may correspond to the selection criterion of the first batch of vehicles as described with respect to Fig. 5A. Correspondingly, the determination of the first batch of vehicles according to the method 510 and the determination of the first batch of vehicles according to the method 520 may be based on the same or similar parameter (s) and/or criterion (s) .
In accordance with an exemplary embodiment, the application server may receive the behavior-oriented information of the vehicle from the vehicle server, e.g., periodically or as required. In an embodiment, the application server may transmit a request for the behavior-oriented information of the vehicle to the vehicle server. According to the behavior-oriented information of the vehicle and the selection criterion of the first batch of vehicles, the application server can determine whether the vehicle belongs to the first batch of vehicles to be updated. For example, if the behavior-oriented information of the vehicle meets one or more filtering conditions according to the selection criterion of the first batch of vehicles, it can be determined that the vehicle belongs to the first batch of vehicles to be updated. In an embodiment, the application server may transmit a notification to the vehicle server. The notification may instruct the vehicle server to stop the transmission of the behavior-oriented information to the application server.
In accordance with an exemplary embodiment, the application server may transmit the selection criterion of the first batch of vehicles to the vehicle server. In this case, the determination of whether the vehicle belongs to the first batch of vehicles to be updated may be performed by the vehicle server. In an embodiment, the application  server may receive a selection result of the first batch of vehicles from the vehicle server. The selection result may indicate one or more vehicles which are determined to belong to the first batch of vehicles according to the selection criterion of the first batch of vehicles.
In accordance with an exemplary embodiment, the first batch of vehicles may be a subset of target vehicles of an over-the-air update campaign created by the application server. In an embodiment, the subset of the target vehicles may include one or more vehicles to be updated earliest among the target vehicles. In another embodiment, the subset of the target vehicles may include one or more vehicles to be updated at any other later time among the target vehicles.
In accordance with an exemplary embodiment, the target vehicles of the over-the-air update campaign may include at least the first batch of vehicles and a second batch of vehicles, e.g., as described with respect to Fig. 3B. The second batch of vehicles may be updated when the update of the first batch of vehicles meets a success criterion for the first batch of vehicles. In an embodiment, the success criterion for the first batch of vehicles may be related to status of one or more updated vehicles among the first batch of vehicles.
In accordance with an exemplary embodiment, the over-the-air update campaign may be created, e.g., by the application server, based at least in part on behavior-oriented information of the target vehicles, e.g., as described with respect to Fig. 3B. In an embodiment, the over-the-air update campaign may include, for each batch of vehicles among the target vehicles, one or more of:
● quantity information of said batch of vehicles;
● indication information of said batch of vehicles;
● one or more filters related to behavior-oriented information of said batch of  vehicles; and
● a success criterion related to status of one or more updated vehicles among said batch of vehicles.
In accordance with an exemplary embodiment, the over-the-air update campaign may further include an overall success criterion for the target vehicles. The overall success criterion may be related to status of one or more updated vehicles among the target vehicles.
In accordance with an exemplary embodiment, the application server may update the vehicle according to the first batch of vehicles, when the vehicle is determined to belong to the first batch of vehicles. In accordance with another exemplary embodiment, when the vehicle is determined not belong to the first batch of vehicles, the application server can determine which batch of vehicles to be updated the vehicle belongs to, according to the behavior-oriented information of the vehicle. In an embodiment, when an update of a previous batch of vehicles of the determined batch of vehicles meets a corresponding success criterion, the application server may update the vehicle according to the determined batch of vehicles.
In accordance with an exemplary embodiment, the application server may receive a status of the vehicle from the vehicle server, in response that the vehicle is updated. In accordance with another exemplary embodiment, the application server can determine whether to perform an update of a next batch of vehicles, based at least in part on the status of the vehicle received from the vehicle server.
Fig. 5C is a flowchart illustrating a method 530 according to some embodiments of the present disclosure. The method 530 illustrated in Fig. 5C may be performed for a vehicle system including one or more vehicles, a vehicle server (e.g., the vehicle server as described with respect to Fig. 5A) and an application server (e.g.,  the application server as described with respect to Fig. 5B) . In accordance with an exemplary embodiment, the vehicle system may utilize the vehicle server and the application server to provide various services to the one or more vehicles, e.g., software/firmware update, data collection and analysis, status detection, performance evaluation, etc.
According to the exemplary method 530 illustrated in Fig. 5C, the vehicle server may receive data from a vehicle, as shown in block 532. Based at least in part on the data of the vehicle, the vehicle server can determine behavior-oriented information of the vehicle, as shown in block 534. In an embodiment, the vehicle server may transmit the behavior-oriented information of the vehicle to the application server. Alternatively or additionally, the vehicle server may receive a selection criterion of a first batch of vehicles from the application server. According to the behavior-oriented information of the vehicle, the vehicle server or the application server can determine whether the vehicle belongs to the first batch of vehicles to be updated, as shown in block 536. In an embodiment, the vehicle server and application server may be implemented as different servers or the same server. In another embodiment, the vehicle server may be configured to also act as the application server.
The various blocks shown in Figs. 5A-5C may be viewed as method steps, and/or as operations that result from operation of computer program code, and/or as a plurality of coupled logic circuit elements constructed to carry out the associated function (s) . The schematic flow chart diagrams described above are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of specific embodiments of the presented methods. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated methods. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
Fig. 6 is a block diagram illustrating an apparatus 600 according to various embodiments of the present disclosure. As shown in Fig. 6, the apparatus 600 may comprise one or more processors such as processor 601 and one or more memories such as memory 602 storing computer program codes 603. The memory 602 may be non-transitory machine/processor/computer readable storage medium. In accordance with some exemplary embodiments, the apparatus 600 may be implemented as an integrated circuit chip or module that can be plugged or installed into a vehicle server as described with respect to Fig. 5A, or an application server as described with respect to Fig. 5B. In such cases, the apparatus 600 may be implemented as a vehicle server as described with respect to Fig. 5A, or an application server as described with respect to Fig. 5B.
In some implementations, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform any operation of the method as described in connection with Fig. 5A. In other implementations, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform any operation of the method as described in connection with Fig. 5B. In other implementations, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform any operation of the method as described in connection with Fig. 5C. Alternatively or additionally, the one or more memories 602 and the computer program codes 603 may be configured to, with the one or more processors 601, cause the apparatus 600 at least to perform more or less operations to implement the proposed methods according to the exemplary embodiments of the present disclosure.
Fig. 7A is a block diagram illustrating an apparatus 710 according to some embodiments of the present disclosure. As shown in Fig. 7A, the apparatus 710 may  comprise a determining unit 711 and a receiving unit 712. In an exemplary embodiment, the apparatus 710 may be implemented in a vehicle server. The determining unit 711 may be operable to carry out the operation in block 512, and the receiving unit 712 may be operable to carry out the operation in block 514. Optionally, the determining unit 711 and/or the receiving unit 712 may be operable to carry out more or less operations to implement the proposed methods according to the exemplary embodiments of the present disclosure. In an embodiment, the apparatus 710 may comprise a transmitting unit (not shown in Fig. 7A) for transmitting various kinds of information of a vehicle (e.g., behavior-oriented information, status information, etc. ) to an application server.
Fig. 7B is a block diagram illustrating an apparatus 720 according to some embodiments of the present disclosure. As shown in Fig. 7B, the apparatus 720 may comprise a determining unit 721 and a transmitting unit 722. In an exemplary embodiment, the apparatus 720 may be implemented in an application server. The determining unit 721 may be operable to carry out the operation in block 522, and the transmitting unit 722 may be operable to carry out the operation in block 524. Optionally, the determining unit 721 and/or the transmitting unit 722 may be operable to carry out more or less operations to implement the proposed methods according to the exemplary embodiments of the present disclosure. In an embodiment, the apparatus 720 may comprise a receiving unit (not shown in Fig. 7B) for receiving various kinds of information of a vehicle (e.g., behavior-oriented information, status information, etc. ) from a vehicle server.
Fig. 8 is a block diagram illustrating an exemplary vehicle system 800 according to an embodiment of the present disclosure. As shown in Fig. 8, the vehicle system 800 may comprise a vehicle 801, a vehicle server 802 and an application server 803. In accordance with an exemplary embodiment, the vehicle 801 may be configured to report data of the vehicle 801 to the vehicle server 802. In accordance with an  exemplary embodiment, the vehicle server 802 may be configured to determine behavior-oriented information of the vehicle 801 based at least in part on the data of the vehicle 801, and optionally transmit the behavior-oriented information of the vehicle 801 to the application server 803. The behavior-oriented information of the vehicle 801 may be used by the vehicle server 802 or the application server 803 to determine whether the vehicle 801 belongs to a first batch of vehicles to be updated. In accordance with an exemplary embodiment, the vehicle server 802 may be configured to receive an update indication of the vehicle 801 from the application server 803 when the vehicle 801 is updated. In accordance with an exemplary embodiment, the application server 803 may be configured to determine a selection criterion of the first batch of vehicles, and transmit the update indication of the vehicle 801 to the vehicle server 802 when the vehicle 801 is updated.
In general, the various exemplary embodiments may be implemented in hardware or special purpose chips, circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the disclosure is not limited thereto. While various aspects of the exemplary embodiments of this disclosure may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
As such, it should be appreciated that at least some aspects of the exemplary embodiments of the disclosure may be practiced in various components such as integrated circuit chips and modules. It should thus be appreciated that the exemplary  embodiments of this disclosure may be realized in an apparatus that is embodied as an integrated circuit, where the integrated circuit may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor, a digital signal processor, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this disclosure.
It should be appreciated that at least some aspects of the exemplary embodiments of the disclosure may be embodied in computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, random access memory (RAM) , etc. As will be appreciated by one of skill in the art, the function of the program modules may be combined or distributed as desired in various embodiments. In addition, the function may be embodied in whole or partly in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA) , and the like.
The present disclosure includes any novel feature or combination of features disclosed herein either explicitly or any generalization thereof. Various modifications and adaptations to the foregoing exemplary embodiments of this disclosure may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-limiting and exemplary embodiments of this disclosure.

Claims (51)

  1. A method (510) performed by a vehicle server, comprising:
    determining (512) behavior-oriented information of a vehicle, wherein the behavior-oriented information of the vehicle is used to determine whether the vehicle belongs to a first batch of vehicles to be updated; and
    receiving (514) an update indication of the vehicle from an application server, when the vehicle is updated.
  2. The method according to claim 1, wherein the behavior-oriented information of the vehicle indicates one or more behaviors of the vehicle during a time period.
  3. The method according to claim 1 or 2, wherein the behavior-oriented information of the vehicle is determined by:
    performing an analysis on data reported by the vehicle; and
    generating one or more behavior-oriented attributes of the vehicle according to the analysis.
  4. The method according to any of claims 1-3, wherein the behavior-oriented information of the vehicle includes one or more of:
    vehicle condition information;
    driving behavior information; and
    road condition information.
  5. The method according to claim 4, wherein the vehicle condition information includes one or more of:
    a maintenance status;
    a repair frequency; and
    a diagnostic status.
  6. The method according to claim 4 or 5, wherein the driving behavior information includes one or more of:
    a driving frequency; and
    a driving behavior score.
  7. The method according to claim 6, wherein the driving behavior score is based on a negative driving behavior deduction.
  8. The method according to any of claims 4-7, wherein the road condition information includes highway percentage information.
  9. The method according to any of claims 1-8, wherein the behavior-oriented information of the vehicle is determined according to one or more of:
    location data;
    sensor data;
    diagnostic data;
    trajectory data; and
    event log data.
  10. The method according to any of claims 1-9, wherein the determination of whether the vehicle belongs to the first batch of vehicles to be updated is performed by the application server.
  11. The method according to claim 10, further comprising:
    receiving a request for the behavior-oriented information of the vehicle from the application server.
  12. The method according to claim 10 or 11, further comprising:
    transmitting the behavior-oriented information of the vehicle to the application server.
  13. The method according to claim 12, further comprising:
    receiving a notification from the application server, wherein the notification instructs the vehicle server to stop the transmission of the behavior-oriented information to the application server.
  14. The method according to any of claims 1-9, wherein the determination of whether the vehicle belongs to the first batch of vehicles to be updated is performed by the vehicle server.
  15. The method according to claim 14, further comprising:
    receiving a selection criterion of the first batch of vehicles from the application server, wherein the selection criterion of the first batch of vehicles includes one or more parameters and/or thresholds corresponding to the behavior-oriented information.
  16. The method according to claim 15, further comprising:
    determining one or more vehicles belonging to the first batch of vehicles, according to the selection criterion of the first batch of vehicles; and
    informing the application server of the one or more vehicles belonging to the first batch of vehicles.
  17. The method according to any of claims 1-16, further comprising:
    monitoring a status of the vehicle, in response to reception of the update indication of the vehicle; and
    reporting the status of the vehicle to the application server.
  18. A vehicle server (600) , comprising:
    one or more processors (601) ; and
    one or more memories (602) comprising computer program codes (603) ,
    the one or more memories (602) and the computer program codes (603) configured to, with the one or more processors (601) , cause the vehicle server (600) at least to:
    determine behavior-oriented information of a vehicle, wherein the behavior-oriented information of the vehicle is used to determine whether the vehicle belongs to a first batch of vehicles to be updated; and
    receive an update indication of the vehicle from an application server, when the vehicle is updated.
  19. The vehicle server according to claim 18, wherein the one or more memories and the computer program codes are configured to, with the one or more processors, cause the vehicle server to perform the method according to any one of claims 2-17.
  20. A computer-readable medium having computer program codes (603) embodied thereon which, when executed on a computer, cause the computer to perform any step of the method according to any one of claims 1-17.
  21. A method (520) performed by an application server, comprising:
    determining (522) a selection criterion of a first batch of vehicles to be updated, wherein the selection criterion is used to determine whether a vehicle belongs to the first batch of vehicles according to behavior-oriented information of the vehicle; and
    transmitting (524) an update indication of the vehicle to a vehicle server, when the vehicle is updated.
  22. The method according to claim 21, wherein the behavior-oriented information of the vehicle indicates one or more behaviors of the vehicle during a time period.
  23. The method according to claim 21 or 22, wherein the behavior-oriented information of the vehicle includes one or more of:
    vehicle condition information;
    driving behavior information; and
    road condition information.
  24. The method according to claim 23, wherein the vehicle condition information includes one or more of:
    a maintenance status;
    a repair frequency; and
    a diagnostic status.
  25. The method according to claim 23 or 24, wherein the driving behavior information includes one or more of:
    a driving frequency; and
    a driving behavior score.
  26. The method according to claim 25, wherein the driving behavior score is based on a negative driving behavior deduction.
  27. The method according to any of claims 23-26, wherein the road condition information includes highway percentage information.
  28. The method according to any of claims 21-27, wherein the determination of whether the vehicle belongs to the first batch of vehicles to be updated is performed by the application server or the vehicle server.
  29. The method according to any of claims 21-28, further comprising:
    transmitting a request for the behavior-oriented information of the vehicle to the vehicle server.
  30. The method according to any of claims 21-29, further comprising:
    receiving the behavior-oriented information of the vehicle from the vehicle server.
  31. The method according to claim 30, further comprising:
    transmitting a notification to the vehicle server, wherein the notification instructs the vehicle server to stop the transmission of the behavior-oriented information to the application server.
  32. The method according to any of claims 21-31, further comprising:
    transmitting the selection criterion of the first batch of vehicles to the vehicle server.
  33. The method according to claim 32, further comprising:
    receiving a selection result of the first batch of vehicles from the vehicle server, wherein the selection result indicates one or more vehicles which are determined to belong to the first batch of vehicles according to the selection criterion of the first batch of vehicles.
  34. The method according to any of claims 21-33, wherein the selection criterion of  the first batch of vehicles includes one or more parameters and/or thresholds corresponding to the behavior-oriented information.
  35. The method according to any of claims 21-34, wherein the first batch of vehicles is a subset of target vehicles of an over-the-air update campaign created by the application server.
  36. The method according to claim 35, wherein the subset of the target vehicles includes one or more vehicles to be updated earliest among the target vehicles.
  37. The method according to claim 35 or 36, wherein the over-the-air update campaign is created based at least in part on behavior-oriented information of the target vehicles.
  38. The method according to any of claims 35-37, wherein the target vehicles of the over-the-air update campaign include at least the first batch of vehicles and a second batch of vehicles, and wherein the second batch of vehicles is to be updated when the update of the first batch of vehicles meets a success criterion for the first batch of vehicles.
  39. The method according to claim 38, wherein the success criterion for the first batch of vehicles is related to status of one or more updated vehicles among the first batch of vehicles.
  40. The method according to any of claims 35-39, wherein the over-the-air update campaign includes, for each batch of vehicles among the target vehicles, one or more of:
    quantity information of said batch of vehicles;
    indication information of said batch of vehicles;
    one or more filters related to behavior-oriented information of said batch of vehicles; and
    a success criterion related to status of one or more updated vehicles among said batch of vehicles.
  41. The method according to claim 40, wherein the over-the-air update campaign further includes an overall success criterion for the target vehicles, and wherein the overall success criterion is related to status of one or more updated vehicles among the target vehicles.
  42. The method according to any of claims 21-41, further comprising:
    updating the vehicle according to the first batch of vehicles, when the vehicle is determined to belong to the first batch of vehicles.
  43. The method according to any of claims 21-41, further comprising:
    determining which batch of vehicles to be updated the vehicle belongs to, according to the behavior-oriented information of the vehicle, when the vehicle is determined not belong to the first batch of vehicles.
  44. The method according to claim 43, further comprising:
    updating the vehicle according to the determined batch of vehicles, when an update of a previous batch of vehicles of the determined batch of vehicles meets a corresponding success criterion.
  45. The method according to any of claims 21-44, further comprising:
    receiving a status of the vehicle from the vehicle server, in response that the vehicle is updated; and
    determining whether to perform an update of a next batch of vehicles, based at least in part on the status of the vehicle received from the vehicle server.
  46. The method according to any of claim 21-45, wherein the update of the vehicle includes software update and/or firmware update.
  47. An application server (600) , comprising:
    one or more processors (601) ; and
    one or more memories (602) comprising computer program codes (603) ,
    the one or more memories (602) and the computer program codes (603) configured to, with the one or more processors (601) , cause the application server (600) at least to:
    determine a selection criterion of a first batch of vehicles to be updated, wherein the selection criterion is used to determine whether a vehicle belongs to the first batch of vehicles according to behavior-oriented information of the vehicle; and
    transmit an update indication of the vehicle to a vehicle server, when the vehicle is updated.
  48. The application server according to claim 47, wherein the one or more memories and the computer program codes are configured to, with the one or more processors, cause the application server to perform the method according to any one of claims 22-46.
  49. A computer-readable medium having computer program codes (603) embodied thereon which, when executed on a computer, cause the computer to perform any step of the method according to any one of claims 21-46.
  50. A method (530) for a vehicle system, comprising:
    receiving (532) data from a vehicle;
    determining (534) behavior-oriented information of the vehicle based at least in part on the data of the vehicle; and
    determining (536) whether the vehicle belongs to a first batch of vehicles to be updated, according to the behavior-oriented information of the vehicle.
  51. A vehicle system (800) comprising:
    a vehicle (801) configured to report data of the vehicle (801) to a vehicle server (802) ;
    the vehicle server (802) configured to:
    determine behavior-oriented information of the vehicle (801) based at least in part on the data of the vehicle (801) , wherein the behavior-oriented information of the vehicle (801) is used by the vehicle server (802) or an application server (803) to determine whether the vehicle (801) belongs to a first batch of vehicles to be updated, and
    receive an update indication of the vehicle (801) from the application server (803) , when the vehicle (801) is updated; and
    the application server (803) configured to:
    determine a selection criterion of the first batch of vehicles; and
    transmit the update indication of the vehicle (801) to the vehicle server (802) , when the vehicle (801) is updated.
PCT/CN2021/081845 2021-03-19 2021-03-19 Method and apparatus for updating a vehicle application WO2022193298A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/081845 WO2022193298A1 (en) 2021-03-19 2021-03-19 Method and apparatus for updating a vehicle application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/081845 WO2022193298A1 (en) 2021-03-19 2021-03-19 Method and apparatus for updating a vehicle application

Publications (1)

Publication Number Publication Date
WO2022193298A1 true WO2022193298A1 (en) 2022-09-22

Family

ID=75302195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/081845 WO2022193298A1 (en) 2021-03-19 2021-03-19 Method and apparatus for updating a vehicle application

Country Status (1)

Country Link
WO (1) WO2022193298A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190034315A1 (en) * 2017-07-25 2019-01-31 Citrix Systems, Inc. Method for optimized canary deployments for improved customer experience
US20190146774A1 (en) * 2017-11-16 2019-05-16 Citrix Systems, Inc. Deployment routing of clients by analytics
US20190391800A1 (en) * 2018-06-20 2019-12-26 Aptiv Technologies Limited Over-the-air (ota) mobility services platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190034315A1 (en) * 2017-07-25 2019-01-31 Citrix Systems, Inc. Method for optimized canary deployments for improved customer experience
US20190146774A1 (en) * 2017-11-16 2019-05-16 Citrix Systems, Inc. Deployment routing of clients by analytics
US20190391800A1 (en) * 2018-06-20 2019-12-26 Aptiv Technologies Limited Over-the-air (ota) mobility services platform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WONG ERIC ET AL: "Panel on Safety, Security, and Reliability of Autonomous Vehicles", 2020 ASIA-PACIFIC INTERNATIONAL SYMPOSIUM ON ADVANCED RELIABILITY AND MAINTENANCE MODELING (APARM), IEEE, 20 August 2020 (2020-08-20), pages 1 - 3, XP033833384, DOI: 10.1109/APARM49247.2020.9209498 *

Similar Documents

Publication Publication Date Title
US11422793B2 (en) Orchestrator reporting of probability of downtime from machine learning process
US20200351629A1 (en) System and method for managing a fleet of vehicles including electric vehicles
US9734001B2 (en) Efficient health management, diagnosis and prognosis of a machine
CN101268620B (en) Device management system and method for managing device management object
US20110172874A1 (en) Fault prediction framework using temporal data mining
US11062536B2 (en) Method and apparatus for statistical vehicle element failure analysis
CN110795138A (en) Software distribution system, software distribution server and software distribution method
US11119472B2 (en) Computer system and method for evaluating an event prediction model
JP6480263B2 (en) Software distribution management system and software distribution management method
CN115280337A (en) Machine learning based data monitoring
CN112165528B (en) Vehicle event and management method, system and storage medium of event file data thereof
WO2022193298A1 (en) Method and apparatus for updating a vehicle application
US12014334B2 (en) System for improved vehicular maintenance scheduling
DE102022002631A1 (en) Vehicle brake pad life estimation system and method
CN111868777B (en) Central control system and method
US11711671B2 (en) Systems and methods for determining mobile device status
US11653186B2 (en) Systems and methods for determining application status
CN117708835B (en) Policy engine system and method for automobile upgrading
CN117727144A (en) Early warning method, device, equipment and storage medium for vehicle oil tank liquid level reduction event
Butylin Predictive maintenance framework for a vehicular iot gateway node using active database rules
GB2563962B (en) Central control system and method
CN117745030A (en) Vehicle-road cooperative equipment operation and maintenance method based on ITSS
CN115914268A (en) Data returning method and control system for automatic driving vehicle, vehicle and related equipment
CN111868777A (en) Central control system and method
CN116128080A (en) Accident number determining method and device, computer equipment, medium and product

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21715474

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21715474

Country of ref document: EP

Kind code of ref document: A1