Method and electronic device for intelligently selecting an active transceiver in a multi-transceiver device
By analyzing the signal quality, temperature, and cooling capacity of multiple transceivers and using machine learning models to predict switching time, the problems of transceiver switching delay and overheating in electronic devices are solved, improving device performance and user experience.
Patent Information
- Application Number
- CN202180037720.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-05-25
- Filing Date
- 2021-05-13
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2041-05-13
AI Technical Summary
In electronic devices, existing technologies have delays and overheating issues when switching active transceivers, resulting in overheating of device components and poor user experience, especially when frequently switching transceivers during high-speed communications.
By analyzing the signal quality, current temperature, and cooling capacity of multiple transceivers, it intelligently identifies the next active transceiver and switches it before the threshold temperature is reached. It uses machine learning models to predict switching times to reduce latency and overheating.
It reduces signal switching delays caused by overheating, prevents device components from overheating, improves device performance and user experience, and extends device life.
Smart Images

Figure CN115668801B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to selecting an active antenna module in a device having multiple antenna modules, and more particularly, to a system and method for selecting an active antenna module based on at least one of signal quality, temperature, and cooling capacity of the multiple antenna modules. Background Art
[0002] In recent years, many electronic devices have begun supporting high-speed communication mechanisms, such as millimeter wave (mmWave) frequency bands or the 5G technology standard. Due to these high-speed communication capabilities, these devices are often able to transmit large amounts of data in a short period of time. This large-scale data transmission can cause the active transceivers in these electronic devices to overheat. This, in turn, can cause other components in the electronic device to overheat.
[0003] To avoid overheating and / or provide high-quality communication, some electronic devices include multiple transceivers (e.g., antenna modules). In such devices, one transceiver is typically active at a given time. Once the active transceiver begins to overheat and / or signal quality drops below a threshold, the device switches signal transmission to another transceiver. However, each time transmission is switched due to overheating, there may be a delay in signal transmission. This is inconvenient for users and can lead to user frustration and dissatisfaction with the device. Summary of the Invention
[0004] An apparatus and method for switching signal transmission from a first transceiver to a second transceiver are described. In one general aspect, the present disclosure provides an electronic device comprising a processor, a plurality of transceivers, and a memory in communication with the processor. The memory may include executable instructions that, when executed by the processor, cause the electronic device to: when the first transceiver is active, identify a second transceiver from the plurality of transceivers to which signal transmission is to be switched from the first transceiver based on signal quality, current temperature, and cooling capacity of each of the plurality of transceivers, and switch signal transmission from the first transceiver to the identified second transceiver.
[0005] In another general aspect, the present application describes a method for switching signal transmission from a first transceiver to a second transceiver. The method may include, when the first transceiver is active, identifying a second transceiver from a plurality of transceivers and based on a signal quality, a current temperature, and a cooling capacity of each of the plurality of transceivers to which signal transmission is to be switched from the first transceiver, and switching signal transmission from the first transceiver to the identified second transceiver.
[0006] This summary is provided to introduce a selection of concepts that are further described below in a simplified form in specific implementations. This disclosure is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to limitations that address any or all of the disadvantages mentioned in any part of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings depict one or more implementations of the present teachings by way of example only and not limitation. In the accompanying drawings, like reference numerals refer to like or similar elements. In addition, it should be understood that the accompanying drawings are not necessarily drawn to scale.
[0008] Figure 1A Depicted is a top-down schematic diagram of an electronic device upon which aspects of the present disclosure may be implemented.
[0009] Figure 1B Depicted is a top-down schematic diagram of an alternative electronic device upon which aspects of the present disclosure may be implemented.
[0010] Figure 2 Depicted are example systems upon which aspects of the present disclosure may be implemented.
[0011] Figure 3 Graph depicting changes in temperature of multiple transceivers in an electronic device.
[0012] Figure 4 is a flow chart of a method for switching signal transmission from an active transceiver of an electronic device to another transceiver.
[0013] Figure 5 is a block diagram illustrating an example software architecture, portions of which may be used in conjunction with the various hardware architectures described herein.
[0014] Figure 6 is a block diagram illustrating components of an example machine configured to read instructions from a machine-readable medium and perform any of the features described herein. DETAILED DESCRIPTION
[0015] In the following detailed description, numerous specific details are set forth by way of example to provide a thorough understanding of the relevant teachings. It will be apparent to those skilled in the art, after reading this specification, that various aspects may be practiced without these details. In other instances, well-known methods, procedures, components, and / or circuit systems are described at a relatively high level without detailed description in order to avoid unnecessarily obscuring various aspects of the present teachings.
[0016] Many electronic devices today support high-speed communication mechanisms. When using these high-speed communication tools, devices can often send and / or receive large amounts of data in a short period of time. This can cause the active transceiver involved in the data transmission to overheat, which in turn can lead to overheating of other components within the device. Because many devices providing communication capabilities include multiple transceivers, to prevent overheating, the device often switches signal transmission from the active transceiver (e.g., an overheated transceiver) to another transceiver within the device. To determine which transceiver to switch the signal to, the signal quality and / or temperature of the remaining transceivers in the device can be analyzed. The transceiver providing the best signal quality and / or with the lowest current temperature can be selected for switching. However, the current temperature may not be an accurate indicator of which transceiver will overheat next. This is because other factors besides current temperature may affect a transceiver's thermal behavior. As a result, selecting a transceiver based on current temperature and / or signal quality can cause the selected transceiver to overheat quickly, resulting in another switch shortly after the first switch. In many devices, there is a time delay between when an active transceiver overheats and when the next transceiver begins transmitting. This time delay can cause interruptions to tasks currently being performed on the device. The more often a device needs to switch transmissions, the more likely this time delay is to occur. Consequently, inaccurate identification of the transceiver to which a signal transmission is directed can lead to frequent interruptions to activities being performed on the device. This leads to system inefficiencies and user inconvenience and dissatisfaction.
[0017] To address these and other technical issues, a technical solution is provided that includes identifying the next active transceiver to which signal transmission is to be switched from an active transceiver, from among multiple transceivers in a device, based on the signal quality, current temperature, and cooling capacity of each of the multiple transceivers. The cooling capacity may depend on the location of each transceiver in the device and / or whether an external cooling module (e.g., a fan) is available for the transceiver. Furthermore, the technical solution can intelligently determine the amount of time it may take for an active transceiver to reach a threshold temperature (e.g., an overheating temperature), intelligently identify the transceiver to which signal transmission is to be switched from the active transceiver, and preemptively switch the transmission before the active transceiver reaches the threshold temperature. This can reduce and / or eliminate time delays between signal switches due to overheating. Furthermore, because the switch can be performed before the threshold temperature is reached, device components can be prevented from overheating. This can increase device life expectancy and improve user experience.
[0018] As will be understood by those skilled in the art upon reading this disclosure, the benefits and advantages provided by this implementation may include, but are not limited to, a solution to the technical problem of accurately identifying the transceiver in a device that provides the highest thermal capacity (e.g., the transceiver that can remain active for the longest time before overheating) and the need to reduce frequent switching and / or time delays between switching due to overheating. Thus, this technical solution improves device performance and device life expectancy, and improves user experience.
[0019] Referring now to the accompanying drawings, Figure 1A A schematic top view of an electronic device 100A is depicted on which aspects of the present disclosure may be implemented. In some implementations, the electronic device is a foldable device having multiple operating modes. Examples of suitable electronic devices include, but are not limited to, dual-screen laptops, dual-screen mobile phones, single-screen laptops, foldable tablets, and other foldable mobile phones. Figure 1A In the example of FIG, device 100A is a dual-screen mobile phone having a right portion 125 movably connected to a left portion 115.
[0020] The right portion 125 may include a housing 135 and a display screen 165. The housing 135 may provide an internal housing for the display screen 165 and various additional components that may be included in the right portion 125 of the device 100A. In one example, some components such as the system on a chip (SoC) 150, the memory 160, the transceiver 110, and the cooling module 155 are located behind the display screen 165. Other components such as the transceiver 120 and the transceiver 130 may be located on the periphery of the display screen 165. The transceivers 120 and 130 may be located closer to the outer edge of the housing 135 to provide better signal quality.
[0021] The left portion 115 may include a housing 170 and a display screen 145. The housing 170 may provide an internal housing for the display screen 145, the additional transceiver 140, and various additional components such as a battery 175 (which may be located behind the display screen 145). Thus, the electronic device 100A may include transceivers 110, 120, 130, and 140 located at different locations within the electronic device to provide multiple alternative communication modules. This may provide continuous connectivity even when one or more transceivers are blocked due to device posture, device location, and / or other reasons. In some implementations, each of the transceivers 110, 120, 130, and 140 has a corresponding temperature sensor 105 for measuring the current temperature of the transceiver.
[0022] The different locations of each transceiver 110, 120, 130, and 140 may result in each transceiver having different thermal behavior and / or cooling capabilities. This is because each transceiver may be adjacent to different types of components, and these components may themselves have varying thermal behaviors. For example, transceiver 110 is located near SoC 150, which may generate its own heat. However, transceiver 110 is also located near cooling module 155. Cooling module 155 may be a fan or any other element capable of reducing the temperature of electronic components. In some implementations, cooling module 155 may provide significant cooling capacity, thereby offsetting any heat generated by SoC 150. Each of transceivers 130 and 140 may be less affected by heat generation because they are not in close proximity to any heat-generating components of electronic device 100A. Furthermore, transceivers 130 and 140 are positioned closer to the edges of housings 135 and 170, which may allow them to dissipate some heat to the surrounding environment. On the other hand, transceiver 120 is located near memory 160, which may also generate heat. Furthermore, the location of transceiver 120 does not provide any space for a cooling module. Furthermore, transceiver 120 is located within the device near where a user might hold the device. A user's fingers near transceiver 120 generate additional heat. Furthermore, the presence of a user's fingers and / or palm can prevent heat from dissipating from transceiver 120 and / or block transceiver 120, which degrades the transmitted signal. Consequently, each of transceivers 110, 120, 130, and 140 may exhibit different thermal behavior and have different cooling capabilities. It should be noted that the locations shown for each transceiver 110, 120, 130, and 140 are examples. In different configurations, each of transceivers 110, 120, 130, and 140 may be placed anywhere within the housing provided by housings 135 and 170.
[0023] The right portion 125 can be movably connected to the left portion 115 via two connecting elements 180. In one example, the connecting element 180 includes one or more hinges. The connecting element 180 can enable the right portion 125 to pivot relative to the left portion 115 to provide a variety of operating modes. In some implementations, the connecting element 180 includes a 360° rotating hinge, which enables each of the right portion 125 and the left portion 115 to rotate up to 360° to provide a variety of modes. These modes can include a horizontal dual-screen mode, a vertical dual-screen mode (e.g., the left portion 115 is positioned at a 90° angle relative to the right portion 125, and vice versa), a single-screen mode (e.g., the left portion 115 is folded behind the right portion 125, and vice versa), and a closed mode (e.g., the left portion 115 is folded on top of the right portion 125, and vice versa). It should be noted that although the left portion 115 and the right portion 125 are referred to as the left portion and the right portion, other configurations are also contemplated. For example, the left and right parts may be arranged such that they function as the top and bottom parts.
[0024] Due to the various operating modes provided, each of transceivers 110, 120, 130, and 140 may be blocked from sending communication signals to and / or receiving communication signals from a base station with which electronic device 100A is communicating, or may have difficulty doing so. For example, in single-screen mode, if transceiver 110 is used as the active transceiver, because the back of right portion 125 is blocked by left portion 115, transceiver 110 may initially have difficulty communicating with the base station. In another example, when transceiver 120 is the active transceiver, a user may place his / her finger near transceiver 120 (e.g., when holding the device in horizontal dual-screen mode). As a result, transceiver 120 may be blocked from communicating with the base station or may have difficulty communicating with the base station. In this case, in order to switch signals, electronic device 100A may need to identify one or more alternative transceivers from the inactive transceivers.
[0025] When the active transceiver reaches a threshold temperature, it may also be necessary to switch transmission to a different transceiver. The threshold temperature can be a temperature above which damage to the transceiver and / or other components of the device may occur and / or a hot spot may appear on the electronic device. A hot spot can be a portion of the housing that becomes hot enough to cause discomfort and / or minor burns to a user's hands or fingers. In one example, the threshold temperature is 48 degrees Celsius. In another example, the threshold temperature is 43 degrees Celsius. To prevent damage to the device and / or injury to the user, the electronic device 100A can identify one or more alternative transceivers from the inactive transceivers to which to switch the signal. This may occur when or before the active transceiver reaches the threshold temperature.
[0026] When it is necessary to identify an alternative transceiver, the electronic device 100A can analyze the inactive transceivers to determine which transceiver(s) provide good signal quality. In addition, because each of the transceivers 110, 120, 130, and 140 has different thermal behaviors and conditions, the current temperature and / or cooling capacity of each inactive transceiver can also be analyzed to identify the transceiver(s) that are unlikely to reach the threshold temperature within a short period of time. Such a transceiver is referred to as the next active transceiver here. In some implementations, the cooling capacity of one or more transceivers can depend on the device posture (e.g., the operating mode of the device 100A and / or the way the user holds the device 100A). For example, the cooling capacity of the transceiver can be a first value when the device is operating in a closed orientation, and a second value when the device is operating in an open orientation. As another example, the cooling capacity of the transceiver can be a first value when the device is operating in a horizontal orientation, and a second value when the device is operating in a vertical orientation. In some implementations, the cooling capacity value of each transceiver is stored in a lookup table that can be accessed to identify the cooling capacity of a transceiver for a particular orientation and / or operating mode. When two or more transceivers provide similar signal quality, the transceiver that is likely to take the longest time to reach the threshold temperature can be selected. In this way, not only the current temperature and signal quality of the transceiver can be taken into account, but also conditions that may affect the transceiver's thermal behavior and / or cooling capacity, providing a more accurate identification of the next active transceiver.
[0027] Figure 1B A schematic top view of an alternative electronic device on which aspects of the present disclosure may be implemented is depicted. In some implementations, the electronic device is a non-foldable device. Examples of suitable electronic devices include, but are not limited to, single-screen mobile phones, single-screen tablets, and single-screen electronic wearable devices (e.g., smart watches, etc.). Figure 1B In the example of , device 100B is a single-screen mobile phone having a housing 185.
[0028] Housing 185 may provide an internal housing for display screen 190 and various additional components that may be included in electronic device 100B. In one example, some components, such as system-on-chip (SoC) 150, transceiver 110, memory 160, battery 175, and cooling module 155, may be located behind display screen 190. Other components, such as transceivers 120, 130, and 140, may be located on the periphery of housing 185. Transceivers 120, 130, and 140 may be located closer to the outer edge of housing 185 to provide better signal quality. In some implementations, each of transceivers 110, 120, 130, and 140 has a corresponding temperature sensor 105 for measuring the current temperature of the transceiver. In some implementations, the current temperature of the transceiver is determined / estimated based on data from one or more temperature sensors. For example, the current temperature of the transceiver may be estimated by taking a weighted average of temperature readings from two or more temperature sensors. Because electronic device 100B is not foldable, all components may need to be located within housing 185. This may result in a thicker housing 185 (compared to housings 135 and 170), which may affect the thermal behavior of transceivers 110, 120, 130, and 140. For example, thicker housing 185 may allow for unoccupied space near one or more of transceivers 110, 120, 130, and 140, thereby enabling more heat dissipation. This unoccupied space may be taken into account when analyzing the cooling capabilities of a transceiver.
[0029] As mentioned above Figure 1A As discussed, the different locations of each transceiver 110, 120, 130, and 140 within electronic device 100B can result in each transceiver having different thermal behavior and / or cooling capabilities. This is because each of transceivers 110, 120, 130, and 140 is located near different types of components, and these components may have different thermal behaviors. For example, transceiver 110 is located near cooling module 155, which can actively reduce the temperature of transceiver 110. On the other hand, transceivers 120, 130, and 140 are located closer to the edge of the housing, which may allow them to dissipate some heat to the surrounding environment. However, transceiver 120 is located within the device near a location where a user may grip the device. As discussed above, a user's finger(s) near transceiver 120 may generate additional heat and / or may prevent heat from dissipating from transceiver 120. Therefore, each of transceivers 110, 120, 130, and 140 may exhibit different thermal behavior and have different cooling capabilities. It should be noted that the locations shown for each transceiver 110 , 120 , 130 , and 140 are example locations. In different configurations, each of the transceivers 110 , 120 , 130 , and 140 can be placed anywhere within the housing provided by the enclosure 185 .
[0030] When an active transceiver in the electronic device 100B is blocked (e.g., due to a user's hand or another object blocking the signal) and / or the active transceiver has reached a threshold temperature, one or more algorithms may be utilized to identify the next active transceiver from the inactive transceivers of the electronic device 100B, as discussed further below. Figure 1A As discussed, this can be achieved by analyzing the signal quality of each remaining transceiver along with its current temperature and / or cooling capacity to identify a transceiver that provides acceptable signal quality while also providing the ability to be used longer before reaching a threshold temperature. In some implementations, identifying the next transceiver to be used includes determining a time period after the next transceiver is activated for the next transceiver to reach a corresponding threshold temperature. In some implementations, the time period is determined based on one or more of the following: the current temperature of the next transceiver, the cooling capacity of the next transceiver, the device posture, the operating state of the device, etc. The algorithm for identifying the next transceiver may include calculating a weighted average of the signal quality of each transceiver and the time period, and then selecting the transceiver that provides the best weighted average as the next transceiver.
[0031] The process of analyzing inactive transceivers to identify the next active transceiver and then switching the signal to that transceiver can take some time. If the active transceiver has reached a threshold temperature, the device may need to throttle the signal to prevent overheating. When this happens during an active communication session (e.g., during a video call), the amount of time required to identify the next active transceiver and switch the signal can cause the session to be interrupted.
[0032] In some implementations, to avoid such interruptions, the amount of time required for the active transceiver to reach a threshold temperature can be predetermined. In some implementations, this is accomplished by utilizing one or more machine learning (ML) models and depends on various factors, such as the amount of power used by the active transceiver, the tasks performed by the electronic device 100B, the cooling capabilities of the active transceiver, and / or the current temperature of the active transceiver, as described below with reference to Figure 2 Similarly, the next active transceiver can be identified by utilizing one or more ML models and analyzing multiple factors, as described below with reference to Figure 2 Once the amount of time is determined and the next active transceiver is identified, the signal can be switched to the next active transceiver before the amount of time is reached.
[0033] In general, the methods and systems described herein may include or utilize machine-trained models to identify the next active transceiver and determine the amount of time it may take for an active transceiver to reach a threshold temperature. ML generally includes various algorithms that are automatically constructed by computers and improved over time. The foundations of these algorithms are generally based on mathematics and statistics that can be used to predict events, classify entities, diagnose problems, and approximate model functions. For example, data generated by the ML model can be used to train the system to identify patterns of user activity, determine the correlation between activities performed on the device and the temperature of active transceivers, and determine the correlation between device posture and the thermal behavior of the transceiver. This training can be performed after accumulating, reviewing, and / or analyzing data from a large number of devices over time and is configured to provide an initial or ongoing training set to the ML algorithm (MLA). In addition, in some implementations, the device can be configured to transmit locally captured data to a local or remote ML program during use of the relevant application(s), and provide supplemental training data that can be used to fine-tune or increase the effectiveness of the MLA.
[0034] In different implementations, a training system may be used that includes an initial ML model (which may be referred to as an "ML model trainer") that is configured to generate subsequent trained ML models based on training data obtained from a training data repository or from device-generated data. The generation of the initial and subsequent trained ML models may be referred to as "training" or "learning." The training system may include and / or access a large number of computing resources for training (including a number of computer server systems suitable for machine learning training), such as the cloud. In some implementations, the ML model trainer is configured to automatically generate multiple different ML models from the same or similar training data for comparison. For example, different underlying ML algorithms may be trained, such as, but not limited to, decision trees, random decision forests, neural networks, deep learning (e.g., convolutional neural networks), support vector machines, regression (e.g., support vector regression, Bayesian linear regression, or Gaussian process regression). As another example, the size or complexity of the model may vary between different ML models, such as the maximum depth of a decision tree, or the number and / or size of hidden layers in a convolutional neural network. As another example, different training methods can be used to train different ML models, such as, but not limited to, the selection of training, validation, and test sets for the training data set, the ordering and / or weighting of the training data items, or the number of training iterations. One or more of the resulting multiple trained ML models can be selected based on factors such as, but not limited to, accuracy, computational efficiency, and / or power efficiency. In some implementations, a single trained ML model can be generated.
[0035] The training data can be continuously updated, and one or more ML models used by the system can be modified or regenerated to reflect updates to the training data. Over time, the training system (whether stored remotely, locally, or both) can be configured to receive and accumulate more training data items, thereby increasing the amount and variety of training data available for ML model training, resulting in an increase in the accuracy, effectiveness, and robustness of the trained ML models.
[0036] Figure 2 An example system 200 is shown on which various aspects of the present disclosure may be implemented. The system 200 may include a server 210 that may contain and / or execute a transceiver switching service 215. The server 210 may be located on a server that may be accessed by a device such as a device 250 (or Figures 1A-1B The server 210 may be operated as a shared resource server at an enterprise, accessed by various computer devices (e.g., electronic devices 100A and 100B). The server 210 may also operate as a cloud-based server to provide transceiver switching services to multiple electronic devices. Although illustrated as a single server, the server 210 may represent multiple servers for performing various operations. For example, the server 210 may include one or more processing servers for performing the operations of the next active transceiver identification engine 220 and the transceiver overheat time determination engine 225.
[0037] The transceiver switching service 215 may include a next active transceiver identification engine 220 and a transceiver overheat time determination engine 225 for providing transceiver switching assistance. The transceiver overheat time determination engine 225 may provide intelligent determination of the amount of time remaining until an active transceiver in a device (e.g., device 250) reaches a threshold temperature. This may be initiated by receiving a request for the transceiver switching service from device 250. In some implementations, the request may be automatically transmitted from device 250 when certain conditions are met. For example, the request may be automatically submitted when the current temperature of the active transceiver exceeds a first threshold (e.g., 30°C). In other examples, the request may be submitted when the amount of power used by the active transceiver exceeds a predetermined amount. The request may include information about the active transceiver, such as data related to the current temperature of the active transceiver, the location of the active transceiver within the device, the cooling capacity of the active transceiver, the device posture, and / or the current power consumption. In addition, the request may include information about the task(s) currently being executed on the device.
[0038] Upon receiving the request, the transceiver overheat time determination engine 225 can calculate an estimated amount of time it will take for the active transceiver to reach a threshold temperature based on the provided data. In some implementations, this can be performed by one or more ML models. For example, the transceiver overheat time determination engine 225 can calculate the amount of power the active transceiver is likely to consume to perform the current communication task and then estimate the heat generated by this power over a given time period. Additionally and / or alternatively, the transceiver overheat time determination engine 225 can determine future activities that the user is likely to perform based on user history and / or current activities performed on the device 250 and then analyze their impact on the transceiver. Furthermore, the transceiver overheat time determination engine 225 can analyze the device posture to determine the heat dissipation capacity of the active transceiver. This information, in addition to the active transceiver's location in the device and / or any cooling modules provided for the active transceiver, can also provide an understanding of the active transceiver's cooling capacity. The cooling capacity can offset some of the heat expected to be generated by the active transceiver. Analyzing the current temperature of the active transceiver and the amount of power consumed by the active transceiver can provide an estimated rate of temperature increase over time. The estimated temperature increase can be adjusted based on the cooling capacity to determine the amount of time required until the active transceiver is likely to reach the threshold temperature. The determined amount can be communicated to device 250.
[0039] The next active transceiver identification engine 220 can provide intelligent identification of the next active transceiver. This can be initiated by receiving a request from the device 250. The request can include information about each inactive transceiver. This information can include the current temperature of each transceiver, the location of each transceiver in the device, the cooling capacity of each transceiver, and the signal quality of each transceiver. In addition, this information can include data about the device posture, the task(s) currently being executed on the device, the tasks that may be executed in the future, and the power consumed by the active transceivers.
[0040] Once the request and required data are received, the next active transceiver identification engine 220 can identify the next active transceiver by analyzing each inactive transceiver and determining which one provides a better combination of signal quality and heat tolerance. In some implementations, this can be performed by one or more ML models. For example, the next active transceiver identification engine 220 can determine the amount of power consumed to provide communications for the currently executed activity and estimate the heat generated by these activities over a given time period (e.g., the heat generated by each transceiver if each transceiver were to begin signaling for the current activity). Additionally and / or alternatively, the next active transceiver identification engine 220 can determine future activities that the user may want to perform based on user history and / or current activities performed on the device 250, and analyze their potential impact on each inactive transceiver. In addition, the next active transceiver identification engine 220 can analyze the device posture to determine the heat dissipation capabilities of each inactive transceiver based on the device posture. This can include calculating a thermal time constant for each inactive transceiver. This information, in addition to the location of each inactive transceiver in the device and / or any cooling modules provided for each inactive transceiver, can also provide an understanding of the cooling capacity of each inactive transceiver. By analyzing the current temperature of each inactive transceiver and the amount of power consumed by the active transceivers, the next active transceiver identification engine 220 can determine an estimated temperature increase over time for each inactive transceiver. The estimated temperature increase can be adjusted based on the cooling capacity of each inactive transceiver to determine the time period it takes for each transceiver to reach a threshold temperature after being activated. The next active transceiver can then be selected by selecting the transceiver that provides good signal quality and a longer time period. In some implementations, the next active transceiver is selected based on a weighted average of each transceiver's signal quality and time period.
[0041] In some implementations, the current temperature of each transceiver can be estimated rather than measured. This can be achieved by determining the current temperature of the surrounding environment and / or other components within the device and estimating the current temperature of each transceiver based on the location of each transceiver, its cooling capacity, the device posture, the power consumed by the device, etc. This can be achieved by utilizing one or more ML models that receive the location of the transceivers, their cooling capacity, the power consumed by the device, and the current ambient temperature and provide an estimated transceiver temperature as output.
[0042] The server 210 may be connected to or include a storage server 270 that includes a data store 235. The data store 235 may serve as a repository for storing data sets (e.g., training data sets). One or more ML models used by the next active transceiver identification engine 220 and the transceiver overheat time determination engine 225 may be trained by a training mechanism 230. The training mechanism 230 may use the training data sets stored in the data store 235 to provide initial and ongoing training for each model. In one implementation, the training mechanism 230 may use labeled training data from the data store 235 to train each model using deep neural network(s) and / or other types of ML algorithms. Initial training may be performed offline. Additionally and / or alternatively, batch learning may be used to train one or more ML models.
[0043] Device 250 may be connected to server 210 via network 240. Network 240 may be a wired or wireless network(s) or a combination of wired and wireless networks that connects one or more elements of system 200. Device 250 may be a personal or handheld computing device having multiple transceivers that enable device 250 to provide a communication mechanism. Figure 5 and 6 The internal hardware structure of a device such as device 250 is discussed in more detail.
[0044] In some implementations, the device 250 also includes a transceiver switching service 255. The transceiver switching service 255 can include a next active transceiver identification engine 260 and a transceiver overheat time determination engine 265. In one example, the local next active transceiver identification engine 260 can operate similarly to the next active transceiver identification engine 220 to provide a local identification of the next active transceiver. Similarly, the local transceiver overheat time determination engine 265 can operate in a similar manner to the transceiver overheat time determination engine 225 to provide a local estimate of the time when the active transceiver will be overheated.
[0045] It should be noted that each of the next active transceiver identification engine 220, the transceiver overheat time determination engine 225, the next active transceiver identification engine 260, and the transceiver overheat time determination engine 265 can be implemented as software, hardware, or a combination thereof. It should also be noted that the ML models that estimate the transceiver temperature(s), estimate the active transceiver overheat time, and / or identify the next active transceiver can be hosted locally on the device 250 or remotely, for example, in the cloud. In one implementation, some ML models are hosted locally, while other ML models are stored remotely. This can enable the device 250 to provide transceiver switching services even when the client is not connected to the network.
[0046] Figure 3Depicted is a diagram of temperature changes over time for various active transceivers in an electronic device, such as electronic device 100A of FIG. 1 , and how the temperature corresponds to transceiver power. Figure 3 The graph 300 includes four lines 1-4 representing the temperature curves of four different transceivers, while line 5 shows the change in transceiver power over the same time period. In one example, line 1 corresponds to Figure 1A The temperature curve of the transceiver 110, and each of the lines 2-4 corresponds to Figure 1A 1. The temperature curves of transceivers 120, 130, and 140 are shown in FIG. 4. As shown by the four different temperature curves and the transceiver power curve, when the transceiver power remains relatively unchanged, each transceiver may have a different temperature increase rate. For example, line 1 shows that transceiver 110, which includes a cooling module, has the slowest temperature increase rate. In contrast, line 2, which depicts the temperature curve of transceiver 120, shows that transceiver 120 has the fastest temperature increase rate. As shown in FIG. 4. Figure 1A As discussed, this may be because transceiver 120 has the lowest cooling capacity. Lines 3 and 4 show that transceivers 130 and 140 have similar rates of temperature increase, and these rates fall between the rates for transceiver 110 and the rates for transceiver 120. This may be because transceivers 130 and 140 are located in similar locations within the electronic device and therefore have similar cooling capacities. Thus, graph 300 shows that the cooling capacity of each transceiver can vary and that this cooling capacity can have a significant impact on the efficiency of the active transceiver.
[0047] Figure 4 is a flow chart depicting an example method 400 for switching signal transmission from an active transceiver to a next active transceiver in an electronic device. In some implementations, the method 400 is served by a transceiver switching, e.g. Figure 2 215 or 255 , to be executed. At 410, method 400 may begin by determining the current temperature of the active transceiver. This may be accomplished by receiving a temperature reading from a temperature sensor associated with the active transceiver. In an alternative implementation, this may be accomplished by receiving the current temperature of the surrounding environment and / or other components of the electronic device and data related to the active transceiver (e.g., current activity, transceiver power, device posture, and / or cooling capacity) and estimating the current temperature based on the data.
[0048] Once the current temperature of the active temperature is determined, at 415, method 400 may proceed to determine whether the current temperature equals or exceeds a threshold temperature. In some implementations, the threshold temperature may be different for different devices and / or different transceivers within a device. In this case, the threshold temperature may also be provided as a data point. When it is determined that the temperature is not equal to and does not exceed the threshold temperature (415, No), method 400 may return to step 410 to determine the current temperature. This may continue until the current temperature equals or exceeds the threshold temperature. In some implementations, method 400 calculates the amount of time required for the active transceiver to reach the threshold temperature, rather than waiting for the current temperature to reach the threshold temperature. This may be as described above with reference to Figure 2 Once the amount of time is calculated, method 400 may proceed to steps 420, 425, and 430 as described below. However, when calculating the amount of time, switching may occur preemptively before the active transceiver reaches the threshold temperature.
[0049] When it is determined at 415 that the current temperature of the active transceiver is equal to or exceeds the threshold temperature (415, YES), method 400 may proceed to analyzing data associated with each inactive transceiver and associated with the device at 420. This may include analyzing data associated with the current temperature, signal quality, power consumption, and / or cooling capacity of each inactive transceiver. The analysis may also include analyzing the device posture, activities currently being executed on the device, activities that may be executed on the device in the future (e.g., in the near future), and ambient temperature. Once all required data has been analyzed and taken into account, method 400 may proceed to 425. Based on the analyzed data, the next active transceiver is identified from the inactive transceivers. At 430, when the next active transceiver is identified, the signal can be switched to the next active transceiver. In this way, the next active transceiver can be identified not only based on the current temperature and / or signal quality, but also based on additional factors such as cooling capacity, which can determine the length of time it will take for the next active transceiver to reach a threshold temperature. This can result in less overheating and, therefore, less frequent handoffs. Furthermore, when preemptive handoffs occur, this solution can reduce delays and throttling, thereby improving user satisfaction and device performance.
[0050] While the examples and implementations described above include switching transceivers, it should be noted that the methods and systems described herein are also applicable to devices that switch between transmitters, receivers, and / or other antenna modules.
[0051] Figure 5 is a block diagram 500 illustrating an example software architecture 502, portions of which may be used in conjunction with the various hardware architectures described herein that may implement any of the features described above. Figure 5508. Executable instructions 508 represent executable instructions of the software architecture 502, including implementations of the methods, modules, and the like described herein.
[0052] The hardware layer 504 also includes memory / storage 510, which also includes executable instructions 508 and accompanying data. The hardware layer 504 may also include other hardware modules 512. The instructions 508 held by the processing unit 508 may be part of the instructions 508 held by the memory / storage 510.
[0053] Example software architecture 502 can be conceptualized as layers, each providing various functionalities. For example, software architecture 502 may include layers and components such as operating system (OS) 514, libraries 516, frameworks 518, applications 520, and presentation layer 524. In operation, applications 520 and / or other components within a layer may invoke API calls 524 to other layers and receive corresponding results 526. The layers shown are representative in nature, and other software architectures may include additional or different layers. For example, some mobile or dedicated operating systems may not provide framework / middleware 518.
[0054] OS 514 can manage hardware resources and provide public services. OS 514 may include, for example, a kernel 528, services 530, and drivers 532. Kernel 528 may serve as an abstraction layer between hardware layer 504 and other software layers. For example, kernel 528 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, and the like. Services 530 may provide other public services for other software layers. Driver 532 may be responsible for controlling or interfacing with the underlying hardware layer 504. For example, depending on the hardware and / or software configuration, driver 532 may include a display driver, a camera driver, a memory / storage driver, a peripheral device driver (e.g., via a universal serial bus (USB)), a network and / or wireless communication driver, an audio driver, and the like.
[0055] Libraries 516 can provide a shared infrastructure that applications 520 and / or other components and / or layers can use. Libraries 516 generally provide functionality used by other software modules to perform tasks, rather than interacting directly with OS 514. Libraries 516 can include system libraries 534 (e.g., C standard libraries), which can provide functions such as memory allocation, string manipulation, and file operations. In addition, libraries 516 can include API libraries 536, such as media libraries (e.g., supporting the rendering and manipulation of image, sound, and / or video data formats), graphics libraries (e.g., OpenGL libraries for rendering 2D and 3D graphics on a display), database libraries (e.g., SQLite or other relational database functions), and web libraries (e.g., WebKit, which can provide web browsing functionality). Libraries 516 can also include a variety of other libraries 538 to provide many functions for applications 520 and other software modules.
[0056] Framework 518 (sometimes also referred to as middleware) provides a higher-level, common infrastructure that can be used by applications 520 and / or other software modules. For example, framework 518 can provide various GUI functions, advanced resource management, or advanced location services. Framework 518 can also provide a wide range of other APIs for applications 520 and / or other software modules.
[0057] Applications 520 include built-in applications 520 and / or third-party applications 522. Examples of built-in applications 520 may include, but are not limited to, contact applications, browser applications, location applications, media applications, messaging applications, and / or game applications. Third-party applications 522 may include any application developed by an entity other than the vendor of a particular system. Applications 520 may use functionality available via OS 514, libraries 516, frameworks 518, and presentation layer 524 to create a user interface for interacting with the user.
[0058] Some software architectures use virtual machines, such as virtual machine 528. Virtual machine 528 provides an execution environment in which applications / modules can be executed as if they were on a hardware machine (e.g., Figure 6 500). The virtual machine 528 can be hosted by a host OS (e.g., OS 514) or a hypervisor and can have a virtual machine monitor 526 that manages the operation of the virtual machine 528 and its interoperation with the host operating system. A software architecture that can be different from the software architecture 502 outside the virtual machine is executed within the virtual machine 528, such as the OS 550, libraries 552, frameworks 554, applications 556, and / or presentation layer 558.
[0059] Figure 66 is a block diagram illustrating components of an example machine 600 that is configured to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any of the features described herein. The example machine 600 is in the form of a computer system in which instructions 616 (e.g., in the form of software components) can be executed to cause the machine 600 to perform any of the features described herein. In this way, the instructions 616 can be used to implement the methods or components described herein. The instructions 616 cause the unprogrammed and / or unconfigured machine 600 to operate as a specific machine configured to perform the described features. The machine 600 can be configured to operate as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 600 can operate as a server machine or a client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment. The machine 600 may be embodied as, for example, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a gaming and / or entertainment system, a smartphone, a mobile device, a wearable device (e.g., a smartwatch), and an Internet of Things (IoT) device. Furthermore, while only a single machine 600 is shown, the term "machine" includes a collection of machines that individually or collectively execute instructions 616.
[0060] The machine 600 may include a processor 610, a memory 630, and I / O components 650, which may be communicatively coupled via, for example, a bus 602. The bus 602 may include multiple buses that couple various elements of the machine 600 via various bus technologies and protocols. In one example, the processor 610 (including, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, or a suitable combination thereof) may include one or more processors 612a through 612n that may execute instructions 616 and process data. In some examples, one or more processors 610 may execute instructions provided or identified by one or more other processors 610. The term "processor" includes a multi-core processor that includes cores that can execute instructions simultaneously. Although Figure 6 Multiple processors are shown, but machine 600 can include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof. In some examples, machine 600 can include multiple processors distributed across multiple machines.
[0061] Memory / storage 630 may include main memory 632, static memory 634 or other memory, and storage unit 636, all of which may be accessed by processor 610, for example, via bus 602. Storage unit 636 and memories 632, 634 store instructions 616, which embody any one or more of the functionality described herein. Memory / storage 630 may also store temporary, intermediate, and / or long-term data for processor 610. During execution thereof, instructions 616 may reside, in whole or in part, within memories 632, 634, within storage unit 636, within at least one processor 610 (e.g., within a command buffer or cache), within memory at at least one I / O component 650, or any suitable combination thereof. Thus, memories 632, 634, storage unit 636, memory in processor 610, and memory in I / O component 650 are examples of machine-readable media.
[0062] As used herein, a "machine-readable medium" refers to a device capable of temporarily or permanently storing instructions and data that cause the machine 600 to operate in a specific manner. The term "machine-readable medium" as used herein does not include transitory electrical or electromagnetic signals per se (e.g., on a carrier wave propagating through the medium); thus, the term "machine-readable medium" may be considered to be both tangible and non-transitory. Non-limiting examples of non-transitory, tangible, machine-readable media may include, but are not limited to, non-volatile memory (e.g., flash memory or read-only memory (ROM)), volatile memory (e.g., static random access memory (RAM) or dynamic RAM), buffer memory, cache memory, optical storage media, magnetic storage media and devices, network-accessible or cloud storage, other types of storage, and / or any suitable combination thereof. The term "machine-readable medium" applies to a single medium or a combination of multiple media used to store instructions (e.g., instructions 616) for execution by the machine 600, such that when executed by one or more processors 610 of the machine 600, the instructions cause the machine 600 to perform one or more features described herein. Thus, a "machine-readable medium" may refer to a single storage device, as well as a "cloud-based" storage system or storage network that includes multiple storage devices or devices.
[0063] I / O components 650 may include various hardware components suitable for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, etc. The specific I / O components 650 included in a particular machine will depend on the type and / or function of the machine. For example, a mobile device such as a mobile phone may include a touch input device, while a terminalless server or an Internet of Things device may not include such a touch input device. Figure 6The specific examples of I / O components shown in the figure are in no way limiting, and other types of components may be included in the machine 600. The grouping of I / O components 650 is merely to simplify this discussion and is in no way limiting. In various examples, the I / O components 650 may include a user output component 652 and a user input component 654. The user output component 652 may include, for example, a display component (e.g., a liquid crystal display (LCD) or a projector) for displaying information, an acoustic component (e.g., a speaker), a tactile component (e.g., a vibration motor or force feedback device), and / or other signal generators. The user input component 654 may include, for example, an alphanumeric input component (e.g., a keyboard or touch screen), a pointing component (e.g., a mouse device, a touchpad, or another pointing tool), and / or a tactile input component (e.g., a physical button or touch screen that provides the location and / or touch force of a touch or touch gesture), which is configured to receive various user inputs, such as user commands and / or selections.
[0064] In some examples, the I / O components 650 may include a biometric component 656 and / or a position component 662, among a wide array of other environmental sensor components. The biometric component 656 may include, for example, components that detect body expressions (e.g., facial expressions, vocal expressions, hand or body gestures, or eye tracking), measure biosignals (e.g., heart rate or brain waves), and identify people (e.g., through voice-based, retinal, and / or facial identification). The position component 662 may include, for example, a position sensor (e.g., a global positioning system (GPS) receiver), an altitude sensor (e.g., an air pressure sensor from which altitude can be derived), and / or an orientation sensor (e.g., a magnetometer).
[0065] The I / O components 650 may include a communication component 664 that implements a variety of technologies operable to couple the machine 600 to a network 670 and / or a device 680 via corresponding communication couplings 672 and 682. The communication component 664 may include one or more network interface components or other suitable devices to interface with the network 670. The communication component 664 may include, for example, components suitable for providing wired communication, wireless communication, cellular communication, near field communication (NFC), Bluetooth communication, Wi-Fi, and / or communication via other forms. The device 680 may include other machines or various peripheral devices (e.g., via a USB coupling).
[0066] In some examples, communication component 664 can detect an identifier or include components suitable for detecting an identifier. For example, communication component 664 can include a radio frequency identification (RFID) tag reader, an NFC detector, an optical sensor (e.g., a one-dimensional or multi-dimensional barcode or other optical code), and / or an acoustic detector (e.g., a microphone that identifies a tagged audio signal). In some examples, location information can be determined based on information from communication component 662, such as, but not limited to, geographic location via an Internet Protocol (IP) address, location via Wi-Fi, cellular, NFC, Bluetooth, or other wireless station identification and / or signal triangulation.
[0067] Although various embodiments have been described, this description is intended to be exemplary rather than restrictive, and it will be understood that within the scope of the embodiments, more embodiments and implementations are possible. Although many possible feature combinations are shown in the drawings and discussed in the detailed description, many other combinations of disclosed features are also possible. Unless otherwise specifically limited, any feature of any embodiment may be used in combination with or in place of any other feature or element in any other embodiment. Therefore, it will be understood that any feature shown and / or discussed in this disclosure may be implemented together in any suitable combination. Therefore, the embodiments are not limited except in accordance with the appended claims and their equivalents. In addition, various modifications and variations may be made within the scope of the appended claims.
[0068] In general, the functions described herein (e.g., the features shown in Figures 1-4) can be implemented using software, firmware, hardware (e.g., fixed logic, finite state machines and / or other circuits) or a combination of these implementations. In the case of software implementation, when executed on a processor (e.g., one or more CPUs), the program code performs the specified task. The program code can be stored in one or more computer-readable memory devices. The various features of the technology described herein are system-independent, meaning that the technology can be implemented on various computing platforms with various processors. For example, each implementation can include an entity (e.g., software) that causes hardware (e.g., a processor function block, etc.) to perform an operation. For example, a hardware device can include a machine-readable medium that can be configured to maintain instructions that cause a hardware device (including an operating system and associated hardware executed thereon) to perform an operation. Therefore, instructions can be used to configure an operating system and associated hardware to perform an operation, and thereby configure or otherwise adapt the hardware device to perform the above-mentioned functions. Instructions can be provided to the hardware element that executes the instructions by a machine-readable medium through various different configurations.
[0069] In the following, further features, characteristics and advantages of the present invention will be described by means of:
[0070] Item 1. An electronic device comprising:
[0071] processor;
[0072] multiple transceivers; and
[0073] A memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the electronic device to perform the following functions:
[0074] identifying, when the first transceiver is active, a second transceiver from the plurality of transceivers and based on signal quality, current temperature, and cooling capabilities of each of the plurality of transceivers to which signal transmission is to be switched from the first transceiver; and
[0075] Signal transmission is switched from the first transceiver to the identified second transceiver.
[0076] Item 2. The electronic device of Item 1, wherein the instruction further causes the processor to cause the electronic device to perform the following functions:
[0077] determining an amount of time it will take for the first transceiver to reach a threshold temperature; and
[0078] Before the amount of time is reached, signal transmission is switched from the first transceiver to the identified second transceiver.
[0079] Item 3. The electronic device of item 2, wherein determining the amount of time it will take for the first transceiver to reach the predetermined temperature comprises:
[0080] determining a current temperature of the first transceiver;
[0081] determining an amount of power used by the first transceiver;
[0082] determining a location of the first transceiver within the electronic device; and
[0083] A cooling capacity of the first transceiver is determined.
[0084] Item 4. The electronic device of Item 3, wherein the instruction further causes the processor to cause the electronic device to perform the following functions:
[0085] inputting into a machine learning (ML) model at least one of a current temperature of the first transceiver, an amount of power used by the first transceiver, a task the electronic device is being used for, a location of the first transceiver within the electronic device, and a cooling capability of the first transceiver; and
[0086] An amount of time required for the first transceiver to reach a predetermined temperature is obtained as an output of the ML model.
[0087] Item 5. The electronic device of any preceding item, wherein determining the cooling capability of each of the plurality of transceivers comprises analyzing a posture of the electronic device.
[0088] Item 6. An electronic device as described in any preceding item, wherein analyzing the posture of the electronic device includes determining how a user's grip on the electronic device affects cooling capabilities.
[0089] Item 7. The electronic device of any preceding item, wherein identifying the second transceiver comprises examining a current task for which the electronic device is being used and determining a future task for which the electronic device is predicted to be used.
[0090] Item 8. The electronic device as recited in any preceding item, wherein identifying the second transceiver comprises calculating a thermal time constant for each of the plurality of transceivers.
[0091] Item 9. A method for switching signal transmission from a first transceiver to a second transceiver of a plurality of transceivers in an electronic device, comprising:
[0092] identifying a second transceiver from the plurality of transceivers and based on a signal quality, a current temperature, and a cooling capability of each of the plurality of transceivers when the first transceiver is active; and
[0093] Signal transmission is switched from the first transceiver to the identified second transceiver.
[0094] Item 10. The method of Item 9, further comprising:
[0095] determining an amount of time required for the first transceiver to reach a threshold temperature; and
[0096] Before the amount of time expires, signal transmission is switched from the first transceiver to the identified second transceiver.
[0097] Item 11. The method according to Item 10, wherein determining that the first transceiver reaches a predetermined temperature
[0098] The amount of time required includes:
[0099] determining a current temperature of the first transceiver;
[0100] determining an amount of power used by the first transceiver;
[0101] determining a location of the first transceiver within the electronic device; and
[0102] A cooling capacity of the first transceiver is determined.
[0103] Item 12. The method according to Item 11, further comprising:
[0104] Inputting at least one of a current temperature of the first transceiver, an amount of power used by the first transceiver, a task being used by the electronic device, a location of the first transceiver within the electronic device, and a cooling capacity of the first transceiver into a machine learning (ML) model; and obtaining as an output from the ML model an identified one of the plurality of transceivers.
[0105] Item 13. The method of any preceding item, wherein identifying the second transceiver comprises examining a current task for which the electronic device is being used and determining a future task for which the electronic device is predicted to be used.
[0106] Item 14. The method of any preceding item, wherein determining the cooling capacity of each of the plurality of transceivers comprises analyzing a posture of the electronic device.
[0107] Item 15. A computer program which, when executed, causes a programmable device to perform the method of any one of Items 8 to 14.
[0108] While the foregoing has described what is believed to be the best mode and / or other examples, it is understood that various modifications may be made therein, and the subject matter disclosed herein may be implemented in a variety of forms and examples, and the teachings may be applied to many applications, only some of which have been described herein. It is intended that the appended claims claim any and all applications, modifications, and variations that fall within the true scope of the present teachings.
[0109] Unless otherwise indicated, all dimensions, values, ratings, positions, sizes, dimensions and other specifications listed in this specification (including the appended claims) are approximate and not exact. They are intended to have a reasonable range consistent with the functions to which they relate and the customary practices in the fields to which they relate.
[0110] The scope of protection is limited solely by the appended claims. When read in light of this specification and the subsequent prosecution history, the scope is intended and should be interpreted to be consistent with the ordinary meaning of the language used in the claims and to encompass all structural and functional equivalents. Notwithstanding the foregoing, none of the claims are intended to include, nor should such subject matter be interpreted in such a manner, subject to the requirements of Sections 101, 102, or 103 of the Patent Act. Any unintentional inclusion of such subject matter is hereby disclaimed.
[0111] Except as stated above, no intention or interpretation should be given to any component, step, feature, object, benefit, advantage or contribution to the public, whether or not recited in the claims.
[0112] It will be understood that the terms and expressions used herein have the ordinary meaning accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study unless specific meanings are otherwise set forth herein.
[0113] Relational terms such as first and second, etc., may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprises," "comprising," and any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further constraints, an element beginning with "a" or "an" does not preclude the existence of additional equivalent elements in the process, method, article, or apparatus that includes that element.
[0114] The Abstract of the present disclosure is provided to allow the reader to quickly identify the nature of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Additionally, in the foregoing Detailed Description, it will be noted that various features have been grouped together in individual examples for the purpose of streamlining the disclosure. This approach of disclosure should not be interpreted as reflecting an intention that any claim requires more features than those expressly recited in the claim. Rather, as reflected in the claims below, the subject matter of the present invention lies in less than all the features of a single disclosed example. Accordingly, the appended claims are hereby incorporated into the Detailed Description, with each claim independently representing a separate claimed subject matter.
Claims
1. An electronic device (100A, 100B, 250, 600), comprising: Processor(150,610); a plurality of transceivers (110, 120, 130, 140), the plurality of transceivers comprising an active first transceiver and a plurality of inactive transceivers; and A memory (160, 630) in communication with the processor (150, 610), the memory (160, 630) including executable instructions (616) that, when executed by the processor (150, 610), cause the electronic device (100A, 100B, 250, 600) to perform the following functions: Determining an amount of time it will take for the first transceiver (110) to reach a threshold temperature using a machine learning (ML) model includes: determining a current temperature of the first transceiver (110); determining an amount of power used by the first transceiver (110); determining a location of the first transceiver (110) within the electronic device (100A, 100B, 250, 600); and determining a cooling capacity of the first transceiver (110); When a first transceiver (110) is active, identifying, by using an ML model, from inactive transceivers (120, 130, 140) of the plurality of transceivers and based on signal quality, current temperature, and cooling capacity of each of the inactive transceivers, a second transceiver (120, 130, 140) to which signal transmission is to be switched from the first transceiver (110); and Before the amount of time is reached, the signal transmission is switched from the first transceiver (110) to the identified second transceiver (120, 130, 140).
2. The electronic device (100A, 100B, 250, 600) according to claim 1, wherein: The instructions (616) further cause the processor (150, 610) to cause the electronic device (100A, 100B, 250, 600) to perform the following functions: inputting into a machine learning (ML) model at least one of a current temperature of the first transceiver (110), an amount of power used by the first transceiver (110), a task the electronic device (100A, 100B, 250, 600) is being used for, a location of the first transceiver (110) within the electronic device (100A, 100B, 250, 600), and a cooling capacity of the first transceiver (110); as well as The amount of time it will take for the first transceiver (110) to reach the threshold temperature is obtained as an output of the ML model.
3. The electronic device (100A, 100B, 250, 600) according to any of the preceding claims, characterized in that Wherein the cooling capacity of each of the inactive transceivers is determined based at least in part on analyzing a posture of the electronic device (100A, 100B, 250, 600).
4. The electronic device (100A, 100B, 250, 600) according to claim 3, characterized in that Analyzing the posture of the electronic device (100A, 100B, 250, 600) includes determining how a user's grip on the electronic device (100A, 100B, 250, 600) affects the cooling capability.
5. The electronic device (100A, 100B, 250, 600) according to any one of claims 1 to 2, characterized in that: Wherein identifying the second transceiver (120, 130, 140) includes examining a current task for which the electronic device (100A, 100B, 250, 600) is being used and determining a future task for which the electronic device (100A, 100B, 250, 600) is predicted to be used.
6. The electronic device (100A, 100B, 250, 600) according to any one of claims 1 to 2, characterized in that: Wherein identifying the second transceiver (120, 130, 140) includes calculating a thermal time constant for each of the inactive transceivers.
7. A method for switching signal transmission from a first transceiver (110) to a second transceiver (120, 130, 140) in an electronic device (100A, 100B, 250, 600), comprising: Determining an amount of time it will take for the first transceiver (110) to reach a threshold temperature using a machine learning (ML) model includes: determining a current temperature of the first transceiver (110); determining an amount of power used by the first transceiver (110); determining a position of the first transceiver (110) within the electronic device (100A, 100B, 250, 600); as well as determining a cooling capacity of the first transceiver (110); When the first transceiver (110) is active, identifying the second transceiver (120, 130, 140) from among the inactive transceivers (120, 130, 140) of the plurality of transceivers based on signal quality, current temperature, and cooling capacity of each of the inactive transceivers; and Before the amount of time is reached, the signal transmission is switched from the first transceiver (110) to the identified second transceiver (120, 130, 140).
8. The method according to claim 7, wherein Also includes: inputting into a machine learning (ML) model at least one of a current temperature of the first transceiver (110), an amount of power used by the first transceiver (110), a task the electronic device (100A, 100B, 250, 600) is being used for, a location of the first transceiver (110) within the electronic device, and a cooling capacity of the first transceiver (110); and An identified one of the plurality of transceivers is obtained as an output from the ML model.
9. The method according to any one of claims 7 to 8, wherein Wherein identifying the second transceiver (120, 130, 140) includes examining a current task for which the electronic device (100A, 100B, 250, 600) is being used and determining a future task for which the electronic device (100A, 100B, 250, 600) is predicted to be used.
10. The method according to any one of claims 7 to 8, wherein Wherein the cooling capacity of each of the inactive transceivers is determined based at least in part on analyzing a posture of the electronic device (100A, 100B, 250, 600).
11. A computer program product comprising a computer program, characterized in that The computer program implements the method according to any one of claims 7 to 8 when executed by a processor.
Citation Information
Patent Citations
Antenna device, electronic device, and wireless communication method
US20190392694A1
Electronic device and communication method thereof
WO2019103527A1