Download priority data for vehicle systems
A priority-based data download system in vehicles addresses the challenge of simultaneous data management, ensuring critical data is transmitted first, enhancing vehicle performance and safety.
Patent Information
- Application Number
- DE102025149791
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-12-11
- Filing Date
- 2025-12-01
- Publication Date
- 2026-06-11
AI Technical Summary
Modern vehicles face challenges in managing simultaneous data downloads from multiple sources efficiently, leading to strain on connectivity and processing resources, which can impact safety and functionality.
Implementing a priority-based data download system that sequences downloads based on assigned priority levels, ensuring critical data is transmitted first, maintaining security, functionality, and efficiency.
Ensures that important data is processed promptly, optimizing vehicle performance and safety by managing bandwidth and processing resources effectively.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND
[0001] Modern vehicles are increasingly connected to external systems (e.g., cloud servers, traffic management systems, other vehicles, etc.) via wireless technologies such as cellular networks, Wi-Fi, and satellite connections. In modern connected vehicles, data originates from various sources and is used for diverse purposes, ranging from safety-critical functions to improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The aspects of this disclosure are best understood with reference to the following detailed description in conjunction with the accompanying illustrations. It should be noted that, in accordance with industry practice, various features are not shown to scale. In fact, the dimensions of the various features may have been arbitrarily enlarged or reduced for clarity. Fig. Figure 1 is a schematic diagram of a system for downloading data based on priorities according to at least one embodiment of the present disclosure. Fig. Figure 2 is a flowchart for downloading data based on priorities according to at least one embodiment of the present disclosure. Fig. Figure 3 is a flowchart for determining priority levels associated with download requests based on data types, according to at least one embodiment of the present disclosure. Fig. Figure 4 is a flowchart for downloading data sequentially based on the associated priority levels according to at least one embodiment of the present disclosure. Fig. Figure 5 is a flowchart for comparing priority levels of download requests according to at least one embodiment of the present disclosure. Fig. Figure 6 is a block diagram of a hardware configuration for downloading data based on priorities according to at least some embodiments of the present disclosure. Fig. Figure 7 is a table containing an example of data types according to at least one embodiment of the present disclosure. Fig. Figure 8 is a table containing an example of a priority matrix according to at least one embodiment of the present disclosure. DETAILED DESCRIPTION
[0003] The following disclosure contains many different embodiments or examples for implementing various features of the provided subject matter. To simplify the present disclosure, specific examples of components, values, processes, materials, arrangements, or the like are described below. These are, of course, only examples and are not intended to represent a limitation. Other components, values, processes, materials, arrangements, or the like are conceivable. Furthermore, reference numbers and / or letters may be repeated in the various examples in this disclosure. This repetition serves the purpose of simplicity and clarity and does not in itself imply any relationship between the various embodiments and / or configurations discussed.
[0004] When multiple data types need to be downloaded simultaneously, prioritization ensures that the most important and time-critical data is transmitted first, while maintaining security, functionality, and efficiency. The ability to effectively manage this data flow is crucial for the performance and safety of advanced vehicle systems. By connecting modern vehicles to external servers via wireless technologies, vehicles can receive real-time information such as: navigation data (e.g., map data, route search results, environmental information), traffic data (e.g., congestion reports, accident warnings), remote control and diagnostic data (e.g., locking / unlocking, climate control on / off, alarm activation, battery status, vehicle health checks), software updates (e.g., for infotainment systems, safety features, autonomous driving software), and weather data (e.g.,Route planning predictions), user-specific data related to vehicle management (e.g., seat, mirror, and climate control settings, user account authentication, and a speech recognition database), entertainment data (e.g., music, videos, images, and web searches), and emergency data (e.g., emergency call and security patches). However, downloading multiple data types simultaneously can strain a vehicle's connectivity and processing resources. If a vehicle receives multiple download requests, such as a request to download information about a point of interest (POI) while downloading a music stream, the vehicle cannot perform multiple downloads concurrently. Instead, the vehicle must complete one download before proceeding with another. In the music stream example, the download might not complete until the download request is canceled.Therefore, effective data prioritization is advantageous so that important updates can be processed first, ensuring the vehicle remains safe and efficient. Prioritization also helps manage bandwidth limitations (e.g., cellular speed, Wi-Fi range) so the vehicle can receive relevant information.
[0005] In at least some of the embodiments described here, the solution to the problem mentioned above lies in downloading data based on priorities. That is, when a vehicle receives multiple download requests, the downloads are performed in an order based on a priority level assigned to each request based on its data type. In this way, multiple downloads are performed by the vehicle in a suitable sequence.
[0006] Fig. Figure 1 is a schematic diagram of a system for downloading data based on priorities according to at least one embodiment of the present disclosure. The system comprises a plurality of sensors 104 and a user interface 106, which is connected to a mobile computing network 102 within a vehicle 100. The vehicle 100 is also connected via the mobile computing network 102 to a mobile terminal 110 and a network 108. The sensors 104 include a battery sensor 104A, an engine sensor 104B, a position sensor 104C, and a motion sensor 104D. The sensors 104 are configured to transmit sensor data 114 to the mobile computing network 102. The mobile terminal 110 is connected to the network 108. The user interface 106 is configured to transmit download requests 112 to the mobile computing network 102.In at least some embodiments, the mobile computing network 102, the sensors 104 and the user interface 106 are parts of a single device, for example the vehicle 100.
[0007] In at least some embodiments, the vehicle 100 is configured to transmit notifications and instructions to the mobile device 110 and to receive an application from the mobile device 110. In at least some embodiments, the vehicle 100 communicates with the mobile device 110 via the mobile computing network 102. In at least some embodiments, the vehicle 100 communicates with the mobile device 110 via the network 108. In at least some embodiments, the vehicle 100 is an automobile or an autonomous vehicle.
[0008] In at least some embodiments, the mobile computing network 102 is configured to receive download requests 112 from the user interface 106 and sensor data 114 from the sensors 104. In at least some embodiments, the mobile computing network 102 is an integration of wireless communication technologies and computer systems within the vehicle 100 to support a variety of connected services, applications, and functions. In at least some embodiments, the mobile computing network 102 is configured to enable the vehicle 100 to interact with external systems (e.g., the internet, cloud services, other vehicles, or infrastructure) and to support onboard systems that enhance the driving experience, safety, navigation, and overall functionality of the vehicle 100.In at least some implementation examples, the Mobile Computing Network 102 is a Controller Area Network (CAN), an Ethernet network, a Peripheral Component Interconnect Express (PCIe) network, a Universal Serial Bus (USB) network, or a Local Internet Network (LIN).
[0009] The sensors 104 are configured to transmit sensor data 114 to the mobile computing network 102. The sensors 104 comprise a battery sensor 104A, a motor sensor 104B, a location sensor 104C, and a motion sensor 104D. In at least some embodiments, the data types of the sensor data 114 provided by the battery sensor 104A, the motor sensor 104B, the location sensor 104C, and the motion sensor 104D differ. In at least some embodiments, the battery sensor 104A is configured to detect the remaining capacity of a vehicle battery. In at least some embodiments, the battery sensor 104A is configured to detect whether a charging process is taking place on the vehicle battery. In at least some embodiments, the battery sensor 104A is configured to detect whether the vehicle 100 is in an energy-saving mode.In at least some embodiments, the motor sensor 104B is configured to detect whether the vehicle 100 is in a switched-on or switched-off state. In at least some embodiments, the location sensor 104C is configured to detect the geographic location of the vehicle 100. In at least some embodiments, the location sensor 104C is configured to determine the precise position, orientation, and movement of the vehicle 100 in real time. In at least some embodiments, the location sensor 104C is a GPS (Global Positioning System), an accelerometer, a gyroscope, a compass, etc. In at least some embodiments, the motion sensor 104D is configured to detect the vehicle state of the vehicle 100. In at least some embodiments, the vehicle state indicates whether the vehicle 100 is moving or stationary.In at least some embodiments, the motion sensor 104D is configured to detect and measure the motion or acceleration of the vehicle 100. In at least some embodiments, the motion sensor 104D is configured to measure the acceleration, angular velocity, and changes in direction of the vehicle 100. In at least some embodiments, the motion sensor 104D is an accelerometer, a gyroscope, an inertial measurement unit (IMU), a radar sensor, or a camera-based system.
[0010] The user interface 106 is configured to transmit download requests to the mobile computing network 102. In at least some embodiments, the user interface 106 is configured to allow drivers, passengers, and other users to interact with the vehicle's various systems, technologies, and functions. In at least some embodiments, the user interface 106 is configured to allow the selection of a location for all downloads, or of specific locations for certain downloads, or for downloads of specific data types. In at least some embodiments, the user interface 106 is a smartphone, a touch-sensitive display device, a voice control system, a heads-up display (HUD), a gesture control system, or a mobile integration and connectivity system.In at least some embodiments, the user interface 106 is located outside the vehicle.
[0011] In at least some embodiments, the network 108 is configured to enable communication between the mobile device 110 and the vehicle 100's mobile computing network 102. In at least some embodiments, the network 108 is configured to connect the vehicle 100 to external systems, other vehicles, or the cloud. In at least some embodiments, the network 108 is configured to enable real-time data exchange, remote diagnostics, entertainment functions, and advanced driver assistance systems (ADAS). In at least some embodiments, the network 108 is a wired network, a 4G LTE network, a 5G network, or a Wi-Fi network that enables vehicle-to-vehicle (V2V) or vehicle-to-everything (V2X) communication.
[0012] The mobile device 110 is configured to communicate with the vehicle 100 via the mobile computing network 102 or the network 108. In at least some embodiments, the mobile device 110 is configured to receive notifications from the vehicle 100. In at least some embodiments, the mobile device 110 is configured to transmit applications to the vehicle 100. In at least some embodiments, the mobile device 110 is a portable device configured to connect to networks and exchange data. In at least some embodiments, the mobile device 110 is a smartphone, a tablet, a smartwatch, a portable laptop, or smart glasses.
[0013] Download requests 112 are transmitted from the user interface 106 to the mobile computing network 102. In at least some embodiments, download requests 112 include requests to download applications or data related to operating system updates, entertainment, navigation, vehicle management, security, and emergencies, etc. In at least some embodiments, entertainment data includes music data, video data, and image data, etc. In at least some embodiments, navigation data includes map data, route search results (if the route search is performed on a server), environmental information, and traffic conditions, etc. In at least some embodiments, vehicle management data includes locking / unlocking the doors, turning the climate control on and off, and activating the alarm, etc. In at least some embodiments, security patches are included.In at least some embodiments, the emergency data includes emergency calls. In at least some embodiments, download requests include requests to download applications or data related to web searches, user account authentication, and databases for speech recognition, etc.
[0014] Sensor data 114 are transmitted from sensors 104 to the mobile computing network 102. In at least one embodiment, sensor data 114 comprise data of different data types acquired by various sensors of the sensors 104. In at least some embodiments, the data types differ depending on the sensor design. In at least some embodiments, the sensor data 114 include vehicle battery status data, vehicle condition, geographic location data, etc.
[0015] Fig. Figure 2 is a flowchart for downloading data based on priorities according to at least one embodiment of the present disclosure. The flowchart shows a method for downloading data based on priorities. In at least some embodiments, the method is performed by a vehicle, such as the one described in Figure 2. Fig. 1 vehicle 100 shown, or a processor of an integrated circuit which includes sections for performing certain operations, such as the one shown in Fig. 6 shown is processor 662, which is explained below.
[0016] In the S220, a receive section of the processor receives an initial download request. In at least some embodiments, the receive section receives the initial download request via a mobile computing network. In at least some embodiments, the initial download request includes the downloading of applications or data related to operating system updates, entertainment, navigation, vehicle management, security, and emergencies, etc.
[0017] In S222, an implementation section of the processor executes the first download request. In at least some embodiments, the implementation section performs a download of the first download request before receiving a second download request. In at least some embodiments, the implementation section performs the download of the first download request based on a priority level of the first download request.
[0018] In S224, the processor's receive section receives the second download request. In at least some embodiments, the receive section receives the second download request via the mobile computing network. In at least some embodiments, the second download request includes the downloading of applications or data related to operating system updates, entertainment, navigation, vehicle management, security, and emergencies, etc.
[0019] In S226, a determination section of the processor determines a priority level assigned to each download request based on a data type. In at least some embodiments, the determination section determines the priority level assigned to each of the first and second download requests based on the data type. In at least some embodiments, the determination section determines the priority level based on a vehicle state. In at least some embodiments, the vehicle state is either "driving" or "stationary" or "stopped". In at least some embodiments, the determination section performs the following steps: Fig. The operating procedure shown in section 3 is explained below.
[0020] In S228, the processor's execution section performs downloads sequentially according to their respective priority levels. In at least some embodiments, the execution section performs downloads of the first download request and the second download request sequentially according to their respective priority levels. In at least some embodiments, the execution section performs the Fig. The operating procedure shown in section 4 is explained below.
[0021] Fig. Figure 3 is a process for determining priority levels associated with download requests based on data types, according to at least one embodiment of the present disclosure. The operational process provides a method for determining priority levels associated with download requests for data types. In at least some embodiments, the method is performed by a vehicle, such as the one described in Figure 3. Fig. 1 vehicle 100 shown, or a processor of an integrated circuit which includes sections for performing certain operations, such as the one shown in Fig. 6 shown is processor 662, which is explained below.
[0022] In S330, the processor's determination section defines a data type and captures a vehicle state. In at least some embodiments, the implementation section determines the vehicle state based on sensor data. In at least some embodiments, the determination section defines a priority level associated with each of the first and second download requests, based on the data type and the vehicle state.
[0023] Fig. Figure 7 is a table with an example of data types according to at least one embodiment of the present disclosure. The table contains an example of various data and corresponding data types. In at least some embodiments, the data type "Emergency" includes emergency call data. In at least some embodiments, the data type "Acute Security" includes security patch data. In at least some embodiments, the data type "Navigation Data" (Server Operation) includes route search results, environmental information, and traffic situation data. In at least some embodiments, the vehicle management data type (Remote Control) includes data for switching the climate control on and off, (Remote Control) data for activating the alarm, and (Remote Control) data for locking and unlocking the doors.In at least some embodiments, the "non-urgent" data type includes data for updating the operating system and the speech recognition database, etc. In at least some embodiments, other data types include user account authentication data and web search data. In at least some embodiments, different data types are prioritized according to their urgency and importance. In at least some embodiments, the processor, or a part thereof, ensures efficiency and performance and enables the availability of critical services, even when resources are limited. In at least some embodiments, an emergency call has the highest priority because an emergency call concerns urgent situations where life or safety is at risk and delays or interruptions could have serious consequences.In at least some embodiments, real-time traffic information and online POI search are services that provide real-time data for navigation, location-based services, or user queries, which are important but not as critical as emergency calls. In at least some embodiments, media streaming services, such as video or music streaming, are valuable but not as critical as emergency services or real-time navigation. In at least some embodiments, data from background applications consumes fewer resources and is less time-sensitive, so it has the lowest priority.
[0024] In at least some embodiments, the vehicle state is either "driving" or "stopped." In at least some embodiments, the vehicle state is considered "stopped" when the vehicle transmission is in the "Park," "Neutral," or any other position in which no gear is engaged. In at least some embodiments, the vehicle state is considered "stopped" when the motion sensor has not detected any movement for a predetermined period of time. In at least some embodiments, the vehicle state is considered "stopped" even if the engine is running. In at least some embodiments, the vehicle state is considered "driving" when the vehicle is not considered "stopped."
[0025] In S332, the processor, or a part thereof, determines whether a specified priority level is included. In at least some embodiments, the processor, or a part thereof, determines whether the first download request and the second download request contain specified priority levels. In at least some embodiments, at least one of the first download request and the second download request contains a specified priority level. In at least some embodiments, a priority is specified in the download request, for example, by a user, the operating system, or an application (including standard and third-party applications) that issues the download request. In at least some embodiments, the vehicle considers the specified priority in addition to the data type of the download request.In response to the processor determining that the specified priority level is present, the operation proceeds to determine whether the specified priority level is higher than a threshold level in S334. In response to the processor determining that the specified priority level is not present, the operation proceeds to determine the priority level based on the data type and vehicle state in S338.
[0026] At S334, the processor, or a part thereof, determines whether the specified priority level is higher than the threshold. If the processor determines that the specified priority level is not higher than the threshold, the operation proceeds to determine the priority level based on the data type, vehicle state, and the specified priority level at S335. If the processor determines that the specified priority level is higher than the threshold, the operation proceeds to ignore the specified priority level at S336.
[0027] In S335, the determination section determines the priority level based on the data type, the vehicle state, and the specified priority level. In at least some embodiments, the determination section further determines the priority level of the first download request and the second download request based on the specified priority level, after it has determined that at least one of the first download request and the second download request contains a specified priority level. The process terminates as a result of the processor determining the priority level based on the data type, the vehicle state, and the specified priority level.
[0028] In S336, the processor or a section thereof ignores the specified priority level. In at least some embodiments, the processor or a section thereof ignores the specified priority level in response to the fact that the specified priority level is higher than a threshold priority level. In at least some embodiments, the priority level specified by the download request has an upper limit that is lower than the priority level assigned to an emergency call.
[0029] In S338, the determination section determines the priority level based on the data type and the vehicle state. In at least some embodiments, the determination section determines the priority levels of the first and second download requests based on the data type and the vehicle state. In at least some embodiments, the vehicle state is either "driving" or "stationary." In at least some embodiments, when the vehicle is driving, the priorities assigned to the first data types (e.g., navigation-related data) are higher than the priorities assigned to the second data types (e.g., entertainment-related data). In at least some embodiments, the priorities assigned to the second data types are higher than the priorities assigned to the first data types when the vehicle is stopped.In at least some embodiments, the priority level is a matrix with the data type on one axis and the vehicle state on another axis.
[0030] Fig. Figure 8 is a table containing an example of a priority matrix according to at least one embodiment of the present disclosure. The table includes an example of a priority matrix for different data types under different vehicle states. In at least some embodiments, an example of a ranking of data priority levels is: Emergency call >> Real-time traffic information, online POI search, etc. >> Media streaming >> Background applications. In at least some embodiments, the emergency data type has the highest priority ranking, followed by the acute safety data type and the vehicle management data type under each vehicle state. In at least some embodiments, the navigation data type has a higher priority ranking under the vehicle state "Driving" than under the vehicle state "Stopped".In at least some embodiments, the entertainment data type has a higher priority ranking under the vehicle state "Stopped" than under the vehicle state "Driving". In at least some embodiments, the data type "Non-urgent data stream" has a higher priority in the vehicle state "Stopped" than in the vehicle state "In motion".
[0031] Fig. 4 is an operational sequence for performing downloads sequentially based on associated priority levels according to at least one embodiment of the present disclosure. The operational sequence provides a method for performing downloads sequentially based on associated priority levels. In at least some embodiments, the method is performed by a vehicle, such as the one described in Fig. 1 vehicle 100 shown, or a processor of an integrated circuit which includes sections for performing certain operations, such as the one shown in Fig. 6 shown is processor 662, which is explained below.
[0032] In S440, the processor, or a section thereof, determines whether the vehicle is in a power-saving mode or whether the remaining capacity of a vehicle battery is below a threshold capacity. In response to the processor's determination that the vehicle is in power-saving mode or that the remaining capacity is below the threshold capacity, the operation proceeds to determine in S442 whether the priority level is below a predefined level. If the processor determines that the vehicle is not in power-saving mode and that the remaining capacity is not below the threshold capacity, the operation proceeds in S446 to compare the priority levels of the first and second download requests.
[0033] In S442, the processor, or a part thereof, determines whether the priority level is below the specified level. In at least some embodiments, the processor, or a part thereof, determines whether there is a download request associated with a priority level below a specified priority level. If the processor determines that the priority level is lower than the specified level, the operation proceeds by foregoing the download in S444. If the processor determines that the priority level is not lower than the specified level, the operation proceeds by comparing the priority levels of the first download request and the second download request in S446.
[0034] In S444, the processor or a part thereof refrains from downloading. In at least some embodiments, the processor or a part thereof refrains from downloading all download requests associated with a priority level lower than a predetermined priority level if the remaining capacity is lower than a threshold capacity. In at least some embodiments, if the remaining capacity of a vehicle battery is equal to or less than a threshold value, downloading data types with a priority equal to or less than a predetermined value is prohibited, even if there is only one download request.In at least some embodiments, the processor or a section thereof refrains from downloading requests associated with a priority level lower than a predetermined priority level in response to the detection that the vehicle is in a power-saving mode. In at least some embodiments, when the vehicle is in a power-saving mode, downloading data types with a priority equal to or less than a predetermined value is prohibited, even if there is only one download request. In at least some embodiments, the predetermined priority value when the vehicle is in a power-saving mode is not necessarily the same as in the situation where the remaining capacity of the vehicle's battery is low. As a result of the processor refraining from the download, the operation process terminates.
[0035] In S446, the processor or a part thereof compares the priority levels of the first download request and the second download request. In at least some embodiments, the processor or a part thereof compares the priority level of the second download request with the priority level of the first download request. In at least some embodiments, the processor or a part thereof performs the following: Fig. The 5 operations shown are explained below.
[0036] Fig. Figure 5 is an operational sequence for comparing priority levels of download requests according to at least one embodiment of the present disclosure. The operational sequence provides a method for comparing priority levels of download requests. In at least some embodiments, the method is performed by a vehicle, such as the one described in Figure 5. Fig. 1 vehicle 100 shown, or a processor of an integrated circuit which includes sections for performing certain operations, such as the one shown in Fig. 6 shown is processor 662, which is explained below.
[0037] In S550, the processor, or a section thereof, determines whether the priority level of the second download request is higher. In at least some embodiments, the processor, or a section thereof, determines whether the priority level of the second download request is higher than the priority level of the first download request. If the processor determines that the priority level of the second download request is higher, the process continues with the interruption of the first download request in S552. If the processor determines that the priority level of the second download request is not higher, the process continues with the determination of whether the first download request has completed in S553.
[0038] In S552, the processor or a part of it aborts the first download request. In at least some embodiments, the processor or a part of it aborts the execution of the first download request in response to receiving the second download request. In response to the processor aborting the execution of the first download request, the process continues with the execution of the second download request in S554.
[0039] In S553, the processor, or a part of it, determines whether the first download request is complete. In response to the processor determining that the first download request is complete, the process continues with the execution of the second download request in S557. In response to the processor determining that the first download request is not complete, the process continues with the completion of the first download request in S555.
[0040] In S554, the execution section executes the second download request. In at least some embodiments, the execution section executes and completes the download of the second download request after aborting the execution of the first download request. As a result of the execution section completing the download of the second download request, the process continues by resuming the first download request in S556.
[0041] In S555, the execution section completes the first download request. In at least some embodiments, the execution section completes the execution of the first download request. In at least some embodiments, the execution section completes the execution of the first download request before it begins executing the second download request, because the priority level of the second download request is not higher than that of the first download request. As a result of the execution section completing the execution of the first download request, the operational flow continues with the execution of the second download request at S557.
[0042] In S556, the execution section continues the first download request. In at least some embodiments, the execution section continues the download of the first download request because the execution of the second download request is complete. After the processor has continued the first download request, the process ends.
[0043] In S557, the execution section performs the second download request. In at least some embodiments, the execution section performs the download of the second download request after the first download request has been completed.
[0044] Fig. Figure 6 is a block diagram of a hardware configuration for downloading data based on priorities according to at least some embodiments of the present disclosure.
[0045] The exemplary hardware configuration includes a mobile computing network 660 that interacts directly or via the network 692 with the touch-sensitive display device 690. In at least some embodiments, the mobile computing network 660 is a network of a computer or other vehicle equipment that receives inputs or commands from the touch-sensitive display device 690. In at least some embodiments, the mobile computing network 660 is a computer system that executes computer-readable instructions to perform downloads based on priorities.
[0046] The mobile computing network 660 comprises a processor 662, a memory unit 670, an input / output interface 680, and a communication interface 682. In at least some embodiments, the processor 662 is a processor or a programmable circuit that executes instructions to cause the processor or programmable circuit to perform operations according to the instructions. In at least some embodiments, the processor 662 comprises analog or digital programmable circuits, or any combination thereof. In at least some embodiments, the processor 662 comprises physically separate memories or circuits that interact via a protocol. In at least some embodiments, the memory unit 670 comprises a non-volatile, computer-readable medium capable of storing executable and non-executable data that the processor 662 can access during the execution of the instructions.The communication interface 682 sends and receives data from the network 692. The input / output interface 680 is connected to various input and output units via a parallel port, a serial port, a keyboard port, a mouse port, a monitor port, a touchscreen, a mobile device connection, and the like, to receive commands and display information. In some embodiments, the storage unit 670 is located outside the mobile computing network 660.
[0047] The processor 662 comprises a receive section 664, a determination section 666, and an execution section 668. The storage unit 670 includes download requests 672, priority levels 674, and sensor data 676.
[0048] The receive section 664 is the circuitry or instructions of the processor 662 configured to receive download requests. In at least some embodiments, the receive section 664 is configured to receive a first download request and a second download request. In at least some embodiments, the receive section 664 uses information in the memory unit 670, such as download requests 672 and priority levels 674. In at least some embodiments, the receive section 664 includes subsections for performing additional functions, as described in the preceding flowcharts. In at least some embodiments, such subsections are designated by a name corresponding to a specific function.
[0049] Determination section 666 is the circuitry or instructions of processor 662 configured to determine priority levels. In at least some embodiments, determination section 666 is configured to determine a priority level associated with each of the first and second download requests based on a data type. In at least some embodiments, determination section 666 is configured to determine a further priority level based on a vehicle state. In at least some embodiments, determination section 666 is configured to determine a further priority level based on a specified priority level.In at least some embodiments, the determination section 666 is configured to ignore the specified priority level if the specified priority level is higher than a threshold priority level. In at least some embodiments, the determination section 666 uses information in the storage unit 670, such as download requests 672, priority levels 674, and sensor data 676. In at least some embodiments, the determination section 666 includes subsections for performing additional functions, as described in the preceding flowcharts. In at least some embodiments, such subsections are designated by a name that corresponds to a specific function.
[0050] The implementation section 668 comprises the circuitry or instructions of the processor 662 that are configured to execute the downloads of the download requests. In at least some embodiments, the implementation section 668 is configured to execute the downloads of the first and second download requests sequentially based on their respective priority levels. In at least some embodiments, the implementation section 668 is configured to execute a download of the first download request before receiving the second download request.In at least some embodiments, the implementation section 668 is configured to interrupt the execution of the first download request upon receipt of the second download request and to resume the download of the first download request upon completion of the second download request. In at least some embodiments, the implementation of section 668 is configured to refrain from downloading any download request associated with a priority level lower than a predetermined priority level in response to the remaining capacity falling below a threshold capacity.In at least some embodiments, the implementation of section 668 is configured to refrain from downloading any download request associated with a priority level lower than a predetermined priority level in response to the detection that the vehicle is in an energy-saving mode. In at least some embodiments, the implementation of section 668 utilizes information in memory unit 670, such as download requests 672 and priority levels 674. In at least some embodiments, the implementation of section 668 includes subsections for performing additional functions, as described in the preceding flowcharts. In at least some embodiments, such subsections are designated by a name that corresponds to a specific function.
[0051] In at least some embodiments, the device is another device capable of processing logical functions to perform the operations described herein. In at least some embodiments, the processor and the memory unit need not be completely separate devices, but in some embodiments may share circuitry or one or more computer-readable media. In at least some embodiments, the memory unit comprises a hard disk on which both the computer-executable instructions and the data retrieved by the processor are stored, and the processor comprises a combination of a central processing unit (CPU) and RAM into which the computer-executable instructions may be copied, in whole or in part, for execution by the CPU during the execution of the operations described herein.
[0052] In at least some embodiments where the device is a computer, a program installed on the computer can cause the computer to function as the device of the embodiment described herein or to perform operations associated with it. In at least some embodiments, such a program is executable by a processor to cause the computer to perform certain operations associated with some or all blocks of the flowcharts and block diagrams described herein.
[0053] At least some embodiments are described with reference to flowcharts and block diagrams, the blocks of which represent (1) steps of processes in which operations are performed, or (2) sections of a processor responsible for performing operations. In at least some embodiments, certain steps and sections are implemented by dedicated circuits, programmable circuits supplied with computer-readable instructions stored on computer-readable media, and / or processors supplied with computer-readable instructions stored on computer-readable media. In at least some embodiments, dedicated circuits comprise digital and / or analog hardware circuits and include integrated circuits (ICs) and / or discrete circuits.In at least some embodiments, programmable circuits comprise reconfigurable hardware circuits that include logical AND, OR, XOR, NAND, NOR and other logical operations, flip-flops, registers, memory elements, etc., such as field-programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc.
[0054] In at least some embodiments, the computer-readable storage medium comprises a tangible device capable of storing and retaining instructions for use by an instruction execution device. In some embodiments, the computer-readable storage medium comprises, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination thereof.A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer floppy disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, a mechanically coded device such as punched cards or raised structures in a groove on which instructions are recorded, and any suitable combination of the foregoing. A computer-readable storage medium, as used here, is not to be understood as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g.,Light pulses that travel through a fiber optic cable), or electrical signals that are transmitted over a wire.
[0055] In at least some embodiments, the computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to respective computer / processing devices or, via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network, to an external computer or external storage device. In at least some embodiments, the network includes copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. In at least some embodiments, a network adapter card or network interface in each computer / processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium within the respective computer / processing device.
[0056] In at least some embodiments, the computer-readable program instructions for performing the operations described above are assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or either source code or object code written in any combination of one or more programming languages, including an object-oriented programming language such as Smalltalk, C++, or the like, and conventional procedural programming languages such as the programming language "C" or similar programming languages.In at least some embodiments, the computer-readable program instructions are executed entirely on the user's computer, partly on the user's computer as a standalone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In at least some embodiments, in the latter scenario, the remote computer is connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection is made to an external computer (for example, via the internet using an internet service provider).In at least some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), execute the computer-readable program instructions by using state information from the computer-readable program instructions to customize the electronic circuits to perform aspects of the present disclosure.
[0057] Although exemplary embodiments of the present disclosure have been described, the technical scope of each claimed subject matter is not limited to the exemplary embodiments described above. Those skilled in the art would understand that various modifications and improvements to the exemplary embodiments described above are possible. They would also understand from the scope of the claims that the exemplary embodiments provided with such modifications or improvements are included in the technical scope of the invention.
[0058] The operations, procedures, steps, and phases of each process performed by a device, system, program, and method shown in the claims, embodiments, or diagrams may be performed in any order, as long as the order is not specified by "before," "previously," or similar terms, and as long as the output from a previous process is not used in a subsequent process. Even if the process flow is described in the claims, embodiments, or diagrams using terms like "first" or "next," such a description does not necessarily mean that the processes must be performed in the described order.
[0059] In at least some embodiments, data downloading is performed on a priority basis by having a mobile computing network in a vehicle receive a first download request, the mobile computing network receive a second download request, a priority level associated with the first and second download requests is determined based on a data type, and the first and second download requests are downloaded sequentially based on their respective priority levels.
[0060] The foregoing outlines features of several embodiments to enable those skilled in the field to better understand the aspects of this disclosure. Those skilled in the art should recognize that this disclosure can readily be used as a basis for the design or modification of other methods and structures to achieve the same purposes and / or the same advantages as the embodiments presented herein. Those skilled in the art should also recognize that such equivalent designs do not deviate from the fundamental concept and scope of this disclosure and that various changes, substitutions, and modifications are possible without deviating from the fundamental concept and scope of this disclosure.
Claims
Method involving receiving a first download request through a mobile computing network in a vehicle, receiving a second download request through the mobile computing network, determining a priority level associated with each of the first and second download requests based on a data type, and successively performing downloads of the first and second download requests based on the associated priority level. The method of claim 1, further comprising performing a download of the first download request before receiving the second download request, wherein the sequential execution of the downloads comprises: interrupting the execution of a download of the first download request in response to the receipt of the second download request and resuming the execution of the download of the first download request in response to the completion of the execution of the second download request. Method according to claim 1 or 2, wherein the determination of the priority level is further based on a vehicle condition. Method according to claim 3, wherein the vehicle state is moving or stopped. Method according to any one of claims 1 to 4, wherein the first download request and / or the second download request contains a specified priority level, and the determination of the priority level is further based on the specified priority level. The method of claim 5, wherein determining the priority level includes ignoring the specified priority level in response to the fact that the specified priority level is higher than a threshold priority level. Method according to any one of claims 1 to 6, further comprising detecting a residual capacity of a vehicle battery, wherein the successive execution of the downloads includes abandoning the download of each download request associated with a priority level lower than a predetermined priority level, in response to the fact that the residual capacity is less than a threshold capacity. Method according to any one of claims 1 to 7, wherein the successive execution of the downloads includes abandoning the download of each download request associated with a priority level lower than a predetermined priority level in response to a determination that the vehicle is in an energy-saving mode. A system with a processor containing circuitry configured to receive a first download request from a mobile computing network in a vehicle, to receive a second download request from the mobile computing network, to determine a priority level associated with each of the first and second download requests based on a data type, and to sequentially perform downloads of the first and second download requests based on the associated priority level. A computer program that causes one or more processors to perform operations that include: receiving an initial download request from a mobile computing network in a vehicle, receiving a second download request from the mobile computing network, determining a priority level associated with each of the initial and subsequent download requests based on a data type, and sequentially performing downloads of the initial and subsequent download requests based on the associated priority level.