Enhanced heat reduction
Thermal mitigation systems in vehicles transfer communication functions to user devices based on temperature thresholds and thermal load balancing, optimizing processing capacity and ensuring critical message handling in 5G wireless communication systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- QUALCOMM INC
- Filing Date
- 2021-08-18
- Publication Date
- 2026-05-12
AI Technical Summary
The 5G mobile standard requires improvements in spectral efficiency, signaling efficiency, and reduced latency, while vehicles with wireless communication capabilities face thermal management challenges that affect processing capacity and safety-critical message handling.
Implementing thermal mitigation systems that transfer communication functions from vehicles to user devices based on temperature thresholds and thermal load balancing techniques to manage processing loads, using thermal-aware load balancers to filter messages and maintain processing capacity.
Enhances thermal management in vehicles, ensuring critical communication functions are maintained and processing capacity is optimized, even under thermal stress, thereby improving safety and efficiency of wireless communication systems.
Smart Images

Figure 0007857278000004 
Figure 0007857278000005 
Figure 0007857278000006
Abstract
Description
[Technical Field]
[0001] The aspects of this disclosure generally relate to wireless positioning and the like. Examples of implementations that result in enhanced thermal mitigation for devices are described. [Background technology]
[0002] Wireless communication systems are deployed to provide a wide range of telecommunications services, including, among others, telephone, video, data, messaging, and broadcasting. Wireless communication systems have evolved through various generations, including first-generation analog wireless telephone services (1G), second-generation (2G) digital wireless telephone services (including provisional 2.5G networks), third-generation (3G) high-speed data, internet-enabled wireless services, and fourth-generation (4G) services (e.g., Long-Term Evolution (LTE), WiMAX). Currently, many different types of wireless communication systems are in use, including cellular systems and personal communication service (PCS) systems. Examples of known cellular systems include the Cellular Analog Advanced Mobile Phone System (AMPS), and digital cellular systems based on technologies such as Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), and Global System for Mobile Communications (GSM). [Overview of the project] [Problems that the invention aims to solve]
[0003] The fifth-generation (5G) mobile standard requires improvements such as higher data transfer speeds, more connections, and better coverage. According to the Next Generation Mobile Network Alliance, the 5G standard (also known as "New Radio" or "NR") is designed to provide tens of megabits per second of data to each of tens of thousands of users, and 1 gigabit per second to dozens of workers on an office floor. Hundreds of thousands of simultaneous connections should be supported to accommodate large-scale sensor deployments. Therefore, the spectral efficiency of 5G mobile communications should be significantly higher compared to current 4G / LTE standards. Furthermore, signaling efficiency should be improved and latency significantly reduced compared to current standards.
[0004] Vehicles are an example of a system that may include wireless communication capabilities. For example, a vehicle (e.g., automobiles, aircraft, ships, etc.) can communicate with other vehicles and / or other devices that have wireless communication capabilities. [Means for solving the problem]
[0005] The following provides a simplified overview relating to one or more embodiments disclosed herein. Therefore, this overview should not be considered a broad overview relating to all intended embodiments, nor should it be considered to identify the main or important elements relating to all intended embodiments, or to define the scope relating to any particular embodiment. Accordingly, the sole purpose of this overview is to provide, in a simplified form, some concepts relating to one or more embodiments relating to the mechanisms disclosed herein, prior to the detailed description presented below.
[0006] Some aspects of this disclosure include systems, methods, apparatus, and computer-readable media for performing enhanced thermal mitigation. According to at least one example, a method for thermal mitigation is provided. The method may include the steps of: obtaining a temperature related to a vehicle; determining, based on the temperature, whether to transfer one or more communication functions from the vehicle to a user device; and, in response to the determination to transfer one or more communication functions, transferring one or more communication functions from a communication unit in the vehicle to a communication unit in the user device.
[0007] In another example, a thermal mitigation device is provided, which includes memory and at least one processor (for example, configured in a circuit) communicatively coupled to the memory. The at least one processor is configured to acquire vehicle-related temperatures, determine based on the temperatures whether to transfer one or more communication functions from the vehicle to a user device, and, in response to the determination to transfer one or more communication functions, transfer one or more communication functions from the vehicle's communication unit to the user device's communication unit.
[0008] In another example, a non-temporary computer-readable medium is provided which, when executed by one or more processors, causes one or more processors to obtain vehicle-related temperatures, determine whether to transfer one or more communication functions from the vehicle to a user device based on the temperatures, and, in response to the determination to transfer one or more communication functions, transfers one or more communication functions from the vehicle's communication unit to the user device's communication unit.
[0009] In another example, a device for heat mitigation is provided. The device includes means for obtaining a temperature related to the vehicle, means for determining whether to transfer one or more communication functions from the vehicle to a user device based on the temperature, and means for transferring one or more communication functions from the vehicle's communication unit to the user device's communication unit in response to the determination to transfer one or more communication functions.
[0010] Some additional or alternative aspects of this disclosure include systems, methods, apparatus, and computer-readable media that provide a thermally sensitive load balancer, which is located within or communicably coupled to a device processing system. The thermally sensitive load balancer enables the processing system to perform thermal-based load balancing to control the processing load. For example, the thermally sensitive load balancer can control the number of incoming messages to be processed based on the thermal conditions of the relevant hardware components and the instantaneous processing load of the processing system.
[0011] According to at least one example, a method for thermal load balancing is provided. The method may include the steps of: receiving a plurality of messages from one or more devices; determining a thermal level; determining a processing load based at least on the number of the plurality of messages; determining a filtering scheme to be applied to filter the plurality of messages in order to keep the processing load below the processing capacity, based on the thermal level and the processing load; and applying the filtering scheme using one or more components associated with the apparatus to filter the plurality of messages.
[0012] In another example, a device for thermal load balancing is provided, comprising at least one transceiver, at least one memory, and at least one processor commutatively coupled to at least one memory and at least one transceiver. The at least one processor is configured to receive a plurality of messages from one or more devices via at least one transceiver, determine a thermal level, determine a processing load based at least on the number of the plurality of messages, determine a filtering scheme to be applied to filter the plurality of messages in order to keep the processing load below the processing capacity based on the thermal level and the processing load, and apply the filtering scheme using one or more components associated with the device to filter the plurality of messages.
[0013] In another example, a non-temporary computer-readable medium is provided which stores at least one instruction that, when executed by one or more processors, causes one or more processors to receive a plurality of messages from one or more devices, determine a thermal level, determine a processing load based on at least the number of the plurality of messages, determine a filtering scheme to be applied to filter the plurality of messages in order to keep the processing load below the processing capacity based on the thermal level and the processing load, and apply the filtering scheme using one or more components associated with the device to filter the plurality of messages.
[0014] Another example provides a device for thermal load balancing. The device includes means for receiving a plurality of messages from one or more devices; means for determining a thermal level; means for determining a processing load based on at least the number of the plurality of messages; means for determining a filtering scheme to be applied to filter the plurality of messages in order to keep the processing load below the processing capacity, based on the thermal level and the processing load; and means for applying the filtering scheme using one or more components associated with the device to filter the plurality of messages.
[0015] In some embodiments, the device is a mobile device (e.g., a mobile phone or so-called “smartphone” or other mobile device), a wearable device, an extended reality device (e.g., a virtual reality (VR) device, an augmented reality (AR) device, or a mixed reality (MR) device), a personal computer, a laptop computer, a server computer, or other device, or part thereof. In some embodiments, the device includes a camera or a number of cameras for capturing one or more images. In some embodiments, the device further includes a display for displaying one or more images, notifications, and / or other displayable data. In some embodiments, the device described above may include one or more sensors, which may be used to determine the location of the device, the state of the device (e.g., temperature, humidity level, and / or other information), and / or for other purposes.
[0016] Other purposes and advantages relating to the embodiments disclosed herein will become apparent to those skilled in the art based on the accompanying drawings and detailed description.
[0017] The accompanying drawings are provided to aid in describing various aspects of this disclosure and are provided solely for illustrative purposes of aspects, not as an limitation of those aspects. [Brief explanation of the drawing]
[0018] [Figure 1] A diagram showing an exemplary wireless communication system according to an aspect of the present disclosure. [Figure 2A] A diagram showing an example of a wireless network structure according to an aspect of the present disclosure. [Figure 2B] A diagram showing an example of a wireless network structure according to an aspect of the present disclosure. [Figure 3] A diagram showing examples of various user equipment (UE) that communicate via a direct communication interface (e.g., a cellular-based PC5 side-link interface, a Dedicated Short Range Communication (DSRC) interface defined by 802.11p, or other direct interface) and a wide area network (Uu) interface. [Figure 4] A block diagram showing an example of a vehicle computing system according to an aspect of the present disclosure. [Figure 5] A block diagram showing an example of a computing system of a user device according to an aspect of the present disclosure. [Figure 6] A diagram showing an example of a heat reduction framework according to an aspect of the present disclosure. [Figure 7] A flowchart showing an example of a process for migrating a vehicle-to-everything (V2X) function according to an aspect of the present disclosure. [Figure 8] A flowchart showing an example of a process for migrating an emergency function according to an aspect of the present disclosure. [Figure 9] A flowchart showing an example of a process for heat reduction according to an aspect of the present disclosure. [Figure 10A] A block diagram showing an exemplary configuration of internal components of a vehicle computing system according to an aspect of the present disclosure. [Figure 10B] A block diagram showing another exemplary configuration of internal components of a vehicle computing system according to an aspect of the present disclosure. [Figure 11]This is a flowchart illustrating an exemplary thermal load balancing process according to aspects of the present disclosure. [Figure 12] This is a flowchart illustrating an exemplary process for selecting a filtering mechanism to be applied in the thermal load balancing process shown in Figure 8, according to an aspect of this disclosure. [Figure 13] This is a flowchart illustrating an exemplary thermal load balancing process according to aspects of the present disclosure. [Figure 14] This block diagram shows an example of a computing system according to the aspects of this disclosure. [Modes for carrying out the invention]
[0019] Several aspects and embodiments of this disclosure are provided below for illustrative purposes. Alternative embodiments may be devised without departing from the scope of this disclosure. In addition, well-known elements of this disclosure are not described in detail or are omitted so as not to obscure the relevant details of this disclosure. As will be apparent to those skilled in the art, some of the aspects and embodiments described herein may be applied independently, and some of them may be applied in combination. In the following description, specific details are provided for illustrative purposes to give a complete understanding of the embodiments of this application. However, it will be apparent that various embodiments may be practiced without these specific details. The figures and descriptions are not intended to be limiting.
[0020] The following description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the Disclosure. Rather, the following description of exemplary embodiments provides a description that enables the implementation of the exemplary embodiments for those skilled in the art. It should be understood that various modifications may be made to the function and configuration of the elements without departing from the spirit and scope of this application as set forth in the appended claims.
[0021] The terms “exemplary” and / or “example” are used herein to mean “serving as an example, case, or illustration.” Any aspect described herein as “exemplary” and / or “example” should not necessarily be construed as being preferable or advantageous to any other aspect. Similarly, the term “aspects of the disclosure” does not require that all aspects of the disclosure include the features, advantages, or modes of operation described herein.
[0022] Generally, wireless communication systems support communication with multiple devices by sharing available system resources (e.g., time, frequency, and power). As mentioned above, examples of cellular systems that provide such multiple access support include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, and orthogonal frequency division multiple access (OFDMA) systems. A wireless multiple access communication system may also include several base stations, each simultaneously supporting communication for multiple communication devices, which may otherwise be known as user equipment (UEs).
[0023] In some embodiments, systems, apparatus, processes (also called methods), and computer-readable media (collectively referred to herein as systems and techniques) for performing enhanced thermal mitigation for one or more devices (e.g., one or more UEs) are described herein. As will be described in more detail below, systems and techniques may utilize one or more temperature thresholds (also called thermal levels) to perform a variety of operations, among other things, such as reducing certain functions or gradually transferring one or more functions from one or more communication units of a first UE (e.g., a vehicle) to one or more communication units of a second UE (e.g., a user device).
[0024] In one example for explanation, the first UE is the vehicle, and the second UE is the user device (e.g., a mobile device, tablet device, laptop computer, or other user device). The functions that are scaled down and / or moved from the vehicle to the user device may include one or more wireless network access functions, one or more vehicle-to-everything (V2X) functions, and / or one or more emergency functions (e.g., emergency call services). In some examples, different temperature thresholds may be associated with each of the different functions. For example, a first temperature threshold (e.g., 95°C or another temperature threshold) can be associated with reducing wireless network access functionality and / or migrating from the vehicle's first communication unit to the user device's second communication unit; a second temperature threshold (e.g., 105°C or another temperature threshold) can be associated with reducing one or more V2X functions and / or migrating from the first communication unit to the user device's second communication unit; and a third temperature threshold (e.g., 115°C or another temperature threshold) can be associated with migrating one or more emergency functions from the first communication unit to the second communication unit. Any other number of thresholds can be used to migrate fewer or more functions from the vehicle's first communication unit to the user device's second communication unit, or from the second communication unit to the first communication unit.
[0025] In some embodiments, systems and techniques for performing load balancing using one or more load balancers are described herein as additions to or alternatives to the thermal mitigation systems and techniques described above. In some implementations, one or more load balancers are thermal-aware load balancers (also called thermal load balancers) that can perform thermal-aware load balancing (also called thermal load balancing or thermal load balancing). In some cases, one or more thermal load balancers are located inside or communicatively coupled to a processing system (e.g., an application processor or other processing system) of a device (e.g., a UE). For example, a thermal load balancer can enable the processing system of a device to perform thermal load balancing to control the number of incoming messages to be processed (the flow of incoming messages) based on the thermal conditions of the relevant hardware components and the instantaneous processing load of the processing system.
[0026] As will be explained in more detail below, the thermal balancing systems and techniques described herein may utilize one or more temperature thresholds (also called thermal levels) in combination with one or more processing loads and corresponding thresholds to select a filtering mechanism. A processing system and / or one or more external components (e.g., a modem and / or other components) communicatively coupled to the processing system may use a filtering mechanism to filter (e.g., omit) incoming messages. This filtering allows the processing system to maintain the load of incoming messages to be processed by the processing system below a threshold that indicates the processing capacity of the processing system. The term filtering as used throughout this disclosure in relation to messages may include omitting or discarding one or more messages, queuing one or more messages for later transmission and / or processing (e.g., when the processing load of the processing system improves and falls below a threshold), and / or other actions relating to managing the processing of messages by the processing system.
[0027] In one example for explanation, the first UE can communicate with a certain number of neighboring devices (e.g., one device, tens of devices, hundreds of devices, thousands of devices, etc.) and can receive a certain number of messages (e.g., tens, hundreds, or other numbers of messages per second) from each neighboring device. In some examples, neighboring devices may be any device within the communication range of the first UE (e.g., a device that can send messages to and / or receive messages from the first UE). Messages may provide information including, but are not limited to, device identification information, location information, speed, direction (or orientation) of movement, etc. The first UE may be a vehicle, such as a bicycle, motorcycle, drone, aircraft, ship, and / or other type of vehicle. Neighboring devices may include, but are not limited to, vehicles (e.g., bicycles, motorcycles, drones, aircraft, ships), mobile devices, roadside units (RSUs), traffic management devices such as signaling systems, smart traffic management devices, and / or other devices.
[0028] The received messages may be processed by the first UE for safety purposes (e.g., warning the driver of the first UE of an impending / potential accident ahead, a red light ahead, pedestrians crossing the road, etc.) and / or for other actions, including, but not limited to, adjusting lane changes, turning left or right at stop signs, traffic suggestions, and destination suggestions. It may be important to process such messages as quickly as possible with minimal delay. In addition, the processing of these messages may be computationally intensive. For example, each message may be signed by its respective transmitting device, and each message may be verified as part of the processing by the first UE. As the temperature of the first UE's processing system and its associated components rises, the respective processing and verification capabilities will decline, for example, due to a decrease in the clock frequency of each component of the processing system.
[0029] Given a large number of incoming messages per second from nearby devices, not all received messages may be critical to the effective operation of the first UE. For example, using a vehicle as an example of the first UE, a message received from a nearby vehicle 500 feet away indicating that the nearby vehicle is traveling at a speed of 10 miles per hour does not pose an immediate safety concern to the safe operation of the vehicle. However, a subset of these received messages may be critical to the effective operation of the vehicle. In an example for one explanation, a message received from a nearby vehicle less than 100 feet away and approaching the vehicle at 30 miles per hour poses an immediate safety concern to the safe operation of the vehicle and should be processed to control the vehicle (e.g., control vehicle movement, braking, or direction) and / or to provide appropriate notification to the vehicle's operation.
[0030] Therefore, it may be important to ensure that the device's processing system and its associated processing components have sufficient capacity to receive, verify, and process important information (e.g., messages) regardless of fluctuations in the processing capacity of the processing system and its components due to changes in conditions (e.g., thermal conditions, humidity, light levels, and / or other conditions). A filtering mechanism selected based on such conditions and the processing load of the processing system allows the processing system to filter out (e.g., omit) less important messages and thus maintain sufficient capacity to process more important messages at any given time.
[0031] Additional features of this disclosure are described in more detail below.
[0032] As used herein, the term “communication unit” refers to a system, device, or component of a UE (e.g., a vehicle, user device, etc.) and / or other device (e.g., a roadside unit (RSU) or other device), which may include a telematics control unit (TCU), a network access device (NAD), a modem, a subscriber identification module (SIM), a transceiver (or individual receivers and / or transmitters), any combination thereof, and / or other systems, devices, or components configured to perform wireless communication operations.
[0033] As used herein, the terms “User Equipment” (UE) and “Base Station” are not intended to be specific to, or otherwise limited to, any particular Radio Access Technology (RAT) unless otherwise stated. Generally, a UE may be any wireless communication device used by a user to communicate over a wireless communication network (e.g., a mobile phone, router, tablet computer, laptop computer, tracking device, wearable device (e.g., an extended reality (XR) device such as a smartwatch, glasses, virtual reality (VR) headset, augmented reality (AR) headset or glasses, or mixed reality (MR) headset), vehicle (e.g., a car, motorcycle, bicycle, etc.), Internet of Things (IoT) device, etc.). A UE may be mobile or stationary (e.g., for some time) and may communicate with a Radio Access Network (RAN). As used herein, the terms “UE” may be interchangeably referred to as “Access Terminal” or “AT,” “User Device,” “User Terminal” or “UT,” “Client Device,” “Wireless Device,” “Subscriber Device,” “Subscriber Terminal,” “Subscriber Station,” “Mobile Device,” “Mobile Terminal,” “Mobile Station,” or variations thereof. Generally, a UE can communicate with the core network via the RAN, and through the core network, the UE can connect to external networks such as the Internet and to other UEs. A UE can also communicate with other UEs and / or other devices as described herein. In some cases, other mechanisms are also possible for a UE to connect to the core network, the Internet, and other UEs via wired access networks, wireless local area network (WLAN) networks (e.g., based on IEEE 802.11, ultra-wideband (UWB), etc.).
[0034] A base station may operate according to one of several RATs, communicating with UEs, RSUs, and / or other devices, depending on the network in which it is deployed. In some cases, a base station may also be referred to as an access point (AP), network node, NodeB, evolved NodeB (eNB), next-generation eNB (ng-eNB), New Radio (NR) Node B (also known as gNB or gNodeB), etc. A base station may be primarily used to support wireless access by UEs, including supporting data connectivity, voice connectivity, and / or signaling connectivity for supported UEs. In some systems, a base station may only provide edge node signaling functionality, while in other systems, a base station may provide additional control and / or network management functionality. The communication link through which a UE can transmit signals to a base station is called an uplink (UL) channel (e.g., reverse traffic channel, reverse control channel, access channel, etc.). A communication link through which a base station can transmit signals to a UE is called a downlink (DL) or forward link channel (e.g., a paging channel, control channel, broadcast channel, or forward traffic channel). As used herein, the term traffic channel (TCH) may refer to either an uplink / reverse traffic channel or a downlink / forward traffic channel.
[0035] The term “base station” can refer to a single physical transmit / receive point (TRP), or to multiple physical TRPs, which may or may not be located at the same location. For example, when the term “base station” refers to a single physical TRP, that physical TRP may be the base station’s antenna, corresponding to a cell (or several cell sectors) of the base station. When the term “base station” refers to multiple physical TRPs located at the same location, those physical TRPs may be an array of antennas of the base station (for example, in a multi-input multiple-output (MIMO) system, or if the base station employs beamforming). When the term “base station” refers to multiple physical TRPs that are not located at the same location, those physical TRPs may be a distributed antenna system (DAS) (a network of spatially separated antennas connected to a common source via a transport medium), or a remote radio head (RRH) (a remote base station connected to a serving base station). Alternatively, physical TRPs that are not located at the same location may be a UE, and a serving base station that receives measurement reports from an adjacent base station where the UE is measuring its reference RF signal (or simply the “reference signal”). Since a TRP is the point from which a base station transmits and receives wireless signals, when used herein, references to transmission from a base station or reception at a base station should be understood as referring to a specific TRP of the base station.
[0036] In some implementations that support UE positioning, a base station may not support wireless access by the UE (for example, it may not support data, voice, and / or signaling connections for the UE), but instead may transmit a reference signal to the UE to be measured by the UE, and / or receive and measure signals transmitted by the UE. Such a base station may be called a positioning beacon (for example, when transmitting signals to the UE) and / or a positioning unit (for example, when receiving and measuring signals from the UE).
[0037] A Roadside Unit (RSU) is a device capable of sending and receiving messages to and from one or more UEs, other RSUs, and / or base stations via a communication link or interface (e.g., a cellular-based sidelink or PC5 interface, an 802.11 or WiFi®-based Dedicated Short Range Communication (DSRC) interface, and / or other interfaces). An example of a message that can be sent and received by an RSU is a vehicle-to-everything (V2X) message, which is described in more detail below. RSUs can be located in a variety of traffic infrastructure systems, including roads, bridges, parking lots, toll booths, and / or other infrastructure systems. In some examples, an RSU can facilitate communication between UEs (e.g., vehicles, pedestrian user devices, and / or other UEs) and the traffic infrastructure system. In some implementations, an RSU may communicate with a server, base station, and / or other system that can perform centralized management functions.
[0038] An RSU can communicate with the communication systems of a UE. For example, an UE's (e.g., a vehicle and / or other UE) Intelligent Transportation Systems (ITS) may be used to generate and sign messages for transmission to the RSU, and to validate messages received from the RSU. An RSU can communicate with vehicles traveling along roads, bridges, or other infrastructure systems (e.g., via a PC5 interface, DSRC interface, etc.) to obtain traffic-related data (e.g., vehicle time, speed, location, etc.). In some cases, in response to obtaining traffic-related data, the RSU may determine or estimate traffic congestion information (e.g., the start and end of congestion), travel time, and / or other information about a particular location. In some examples, an RSU can communicate with other RSUs (e.g., via a PC5 interface, DSRC interface, etc.) to determine traffic-related data. An RSU can transmit information (e.g., traffic congestion information, travel time information, and / or other information) to other vehicles, pedestrian UEs, and / or other UEs. For example, an RSU can broadcast or otherwise transmit information to any UE (e.g., vehicles, pedestrian UEs, etc.) within its coverage area.
[0039] In various embodiments, Figure 1 shows an example of a wireless communication system 100. The wireless communication system 100 (sometimes called a wireless wide area network (WWAN)) may include various base stations 102 and various UEs 104. The base stations 102 may include macrocell base stations (high-power cellular base stations) and / or small cell base stations (low-power cellular base stations). In some embodiments, the macrocell base stations may include eNBs and / or ng-eNBs corresponding to a 4G / LTE network in the wireless communication system 100, or gNBs corresponding to a 5G / NR network in the wireless communication system 100, or a combination of both, and the small cell base stations may include femtocells, picocells, microcells, etc.
[0040] The base station 102 may collectively form a RAN and interface with the core network 170 (e.g., evolved packet core (EPC) or 5G core (5GC)) via the backhaul link 122, and with one or more location servers 172 (which may be part of the core network 170 or outside the core network 170) via the core network 170. In addition to other functions, the base station 102 may perform functions related to the transfer of user data, radio channel encryption and decryption, integrity protection, header compression, mobility control functions (e.g., handover, dual connectivity), inter-cell interference coordination, connection setup and release, load balancing, delivery for non-access layer (NAS) messages, NAS node selection, synchronization, RAN sharing, multimedia broadcast multicast service (MBMS), subscriber and equipment tracking, RAN information management (RIM), paging, positioning, and delivery of alert messages. The base stations 102 may communicate with each other directly or indirectly (for example, via EPC / 5GC) via a backhaul link 134 which may be wired and / or wireless.
[0041] Base station 102 may communicate wirelessly with UE 104. Each base station 102 may provide communication coverage to its respective geographical coverage area 110. In some embodiments, one or more cells may be supported by base stations 102 in each coverage area 110. A “cell” is a logical communication entity used for communication with a base station (over several frequency resources, such as carrier frequencies, component carriers, carriers, or bandwidths), and may be associated with an identifier (e.g., a physical cell identifier (PCI), a virtual cell identifier (VCI), or a cell global identifier (CGI)) to distinguish cells operating over the same or different carrier frequencies. In some cases, different cells may be configured according to different protocol types (e.g., machine-type communications (MTC), narrowband IoT (NB-IoT), enhanced mobile broadband (eMBB), or others) that may provide access to different types of UEs. Since a cell is supported by a particular base station, the term “cell” may, depending on the context, refer to either or both of the logical communication entity and the base station that supports it. In addition, since the TRP is usually the physical transmission point of a cell, the terms “cell” and “TRP” are sometimes used interchangeably. In some cases, the term “cell” may also refer to the geographical coverage area (e.g., sector) of a base station, insofar as the carrier frequency can be detected and used for communication within some portion of the geographical coverage area 110.
[0042] The geographical coverage areas 110 of adjacent macrocell base stations 102 may partially overlap (for example, in the handover area), and some of the geographical coverage areas 110 may significantly overlap with larger geographical coverage areas 110. For example, a small cell base station 102' may have a coverage area 110' that significantly overlaps with the coverage area 110 of one or more macrocell base stations 102. A network that includes both small cell base stations and macrocell base stations may be known as a heterogeneous network. A heterogeneous network may also include a home eNB (HeNB), which may serve a limited group known as a limited subscriber group (CSG).
[0043] The communication link 120 between the base station 102 and the UE 104 may include uplink (also called reverse link) transmission from the UE 104 to the base station 102, and / or downlink (also called forward link) transmission from the base station 102 to the UE 104. The communication link 120 may use MIMO antenna technology, including spatial multiplexing, beamforming, and / or transmit diversity. The communication link 120 may be via one or more carrier frequencies. Carrier allocation may be asymmetric with respect to the downlink and uplink (for example, more or fewer carriers may be allocated to the downlink than to the uplink).
[0044] The wireless communication system 100 may further include a WLAN access point (AP) 150 communicating with a wireless local area network (WLAN) station (STA) 152 via a communication link 154 in the unlicensed frequency spectrum (e.g., 5 GHz). When communicating in the unlicensed frequency spectrum, the WLAN STA 152 and / or WLAN AP 150 may perform a clear channel assessment (CCA) or listen-before-talk (LBT) procedure before communication to determine whether the channel is available. In some examples, the wireless communication system 100 may include devices (e.g., UEs, etc.) that communicate with one or more UEs 104, base stations 102, AP 150, etc., using the ultra-wideband (UWB) spectrum. The UWB spectrum can span from 3.1 GHz to 10.5 GHz.
[0045] The small cell base station 102' may operate in licensed and / or unlicensed frequency spectrums (for example, using LTE or NR technology, with the same 5 GHz unlicensed frequency spectrum used by the WLAN AP 150). The wireless communication system 100 may further include a millimeter-wave (mmW) base station 180 which may operate in millimeter-wave (mmW) frequencies and / or quasi-mmW frequencies, communicating with the UE 182. In some cases, the mmW frequencies may be referred to as the FR2 band (for example, including the frequency range from 24250 MHz to 52600 MHz). In some examples, the wireless communication system 100 may include one or more base stations (referred to herein as "hybrid base stations") that operate in both mmW frequencies (and / or near-mmW frequencies) and sub-6 GHz frequencies (for example, including the frequency range from 450 MHz to 6000 MHz, referred to as the FR1 band). In some examples, the mmW base station 180, one or more hybrid base stations (not shown), and UE 182 may utilize beamforming (transmit and / or receive) over the mmW communication link 184 to compensate for extremely high path loss and short distances. The wireless communication system 100 may further include UE 164, which may communicate with the macrocell base station 102 over the communication link 120 and / or with the mmW base station 180 over the mmW communication link 184.
[0046] In some examples, to operate on multiple carrier frequencies, base station 102 and / or UE104 may be equipped with multiple receivers and / or transmitters. For example, UE104 may have two receivers, “Receiver 1” and “Receiver 2,” where “Receiver 1” is a multiband receiver that can be tuned to a band (i.e., carrier frequency) “X” or band “Y,” and “Receiver 2” is a single-band receiver that can be tuned to only band “Z.”
[0047] The wireless communication system 100 may further include one or more UEs, such as UE190, that indirectly connect to one or more communication networks via one or more D2D peer-to-peer (P2P) links (referred to as “sidelinks”). In the example in Figure 1, UE190 has a D2D P2P link 192 with one of the UEs 104 connected to one of the base stations 102 (for example, through which UE190 may indirectly obtain cellular connectivity), and a D2D P2P link 194 with a WLAN STA 152 connected to a WLAN AP 150 (through which UE190 may indirectly obtain WLAN-based internet connectivity). In one example, D2D P2P links 192 and 194 may be supported using any well-known D2D RAT such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Bluetooth®, UWB, etc.
[0048] In various configurations, Figure 2A shows an exemplary wireless network structure 200. For example, 5GC210 (also called Next Generation Core (NGC)) can be functionally seen as control plane functions 214 (e.g., UE registration, authentication, network access, gateway selection, etc.) and user plane functions 212 (e.g., UE gateway functions, access to data networks, IP routing, etc.), working together to form the core network. User plane interface (NG-U) 213 and control plane interface (NG-C) 215 connect gNB222 to 5GC210, specifically to control plane functions 214 and user plane functions 212. In additional configurations, ng-eNB224 may also be connected to 5GC210 via NG-C215 to control plane functions 214 and NG-U213 to user plane functions 212. Furthermore, ng-eNB224 may communicate directly with gNB222 via backhaul connection 223. In some configurations, the New RAN220 may have only one or more gNB222s, while other configurations may include one or more of both ng-eNB224s and gNB222s. Either the gNB222 or the ng-eNB224 may communicate with the UE204 (for example, one of the UEs shown in Figure 1).
[0049] Another optional configuration may include a location server 230, which may communicate with 5GC210 to assist in the localization of UE204. The location server 230 can be implemented as multiple separate servers (e.g., physically separate servers, different software modules on a single server, different software modules spread across multiple physical servers), or alternatively, each corresponding to a single server. The location server 230 may be configured to support one or more location services for UE204 that can connect to the location server 230 via the core network 5GC210 and / or via the internet (not shown). Furthermore, the location server 230 may be integrated into a component of the core network, or alternatively, outside the core network. In some examples, the location server 230 may be operated by the carrier or provider of 5GC210, a third party, an original equipment manufacturer (OEM), or other related party. In some cases, multiple location servers may be provided, such as a location server for the carrier, a location server for the OEM of a particular device, and / or other location servers. In such cases, location assistance data can be received from the carrier's location server, and other assistance data can be received from the OEM's location server.
[0050] In various embodiments, Figure 2B shows another exemplary wireless network structure 250. For example, 5GC260 can be functionally viewed as a control plane function provided by the Access and Mobility Management Function (AMF) 264, and a user plane function provided by the User Plane Function (UPF) 262, working together to form a core network (i.e., 5GC260). User plane interface 263 and control plane interface 265 connect ng-eNB224 to 5GC260, specifically to UPF262 and AMF264, respectively. In additional configurations, gNB222 may also be connected to 5GC260 via the control plane interface 265 to AMF264 and the user plane interface 263 to UPF262. Furthermore, ng-eNB224 may communicate directly with gNB222 via backhaul connection 223, with or without a direct gNB connection to 5GC260.
[0051] The functions of AMF264 may include registration management, connection management, reachability management, mobility management, lawful interception, transport of session management (SM) messages between UE204 and session management function (SMF)266, transparent proxy service for routing SM messages, access authentication and access permission, transport of short message service (SMS) messages between UE204 and short message service function (SMSF) (not shown), and security anchor function (SEAF). AMF264 may also interact with authentication server function (AUSF) (not shown) and UE204.
[0052] In some cases, the AMF264 can authenticate information from a UE's subscriber identification module (SIM). For example, in the case of authentication based on a UMTS (universal mobile telecommunications system) SIM (USIM), the AMF264 extracts security material from the AUSF. As will be explained in more detail below, one or more functions may be transferred from one UE (e.g., a vehicle) to another UE (e.g., a user device such as a mobile device) or another device (e.g., a roadside unit (RSU)) based on one or more characteristics or factors (e.g., the temperature of the vehicle's telecommunications unit, the humidity of the telecommunications unit, the amount of light the telecommunications unit is exposed to, the amount of ventilation for the telecommunications unit, and / or other characteristics or factors). In one example, a network access function may be transferred from a vehicle to a user device. In such an example, the AMF264 may be used to authenticate the SIM information of the user device SIM (e.g., the subscriber or user's crypto-decryption key) in order to enable the user device to access the network provided by the 5GC260. In some cases, the AMF264 can authenticate the SIM information using the AUSF.
[0053] The functionality of the AMF264 may also include security context management (SCM). The SCM receives keys from the SEAF that it uses to derive access network-specific keys. The functionality of the AMF264 also includes location service management for regulatory services, transport of location service messages between the UE204 and the Location Management Function (LMF) 270 (acting as a location server 230), transport of location service messages between the New RAN 220 and the LMF270, allocation of EPS bearer identifiers for interacting with the evolved packet system (EPS), and mobility event notification for the UE204. In addition, the AMF264 also supports functionality for non-3GPP® access networks.
[0054] The functions of the SMF266 include session management, UE Internet Protocol (IP) address allocation and management, selection and control of user plane functions, configuration of traffic steering in the UPF262 for routing traffic to appropriate destinations, control of policy enforcement and QoS portions, and downlink data notification. The interface through which the SMF266 communicates with the AMF264 is called the N11 interface.
[0055] As described above, wireless communication systems support communication between multiple UEs. In various examples, wireless communication systems may be configured to support device-to-device (D2D) communication (as described above) and / or vehicle-to-everything (V2X) communication. V2X may also be called cellular V2X (C-V2X). V2X communication can be performed using any radio access technology, such as LTE, 5G, WLAN (e.g., 802.11WiFi), or other communication protocols. In some examples, UEs can send and receive V2X messages with other UEs, roadside units (RSUs), and / or other devices via direct communication links or interfaces (e.g., PC5 or sidelink interfaces, 802.11p DSRC interfaces, and / or other communication interfaces) and / or via networks (e.g., eNBs, WiFi APs, and / or network entities). Communication may be performed using resources allocated by the network (e.g., eNB or other network devices), resources pre-configured for V2X use, and / or resources determined by the UE (e.g., using Clear Channel Assessment (CCA) for 802.11 network resources).
[0056] V2X communication can include vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrian (V2P) communication, and / or vehicle-to-network (V2N) communication. In V2V, V2P, and V2I communication, data packets may be transmitted directly between vehicles (e.g., using a PC5 interface, an 802.11 DSRC interface, etc.) without passing through a network, eNB, or gNB. V2X-enabled vehicles can use short-range direct communication modes that provide, for example, 360° non-line-of-sight (NLOS) awareness, complementing on-board line-of-sight (LOS) sensors, such as cameras, radar, and lidar, among other sensors. The combination of wireless technology and on-board sensors enables V2X vehicles to visually observe, hear, and / or anticipate potential driving hazards (for example, at intersections with poor visibility, in adverse weather conditions, and / or other scenarios). V2X vehicles can also understand warnings or notifications from other V2X-enabled vehicles (based on V2V communication), from infrastructure systems (based on V2I communication), and from user devices (based on V2P communication). Infrastructure systems may include roads, stop signals, road signs, bridges, toll booths, and / or other infrastructure systems that can communicate with vehicles using V2I messaging.
[0057] In some cases, V2X communication may utilize multiple operating modes. LTE sidelink (for example, for D2D communication), introduced by 3GPP® in Release 12, includes two operating modes called Mode 1 and Mode 2. Both Mode 1 and Mode 2 are designed with the aim of extending the battery life of mobile devices at the expense of increased latency. Depending on the desired implementation, sidelink communication may be performed according to the 3GPP communication protocol sidelink (for example, using the PC5 sidelink interface according to LTE, 5G, etc.), according to the Wi-Fi direct communication protocol (for example, the DSRC protocol), or using any other device-to-device communication protocol. In some examples, sidelink communication may be performed using one or more Unlicensed National Information Infrastructure (U-NII) bands. For example, sidelink communication may be performed in the U-NII-4 band (5.850–5.925 GHz), U-NII-5 band (5.925–6.425 GHz), U-NII-6 band (6.425–6.525 GHz), U-NII-7 band (6.525–6.875 GHz), U-NII-8 band (6.875–7.125 GHz), or in bands corresponding to any other frequency bands that may be suitable for performing sidelink communication. However, in some embodiments, connected vehicles may benefit from reliable, low-latency V2X communication, and therefore modes 1 and 2 may not be suitable for such applications.
[0058] Connected vehicles can benefit from reliable, low-latency V2X communication. In some cases, modes 1 and 2 may not be suitable for such applications. Two additional communication modes (modes 3 and 4) were designed for V2V communication and introduced by 3GPP in Release 14. In mode 3, a cellular network (e.g., eNB, gNB, or other network entity) selects and manages the radio resources used by the vehicle for performing direct V2X communication. In mode 4, the vehicle autonomously selects radio resources for direct V2X communication. Mode 4 can operate without cellular coverage and, in some cases, may be considered the baseline V2X mode based on the fact that cellular coverage cannot be relied upon for safety applications. Mode 4 may include a distributed scheduling scheme for the vehicle to select radio resources and may include support for distributed congestion control.
[0059] Figure 3 shows examples of different communication mechanisms used by various UEs. In one example of sidelink communication, Figure 3 shows vehicles 304, 305, and a roadside unit (RSU) 303 communicating with each other using a PC5, DSRC, or other device-to-device direct signaling interface. In addition, vehicles 304 and 305 may communicate with a base station 302 (shown as BS302) using a network (Uu) interface. In some examples, the base station 302 may include a gNB. Figure 3 also shows a user device 307 communicating with the base station 302 using a network (Uu) interface. Based on one or more characteristics or factors (e.g., temperature, humidity, etc.), as described below, functionality may be transferred from a vehicle (e.g., vehicle 304) to a user device (e.g., user device 307). In one example for explanation, as shown in Figure 3, the V2X functionality can be transferred from vehicle 304 to user device 307, after which user device 307 can communicate with other vehicles (e.g., vehicle 305) via the PC5 interface (or other device-to-device direct interface such as the DSRC interface).
[0060] Figure 3 shows, but is not limited to, a specific number of vehicles (e.g., two vehicles 304 and 305) communicating with each other and / or with the RSU 303, BS 302, and / or user device 307. For example (for the purpose of illustrating exemplary embodiments in relation to Figures 10A–13), dozens or hundreds of such vehicles may be communicating with each other and / or with the RSU 303, BS 302, and / or user device 307. At any given time, each such vehicle, RSU 303, BS 302, and / or user device 307 may send various types of information as messages to other neighboring vehicles, so that each vehicle (e.g., vehicle 304 and / or 305), RSU 303, BS 302, and / or user device 307 receives hundreds or thousands of messages per second from other neighboring vehicles, RSUs, base stations, and / or other UEs.
[0061] While the PC5 interface is shown in Figure 3, various UEs (e.g., vehicles, user devices, etc.) and RSUs can communicate directly using any suitable type of direct interface, such as the 802.11 DSRC interface, Bluetooth® interface, and / or other interfaces. For example, a vehicle can communicate with a user device via a direct communication interface (e.g., using PC5 and / or DSRC), a vehicle can communicate with another vehicle via a direct communication interface, a user device can communicate with another user device via a direct communication interface, a UE (e.g., vehicles, user devices, etc.) can communicate with an RSU via a direct communication interface, an RSU can communicate with another RSU via a direct communication interface, and so on.
[0062] Figure 4 is a block diagram showing an example of a vehicle computing system 450 of a vehicle 404. Vehicle 404 is an example of a UE that can communicate with a network (e.g., eNB, gNB, positioning beacon, location measurement unit, and / or other network entities) via a Uu interface and can communicate with other UEs using V2X communication via a PC5 interface (or other device-to-device direct interface such as a DSRC interface). As shown, the vehicle computing system 450 may include at least a power management system 451, a control system 452, an infotainment system 454, an intelligent transportation system (ITS) 455, one or more sensor systems 456, and a communication system 458. In some cases, the vehicle computing system 450 may include, or be implemented using, any type of processing device or system, such as one or more central processing units (CPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), application processors (APs), graphics processing units (GPUs), vision processing units (VPUs), neural network signal processors (NSPs), microcontrollers, dedicated hardware, any combination thereof, and / or other processing devices or systems.
[0063] The control system 452 may be configured to control the operation of one or more of the vehicle 404, the power management system 451, the computing system 450, the infotainment system 454, the ITS 455, and / or one or more other systems of the vehicle 404 (e.g., the braking system, the steering system, safety systems other than the ITS 455, the cabin system, and / or other systems). In some examples, the control system 452 may include one or more electronic control units (ECUs). An ECU may control one or more electronic systems or subsystems in the vehicle. Specific examples of ECUs that may be included as part of the control system 452 include, among other things, the engine control module (ECM), the powertrain control module (PCM), the transmission control module (TCM), the brake control module (BCM), the central control module (CCM), and the central timing module (CTM). In some cases, the control system 452 may receive sensor signals from one or more sensor systems 456 and may communicate with other systems of the vehicle computing system 450 to operate the vehicle 404.
[0064] The vehicle computing system 450 also includes a power management system 451. In some implementations, the power management system 451 may include a power management integrated circuit (PMIC), a standby battery, and / or other components. In some cases, other systems of the vehicle computing system 450 may include one or more PMICs, batteries, and / or other components. The power management system 451 can perform power management functions for the vehicle 404, such as managing power for the computing system 450 and / or other parts of the vehicle. For example, the power management system 451 may provide a stable power supply that takes power fluctuations into account, such as based on the starting of the vehicle's engine. In another example, the power management system 451 may perform thermal monitoring operations, such as checking the ambient temperature and / or transistor junction temperature. In another example, the power management system 451 may, upon detecting a certain temperature level, perform certain functions, among other things, such as having a cooling system (e.g., one or more fans, an air conditioning system, etc.) cool some components of the vehicle computing system 450 (e.g., control systems 452 such as one or more ECUs), or disabling some functions of the vehicle computing system 450 (e.g., restricting the infotainment system 454 by turning off one or more displays, disconnecting from a wireless network, etc.).
[0065] The vehicle computing system 450 further includes a communications system 458. The communications system 458 may include both software and hardware components for transmitting signals to and receiving signals from a network (e.g., a gNB or other network entity via a Uu interface), and / or transmitting signals from other UEs (e.g., to another vehicle or UE via a PC5 interface, a WiFi interface (e.g., DSRC), a Bluetooth® interface, and / or other wireless and / or wired interfaces). For example, the communications system 458 may be configured to wirelessly transmit and receive information via any suitable wireless network (e.g., a 3G network, a 4G network, a 5G network, a WiFi network, a Bluetooth® network, and / or other networks). The communications system 458 may include various components or devices used to perform wireless communications functions, including an Original Equipment Manufacturer (OEM) subscriber identification module (referred to as a SIM or SIM card) 460, a user SIM 462, and a modem 464. Although the vehicle computing system 450 is shown as having two SIMs and one modem, in some implementations the computing system 450 may have any number of SIMs (e.g., one SIM or two or more SIMs) and any number of modems (e.g., one modem, two modems, or more than two modems).
[0066] A SIM is a device (e.g., an integrated circuit) that can securely store the International Mobile Subscriber Identification (IMSI) number and associated keys (e.g., cryptographic-decryption keys) of a particular subscriber or user. The IMSI and keys may be used to identify and authenticate the subscriber at a particular UE. The OEM SIM 460 may be used by a communications system 458 to establish a wireless connection for vehicle-based operations, among other things, to perform emergency calling (eCall) functions and to communicate with the vehicle manufacturer's communications system (e.g., for software updates). The OEM SIM 460 may be important because the OEM SIM supports emergency services such as eCall for making emergency calls in the event of a car accident or other emergency. For example, eCall may include a service that automatically dials an emergency number (e.g., "9-1-1" in the US, "1-1-2" in Europe, etc.) in the event of a car accident to relay the vehicle's location to emergency services such as police and fire departments.
[0067] The user SIM 462 may be used by the communication system 458 to perform wireless network access functions to support user data connectivity (for example, in particular for making calls, messaging, and infotainment-related services). In some cases, the user's user device may connect to the vehicle computing system 450 via an interface (e.g., PC5, Bluetooth®, WiFi® (e.g., DSRC), Universal Serial Bus (USB) port, and / or other wireless or wired interfaces). Once connected, the user device may transfer the wireless network access functions from the user device to the vehicle's communication system 458, in which case the user device may stop performing the wireless network access functions (e.g., while the communication system 458 is performing the wireless access functions). The communication system 458 may initiate interaction with a base station to perform one or more wireless communication operations, among other operations, such as assisting with calls and transmitting and / or receiving data (e.g., messaging, video, audio, etc.). In such cases, other components of the vehicle computing system 450 may be used to output the data received by the communication system 458. For example, the infotainment system 454 (described below) can display video received by the communication system 458 on one or more displays and / or output audio received by the communication system 458 using one or more speakers.
[0068] A modem is a device that modulates one or more carrier signals to encode digital information for transmission and demodulates the signals to decode the information to be transmitted. Modem 464 (and / or one or more other modems in communication system 458) may be used for data communication for OEM SIM 460 and / or user SIM 462. In some examples, modem 464 may include a 4G (or LTE) modem, and another modem in communication system 458 (not shown) may include a 5G (or NR) modem. In some examples, communication system 458 may include one or more Bluetooth® modems (e.g., for Bluetooth® Low Energy (BLE) or other types of Bluetooth communication), one or more WiFi® modems (e.g., for DSRC communication and / or other WiFi communication), wideband modems (e.g., ultra-wideband (UWB) modems), any combination thereof, and / or other types of modems.
[0069] In some cases, modem 464 (and / or one or more other modems of communication system 458) may be used to perform V2X communication (e.g., with vehicles in V2V communication, with other devices in D2D communication, with infrastructure systems in V2I communication, with pedestrian UEs in V2P communication, etc.). In some examples, communication system 458 may include a V2X modem used to perform V2X communication (e.g., sidelink communication via the PC5 interface or DSRC interface), in which case the V2X modem may be separate from one or more modems used for wireless network access functionality (e.g., for network communication via the network / Uu interface and / or sidelink communication other than V2X communication).
[0070] In some examples, the communication system 458 may be or include a telematics control unit (TCU). In some implementations, the TCU may include a network access device (NAD) (sometimes also called a network control unit or NCU). The NAD may include a modem 464, any other modem not shown in Figure 4, an OEM SIM 460, a user SIM 462, and / or other components used for wireless communication. In some examples, the communication system 458 may include a global navigation satellite system (GNSS). In some cases, the GNSS may be part of one or more sensor systems 456, as described below. The GNSS may provide the vehicle computing system 450 with the ability to perform one or more location services, navigation services, and / or other services that can utilize GNSS capabilities.
[0071] In some cases, the communication system 458 may further include one or more wireless interfaces for transmitting and receiving wireless communications (for example, including one or more transceivers and one or more baseband processors for each wireless interface), one or more wired interfaces for performing communications via one or more wired connections (for example, serial interfaces such as Universal Serial Bus (USB) inputs, Lightning connectors, and / or other wired interfaces), and / or other components that enable the vehicle 404 to communicate with a network and / or other UEs.
[0072] The vehicle computing system 450 may also include an infotainment system 454 that can control content, and one or more output devices of the vehicle 404 that may be used to output content. The infotainment system 454 may also be called an in-vehicle infotainment (IVI) system or an in-car entertainment (ICE) system. The content may include, among other things, navigation content, media content (e.g., video content, music or other audio content, and / or other media content). One or more output devices may include one or more graphical user interfaces, one or more displays, one or more speakers, one or more extended reality devices (e.g., VR, AR, and / or MR headsets), one or more haptic feedback devices (e.g., one or more devices configured to vibrate the seats, steering wheel, and / or other parts of the vehicle 404), and / or other output devices.
[0073] In some examples, the computing system 450 may include an Intelligent Transportation System (ITS) 455. In some examples, the ITS 455 may be used to implement V2X communication. For example, the ITS stack of the ITS 455 may generate V2X messages based on information from the application layer of the ITS. In some cases, the application layer may determine whether certain conditions are met for generating a message for use by the ITS 455, and / or for generating a message to be sent to other vehicles (in the case of V2V communication), pedestrian UEs (in the case of V2P communication), and / or infrastructure systems (in the case of V2I communication). In some cases, the communication system 458 and / or the ITS 455 may obtain Car Access Network (CAN) information (for example, from other components of the vehicle via the CAN bus). In some examples, the communication system 458 (for example, the TCU NAD) may obtain CAN information via the CAN bus and transmit the CAN information to the PHY / MAC layer of the ITS 455. The ITS 455 may provide the CAN information to the ITS stack of the ITS 455. CAN information may include vehicle-related information, such as vehicle orientation, vehicle speed, and braking information. CAN information may be provided to the ITS455 continuously or periodically (for example, every 1 millisecond (ms), every 10 ms, etc.).
[0074] The conditions used to determine whether to generate a message may be determined using CAN information based on safety-related and / or other applications, including road safety, traffic efficiency, infotainment, business applications, and / or other applications. In an example for one explanation, ITS455 can perform lane change assistance or coordination. For example, using CAN information, ITS455 may determine that the driver of vehicle 404 is attempting to change lanes from the current lane to an adjacent lane (for example, based on whether the turn signal is activated, or whether the user is turning or steering to the adjacent lane). Based on the determination that vehicle 404 is attempting to change lanes, ITS455 may determine that the lane change conditions related to a message to be sent to other vehicles in the adjacent lane near that vehicle have been met. ITS455 may cause the ITS stack to generate one or more messages to be sent to other vehicles, which may be used to coordinate lane changes with other vehicles. Other examples of applications include, among others, collision warning, automatic emergency braking, lane departure warning, pedestrian avoidance or protection (for example, when a pedestrian is detected near the vehicle 404 based on V2P communication of the user's UE, etc.), and traffic sign recognition.
[0075] ITS455 can generate messages (e.g., V2X messages) using any suitable protocol. Examples of protocols that may be used by ITS455 include one or more SAE standards and / or other standards, such as Society of Automotive Engineering (SAE) J2735, SAE J2945, SAE J3161, which are incorporated herein by reference in whole for all purposes.
[0076] The ITS455 security layer can be used to securely sign messages from the ITS stack that are sent to and verified by other UEs configured for V2X communication, such as other vehicles, pedestrian UEs, and / or infrastructure systems. The security layer can also verify messages received from such other UEs. In some implementations, the signing and verification process may be based on the vehicle's security context. In some examples, the security context may include one or more cryptographic-decryption algorithms, public and / or private keys used to generate signatures using the cryptographic-decryption algorithms, and / or other information. For example, each ITS message generated by ITS455 may be signed by the ITS455 security layer. The signature may be derived using a public key and a cryptographic-decryption algorithm. Vehicles, pedestrian UEs, and / or infrastructure systems receiving the signed message can verify the signature to ensure that the message is from an authorized vehicle. In some examples, one or more encryption-decryption algorithms may include one or more symmetric encryption algorithms (e.g., Advanced Encryption Standard (AES), Data Encryption Standard (DES), and / or other symmetric encryption algorithms), one or more asymmetric encryption algorithms using public and private keys (e.g., Rivest-Shamir-Adleman (RSA) and / or other asymmetric encryption algorithms), and / or other encryption-decryption algorithms.
[0077] In some examples, the ITS 455 may determine several actions to be performed (e.g., V2X-based actions) based on messages received from other UEs. Actions may include safety-related actions and / or other actions, such as actions for road safety, traffic efficiency, infotainment, business, and / or other applications. In some examples, actions may include causing a vehicle (e.g., a control system 452) to perform automatic functions, among other automatic functions, such as automatic braking, automatic steering (e.g., to maintain direction in a particular lane), and automatic lane change adjustments with other vehicles. In an example for one explanation, a message indicating that another vehicle is coming to a sudden stop may be received by the communication system 458 from another device (e.g., via the PC5 interface, DSRC interface, or other direct device-to-device interface). In response to receiving the message, the ITS stack may generate a message or command and send the message or command to the control system 452, which may cause the control system 452 to automatically brake the vehicle 404 so that the vehicle 404 comes to a stop before colliding with the other vehicle. Other examples for explanation include triggering the display of messages that warn the driver that there is another vehicle in the adjacent lane, a message that warns the driver to stop the vehicle, a message that warns the driver that there is a pedestrian at a crosswalk ahead, and a message that warns the driver that a toll booth is within a certain distance (for example, within 1 mile) of the vehicle.
[0078] In some cases, ITS455 may receive a large number of messages from other UEs (e.g., vehicles, RSUs, etc.), in which case ITS455 authenticates each message (e.g., decrypts and decrypts) and / or determines what action to perform. Such a large number of messages can lead to a heavy computational load on the vehicle computing system 450. In some cases, a heavy computational load can raise the temperature of the computing system 450. The rising temperature of the components of the computing system 450 can negatively impact the computing system 450's ability to process the large number of incoming messages. As will be explained in more detail below, one or more functions may be migrated from the vehicle 404 to another device (e.g., a user device, RSU, etc.) based on the temperature of the vehicle computing system 450 (or its components) exceeding or approaching one or more thermal levels. Migrating one or more functions can reduce the computational load on the vehicle 404 and help lower the temperature of the components. As will be further described below, a thermal load balancer may be provided that enables the vehicle computing system 450 to perform thermal-based load balancing to control the processing load in accordance with the temperature of the computing system 450 and the processing capacity of the vehicle computing system 450.
[0079] The computing system 450 further includes one or more sensor systems 456 (for example, a first to the Nth sensor system, where N is a value greater than or equal to 0). When including multiple sensor systems, the sensor system 456 may include various types of sensor systems that may be located in or in various parts of the vehicle 404. The sensor system 456 may include one or more camera sensor systems, light detection ranging (lidar) sensor systems, radio wave ranging (radar) sensor systems, electromagnetic wave ranging (EmDAR) sensor systems, acoustic navigation ranging (sonar) sensor systems, sound detection ranging (soda) sensor systems, global navigation satellite system (GNSS) receiver systems (for example, one or more global positioning system (GPS) receiver systems), accelerometers, gyroscopes, inertial measurement units (IMUs), infrared sensor systems, laser rangefinder systems, ultrasonic sensor systems, very low frequency sensor systems, microphones, any combination thereof, and / or other sensor systems. It should be understood that any number of sensors or sensor systems may be included as part of the computing system 450 of the vehicle 404.
[0080] While the vehicle computing system 450 is shown as comprising several components and / or systems, those skilled in the art will understand that the vehicle computing system 450 may comprise more or fewer components than those shown in Figure 4. For example, the vehicle computing system 450 may also comprise one or more input devices and one or more output devices (not shown). In some implementations, the vehicle computing system 450 may also comprise at least one processor and at least one memory having computer executable instructions executed by the at least one processor (for example, as part of the control system 452, infotainment system 454, communication system 458, and / or sensor system 456, or separately therefrom). The at least one processor communicates with and / or is electrically connected to the at least one memory (referred to as “coupled” or “communicatively coupled”). At least one processor may include, for example, one or more microcontrollers, one or more central processing units (CPUs), one or more field-programmable gate arrays (FPGAs), one or more graphics processing units (GPUs), one or more application processors (for example, for running or executing one or more software applications), and / or other processors. At least one memory may include, for example, read-only memory (ROM), random-access memory (RAM) (for example, static RAM (SRAM)), electrically erasable programmable read-only memory (EEPROM), flash memory, one or more buffers, one or more databases, and / or other memory. Computer executable instructions stored in or on at least memory may be executed to perform one or more of the functions or operations described herein.
[0081] Figure 5 shows an example of a computing system 570 for a user device 507. User device 507 is an example of a UE that may be used by an end user. For example, user device 507 may include a mobile phone, router, tablet computer, laptop computer, tracking device, wearable device (e.g., smartwatch, glasses, XR device, etc.), Internet of Things (IoT) device, and / or other devices used by a user to communicate over a wireless communication network. Computing system 570 includes software and hardware components that may be electrically or communicatively coupled (or otherwise communicate as appropriate) via bus 589. For example, computing system 570 includes one or more processors 584. One or more processors 584 may include one or more CPUs, ASICs, FPGAs, APs, GPUs, VPUs, NSPs, microcontrollers, dedicated hardware, any combination thereof, and / or other processing devices or systems. Bus 589 may be used by one or more processors 584 to communicate between cores and / or with one or more memory devices 586.
[0082] The computing system 570 may also include one or more memory devices 586, one or more digital signal processors (DSPs) 582, one or more SIMs 574, one or more modems 576, one or more wireless transceivers 578, an antenna 587, one or more input devices 572 (e.g., a camera, mouse, keyboard, touch-sensitive screen, touchpad, keypad, microphone, etc.), and one or more output devices 580 (e.g., a display, speaker, printer, etc.).
[0083] One or more wireless transceivers 578 can receive wireless signals (e.g., signal 588) via antenna 587 from one or more other devices, such as other user devices, vehicles (e.g., vehicle 404 in Figure 4 described above), network devices (e.g., base stations such as eNBs and / or gNBs, WiFi routers, etc.), and cloud networks. In some examples, the computing system 570 may include multiple antennas. The wireless signal 588 may be transmitted over a wireless network. The wireless network may be any wireless network, such as a cellular network or telecommunications network (e.g., 3G, 4G, 5G, etc.), a wireless local area network (e.g., a WiFi network), a Bluetooth® network, and / or other networks. In some examples, one or more wireless transceivers 578 may include an RF front end that includes one or more components, among other components, such as an amplifier, a mixer (also called a signal multiplier) for signal down-conversion, a frequency combiner (also called an oscillator) that provides the signal to the mixer, a baseband filter, an analog-to-digital converter (ADC), and one or more power amplifiers. An RF front-end can generally handle the selection of wireless signals and their conversion to baseband or intermediate frequencies, and can convert RF signals into the digital domain.
[0084] In some cases, the computing system 570 may include an encoding-decoding device (or codec) configured to encode and / or decode data transmitted and / or received using one or more wireless transceivers 578. In some cases, the computing system 570 may include an encryption-decoding device or component configured to encode and / or decode data transmitted and / or received by one or more wireless transceivers 578 (for example, according to AES and / or DES standards).
[0085] Each of the one or more SIMs 574 can securely store an IMSI number and associated key assigned to a user of the user device 507. As stated above, the IMSI and key may be used to identify and authenticate a subscriber when accessing a network provided by a network service provider or operator associated with one or more SIMs 574. One or more modems 576 can modulate one or more signals to encode information for transmission using one or more wireless transceivers 578. One or more modems 576 may also demodulate signals received by one or more wireless transceivers 578 in order to decode transmitted information. In some examples, one or more modems 576 may include 4G (or LTE) modems, 5G (or NR) modems, modems configured for V2X communication, and / or other types of modems. One or more modems 576 and one or more wireless transceivers 578 may be used to communicate data for one or more SIMs 574.
[0086] The computing system 570 may also include (and / or communicate with) one or more non-temporary machine-readable storage media or storage devices (e.g., one or more memory devices 586), which may include, but are not limited to, programmable, flash-updatable, and so on, local storage and / or network-accessible storage, disk drives, drive arrays, optical storage devices, RAM and / or ROM, and solid-state storage devices. Such storage devices may be configured to implement any suitable data storage, including, but are not limited to, various file systems, database structures, and so on.
[0087] In various embodiments, the functions may be stored in memory device 586 as one or more computer program products (e.g., instructions or code) and executed by one or more processors 584 and / or one or more DSPs 582. The computing system 570 may also include software elements (e.g., located in one or more memory devices 586), including other code such as an operating system, device drivers, executable libraries, and / or one or more application programs, which may comprise computer programs that implement the functions provided by various embodiments as described herein, and / or are designed to implement the methods and / or constitute a system.
[0088] In some implementations, a UE may be configured for Dual SIM Dual Active (DSDA) functionality. For example, a vehicle 404, a user device 507, and / or other UEs may be equipped with DSDA functionality. A UE with DSDA functionality may be equipped with at least two SIMs. In an example for one explanation, a vehicle and user device (e.g., a mobile device) with DSDA functionality may allow the vehicle and the vehicle's users (e.g., driver, passengers, etc.) and the user device to choose contracts with independent network operators (or providers), with each operator's contract associated with a specific SIM. For example, the vehicle may use a first operator (e.g., Verizon®) for wireless communication access, and the user device may use a second operator (e.g., ATT®) for wireless communication access.
[0089] In some cases, the DSDA function can support at least two active SIMs for a given vehicle, including an OEM SIM and a user SIM, such as those described above with respect to the vehicle computing system 450 in Figure 4. As stated above, the OEM SIM and / or user SIM may be used with one or more modems (e.g., modem 464 and / or other modems in the communication system 458 shown in Figure 4). In some implementations, the OEM SIM, user SIM, and vehicle modems may be part of the vehicle's TCU, or part of the TCU's NAD (e.g., part of the communication system 458 in Figure 4). As described above, the OEM SIM may store information that provides access to perform wireless communications for vehicle-based operations (e.g., for operations such as the eCall function, for communicating with the vehicle manufacturer for software updates, etc.). The OEM SIM supports a variety of critical services for the vehicle, including eCall for making emergency calls. The user SIM is used to provide wireless network access for the user's UE, in order to support user data connectivity, such as assisting with calls, messaging, and infotainment-related services.
[0090] DSDA allows the user SIM and vehicle modem to be used for wireless network access (e.g., for cellular connectivity) instead of the SIM and / or UE modem. For example, when within the vehicle's communication range, a user device (e.g., a mobile device) can connect to the vehicle via an interface (e.g., Bluetooth®, WiFi®, USB port, Lightning port, and / or other wireless or wired interfaces). Once connected, the communication unit of the user device can transfer wireless network access functionality from the user device to the vehicle's communication unit. The vehicle's communication unit can then initiate interaction with a base station to perform one or more wireless communication operations, among other things, such as assisting with calls and transmitting and / or receiving data (e.g., messaging, video, audio, etc.). As stated above, the “communication unit” of a device (e.g., a vehicle, user device, other UE, RSU, etc.) can be a TCU, NAD, modem, SIM, transceiver (or individual receiver and / or transmitter), any combination thereof, and / or other systems, devices, or components configured to perform wireless communication operations. In an example for one explanation, the user SIM (e.g., information stored on the SIM and / or the actual SIM card) of a user device (e.g., a mobile device) can be transferred to the vehicle's TCU NAD, and the vehicle's modem can then use the user SIM information to communicate with a wireless network operator on behalf of the user. In some examples, the user device may cease to communicate with the network operator's wireless network, while the vehicle's TCU NAD communicates with the network operator's wireless network.
[0091] DSDA offers various benefits to the vehicle user and user devices. For example, a vehicle may include a higher quality antenna (e.g., providing better signal and coverage) compared to one or more antennas on a user device (e.g., a mobile device) used by the user. In such an example, DSDA allows the user to utilize the higher quality antenna installed in the vehicle to acquire data, voice, and / or other communications. In another example, a car infotainment system (e.g., an infotainment system including a display, speakers, and other devices) may be used to output information acquired by the user device and / or the vehicle. Furthermore, power from the vehicle may be used to power user devices (e.g., to charge the device's battery) and / or to reduce the power consumption of the user device.
[0092] In some cases, automotive standards and / or automotive OEMs may require automotive-grade electronics to be able to withstand high temperatures (e.g., up to 120°C in some cases), including ambient temperatures and the temperature of circuit components (e.g., transistor junction temperatures, also known as junction temperatures). However, at extreme temperatures, vehicle communication units (e.g., wireless modems, TCUs, NADs, etc.) may have limited functionality. For example, if an automotive wireless modem reaches extreme ambient and / or junction temperatures (e.g., 95°C, 100°C, 105°C, 110°C, 115°C, 120°C, or other high temperatures), the modem may have to prioritize certain functions (e.g., emergency services such as eCall) so that it can continue to perform them without interruption. Continuing to perform lower-priority functions (e.g., V2X functions and / or user SIM-related services such as wireless access functions) may affect the performance of higher-priority functions by the vehicle communication unit. For example, by continuing to perform lower-priority functions, the vehicle communication unit may be unable to perform higher-priority functions because extreme temperatures would prevent all functions from running. In such cases, the modem may de-prioritize certain lower-priority functions, such as wireless access functions for user devices (e.g., using a user SIM and modem) and V2X functions, among others. In one example, the vehicle communication unit may stop performing wireless network access functions and / or V2X functions (e.g., performed using a user SIM) and continue performing emergency services such as eCall.
[0093] Problems can arise when a vehicle's communication unit stops performing certain functions based on reaching a specific temperature. For example, as mentioned above, a vehicle may lower the priority of a service or function related to a user SIM (e.g., wireless network access function) and prioritize other services (e.g., V2X function, emergency service, etc.), thereby shutting down the lower-priority service or function. In some cases, a vehicle may shut down these services without notifying the user and / or without transferring the service from the vehicle's communication unit to the user device's communication unit. Such scenarios can result in the abrupt termination of services related to the user SIM and the loss of context (e.g., V2X context and / or eCall context) that may be necessary to continue performing the service or function.
[0094] As described above, systems and techniques for performing enhanced thermal mitigation for one or more devices (e.g., one or more UEs) are described herein. In some cases, the systems and techniques may be implemented by a UE such as the vehicle 404 shown in Figure 4. The systems and techniques may refer to one or more temperature thresholds (or thermal levels) and / or temperature changes to determine whether to transfer various functions from one or more communication units of the vehicle to one or more communication units of a user device. The examples provided herein illustrate, for illustrative purposes, the transfer of services between a communication unit of a vehicle and a communication unit of a user device. Those skilled in the art will understand that the systems and techniques described herein may be used to transfer various functions between other types of devices (e.g., UEs, roadside units (RSUs), etc.) based on temperature thresholds. For example, in some implementations, a vehicle may transfer functions to an RSU, another vehicle, and / or other devices. It should also be understood that the temperatures of multiple communication units of a vehicle (or other UE) can be monitored, and the functions of various communication units can be reduced and / or transferred to and / or from one or more communication units of a user device (or other UE). In some cases, one or more other characteristics or factors, including the humidity of the communication unit, the amount of light to which the communication unit is exposed, the amount of ventilation to the communication unit, and / or other characteristics or factors, may be monitored in addition to or instead of temperature.
[0095] Vehicles can become hot in a variety of scenarios, including when processing a large number of messages (e.g., V2X messages), when operating for extended periods (e.g., several hours, several days, etc.), when driving in hot and / or sunny conditions, during accidents (e.g., car collisions), and / or other scenarios. For example, an automotive NAD (e.g., included as part of communication system 458) can become hot when the vehicle is processing a large number of messages, in a hot environment, and / or operating for extended periods. While the vehicle may be hot, user devices may be in a less harsh environment compared to the vehicle's environment (e.g., inside the vehicle), allowing them to continue performing certain operations or functions that may have lower priority when the vehicle is hot.
[0096] The vehicle may include a thermal mitigation system that can monitor the temperature of one or more of the vehicle's communication units and / or the load on the vehicle's communication units (for example, periodically or continuously). The vehicle's communication units may include a communication system 458 (which may include a TCU or TCU NAD as described above), a user SIM 462, an OEM SIM 460, a modem 464, any other modems and / or SIMs of the indicated communication system 458, and / or other components. The thermal mitigation system may be part of, or communicate with, the power management system 451, the communication system 458, the control system 452, the infotainment system 454, and / or other systems of the vehicle computing system 450.
[0097] One or more temperatures may include the ambient temperature of the communication unit, the temperature of the circuit components of the communication unit (e.g., junction temperature), and / or other temperatures. For example, a thermal mitigation system may monitor the ambient temperature of the communication unit and the junction temperature of the communication unit's components (e.g., transistors and / or other circuits) (e.g., by checking periodically and / or continuously). In some cases, one or more temperature sensors (e.g., thermistors) may be provided at various locations in the vehicle. For example, referring to Figure 4, a temperature sensor may be included as part of the vehicle computing system 450 or communicatively coupled to it, a temperature sensor may be included as part of the communication system 458 or communicatively coupled to it, and / or may be included as part of other components of the vehicle 404 or communicatively coupled to it. In some examples, multiple temperature sensors may be used to measure the temperature of the vehicle 404 (e.g., ambient temperature and / or junction temperature).
[0098] The load monitored by the thermal mitigation system may include, and / or based on, the amount of cellular data being transmitted and / or received by the vehicle's modems (e.g., modem 464 of communication system 458 and / or other modems in Figure 4), the amount of V2X sidelink communication being transmitted and / or received by communication system 458 (e.g., sending and / or receiving 5 messages per second versus 2500 messages per second), the amount of computing resources being used by the vehicle's communication units, and / or other factors. As described below, the load may be used for flow control (e.g., to determine whether to reduce or stop any operation performed by the vehicle's communication units).
[0099] The thermal mitigation system can detect whether the vehicle's communication unit has reached one or more temperature thresholds, whether a specific temperature change has occurred over a period of time (for example, whether a 10-degree Celsius rise has occurred in one hour), and / or whether other temperature-based conditions have occurred. In response to detecting that the vehicle's communication unit has reached a given temperature threshold and / or that a specific temperature change has occurred, the vehicle may reduce one or more functions and / or transfer one or more functions from the vehicle's communication unit to the user device's communication unit. As described above, the vehicle's communication unit may include a communication system 458 (e.g., a TCU or TCU NAD), an OEM SIM 460, a user SIM 462, a modem 464, any other modem of the communication system 458 in Figure 4, and / or other components or devices. The user device's communication unit may include a SIM 574, a modem 576, a wireless transceiver 578, and / or other components or devices.
[0100] In some examples, before or at the time of transferring one or more functions from the vehicle's communication unit to the user device's communication unit, the vehicle (e.g., communication system 458, infotainment system 454, and / or other components of the vehicle computing system 450) may output a notification indicating that the communication unit is hot (e.g., 95°C, 100°C, 105°C, 115°C, etc.) and that one or more communication functions or services may need to be transferred from the vehicle's communication unit to the user device's communication unit. In one example, the communication system 458 may cause the infotainment system 454 to display the notification as a visual message and / or output the notification as an audio message. In addition to displaying and / or outputting an audio message, haptic feedback may be output to the user (e.g., by vibrating one or more seats in the vehicle, the steering wheel of the vehicle, or other parts of the vehicle). In another example, a message may be sent to a user device by the vehicle's communication system (e.g., communication system 458), and the user device may display the message with a notification, output it as an audio message, and / or output it as haptic feedback (e.g., as vibration). In some examples, a displayed message or a displayed graphical element (e.g., a virtual button or icon) related to the message may be selectable by the user to indicate whether the user consents to transferring a particular function (e.g., wireless network access function, V2X function, emergency service function such as eCall) from the vehicle to the user device. Options may be selected by the user based on touch input provided using a touch-sensitive screen, based on voice input provided using a microphone, based on gesture recognition input, based on the vehicle's physical or mechanical control mechanism (e.g., as part of infotainment system 454), and / or using another type of input.The user can provide input indicating that they accept the migration of one or more functions (for example, by selecting a displayed option). Upon receiving the input, the vehicle computing system (for example, vehicle computing system 450) can ensure that one or more functions are migrated from the vehicle's communication unit to the user device's communication unit.
[0101] As shown above, functions that can be reduced and / or migrated from the vehicle to the user device may include one or more wireless access network functions (e.g., connecting to wireless networks such as 4G and 5G networks), one or more V2X functions, one or more emergency functions (e.g., eCall service), any combination thereof, and / or other functions. For example, in response to the vehicle (e.g., the vehicle's communication unit) detecting that it has reached a given temperature threshold or that a temperature change has occurred within a certain period, the vehicle may migrate the network access function from the vehicle's communication unit (e.g., communication system 458, user SIM 462, OEM SIM 460, and / or modem 464) to the user device's communication unit (e.g., SIM 574, modem 576, and / or wireless transceiver 578). In an example for one explanation, the network access function may be migrated from the vehicle's user SIM 462 to the user device's SIM 574. In some cases, the vehicle's communication unit may transmit or send a command to the user device's communication unit to initiate the execution of the wireless network access function. In response to receiving the command, the user device's communication unit may initiate the execution of the wireless access function. In some cases, the vehicle's infotainment system (e.g., infotainment system 454) may continue outputting content after the network access function has been transferred from the vehicle's communication unit to the user device's communication unit.
[0102] In other examples, based on reaching different temperature thresholds and / or temperature changes, the vehicle's V2X functionality can be reduced and / or migrated to the user device, one or more emergency functions (e.g., eCall service) can be migrated to the user device, and / or other operations can be performed. An example of a thermal mitigation framework is described below in relation to Figure 6.
[0103] In some cases, the temperature associated with one communication unit in a vehicle can be used as a trigger to determine when to reduce the functionality of another communication unit and / or when to transfer it from the vehicle to the user device. For example, the temperature of a TCU can be used to determine when to transfer the functionality of a vehicle's modem to the user device's modem.
[0104] Figure 6 shows an example of a thermal mitigation framework 600 that a vehicle's computing system (e.g., the vehicle's computing system 450 in Figure 4) can use to determine when to implement a certain level of mitigation. The thermal mitigation framework 600 is described in relation to the vehicle's communication unit and the communication unit of a user device (e.g., a mobile device, tablet device, wearable device, XR device, and / or other device). However, in some cases, the temperature of one or more communication units can be monitored, and the functions performed by one or more communication units can be offloaded to one or more communication units of the user device. As mentioned above, the vehicle's communication unit may include a communication system 458 as a whole (e.g., a TCU or TCU NAD), or may include a modem 464, a user SIM 462, and / or an OEM SIM 460. Also as mentioned above, the user device's communication unit may include a SIM 574, a modem 576, and / or a wireless transceiver 578.
[0105] When the vehicle is powered and the user device is within the vehicle's communication range, the user device can connect to the vehicle via an interface (e.g., via a WiFi® DSRC interface, a Bluetooth® interface, a 3GPP Sidelink PC5 interface, a USB port, a Lightning port, and / or other wireless or wired interfaces). Once a successful connection is established, the user device can send a request to the vehicle asking the vehicle to perform certain functions, such as wireless network access functionality for the user device. The vehicle may accept the request, based on factors such as recognizing and / or authenticating the user device. The communication unit of the user device can transfer the wireless network access functionality from the user device's communication unit to the vehicle's communication unit. The vehicle's communication unit can then begin performing the wireless network access functionality to provide wireless network access for the user device and enable the user to utilize a user SIM (e.g., user SIM 462), a modem (e.g., modem 464 of communication unit 458 in Figure 4 and / or other modems), and / or the vehicle's antenna. The vehicle's communication unit can perform a variety of operations for the user device, including, among other things, assisting with calls and transmitting and / or receiving data (e.g., messaging, video, audio, etc.).
[0106] As shown in Figure 6, different thermal levels are associated with different mitigation levels. Each mitigation level involves migrating and / or modifying one or more functions of the vehicle's computing system (e.g., the vehicle computing system 450 in Figure 4) to a user device. The thermal mitigation framework 600 shown in Figure 6 provides an example for describing various thermal levels that can be used as temperature thresholds for determining when to perform a particular mitigation level. Those skilled in the art will understand that other mitigation techniques may be performed based on thermal levels other than those shown in Figure 6.
[0107] As shown, when a vehicle's communication unit is operating within its normal operating thermal range 612, the communication unit can perform a variety of functions without reducing any functions and / or transferring any functions to a user device. In some cases, the vehicle may reduce and / or transfer certain functions even when it is within its normal operating thermal range 612. For example for one explanation, the normal operating thermal range 612 may include a temperature range from 0°C to 95°C. Any other suitable range may be used as the normal operating thermal range 612. Functions performed within the normal operating thermal range 612 may include, among other things, eCall and / or other emergency services, V2X functions, and wireless network access functions.
[0108] The first temperature threshold is denoted as thermal level 614, the second thermal threshold as thermal level 616, and the third thermal threshold as thermal level 618. Thermal level 618 is higher than thermal level 616, and thermal level 616 is higher than thermal level 614. For example, thermal level 614 can include temperatures of 95°C, thermal level 614 can include temperatures of 105°C, and thermal level 614 can include temperatures of 115°C. Any other values between thermal levels 614 and 618 can be used.
[0109] The thermal mitigation system can detect whether the vehicle's communication unit has reached one or more temperature thresholds associated with thermal levels 614, 616, and 618. For example, the thermal mitigation system may determine that the temperature of the vehicle's communication unit (e.g., ambient temperature and / or junction temperature) has reached thermal level 614, and therefore the temperature is above a first temperature threshold. In response to the temperature being above the first temperature threshold, the vehicle (e.g., the communication unit or other component of the vehicle computing system) may perform operations according to mitigation level 615.
[0110] In accordance with mitigation level 615, a vehicle (e.g., a communication unit or other component of the vehicle computing system) may transfer wireless network access functionality from the vehicle's communication unit to the user device's communication unit. For example, the vehicle may transmit or send a command to the user device to initiate the use of the user device's communication unit to perform wireless network access functionality. The user device's communication unit may, in response to receiving the command, begin performing wireless access functionality. As mentioned above, in some examples, the user device's communication unit may include a wireless modem (e.g., modem 576). In such examples, the modem may initiate communication with a network entity (e.g., eNB, gNB, etc.) of a wireless network access service provider associated with the user device's user SIM (e.g., SIM 574) to obtain a wireless network connection.
[0111] In some cases, the transition of wireless network access functionality from the vehicle's communication unit to the user device's communication unit may be seamless and transparent from the user's perspective. For example, when wireless network access functionality is performed by the vehicle's communication unit, data acquired from the network by the vehicle's communication unit may be output by the vehicle (e.g., displayed using the vehicle's infotainment system or otherwise output). When the transition of wireless network access functionality from the vehicle's communication unit to the user device's communication unit is successful, data acquired from the network by the user device's communication unit may continue to be output by the vehicle without interruption. For example, data may be provided by the user device's communication unit to the vehicle's infotainment system (or other system or component) via a wireless connection (e.g., via Bluetooth®, WiFi®, or other wireless interfaces) and / or via a wired connection (e.g., using a USB interface, serial interface, Lightning interface, or other wired connection).
[0112] In some examples, to enable a seamless transition of wireless network access functionality from the vehicle's communication unit to the user device's communication unit, the vehicle's communication unit can continue performing services that it was in the process of performing (e.g., calls, streaming of media such as video or audio) when it reaches a heat level of 614. The vehicle's communication unit can initiate the unregistration of the communication unit from the network operator associated with user SIM 462. The communication unit can also register the user device's communication unit with the network operator associated with SIM 574, or send a command to the user device to register it. In one example, AMF 264 in Figure 2B may be used to authenticate the SIM information of SIM 574 (e.g., subscriber or user crypto-decryption key) to enable user device 507 to access the network provided by 5GC 260. Once the user device's communication unit is registered with the network operator, the vehicle's communication unit can cease performing services. In some implementations, a user device can transfer a call from the vehicle's communication unit (e.g., a communication system 458 which may include a TCU NAD as described above) to the user device's communication unit using pull mode (for example, as described in 3GPP Technical Specification (TS) 24.337).
[0113] In some cases, according to mitigation level 615, the vehicle (e.g., the communication system 458, the infotainment system 454, and / or other components of the vehicle computing system 450) may output a notification for the user. The notification may provide the user with a warning that a service may need to be transferred from the vehicle to the user's user device (e.g., a mobile device). For example, the vehicle may output a notification informing the user that the communication unit is hot (based on having reached or exceeding heat level 614) and that wireless network access functionality may need to be transferred, or will be transferred, from the vehicle communication unit to the user device communication unit. The notification may be displayed (e.g., on the vehicle's display devices and / or the user device's display), output as audio (e.g., using one or more speakers in the vehicle and / or the user device), and / or output as haptic feedback in the vehicle (e.g., by vibrating one or more seats, steering wheel, etc.) and / or to the user device (e.g., by vibrating the user device).
[0114] In some cases, options may be output to allow the user to accept or reject the transfer of wireless network access functionality to the user device communication unit. In one example, the selectable options may be displayed on the vehicle's display and / or the user device's display. In another example, the message may be output as audio using one or more speakers in the vehicle and / or one or more speakers in the user device. The user can provide input indicating whether they accept or reject the transfer of wireless network access functionality to the user device's communication unit. The input may include touch input (e.g., by selecting a message displayed on a touchscreen display), voice input, gesture-based input, input based on the vehicle's physical or mechanical control mechanism (e.g., as part of the infotainment system 454), and / or other types of input. If the user accepts the transfer of functionality, the vehicle may send a command to the user device to use the user device's communication unit to perform the wireless network access functionality.
[0115] In some cases, the vehicle may transfer the wireless network access function to the user device communication unit without first issuing a notification indicating that the wireless network access function will be transferred to the user device communication unit. In such cases, when the thermal level reaches 614, the vehicle may transfer the wireless network access function from the vehicle's communication unit to the user device's communication unit.
[0116] In some examples, the vehicle may perform other operations, such as flow control, according to mitigation level 615. The vehicle may perform flow control by reducing or stopping any operation performed by the vehicle's communication unit. As stated above, the vehicle may use a load determined by the thermal mitigation system to determine any function performed by the communication unit. For example, the vehicle may use the load to determine whether to reduce and / or stop the vehicle's communication unit from performing any operation. In an example for one explanation using a modem as an example of the vehicle's communication unit, the control system 452 and / or the communication system 458 may cause the modem to change the modulation scheme being used to a less complex (and therefore less computationally intensive) modulation scheme, such as switching from a 256 quadrature amplitude modulation (256QAM) modulation scheme to a 64QAM modulation scheme. In another example, the communication system 458 may switch from using a 5G modem (e.g., modem 464 or other modem in communication system 458 in Figure 4) to using a 4G modem (e.g., modem 464 or other modem in communication system 458 in Figure 4).
[0117] If the temperature of the vehicle's communication unit drops below thermal level 614, the vehicle and / or user device may revert network access functionality back to the vehicle. For example, the vehicle may send a command or notification to the user device indicating that the vehicle's communication unit is able to perform network access functionality. The user device may automatically stop performing network access functionality and / or output selectable options to the user, allowing the user to accept or reject the transfer of network access functionality back to the vehicle.
[0118] Migrating network access functionality from the vehicle to the user device can bring about various benefits. For example, migrating network access functionality from the vehicle to the user device can reduce resource usage by the vehicle's communication system (e.g., communication system 458), allowing the communication system to continue providing mission-critical or high-priority services such as V2x, eCall, and / or other high-priority services. The communication system can also continue to function for longer periods at higher temperatures (e.g., temperatures above thermal level 614). Migrating network access functionality from the vehicle to the user device can also provide continuous service for the user, thus avoiding abrupt service interruptions (e.g., avoiding disconnections of calls, media presented by the vehicle's infotainment system, etc.). As mentioned above, the vehicle's infotainment system (e.g., infotainment system 454) can continue outputting content when network access functionality is migrated from the vehicle's communication unit to the user device's communication unit.
[0119] The thermal mitigation system can also determine whether the temperature of the vehicle's communication unit, such as the ambient temperature and / or junction temperature, has reached thermal level 616, and therefore whether the temperature is above a second temperature threshold. Based on the temperature being above the second temperature threshold, the vehicle (e.g., the communication unit or other component of the vehicle computing system) can perform operations according to mitigation level 617. According to mitigation level 617, the vehicle (e.g., the communication unit or other component of the vehicle computing system) can reduce its V2X functionality and / or migrate it from the vehicle's communication unit to the user device's communication unit. For example, the duty cycle of V2X messaging (e.g., the rate of sending and / or receiving V2X messages) can be reduced before fully migrating the V2X functionality to the user device, as described below.
[0120] Figure 7 is a flowchart illustrating an example of a process 700 for migrating V2X functionality from a vehicle's communication unit to a user device's communication unit. In operation 720, the thermal mitigation system can monitor the thermal level of the communication unit (for example, by continuously or periodically checking the ambient temperature and / or junction temperature) and determine that thermal level 616 has been reached or is met. In an example for one explanation, the thermal mitigation system may determine in operation 720 that the temperature of the communication unit has reached a temperature of 105°C.
[0121] In operation 722, the vehicle (e.g., the communication system 458) can determine whether migrating the V2X service to a user device would help reduce the resource usage of the communication unit. Various factors may be used to determine whether migrating the V2X functionality to a user device would reduce resource usage. For example, the vehicle can determine the number of V2X messages (e.g., V2V, V2I, and / or V2P messages) that are being received and / or received over a period of time (e.g., over the last hour, 30 minutes, 15 minutes, etc.). In another example, the vehicle can determine the number of other vehicles near the vehicle (e.g., within a radius of 1 mile, within a radius of 2 miles, within a radius of 5 miles, etc.), which can indicate the potential number of V2X messages to be received. In some cases, one or more sensors (e.g., one or more sensor systems 456) may be used to determine the number of vehicles around the vehicle. For example, one or more cameras, GPS sensors, IMUs, LiDAR sensors, radar sensors, infrared sensors, and / or other sensors may be used to detect the presence of other vehicles around the vehicle. In such cases, if the number of received messages is small and / or if there are few vehicles near the vehicle (indicating that a small number of V2X messages are likely to be received), the vehicle may determine in operation 722 that migrating the V2X functionality would not be useful in reducing the load on the communication unit. In operation 723, the vehicle communication unit may continue to perform the V2X functionality and / or reduce the V2X functionality performed by the vehicle (as will be described in more detail below). In some cases, operation 723 may include performing additional flow control, such as changing to a less complex modulation scheme, migrating from using a 4G modem to using a 3G modem, and / or performing other flow control techniques.
[0122] If the vehicle determines that there is a large number of messages received and / or a large number of vehicles near it (indicating a high probability of receiving a large number of V2X messages), the vehicle may determine in operation 722 that migrating the V2X functionality would help to significantly reduce resource usage by the communication unit. In operation 724, the vehicle may determine whether the user device is capable of performing V2X functionality. For example, the vehicle may determine whether the user device is capable of performing security-related V2X functionality (e.g., whether the user device is equipped with a hardware security module (HSM), whether it has a valid certificate used to sign V2X messages, whether it is possible to verify the signature of received V2X messages, etc.), whether the user device supports PC5 sidelink communication (or communication via another device-to-device direct interface such as the DSRC interface), and / or other V2X-related requirements. In some cases, the communication system 458 (which may include the TCU NAD) may communicate with the user device to determine whether the user device is capable of performing V2X functionality. In one example for explanation, the communication system 458 may send a message (e.g., via a PC5 interface, a WiFi interface such as DSRC, a Bluetooth® interface, a wired interface, etc.) requesting the user device to indicate whether the user device has V2X capabilities. In response, the user device may send a response message indicating whether the user device has V2X capabilities or not. In operation 723, if the vehicle determines that the user device does not have V2X capabilities, the communication unit may continue to perform V2X capabilities and / or reduce the V2X capabilities performed by the vehicle.
[0123] If the vehicle determines that a user device has V2X capabilities, the vehicle may transfer the V2X capabilities from the vehicle's communication unit to the user device's communication unit. In some cases, the vehicle may send a notification to the user device indicating that a V2X transfer will be performed. In some cases, the user may be given the option to accept or reject the V2X transfer to the user device. In operation 726, the vehicle's communication system 458 may transfer the V2X context to the user device. In some examples, the V2X context may include the vehicle's vehicle identifier (ID) (e.g., a temporary ID assigned by ITS 455), Car Access Network (CAN) information, infotainment system information, the vehicle's security context (as described above), and / or other information. The V2X context enables the user device to act as a V2X proxy device for the vehicle by sending and receiving V2X messages for the vehicle. For example, the vehicle ID may be included in the message to identify that the message is being sent by the user device on behalf of the vehicle. As described above, CAN information can include vehicle-related information such as vehicle orientation, vehicle speed, and braking information. CAN information can be provided to a user device continuously or periodically (e.g., every millisecond (ms), every 10ms, etc.) and can be used by the user device to determine when to generate one or more V2X messages and / or when to perform one or more V2X-based operations. For example, infotainment information may be used to enable a user device to output some notification to an infotainment system (e.g., using one or more displays, speakers, and / or other output devices of the infotainment system).
[0124] In operation 728, the vehicle transfers V2X functionality from the vehicle's communication unit to the user device's communication unit. For example, the user device can begin receiving V2X messages from other vehicles, pedestrian user devices, and / or infrastructure systems within the communication range of the user device's antenna. The user device can switch from a “pedestrian” profile (for example, used for vehicle-to-pedestrian (V2P) communication) to a “vehicle” profile before beginning to send V2X messages on behalf of the vehicle. In some cases, the “vehicle” profile may include the V2X context information described above. By using the “vehicle” profile, the user device can send V2X messages that are recognized by other vehicles, pedestrian user devices, and / or infrastructure systems as being related to the vehicle. Once the transfer is complete, the vehicle's communication unit can stop sending V2X messages, and the user device's communication unit can begin sending V2X messages to vehicles, pedestrian user devices, and / or infrastructure systems within the communication range of the user device's antenna. User devices can also perform security-based V2X operations, such as verifying (e.g., decrypting) V2X messages received from other vehicles, and determining what actions to take based on the verified messages (e.g., adjusting lanes with other vehicles, displaying a message to warn the driver to stop the vehicle).
[0125] In some cases, a gradual or incremental migration of V2X functionality from the vehicle to the user device may be performed. The level of V2X functionality migration may depend, among other factors, on the current thermal level or temperature of the vehicle's communication unit (for example, if a higher temperature is detected, more V2X functionality may be migrated to the user device), the current and / or expected number of V2X messages received by the vehicle (for example, based on the number of recently received and / or currently received V2X messages, based on the number of other vehicles near the vehicle, based on whether the vehicle is moving or periodically parked, etc.).
[0126] For example, the lowest level of V2X functionality that can be migrated to a user device in operation 728 may include only V2X modem functionality. Modem functionality may include sending and / or receiving V2X messages. For example, by migrating only V2X modem functionality to a user device, the vehicle communication unit can generate V2X messages and send them to the user device for transmission to other vehicles, pedestrian user devices, and / or infrastructure systems. The user device can also receive V2X messages from other vehicles, pedestrian user devices, and / or infrastructure systems and send the received V2X messages to the vehicle communication unit for processing.
[0127] Intermediate levels of V2X functionality that can be migrated to the user device in operation 728 may include V2X modem functionality and V2X security verification functionality. For example, in addition to receiving and sending V2X messages from other vehicles, pedestrian user devices, and / or infrastructure systems, the user device's communication unit may perform verification of received V2X messages. Verification may require a large amount of processing resources, such as using a large amount of processing resources (e.g., digital signal processor (DSP) cores and / or highly reduced instruction set computer (RISC) machine (ARM) cores) for message verification. Due to the large amount of processing required for verification, migrating the verification functionality from the vehicle to the user device can offload the large amount of computing resources required by the vehicle's communication unit. In some cases, a secure handshake may be required between the vehicle's communication unit and the user device's communication unit before the user device's communication unit can begin V2X message verification.
[0128] The complete level of V2X functionality that can be migrated to a user device in operation 728 may include all V2X modem functionality. For example, a complete set of V2X functionality may include modem functionality, V2X security verification functionality, security signing functionality, and Intelligent Transportation Systems (ITS) stack functionality. Security signing functionality may include signing V2X messages before they are sent to other vehicles, pedestrian user devices, and / or infrastructure systems. Signing can enable V2X messages to be securely sent and verified only by authorized devices. As described above, ITS stack functionality may include determining safety-related actions and / or other actions to be performed. For example, the actions could include, among other things, causing the vehicle (e.g., control system 452) to perform automatic functions (e.g., automatic braking, automatic steering for maintaining direction in a particular lane, automatic lane change adjustment with other vehicles), triggering the display of a message warning the driver that there is another vehicle in the lane next to the vehicle, triggering the display of a message warning the driver to stop the vehicle, triggering the display of a message warning the driver that there is a pedestrian at a crosswalk ahead, or triggering the display of a message warning the driver that a toll booth is within a certain distance (e.g., within 1 mile) from the vehicle. Once the full level of V2X functionality is transferred to the user device's communication unit, the user device can use the vehicle infotainment system (e.g., to display and / or output security-related messages, operation-related messages, and / or other information via one or more displays and / or speakers), and / or use the user device's displays and / or speakers.
[0129] In some implementations as described above, the vehicle may reduce the V2X functionality of the vehicle communication unit based on the communication unit reaching or exceeding a specific temperature threshold (e.g., a threshold related to thermal level 616). For example, the V2X functionality of the vehicle communication unit may be reduced before migrating some or all of the V2X functionality to the user device. In other examples, the vehicle's V2X functionality may be reduced in response to the decision in operation 722 that migrating the V2X service to the user device would help reduce the resource usage of the vehicle communication unit, and / or in response to the decision in operation 724 that the user device does not have V2X capabilities. Reducing the vehicle's V2X functionality can reduce the amount of computing resources required by the communication unit to perform V2X operations.
[0130] In some cases, V2X functionality can be reduced by lowering the duty cycle of V2X messaging. For example, if modem 464 is used as an example of a vehicle communication unit (modem 464 may be used to send and receive V2X messages), communication system 458 can dynamically change the V2X duty cycle of modem 464 to reduce the thermal impact of V2X operation on modem 464.
[0131] The V2X duty cycle refers to the transmission rate at which a vehicle communication unit sends V2X messages, and / or the processing rate at which the communication unit processes V2X messages received from other vehicles, pedestrian user devices, and / or infrastructure systems. For one illustrative example, the duty cycle (or transmission rate) for V2X transmission during normal operating conditions (e.g., for temperatures within the normal operating thermal range 612) may be 10 Hz, in which case the vehicle's communication unit transmits 10 V2X messages per second. For another illustrative example, the duty cycle (or processing rate) for V2X reception during normal operating conditions may be 100%, in which case the vehicle listens to messages for 100% of the time and / or processes all received messages. If the vehicle's communication unit reaches or exceeds a temperature threshold (e.g., thermal level 616), various factors may be used to determine how to adapt the V2X duty cycle (e.g., transmission rate, message processing rate, etc.) to mitigate the thermal impact on V2X operation. In some implementations, the vehicle may reduce the V2X duty cycle regardless of the current temperature of the communication unit, for example, when it is within the normal operating thermal range 612, or when it reaches any of the thermal levels 614-618 (or other thermal levels). The duty cycle can be reduced to any appropriate amount. In one example for explanation, the transmit duty cycle may be reduced from 10 Hz to 5 Hz. In another example for explanation, the receive duty cycle may be reduced from 100% to 50%, in which case the vehicle listens to messages for half the time.
[0132] Factors used to determine whether to reduce the V2X duty cycle may, among other things, be based on the demand for V2X messages, the reliability of the location determined for the vehicle, the vehicle's ability to maintain a certain distance from other vehicles (e.g., 10 feet, 15 feet, 20 feet, or other distances), whether the vehicle is stationary, whether the vehicle is regularly stopping within a period of time (e.g., in stop-and-go scenarios such as traffic congestion), whether the vehicle is moving at a particular speed, and the level of certainty of sensor data (e.g., the level of certainty of objects detected by one or more cameras on the vehicle). For example, the factors described above for determining whether migrating V2X functionality to a user device would reduce resource usage can also be used to determine when to reduce the duty cycle for V2X messaging. As described above, such factors may include the number of V2X messages (e.g., V2V, V2I, and / or V2P messages) that have been received and / or received over a period of time, the number of other vehicles near the vehicle, and / or other factors. For example, one or more sensor systems 456 may be used to determine that a vehicle is traveling in an area with few vehicles (e.g., fewer than 100 vehicles within a radius of 1 mile, or other numbers). In another example, it may be determined that a vehicle is in a stop-and-go scenario where the vehicle is stationary or not moving at high speed. In such cases, fewer messages may be generated and transmitted (e.g., by the ITS 455 of the vehicle computing system 450) due to the reduced need to communicate with other vehicles, pedestrian user devices, and / or infrastructure systems.
[0133] In some examples, the duty cycle may be increased after being decreased based on one or more of the factors described above, such as when more vehicles are detected around the vehicle, when the vehicle's speed increases, when more V2X messages are coming in (e.g., from other vehicles, from pedestrian UE devices, and / or infrastructure systems), and / or in other scenarios. In an example for one explanation, a small truck may be detected (e.g., based on object detection and / or recognition) in one or more images captured by a front-facing camera in front of the vehicle. In subsequent images captured by the front-facing camera, the truck may not be detected, resulting in a decrease in the certainty level of object detection and / or recognition. In response to the decrease in certainty level, the duty cycle may be increased (e.g., from 5Hz to 10Hz) to exchange more V2X messages with that truck and / or other vehicles near the vehicle.
[0134] In some examples, various frequencies within the duty cycle range may be selected for V2X operation based on various factors. For example, when various factors indicate that a large number of messages need to be sent (e.g., there are more than 1000 vehicles near the vehicle), the transmit duty cycle may be set to 10 Hz. If the demand for the number of messages decreases to a small amount (e.g., there are fewer than 10 vehicles near the vehicle), the transmit duty cycle may be lowered to 2 Hz. If the demand then increases to a certain amount (e.g., there are 100 to 500 vehicles near the vehicle), the transmit duty cycle may be raised to 5 Hz. Using such techniques, the transmit and / or receive duty cycles of V2X messaging can be dynamically adjusted based on various factors described herein.
[0135] As mentioned above, in some cases, a vehicle can reduce its V2X duty cycle at any time without requiring a temperature threshold to be met (for example, when it is within the normal operating thermal range 612, or when it reaches thermal levels 614-618 or any other thermal level). For example, a vehicle can reduce its V2X duty cycle when in a stop-and-go scenario based on the number of V2X messages (e.g., V2V, V2I, and / or V2P messages) received and / or received over a period of time, based on the number of other vehicles near the vehicle, and / or other factors.
[0136] If the temperature of the vehicle communication unit drops below thermal level 616, the vehicle and / or user device may revert the V2X functionality back to the vehicle (for example, immediately or gradually as described above).
[0137] Migrating some or all of the V2X functionality from the vehicle to the user device offers several advantages. For example, V2X allows the vehicle to perform safety-related and other operations (e.g., issuing one or more warnings to the vehicle's driver, or having the vehicle perform automatic functions such as automatic braking). If V2X operation is interrupted at higher temperatures (e.g., above thermal level 616), the safety and operation of the vehicle and other vehicles may be jeopardized. Migrating some or all of the V2X functionality from the vehicle to the user device can ensure that safety-related and other operations can be performed even at higher temperatures. A V2X-enabled user device should be able to continue V2X operation in the event of an emergency shutdown of the communication system, modem, and / or other communication units in the vehicle, because the user device is typically in a less harsh environment compared to the vehicle's environment (e.g., inside the vehicle). Furthermore, the user device can indicate to neighboring vehicles that it is being used as a V2X proxy device for the vehicle, which can provide any necessary notifications to other vehicles.
[0138] In some cases, the thermal mitigation system can determine whether the temperature of the vehicle communication unit (e.g., ambient temperature and / or junction temperature) has reached thermal level 618 and, therefore, whether the temperature is above a third temperature threshold. In response to the temperature being above the third temperature threshold, the vehicle (e.g., the communication unit or other component of the vehicle computing system) may perform operations according to mitigation level 619. According to mitigation level 619, the vehicle (e.g., the communication unit or other component of the vehicle computing system) may migrate all remaining services or functions to the vehicle's communication unit, except for one or more emergency services such as eCall. In some examples, the vehicle may migrate some emergency service or function, such as eCall, when certain conditions occur. In an example for one explanation, the vehicle may migrate eCall or other emergency services to the user device's communication unit when a shutdown of the power management system 451 (e.g., PMIC) is to be performed. While the example uses eCall as an example of an emergency service as described herein, those skilled in the art will understand that other emergency services and / or functions may be migrated according to the techniques described herein.
[0139] Figure 8 is a flowchart illustrating an example of a process 800 for transferring emergency functions from the vehicle's communication unit to the user device's communication unit. In operation 830, the thermal mitigation system can continuously or periodically monitor the thermal level of the vehicle's communication unit and determine that thermal level 618 has been met or exceeded. In operation 832, the thermal mitigation system can determine whether a shutdown of the power management system (e.g., power management system 451, which may include a PMIC) is imminent. In an example for one explanation, the power management system 451 may have a maximum operating temperature of 120°C, after which the power management system 451 will shut down. The thermal mitigation system may determine that the temperature of the communication unit is within a threshold temperature range (e.g., 5°C) from the maximum operating temperature (e.g., the communication unit has reached a temperature of 115°C), and is therefore close enough to the maximum operating temperature of 120°C to indicate an imminent shutdown of the power management system 451. If the thermal mitigation system determines in operation 832 that a power outage is not imminent (for example, the communication unit is below a thermal level of 618, or the power management system 451 is not within the threshold temperature range from its maximum operating temperature), the vehicle may continue to perform emergency operations in operation 833. For example, the OEM SIM 460 of the communication system 458 may continue to perform emergency operations.
[0140] If the thermal mitigation system determines in operation 832 that a power outage is imminent, the vehicle may determine in operation 834 whether the user device has DSDA capability (for example, whether the user device can provide OEM SIM services such as eCall in addition to user SIM services). For example, the vehicle communication system 458 may communicate with the user device to determine the user device's DSDA capability. In one example for explanation, the communication system 458 may send a message to the user device requesting the user device to indicate to the vehicle whether the user device has DSDA capability. In response, the user device may send a response message indicating whether or not the user device has DSDA capability.
[0141] If the vehicle determines that it can provide OEM SIM services because the user device has DSDA capabilities, the migration of the OEM SIM to an available slot on the user device may be initiated in operation 836. In one example for explanation, the vehicle may migrate the OEM SIM profile (including, for example, the OEM SIM context) to the user device via a communication link or interface (e.g., a WiFi interface, a Bluetooth® interface, a wired interface, etc.). In another example, the OEM SIM may be physically inserted into a physical slot on the user device.
[0142] In operation 837, the communication unit of the user device may register the OEM SIM from the user device. This registration may be performed so that the user device can act as a proxy device for the vehicle and so that any eCall made using the eCall service can be recognized as originating from the vehicle rather than the user device. For example, the OEM SIM context of the OEM SIM profile may be transferred to the user device so that an OEM application (e.g., installed in the vehicle and / or user device) can communicate with the user device to initiate an eCall or other emergency service. The OEM application may include the eCall application or other applications (e.g., run by the vehicle's application processor) that can be used to run emergency functions. For example, the OEM application may have a graphical user interface that can present the user with the option to make an eCall or run any other emergency function. In some examples, the OEM application may automatically make an eCall (or run any other emergency function) without user input in response to detecting the occurrence of an accident, for example. The OEM SIM context may include one or more Emergency Response Agency (PSAP) addresses (which may be used to route calls to emergency centers such as police dispatchers), the Vehicle Identification Number (VIN) of a vehicle registered with the eCall service, CAN information, and / or other information. The OEM SIM context information may be used by a user device to make an eCall (for example, by dialing a PSAP address) and / or to identify a vehicle as the source of a call made in accordance with the eCall service.
[0143] If the vehicle determines that the user device does not have DSDA functionality, process 800 may transfer the context of the eCall procedure to the user device in operation 838. For example, the vehicle may send some information related to the OEM SIM context (e.g., one or more PSAP addresses) to the user device in operation 838. For example, the vehicle's communication unit may initiate the transfer of the context (e.g., PSAP addresses) of the user device to the communication unit so that the user device's modem (e.g., modem 576) can make an eCall using the eCall context (e.g., using PSAP addresses).
[0144] eCall can be performed using various techniques. For example, a user can perform an eCall manually, such as by using the vehicle's user interface (e.g., the graphical user interface of the vehicle's infotainment system). In another example, a vehicle can perform an eCall automatically. For example, a vehicle may detect that it has been in an accident (e.g., using one or more sensor systems 456) and automatically make a call in response to the detection of the accident. If the thermal level reaches or exceeds 618 and the eCall function is transferred to the user device, the user can perform an eCall manually, and / or the user device may use one or more sensor systems on the user device to detect an emergency situation (e.g., an accident) and perform an eCall automatically. One or more sensor systems may include external sensors communicating with the user device (e.g., XR devices, wearables such as smartwatches, etc.) and / or internal sensors on the user device (e.g., one or more accelerometers, gyroscopes, magnetometers, GPS sensors, proximity sensors, IMUs, ambient light sensors, microphones, etc.).
[0145] If the temperature of the vehicle communication unit falls below thermal level 618, the vehicle and / or user devices may revert emergency functions to the vehicle (for example, by returning the OEM SIM to the vehicle's slot, returning the eCall context to the vehicle, etc.).
[0146] Migrating emergency services (e.g., eCall) from the vehicle to the user device allows emergency services to continue to be used on the user device even in high-temperature conditions (e.g., particularly in hot environments, when an accident occurs). For example, eCall is a critical safety feature and may be critically important to provide uninterrupted eCall support. In some situations (e.g., extremely high temperatures, when a major accident occurs, and / or in other situations where the power management system fails), the modem used for emergency services may shut down, making eCall services unavailable. Migrating eCall services and / or other emergency services from the vehicle's communication unit to the user's phone's communication unit can provide the necessary redundancy so that emergency services can continue.
[0147] As stated above, the various thermal and mitigation levels described with respect to Figure 6 are given for illustrative purposes only. Other mitigation techniques may be implemented based on thermal levels other than those shown in Figure 6. For example, in one alternative example, the thermal mitigation framework may reduce the V2X functionality and / or switch from the vehicle to the user device when the thermal level reaches 614, rather than waiting until the thermal level reaches 616. In another example, the vehicle may, in some cases, prioritize wireless network access functionality over V2X operation. In such a case, the vehicle may reduce the V2X functionality and / or switch the V2X functionality from the vehicle to the user device when the thermal level reaches 614, and switch the wireless network access functionality to the user device when the thermal level reaches 616.
[0148] In some cases, a vehicle may stop using or shut down certain systems in response to a communication unit detecting that a certain thermal level has been reached. For example, the power management system 451 and / or infotainment system 454 of the vehicle computing system 450 may shut down one or more displays when they receive an indication that the vehicle's communication unit has reached a thermal level 614 or is within a threshold range of reaching a thermal level 614. In some cases, a system may shut down before transferring one or more of the functions described above from the vehicle to a user device.
[0149] In some examples, in addition to those shown in Figure 6, various other temperature thresholds may be used to determine when to perform certain actions. For example, one or more additional temperature thresholds may be associated with one or more thermal levels between thermal level 616 and thermal level 618. In an example for one explanation, thermal level 616 may be used as a temperature threshold to determine when to reduce the V2X functionality and / or when to stop using any system in the vehicle (e.g., one or more systems related to the infotainment system 454, such as one or more displays, a navigation system, and / or other systems). Additional temperature thresholds (not shown in Figure 6) may be associated with thermal levels between thermal level 616 and thermal level 618. Additional temperature thresholds may be used to trigger the transition of V2X functionality from the vehicle's communication unit to the user device's communication unit.
[0150] In some cases, a vehicle may perform some action before actually reaching a temperature threshold. For example, a thermal mitigation system may determine that the temperature of the vehicle's communication unit is approaching a specific thermal level, such as thermal level 614, thermal level 616, or thermal level 618. In one example, the thermal mitigation system may determine that the temperature is within a threshold temperature range (e.g., within 10°C) from one of the thermal levels. Other factors may also be considered, such as the ambient temperature outside the vehicle and the vehicle's operating temperature. In response to the determination that the temperature of the vehicle's communication unit is within a threshold temperature range from a specific thermal level, the vehicle may initiate flow control, transition to some function (e.g., wireless network access function, V2X function, etc.), reduce some function (e.g., V2X function, etc.), and / or perform other actions.
[0151] In some examples, temperature changes within a period can be used as a trigger to reduce certain functions and / or to transfer one or more functions to a user device. For example, a vehicle may reduce certain functions and / or transfer one or more functions in response to detecting that a particular temperature change has occurred within a period. In one example, a vehicle computing system 450 may determine that a communication system 458 has risen by 5 degrees Celsius within a period of one hour. In response to determining that the temperature has risen, the vehicle computing system 450 may reduce certain functions and / or transfer one or more functions to a user device. By monitoring temperature changes, a vehicle may proactively lower temperatures to prevent overheating of vehicle components.
[0152] In some implementations, the temperature of a specific communication unit in a vehicle may be measured and used to determine when to reduce the functionality of different communication units in the vehicle and / or when to switch to a user device. For example, the temperature of a TCU (e.g., communication system 458) may be monitored and used to determine when to reduce the functionality of one or more other communication units in the vehicle, such as one or more modems (e.g., a cellular modem for wireless network access and / or eCall functionality, a V2X modem for V2X communication, etc.), one or more SIMs, and / or other communication units in the vehicle, and / or when to switch to one or more communication units in a user device (e.g., a modem, SIM, etc.).
[0153] While the examples provided herein illustrate the transfer of functionality from a vehicle to a user device, the systems and techniques described herein may be used to transfer functionality between other types of devices based on one or more temperature thresholds and / or other factors (e.g., humidity, amount of light exposure, etc.). In some examples, a vehicle may transfer one or more communication functions to a roadside unit (RSU) and / or another vehicle. In an example for one description, as the vehicle moves along the road, the vehicle may temporarily transfer one or more communication functions to the RSU (e.g., transferring V2X functions via a PC5 interface, via a DSRC interface, or via another type of communication interface). In some cases, the vehicle may request the RSU to process relevant information received for the vehicle and send notifications or urgent notifications to the vehicle. In such examples, the vehicle may reduce its processing load by not processing all V2X messages and / or listening to messages originating from direct communications from the RSU, etc. By reducing the processing load, the vehicle's computing system (e.g., vehicle computing system 450) or components of the computing system (e.g., communication unit) can be cooled. When the computing system or a component of the computing system cools below a certain threshold, the vehicle can begin performing its functions and / or request the RSU to return one or more communication functions to the vehicle. A similar process may be performed to transfer functions from one vehicle to another.
[0154] The examples described herein use temperature as an example of a characteristic or factor of a vehicle (or other device) communication unit that can cause a reduction in various functions and / or migration from the vehicle to another device (e.g., a user device), but other characteristics or factors may be used to cause a reduction in functions and / or migration. Examples of characteristics or factors include the humidity of the communication unit, the amount of light to which the communication unit is exposed, the amount of ventilation to the communication unit (e.g., when ventilation mechanisms such as vents become blocked), any combination of these, and / or other characteristics or factors.
[0155] Figure 9 is a flowchart illustrating an example of a process 900 for performing thermal mitigation using one or more of the techniques described herein. In operation 902, process 900 includes obtaining vehicle-related temperatures. In some examples, the temperatures may be the temperatures of the vehicle's communication units (e.g., communication systems such as telematics control units, modems, or other communication units) or the temperatures of multiple communication units in the vehicle. In some examples, the temperatures may include ambient temperature and / or junction temperatures.
[0156] In operation 904, process 900 includes determining whether to transfer one or more communication functions from the vehicle to the user device based on temperature. For example, process 900 may include determining whether the temperature is higher than a temperature threshold and / or whether the temperature is approaching (for example, within a threshold temperature range, such as within 5°C or within 10°C).
[0157] In operation 906, in response to a determination to migrate one or more communication functions, process 900 includes migrating one or more communication functions from the vehicle's communication unit to the user device's communication unit. For example, process 900 may include migrating one or more communication functions from the vehicle's communication unit to the user device's communication unit in response to a determination that the temperature is higher than a temperature threshold. In some cases, process 900 may include migrating one or more communication functions from the user device's communication unit to the vehicle's communication unit based on a decrease in temperature. For example, process 900 may include obtaining additional temperatures related to the vehicle (e.g., the vehicle's communication unit or another communication unit) and determining that the additional temperatures are below a temperature threshold. In response to the determination that the additional temperatures are below a temperature threshold, process 900 may migrate one or more communication functions from the user device's communication unit to the vehicle's communication unit.
[0158] In some examples, in response to a determination to migrate one or more communication functions, process 900 may include migrating one or more additional functions from an additional communication unit in the vehicle (e.g., a second communication unit) to the user device.
[0159] In some implementations, the vehicle's communication unit is a telematics control unit (TCU), which, in an example for one explanation, may or may not be a component of the communication system 458. For example, in some cases, the TCU includes at least one of the following: a network access device (NAD), one or more subscriber identification modules (SIMs), one or more modems, any combination thereof, and / or other components or devices. In some implementations, the vehicle's communication unit is a modem. In some implementations, the user device's communication unit is a modem. In some cases, the communication unit whose temperature is measured is the same communication unit from which one or more communication functions are migrated. In an example for one explanation, the temperature of the vehicle's modem can be determined, and in response to the vehicle modem's temperature being higher than a temperature threshold, modem functions (e.g., wireless network access function, V2X function, eCall function, etc.) can be migrated from the vehicle's modem to the user device's modem. In some cases, the communication unit whose temperature is measured is different from the communication unit from which one or more communication functions are migrated. In one example for explanation, the temperature of the vehicle's TCU NAD can be determined, and in response to the vehicle modem's temperature being higher than a temperature threshold, the modem functionality can be transferred from the vehicle modem to the user device's modem.
[0160] In some examples, process 900 includes receiving a request from the user device's communication unit to perform at least one of one or more communication functions for the user device's communication unit. For example, as described above, a user device can connect to a vehicle via a communication interface (e.g., via WiFi® such as DSRC or other WiFi interfaces, Bluetooth® such as BLE or other Bluetooth interfaces, PC5, USB port, Lightning port, and / or other wireless or wired interfaces) and can send a request to the vehicle asking the vehicle to perform one or more functions for the user device (e.g., a wireless network access function). Once the request is acknowledged or accepted by the vehicle, the user device's communication unit can transfer at least one communication function to the vehicle's communication unit. The vehicle's communication unit can then commence performing at least one communication function (e.g., a wireless network access function to provide wireless network access for the user device). In such examples, operation 906 of process 900 may include transferring at least one communication function from the vehicle's communication unit to the user device's communication unit.
[0161] In some cases, process 900 may include receiving data from the user device's communication unit based on one or more communication functions performed by the user device's communication unit. Process 900 may output data using the vehicle's output device. In an example for one description, the user device may obtain media data from a communication network service provider and transmit the media data to the vehicle's infotainment system (infotainment system 454) for display on the vehicle's display. The data may be received by the user device's communication unit via a communication interface or link provided by or otherwise provided by the vehicle (e.g., a WiFi® interface such as DSRC or other WiFi link, a Bluetooth® interface such as BLE or other Bluetooth interface, a PC5 interface, a USB port, a Lightning port, and / or other wireless or wired interface).
[0162] In some implementations, one or more communication functions include at least one of the following: wireless network access functions, vehicle-to-everything (V2X) functions, emergency call (eCall) functions, any combination thereof, and / or other communication functions. For example, in some examples, one or more communication functions include a wireless network access function performed by the vehicle's communication unit for the communication unit of a user device. In such examples, operation 906 may include sending a command to the communication unit of the user device to initiate the wireless network access function. In some embodiments, process 900 includes performing the wireless network access function until at least the communication unit of the user device begins performing the wireless network access function. In some cases, process 900 may include unregistering the vehicle's communication unit from the communication network service provider (for example, once the user device has begun performing the wireless network access function).
[0163] In some examples, one or more communication functions include vehicle-to-everything (V2X) functionality. In such examples, operation 906 may include transferring the V2X functionality from the vehicle's communication unit to the user device's communication unit. In some cases, process 900 may include determining whether the user device is configured for V2X functionality (for example, as described in relation to operation 724 in Figure 7). In response to the determination that the user device is configured for V2X functionality, process 900 may transfer the V2X functionality to the user device's communication unit. In some examples, in response to the determination that the user device is not configured for V2X functionality, process 900 may include continuing to perform the V2X functionality (for example, by the vehicle's communication unit).
[0164] In some implementations, process 900 can perform a gradual or incremental migration of V2X functionality from the vehicle to the user device, as described above. For example, process 900 may include migrating a first set of V2X functionality from the vehicle's communication unit to the user device's communication unit, and then having the vehicle's communication unit perform a second set of V2X functionality. In some cases, process 900 may migrate a second set of V2X functionality to the user device's communication unit (for example, based on the vehicle's V2X load, temperature, etc.).
[0165] In some implementations, process 900 may include reducing the V2X functionality performed by the vehicle based on temperature. For example, process 900 may include determining whether the temperature is higher than a first temperature threshold. In response to the determination that the temperature is higher than the first temperature threshold, process 900 may include reducing the duty cycle of the V2X functionality. In some examples, reducing the duty cycle of the V2X functionality includes reducing the transmission rate of one or more V2X messages. In some examples, reducing the duty cycle of the V2X functionality includes reducing the processing rate of one or more V2X messages. As mentioned above, the processing rate may include the rate at which the communication unit processes V2X messages received from other vehicles, pedestrian user devices, and / or infrastructure systems. In some examples, process 900 may include determining the demand for the V2X functionality, in which case reducing the duty cycle of the V2X functionality is further based on the determined demand for the V2X functionality. As explained above, demand may be based on factors such as the number of V2X messages received and / or received over a period of time, the number of other vehicles near the vehicle, the reliability of the determined position relative to the vehicle, the vehicle's ability to maintain a certain distance from other vehicles, whether the vehicle is stationary, whether the vehicle is regularly stopping within a period of time (e.g., in a stop-and-go scenario), whether the vehicle is moving at a particular speed, and the confidence level of sensor data (e.g., the confidence level of objects detected by one or more cameras on the vehicle).
[0166] In some examples, process 900 may include obtaining an additional temperature (e.g., a second temperature) associated with the vehicle (e.g., the vehicle's communication unit or another communication unit) and determining whether the additional temperature is higher than a second temperature threshold. In response to the determination that the additional temperature is higher than the second temperature threshold, process 900 may include transferring one or more V2X functions from the vehicle's communication unit to the user device's communication unit. In such examples, the vehicle may first reduce the V2X functions performed by the vehicle based on the first temperature threshold, and then transfer one or more V2X functions to the user device based on the second temperature threshold.
[0167] In some examples, process 900 may include having the vehicle's communication unit perform a first communication function and a second communication function. Process 900 may further include determining whether the temperature is higher than a first temperature threshold. In response to the determination that the temperature is higher than the first temperature threshold, process 900 may include transferring the first communication function from the vehicle's communication unit to the user device's communication unit. In some cases, process 900 may include sending a request to transfer the first communication function from the vehicle's communication unit to the user device's communication unit. In some embodiments, process 900 may include stopping one or more communication functions by the vehicle's communication unit in response to having sent the request or in response to receiving a response to the request from the user device. In some examples, process 900 may include outputting a notification based on the request (for example, when the request is sent). The notification may include at least one of a displayed message, an audible message, haptic feedback, any combination thereof, and / or other notification.
[0168] In some implementations, process 900 may include transitioning between different communication functions (e.g., a first communication function and / or a second communication function) based on different temperature thresholds or other factors. For example, process 900 may include obtaining an additional temperature associated with a vehicle (e.g., the vehicle's communication unit or another communication unit) and determining whether the additional temperature is higher than a second temperature threshold. In response to the determination that the additional temperature is higher than the second temperature threshold, process 900 may include transitioning the second communication function from the vehicle's communication unit to the user device's communication unit. In some examples, the first communication function may include a wireless network access function and the second communication function may include a vehicle-to-everything (V2X) function. In some examples, the first communication function may include a wireless network access function and the second communication function may include an eCall function. In some examples, the first communication function may include a vehicle-everything (V2X) function and the second communication function may include an eCall function.
[0169] In some examples, process 900 may include sending vehicle environmental information to the communication unit of a user device. In some cases, the environmental information includes at least one of the vehicle's V2X context, the vehicle's eCall context, or any combination thereof. For example, process 900 may include sending environmental information to a user device as part of migrating one or more communication functions in operation 906.
[0170] In some examples, process 900 may include sending a request to the user device before transferring one or more communication functions from vehicle communication to user device communication. For example, process 900 may include determining whether the temperature is higher than a first temperature threshold. In response to the determination that the temperature is higher than the first temperature threshold, process 900 may include sending a request (to the user device) to transfer the first communication function from the vehicle communication unit to the user device communication unit. In some cases, process 900 may output a notification based on a request that includes at least one of a displayed message, an audible message, haptic feedback, any combination thereof, and / or other types of messages. In some examples, process 900 may include determining whether the temperature is higher than a second temperature threshold. In response to the determination that the temperature is higher than the second temperature threshold, process 900 may include transferring the first communication function from the vehicle communication unit to the user device communication unit. In some examples, process 900 may transfer the first communication function from the vehicle communication unit to the user device communication unit in response to a determination that the temperature is higher than the first temperature (for example, after the user device or the user of the user device has accepted the request), rather than based on a second threshold.
[0171] In some examples, process 900 can transfer at least one communication function from a vehicle's communication unit to a roadside unit (RSU) communication unit, to an additional vehicle's communication unit, and / or to another device. For example, as described above, in response to reaching a certain temperature threshold, process 900 can transfer a V2X function to the RSU and / or another vehicle to help reduce the vehicle's processing load.
[0172] As described above, aspects of the present disclosure include systems and techniques for performing load balancing using one or more load balancers, as an addition to or alternative to the thermal mitigation systems and techniques described above. Figure 10A is a block diagram showing an exemplary configuration of the internal components of a vehicle computing system 1000 (which may be the same as the vehicle computing system 450 in Figure 4). The vehicle computing system 1000 includes a modem 1002 (which may be the same as the modem 464 in Figure 4) which may include components such as a thermal management component 1004, a V2X stack 1006, and a downstream (DS) component 1008. Not shown, the modem 1002 may include any other known or hereafter developed components for the intended operation of the modem, such as an upstream component for sending messages from a corresponding UE, such as a vehicle 404.
[0173] As fully described below, the thermal management component 1004 may receive current temperature information from the modem 1002 and / or other components in or associated with the vehicle computing system 1000 in order to implement a filtering mechanism for filtering incoming messages (e.g., omitting them, queuing them, etc.) so as to ensure that the processing load (the number of incoming messages (e.g., V2X messages) that will be validated by the vehicle computing system 1000) remains below the processing capacity of the vehicle computing system 1000.
[0174] The V2X stack 1006 may be used to enable bidirectional V2X communication (for example, with other vehicles in V2V communication, other devices in D2D communication, infrastructure systems in V2I communication, pedestrian UEs in V2P communication, etc.). As described herein, the V2X stack 1006 may be controlled by a thermal management component 1004 to implement a specific filtering mechanism.
[0175] The DS component 1008 may be used to pass or send any number of received messages (e.g., V2X messages) to or from the ITS 1012 for verification and processing. A specific type of filtering scheme based on thermal conditions in the vehicle computing system 1000 may be implemented in the DS component 1008 of the modem 1002, as described below.
[0176] As further shown in Figure 10A, the vehicle computing system 1000 also includes an application processor 1010. The application processor 1010 includes an ITS 1012 (which may be the same as the ITS 455 in Figure 4). One or more filtering schemes based on the incoming processing load and the temperature conditions of the components of the vehicle computing system 1000 may be implemented in the ITS 1012, as described below.
[0177] Application processor 1010 is used only as an example for illustrative purposes, and the thermal load balancing process may be performed by any processing system, including, but not limited to, one or more central processing units (CPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), application processors (APs), graphics processing units (GPUs), vision processing units (VPUs), neural network signal processors (NSPs), microcontrollers, dedicated hardware, any combination thereof, and / or other processing devices or systems.
[0178] The application processor 1010 further includes a verification library 1014 (also known as Library 1014). Verification Library 1014 may be a software and / or hardware platform for verifying signed secure messages received in the vehicle computing system 450 from other vehicles, UEs, and / or RSUs, as described in this disclosure. Verification Library 1014 supports secure message formats and their processing, as defined in the IEEE 1609.2 and ETSI TS 103097 V2V security standards. Verification Library 1014 may be a directory structure containing shared libraries, headers, documentation, and test applications (e.g., for Red Hat Packet Manager (RPM) compatible Linux® and Windows ports).
[0179] The application processor 1010 further includes a dispatcher 1016, one or more processing cores 1018 (also known as one or more verification processors), a load balancer 1020, a latency sensor 1022, a thermal manager 1024, and a throttling manager 1026. The components of the application processor 1010 are not limited to those shown in Figure 10A and may include any other known or future-developed components for the intended operation and functionality of the application processor 1010.
[0180] The dispatcher 1016 may be used to distribute incoming messages in the verification library 1014 to one or more processing cores 1018 for processing / verification (for example, according to verification sequence commands received from the load balancer 1020).
[0181] One or more processing cores 1018 (for example, one or more verification processors) are configured to verify received messages according to any known or future-developed processing and / or verification methods. As further described below, the processing power of any one or more processing cores 1018 may vary depending on their corresponding thermal conditions and / or the overall thermal conditions of the vehicle computing system 1000 and / or one or more components of the vehicle computing system 1000.
[0182] While thermal conditions (temperature) are described herein as factors or conditions that may affect the processing capacity of the vehicle computing system 1000, this disclosure is not limited to temperature and may include other factors or conditions, including but not limited to humidity, the amount of light exposure, the amount of ventilation (for example, when ventilation mechanisms such as vents become blocked), any combination thereof, and / or other characteristics or factors of one or more components of the vehicle computing system 1000 and / or the vehicle computing system 1000.
[0183] A thermal-based load balancing and filtering scheme may be implemented to ensure that, at any given temperature level, the processing load (the number of incoming messages, such as C-V2X messages received from neighboring devices) remains below the sum of the individual processing capabilities of one or more processing cores 1018.
[0184] One or more processing cores 1018 may be any one or more or a combination of an advanced RISC (Reduced Instruction Set Computer) machine (ARM), an audio digital signal processor (aDSP), a compute DSP (cDSP), a graphics processing unit (GPU), a neural signal processor (NSP), an air7 processor, a dedicated core or security processor unit (SPU) for handling cryptographic functions, and / or other processing cores.
[0185] The load balancer 1020 is configured to monitor the load and processing conditions of various components of the vehicle computing system 1000 in order to ensure the smooth continuous operation of the vehicle computing system 1000. Among the parameters described below, the load balancer 1020 monitors various thermal conditions of the components of the vehicle computing system 1000, the rate of arrival of incoming messages (from ITS 1012), processing delay information (from latency sensor 22), and thermal measurement information (from thermal manager 1024), and may provide information on thermal levels and thermal conditions to the throttling manager 1026 for implementing a filtering mechanism. This process is described further below.
[0186] The latency sensor 1022 may be configured to measure the latency in processing received messages by any one or more processing cores 1018, and / or the latency in which any one or more components of the vehicle computing system 1000 perform their corresponding functions.
[0187] The thermal manager 1024 is configured to measure the instantaneous temperature of any one or more components of the vehicle computing system 1000, including one or more processing cores 1018. In some examples, the thermal manager 1024 may be part of the sensor system 456 shown in Figure 4.
[0188] The throttling (filtering) manager 1026 can receive thermal level information and throttling (filtering) level information from the load balancer 1020, as described below, and can determine a filtering mechanism for filtering messages. After selecting a filtering mechanism, the throttling manager 1026 can send commands for the implementation of such a filtering mechanism to the ITS 1012, the thermal management component 1004, and / or the DS component 1008 for implementation.
[0189] Figure 10B is a block diagram showing another exemplary configuration of the internal components of the vehicle computing system 450. The vehicle computing system 1050 in Figure 10B may be the same as the vehicle computing system 1000 in Figure 10A or the vehicle computing system 450 in Figure 4. The vehicle computing system 1050 may include a dispatcher 1052, a load balancer 1054, a thermal engine 1056, a throttling manager 1058, an intelligent transportation system (ITS) 1060, a V2X stack 1062, and a DS component 1064 of a modem 1065, all of which are described below.
[0190] Dispatcher 1052 may be the same as dispatcher 10110, and load balancer 1054 may be the same as load balancer 1020 in Figure 10A. Communication between dispatcher 1052 and load balancer 1054 may be bidirectional. For example, load balancer 1054 may receive a verification rate for verifying messages coming in by one or more processing cores 1018 in Figure 10A, and load balancer 1054 may provide dispatcher 1052 with commands including instructions for verification sequences and verification cycles. As described below, the verification rate may also be called the processing load (instantaneous processing load) of the vehicle computing system 1050. In one example, the verification rate may be determined as the difference between the rate of incoming messages (e.g., the rate of incoming V2X messages received in the vehicle computing system 1050 via the remote network (RmNET)) and the current filtering rate of ITS 1060.
[0191] In one example, the load balancer 1054 may use a weighted average (or any other known or future-developed method) to consider both power and latency costs in order to organize a load balancing scheme (including, for example, a verification sequence and verification cycle) to be implemented among one or more processing cores 1018. The weights used in the weighted average may be based on the silicon junction temperature (Tj) inside one or more processing cores 1018 (this may include transistor junction temperatures). For example, when Tj is below a threshold (a configurable parameter determined on an experimental and / or empirical basis), the vehicle computing system 1050 may assign more weight to performance factors such as latency per verification. In another example, when Tj is above a threshold, the vehicle computing system 1050 may assign more weight to power efficiency, such as the amount of power used per verification in mW.
[0192] The thermal engine 1056 may be a sensor system from sensor system 456 that can measure and monitor the temperatures of various components of the vehicle computing system 1050 in the same manner as the load balancer 1020 in Figure 10A. The thermal engine 1056 may be communicably coupled to both the load balancer 1054 and the throttling manager 1058 (the throttling manager 1058 may be the same as the throttling manager 1026 in Figure 10A). The thermal engine 1056 can provide temperature information (the thermal level of one or more of the processing cores 1018 and / or any other components of the vehicle computing system 1050) to both the throttling manager 1058 and the load balancer 1054. In one example, the thermal engine 1056 may also provide additional information to the load balancer 1054, such as the operating point of one or more processing cores 1018 (e.g., speed, frequency, etc.). The load balancer 1054 can also provide a throttling (filtering) level (defined below with reference to Figure 13 and Equation 2) to the throttling manager 1058.
[0193] Based on the received thermal level, throttling level, and processing load information, the throttling manager 1058 can determine an appropriate filtering mechanism to be implemented by one of the following: the ITS 1060, the V2X stack 1062 of the modem 1065 (which may be the same as the modem 1002 in Figure 10A), and / or the DS component 1064 of the modem 1065.
[0194] Along with the exemplary system configuration described above in relation to Figures 1 to 10B, this disclosure now moves toward describing exemplary processes to be implemented for thermally aware (thermal) load balancing to ensure that the vehicle computing system (such as vehicle computing system 450, vehicle computing system 1000, and / or vehicle computing system 1050, as described above in relation to Figures 4, 10A, and 10B) can process important information received from neighboring devices when thermal conditions reduce the processing capacity of the vehicle computing system. Thermal load balancing is described below in relation to the components of vehicle computing system 1000 in Figure 10A. However, the following concept of thermal load balancing may also be applied to the exemplary computing system 450 in Figure 4 and / or vehicle computing system 1050 in Figure 10B. Furthermore, it is assumed that vehicle computing system 1000 is used inside vehicle 404 in Figure 4.
[0195] As mentioned above, problems can arise when the temperature of various hardware components behind the vehicle computing system 1000 (such as one or more processing cores 1018, which may be called verification processors as mentioned above) rises. As the hardware temperature rises, the clock frequency and, consequently, the processing power decreases. Continuous operation of the vehicle computing system 1000 under extreme temperature conditions (e.g., between -85°C and 125°C) is critical. Furthermore, the process of verifying incoming messages, such as C-V2X messages (based on the IEEE 1509.6 standard), is known to be computationally intensive and susceptible to delays. In some examples, incoming messages may be ITS messages and may include basic safety messages (BSMs). As the number of incoming messages increases, the vehicle computing system 1000 must process a greater number of verifications of the received messages (e.g., per second). Thermal conditions negatively impact the vehicle computing system 1000's ability to perform the required number of verifications per second. The current filtering mechanism is based on the importance of the received message and does not take into account changing thermal and load conditions. Therefore, it is important to ensure the timely processing and verification of incoming messages in order to provide appropriate operational and safety commands for the proper and safe operation of vehicle 404 under all given thermal conditions.
[0196] Using the load balancer 1020, the vehicle computing system 1000 can determine the current (e.g., instantaneous) processing load (the amount of incoming messages received from neighboring devices near the vehicle 404) and current temperature of one or more components / hardware of the vehicle computing system 1000 to determine the optimal filtering mechanism. The optimal filtering mechanism can then be implemented in one or more internal components of the vehicle computing system 1000 (such as the thermal management component 1004 of the modem 1002, the DS component 1008 of the modem 1002, and / or the ITS 1012 of the application processor 1010) to filter / omit less important incoming messages so that the processing load of the vehicle computing system 1000 remains below the overall processing capacity of one or more processing cores 1018 of the vehicle computing system 1000.
[0197] Figure 11 is a flowchart illustrating an example of a process 1100 for performing thermal load balancing. Figure 11 is described in terms of the vehicle computing system 1000 of Figure 10A. However, it should be understood that the vehicle computing system 1000 may have one or more processors configured to execute stored computer-readable instructions corresponding to each of the components of the vehicle computing system 1000 described above in relation to Figure 10A, in order to carry out the various steps of the process in Figure 11.
[0198] In operation 1101, the vehicle computing system 1000 receives an incoming message(s) to be processed. As described above, the incoming message(s) may be C-V2X signed messages received from a number of neighboring devices near vehicle 404. Such neighboring devices may include other vehicles such as vehicle 304 and / or 305 in Figure 3, one or more UEs such as BS302 and UE307 in Figure 3, one or more RSUs such as RSU303 in Figure 3, etc. In an exemplary setting where vehicle 404 is on a congested interstate highway, such neighboring devices may include tens or hundreds of neighboring vehicles on the interstate highway near vehicle 404, nearby smart traffic management components such as information boards and traffic signals, passing public transport, and mobile devices such as UE407, etc.
[0199] In operation 1102, the vehicle computing system 1000 determines the thermal level associated with the vehicle 404. For example, the thermal level may be the thermal level of one or more hardware components associated with the vehicle computing system 1000, including, but not limited to, the modem 1002, the application processor 1010, one or more processing cores 1018 (e.g., verification processors), and the telematics control unit (TCU) of the vehicle 404. In another example, the thermal level may be the thermal level of any other component of the vehicle 404, or more generally, the thermal level of the vehicle 404. The thermal level may be a range of temperatures that can be determined on an experimental and / or empirical basis. For example, different types of processors used as one or more processing cores 1018 may have varying performance under different thermal conditions. As an unrestricted example, a heat level (temperature level) of 0 may be defined as encompassing the range of 0 to 15 degrees Celsius, a heat level of 1 as encompassing the range of 16 to 30 degrees Celsius, a heat level of 2 as encompassing the range of 31 to 100 degrees Celsius, and a heat level of 3 as encompassing the range of 46 degrees Celsius and above. The number of heat levels and corresponding ranges may be more or less than those described above and is not limited to the examples given.
[0200] The vehicle computing system 1000 can determine the thermal level based on the current temperature measurement results from the load balancer 1020 in Figure 10A, the measurement results being provided to the load balancer 1020, and the load balancer 1020 determining the thermal level based on the temperature measurement results and the thermal level defined above. In one example, the temperature measurement results may represent the current temperature of a single processor, or they may be the average of the temperatures of multiple processors and components associated with the vehicle computing system 1000.
[0201] In operation 1104, the vehicle computing system 1000 determines its processing load (load condition). In some examples, the processing load may be the current processing load of the vehicle computing system 1000. In some examples, the processing load may be the predicted processing load of the vehicle computing system 1000 at a future location before the vehicle 404 arrives at that future location. In some examples, the processing load may be a combination of the current processing load and the predicted processing load.
[0202] The current processing load indicates the size (number) of incoming messages received in operation 1101, which will be verified by one or more processing cores 1018. The current processing load may also be defined as the total size of the messages (e.g., in megabytes or gigabytes). In one example, during peak load on a highway or road, vehicle 404 may be surrounded by 250 neighboring vehicles, each receiving 10 messages per second. This would result in 2500 messages being processed per second by the vehicle control computing system 1000. Assuming a size of 500 bytes per message, the current processing load of the vehicle computing system 1000 might be 1.25 gigabytes of data. The current processing load of the vehicle computing system 1000 is M i It can also be expressed as follows, where i represents the current time and is a non-negative integer. In one example, M i This may be the same as the verification rate described above in relation to Figure 10B.
[0203] In some cases, as described above, the processing load may be the expected processing load of the vehicle computing system 1000 at a future location before the vehicle 404 arrives at that future location. In such cases, the vehicle computing system 1000 may receive information describing the traffic conditions at the identified future location (for example, an intersection that the vehicle 404 may reach within a given future period, such as within 5 minutes or 10 minutes). Using the information on traffic conditions, the vehicle computing system 1000 may predict the number of incoming messages that it can expect to receive at the identified future location once the vehicle 404 arrives there. Predicting the number of incoming messages may be based on any known or future-developed techniques. For example, using historical data on the number of messages received under traffic conditions similar to the expected traffic conditions at the identified future location, the vehicle computing system 450 may predict the expected number of incoming messages at the identified future location. Other methods, including utilizing neural networks trained using known or future-developed machine learning techniques, are also within the scope of this disclosure. A trained neural network may receive information about traffic conditions at a specified future location as input, and can output the expected number of incoming messages when vehicle 404 arrives at the specified future location.
[0204] In operation 1106, the vehicle computing system 1000 determines its processing power. In one example, such processing power may be the sum of the processing powers of the individual verification processors of the vehicle computing system 1000 (for example, one or more processing cores 1018) (referred to as instantaneous processing power). Assuming that the number of processors forming the verification processors is j (where j is an integer greater than or equal to 1), then its processing power at time i (where i is an integer greater than or equal to 0) is m jiIt may be expressed in [this way].
[0205] Therefore, at any given time, the processing capacity of the vehicle computing system 1000 is
number
[0206] In operation 1108, the vehicle computing system 1000 determines, based on the processing load (e.g., the predicted processing load and / or current processing load as described above) and the thermal level, what type of filtering (throttling) mechanism to apply to ensure that the processing load remains below a threshold (the threshold is the variable C in Eq. 1 above). Determining the filtering mechanism may include selecting a filtering mechanism and / or calculating a filtering mechanism. The determination and implementation of a specific filtering mechanism are described below in relation to Figure 12.
[0207] Once the filtering mechanism is determined in operation 1108, the vehicle computing system 1000 applies the filtering mechanism to filter (throttle) incoming messages in order to ensure that the processing load of the vehicle computing system 1000 remains below the value of variable C in Eq.1.
[0208] When messages are filtered according to the filtering mechanism applied to each process in Figure 11, the vehicle computing system 1000 (and more specifically the load balancer 1020) can perform load balancing to distribute the filtered messages to the processing core 1018 for processing (for example, based on power and latency factors as described above). In one example, the load balancer 1020 may be configured with one or more knobs (e.g., one or more parameters) that can be adjusted according to a given thermal level. Adjusting one or more parameters (or knobs) can make the load balancer 1020 more sensitive or less sensitive to thermal levels (e.g., less responsive for performing load balancing at lower thermal levels, and more responsive for performing load balancing at higher thermal levels). One advantage of such adjustable parameters may be a smoother transition between performance-optimized load balancing and thermal-based load balancing across different thermal levels.
[0209] Figure 12 is a flowchart illustrating an example of a process 1200 for selecting a filtering mechanism to be applied in the thermal load balancing process of Figure 11. Figure 12 illustrates an exemplary process for determining the filtering mechanism to be applied to incoming messages in operation 1108 of Figure 11. Figure 12 is described in general from the perspective of the vehicle computing system 1000, and more specifically from the perspective of the load balancer 1020 and throttling manager 1026 of the vehicle computing system 1000. Furthermore, Figure 12 is described in relation to a non-limiting example of four thermal levels (0, 1, 2, 3) as described above in relation to operation 1102.
[0210] In operation 1201, the load balancer 1020 determines whether the thermal level is 0. If the thermal level is 0 (for example, the current temperature of the hardware components associated with the vehicle computing system 1000 is between 0 and 15 degrees Celsius), then in operation 1202, the load balancer 1020 determines that throttling is not required to filter or omit one or more incoming messages (meaning that the selected filtering mechanism does not apply any filtering mechanism).
[0211] However, if in operation 1201 the load balancer 1020 determines that the thermal level is not 0, then in operation 1204 the load balancer 1020 determines whether the thermal level is 1. If in operation 1204 the load balancer 1020 determines that the thermal level is 1 (for example, the current temperature of the hardware components associated with the vehicle computing system 1000 is between 16 and 30 degrees Celsius), then in operation 1206 the load balancer 1020 determines the processing load M i Determine whether it is less than or equal to C as defined above according to Eq.1. In operation 1206, M i If the load balancer 1020 determines that is less than or equal to C, the process returns to operation 1202, and the throttling manager 1026 determines that throttling is not required to filter or omit one or more of the received messages (the filtering mechanism should not be applied).
[0212] However, in operation 1206, the load balancer 1020 controls the processing load M i If it is determined that is greater than C as defined in Eq.1 above, the load balancer 1020 determines the throttling level (also called the filtering level). The throttling level is,
number
number
[0213] The load balancer 1020 can transmit the throttling level to the throttling manager 1026. In operation 1208, the throttling manager 1026 determines whether the throttling level is less than the throttling threshold. The threshold on which the throttling level is compared may be a configurable parameter determined based on experiment and / or heuristics.
[0214] If the throttling level is below a threshold, in operation 1210, the throttling manager 1026 selects a first filtering mechanism to be applied. For example, the first filtering mechanism includes filtering incoming messages in ITS 1012. Based on the selection of the first filtering mechanism, the throttling manager 1026 sends a command to ITS 1012 with instructions detailing the filtering criteria for filtering incoming messages.
[0215] Filtering incoming messages may be based on any known or future-developed criteria or factors. In some examples, incoming messages may have corresponding information or metadata related to the message, including, but not limited to, the distance from vehicle 404 to the corresponding neighboring device or vehicle (from which messages are received), the direction of movement of the corresponding neighboring device or vehicle, the speed of movement of the corresponding neighboring device, and the type (content) of the received message. Each exemplary item of information or metadata may be used as a filtering criterion or filtering coefficient. In one example, the filtering criterion may be filtering messages based on distance. For example, messages received from neighboring devices that are more than 100 meters away from vehicle 404 may be filtered. In another example, the filtering criterion may be filtering messages from neighboring devices moving in the opposite direction to vehicle 404. In yet another example, the filtering criterion may be filtering messages that do not have content regarding the speed and direction of movement of the corresponding vehicle. In yet another example, the filtering criterion may be based on a combination of the criteria described above.
[0216] Returning to operation 1208, if the throttling manager 1026 determines that the throttling level is below a threshold, in operation 1212, the throttling manager 1026 selects a second filtering mechanism to be applied. For example, the second filtering mechanism includes filtering incoming messages in the ITS 1012 and the V2X stack 1006 of the modem 1002. Based on the selection of the second filtering mechanism, the throttling manager 1026 sends at least one command to the ITS 1012 with instructions detailing the filtering criteria for filtering incoming messages, and at least one other command to the thermal management component 1004 of the modem 1002 for filtering messages in the V2X stack 1006 of the modem 1002.
[0217] In one example, the command sent to ITS1012 may be applied to messages that come in with filtering criteria different from the filtering criteria to be applied in the V2X stack 1006 of the modem 1002. In another example, the filtering criteria applied in the V2X stack 1006 of ITS1012 and the modem 1002 may be the same with a slight degree of variation. For example, when the filtering criteria is to filter based on distance, the command sent to the V2X stack 1006 of the modem 1002 may filter / omit messages from neighboring vehicles that are more than 150 meters away from the vehicle 404, while the command sent to ITS1012 may filter / omit messages from neighboring vehicles that are more than 75 meters away from the vehicle 404.
[0218] When returning to operation 1204, if the load balancer 1020 determines that the heat level is not 1, in operation 1214, the load balancer 1020 determines whether the heat level is 2. In operation 1214, if the load balancer 1020 determines that the heat level is 2 (for example, the current temperature of the hardware components related to the vehicle computing system 1000 is between 31 and 100 degrees Celsius), in operation 1216, the load balancer 1020 determines whether the processing load M i is less than or equal to C as defined above according to Eq.1.
[0219] In operation 1216, M iIf the load balancer 1020 determines that is less than or equal to C, in operation 1218, the throttling manager 1026 selects a third filtering mechanism to be applied. For example, the third filtering mechanism is to filter incoming messages in the V2X stack 1006 of the modem 1002 according to an arbitrary filtering criterion. Thus, the throttling manager 1026 sends a command to the thermal management component 1004 of the modem 1002 to filter messages in the V2X stack 1006 of the modem 1002 (according to a filtering criterion such as one or more of the exemplary criteria described above).
[0220] In operation 1216, M iIf the load balancer 1020 determines that is greater than C, the load balancer sends the throttling level to the throttling manager 1026. Then, in operation 1220, the throttling manager 1026 determines whether the throttling level (determined according to Eq. 2) is less than or equal to the throttling threshold defined above. If the throttling level is less than or equal to the throttling threshold, in operation 1222, the throttling manager 1026 selects a fourth filtering mechanism to be applied. The fourth filtering mechanism may include a third filtering mechanism (i.e., filtering incoming messages according to any filtering mechanism in the V2X stack 1006 of modem 1002) and filtering messages in the downstream component 1008 of modem 1002. In one example, filtering messages in the downstream component 1008 may include omitting messages based on the source address of the message, regardless of the content and metadata contained in the message. In this example, ITS 1012 may send a list of source addresses (e.g., identifiers of nearby vehicles) to the downstream component 1008. Using the list of source addresses, the downstream component 1008 can filter (for example, omit) any messages that have a source identifier that matches one of the identifiers on the list.
[0221] However, if in operation 1220 the throttling manager 1026 determines that the throttling level is higher than the throttling threshold, then in operation 1224 the throttling manager 1026 selects a fifth filtering mechanism to be applied. For example, the fifth filtering mechanism may include stronger message filtering compared to the third filtering mechanism (i.e., filtering incoming messages according to any filtering mechanism in the V2X stack 1006 of modem 1002) and the fourth filtering mechanism in the downstream component 1008 of modem 1002. For example, the list of source addresses included in the list provided to the downstream component 1008 for filtering is larger and includes more sources compared to the list provided to the downstream component 1008 in the fourth filtering mechanism in operation 1222.
[0222] Returning to operation 1214, if the load balancer 1020 determines that the throttling level is not 2, then in operation 1226 the load balancer determines that the throttling level is 3 (for example, the current temperature of the hardware components associated with the vehicle computing system 1000 is 46 degrees Celsius or higher).
[0223] In operation 1228, the load balancer 1020 controls the processing load M i Determine whether it is less than or equal to C as defined above according to Eq.1. In operation 1228, M iIf the load balancer 1020 determines that is less than or equal to C, in operation 1230, the throttling manager 1026 selects a sixth filtering mechanism to be applied. For example, the sixth filtering mechanism is filtering messages according to the third filtering mechanism (i.e., filtering incoming messages in the modem 1002's V2X stack 1006 according to arbitrary filtering criteria) and stronger filtering of messages in the modem 1002's downstream component 1008. For example, this relatively stronger filtering includes providing the downstream component 1008 with a list of source addresses for filtering that is larger and includes more sources compared to the list provided to the downstream component 1008 in operation 1222 in the fourth filtering mechanism or in operation 1224 in the fifth filtering mechanism.
[0224] In operation 1228, M i If the load balancer 1020 determines that is greater than C, the load balancer sends the throttling level to the throttling manager 1026. Then, in operation 1232, the throttling manager 1026 selects a seventh filtering mechanism to be applied. In one example, the seventh filtering mechanism includes stopping the V2X stack 1006 to stop receiving any new messages from neighboring devices. In one example, the stopping of the V2X stack 1006 may continue until the processing load is no longer greater than C at thermal level 3.
[0225] Those skilled in the art will readily understand that the four thermal levels described above are non-limiting and illustrative, and that the number of separate filtering mechanisms may also be greater or less depending on the thermal level.
[0226] The thermal balancing systems and techniques described herein enable a UE (e.g., a vehicle, user device, and / or other UE) or other device (e.g., an RSU) to analyze various thermal and processing load conditions and select and implement thermal-based load balancing to ensure that the processing load (e.g., the number of incoming messages, such as V2X messages received from neighboring devices) remains below a threshold at any given temperature level. Maintaining the processing load below the threshold then ensures that the vehicle computing system can process (e.g., validate) incoming messages. Validating incoming messages may have various safety and operational concerns for the corresponding vehicle, such as warning the driver of a vehicle about an imminent / potential accident ahead, a red light ahead, pedestrians crossing the road, lane change adjustments, or turning left or right at a stop sign.
[0227] In addition to temperature and thermal conditions, other environmental factors that may adversely affect the performance of the vehicle computing system 1000 in Figure 10A (and / or vehicle computing systems 450 and 1050 in Figures 4 and 10B, respectively) may also be considered when selecting an appropriate filtering mechanism to ensure that the processing load of the vehicle computing system remains within thresholds, as described above. Such other factors include, but are not limited to, the humidity of the vehicle computing system 1000 or its components (e.g., modem 1002 or other components), the amount of light to which the vehicle computing system 1000 or its components (e.g., modem 1002 or other components) are exposed, the amount of ventilation of the vehicle computing system 1000 or its components (e.g., when ventilation mechanisms such as vents used within the vehicle computing system 1000 become blocked), any combination of these, and / or other characteristics or factors. Such factors may be considered alone or in combination with thermal conditions, as described with reference to Figures 11 and 12.
[0228] The process of filtering incoming messages and / or performing load balancing using a throttling manager / load balancer was described above in the context of V2X communication. However, this disclosure is not limited thereto, and the process of filtering messages and / or load balancing is applicable to other types of communication, such as DSRC (802.11p) communication.
[0229] Numerous examples are described in this disclosure in the context of vehicles and the processing of messages received by such vehicles from neighboring devices, but this disclosure is not limited thereto. For example, the concepts described in this disclosure are equally applicable to any device-to-device communication situation (or other communication situations such as device-to-network) where environmental factors may adversely affect the processing capabilities of such devices, and appropriate filtering mechanisms should be applied to ensure that important messages are processed in a timely manner.
[0230] Figure 13 is a flowchart illustrating an example of a thermal load balancing process 1300. In operation 1301, the process includes receiving multiple messages from one or more devices. In some examples, the multiple messages may be V2X messages (e.g., C-V2X messages), such as vehicle-to-everything (V2X) messages based on the IEEE 1509.6 standard. In some implementations, the multiple messages may be Intelligent Transportation System (ITS) messages, which may include Basic Safety Messages (BSMs) and / or other types of messages. In some cases, the multiple messages may be signed using signatures. In such cases, the process includes verifying the multiple messages based on the signatures (e.g., by verifying or validating the signatures of the messages). In some examples, each of the multiple messages received from one or more devices includes information relating to at least one of the following: speed, direction (or orientation), distance, any combination thereof, and / or other information for one or more corresponding devices.
[0231] In some examples, one or more devices include at least one of a vehicle, a mobile device, a roadside unit, a traffic management system, public transport, any combination thereof, and / or other devices. In some examples, the device may be a vehicle computing system of a vehicle, such as one of the vehicle computing systems 450, 1000, and 1050 of vehicle 404.
[0232] In operation 1302, the process includes determining a thermal level. The thermal level is associated with an apparatus; for example, the thermal level of one or more hardware components is associated with a vehicle computing system (e.g., vehicle computing system 1000). One or more hardware components may include, for example, a modem 1002, an application processor 1010, one or more processing cores 1018 (e.g., verification processors), a telematics control unit (TCU), any combination thereof, and / or other hardware components. In some examples, the thermal level may generally be the thermal level of the vehicle 404. In one example, the thermal level is one of several thermal levels. Each of the several thermal levels may correspond to a range of temperatures for internal components of the apparatus. In some cases, the thermal level may include, or be based on, the ambient temperature of the apparatus (e.g., the vehicle computing system) and / or may include the transistor junction temperature (also called junction temperature) of one or more components of the apparatus (e.g., the modem, application processor, and / or other components of the vehicle computing system).
[0233] In operation 1304, the process includes determining the processing load (e.g., the current or expected processing load associated with the device) based on at least a number of messages. In one example, the process further includes determining the filtering level based on the processing load and processing capacity associated with the device (e.g., one or more hardware components of the device or the device as a whole). In some examples, the process includes determining the filtering level as the larger of a value of 0 and the ratio of the difference between the processing load and processing capacity to the processing capacity. In an example for one explanation, the filtering level may be defined according to Eq. 2 above.
[0234] In some examples, the device includes one or more verification processors configured to process multiple messages. In such examples, the process may include determining the device's processing power based on the sum of the instantaneous processing power of one or more verification processors. For example, the sum of instantaneous processing power may be defined according to Eq. 1 above.
[0235] In operation 1306, the process includes determining (e.g., selecting, calculating, and / or otherwise determining) a filtering scheme to be applied to filter multiple messages, based on the thermal level and processing load, in order to keep the processing load below the processing capacity. In some cases, thresholds may be defined based on the processing capacity of the device. In some examples, the selection of a filtering scheme is based on the thermal level, processing load, and filtering level.
[0236] In some examples, the process involves determining a filtering scheme from several filtering schemes. Each of these filtering schemes may filter multiple messages of different volumes or amounts. In one example, the filtering scheme may include not filtering multiple messages when the thermal level is at the lowest defined thermal level. In yet another example, the filtering scheme may include shutting down a modem component associated with the device to prevent the device from receiving additional messages for processing until the device's processing load falls below its processing capacity or a threshold.
[0237] In some examples, each filtering scheme in a set of filtering schemes includes instructions that specify one or more components of multiple messages to be filtered, and corresponding filtering criteria according to which the multiple messages should be filtered. When applying the corresponding filtering criteria, the process may include filtering multiple messages based on one or more of the distance of one or more devices, the direction of movement of one or more devices, and the speed of one or more devices.
[0238] In operation 1308, the process includes applying a filtering scheme using one or more components associated with the device to filter multiple messages. In some examples, as the thermal level increases, the filtering scheme (when applied) filters a larger number of multiple messages. In some examples, as the thermal level and processing load increase, the filtering scheme (when applied) filters a larger number of multiple messages. As the thermal level and / or processing load decreases, the filtering scheme can reduce the number of messages being filtered, allowing more messages to be processed by one or more components associated with the device. In some examples, the one or more components applying the filtering scheme include the device's ITS (e.g., ITS 1012 of computing system 1000), the V2X components of a modem associated with the device (e.g., V2X stack 1006 of modem 1002, V2X stack 1062 of modem 1065), the modem's downstream components (e.g., downstream component 1008 of modem 1002, downstream component 1064 of modem 1065), any combination of these, and / or other components of the device.
[0239] In some examples, the processes described herein (e.g., process 900, process 1100, process 1200, process 1300, and / or other processes described herein) may be performed by a computing device or apparatus (e.g., a UE). In one example, process 900 may be performed by the vehicle 404 in Figure 4. In another example, process 900 may be performed by a computing device with the computing system 1400 shown in Figure 14. For example, a vehicle with the computing architecture shown in Figure 14 may include components of the vehicle 404 in Figure 4 and may perform the operations of Figure 9, Figure 11, Figure 12, and / or Figure 13.
[0240] In some cases, a computing device or apparatus may include a variety of components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, and / or other components configured to perform the steps of the processes described herein. In some examples, a computing device may include a display, one or more network interfaces configured to communicate and / or receive data, any combination thereof, and / or other components. One or more network interfaces may be configured to communicate and / or receive wired data and / or wireless data, including data compliant with 3G, 4G, 5G, and / or other cellular standards, data compliant with WiFi (802.11x) standards, data compliant with Bluetooth® standards, data compliant with Internet Protocol (IP) standards, and / or other types of data.
[0241] Components of computing devices can be implemented in circuits. For example, a component may include and / or be implemented using one or more programmable electronic circuits (e.g., a microprocessor, a graphics processing unit (GPU), a digital signal processor (DSP), a central processing unit (CPU), and / or other suitable electronic circuits), electronic circuits, or other electronic hardware, and / or may include and / or be implemented using computer software, firmware, or any combination thereof to perform the various operations described herein.
[0242] Processes 900, 1100, 1200, and 1300 are illustrated as logical flow diagrams, and their operations represent sequences of operations that can be performed by hardware, computer instructions, or combinations thereof. In the context of computer instructions, an operation represents a computer-executable instruction stored in one or more computer-readable storage media that, when executed by one or more processors, performs the described operation. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc., that perform a particular function or implement a particular data type. The order in which operations are described is not intended to be interpreted as limiting, and any number of operations described may be combined in any order and / or in parallel to implement a process.
[0243] In addition, processes 900, 1100, 1200, 1300, and / or other processes described herein may be executed under the control of one or more computer systems consisting of executable instructions, and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) that is executed collectively by hardware or a combination thereof on one or more processors. As stated above, the code may be stored in a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising multiple instructions executable by one or more processors. The computer-readable or machine-readable storage medium may be non-temporary.
[0244] Figure 14 shows an example of a system for implementing several aspects of this technique. Specifically, Figure 14 shows an example of a computing system 1400, which could be, for example, an internal computing system, a remote computing system, a camera, or any computing device comprising any of those components of the system that communicate with each other using connection 1405. Connection 1405 could be a physical connection using a bus, or a direct connection to a processor 1410 in a chipset architecture, for example. Connection 1405 could also be a virtual connection, a network connection, or a logical connection.
[0245] In some embodiments, the computing system 1400 is a distributed system in which the functions described herein can be distributed across a data center, multiple data centers, a peer network, and so on. In some embodiments, one or more of the described system components represent many components, each performing some or all of the functions that are the subject of the component's description. In some embodiments, the components may be physical or virtual devices.
[0246] An exemplary system 1400 includes at least one processing unit (CPU or processor) 1410 and connections 1405 that communicatively connect various system components, including system memory 1415 such as read-only memory (ROM) 1420 and random access memory (RAM) 1425, to the processor 1410. The computing system 1400 may include a high-speed memory cache 1412 that is directly connected to, near, or integrated as part of the processor 1410.
[0247] The processor 1410 may include any general-purpose processors and hardware or software services, such as services 1432, 1434, and 1436, stored in memory device 1430, which are configured to control the processor 1410 and dedicated processors such that software instructions are incorporated into actual processor designs. The processor 1410 may essentially be a fully self-contained computing system including multiple cores or processors, buses, memory controllers, caches, etc. The multicore processor may be symmetrical or asymmetrical.
[0248] To enable user interaction, the computing system 1400 includes an input device 1445 which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, and speech. The computing system 1400 may also include an output device 1435 which may be one or more of several output mechanisms. In some cases, a multimodal system may allow the user to provide multiple types of input / output for communication with the computing system 1400.
[0249] The computing system 1400 may include a communication interface 1440, which can generally control and manage user inputs and system outputs. The communication interface may include audio jacks / plugs, microphone jacks / plugs, Universal Serial Bus (USB) ports / plugs, Apple® Lightning® ports / plugs, Ethernet ports / plugs, fiber optic ports / plugs, proprietary wired ports / plugs, 3G, 4G, 5G, and / or other cellular data network wireless signal transmission, Bluetooth® wireless signal transmission, Bluetooth® Low Energy (BLE) wireless signal transmission, IBEACON® wireless signal transmission, Radio Frequency Identification (RFID) wireless signal transmission, Near Field Communication (NFC) wireless signal transmission, Dedicated Short Range Communication (DSRC) wireless signal transmission, 802.11 Wi-Fi wireless signal transmission, Wireless Local Area Network (WLAN) signal transmission, Visible Light Communication (VLC), and Worldwide Interoperability for Microwave. The communication interface 1440 may perform or facilitate the reception and / or transmission of wired or wireless communications using wired and / or wireless transceivers, including those utilizing Access (WiMAX), infrared (IR) wireless signal transmission, public switched telephone network (PSTN) signal transmission, integrated services digital network (ISDN) signal transmission, ad hoc network signal transmission, radio wave signal transmission, microwave signal transmission, infrared signal transmission, visible light signal transmission, ultraviolet light signal transmission, wireless signal transmission along the electromagnetic spectrum, or any combination thereof. The communication interface 1440 may also include one or more GNSS receivers or transceivers used to determine the position of the computing system 1400 based on the reception of one or more signals from one or more satellites associated with one or more Global Navigation Satellite Systems (GNSS) systems.GNSS systems include, but are not limited to, the US Global Positioning System (GPS), Russia's Global Navigation Satellite System (GLONASS), China's Beidou Navigation Satellite System (BDS), and Europe's Galileo GNSS. Since there are no constraints that apply to any particular hardware configuration, this fundamental characteristic can easily be superseded by improved hardware or firmware configurations as development progresses.
[0250] The storage device 1430 may be a non-volatile and / or non-temporary and / or computer-readable memory device, a hard disk, or a magnetic cassette, flash memory card, solid-state memory device, digital multipurpose disk, cartridge, floppy disk, flexible disk, hard disk, magnetic tape, magnetic strip / stripe, any other magnetic storage medium, flash memory, memristor memory, any other solid-state memory, compact disc read-only memory (CD-ROM) optical disc, rewritable compact disc (CD) optical disc, digital video disc (DVD) optical disc, Blu-ray disc (BDD) Optical discs, holographic optical discs, other optical media, Secure Digital (SD) cards, Micro Secure Digital (microSD) cards, Memory Stick® cards, smart card chips, EMV chips, subscriber identification module (SIM) cards, mini / micro / nano / pico SIM cards, other integrated circuit (IC) chips / cards, random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash EPROM (FLASH Other types of computer-readable media capable of storing computer-accessible data may include EPROM, cache memory (Level 1 (L1) cache, Level 2 (L2) cache, Level 3 (L3) cache, Level 4 (L4) cache, Level 5 (L5) cache, or other (L#) caches), resistive random access memory (RRAM / ReRAM), phase-change memory (PCM), spin-transfer torque RAM (STT-RAM), other memory chips or cartridges, and / or combinations thereof.
[0251] The storage device 1430 may include software services, servers, services, etc., which cause the system to perform functions when the code defining them is executed by the processor 1410. In some embodiments, a hardware service that performs a particular function may include software components stored on a computer-readable medium that are connected to the necessary hardware components, such as the processor 1410, connection 1405, and output device 1435, in order to perform the function. The term “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media that can store, contain, or carry instructions and / or data. Computer-readable medium may also include non-transient media in which data can be stored and which do not contain carrier waves and / or transient electronic signals that propagate wirelessly or via wired connections. Examples of non-transient media include, but are not limited to, magnetic disks or magnetic tapes, optical storage media such as compact discs (CDs) or digital multipurpose discs (DVDs), flash memory, memory, or memory devices. Computer-readable media may store code and / or machine-executable instructions, which may represent procedures, functions, subprograms, programs, routines, subroutines, modules, software packages, classes, or any combination of instructions, data structures, or program statements. Code segments may be coupled to other code segments or hardware circuits by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc., may be passed, transferred, or transmitted via any appropriate means, including memory sharing, message passing, token passing, network transmission, etc.
[0252] Specific details are given in the above description to provide a complete understanding of the embodiments and examples provided herein, but those skilled in the art will understand that this application is not limited thereto. Therefore, while exemplary embodiments of this application are described in detail herein, the concepts of the present invention may be embodied or utilized in various other ways, and it should be understood that, apart from the limitations of the prior art, the appended claims are intended to be interpreted as including such variations. The various features and aspects of the applications described above may be used individually or together. Furthermore, embodiments may be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of this specification. Therefore, this specification and the drawings should be considered illustrative, not limiting. For illustrative purposes, the methods have been described in a particular order. It should be understood that in alternative embodiments, the methods may be performed in a different order than described.
[0253] For clarity of explanation, in some cases the technology may be presented as including individual functional blocks comprising steps or routines in a method embodied by devices, device components, software, or a combination of hardware and software. Additional components other than those shown in the drawings and / or described herein may be used. For example, circuits, systems, networks, processes, and other components may be shown as components in the form of block diagrams, so as not to obscure the embodiment with unnecessary details. In other cases, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary details, so as not to obscure the embodiment.
[0254] Furthermore, those skilled in the art will understand that various exemplary logic blocks, modules, circuits, and algorithmic steps described in relation to the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination of both. To clearly demonstrate this hardware and software compatibility, various exemplary components, blocks, modules, circuits, and steps are generally described above in relation to their functions. Whether such functions are implemented as hardware or as software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art may implement the described functions in various ways for each specific application, but such decisions on implementation should not be construed as causing a departure from the scope of this disclosure.
[0255] Individual embodiments may be described above as processes or methods shown as flowcharts, flow diagrams, data flow diagrams, structural diagrams, or block diagrams. While flowcharts may describe operations as sequential processes, many operations can be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process terminates when its operation is complete, but it may have additional steps not shown in the diagram. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination may correspond to the function returning to a calling function or main function.
[0256] The processes and methods described above may be implemented using computer-executable instructions that are stored or otherwise available from computer-readable media. Such instructions may include, for example, instructions and data that cause a general-purpose computer, a dedicated computer, or a processing device to perform a particular function or group of functions, or otherwise configure a general-purpose computer, a dedicated computer, or a processing device to perform such a function. The portion of computer resources used may be accessible over a network. Computer-executable instructions may be, for example, binary or intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and / or information created during the methods described above include magnetic or optical disks, flash memory, USB devices with non-volatile memory, and network-connected storage devices.
[0257] In some embodiments, computer-readable storage devices, media, and memory may include cables or wireless signals, such as bitstreams. However, non-temporary computer-readable storage media, as referred to, explicitly exclude media such as energy, carrier signals, electromagnetic waves, and signals themselves.
[0258] Those skilled in the art will understand that information and signals may be represented using any of a variety of different techniques and methods. For example, data, instructions, commands, information, signals, bits, symbols, and chips, which may be mentioned throughout the above description, may, in some cases, be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or optical particles, or any combination thereof, depending in part on the specific application, desired design, corresponding technology, etc.
[0259] Various exemplary logic blocks, modules, and circuits described in relation to the embodiments disclosed herein may be implemented or executed in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and may employ any of various form factors. When implemented in software, firmware, middleware, or microcode, program code or code segments (e.g., computer program products) for performing the required tasks may be stored in computer-readable or machine-readable media. The processor may perform the required tasks. Examples of form factors include laptops, smartphones, mobile phones, tablet devices or other small personal computers, personal digital assistants, rack-mount devices, and standalone devices. The functions described herein may also be embodied in peripheral devices or add-in cards. Such functions may, as a further example, be implemented on circuit boards on different chips or on different processes running within a single device.
[0260] Instructions, a medium for transmitting such instructions, computing resources for executing the instructions, and other structures for supporting such computing resources are exemplary means for providing the functionality described herein.
[0261] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices, such as general-purpose computers, wireless communication device handsets, or integrated circuit devices having multiple applications, including applications in wireless communication device handsets and other devices. Any feature described as a module or component may be implemented together in an integrated logic device, or separately as individual but interoperable logic devices. When implemented in software, the technique may be at least partially implemented by a computer-readable data storage medium comprising program code that, when executed, includes instructions to perform one or more of the methods, algorithms, and / or operations described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise memory or data storage media such as random access memory (RAM), for example synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, etc. The technique may, as an addition or alternative, be at least partially implemented by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures, such as propagating signals or waves, and which can be accessed, read, and / or executed by a computer.
[0262] The program code may be executed by a processor which may include one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuit configurations. Such processors may be configured to perform any of the techniques described herein. The general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, the term “processor” as used herein may refer to any of the above structures, any combination thereof, or any other structure or device suitable for implementing the techniques described herein.
[0263] Those skilled in the art will understand that the symbols or terms less than ("<") and greater than (">") used herein may be replaced by the symbols less than or equal to ("≦") and greater than or equal to ("≧"), respectively, without departing from the scope of this description.
[0264] When a component is described as "configured to perform certain actions," such configuration can be achieved, for example, by designing electronics or other hardware to perform the actions, by programming programmable electronics (e.g., a microprocessor or other suitable electronics) to perform the actions, or by any combination thereof.
[0265] The phrase "to be coupled" or "to be communicatively coupled to" refers to any component that is physically connected to another component, either directly or indirectly, and / or communicates, either directly or indirectly, with another component (for example, connected to another component via a wired or wireless connection and / or other appropriate communication interface).
[0266] Claim language or other wording that states “at least one of” a set and / or “one or more” of a set indicates that one element of a set or multiple elements of a set (in any combination) satisfy the claim. For example, claim language that states “at least one of A and B” or “at least one of A or B” means A, B, or A and B. In another example, claim language that states “at least one of A, B, and C” or “at least one of A, B, or C” means A, B, C, or A and B, or A and C, or B and C, or A and B and C. The wording “at least one of” a set and / or “one or more” of a set does not limit the set to items enumerated in the set. For example, claim language that states “at least one of A and B” or “at least one of A or B” could mean A, B, or A and B, and could also include items not enumerated in the set A and B.
[0267] Exemplary embodiments of this disclosure include:
[0268] Embodiment 1: A device for heat reduction. The device includes at least one memory and at least one processor communicatively coupled to the at least one memory. The at least one processor is configured to acquire vehicle-related temperatures, determine based on the temperature whether to transfer one or more communication functions from the vehicle to a user device, and, in response to the determination to transfer one or more communication functions, transfer one or more communication functions from the vehicle's communication unit to the user device's communication unit.
[0269] Embodiment 2: An apparatus according to Embodiment 1, wherein at least one processor is configured to receive a request from a communication unit of a user device to perform at least one communication function of one or more communication functions for the communication unit of the user device, and to perform at least one communication function based on the request.
[0270] Embodiment 3: The apparatus according to Embodiment 2, wherein at least one processor is configured to transfer at least one communication function from the vehicle's communication unit to the user device's communication unit.
[0271] Embodiment 4: An apparatus according to any one of Embodiments 1 to 3, wherein at least one processor is configured to receive data from a communication unit of a user device based on one or more communication functions performed by the communication unit of the user device, and to output the data via an output device of the vehicle.
[0272] Embodiment 5: An apparatus according to Embodiment 4, wherein data is received by a communication unit of a user device via a communication interface provided by the vehicle.
[0273] Embodiment 6: A device according to any one of Embodiments 1 to 5, wherein one or more communication functions include at least one of a wireless network access function, a vehicle-to-everything (V2X) function, an emergency call function, or any combination thereof.
[0274] Aspect 7: One or more communication functions include a wireless network access function executed by a vehicle communication unit for a communication unit of a user device, and at least one processor is configured to send an instruction to start the wireless network access function to the communication unit of the user device, the device according to any one of Aspects 1 to 6.
[0275] Aspect 8: The device according to Aspect 7, wherein at least one processor is configured to deregister the vehicle communication unit from a communication network service provider.
[0276] Aspect 9: The device according to any one of Aspects 7 or 8, wherein at least one processor is configured to execute the wireless network access function until at least the communication unit of the user device starts executing the wireless network access function.
[0277] Aspect 10: One or more communication functions include a vehicle-to-everything (V2X) function, and at least one processor is configured to transfer the V2X function from the vehicle communication unit to the communication unit of the user device, the device according to any one of Aspects 1 to 9.
[0278] Aspect 11: The device according to Aspect 10, wherein at least one processor is configured to determine whether the user device is configured for the V2X function, and in response to a determination that the user device is configured for the V2X function, transfer the V2X function to the communication unit of the user device.
[0279] Aspect 12: The device according to any one of Aspects 1 to 11, wherein at least one processor is configured to send environmental information of the vehicle to the communication unit of the user device.
[0280] Aspect 13: The device according to Aspect 12, wherein the environmental information includes at least one of a V2X context of the vehicle, an emergency notification context of the vehicle, or any combination thereof.
[0281] Embodiment 14: An apparatus according to any one of Embodiments 1 to 13, wherein one or more communication functions include a vehicle-to-everything (V2X) function, and at least one processor is configured to determine whether a user device is configured for a V2X function, and to continue executing the V2X function in response to the determination that the user device is not configured for a V2X function.
[0282] Embodiment 15: An apparatus according to any one of Embodiments 1 to 14, wherein one or more communication functions include vehicle-to-everything (V2X) functions, and at least one processor is configured to transfer a first set of V2X functions from the vehicle's communication unit to the user device's communication unit, and the vehicle's communication unit executes a second set of V2X functions.
[0283] Embodiment 16: An apparatus according to any one of Embodiments 1 to 15, wherein one or more communication functions include a vehicle-to-everything (V2X) function, and at least one processor is configured to determine whether the temperature is above a first temperature threshold and to reduce the duty cycle of the V2X function in response to the determination that the temperature is above the first temperature threshold.
[0284] Embodiment 17: An apparatus according to Embodiment 16, wherein reducing the duty cycle of a V2X function includes reducing the transmission rate of one or more V2X messages.
[0285] Embodiment 18: An apparatus according to any one of Embodiments 16 or 17, wherein at least one processor is configured to determine the demand for a V2X function, and further reduces the duty cycle of the V2X function based on the determined demand for the V2X function.
[0286] Embodiment 19: An apparatus according to any one of Embodiments 16 to 18, wherein at least one processor is configured to acquire additional vehicle-related temperatures, determine whether the additional temperatures are higher than a second temperature threshold, and, in response to the determination that the additional temperatures are higher than the second temperature threshold, transfer one or more V2X functions from the vehicle's communication unit to the user device's communication unit.
[0287] Embodiment 20: An apparatus according to any one of Embodiments 1 to 19, wherein at least one processor is configured to perform a first communication function and a second communication function by a vehicle communication unit, determine whether the temperature is higher than a first temperature threshold, and, in response to the determination that the temperature is higher than the first temperature threshold, transfer the first communication function from the vehicle communication unit to the communication unit of a user device.
[0288] Embodiment 21: An apparatus according to Embodiment 20, wherein at least one processor is configured to send a request to transfer a first communication function from a vehicle communication unit to a user device communication unit.
[0289] Embodiment 22: An apparatus according to Embodiment 21, wherein at least one processor is configured to cause the vehicle's communication unit to shut down one or more communication functions in response to a request being sent.
[0290] Embodiment 23: An apparatus according to any one of Embodiments 21 or 22, wherein at least one processor is configured to output a notification on request, and the notification includes at least one of a displayed message, an audible message, haptic feedback, or any combination thereof.
[0291] Embodiment 24: An apparatus according to any one of Embodiments 20 to 23, wherein at least one processor is configured to acquire additional vehicle-related temperatures, determine whether the additional temperatures are higher than a second temperature threshold, and, in response to the determination that the additional temperatures are higher than the second temperature threshold, transfer a second communication function from the vehicle's communication unit to the user device's communication unit.
[0292] Embodiment 25: An apparatus according to Embodiment 24, wherein the first communication function includes a wireless network access function and the second communication function includes a vehicle-to-everything (V2X) function.
[0293] Embodiment 26: An apparatus according to Embodiment 24, wherein the first communication function includes a wireless network access function and the second communication function includes an emergency call function.
[0294] Embodiment 27: A device according to Embodiment 24, wherein the first communication function includes a vehicle-to-everything (V2X) function and the second communication function includes an emergency call function.
[0295] Embodiment 28: An apparatus according to any one of Embodiments 1 to 27, wherein at least one processor is configured to determine whether the temperature is higher than a first temperature threshold, and in response to the determination that the temperature is higher than the first temperature threshold, to send a request to transfer a first communication function from a vehicle communication unit to a user device communication unit.
[0296] Embodiment 29: An apparatus according to Embodiment 28, wherein at least one processor is configured to output a notification on request, the notification comprising at least one of a displayed message, an audible message, haptic feedback, or any combination thereof.
[0297] Embodiment 30: An apparatus according to any one of Embodiments 28 to 29, wherein at least one processor is configured to determine whether the temperature is higher than a second temperature threshold, and in response to the determination that the temperature is higher than the second temperature threshold, to transfer the first communication function from the vehicle's communication unit to the user device's communication unit.
[0298] Aspect 31: An apparatus according to any one of Aspects 1 to 30, wherein at least one processor is configured to transfer one or more additional communication functions from an additional communication unit of a vehicle to a user device in response to a determination that one or more communication functions are to be transferred.
[0299] Aspect 32: An apparatus according to any one of Aspects 1 to 31, wherein at least one processor is configured to determine whether a temperature is higher than a temperature threshold, and in response to a determination that the temperature is higher than the temperature threshold, transfer one or more communication functions from a communication unit of a vehicle to a communication unit of a user device.
[0300] Aspect 33: An apparatus according to Aspect 32, wherein at least one processor is configured to obtain an additional temperature related to a vehicle, determine that the additional temperature is lower than a temperature threshold, and in response to a determination that the additional temperature is lower than the temperature threshold, transfer one or more communication functions from a communication unit of a user device to a communication unit of a vehicle.
[0301] Aspect 34: An apparatus according to any one of Aspects 1 to 33, wherein the communication unit of the vehicle is a telematics control unit (TCU).
[0302] Aspect 35: An apparatus according to Aspect 34, wherein the TCU includes at least one of a network access device (NAD), one or more subscriber identification modules (SIMs), one or more modems, or any combination thereof.
[0303] Aspect 36: An apparatus according to any one of Aspects 1 to 35, wherein the communication unit of the user device is a modem.
[0304] Aspect 37: An apparatus according to any one of Aspects 1 to 36, wherein the communication unit of the vehicle is a modem.
[0305] Embodiment 38: An apparatus according to any one of Embodiments 1 to 37, wherein at least one processor is configured to transfer at least one communication function from a vehicle communication unit to a roadside unit (RSU) communication unit.
[0306] Embodiment 39: An apparatus according to any one of Embodiments 1 to 38, wherein at least one processor is configured to transfer at least one communication function from a vehicle communication unit to an additional vehicle communication unit.
[0307] Embodiment 40: A method for reducing heat by performing an operation according to any one of Embodiments 1 to 39.
[0308] Clause 41: A computer-readable medium comprising at least one instruction for causing a computer or processor to perform an operation according to any one of the embodiments 1 to 39.
[0309] Embodiment 42: A device for heat reduction, comprising means for performing an operation according to any one of Embodiments 1 to 39.
[0310] Embodiment 43: Apparatus for thermal load balancing. The apparatus includes at least one transceiver, at least one memory, and at least one processor communicatively coupled to at least one memory and at least one transceiver. The at least one processor is configured to receive a plurality of messages from one or more devices via at least one transceiver, determine a thermal level, determine a processing load based at least on the number of the plurality of messages, determine a filtering scheme to be applied to filter the plurality of messages in order to keep the processing load below the processing capacity based on the thermal level and the processing load, and apply the filtering scheme using one or more components associated with the apparatus to filter the plurality of messages.
[0311] Embodiment 44: The apparatus of Embodiment 43, wherein at least one processor is further configured to determine a filtering level based on processing load and processing capacity, and to determine a filtering scheme based on thermal level, processing load, and filtering level.
[0312] Embodiment 45: The apparatus of any embodiment 43 or 44, comprising one or more verification processors configured to process a plurality of messages, wherein at least one processor is configured to determine processing capacity based on the sum of the instantaneous processing capacities of one or more verification processors.
[0313] Embodiment 46: An apparatus according to any one of embodiments 43 to 45, wherein at least one processor is configured to determine the filtering level as the larger of a value of 0 and the ratio of the difference between the processing load and the processing capacity to the processing capacity.
[0314] Embodiment 47: The apparatus of any one of Embodiments 43 to 46, wherein at least one processor is configured to determine a filtering scheme from a plurality of filtering schemes, and each of the plurality of filtering schemes filters a plurality of messages of a different quantity.
[0315] Embodiment 48: An apparatus according to any of Embodiments 43 to 47, wherein each filtering scheme of a plurality of filtering schemes includes an instruction that identifies one or more components of a plurality of messages to be filtered and a corresponding filtering criterion according to which the plurality of messages should be filtered.
[0316] Embodiment 49: An apparatus according to any of embodiments 43 to 48, wherein each of a plurality of messages received from one or more devices includes information relating to at least one of the corresponding speed, direction of movement, distance, or any combination thereof of one or more of the devices, and at least one processor is configured to filter the plurality of messages based on one or more of the distance, direction of movement, and speed of one or more of the devices when applying a corresponding filtering criterion.
[0317] Embodiment 50: A device according to any of Embodiments 43 to 49, wherein one or more components to which the filtering scheme is applied include at least one of the following: an Intelligent Transportation System (ITS) of the device, a Vehicle-to-Everything (V2X) component of a modem associated with the device, a downstream component of a modem, or any combination thereof.
[0318] Embodiment 51: An apparatus of any of Embodiments 43 to 50, wherein, as the thermal level increases, the filtering method, when applied, results in filtering of a larger number of multiple messages.
[0319] Embodiment 52: An apparatus of any embodiment 43 to 51, wherein, as the thermal level and processing load increase, the filtering scheme, when applied, results in filtering of a larger number of multiple messages.
[0320] Embodiment 53: An apparatus according to any of Embodiments 43 to 52, wherein the filtering method includes not filtering multiple messages when the thermal level is the lowest defined thermal level.
[0321] Embodiment 54: A device according to any embodiment 43 to 53, wherein the filtering method includes shutting down a modem component associated with the device to prevent the reception of additional messages for processing by the device until the processing load of the device falls below its processing capacity.
[0322] Embodiment 55: A device according to any of Embodiments 43 to 54, wherein multiple messages are vehicle-to-everything (V2X) messages.
[0323] Embodiment 56: The apparatus according to any of Embodiments 43 to 55, wherein the thermal level is one of a plurality of thermal levels, and each of the plurality of thermal levels corresponds to a range of temperatures of the internal components of the apparatus.
[0324] Embodiment 57: An apparatus according to any of embodiments 43 to 56, wherein multiple messages are signed using a signature, and at least one processor is configured to verify the multiple messages based on the signature.
[0325] Embodiment 58: An apparatus according to any of embodiments 43 to 57, wherein the apparatus is a vehicle computing system for a vehicle.
[0326] Embodiment 59: An apparatus according to any of Embodiments 43 to 58, wherein one or more devices include at least one of a vehicle, a mobile device, a roadside unit, a traffic management system, a public transport system, or any combination thereof.
[0327] Embodiment 60: An apparatus according to any one of embodiments 43 to 59, wherein at least one processor is configured to apply a load balancing scheme to distribute filtered messages among one or more processing cores associated with the apparatus in order to process a plurality of filtered messages.
[0328] Embodiment 61: A method for reducing heat by performing an operation according to any one of Embodiments 43 to 60.
[0329] Embodiment 62: A computer-readable medium comprising at least one instruction for causing a computer or processor to perform an operation according to any one of Embodiments 43 to 60.
[0330] Embodiment 63: An apparatus for thermal load balancing, comprising means for performing operations according to any one of Embodiments 43 to 60.
[0331] Embodiment 64: A method comprising operation according to any one of Embodiments 1 to 39 and Embodiments 43 to 60.
[0332] Embodiment 65: An apparatus comprising at least one transceiver, at least one memory, and at least one processor communicatively coupled to at least one memory and at least one transceiver. The at least one processor is configured to perform operations according to any one of embodiments 1 to 39 and embodiments 43 to 60.
[0333] Embodiment 66: A computer-readable medium comprising at least one instruction for causing a computer or processor to perform an operation according to any one of Embodiments 1 to 39 and Embodiments 43 to 60.
[0334] Embodiment 67: An apparatus comprising means for performing an operation according to any one of Embodiments 1 to 39 and Embodiments 43 to 60. [Explanation of Symbols]
[0335] 102 BS 104 UE 110 Geographic Coverage Areas 120 Communication Links 134 Backhaul Link 150 AP 152 UE 164 UE 170 Core Network 172 Location Server 180 mmW BS 182 UE 184 mmW communication link 190 UE 192 D2D P2P Link 194 D2D P2P Links 204 UE 210 5GC 212 User Plane 213 NG-U 214 Control Plane 215 NG-C 220 New RAN 222 gNB 223 Backhaul connection 224 ng-eNB 230 Location Servers 260 5GC 262 UPF 263 User Plane Interface 264 AMF 265 Control Plane Interface 266 SMF 302 BS 303 Roadside Unit 304 vehicles 305 vehicles 307 User Devices 404 vehicles 450 Vehicle Computing Systems 451 Power Management System 452 Control System 454 Infotainment System 455 Advanced Road Traffic Systems 456 Sensor System 458 Communication Systems 460 OEM SIM 462 User SIMs 464 modem 507 User Devices 570 User Device Computing System 572 Input Devices 576 Modem 578 Wire Restaurant Seaba 580 Output Devices 584 processors 586 memory devices 588 signal 589 Bus 612 Normal operating temperature range 614 Heat Level 615 Mitigation Level 616 Heat Level 617 Mitigation Level 618 Heat Level 619 Mitigation Level 1000 Vehicle Computing Systems 1002 Modem 1004 Thermal Management Components 1006 V2X Stack 1008 Downstream Components 1010 Application Processor 1012 Advanced Road Traffic Systems 1014 Verification Library 1016 Dispatcher 1018 Processing Core 1020 Load Balancer 1022 Latency Sensor 1024 Heat Manager 1026 Throttling Manager 1050 Vehicle Computing System 1052 Dispatcher 1054 Load Balancer 1056 Thermal Engine 1058 Throttling Manager 1060 Advanced Road Traffic Systems 1062 V2X stack 1064 Downstream Components 1065 Modem 1405 Connection 1410 Processor 1412 cache 1415 memory 1420 ROM 1425 RAM 1430 Storage Devices 1432 Service 1 1434 Service 2 1435 Output Device 1436 Service 3 1440 Communication Interface 1445 Input Devices
Claims
1. A device for reducing heat, At least one memory, At least one processor that is communicatively coupled to the aforementioned at least one memory, To obtain vehicle-related temperatures, Based on the temperature, the heat reduction level for the vehicle is determined from a plurality of heat reduction levels, The first thermal reduction level of the plurality of thermal reduction levels is associated with the transfer of one or more communication functions from the vehicle to a user device and a first temperature threshold, and the first communication function includes a wireless network access function performed by the vehicle. The second thermal reduction level of the plurality of thermal reduction levels is associated with the transfer of the second communication function of one or more communication functions from the vehicle to the user device and a second temperature threshold, and the second communication function includes a vehicle-to-everything (V2X) function. The third thermal reduction level of the plurality of thermal reduction levels is associated with the transfer of the third communication function of one or more communication functions from the vehicle to the user device and a third temperature threshold, and the third communication function includes one or more emergency services. The second temperature threshold is higher than the first temperature threshold. The third temperature threshold is higher than the second temperature threshold. That thing, Determining that the heat reduction level determined from the plurality of heat reduction levels is associated with the transfer of one or more communication functions from the vehicle to the user device, In response to the determination that the heat reduction level is associated with the transition of one or more communication functions, the one or more communication functions are transitioned from the vehicle's communication unit to the user device's communication unit. A processor configured to perform the following: A device equipped with the following features.
2. The aforementioned at least one processor, The communication unit of the user device receives a request to perform at least one of the one or more communication functions for the communication unit of the user device. Based on the above requirements, perform at least one communication function, Based on the temperature, the at least one communication function is transferred from the vehicle's communication unit to the user device's communication unit. The apparatus according to claim 1, configured as follows.
3. The aforementioned at least one processor, The user device receives data from the communication unit of the user device based on one or more communication functions performed by the communication unit of the user device. The output device of the vehicle outputs the data. The apparatus according to claim 1, configured as follows.
4. The aforementioned at least one processor, A command to initiate the wireless network access function is transmitted to the communication unit of the user device. The apparatus according to claim 1, configured as follows.
5. The aforementioned at least one processor, The communication unit of the vehicle is deregistered from the communication network service provider, or The wireless network access function is executed until at least the communication unit of the user device starts executing the wireless network access function. The apparatus according to claim 4, configured as follows.
6. The aforementioned at least one processor, Determine whether the user device is configured for the V2X function, In response to the determination that the user device is configured for the V2X function, the V2X function is transferred to the communication unit of the user device. The apparatus according to claim 1, configured as follows.
7. The aforementioned at least one processor, Determine whether the user device is configured for the V2X function, In response to the determination that the user device is not configured for the V2X function, the V2X function will continue to run, or The first set of V2X functions is transferred from the vehicle's communication unit to the user device's communication unit. The communication unit of the vehicle executes the second set of V2X functions. The apparatus according to claim 1, configured as follows.
8. The aforementioned at least one processor, Determine whether the temperature is higher than the first temperature threshold. In response to the determination that the temperature is higher than the first temperature threshold, the duty cycle of the V2X function is reduced. The apparatus according to claim 1, configured as follows.
9. The apparatus according to claim 8, wherein reducing the duty cycle of the V2X function includes reducing the transmission rate of one or more V2X messages.
10. The aforementioned at least one processor, It is configured to determine the demand for the V2X function, and further reduces the duty cycle of the V2X function based on the determined demand for the V2X function, or The aforementioned at least one processor, Obtain additional temperatures related to the aforementioned vehicle, Determine whether the additional temperature is higher than the second temperature threshold. In response to the determination that the additional temperature is higher than the second temperature threshold, one or more V2X functions are transferred from the vehicle's communication unit to the user device's communication unit. The apparatus according to claim 8.
11. The aforementioned at least one processor, At least one communication function is transferred from the vehicle's communication unit to the roadside unit (RSU)'s communication unit, or Transfer at least one communication function from the communication unit of the vehicle to the communication unit of an additional vehicle. The apparatus according to claim 1, configured as follows.
12. A method of thermal mitigation performed by at least one processor, Steps include obtaining vehicle-related temperatures, A step of determining a thermal reduction level for the vehicle from a plurality of thermal reduction levels based on the temperature, or relating to at least one of modifying one or more of the specific functions. The first thermal reduction level of the plurality of thermal reduction levels is associated with the transfer of one or more communication functions from the vehicle to a user device and a first temperature threshold, and the first communication function includes a wireless network access function performed by the vehicle. The second thermal reduction level of the plurality of thermal reduction levels is associated with the transfer of the second communication function of one or more communication functions from the vehicle to the user device and a second temperature threshold, and the second communication function includes a vehicle-to-everything (V2X) function. The third thermal reduction level of the plurality of thermal reduction levels is associated with the transfer of the third communication function of one or more communication functions from the vehicle to the user device and a third temperature threshold, and the third communication function includes one or more emergency services. The second temperature threshold is higher than the first temperature threshold. The third temperature threshold is higher than the second temperature threshold. Steps and The steps include determining that the heat reduction level determined from the plurality of heat reduction levels is associated with the transfer of one or more communication functions from the vehicle to the user device, In response to the determination that the heat reduction level is associated with the transition of one or more communication functions, the steps include: transitioning one or more communication functions from the vehicle's communication unit to the user device's communication unit; A method that includes [a certain feature].