Dynamic connectivity configuration for vehicle functions

By identifying software updates on the vehicle computing system and activate network connections with mobile devices, the difficulty of performing network functions in vehicle inactive mode is solved, and the network connection of vehicle functions is achieved without affecting battery energy and network security. Activation and software updates.

CN119109782APending Publication Date: 2024-12-10RIVIAN HOLDINGS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410422988.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-08
Filing Date
2024-04-09
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

Executing certain network-based functions such as over-the-air software updates, navigation, remote support, etc. becomes difficult or impossible when the vehicle is in inactive mode because network connections are disabled, resulting in a waste of battery energy and network bandwidth, and Network security is affected.

Method used

By identifying software updates on the vehicle computing system and determining that the network connection is inactive, a request to activate the network connection is transmitted to the mobile device associated with the vehicle, and a wireless communication session is established with the vehicle using the mobile device to temporarily activate the network connection to download and install software updates.

Benefits of technology

Without undermining network security and battery energy management, the activation of the vehicle's network connection in inactive mode is achieved, ensuring the execution of authorized functions such as software updates, reducing network consumption, and improving the availability of vehicle functions .

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109782A_ABST
    Figure CN119109782A_ABST
Patent Text Reader

Abstract

An inactive vehicle mode is provided. In one embodiment, a system may include a data processing system including one or more processors coupled with a memory. The system may identify software updates on a computing system to be installed in a vehicle remote from the data processing system. The system may determine that a network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive. The system may transmit, to a mobile device associated with the identifier of the vehicle, a request to activate the network connection of the computing system to download the software update for installation on the computing system in response to the identification of the software update for installation and the determination that the network connection to the computing system is inactive. The system may provide the software update to the computing system for installation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] Vehicles can connect to the network to perform various functions.

[0003] summary

[0004] The present disclosure as a whole relates to dynamic connectivity configuration for vehicle functions. For example, the technical solution can temporarily activate network access for authorized software updates and other network-based functions of the vehicle. The vehicle can enter an inactive mode in which data transmission of the vehicle network can be significantly limited and disabled. When the vehicle is in an inactive mode, it may be challenging or impossible to perform certain functions (such as over-the-air software updates). In order to perform authorized network-based functions, when the vehicle is in an inactive mode, the technical solution can facilitate or otherwise cause the activation of a network connection between the vehicle and the network. For example, when a software update is ready to be downloaded to the computing system of the vehicle, the server can identify that the connection is unavailable, send a notification requesting temporary connectivity access to a mobile application on the driver's mobile phone, and use the phone (e.g., via a short-range wireless communication protocol such as Bluetooth) to communicate with the vehicle to connect to the vehicle's network or establish a limited network connection to the server. Therefore, when the vehicle is in an inactive mode, the technical solution can provide network connectivity for authorized or allowed vehicle functions.

[0005] At least one aspect relates to a system. The system may include a data processing system including one or more processors coupled to a memory. The system may identify a software update to be installed on a computing system in a vehicle remote from the data processing system. The system may determine that a network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive. The system may, in response to the identification of a software update for installation and the determination that the network connection to the computing system is inactive, transmit a request to activate a network connection of the computing system to download a software update for installation on the computing system to a mobile device associated with an identifier of the vehicle. The system may provide the software update to the computing system for installation via the network connection of the computing system activated in response to the request transmitted to the mobile device.

[0006] At least one aspect relates to a method. The method may include identifying, by a data processing system including one or more processors coupled to a memory, a software update to be installed on a computing system in a vehicle remote from the data processing system. The method may include determining, by the data processing system, that a network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive. The method may include transmitting, by the data processing system, a request to activate a network connection of the computing system to download a software update for installation on the computing system in response to the identification of a software update for installation and a determination that the network connection to the computing system is inactive, to a mobile device associated with an identifier of the vehicle. The method may include providing, by the data processing system, the software update to the computing system for installation via the computing system's network connection activated in response to the request transmitted to the mobile device.

[0007] At least one aspect relates to a vehicle. The vehicle may include a computing system including one or more processors coupled to a memory. The vehicle may receive a request to deactivate a network connection of the computing system via a user interface of the vehicle. In response to the request, the vehicle may deactivate the network connection. The vehicle may establish a wireless communication session with a mobile device separate from the computing system of the vehicle. The vehicle may receive an instruction to activate the network connection of the computing system from the mobile device via the wireless communication session to download a software update from a data processing system remote from the computing system. After activating the network connection, the vehicle may download a software update for installation by the computing system. After downloading the software update, the vehicle may deactivate the network connection.

[0008] These and other aspects and implementations are discussed in detail below. The foregoing information and the following detailed description include illustrative examples of various aspects and implementations, and provide an overview or framework for understanding the nature and characteristics of the protected aspects and implementations. The accompanying drawings provide illustration and further understanding of various aspects and implementations, and are incorporated into and constitute a part of this specification. The foregoing information and the following detailed description and the accompanying drawings include illustrative examples and should not be considered limiting. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The drawings are not intended to be drawn to scale. Like reference numbers and names indicate similar elements in the various drawings. For clarity, not every component is labeled in every drawing. In the drawings:

[0010] Figure 1 An exemplary system for dynamic connectivity configuration of vehicle functions is depicted.

[0011] Figure 2 An exemplary method for dynamic connectivity configuration of vehicle functions is depicted.

[0012] Figure 3 An exemplary method for transmitting a request to activate network access to an authorized network-based function for a vehicle is depicted.

[0013] Figure 4 An exemplary vehicle is depicted.

[0014] Figure 5 An exemplary user interface for removing network access to authorized network-based functionality for a vehicle is depicted.

[0015] Figure 6 An exemplary user interface for activating network access to authorized network-based functions for a vehicle is depicted.

[0016] Figure 7 is a block diagram showing the architecture of a computer system that can be used to implement, for example, Figure 1 and Figure 4 The system depicted in Figure 2 and Figure 3 Elements of the systems and methods described and illustrated herein of the methods depicted in the drawings. DETAILED DESCRIPTION

[0017] The following is a more detailed description of various concepts and implementations related to methods, apparatus, and systems for dynamic connectivity configuration of vehicle functions.The various concepts introduced above and discussed in more detail below may be implemented in any of a variety of ways.

[0018] The present disclosure relates to systems and methods for dynamic connectivity configuration of vehicle functions, such as temporarily activating network access to authorized network-based functions for a vehicle operating in an inactive mode. The system may include an apparatus and method for identifying software updates for a computing system of the vehicle and temporarily allowing network connectivity to the computing system to install the software update. In this way, the inactive mode may be suspended for predetermined, authorized network actions, such as installing a software update or an emergency warning.

[0019] The vehicle may be equipped with an inactive mode. The inactive mode may be a user-initiated operating mode of the vehicle in which the user (e.g., the driver) chooses to suspend network connectivity to the vehicle. Suspending network connectivity to the vehicle may conserve battery energy, reduce network bandwidth consumption, or improve the network security of the vehicle because the vehicle may not be connected to external networks and services while operating in the inactive mode. However, performing certain network-based functions (such as navigation and real-time mapping, over-the-air software updates, certain driver assistance functions, remote support and services, or accessing certain third-party applications) may be challenging when the vehicle is in the inactive mode.

[0020] In order to improve or facilitate certain functions of the vehicle while in inactive mode, while reducing or minimizing battery and network consumption and maintaining network security, the technical solution can temporarily activate predetermined or limited network traffic to facilitate the execution of functions such as software updates.

[0021] Figure 1 An exemplary system 100 for dynamic connectivity configuration of vehicle functionality is depicted. Activating a network connection for a network-based functionality of a vehicle may include: identifying a software update to be installed on a computing system in the vehicle; determining that a network connection to the computing system is inactive; transmitting a request to activate the network to a mobile device associated with an identifier of the vehicle; and providing the software update to the computing system for installation. System 100 may include a data processing system 102. Data processing system 102 may include a version monitor 104, a connection manager 106, an application delivery component 108, and a data repository 110 including at least one policy 112, a profile 114, an app 116, and a threshold 118. System 100 may include a mobile device 120, a network 101, or a vehicle 130 including a computing system 132 and a sensor 134, connected to, accessing, or otherwise communicating with the mobile device, network, or vehicle. Mobile device 120 , version monitor 104 , connection manager 106 , application delivery component 108 , vehicle 130 , or network 101 may each communicate with data repository 110 .

[0022] Data repository 110 may be any memory, storage device, or cache for storing information or data structures that facilitates data processing system 102 to activate a network connection for a network-based function of a vehicle. Data repository 110 may contain any information about system 100 and may allow the information to be accessed by any component of data processing system 102, such as through the communication methods described herein. Data repository 110 may contain at least one of policy 112, profile 114, application 116, or threshold 118. For example, the information or data structure (e.g., table, list, or spreadsheet) contained within data repository 110 may be dynamic and may change periodically (e.g., every day or every millisecond) via input from a user, via information from sensor 134, via input from a subcomponent of data processing system 102 (e.g., version monitor 104 or application delivery component 108), or via external updates to system 100. The information in data repository 110 may be stored in any kind of storage, such as a cloud or hard drive. The data repository 110 may include, for example, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), error correction code (ECC), read only memory (ROM), programmable read only memory (PROM), or electrically erasable read only memory (EEPROM). The data repository 110 may be accessed by any component of the system 100 at any time. For example, the system 100 may access the data repository 110 at least periodically in response to the version monitor 104 detecting a software update to be installed on the computing system 132, in response to the computing system 132 activating a network connection to the computing system, or in response to a change in the policy 112 or the vehicle 130 detected by the computing system 132.

[0023] The network 101 may include any kind of communication links, cables, transmitters, receivers, transceivers, logic circuits, communication chips, communication networks (e.g., local area networks (“LAN”), wide area networks (“WAN”) or internetworks (Internet), cellular networks (e.g., 3G, 4G, or 5G)) configured to allow or facilitate communication, transmission, reception, or connection with components of the system and with external systems. The network 101 may be a private network or a public network. The network 101 may enable communication with the data processing system 102, computing system 132, or mobile device 120, among others.

[0024] The computing system 132 may provide one or more functions or otherwise facilitate control of the vehicle 130. The computing system 132 may perform several functions of the vehicle 130, including navigation, telemetry, communication (including phone calls, MMS, SMS, and RCS), warnings, range estimation, or recording, etc. The computing system 132 may include, for example, one or more of a first connection module 136, a second connection module 138, a database, an application manager, a gateway server, a VPN, a firewall, a file server, or a computer. The computing system 132 may be referred to as a remote machine or node. The computing system 132 may be disposed within the vehicle 130. The computing system 132 may be configured to perform functions of the network 101, the vehicle 130, or the data processing system 102. For example, the computing system 132 may be connected to the data processing system 102 via the network 101 to receive network actions, such as software updates, from the data processing system 102. The computing system 132 may operate according to one or more types of operating systems (e.g., WINDOWS XT, Unix, Linus, MacOS). Computing system 132 may coordinate and provide functionality for data processing system 102. For example, computing system 132 may be configured to transmit data from sensor 134 to data processing system 102. Computing system 132 may operate or include Figure 7 The computing system 132 may be operated by a user via a display device coupled to the computing system 132. For example, a user may configure the computing system 132 to store music, display instructions, or enable an inactive mode.

[0025] The computing system 132 may include one or more connection modules to communicate between the network 101, the mobile device 120, or another device capable of wireless communication as described herein. The one or more connection modules of the computing system 132 may include a first connection module 136 and a second connection module 138. The first connection module 136 and the second connection module 138 may enable, activate, deactivate, monitor, or control one or more communication channels of the vehicle 130. The first connection module 136 and the second connection module 138 may be configured to communicate with each other, with components of the vehicle 130, the data processing system 102, the network 101, or the mobile device 120, etc. Each of the connection modules 136 and the connection module 138 may include a network connection or communication channel for communication within the vehicle 130 and with external systems. Each of the connection modules 136 and the connection module 138 may correspond to different communication parameters for controlling one or more communication channels of the vehicle 130.

[0026] As an illustrative example, the first connection module 136 may correspond to a telecommunications module (TCM) of the vehicle 130. The TCM may facilitate, monitor, or control communications between the vehicle and external systems using a WAN such as LTE, 3G, 4G, or 5G. For example, the TCM may control communications between the vehicle 130 and a cell tower to facilitate a cellular phone call from the computing system 132 of the vehicle 130. The second connection module 138 may correspond to a vehicle access system (VAS) of the vehicle 130. The VAS may communicate with a gate, door, or entrance of the vehicle to monitor or control the gate, door, or entrance of the vehicle. For example, the VAS may communicate to the door that the vehicle 130 is approaching and open the gate of the vehicle 130. In this example, the first connection module 136 and the second connection module 138 may correspond to communications between the vehicle and different external systems. The first connection module 136 and the second connection module 138 may each correspond to communications between the vehicle and an external system, between the vehicle and an internal vehicle system, or a combination thereof.

[0027] The first connection module 136 may correspond to a first set of wireless communications, and the second connection module 138 may correspond to a second set of wireless communications. As an illustrative example, the first connection module 136 may control, monitor, or communicate using a WAN or medium area network (MAN) such as WiFi, LTE, or satellite, and the second connection module 138 may control, monitor, or communicate using a LAN or PAN such as Bluetooth or near field communication (NFC). More connection modules than those described herein may be included. Each connection module may be associated with one or more communication channels or network connections, or with parameters for controlling a communication channel or network connection.

[0028] The connection between the network 101 and the computing system 132 (such as between the network 101 and the first connection module 136 or the second connection module 138) can be disconnected, disabled, blocked, or otherwise not allowed to place the vehicle 130 in an inactive mode. For example, the computing system 132 can receive an instruction via a user interface of the vehicle 130 to cause the vehicle 130 to enter the inactive mode. Operating the vehicle 130 without a connection between the computing system 132 and the network 101 or another external network can be referred to as an inactive mode of the vehicle 130. The inactive mode can include the computing system 132 of the vehicle 130 not maintaining a network connection or blocking a network connection. The network connection can be or include a one-way or two-way communication between the vehicle 130 (or a component, such as the first connection module 136 or the second connection module 138) and the network 101 or the data processing system 102, etc. For example, the network connection can be a connection of the computing system 132 to WiFi, LTE, or other wireless network.

[0029] One-way communication may refer to communication that includes only downloading or only uploading. For example, one-way communication may include that the vehicle 130 receives only data packets including a payload from the network 101 and that the vehicle 130 does not transmit information or payload to the network 101. Due to the nature of wireless communication, one-way communication may still include certain signals, data packets, or data frames to be transmitted in both directions. However, one-way communication may enable information, payload, or data to be transmitted in only one direction (e.g., only downloading or only uploading), while retaining the ability of the network connection to transmit non-information related packets (such as confirmation, goodbye, or greeting, etc.) to allow handshakes between the vehicle 130 and the network 101. For example, when the vehicle 130 is in an inactive mode, the network 101 may transmit data to the vehicle 130 for downloading, but the vehicle 130 may not upload data to the network 101. In addition, in this example, the vehicle 130 may transmit an "ACK" frame, a packet header, or a "GET" request without compromising the one-way communication. In this way, data can only be transmitted in one direction while maintaining the security and reliability of the network connection, such as through a handshake protocol.

[0030] When the vehicle 130 is in inactive mode, the vehicle 130 may not access a network connection such as WiFi, location services, 4G, 5G, LTE, or other external network systems. In this way, downloads and uploads of the computing system 132 may be stopped or paused. In some implementations, the inactive mode may be caused by the network connection between the vehicle 130 and the external system being outside the connectivity range. For example, if the vehicle 130 is outside the area of ​​the network (e.g., LTE or WiFi), the vehicle 130 may be in inactive mode. If the computing system 132 cannot connect to the external system (e.g., network 101), the vehicle 130 may be in inactive mode. For example, if the data processing system 102 does not receive a communication from the computing system 132 within the threshold 118, the vehicle 130 may be in inactive mode. The threshold 118 may be any time threshold for the data processing system 102 to perform an action (such as making a determination or transmission request for an inactive mode).

[0031] The user may choose to operate the vehicle 130 in an inactive mode. The user of the vehicle 130 may choose to disable the network connection between the vehicle 130 and a system (e.g., network 101) external to the vehicle 130. The user may choose to disable the network connection of the computing system 132 via a user interface (e.g., user interface 500 described herein) displayed by the computing system 132 or by the mobile device 120, etc.

[0032] The selection of the inactive mode may be associated with a profile 114. The profile 114 may correspond to various data and preferences, such as a decision to operate in the inactive mode. The profile 114 may include the driving habits of a user associated with the profile 114. For example, the profile 114 may include the user's average speed, public locations, or data security settings. The profile 114 may store information associated with network traffic management of the computing system 132. The network traffic management information of the profile 114 may be related to the network connection of the computing system 132. When the vehicle 130 is in the inactive mode, the system 100 may determine that a network action may be performed when in the inactive mode. The network action may include a software update from the data processing system 102, an emergency communication, or the actuation of a component of the vehicle 130 (such as sounding an alarm or horn), etc.

[0033] The policy 112 may be any set of rules or parameters for determining that network access to the computing system 132 is allowed for certain network actions when the vehicle 130 is in an inactive mode. The policy 112 may include conditions for allowing the computing system 132 of the vehicle 130 to connect to the network 101 to perform one or more network actions. The policy may be pre-configured, or the driver or user of the vehicle 130 may determine the policy 112. The user may set one or more policies 112 through the computing system 132 or the mobile device 120. The policy 112 may be different for different profiles 114. For example, a first profile may select a different policy to manage network traffic than a second profile of the same vehicle 130. The policy 112 may be time-based or schedule-based. For example, a user may select an action that prompts a network connection during an inactive mode to trigger a connectivity request only during certain hours. Thus, by utilizing the policy 112, the user of the vehicle 130 may customize or select which software updates to receive when the vehicle 130 is inactive, or may customize or select which communication methods or connection modules 136 or connection modules 138 may receive or transmit communications. In this way, one-way communication between the vehicle 130 and the network 101 may be activated based on the policy 112 being selected for one or more of the connection module 136 or the connection module 138 .

[0034] Policies 112 may include different classifications of network actions for determining network access allowed to computing system 132. For example, policies 112 may include a first classification of software updates and a second classification of software updates. Policies 112 may include a first classification for installation and a second classification for not installation. Policies 112 may include a first classification for installation during an inactive mode and a second classification for not installation during an inactive mode.

[0035] The classification may correspond to the type of vehicle function to be performed or the type of software update. For example, the first classification may correspond to the navigation system of the vehicle 130, and the second classification may correspond to the audio system of the vehicle 130. The first classification corresponding to the navigation system may be identified by the policy 112 to be installed, and the second classification corresponding to the audio system may not be identified by the policy 112 to be installed. As an illustrative example, the user may select the policy 112 to automatically allow software updates corresponding to the navigation system of the vehicle 130 when in an inactive mode, and may select the policy 112 to block all other types of software updates to the computing system 132 when in an inactive mode. The policy may correspond to a time period. For example, the user may select the policy 112 to allow software updates for installation related to the audio system of the vehicle 130 during the time period from 3AM to 6AM. For example, the policy 112 may allow one-way communication for a time period of 1 hour, otherwise communication is not allowed. The policy 112 may enable activation of the network connection of one or more connection modules 136 or connection modules 138 after a time period has passed. The user or system 100 may not have any policy 112 in place, in which case each software update may be individually selected for installation.

[0036] The policy 112 may determine the communication method to operate when the vehicle 130 is in an inactive mode. For example, the policy 112 may specify that the vehicle 130 communicates only in a one-way communication mode when the network connection is inactive. The policy 112 may specify different communication methods for different communication modules. For example, when the network connection is inactive, the policy may assign the first connection module 136 to operate in a one-way communication mode and the second connection module 138 to operate in a two-way communication mode. The policy 112 may set different levels or priorities for each communication module to operate in a one-way mode or a two-way mode.

[0037] The policy 112 may sort, rank, or otherwise assign a priority to each network action to determine which network actions to perform. For example, the policy 112 may assign a numerical value to each software update in a set of software updates, and may select the software update with the highest value to execute. The highest value may refer to the largest number, or may refer to the smallest number. For example, in a set of numbers {1,2,3}, the highest value may be the largest number (e.g., "3") or the smallest number (e.g., "1"). The policy 112 may assign a numerical value corresponding to the priority based at least on other considerations stated in the policy 112, such as the classification of the software update, the duration of the software update, the bandwidth of the software update, the performance of the vehicle affected by the software update, the system of the vehicle 130 affected by the software update, or the criticality indicated by the software update, etc. For example, the policy 112 may assign a value of "3" to software updates indicating that they are critical, and assign a value of "1" to software updates indicating that they are non-critical. In this example, the policy 112 may then select software updates with a value of "1" for installation, and may not select software updates with a value of "3" for installation. The ranking function may include one or more considerations for ranking. As an illustrative example, the policy 112 may assign a value of "3" to a software update indicating that it is critical, a value of "2" to a software update indicating that it is non-critical and will use a bandwidth of 1 MB / s, a value of "2" to a software update indicating that it is non-critical and will affect the headlights of the vehicle 130, and a value of "1" to a software update indicating that it is non-critical and will affect the audio system of the vehicle 130. For another example, the policy 112 may assign a value of "1" to software updates transmitted through the first connection module 136 and a value of "2" to software updates transmitted through the second connection module 138. In the event that one or more software updates or network actions share the same numerical value, the policy 112 may select all updates that meet the highest numerical value for installation.

[0038] One or more strategies 112 may correspond to sensors 134. Sensors 134 may be dispersed inside or outside of vehicle 130 or data processing system 102. Sensors 134 may be one or more sensors corresponding to one or more functions of vehicle 130. Sensors 134 may include at least a photoelectric sensor, a speed sensor, a humidity sensor, a temperature sensor, a magnetic sensor, an air quality sensor, or a contact sensor. Sensors 134 may include proximity sensors, such as capacitive proximity sensors, inductive proximity sensors, or ultrasonic proximity sensors. Sensors 134 may include motion sensors, such as passive infrared (PIR) sensors or microwave motion sensors. For example, motion sensors may detect cars (such as vehicle 130) entering or leaving a location such as a parking space. Sensors 134 may include cameras for image recognition. For example, camera sensors 134 may take photos or videos of vehicle 130. Sensors 134 may include force sensors, such as piezoresistive pressure sensors or strain gauges. For example, sensors 134 may be sensors that indicate that a user has fastened their seat belts. Sensors 134 may be photoelectric sensors for collecting data related to lighting within the cabin of vehicle 130.

[0039] The computing system 132 may detect a condition via the sensor 134. The condition may be related to the operation of the vehicle 130. For example, the sensor 134 may collect data indicating to the computing system 132 that the vehicle 130 is operating in a manner different from normal operation by a user associated with the profile 114. For example, the vehicle 130 may be operating at an unusual time for the profile 114, or at a higher speed than the typical operation associated with the profile 114. The sensor 134 indicating the condition to the computing system 132 may result in the automatic disabling of the inactive mode. The sensor 134 indicating the condition to the computing system 132 may enable the computing system 132 to transmit information about the condition of the vehicle 130 (e.g., data from the sensor 134) to the data processing system 102.

[0040] Version monitor 104, connection manager 106, application delivery component 108, mobile device 120, or computing system 132 may each include at least one processing unit or other logic device, such as a programmable logic array engine or a module configured to communicate with data repository 110 or a database. Version monitor 104, connection manager 106, or application delivery component 108 may be separate components, a single component, or part of data processing system 102. Systems and components thereof, such as data processing system 102, may include hardware elements, such as one or more processors, logic devices, or circuits.

[0041] The data processing system 102 may store, transmit, receive, or display information that may facilitate temporary activation of network access for authorized software updates. The data processing system 102 may communicate with internal subcomponents (described herein) or external components or mobile devices 120 of the vehicle 130. The data processing system 102 may, for example, store data about the system in a data repository 110. The data processing system 102 may, for example, transmit information received by the data repository 110 to the connection manager 106. The transmission of the data processing system 102 may occur via a hardwired connection (e.g., wiring, copper wire, or optical fiber) or via a wireless connection (e.g., WiFi, Bluetooth, local area network (LAN)). The data processing system 102 may transmit information from the vehicle 130 via a wireless connection (e.g., network 101) when such a device is activated (e.g., the inactive mode is not enabled or the user has temporarily allowed network connection). The data processing system 102 may include a network of subcomponents (e.g., version monitor 104, connection manager 106, application delivery component 108, or data repository 110) that communicate with each other as described herein. The data processing system 102 may be coupled to a memory (e.g., data repository 110). The data processing system 102 may be located remotely from the vehicle 130 and accessed by an external computing device over the network 101.

[0042] Data processing system 102 can communicate with vehicle 130 via network 101. Vehicle 130 (e.g., Figure 4 130) may be any type of vehicle, such as a truck, a van, or a passenger car. Vehicle 130 may be an electric vehicle. In one illustrative example, data processing system 102 may identify a software update for transmission to computing system 132 of vehicle 130. Connection manager 106 may determine that vehicle 130 is operating in an inactive mode. In the inactive mode, software updates cannot be automatically transmitted over network 101 due to the disabling of network connections. Application delivery component 108 may transmit an activation request for a network connection for installing software updates to mobile device 120. Application delivery component 108 may receive a response indicating acceptance of the request, and may establish a communication session between mobile device 120 and computing system 132. Application delivery component 108 may activate a network connection for computing system 132 via mobile device 120. In response to activation of the network connection, computing system 132 may download the software update.

[0043] The data processing system 102 may include a version monitor 104 designed, constructed and operated to receive, identify, obtain or otherwise access one or more network actions on the computing system 132. The version monitor 104 may be any combination of hardware and software for identifying, determining, processing or receiving one or more network actions for the computing system 132. The network action may include one or more software updates for installation. The version monitor 104 may identify that one or more software updates are available for downloading for the vehicle 130. The version monitor 104 may receive periodic updates of software installation from a remote server via the network 101. The version monitor 104 may record software updates for installation. For example, the version monitor 104 may identify the current version of one or more software applications or operating systems installed on the computing system 132, and may identify the latest version to be installed. The version monitor 104 may determine which software updates, if any, are to be installed. The version monitor 104 may select one or more software updates for installation based at least on the policy 112, the profile 114 or the sensor 134.

[0044] The connection manager 106 may be any combination of hardware and software operating on the data processing system 102 to determine that the network connection to the computing system 132 is inactive. Determining that the network connection to the computing system 132 is inactive may refer to the connection manager 106 determining that the vehicle 130 is operating in an inactive mode or that a connection to the vehicle via the network 101 is otherwise unavailable. Determining that the network connection is inactive may include determining that one or more of the connection module 136 or the connection module 138 is inactive or operating in a one-way communication mode. The connection manager 106 may determine that the vehicle 130 is operating in an inactive mode in response to the version monitor 104 identifying at least one software update for installation on the computing system 132. The connection manager 106 may determine that the vehicle 130 is operating in an inactive mode, but not outside of a service area. In other words, the connection manager 106 may determine that the computing system 132 is not connected to the network due to an action of a user (such as selecting an inactive mode), as opposed to the computing system 132 not being connected to the network due to the vehicle 130 being outside of the connectivity range of the network.

[0045] Connection manager 106 may determine that the network connection of computing system 132 is in the inactive mode based at least on a time period exceeding threshold 118 from the start of data processing system 102 transmitting a communication to vehicle 130. Data processing system 102 may transmit communications to computing system 132 via network 101. As part of a transmission protocol such as WiFi, 4G, 5G, etc., data processing system 102 may expect to receive an acknowledgment of the transmission or a response to the transmission from computing system 132. The response or acknowledgment may be a data packet, data frame, signal, or other communication wirelessly sent from computing system 132 to data processing system 102 via network 101. Data processing system 102 may wait for threshold 118 time period for computing system 132 to indicate receipt of the transmission or a response to the transmission. After threshold 118 has passed, connection manager 106 may determine that computing system 132 is in the inactive mode.

[0046] The connection manager 106 may determine that the network connection for the computing system 132 is in the inactive mode by the last location transmitted by the computing system 132. When in the active mode, the computing system 132 may periodically transmit a location indicator of the vehicle 130. The location indicator may include coordinates, a geographic location, or other location information related to the vehicle 130. The location indicator may indicate to the connection manager 106 that the vehicle 130 was last located in an area with network access (e.g., cellular signal availability or WiFi availability). The connection manager 106 may determine that the vehicle 130 is in the inactive mode based on the vehicle 130 being located in an area with network access and based on the last communication received from the computing system 132. For example, if the computing system 132 transmits a first communication including a location indicator indicating that the vehicle 130 is in an area with network access, the connection manager 106 may determine that the vehicle 130 is in the inactive mode after the threshold 118 time period has passed without a second communication from the computing system 132.

[0047] Connection manager 106 may determine that the network connection of computing system 132 is in inactive mode based on an indication of inactive mode transmitted by computing system 132 before entering inactive mode. A user may choose to operate the vehicle in inactive mode. Before entering inactive mode, computing system 132 may transmit an indication of inactive mode to data processing system 102. The indication of inactive mode may include a data packet, a data frame, or another communication indicating to data processing system 102 that vehicle 130 is entering inactive mode. Computing system 132 may wait after transmitting the indication of inactive mode. Computing system 132 may wait for a confirmation of receipt of the indication of inactive mode from data processing system 102 before entering inactive mode. Computing system 132 may wait for a threshold 118 time period after transmitting the indication of inactive mode before entering inactive mode. Connection manager 106 may determine that vehicle 130 is in inactive mode based on the indication of inactive mode. Data processing system 102 may transmit a confirmation of receipt of the indication of inactive mode to computing system 132. Upon leaving the inactive mode, computing system 132 may transmit an indication of the active mode to data processing system 102 to indicate to vehicle 130 that network connectivity has been restored.

[0048] Connection manager 106 may determine that the network connection for computing system 132 is inactive by no longer receiving location or other updates from vehicle 130 to data processing system 102 via network 101. For example, data processing system 102 may periodically or on a scheduled basis receive location updates, error reports, or other data from vehicle 130. In this example, if data processing system 102 does not receive routine location updates from vehicle 130, connection manager 106 may determine that the network connection is inactive.

[0049] Connection manager 106 may determine from a third-party application operating on computing system 132 that the network connection of computing system 132 is in an inactive mode. For example, when the network connection is inactive, the third-party application operating on computing system 132 may not be able to communicate with an external server. The external server may indicate to data processing system 102 that it cannot establish a connection with the third-party application operating on computing system 132. Connection manager 106 may determine that the network connection is in an inactive mode based on the indication from the external server.

[0050] The connection manager 106 may cause the vehicle 130 to activate or establish a connection to the network 101 to perform a function. The connection manager 106 may cause the vehicle 130 to establish a connection in response to determining that the vehicle is operating in an inactive mode. The connection manager 106 may establish a connection with various parameters or attributes, such as a connection type, a connection duration, a type of data allowed on the connection, or a limit on the amount of data allowed on the connection. The connection manager 106 may select the attributes of the connection based on the type of function to be performed and configure the connection with the selected attributes.

[0051] To activate the connection, the connection manager 106 may identify the mobile device 120. The mobile device 120 may be linked (e.g., communicatively coupled) to the computing system 132. The mobile device 120 may be associated with a user of the vehicle 130. The mobile device may be associated with the user's profile 114. The mobile device 120 may be associated with the profile 114 through at least a previous pairing of the mobile device 120 with the vehicle 130. For example, the mobile device 120 may be connected to the computing system 132 via a wired or wireless connection. The computing system 132 may store the mobile device 120 in association with the user's profile 114 in the data repository 110 after the connection. The mobile device 120 may be associated with the profile 114 through user input. For example, a user associated with the profile 114 may input the mobile device 120 as being associated with the profile 114 through a display device of the computing system 132 or the mobile device 120. The association may be stored in the data repository 110. The connection manager 106 may identify the mobile device 120 through a lookup in the data repository 110. For example, the connection manager 106 can parse the data repository 110 for mobile devices 120 associated with a current user operating the vehicle 130 or with a user present in the vehicle 130. The connection manager 106 can transmit instructions to the identified mobile device 120. The connection manager 106 can transmit the instructions to the mobile device 120 via the network 101.

[0052] In the illustrative example, the instructions may cause the mobile device 120 to automatically activate a network connection. The instructions may cause the mobile device 120 to establish a local communication session with the computing system 132. The local communication session may be a PAN or a LAN, such as Zigbee or BLE. The connection manager 106 may automatically connect to the computing system 132 by operating via the mobile device 120 and the established communication session. Through the communication session and the mobile device 120, the connection manager 106 may restore network connectivity.

[0053] In another illustrative example, the instructions may cause mobile device 120 to provide a prompt to a user of mobile device 120. The prompt may be displayed on a display system of mobile device 120. The prompt may instruct the user to activate network connectivity for vehicle 130. For example, the prompt may instruct the user to activate network connectivity through a user interface of computing system 132.

[0054] The connection manager 106 may activate one or more types of network connections to the computing system 132. For example, the connection manager 106 may activate a one-way communication channel or a two-way communication channel for the network connection. The one-way communication channel may be used to download to or upload from the computing system 132. For example, a one-way communication channel established by the connection manager 106 may be used to download software updates for installation. A two-way communication channel may be used to both download to and upload from the computing system 132. For example, a two-way communication channel established by the connection manager 106 may be used to download software updates for installation and to upload error reports from the vehicle 130 to the data processing system 102.

[0055] The connection manager 106 may limit the duration of the network connection. The connection manager 106 may limit the duration of the network connection based on time. For example, the connection manager 106 may enable activation of the network connection between the computing system 132 and the data processing system 102 for one hour, twelve hours, or two days. After the duration has elapsed, the connection manager 106 or the computing system 132 may terminate the connection. The connection manager 106 may enable activation of the network connection until the network function is completed. For example, the connection manager 106 may enable the network connection until the software update has been installed. After the network update is installed, the connection manager 106 may terminate the network connection. The connection manager 106 may terminate the network connection of the computing system 132 or the session established between the mobile device 120 and the computing system 132 if it receives an instruction from the version monitor 104 that the software update has been installed.

[0056] The connection manager 106 may activate network connections for some types of communication protocols and may not activate network connections for other types of communication protocols. For example, the connection manager 106 may activate a WiFi network for downloading software updates, but may not activate a GPS network. The connection manager 106 may impose constraints on data packets transmitted through the activated network connection. The connection manager 106 may limit or constrain the types of data packets transmitted through the network connection. For example, the connection manager 106 may allow packets associated with a WiFi network from the data processing system 102, but not packets associated with a 4G-LTE network. The connection manager 106 may allow packets that conform to the Transmission Control Protocol / Internet Protocol (TCP / IP), but not packets that conform to the User Datagram Protocol (UDP). The connection manager 106 may limit or constrain the amount of data transmitted through the network connection. For example, the connection manager 106 may limit the transmission data to 2GB. The connection manager 106 may impose different restrictions and constraints on upload and download network traffic. For example, the connection manager 106 may limit download data to 2GB and limit upload data to 20MB. The connection manager can limit the download data to 2GB of data transmitted via WiFi and 1GB of data transmitted via 4G-LTE. The connection manager 106 can base the network connection constraints on the software update to be installed. For example, the connection manager 106 can limit the amount of data to be transmitted to the size of the software update to be installed.

[0057] In some cases, the version monitor 104 may identify more than one software update. When the version monitor 104 identifies more than one software update, the connection manager 106 may download each update simultaneously, or may select a downloading order. The connection manager 106 may order the downloading of the software updates based at least on the rank, classification, or size of each software update. For example, the connection manager 106 may download a first software update before a second software update having a lower value, as described herein. The connection manager 106 may download a first software update before a second software update that is larger than the first software update (e.g., in MB, GB).

[0058] In response to the software update being selected for installation, application delivery component 108 may transmit a request to activate a network connection to computing system 132. Application delivery component 108 may be any combination of hardware and software operating on data processing system 102 to transmit a request to activate a network connection to download the software update for installation on computing system 132. Application delivery component 108 may transmit the request in response to identification of a software update by version monitor 104, in response to a determination by connection manager 106 that the network connection to computing system 132 is inactive, or in response to a determination by connection manager 106 that one or more of the identified software updates complies with policy 112.

[0059] The application delivery component 108 can transmit the request to the mobile device 120. The mobile device 120 can be associated with a user or profile 114. The mobile device 120 can include a display that presents applications such as application programs (e.g., apps) 116. The application delivery component 108 can transmit the request to the app 116 operating on the mobile device 120. The request can indicate, via the app 116, that one or more software updates are available for installation on the computing system 132. The request can indicate that the installation may not occur when the vehicle 130 is in an inactive mode. The request can prompt a user associated with the mobile device 120 to temporarily authorize network connectivity of the vehicle 130 to enable installation of the one or more software updates.

[0060] The user may accept the request to activate the network connection of the computing system 132. The user may accept the request by interacting with the app 116 presented on the mobile device 120. In response to accepting the request, the connection manager 106 may activate the network connection to enable installation of the software update.

[0061] In some cases, data processing system 102 may not receive a response to the request. This may be due to, for example, the user not being able to access mobile device 120, mobile device 120 being turned off, or mobile device 120 being outside the network from which the request was transmitted. For example, mobile device 120 may be outside the range of cellular service. In response to the time period after transmitting the request exceeding threshold 118, application delivery component 108 may transmit a second request to mobile device 120 for activating a network connection.

[0062] The request may be denied by the user of mobile device 120. Mobile device 120 may transmit a response to data processing system 102 indicating the denial of the request to activate the network connection. In response to receiving the indication that activation of the network connection was denied, application delivery component 108 may transmit a second request to mobile device 120 after a time period exceeding threshold 118. For example, application delivery component 108 may transmit the second request ten minutes, twelve hours, or one day after the first request was transmitted and the denial was received. Application delivery component 108 may send a different request for each software update identified, or may send one request listing each software update. The user may select which of the software updates listed in the request to be installed through mobile device 120 via app 116. The user may select a time period to allow computing system 132 to enable the network connection via app 116. The time period may be in units of minutes, hours, days, etc., or in response to the completion of the installation of the software updates indicated in the request.

[0063] When the software update does not satisfy the policy 112, the application delivery component 108 may not transmit a request for the software update that does not satisfy the policy to the mobile device 120. In this case, the computing system 132 or the connection manager 106 may not activate the network connection.

[0064] The activation of the network connection may refer to allowing only communications that enable the installation of the software update. The connection manager 106 may enable the activation of the network connection to allow the communication of data packets associated with the software update between the data processing system 102 and the computing system 132. The connection manager 106 may prevent the communication of other data packets that are not associated with the software update. The connection manager 106 may prevent data packets that are not associated with the software update through the policy 112. The connection manager 106 may enable the transmission of data packets with headers or payloads indicating software updates via WiFi, and may prevent the transmission of data packets with headers or payloads that do not indicate software updates. The connection manager 106 may block packets by filtering packets based on the source or destination address of the packets. The connection manager 106 may block packets using a firewall, by dropping packets, or by rejecting packets. For example, the firewall may be configured by the policy 112 to block packets based on the priority of the packets. The connection manager 106 may record the blocked packets in the data repository 110. In this way, network or data security may be maintained while allowing the vehicle 130 to receive software updates.

[0065] The application 116 may instruct the mobile device 120 to activate a network connection via a wireless communication session established between the mobile device 120 and the computing system 132. For example, the application 116 may turn on the wireless signal connectivity (e.g., Bluetooth or other LAN or PAN) of the mobile device 120 to establish a wireless communication session between the mobile device 120 and the computing system 132. The mobile device 120 may control the computing system 132 via the established communication system. The user may control the computing system 132 via the application 116 on the mobile device 120. In some cases, the mobile device 120 may turn off the inactive mode of the vehicle 130 via the established communication session. The mobile device 120 may enable network connectivity of the computing system 132 via the established communication session. Although larger area networks such as WiFi and LTE may be blocked during the inactive mode, a PAN or a smaller LAN such as Bluetooth may be connected to the computing system 132 via the mobile device 120. In this way, the user may locally control the data security settings of the vehicle 130. In response to activation of the network connection of computing system 132 , application delivery component 108 may supply the software update to computing system 132 for installation.

[0066] In response to activating the network connection, one or more software updates indicated in the response from mobile device 120 may be installed on computing system 132. The installation of the software updates may be pushed to computing system 132 by data processing system 102 over network 101 during the period of time that the network connection is activated. After the software updates are downloaded by computing system 132, version monitor 104 may provide instructions to terminate the network connection. Version monitor 104 may provide instructions to terminate the network connection after the software updates are installed.

[0067] Thus, by identifying the software update, the data processing system 102 can determine that the network connection is inactive and transmit a request to temporarily activate the network connection to install the software update. The system 100 can improve vehicle functionality while preserving network management settings for the user through temporary and controlled network traffic granted by the user for specific network actions.

[0068] Figure 2 An exemplary method 200 for dynamic connectivity configuration of vehicle functions is depicted. The method 200 may be performed by Figure 1 , Figure 4 or Figure 6 104 may determine the one or more software updates to be installed in response to a policy 112 established by a user or the system. After identifying one or more software updates for installation, the process may proceed to act 210.

[0069] At action 210, the data processing system may determine that the network is inactive. Connection manager 106 may determine that the network is inactive. The network may be a network connection between computing system 132 and network 101, data processing system 102, or another external system. The network may be inactive in response to at least a user selecting an inactive mode or vehicle 130 being out of range of the network. In some cases, when the network of computing system 132 is inactive, computing system 132 may not automatically receive regular updates, provide location information, transmit error or log information to data processing system 102, or perform other functions of computing system 132 over network 101.

[0070] At action 215, the data processing system may transmit a request to the mobile device to activate the network to download the software update. The application delivery component 108 may transmit the request to a mobile device associated with a user of the vehicle, such as the mobile device 120. The request may include one or more network actions to be installed, an approximate duration of the download, a size of the download, and the like. A user associated with the mobile device may make selections based on the request. For example, the user may select a subset of network actions for installation. For example, the user may select a duration of the network connection to be activated. The user may accept the request to activate the network connection through an application on the user's mobile device.

[0071] At act 220, the data processing system may provide the software update to the computing system. In response to activation of the network connection, the data processing system may provide the software update to the computing system via application delivery component 108. The network may be activated in response to acceptance of the network connectivity request. Application delivery component 108 may transmit the software update to computing system 132 via the activated network. Computing system 132 may download the software update.

[0072] Figure 3 An exemplary method 300 is depicted for transmitting a request to temporarily activate network access to a driver-authorized network-based function of a vehicle. The method 300 depicted herein may include more or fewer actions than described, and may be performed by Figure 1 , Figure 4 or Figure 7 The method includes act 305, in which the data processing system identifies a software update. The software update may be one or more software updates for a computing system of the vehicle, such as computing system 132. The software update may be new software for the computing system, or a different version of existing software on the computing system. The software update may change the functionality of computing system 132, and by extension, the functionality of vehicle 130.

[0073] The one or more processors coupled to the memory may identify software updates. The one or more processors coupled to the memory may include a version monitor 104, as described herein. The version monitor 104 may identify, receive, or search for software updates for installation on the computing system. The version monitor 104 may query a remote server for software updates, may receive periodic notifications of software updates, or may have software updates transmitted directly to it by a remote server.

[0074] The version monitor 104 may identify software for updating based on one or more policies established by a user of the vehicle or system. The version monitor 104 may identify software updates that meet the policy to select software updates for installation. For example, the policy may create a classification of software updates. The classification may be based on the type of software update (e.g., critical, user interface related), the size of the update (e.g., in MB or GB), vehicle functions (e.g., audio, navigation, battery), or download time. For example, the version monitor 104 may select software updates corresponding to vehicle functions such as a navigation system for installation based on a policy that allows the selection of software updates related to the navigation system. If the version monitor 104 determines that the second software update does not meet the policy, the version monitor 104 may identify and block the second software update. For example, the first software update may be in a first classification allowed by the policy. The second software update may be in a second classification not allowed by the policy. The version monitor 104 may allow the first software update for installation and may block the second software update for installation. The policy may be established by a data processing system. For example, a data processing system may establish a policy to identify all software updates related to battery life for installation.

[0075] The version monitor 104 may identify other network actions. For example, the version monitor 104 may (in response to a policy) identify a network action to generate a control instruction to activate an alarm for a vehicle. The version monitor 104 may identify a network action in response to one or more sensors of the vehicle. For example, one or more sensors of the vehicle may indicate to the computing system that a network action may be taken. The computing system may then establish network connectivity to perform the network action. As an illustrative example, a sensor of a car may indicate that the vehicle is heating above a threshold temperature. The computing system may enable network connectivity to receive a network action to transmit the location of the vehicle to a local fire department.

[0076] At action 310, the data processing system may determine whether the vehicle network is online. If the vehicle network is inactive, the vehicle's computing system may not receive software updates and other communications. The connection manager 106 may determine whether the vehicle network is online or active. If the connection manager 106 receives communications from the computing system, the connection manager 106 may determine that the vehicle network is active. In some embodiments, if the connection manager 106 does not receive communications from the computing system within a threshold time period, the connection manager 106 may determine that the vehicle is inactive. For example, if the data processing system does not receive communications from the computing system within a time period of more than one hour, the data processing system may determine that the vehicle network is inactive. The data processing system may determine that the vehicle network is inactive (e.g., not online) by no longer receiving transmissions of the vehicle location from the computing system. The data processing system may determine that the vehicle network is inactive based on communications sent from the computing system before the disconnection of the vehicle network. For example, the computing system may transmit a BYE frame to the data processing system or other indications that the computing system is disconnecting the vehicle network.

[0077] At action 315, the data processing system may transmit a request to the mobile device in response to a determination that the vehicle network is inactive. The application delivery component 108 may transmit the request to a mobile device associated with a user of the vehicle, such as the mobile device 120. The mobile device may have an integrated user interface and display screen, as well as the ability to generate a PAN or LAN, such as a Bluetooth connection. The request may require the user of the mobile device to enable a network connection of the computing system to download the software update. The request may include a mechanism for responding via the mobile device, such as a button, a drop-down menu, or a reply text box.

[0078] In some implementations, the data processing system transmitting the request may include an instruction package within or associated with the request. The instruction package may be a software instruction package or a software agent that, when executed by the mobile device, may cause the mobile device to instruct the vehicle to activate the network connection. Activating the network connection by the request may include activation of one-way communication. The one-way communication may allow communication of data packets associated with the software update between the data processing system and the computing system, and prevent communication of other data packets not associated with the software update.

[0079] At action 325, the data processing system determines whether the request has been accepted. The data processing system may receive a response from the mobile device indicating whether the request has been accepted. Accepting the request may refer to the user authorizing temporary connectivity with the vehicle's computing system. Temporary connectivity may refer to the vehicle's computing system allowing some or all network traffic to the computing system. Authorization for temporary connectivity may be limited. For example, temporary connectivity may only authorize the download of one or more software updates that the user accepted in the request. In this way, other unauthorized network access may not be allowed during the inactive mode. By accepting the request, the data processing system can determine whether the communication channel is active.

[0080] At act 320, in response to the request not being accepted, the data processing system determines whether a time period has elapsed. The time period may be a threshold amount of time in which the user of the mobile device must provide a response to the request transmitted by the data processing system to allow temporary connectivity to the vehicle's computing system. In some cases, if the user denies the request or does not respond to the request within the threshold time period, the data processing system may transmit the request to the mobile device again (act 315).

[0081] At action 330, the data processing system may determine whether the communication channel is active. The data processing system may determine that the one-way communication channel is active. An active communication channel may refer to one or more connectivity modules of the vehicle being active or including an active network connection. Determining whether the communication channel is active may include establishing a connection between the user's mobile device and the computing system. The data processing system may enable some or all network connectivity to the computing system for a period of time to download the software update. In this way, the vehicle network may be temporarily active to allow the identified software update to be downloaded.

[0082] At act 335, the data processing system provides the software update via the vehicle network. In response to the vehicle network being activated (act 310 or act 330), the data processing system can transmit the software update to the computing system via the vehicle network. After downloading the software update, the data processing system can terminate the vehicle connection. For example, the computing system can return to no connectivity after downloading the software update.

[0083] Figure 4An exemplary vehicle 130 is depicted. The vehicle 130 may include a computing system 132 and a sensor 134. The vehicle 130 may be equipped with at least one battery pack 410. The vehicle 130 may be an electric vehicle. The electric vehicle 130 may include an electric truck, an electric sport utility vehicle (SUV), an electric van, an electric car, an electric car, an electric motorcycle, an electric scooter, an electric passenger car, an electric passenger or commercial truck, a hybrid vehicle or other vehicle, such as a sea or air vehicle, an airplane, a helicopter, a submarine, a ship, or a drone, among other possibilities. The battery pack 410 may also be used as an energy storage system to power a building, such as a residential or commercial building. The electric vehicle 130 may be fully electric or partially electric (e.g., a plug-in hybrid), and further, the electric vehicle 130 may be fully autonomous, partially autonomous, or unmanned. The electric vehicle 130 may also be manually operated or non-autonomous. The electric vehicle 130 (such as an electric truck or car) may include an onboard battery pack 410, a battery 415 or a battery module 415, or a battery cell 420 to power the electric vehicle. The electric vehicle 130 may include a chassis 425 (e.g., a frame, an internal frame, or a support structure). The chassis 425 may support various components of the electric vehicle 130. The chassis 425 may span a front portion 430 (e.g., a hood or lid portion), a body portion 435, and a rear portion 440 (e.g., a luggage compartment, a payload, or a trunk portion) of the electric vehicle 130. The battery pack 410 may be mounted or placed within the electric vehicle 130. For example, the battery pack 410 may be mounted within one or more of the front portion 430, the body portion 435, or the rear portion 440 on the chassis 425 of the electric vehicle 130. The battery pack 410 may include or be connected to at least one bus bar, such as a collector element. For example, first busbar 445 and second busbar 450 may include conductive materials to connect or otherwise electrically couple battery 415 , battery module 415 , or battery cell 420 to other electrical components of electric vehicle 130 to provide power to various systems or components of electric vehicle 130 .

[0084] For example, the battery cell 420 may include at least one lithium-ion battery cell. In a lithium-ion battery cell, lithium ions may be transferred between the positive electrode and the negative electrode during charging and discharging of the battery cell. For example, the battery cell anode may include lithium or graphite, and the battery cell cathode may include a lithium-based oxide material. An electrolyte material may be provided in the battery cell 420 to separate the anode and the cathode from each other and to facilitate the transfer of lithium ions between the anode and the cathode. It should be noted that the battery cell 420 may also take the form of a solid-state battery cell developed using a solid electrode and a solid electrolyte.

[0085] Figure 5An exemplary user interface 500 for removing network access to a driver-authorized network-based function for a vehicle is depicted. The user interface 500 may be used by Figure 1 500 may be provided with one or more systems or components depicted in the vehicle, including, for example, data processing system 102, computing system 132, or mobile device 120. The user interface may include a first selection 505 and a second selection 510. The user interface 500 may display a message for a user of the vehicle on a display of the computing system of the vehicle. The message may warn the user of the effect of entering an inactive mode or turning off connectivity with the computing system of the vehicle. The user interface 500 may include options for the user to select related to turning on or off connectivity of the computing device. The first selection 505 may be associated with an option for confirming turning off connectivity of the computing device. A user who selects the first selection 505 may cause the computing system to turn off connectivity of the vehicle. The second selection 510 may be associated with an option for canceling turning off connectivity of the computing device. A user who selects the second selection 510 may cause the computing system to maintain connectivity of the vehicle.

[0086] Figure 6 An exemplary user interface 600 for activating network access to a driver-authorized network-based function for a vehicle is depicted. The user interface 600 may be used by Figure 1 605 may be provided with one or more systems or components depicted in the vehicle, including, for example, data processing system 102, computing system 132, or mobile device 120. The user interface may include a first selection 605 and a second selection 610. The user interface 600 may display a message for a user of the vehicle on a display of the computing system of the vehicle. The message may warn the user of the impact of activating a connection to install a software update on the computing system of the vehicle. The user interface 600 may include options for the user to select related to activating or canceling connectivity of the computing device. The first selection 605 may be associated with an option for confirming activation of connectivity of the vehicle. A user who selects the first selection 605 may cause the computing system to allow temporary connectivity. The second selection 610 may be associated with an option for canceling connectivity of the computing device. A user who selects the second selection 610 may cause the computing system to remain without connectivity.

[0087] Figure 7An exemplary block diagram of an example computer system 700 is depicted. The computer system or computing device 700 may include or may be used to implement a data processing system or components thereof. The computing system 700 includes: at least one bus 705 or other communication component for communicating information; and at least one processor 710 or processing circuit coupled to the bus 705 for processing information. The computing system 700 may also include one or more processors 710 or processing circuits coupled to the bus for processing information. The computing system 700 also includes at least one main memory 715 (such as a random access memory (RAM) or other dynamic storage device) coupled to the bus 705 for storing information and instructions to be executed by the processor 710. The main memory 715 may be used to store information during execution of instructions by the processor 710. The computing system 700 may further include at least one read-only memory (ROM) 720 or other static storage device coupled to the bus 705 for storing static information and instructions for the processor 710. A storage device 725 , such as a solid-state device, magnetic disk, or optical disk, may be coupled to bus 705 for persistent storage of information and instructions.

[0088] The computing system 700 may be coupled to a display 735 (e.g., a liquid crystal display or an active matrix display) via the bus 705 for displaying information to a user (e.g., a driver of the electric vehicle 130 or other end user). An input device 730 (e.g., a keyboard or a voice interface) may be coupled to the bus 705 for communicating information and commands to the processor 710. The input device 730 may include a touch screen display 735. The input device 730 may also include a cursor control (such as a mouse, trackball, or cursor direction keys) for communicating directional information and command selections to the processor 710 and for controlling cursor movement on the display 735.

[0089] The processes, systems, and methods described herein may be implemented by the computing system 700 in response to the processor 710 executing an instruction arrangement contained in the main memory 715. Such instructions may be read into the main memory 715 from another computer-readable medium, such as the storage device 725. Execution of the instruction arrangement contained in the main memory 715 causes the computing system 700 to perform the example processes described herein. One or more processors in a multi-processing arrangement may also be used to execute the instructions contained in the main memory 715. Hard-wired circuitry may be used in place of or in combination with software instructions and the systems and methods described herein. The systems and methods described herein are not limited to any specific combination of hardware circuitry and software.

[0090] Although already Figure 7An exemplary computing system is described in the specification, but the subject matter including the operations described in this specification may be implemented in other types of digital electronic circuits, or in computer software, firmware, or hardware (including the structures disclosed in this specification and their structural equivalents), or in a combination of one or more of them.

[0091] Some descriptions herein emphasize the structural independence of aspects of system components or the grouping of operations and responsibilities of these system components. Other groupings that perform similar overall operations are also within the scope of this application. Modules can be implemented in hardware or as computer instructions on non-transient computer-readable storage media, and modules can be distributed across various hardware or computer-based components.

[0092] The system described above can provide any one of these components or multiple components of each component, and these components can be provided on a stand-alone system, or on multiple examples in a distributed system. In addition, the system and method described above can be provided as one or more computer-readable programs or executable instructions, which are included in one or more products or in a manufactured product. The manufactured product can be a cloud storage, a hard disk, a CD-ROM, a flash card, a PROM, a RAM, a ROM, or a tape. In general, a computer-readable program can be implemented in any programming language (such as LISP, PERL, C, C++, C#, PROLOG), or implemented in any byte code language (such as JAVA). The software program or executable instruction can be stored as an object code on one or more products or in a manufactured product.

[0093] Example and non-limiting module implementation elements include sensors that provide any value identified herein, sensors that provide any value that is a predecessor of a value identified herein, data link or network hardware including a communication chip, an oscillator crystal, a communication link, a cable, a twisted pair, a coaxial line, a shielded line, a transmitter, a receiver or a transceiver, a logic circuit, a hard-wired logic circuit, a reconfigurable logic circuit in a specific non-transient state configured according to a module specification, any actuator including at least an electric actuator, a hydraulic actuator or a pneumatic actuator, a solenoid, an operational amplifier, an analog control element (spring, filter, integrator, adder, divider, gain element) or a digital control element.

[0094] The subject matter and operations described in this specification may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of them. The subject matter described in this specification may be implemented as one or more computer programs (e.g., one or more computer program instruction circuits), which are encoded on one or more computer storage media for execution by a data processing device or for controlling the operation of a data processing device. Alternatively or additionally, program instructions may be encoded on an artificially generated propagation signal, such as a machine-generated electrical, optical or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device to be executed by a data processing device. A computer storage medium may be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Although a computer storage medium is not a propagation signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagation signal. The computer storage medium may also be or be included in one or more separate components or media (e.g., multiple CDs, disks, or other storage devices including cloud storage). The operations described in this specification may be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources.

[0095] The terms "computing device," "component," or "data processing apparatus," etc., cover various apparatuses, devices, and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or a plurality or combination of the foregoing. The apparatus may include dedicated logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform operating environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0096] A computer program (also referred to as a program, software, software application, application, script, or code) may be written in any form of programming language, including compiled or interpreted, declarative or procedural, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may correspond to a file in a file system. A computer program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple collaborative files (e.g., files storing one or more modules, subroutines, or code portions). A computer program may be deployed to execute on one or more computers located in one location or distributed in multiple locations and interconnected by a communications network.

[0097] The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by special purpose logic circuits, and the apparatus may also be implemented as special purpose logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits). Devices suitable for storing computer program instructions and data may include non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices such as EPROMs, EEPROMs, and flash memory devices; disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into special purpose logic circuits.

[0098] The subject matter described herein can be implemented in a computing system that includes a back-end component, such as a data server, or includes a middleware component, such as an application server, or includes a front-end component, such as a client computer with a graphical user interface or a web browser, through which a user can interact with the implementation of the subject matter described in this specification, or includes a combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by digital data communication (such as a communication network) in any form or medium. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), internets (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).

[0099] Although operations are depicted in a particular order in the drawings, these operations need not be performed in the particular order shown or in sequential order, and not all of the operations shown need be performed. The actions described herein may be performed in a different order.

[0100] Now that some exemplary implementations have been described, it is apparent that the foregoing is illustrative rather than restrictive and has been presented by way of example. Specifically, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and these elements may be combined in other ways to achieve the same purpose. The actions, elements, and features discussed in conjunction with one implementation are not intended to be excluded from similar roles in other implementations.

[0101] The words and terms used herein are for descriptive purposes and should not be construed as limiting. The use of "including," "comprising," "having," "containing," "involving," "characterized by," and variations thereof herein is intended to encompass the items listed thereafter, their equivalents and additional items, and alternative implementations consisting solely of the items listed thereafter. In one implementation, the systems and methods described herein consist of one, each combination of more than one, or all of the elements, acts, or components described.

[0102] Any reference to an implementation or element or action of the systems and methods mentioned herein in the singular may also include implementations that include a plurality of these elements, and any reference to any implementation or element or action in the plural may also include implementations that include only a single element. References in the singular or plural are not intended to limit the currently disclosed systems or methods, their parts, actions, or elements to a single or multiple configurations. References to any action or element based on any information, action, or element may include implementations in which the action or element is based, at least in part, on any information, action, or element.

[0103] Any implementation disclosed herein may be combined with any other implementation or embodiment, and references to "implementation," "some implementations," "one implementation," etc. are not necessarily mutually exclusive, but are intended to indicate that a particular feature, structure, or characteristic described in conjunction with an implementation may be included in at least one implementation or embodiment. Such terms as used herein do not necessarily all refer to the same implementation. Any implementation may be combined, inclusively or exclusively, with any other implementation in any manner consistent with the aspects and implementations disclosed herein.

[0104] References to "or" may be interpreted as inclusive, such that any term described using "or" may indicate any of a single, more than one, and all of the terms. References to at least one of a concatenated list of terms may be interpreted as an inclusive "or" to indicate any of a single, more than one, and all of the terms. For example, a reference to "at least one of 'A' and 'B'" may include only "A," only "B," and both "A" and "B." Such references used in conjunction with "including" or other open-ended terms may include additional items.

[0105] Where a technical feature in the drawings, detailed description or any claims is followed by a reference numeral, the reference numeral is included to enhance the intelligibility of the drawings, detailed description and claims. Therefore, the presence or absence of a reference numeral has no limiting effect on the scope of any claim element.

[0106] Without departing substantially from the teachings and advantages of the subject matter disclosed herein, modifications may be made to the elements and actions, such as changes in size, dimensions, structure, shape and proportion, parameter values, mounting arrangements, use of materials, color, orientation of the various elements. For example, an element shown as being integrally formed may be composed of multiple parts or elements, the position of elements may be reversed or otherwise changed, and the nature or number or position of discrete elements may be changed or varied. Other substitutions, modifications, changes and omissions may also be made in the design, operating conditions and arrangement of the disclosed elements and operations without departing from the scope of the present disclosure.

[0107] Further relative parallel, perpendicular, vertical or other positioning or orientation descriptions include variations within + / -10% or + / -10 degrees of pure vertical, parallel or perpendicular positioning. Unless otherwise expressly stated, references to "about," "substantially," or other degree terms include variations of + / -10% from a given measurement, unit, or range. The coupled elements may be electrically, mechanically, or physically coupled to each other directly or through intervening elements. Accordingly, the scope of the systems and methods described herein is indicated by the appended claims rather than the foregoing description, and variations that come within the meaning and range of equivalents of the claims are included therein.

Claims

1. A system comprising: A data processing system comprising one or more processors coupled to a memory to: identifying a software update to be installed on a computing system in a vehicle remote from the data processing system; determining that a network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive; responsive to the identification of the software update for installation and the determination that the network connection to the computing system is inactive, transmitting to a mobile device associated with an identifier of the vehicle a request to activate the network connection of the computing system to download the software update for installation on the computing system; as well as The software update is provided to the computing system for installation via the network connection of the computing system activated in response to the request transmitted to the mobile device.

2. The system according to claim 1, comprising the data processing system, wherein the data processing system is configured to: identifying a plurality of software updates available for installation on the computing system; responsive to the determination that the network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive, selecting a policy for the vehicle; as well as The policy is applied to the plurality of software updates to select the software update for installation.

3. The system according to claim 1, comprising the data processing system, wherein the data processing system is configured to: identifying a plurality of software updates available for installation on the computing system; and In response to the determination that the network connection is inactive, the software update is selected from the plurality of software updates based on a type of vehicle function to be performed with the software update.

4. The system of claim 1, wherein the software update comprises a first classification, the system comprising the data processing system to: identifying a second software update available for installation on the computing system; and Responsive to the determination that the network connection is inactive and in the absence of a second request to activate the network connection, preventing provision of the second software update to the vehicle based on the second software update including a second classification different than the first classification of the software update.

5. The system according to claim 1, comprising the data processing system, wherein the data processing system is configured to: The mobile device is instructed to activate the network connection via a wireless communication session established between the mobile device and the computing system of the vehicle.

6. The system according to claim 1, comprising the data processing system, wherein the data processing system is configured to: receiving, in response to the request, from the mobile device an indication that activation of the network connection was denied; and After receiving the indicated time period, a second request is transmitted to the mobile device to activate the network connection to download the software update.

7. The system according to claim 1, comprising the data processing system, wherein the data processing system is configured to: Instructions are provided to the computing system to terminate the network connection after the computing system downloads the software update.

8. The system of claim 1 , wherein activation of the network connection comprises activation of one-way communication that allows communication of data packets associated with the software update between the data processing system and the computing system and prevents communication of other data packets not associated with the software update.

9. The system according to claim 1, comprising the data processing system, wherein the data processing system is configured to: The network connection of the vehicle is determined to be inactive based on a period of time since the data processing system received communications exceeding a threshold from the computing system of the vehicle.

10. The system of claim 1, wherein the computing system of the vehicle is configured to: detecting a condition via one or more sensors of the vehicle; and In response to detecting the condition, the network connection is activated to transmit information about the condition to the data processing system.

11. A method comprising: identifying, by a data processing system including one or more processors coupled to a memory, a software update to be installed on a computing system in a vehicle remote from the data processing system; determining, by the data processing system, that a network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive; transmitting, by the data processing system, in response to the identification of the software update for installation and the determination that the network connection to the computing system is inactive, a request to activate the network connection of the computing system to download the software update for installation on the computing system to a mobile device associated with an identifier of the vehicle; as well as The software update is provided to the computing system for installation by the data processing system via the network connection of the computing system activated in response to the request transmitted to the mobile device.

12. The method according to claim 11, comprising: identifying, by the data processing system, a plurality of software updates available for installation on the computing system; selecting, by the data processing system, a policy for the vehicle in response to the determination that the network connection to the computing system for providing software updates from the data processing system to the vehicle is inactive; as well as The policy is applied, by the data processing system, to the plurality of software updates to select the software update for installation.

13. The method according to claim 11, comprising: identifying, by the data processing system, a plurality of software updates available for installation on the computing system; as well as In response to the determination that the network connection is inactive, the software update is selected, by the data processing system, from the plurality of software updates based on a type of vehicle function to be performed with the software update.

14. The method of claim 11, wherein the software update comprises a first classification, the method comprising: identifying, by the data processing system, a second software update available for installation on the computing system; as well as Responsive to the determination that the network connection is inactive and in the absence of a second request to activate the network connection, the data processing system blocks provision of the second software update to the vehicle based on the second software update comprising a second classification different from the first classification of the software update.

15. The method according to claim 11, comprising: The mobile device is instructed, by the data processing system, to activate the network connection via a wireless communication session established between the mobile device and the computing system of the vehicle.

16. The method according to claim 11, comprising: receiving, by the data processing system, from the mobile device in response to the request, an indication that activation of the network connection was denied; as well as After receiving the indicated time period, a second request is transmitted by the data processing system to the mobile device to activate the network connection to download the software update.

17. The method according to claim 11, comprising: Instructions are provided by the data processing system to the computing system to terminate the network connection after the computing system downloads the software update.

18. The method according to claim 11, comprising: The network connection of the vehicle is determined to be inactive by the data processing system based on a period of time since the data processing system received communications exceeding a threshold from the computing system of the vehicle.

19. A vehicle comprising: A computing system comprising one or more processors coupled to a memory to: receiving, via a user interface of the vehicle, a request to deactivate a network connection of the computing system; In response to the request, deactivating the network connection; establishing a wireless communication session with a mobile device separate from the computing system of the vehicle; receiving, from the mobile device via the wireless communication session, an instruction to activate the network connection of the computing system to download a software update from a data processing system remote from the computing system; downloading the software update for installation by the computing system after activating the network connection; as well as After downloading the software update, the network connection is deactivated.

20. The vehicle of claim 19, comprising: sensor; and A computing system, the computing system comprising: detecting conditions via data collected by the sensors; determining to activate the network connection in response to detection of the condition based on a network traffic management profile established for the vehicle; as well as The network connection is activated to transmit information about the condition to the data processing system.