Predicting thermal states in connected devices to
By deploying temperature sensors and network communication in AR devices, real-time monitoring and adjustment of device operating parameters, the problem of overheating of AR devices is solved, and the service life and user experience of the device are improved.
Patent Information
- Application Number
- CN202380064166.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-13
- Filing Date
- 2023-07-26
- Publication Date
- 2025-04-04
AI Technical Summary
When AR devices process real-time augmented reality data, they may cause devices to overheat, affecting user experience and device life.
By deploying temperature sensors in wearable devices, the temperature of hardware components is monitored in real time and sent to network nodes, corresponding instructions are received to adjust the operating parameters of the device, such as adjusting the load of the processor, reducing the burden of graphics rendering.
It effectively reduces the temperature of AR equipment, extends the service life of the equipment, and improves user comfort and experience.
Smart Images

Figure CN119768756A_ABST
Abstract
Description
Related Applications
[0001] This application claims the benefit of priority to U.S. non-provisional application No. 17 / 931,818, filed on September 13, 2022; the entire contents of which are incorporated herein by reference. Background Art
[0002] Long Term Evolution (LTE), Fifth Generation (5G) New Radio (NR), and other communication technologies enable improved communication and data services. One such service is Augmented Reality (AR) or Extended Reality (XR), which require low latency and high bandwidth for real-time processing. Some of this data bandwidth may be allocated to other transmission networks, such as a Wireless Local Area Network (WLAN), which may be a Wi-Fi network with a connection to the Internet. Some of this real-time processing may be allocated to edge computing resources of the network. However, the high load on the processor, graphics unit, and transceiver at the AR device may cause the device to overheat or become too hot for the user. Summary of the invention
[0003] Various aspects include systems and methods performed by a processor of a wearable device for managing component temperature in conjunction with an edge device. Various aspects may include: obtaining a plurality of temperature measurements from a plurality of hardware components of the wearable device; sending the plurality of temperature measurements related to the plurality of hardware components from the wearable device to a network node; receiving instructions from the network node related to operation of an application executed on the processor of the wearable device; and adjusting an operating parameter of the wearable device based on the instructions received from the network node.
[0004] In some aspects, the application executed on the processor of the wearable device may use a data stream, and the instruction received from the network node may adjust the execution of the application; and adjusting the operating parameter of the wearable device based on the instruction received from the network node may include adjusting the operation of the processor executing the application based on the instruction. In some aspects, adjusting the operating parameter of the wearable device may include one of: receiving more rendered elements of the graphic from the network node; rendering more elements of the graphic by the processor; or rendering more elements of the graphic by the processor and receiving more rendered elements of the graphic from the network node. In some aspects, the application executed on the processor of the wearable device may be an extended reality application, and the data stream received from the network node may include data or graphics to be presented in an extended reality display; and adjusting the operation of the processor executing the application based on the instruction may include adjusting the processing of the data or graphics to be presented in the extended reality display.
[0005] In some aspects, adjusting the operating parameter of the wearable device may include at least one of the following: adjusting the downlink data transmission rate of the transceiver of the wearable device; adjusting the sampling rate of the inertial measurement unit of the wearable device; adjusting the sensitivity of the inertial measurement unit of the wearable device; adjusting the output resolution of the inertial measurement unit of the wearable device; adjusting the gyroscope measurement of the inertial measurement unit of the wearable device; adjusting the graphics display quality in the display of the wearable device; adjusting the graphics display area in the display of the wearable device; or adjusting video compression parameters including frame rate, ratio of predicted frames to full frames, or compression block size.
[0006] In some aspects, sending the multiple temperature measurements may include: sending the multiple temperature measurements via at least one control message of a Wi-Fi protocol; or sending the multiple temperature measurements via at least one radio resource control message of a 5G protocol.
[0007] In some aspects, sending the multiple temperature measurements may include: sending the multiple temperature measurements via at least one control message, each of the at least one control message including a control bit for indicating to the network node that the at least one control message includes the multiple temperature measurements in a payload, and each of the at least one control message including multiple component identifiers mapped to the multiple temperature measurements.
[0008] Additional aspects include a wearable device having a processor configured to perform one or more operations of any of the methods outlined above. Additional aspects include a processing device for use in a wearable device, the processing device being configured with processor-executable instructions for performing the operations of any of the methods outlined above. Additional aspects include a non-transitory processor-readable storage medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a processor of a computing device to perform the operations of any of the methods outlined above. Additional aspects include a wearable device having components for performing the functions of any of the methods outlined above. Additional aspects include a system-on-chip for use in a wearable device, the wearable device including a processor configured to perform the operations of any of the methods outlined above.
[0009] Additional aspects include a method performed by an edge server to stream data to a wearable device, the method comprising: receiving a plurality of temperature measurements corresponding to a plurality of hardware components of the wearable device from the wearable device; identifying one or more adjustments to the operation of the plurality of hardware components based on the plurality of temperature measurements; and sending instructions to the wearable device configured to cause the wearable device to adjust the operation of at least one of the plurality of hardware components.
[0010] Some aspects may also include: calculating at least one aspect of a graphical display of the wearable device based on the plurality of temperature measurements at the edge server. Some aspects may also include: predicting a temperature value of at least one of the plurality of hardware components of the wearable device; and calculating at least another aspect of the graphical display of the wearable device based on the predicted temperature value at the edge server, the predicted temperature value being separate from the plurality of temperature measurements. Some aspects may also include: adjusting at least one parameter of a communication connection between the edge server and the wearable device; or adjusting at least one parameter of a graphics rendering performed at the edge server for the wearable device.
[0011] In some aspects, the plurality of temperature measurements may include a separate temperature measurement for each of the plurality of hardware components of the wearable device. In some aspects, the plurality of temperature measurements may be received in one or more control message packets via a wireless link based on a 5G protocol or a wireless link based on a Wi-Fi protocol.
[0012] Some aspects may also include: executing an application programming interface (API) for balancing the processing burden between the edge server and the wearable device based on the received plurality of temperature measurements. In some aspects, the one or more adjustments may be configured for execution at the wearable device to control a first hardware component of the plurality of hardware components to reduce heat emission at the first hardware component, and wherein the one or more instructions are based on a comparison of a temperature value for the first hardware component received with the plurality of temperature measurements with a temperature threshold for the first hardware component.
[0013] Additional aspects include an edge server configured to perform one or more operations of any of the methods outlined above. Additional aspects include a non-transitory processor-readable storage medium having server-executable instructions stored thereon, the server-executable instructions configured to cause the edge server to perform the operations of any of the methods outlined above. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1A is a system block diagram illustrating an example communication system suitable for implementing any of the various aspects herein.
[0015] Figure 1B is a system block diagram illustrating an example decomposed base station architecture suitable for implementing any of the various embodiments.
[0016] Figure 2 is a system block diagram illustrating example connections according to various aspects herein.
[0017] Figure 3A is a system block diagram illustrating component block diagrams suitable for implementing various aspects herein.
[0018] Figure 3B is a system block diagram illustrating component block diagrams suitable for implementing various aspects herein.
[0019] Figure 4A is a system block diagram illustrating a process for wireless communications suitable for implementing various aspects herein.
[0020] Figure 4B is a system block diagram illustrating a process for wireless communications suitable for implementing various aspects herein.
[0021] Figure 5 is a flow chart illustrating a process for wireless communications suitable for implementing various aspects herein.
[0022] Figure 6 is a block diagram illustrating a machine learning process suitable for implementing various aspects of the present invention.
[0023] Figure 7 is a component block diagram of an example of smart glasses suitable for use with various aspects of the present invention.
[0024] Figure 8 is a component block diagram of connected processors suitable for implementing various aspects herein.
[0025] Fig. 9 is a component block diagram of a network device suitable for use with various aspects of the present invention.
[0026] Fig.10 is a process flow diagram illustrating an example process suitable for implementing various aspects herein.
[0027] Fig.11 is a process flow diagram illustrating an example process suitable for implementing various aspects herein. DETAILED DESCRIPTION
[0028] Various embodiments and implementations will be described in detail with reference to the accompanying drawings. Where possible, the same reference numerals will be used throughout the drawings to refer to the same or similar parts. Reference to specific examples and implementations is for illustrative purposes and is not intended to limit the scope of protection of the claims.
[0029] Various specific implementations include systems and methods for collecting thermal data about individual components within a mobile computing device and / or a user's wearable computing device and reporting the thermal data associated with specific hardware components to a remote server or edge server in a format that enables the remote server or edge server to identify when one or more components have reached thermal limits and determine appropriate corrective actions that can be taken to avoid exceeding the thermal limits. Various embodiments also include methods that can be implemented in a remote server or edge server for protecting a mobile computing device and / or a user's wearable computing device, the methods comprising: receiving a plurality of thermal data corresponding to specific hardware components of the mobile computing device and / or the user's wearable computing device; identifying when one or more components are approaching thermal limits; determining actions that can be taken in the remote server or edge server and / or in the mobile computing device and / or the user's wearable computing device to prevent exceeding the thermal limits, including predicting the thermal effects of such actions; and taking actions to implement the actions.
[0030] The term "user equipment" (UE) is used herein to refer to any or all of the following: wireless communication devices, wireless appliances, cellular phones, smart phones, portable computing devices, personal or mobile multimedia players, laptop computers, tablet computers, smartbooks, ultrabooks, handheld computers, wireless email receivers, virtual reality displays, extended reality displays, Internet-enabled multimedia cellular phones, wireless router devices, medical devices and equipment, biometric sensors / devices, wearable devices (including smart watches, smart clothing, smart glasses, smart wristbands, smart jewelry (e.g., smart rings, smart bracelets)), entertainment devices (e.g., wireless game controllers, music and video players, satellite radios, etc.), wireless network-enabled Internet of Things (IoT) devices (including smart meters / sensors, industrial manufacturing equipment, large and small machines and appliances for home or business use), wireless communication elements within autonomous and semi-autonomous vehicles, wireless devices attached to or incorporated into various mobile platforms, global positioning system devices, and similar electronic devices that include memory, wireless communication components, and programmable processors.
[0031] The term "system on a chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that contains multiple resources or processors integrated on a single substrate. A single SOC may contain circuits for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general or special-purpose processors (digital signal processors, modem processors, video processors, etc.), memory blocks (such as ROM, RAM, flash memory, etc.), and resources (such as timers, voltage regulators, oscillators, etc.). Each SOC may also include software for controlling the integrated resources and processors, and for controlling peripheral devices.
[0032] The term "system-in-package" (SIP) may be used herein to refer to a single module or package that contains multiple resources, computing units, cores or processors on two or more IC chips, substrates, or SOCs. For example, a SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged into a unified substrate. A SIP may also include multiple independent SOCs that are coupled together via high-speed communication circuits and packaged together in close proximity, such as on a single motherboard or in a single wireless device. The proximity of the SOCs facilitates high-speed communication and sharing of memory and resources.
[0033] Augmented reality (AR) or extended reality (XR) is expected to become the next frontier of media by adding, extending, or overlaying additional features to the real world around us. AR and XR media can be primarily audiovisual, but can also include text overlays. In some embodiments, the portable user device that provides the extended reality experience can be AR and XR glasses or goggles, which include a display positioned in front of the user's eyes to overlay images and information on top of the real world. Because AR and XR glasses or goggles are wearable, and overheating issues are particularly relevant to wearable devices, the term "wearable device" is used herein to generally refer to devices that implement various embodiments. In addition, the term "AR glasses" will be used in the following description as a representative example of a wearable device for viewing AR and XR media, and is intended to cover AR glasses, XR glasses, AR goggles, XR goggles, virtual reality (VR) goggles, and similar wearable devices.
[0034] In some implementations, an AR / XR / VR viewing device (such as AR glasses) works in conjunction with a bridging communication device (referred to herein as a “bridging device”) (such as a smartphone, tablet, personal computer, which are referred to herein as “user equipment” or “UE”). In such implementations, the bridging device or UE may act as a communication hub for receiving AR / XR / VR media from a remote server or edge server, such as via a 5G communication link, and relaying the media data to the AR glasses via a local wireless communication link (such as Wi-Fi or Bluetooth). Similarly, the bridging device or UE may act as a communication hub for sending an uploaded data stream (e.g., pose, gaze, and image data) from the AR glasses to the remote server or edge server. In some implementations, the bridging device or UE may perform some processing of the downloaded data, while other processing is performed by one or more processors within the AR glasses.
[0035] AR glasses may project or display one or more graphics on the lenses (through which the user may also see the real world) and emit sounds audible to the user from the frames or temples. AR glasses may also allow the user to see the real world through the lenses while the graphics are displayed on the lenses. In many AR and XR applications, augmented media (images, text, and / or sounds) may be streamed from an external server and / or edge server to a bridging device or UE (e.g., a smartphone) and / or directly to the AR glasses. In some operating modes, the media may be downloaded in a raw format that requires processing by the UE and / or AR glasses in order to render images presented on the lenses of the AR glasses. In other operating modes, the media may be generated or partially generated at an external server and / or edge server, and the resulting image should be sent to the UA and / or AR glasses for rendering on the lenses.
[0036] The audiovisual media presented on the lenses of the AR glasses may be generated at the AR glasses and / or UE or at least partially at a remote server and at a server or similar computing device in the network located near a wireless network access point (referred to herein as an "edge server"). The user experience may be delivered by a shared extended reality application hosted on one or more external servers and / or edge servers and user equipment devices (i.e., AR glasses and a bridging device or UE), where the user device is connected to the server via a wireless connection (e.g., 5G, LTE, Wi-Fi).
[0037] Because AR and XR media are added to the user experience as part of the real world, the generation and rendering of this media necessarily includes the need to consider real-time aspects, such as the user's gaze and the image of the real world that the user sees. In order to properly align the AR and XR display graphics with the real world seen through the lenses, the AR glasses may monitor the user's posture, orientation, eye direction, and movement, and send this information to an external server and / or edge server that is streaming AR and XR media content for rendering on the AR glasses. In some embodiments, the AR glasses may include one or more cameras that image the real world, where such images are uploaded to the external server and / or edge server for use in identifying appropriate AR and XR media to be downloaded to the UE and / or AR glasses. Therefore, in addition to downloading AR and XR media content to the UE and / or AR glasses, the external server and / or edge server also receives and uploads data streams about where the user is looking through the AR glasses and (in some cases) what the user is looking at.
[0038] As part of the rendering process, an external server may require the user's posture, orientation, eye direction, or movement before starting the calculation. Therefore, in some cases where extended reality processing is passed to an external server, the timing between the upload of posture information and the download of the completed rendering may have specific latency requirements. To address this issue, wearable extended reality devices (e.g., AR glasses) can utilize computing resources on the edge of the network to which the UE is connected. This concept may be referred to as edge computing or edge resources. Therefore, edge computing resources can render some or all of the graphics required by the extended reality device (e.g., AR glasses) to reduce latency. These edge resources can handle more latency-sensitive graphics, and cloud servers can handle other graphics for user devices. This balance of latency by processing at the user device, at the edge server, or at the cloud server requires scheduling adjustments and bandwidth allocation between the user device and the network.
[0039] Adding audio-visual overlays and information to the real world in real time requires a lot of computer processing power in AR and XR applications. In AR and XR applications where the necessary calculations and rendering require a lot of processing resources, the responsible processors and transceivers that convey data may generate too much heat and therefore may become very hot. In user wearables such as AR and XR glasses and goggles, this heat may make such wearables uncomfortable and may pose a risk of injury to the user. Therefore, the temperatures permitted in such wearable devices may be limited to temperature thresholds that are in regulatory and comfort considerations.
[0040] UE devices and AR glasses typically include a large number of temperature sensors. For example, an application processor may include multiple temperature sensors deployed in different parts of the SOC, including one or more temperature sensors within a core processing unit (CPU) and a graphics processing unit (GPU). In addition, one or more temperature sensors may be included in a wireless transceiver, a modem, a power amplifier, and a sensor unit such as an inertial measurement unit (IMU). Each of these components may have a maximum temperature threshold that is selected to prevent discomfort or injury to the user and to avoid shortening the functional life. Conventional methods for regulating device temperature implemented in such devices use data from a large number of temperature sensors within UE devices and AR glasses. However, the full range of temperature data and information identifying the components corresponding to each temperature are not shared with external devices such as external servers and / or edge servers.
[0041] A potential method for reducing temperatures in user wearable devices involved in AR and XR applications involves shifting some of the processing load from one element or computing device to another element or computing device to reduce the processing load on an overheated processor or circuit element. For example, the UE and / or XR glasses may initiate the offloading of image generation from the UE and / or XR glasses to an external server and / or edge server (which may perform the processing necessary to generate the image or a portion of the image), and then send the generated image to the UE and / or AR glasses for rendering on the AR glasses lenses. However, shifting the processing of the image to an external server or edge server may increase the data that must be received by the UE and XR glasses transceivers, which may increase the heat generated by the transceiver of the device. Therefore, it is necessary to balance the heat generated by various components within the user wearable device when taking action to avoid exceeding the maximum temperature threshold, including the need to consider the consequences of transferring the processing load to external computing devices (such as edge servers) on various wearable device components to increase safety, user comfort, and device life.
[0042] By sending temperature measurements of multiple components of different parts of the UE and / or XR glasses to a remote server and / or edge server, the remote server and / or edge server can identify over-temperature conditions and identify preventive actions that can be customized for high-temperature locations in the XR device, while balancing the processing load between various computing devices to achieve optimal overall temperature performance. Therefore, various embodiments can improve temperature regulation within user devices (particularly AR, XR, and VR applications executed on UEs and / or AR / XR / VR wearable devices such as XR glasses) that receive download services from external servers and / or edge servers.
[0043] Figure 1A is a system diagram illustrating an example communication system 100 including a network that provides a communication link between the AR glasses 140a-c and the XR server 110. As used herein, the terms "network," "system," "wireless network," "cellular network," and "wireless communication network" may interchangeably refer to a portion or all of a wireless network of a carrier associated with a wireless device and / or a subscription on a wireless device. The communication system 100 may include a plurality of network nodes 120 and other network entities, such as base stations and access points 135. The network node 120 is an entity that communicates with a user device (e.g., the AR glasses 140) and may be referred to as a Node B, an LTE evolved Node B (eNodeB or eNB), an access point (AP), a radio head, a transmit receive point (TRP), a new radio base station (NR BS), a 5G Node B (NB), a next generation Node B (gNodeB or gNB), etc.
[0044] As described above, the AR glasses 140a-140c may require additional processing performed on the XR server 110, and correspondingly, the XR server 110 may require local information from the AR glasses 140a-c. Thus, the example communication system 100 may include uplink channels and downlink channels or uplink resources and downlink resources. One or more of the links or connections within the example communication system 100 may be wireless or wired. Figure 1A The devices illustrated in are merely examples and may be other computing devices or communication devices.
[0045] As illustrated, the AR glasses 140a may be connected to a bridging device 130 (such as a UE) via a Wi-Fi link 145, which may be connected to a network node 120 via a radio link 125, which may be connected to an XR server 110 via a link 121. The radio link 125 may be provided by a 5G New Radio (NR) network or any other suitable network (such as a Long Term Evolution (LTE) network or a later generation network). Therefore, references to 5G networks and 5G network elements in the following description are for illustrative purposes and are not intended to be limiting. The communication system 100 may be a heterogeneous network including peer links, relay links, and one or more links to a network node (e.g., network node 120). The XR server 110 may be provided on a backend and connected to the network node 120 via a backhaul link or other network link. Reference Figure 1B Further and alternative details regarding the 5G radio system are described.
[0046] The network node 120 may be connected to or co-located with the edge server 115. The edge server 115 may be at least one network level closer to the AR glasses 140 than the XR server 110 and may have less latency in communicating with the AR glasses 140 relative to the XR server 110. Figure 1B The placement of edge computing resources (e.g., edge server 115) is described in more detail in FIG.
[0047] In the example communication system 100, the AR glasses 140a may include a Wi-Fi transceiver for connecting to a bridging device 130 (e.g., a UE) and other Wi-Fi resources (e.g., an access point 135), wherein the Wi-Fi transceiver sends and receives signals through an uplink and a downlink defining one of the Wi-Fi standard protocols. The bridging device 130 may include a Wi-Fi transceiver for communicating with the AR glasses 140 and a 5G transceiver for communicating with the network node 120. The radio link 125 may be a cellular wireless link defined by a 5G standard protocol or other suitable protocol.
[0048] In the consumer augmented reality space, a phone-to-glasses (P2G) architecture involves a system in which a phone acts as a bridging device 130 to relay extended reality data streams between an XR server 110 and AR glasses 140 using 5G and Wi-Fi links. For example, the illustrated AR glasses 140 are connected to the bridging device 130 via a Wi-Fi communication link, which can reduce product size, weight, cost, and power consumption of the associated wireless transceiver. The phone bridging device 130 can provide better 5G connectivity with its larger form factor and antenna size than the AR glasses 140. Additionally, the AR glasses 140 can help save power in long-distance scenarios because the long leg of the uplink traffic will be handled by the phone bridging device 130, which will typically have a larger battery. Thus, the phone-to-glasses architecture can improve the user experience on only the AR glasses 140 by combining two separate wireless protocols via a bridge device 130 that supports uplink communications that provide pose, gaze, and image data to an XR server and downlink communications that provide AR / XR / VR media for rendering on the AR glasses 140.
[0049] In the example communication system 100, the AR glasses 140b may include a radio transceiver (e.g., 5G) for communicating with the network node 120 and the edge server 115 via the radio link 127. The reduced number of hops in the link (e.g., direct link) with the network node 120 may reduce latency with the edge server 115. On the other hand, the transceiver power requirements and thermal emissions of the transceiver of the AR glasses 140b may be higher for this type of connection. The AR glasses 140b may be connected to the bridge device 130 or the access point 135 simultaneously or concurrently via a Wi-Fi link.
[0050] The AR glasses 140c may be connected to a wireless access point 135 via a Wi-Fi link 149. The access point 135 may be a network node with Wi-Fi capabilities and may be connected to the XR server 110 and the edge server 115 via a wired or wireless connection 137. That is, the communication network 100 may include heterogeneous wireless protocols and may include wired, fiber, and wireless links. The AR glasses 140c may be concurrently connected to the bridging device 130 via a Wi-Fi link in a peer arrangement and may be connected to the network node 120 via a radio wireless link. Aspects of the AR glasses 140a-c are interchangeable and combinable and are described here as examples of user access to a network.
[0051] Various embodiments may utilize various wireless communication networks, such as code division multiple access (CDMA), time division multiple access (TDMA), FDMA, orthogonal FDMA (OFDMA), single carrier FDMA (SC-FDMA), and other networks. Generally speaking, any number of wireless networks may be deployed in a given geographic area. Each wireless network may support at least one radio access technology, which may operate on one or more frequencies or frequency ranges. For example, a CDMA network may implement Universal Terrestrial Radio Access (UTRA) (including Wideband Code Division Multiple Access (WCDMA) standards), CDMA2000 (including IS-2000, IS-95, and / or IS-856 standards), etc. In another example, a TDMA network may implement Enhanced Data Rates for Global System for Mobile Communications (GSM) Evolution (EDGE). In another example, an OFDMA network may implement Evolved UTRA (E-UTRA) (including LTE standards), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM®, etc. Reference may be made to wireless networks using the LTE standard, and thus the terms "Evolved Universal Terrestrial Radio Access," "E-UTRAN," and "eNodeB" may also be used interchangeably herein to refer to wireless networks. However, such references are provided merely as examples, and are not intended to exclude wireless networks using other communication standards. For example, although various third generation (3G) systems, fourth generation (4G) systems, and fifth generation (5G) systems are discussed herein, those systems are cited merely as examples, and may be replaced with future generations of systems (e.g., sixth generation (6G) or higher generation systems) in various examples.
[0052] In various communication network implementations or architectures, the network node may be implemented as an aggregated base station, a decomposed base station, an integrated access and backhaul (IAB) node, a relay node, a side link node, etc., such as a virtualized radio access network (vRAN) or an open radio access network (O-RAN). In addition, in various communication network implementations or architectures, the network device (or network entity) may be implemented in an aggregated or monolithic base station architecture, or alternatively, in a decomposed base station architecture, and may include one or more of a centralized unit (CU), a distributed unit (DU), a radio unit (RU), a near real-time (RT) RAN intelligent controller (RIC), or a non-real-time RIC. Each network device may provide communication coverage for a specific geographic area. In 3GPP, the term "cell" may refer to a coverage area of a network device, a network device subsystem serving the coverage area, or a combination thereof, depending on the context in which the term is used.
[0053] The network node 120 may provide communication coverage for a macro cell, a pico cell, a femto cell, another type of cell, or a combination thereof. A macro cell may cover a relatively large geographic area (e.g., a radius of several thousand meters) and may allow unrestricted access by a user device with a service subscription. A pico cell may cover a relatively small geographic area and may allow unrestricted access by a user device with a service subscription. A femto cell may cover a relatively small geographic area (e.g., a residence) and may allow restricted access by a user device associated with the femto cell (e.g., a user device in a closed subscriber group (CSG)). A network node for a macro cell may be referred to as a macro node or a macro base station. A network node for a pico cell may be referred to as a pico node or a pico base station. A network node for a femto cell may be referred to as a femto node, a femto base station, a home node, or a home network device. The terms "network device", "network node", "eNB", "base station", "NR BS", "gNB", "TRP", "AP", "Node B", "5G NB", and "cell" may be used interchangeably herein.
[0054] In some examples, the cell may not be fixed, and the geographic area of the cell may move depending on the location of the network device. In some examples, the network nodes may be interconnected to each other and to one or more other network devices (e.g., base stations or network nodes (not illustrated)) in the communication system 100 using any suitable transport network through various types of backhaul interfaces (such as direct physical connections, virtual networks, or combinations thereof).
[0055] The network node 120 may communicate with a backend server (e.g., XR server 110) via a wired or wireless communication link (e.g., link 121). The bridge device 130 may communicate with the network node 120 via a wireless communication link 125. The wired communication link (e.g., link 121) to the backend may use a variety of wired networks (such as Ethernet, TV cable, telephone, fiber optic, and other forms of physical network connections) that may use one or more wired communication protocols such as Ethernet, point-to-point protocol, high-level data link control (HDLC), advanced data communications control protocol (ADCCP), and transmission control protocol / Internet protocol (TCP / IP).
[0056] The communication system 100 may also include relay stations that can receive transmissions of data from upstream stations (e.g., network nodes or UEs) and transmit transmissions of data to downstream stations (e.g., UEs or network nodes). A relay station may be a UE that can relay transmissions for other UEs. A network controller may be coupled to a set of network nodes and may provide coordination and control of these network nodes. The network controller may communicate with the network nodes via backhaul, midhaul, and / or fronthaul. The network nodes may also communicate with each other directly or indirectly, for example, via wireless or wired backhaul.
[0057] The communication system 100 or 160 may be a heterogeneous network including different types of network devices (e.g., macro network devices, pico network devices, femto network devices, relay network devices, etc.). These different types of network devices may have different transmit power levels, different coverage areas, and different effects on interference in the communication system 100. For example, a macro node may have a high transmit power level (e.g., 5 watts to 40 watts), while a pico network device, a femto network device, and a relay network device may have a lower transmit power level (e.g., 0.1 watt to 2 watts). Bridge devices (e.g., 130, 135) may be dispersed throughout the communication system 100 and may be stationary or mobile. The bridge device 130 may also be referred to as an access terminal, a terminal, a mobile station, a subscriber unit, a user station, a wireless device, etc.
[0058] A wireless communication link (e.g., radio link 125 or radio link 127) may include multiple carrier signals, frequencies, or frequency bands, each of which may include multiple logical channels. The wireless communication link may utilize one or more radio access technologies (RATs). Examples of RATs that may be used in the wireless communication link include: 3GPP LTE, 3G, 4G, 5G (such as NR), GSM, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMAX), Time Division Multiple Access (TDMA), and other mobile phone communication technology cellular RATs. Other examples of RATs that may be used in one or more of the various wireless communication links within the communication system 100 include mid-haul protocols (such as Wi-Fi, LTE-U, LTE-Direct, LAA, MuLTEfire) and relatively short-range RATs (such as ZigBee, Bluetooth, and Bluetooth Low Energy (LE)).
[0059] Certain wireless networks (e.g., LTE) use orthogonal frequency division multiplexing (OFDM) on the downlink and single carrier frequency division multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM divide the system bandwidth into multiple (K) orthogonal subcarriers, which are also often referred to as tones, frequency bins, etc. Each subcarrier can be modulated with data. In general, modulation symbols are transmitted in the frequency domain using OFDM and in the time domain using SC-FDM. The spacing between adjacent subcarriers can be fixed, and the total number of subcarriers (K) can depend on the system bandwidth. For example, the spacing between subcarriers can be 15kHz, and the minimum resource allocation (called a "resource block") can be 12 subcarriers (or 180kHz).
[0060] Although the description of some specific implementations may use terms and examples associated with LTE technology, some specific implementations may be applicable to other wireless communication systems (such as new radio (NR) or 5G networks). NR can utilize OFDM with a cyclic prefix (CP) on the uplink (UL) and downlink (DL), and includes support for half-duplex operation using time division duplex (TDD). A single component carrier bandwidth of 100 MHz can be supported. NR resource blocks can span 12 subcarriers with a subcarrier bandwidth of 75 kHz over a duration of 0.1 milliseconds (ms). Each radio frame may include 50 subframes with a length of 10 ms. Therefore, each subframe may have a length of 0.2 ms. Each subframe may indicate a link direction (ie, DL or UL) for data transmission, and the link direction of each subframe may be dynamically switched. Each subframe may include DL / UL data and DL / UL control data. Beamforming may be supported and the beam direction may be dynamically configured. Multiple-input multiple-output (MIMO) transmission with precoding may also be supported. MIMO configuration in DL can support up to eight transmit antennas, multi-layer DL transmission with up to eight streams and up to two streams per UE. Multi-layer transmission with up to 2 streams per UE can be supported.
[0061] Generally speaking, any number of communication systems and any number of wireless networks may be deployed in a given geographic area. Each communication system and wireless network may support a specific radio access technology (RAT) and may operate on one or more frequencies. RAT may also be referred to as radio technology, air interface, etc. Frequency may also be referred to as carrier, frequency channel, etc. Each frequency may support a single RAT in a given geographic area to avoid interference between communication systems of different RATs. In some cases, 4G / LTE and / or 5G / NR RAT networks may be deployed. For example, a 5G non-standalone (NSA) network may use 4G / LTE RAT on the 4G / LTE RAN side of a 5G NSA network and simultaneously use 5G / NR RAT on the 5G / NR RAN side of a 5G NSA network. Both 4G / LTE RAN and 5G / NR RAN may be connected to each other and to a 4G / LTE core network (e.g., an evolved packet core (EPC) network) in a 5G NSA network. Other example network configurations may include a 5G standalone (SA) network in which 5G / NR RAN is connected to a 5G core network.
[0062] In some implementations, two or more bridging devices 130 may communicate directly using one or more sidelink channels (e.g., without using the network node 120 as an intermediary to communicate with each other). For example, the bridging device 130 may communicate with other devices (e.g., AR glasses 140) using peer-to-peer (P2P) communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) protocols (which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, or similar protocols), mesh networks, or similar networks, or a combination thereof. In this case, the bridging device 130 may perform scheduling operations, resource selection operations, and other operations described elsewhere herein as being performed by the network node 120.
[0063] The deployment of a communication system (such as a 5G NR system) can be arranged in a variety of ways with various components or constituent parts. In a 5G NR system or network, a network node, a network entity, a mobility element of a network, a radio access network (RAN) node, a core network node, a network element or a network equipment (such as a base station (BS) or one or more units (or components) performing base station functions) can be implemented in an aggregated or decomposed architecture. For example, a base station (such as a Node B (NB), an evolved NB (eNB), an NRBS, a 5G NB, an access point (AP), a transmit receive point (TRP) or a cell, etc.) can be implemented as an aggregated base station (also known as an independent BS or a monolithic BS) or a decomposed base station.
[0064] A converged base station may be configured to utilize a radio protocol stack that is physically or logically integrated within a single RAN node. A decomposed base station may be configured to utilize a protocol stack that is physically or logically distributed between two or more units, such as one or more central or centralized units (CUs), one or more distributed units (DUs), or one or more radio units (RUs). In some aspects, a CU may be implemented within a RAN node, and one or more DUs may be co-located with the CU, or alternatively, may be geographically or virtually distributed in one or more other RAN nodes. A DU may be implemented to communicate with one or more RUs. Each of a CU, a DU, and a RU may also be implemented as a virtual unit, referred to as a virtual central unit (VCU), a virtual distributed unit (VDU), or a virtual radio unit (VRU).
[0065] Base station type operations or network designs may take into account the aggregated nature of base station functions. For example, a disaggregated base station may be used in an integrated access backhaul (IAB) network, an open radio access network (O-RAN) (such as a network configuration initiated by the O-RAN Alliance), or a virtualized radio access network (vRAN, also known as a cloud radio access network (C-RAN)). Decomposition may include distributing functions across two or more units at various physical locations, as well as virtually distributing the functions of at least one unit, which may enable flexibility in network design. Various units of a disaggregated base station or disaggregated RAN architecture may be configured for wired or wireless communication with at least one other unit.
[0066] Figure 1B is a system block diagram illustrating an example decomposed base station 160 architecture suitable for implementing any of the various embodiments. Figure 1A and Figure 1B , the decomposed base station 160 architecture may include one or more central units (CU) 162, which may communicate directly with the core network 180 via a backhaul link, or indirectly with the core network 180 through one or more decomposed base station units (such as a near real-time (near RT) RAN intelligent controller (RIC) 164 via an E2 link, or a non-real-time (non-RT) RIC 168 associated with a service management and orchestration (SMO) framework 166, or both). The CU 162 may communicate with one or more distributed units (DU) 170 via corresponding midhaul links (such as an F1 interface). The DU 170 may communicate with one or more radio units (RU) 172 via corresponding fronthaul links. The RU 172 may communicate with corresponding UEs 150 via one or more radio frequency (RF) access links. In some implementations, a UE 150 may be served by multiple RUs 172 simultaneously.
[0067] Each of the units (i.e., CU 162, DU 170, RU 172), as well as near-RT RIC 164, non-RT RIC 168, and SMO framework 166 may include one or more interfaces, or be coupled to one or more interfaces configured to receive or send signals, data, or information (collectively referred to as signals) via a wired or wireless transmission medium. Each of the units, or an associated processor or controller that provides instructions to the communication interface of these units, may be configured to communicate with one or more of the other units via a transmission medium. For example, these units may include a wired interface that is configured to receive or send signals to one or more of the other units via a wired transmission medium. Additionally, these units may include a wireless interface that may include a receiver, transmitter, or transceiver (such as a radio frequency (RF) transceiver) that is configured to receive or send signals or both to one or more of the other units on a wireless transmission medium.
[0068] In some aspects, CU 162 may host one or more higher layer control functions. Such control functions may include radio resource control (RRC), packet data convergence protocol (PDCP), service data adaptation protocol (SDAP), etc. Each control function may be implemented using an interface configured to communicate signals with other control functions hosted by CU 162. CU 162 may be configured to handle user plane functions (i.e., central unit-user plane (CU-UP)), control plane functions (i.e., central unit-control plane (CU-CP)), or a combination thereof. In some specific implementations, CU 162 may be logically split into one or more CU-UP units and one or more CU-CP units. When implemented in an O-RAN configuration, the CU-UP unit may communicate bidirectionally with the CU-CP unit via an interface (such as an E1 interface). As needed, CU 162 may be implemented to communicate with DU 170 for network control and signaling.
[0069] DU 170 may correspond to a logical unit that includes one or more base station functions for controlling the operation of one or more RUs 172. In some aspects, DU 170 may host one or more of a radio link control (RLC) layer, a medium access control (MAC) layer, and one or more high physical (PHY) layers (such as modules for forward error correction (FEC) encoding and decoding, scrambling, modulation and demodulation, etc.) at least in part according to a functional split such as defined by the Third Generation Partnership Project (3GPP). In some aspects, DU 170 may further host one or more low PHY layers. Each layer (or module) may be implemented using an interface that is configured to communicate signals with other layers (and modules) hosted by DU 170 or with control functions hosted by CU 162.
[0070] The edge server 115 may be co-located or directly connected to the o-eNB 174, RU 172, DU 170, or CU 162. The latency of the extended reality application may depend on which edge server is being used. For example, the XR server 110 may be located in the core network 180, or provided as part of the SMO framework 166 or CU 162. Depending on the extended reality application, the XR server 110 may be an asset of the application provider and be located wherever the provider is located. The edge server 115 of the communication network 160 or 100 may provide cross-platform and cross-application processing resources and, if authorized, manage one or more aspects of load balancing between the device and its external processing resources.
[0071] The lower layer functions may be implemented by one or more RUs 172. In some deployments, the RU 172 controlled by the DU 170 may correspond to a logical node that hosts RF processing functions or low PHY layer functions (such as performing fast Fourier transform (FFT), inverse FFT (iFFT), digital beamforming, physical random access channel (PRACH) extraction and filtering, etc.), or both, based at least in part on functional splitting (such as lower layer functional splitting). In such an architecture, the RU 172 may be implemented to handle over-the-air (OTA) communications with one or more UEs 120. In some specific implementations, real-time and non-real-time aspects of control and user plane communications with the RU 172 may be controlled by the corresponding DU 170. In some scenarios, this configuration may enable the DU 170 and CU162 to be implemented in a cloud-based RAN architecture such as a vRAN architecture.
[0072] The SMO framework 166 may be configured to support RAN deployment and provisioning of non-virtualized network elements and virtualized network elements. For non-virtualized network elements, the SMO framework 166 may be configured to support the deployment of dedicated physical resources for RAN coverage requirements, which may be managed via an operation and maintenance interface (such as an O1 interface). For virtualized network elements, the SMO framework 166 may be configured to interact with a cloud computing platform (such as an open cloud (O-Cloud) 176) to perform network element lifecycle management (such as instantiating virtualized network elements) via a cloud computing platform interface (such as an O2 interface). Such virtualized network elements may include, but are not limited to, CU 162, DU 170, RU 172, and near-RT RIC 164. In some specific implementations, the SMO framework 166 may communicate with hardware aspects of the 4G RAN (such as an open eNB (O-eNB) 174) via the O1 interface. Additionally, in some specific implementations, the SMO framework 166 may communicate directly with one or more RUs 172 via the O1 interface. The SMO framework 166 may also include a non-RT RIC 168 configured to support the functionality of the SMO framework 166 .
[0073] The non-RT RIC 168 may be configured to include logic functions that enable non-real-time control and optimization of RAN elements and resources, artificial intelligence / machine learning (AI / ML) workflows including model training and updating, or policy-based guidance of applications / features in the near-RT RIC 164. The non-RT RIC 168 may be coupled to or in communication with the near-RT RIC 164 (such as via an A1 interface). The near-RT RIC 164 may be configured to include logic functions that enable near-real-time control and optimization of RAN elements and resources via data collection and actions through an interface (such as via an E2 interface) that connects one or more CUs 162, one or more DUs 170, or both, and the O-eNB with the near-RT RIC 164.
[0074] In some implementations, in order to generate an AI / ML model to be deployed in the near-RT RIC 164, the non-RT RIC 168 may receive parameters or external enrichment information from an external server. Such information may be utilized by the near-RT RIC 164 and may be received from a non-network data source or from a network function at the SMO framework 166 or the non-RT RIC 168. In some examples, the non-RT RIC 168 or the near-RT RIC 164 may be configured to adjust RAN behavior or performance. For example, the non-RT RIC 168 may monitor long-term trends and patterns of performance and employ AI / ML models to perform corrective actions through the SMO framework 166 (such as via reconfiguration of O1) or via the creation of RAN management policies (such as A1 policies).
[0075] Figure 2 1 is a system block diagram illustrating portions of a processing system 200 that provides processing for an extended reality experience delivered by a wearable (eg, AR glasses 140). Figures 1A to 2 , Figure 2 The system illustrated in the example may include Figure 1A to Figure 1B One or more of a communication connection, network node, access point, or routing device. However, for the sake of clarity, these are not described in Figure 2 Similarly, the XR server 110, edge server 115, and AR glasses 140 (or other wearables) described herein may include Figure 2 As shown, the XR server 110, edge server 115, and AR glasses 140 may each have graphics processing capabilities, orientation calculation capabilities, and may each have thermal condition prediction capabilities. In the case of XR server 110 and edge server 115, these capabilities may be provided to support one or more AR glasses 140 on the network.
[0076] The AR application may be adapted to distribute, allocate or split various processing tasks between the XR server 110, the edge server 115, the bridge device 130 (e.g., UE), and the AR glasses 140. At startup, the AR application may contact the XR server 110 and the edge server 115. The XR server 110 may determine a service offset or a burst service offset for the media generated at the XR server 110 or the edge server 115. The network node 120 or the core network 180 may determine a burst service offset (i.e., timing information for the transmission of rendered data). The service offset or burst service offset may be determined so that the service from the XR server 110 or the edge server 115 is scheduled to be transmitted when the transmission resources (e.g., 5G and Wi-Fi) are available. The burst service offset calculated at the XR server 110 or the edge server 115 may be sent to the network node 120 and to the AR glasses 140 to notify and drive resource allocation in the communication chain. Thus, the XR server 110 or edge server 115 can initialize and direct resource allocation within the system 200 based on graphics rendering timing and traffic offsets. Figure 5 These aspects are described in more detail.
[0077] The AR glasses 140 may include one or more transceivers 282, one or more processors (CPUs) 284, a graphics processing unit (GPU) 286, a memory 288, and an inertial measurement unit (IMU) 290. Figure 3A The sensor data component 322 of the AR glasses 140 is described in more detail in the IMU 290. One or more of these processing units 282-290 may include a temperature measurement component (e.g., T1) that is connected to a memory and stores local temperature readings corresponding to various components within the corresponding unit. Any of the components of the AR glasses 140 (e.g., the transceiver 282) may be connected to one or more of the other components of the glasses. As also referred to in Figure 8 As described, one or more of the components (eg, processor 284) may include internal temperature management, power management, and load balancing. Such components may be configured to receive instructions for utilizing local temperature and power management capabilities to coordinate with other components.
[0078] The temperature sensors T1-T5 can measure the temperature of the corresponding component or a portion thereof. Each of the components 282-290 of the AR glasses 140 may include one or more local temperature sensors. In addition, the AR glasses 140 may include temperature sensors in the housing or frame of the glasses to monitor one or more key comfort points (e.g., behind the user's ears) or monitor battery temperature. The AR glasses 140 can process component-specific temperature sensors and local sensors to identify the temperature characteristic map of the device. The memory 288 can store one or more temperature thresholds for one or more of the components 282-290. These temperature thresholds can be operating temperature thresholds for preventing damage to hardware, comfort thresholds for users, and / or safety thresholds from regulations. Various embodiments provide methods that can help the temperature avoid reaching these thresholds by more intelligently balancing the processing load that generates heat in devices such as the AR glasses 140.
[0079] The processor 284 may control the transmit power (e.g., DL / UL power), bandwidth parameters, or data rate of the transceiver 282. The processor 284 may generate an alert when a threshold is about to be reached or has been reached. The processor 284 may periodically combine temperature measurements from sensors T1-T5 and other sensors to determine the operating state of the wearable (e.g., AR glasses 140). Scaling or power limiting may be based on specific component temperatures and may only apply to specific components (e.g., component-specific responses). A common application programming interface (API) for reporting temperatures from various components may be supported by the AR glasses 140 and executed on the processor 284.
[0080] As an example, when the GPU 286 reaches a certain temperature (e.g., X degrees from a threshold), the processor 284 can instruct the GPU 286 to reduce the rendering load by reducing the frame rate, reducing the resolution, or skipping areas outside the user's attention. As another example, when the transceiver 282 reaches a certain temperature (e.g., X degrees from a threshold), the processor 284 can instruct the transceiver 282 to reduce the data rate (and correspondingly instruct the CPU and GPU to prepare data bottlenecks) or increase compression (and correspondingly instruct the CPU or GPU to further compress the data). When the IMU 290 reaches a certain temperature (e.g., X degrees from a threshold), the processor 284 can instruct the IMU 290 to reduce the sampling rate, reduce the sensitivity, reduce the output resolution, or suspend gyroscope sensing while maintaining accelerometer sensing. The public API for temperature management on the AR glasses 140 can indicate that one or more components rely on historical data and predicted states rather than real-time measurements and calculations.
[0081] The AR glasses 140 may be connected to the edge server 115 via one or more hardware interfaces (e.g., Ethernet, Wi-Fi) and via one or more software interfaces (e.g., API). One or more applications on the AR glasses may be connected to the edge server 115 via a hardware or software interface. A processor overlay or hypervisor on the AR glasses may coordinate parallel processing or co-processing across the XR server 110, edge server 115, and AR glasses 140 by assigning threads or processes to one or more of the devices.
[0082] The edge server 115 may be part of an edge node (e.g., 5G eNB, gNB, Wi-Fi AP) and may include: Figure 3B , memory, communication interface, and long-term storage as illustrated in . The edge server 115 may be configured with software applications executing on its processors, which include an orientation processing component 240, a graphics rendering component 250, and a prediction component 260. The orientation processing component 240 may receive posture information or orientation information from the AR glasses 140 or an IMU (e.g., IMU 290) of the wearable. For example, the orientation processing component 240 may receive raw sensor data from an accelerometer, gyroscope, and gravimeter on the wearable, and may process the sensor data into one or more of head tilt, gaze angle, motion signature (e.g., head shaking), or other user actions. For example, the orientation processing component 240 may process a camera view to determine whether the wearable is inverted. The orientation processing component 240 may receive periodic updates from sensors or from the wearable at a sampling rate that is different from or equal to the sampling (measurement) rate of the IMU 290.
[0083] The graphics rendering component 250 may include hardware and software components (including a GPU and a cross-functional API) to provide an agnostic way to execute third-party applications in whole or in part on the graphics rendering component 250. The graphics rendering component 250 can perform ray tracing, physics simulation, shading, and other computer graphics effects. For example, the AR glasses 140 may request a graphical icon to be shaded and provide one or more instructions and functions to be executed to generate an icon known as split rendering. The icon may be rendered on the graphics rendering component 250 and sent back to the AR glasses 140 for display. In the case where a shared application operates on the AR glasses 140 and the graphics rendering component 250, the application may coordinate the execution of one or more instructions (or functions or processes) on the graphics rendering component 250 and on the GPU 286 of the AR glasses 140, and may coordinate the combination of the results of the execution at the display.
[0084] Overheat conditions in the AR glasses 140 may be reported to the edge server 115 or XR server 110 to assist in coordinating actions to reduce processing load (e.g., slowing down game execution for all users' applications). For example, if the GPU of the wearable overheats, the edge server 115 or XR server 110 may take over user gesture calculations or graphics rendering (as long as the wearable has available bandwidth). The edge server 115 or XR server 110 may be provided with comprehensive temperature information from the wearable, including temperature data on a per-component level, so that the edge server 115 or XR server 110 can identify and take appropriate actions (even if the wearable does not have one or more split rendering capabilities).
[0085] Prediction component 260 may include one or more trained machine learning models or other predictive artificial intelligence applications that receive current temperature values, processing allocations, and specifications of one or more components of a wearable, and output one or more predicted temperatures or temperature alerts for the one or more components at a future point in time. The predicted timing of the temperature may be set as a parameter. Prediction component 260 may provide the predicted temperature to the wearable to assist the wearable's thermal management system in allocating processor loads.
[0086] Likewise, the XR server 110 may have software applications executing on its processors, including an orientation processing component 210, a graphics rendering component 220, and a prediction component 230. These components 210-230 may provide corresponding functionality to the components 240-260 of the same name in the edge server 115. The edge server 115 may provide processing support and co-processing (e.g., split rendering) to many wearables, and may additionally offload some of the processing or rendering of the edge server to the XR server 110. The offload decision may be based on a comparison of the round-trip transmission latency to the XR server 110 and the local processor latency at the edge server 115. Other considerations (e.g., application security preferences) for balancing edge processing with external processing at the XR server 110 are contemplated.
[0087] In general, the systems and processes of various embodiments involve coordination and information sharing across communication protocols (e.g., wireless protocols (Wi-Fi, 5G)) and across devices. In various specific implementations, the coordination may be performed by a cross-layer application programmable interface (API), which may control or notify one or more layers of the 5G protocol on one or more devices, and may control or notify one or more layers of the Wi-Fi protocol on one or more devices. In various specific implementations, the coordination may be performed by a cross-layer API, which may control or notify one or more processors on one or more devices (e.g., edge server 115), and may control or notify one or more processes on one or more devices (e.g., AR facial recognition). For example, the cross-layer API may be configured to operate on AR glasses 140, XR server 110, and edge server 115. In various specific implementations, the coordination may be performed via enhanced messaging throughout the architecture, or by inserting additional information into resource requests and timing negotiations to notify devices in the architecture of time constraints of other devices (e.g., target wake time (TWT) windows, gesture generation, etc.). Thus, processing can be coordinated across devices in the architecture.
[0088] Figure 3A is a component block diagram illustrating a system 300 configured to balance processing between an extended reality server (e.g., XR server 110), an edge server 115, and an AR device 130 (e.g., AR glasses) according to various embodiments. Figures 1A to 3A, the system 300 may include a wearable device 302 (e.g., AR glasses 140) configured to communicate with a bridge device 130 (e.g., UE) or other computing device via a local wireless connection (e.g., radio link 127, Wi-Fi 145, Bluetooth, Ant, etc.) or other near field communication (NFC) communication technology. The bridge device 130 may be configured to relay communications between the wearable device 302 and a wireless communication network 308 (such as a cellular wireless communication network) via a wireless communication link 127c with a gNB 304, which may be connected to the communication network 308 via a backhaul or midhaul 332. The wearable device 302 may also be configured to communicate directly (i.e., without a bridge device) with an external resource (e.g., an XR server 110) via a wireless communication link 127a, 127b to the wireless communication network 308. The wireless connection 127a may be a radio link to a picocell 306, which may be connected to the communication network 308 via a backhaul or midhaul 330. Wireless connection 127b may be a radio link to gNB 304, which may be connected to communication network 308 via backhaul or midhaul 332. Communication network 308 may be connected to XR server 110 via link 121 (e.g., optical fiber), and edge server 115 may be co-located with gNB 304.
[0089] Wearable device 302 may include one or more processors 310, electronic storage 312, one or more sensors 314, transceiver 316 (e.g., wireless transceiver), and other components. Wearable device 302 may include communication lines or ports for enabling information exchange with a network and / or other computing platforms. Figure 3A The illustration of wearable device 302 in FIG. 1 is not intended to be limiting. Wearable device 302 may include multiple hardware, software, and / or firmware components that operate together to provide the functionality attributed to wearable object 302 herein.
[0090] Electronic storage 312 may include non-transitory storage media that electronically stores information. The electronic storage media of electronic storage 312 may include one or both of system storage provided integrally (i.e., substantially non-removable) with wearable device 302 and / or removable storage removably connected to wearable device 302 via, for example, a port (e.g., a universal serial bus (USB) port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage 312 may include one or more of the following: optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy disk drive, etc.), charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drives, etc.), and / or other electronically readable storage media. Electronic storage 312 may include one or more virtual storage resources (e.g., cloud storage, virtual private networks, and / or other virtual storage resources). Electronic storage 312 may store software algorithms, information determined by processor 310 , information received from wearable 302 , information received from edge server 115 , external resources (e.g., XR server 110 ), and / or other information that enables wearable device 302 to function as described herein.
[0091] Processor 310 may include one or more local processors (such as reference Figure 7 and Figure 8 As described above, the one or more local processors may be configured to provide information processing capabilities in the wearable device 302 (e.g., AR glasses 140). Thus, the processor 310 may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and / or other mechanisms for electronically processing information. Although the processor 310 is Figure 3A 310 is shown as a single entity, but this is for illustration purposes only. In some embodiments, processor 310 may include multiple processing units. These processing units may be physically located within the same device, or processor 310 may represent processing functions of multiple devices operating in coordination.
[0092] The wearable device 302 may be configured by machine-readable instructions 320, which may include one or more instruction modules. The instruction modules may include computer program components. Specifically, the instruction modules may include one or more of a sensor data component 322, an extended reality engine 324, a thermal component 326, a timing API 328, and / or other instruction modules. These components (e.g., 322-328) of the wearable device 302 may together provide an augmented reality experience via the AR glasses 140, as also described in Figure 7 exemplified in .
[0093] The sensor data component 322 may be connected to one or more sensors 314 for detecting orientation, ranging, inertia, movement, direction, and other gesture information. Range sensor information may come from one or more cameras, radio or acoustic ranging sensors, lasers, wireless signaling (e.g., Wi-Fi ranging), ultrasonic, and / or other ranging systems. Imaging sensors using computer vision may detect the position and angular orientation of a surface and identify objects. Inertia and orientation information may be detected by an inertial measurement unit (IMU) including an accelerometer, gravimeter, and magnetometer. Direction, orientation, and movement may be detected by a global positioning system (GPS) receiver, etc. Other gesture information and eye tracking data may be captured by a camera and inferred or calculated from the camera data via one or more computer models.
[0094] As a non-limiting example, the processor 310 of the wearable device 302 can receive sensor data directly from an onboard sensor (such as sensor 314) and / or use one or more transceivers (e.g., 724) to detect available wireless connections (e.g., Wi-Fi, Bluetooth, cellular, etc.) and obtain sensor information from remote sensors. In addition, the sensor data component 322 can be configured to determine (e.g., by measuring signal strength) whether the detected communication link is available to the bridge device 130 or other remote computing device.
[0095] The extended reality (XR) engine 324 may include one or more audiovisual rendering processes for rendering graphics and sounds for the XR / AR experience provided by the device. The XR engine 324 may, for example, render an icon indicating that further information corresponding to a real-world object viewed by the user via the AR glasses 140 is available. The XR engine 324 may, for example, generate and play animal sounds corresponding to animals viewed in a zoo through the AR glasses 140.
[0096] As a non-limiting example, the processor 310 of the wearable device 302 can render AR / XR audiovisual information on the processor and / or use one or more transceivers (e.g., 724) to manage and obtain rendered audiovisual data to be served to the user from a remote computing resource (e.g., XR server 110) based on local information (e.g., gesture). The XR engine 324 can include an extended reality application and can initiate contact with the XR server 110 and remotely operate one or more processes of the XR engine 324 on the XR server 110 or edge server 115.
[0097] The thermal component 326 can receive temperature measurements from one or more temperature sensors (e.g., T1-T5) of the sensor 314 located on or near one or more hardware components (e.g., 290, 724, 728, 730, 802, 804) of the wearable device 302. The thermal component 326 can process the temperature measurements from the sensors T1-T5 to determine time trends and statistics. The thermal component 326 can associate the temperature measurements from the sensors T1-T5 with the processing load at the corresponding hardware component or the data throughput at the transceiver 316. The thermal component 326 can associate the temperature measurements from the sensors T1-T5 with various graphic elements, rendering processes, instructions from the edge server 115, or other applications. The thermal component 326 can predict one or more temperatures based on a machine learning model therein that maps a first processor load at one component to a second processor load at another component. The thermal component 326 can include one or more temperature thresholds for the device and one or more components.
[0098] As a non-limiting example, the processor 310 of the wearable device 302 can calculate the thermal conditions of the wearable device 302 and compare these conditions to safety thresholds in order to appropriately allocate processing to a remote computing resource (e.g., XR server 110) or another external network device. The transceiver 316 of the wearable device 302 can send one or more thermal measurements or thermal thresholds to the edge server 115 or XR server 110 for analysis. The edge server 115 or XR server 110 can adjust the processing load based on the thermal information.
[0099] The timing API 328 of the wearable device 302 (e.g., AR glasses 140) can form a connection with the corresponding API at the bridge device 130 or the edge server 115, and can exchange messages including timing information with the corresponding API. The timing API 328 can negotiate or request network resources from a Wi-Fi network or a radio network (e.g., 5G) via control messages. The timing API 328 can receive data timing information from the extended reality engine 324 or gesture timing information from the sensor data component 322, and can coordinate changes to network resources based on the received timing information.
[0100] As a non-limiting example, the processor 310 of the computing device 302 can execute the timing API 328 on the processor and / or use one or more transceivers (e.g., 724) to connect to the corresponding API of the edge server 115 or other external network device. The processor 310 of the computing device 302 can execute the timing API 328 to provide a usable interface for coordinating with one or more external devices.
[0101] Figure 3Bis a block diagram illustrating components of a system 311 configured to coordinate and transform transmissions between an edge server 115 and a communication network according to various embodiments. Figures 1A to 3B , the system 311 may include an edge server 115 configured to communicate with one or more AR glasses 140 or other computing devices via a local wireless connection (e.g., radio link 380a / b, Wi-Fi, Bluetooth, Ant, etc.) or other NFC communication technology. The edge server 115 may also be configured to communicate with external resources (e.g., XR server 110) via a wireless connection 380a / b to a wireless communication network 308 (such as a cellular wireless communication network). The wireless connection 380a may be a radio link to a picocell 306, which may be connected to the communication network 308 via a backhaul or midhaul 330. The wireless connection 380b may be a radio link to a gNB 304, which may be connected to the communication network 308 via a backhaul or midhaul 332. The communication network 308 may be connected to the XR server 110 via a link 121 (e.g., optical fiber). Edge server 115 may be directly connected to XR server 110 via wireless connection 380c or via a backhaul, midhaul, or fronthaul link.
[0102] Edge server 115 may include one or more processors 350, electronic storage 342, one or more input / output (I / O) interfaces 344, a modem 346 (e.g., a wireless transceiver or a fiber optic modem), and other components. Edge server 115 may include communication lines or ports to enable information exchange with a network and / or other computing platforms. Figure 3B The illustration of edge server 115 in is not intended to be limiting. Edge server 115 may include a number of hardware, software, and / or firmware components that operate together to provide the functionality attributed to edge server 115 herein.
[0103] Electronic storage 342 may include non-transitory storage media that electronically stores information. The electronic storage media of electronic storage 342 may include one or both of system storage provided integrally (i.e., substantially non-removable) with edge server 115 and / or removable storage removably connected to edge server 115 via, for example, a port (e.g., a universal serial bus (USB) port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage 342 may include one or more of the following: optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy disk drive, etc.), charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drives, etc.), and / or other electronically readable storage media. Electronic storage 342 may include one or more virtual storage resources (e.g., cloud storage, virtual private networks, and / or other virtual storage resources). Electronic storage 342 may store software algorithms, information determined by processor 350 , information received from edge server 115 , information received from AR glasses 140 , external resources (e.g., XR server 110 ), and / or other information that enables edge server 115 to function as described herein.
[0104] Processor 350 may include one or more local processors (such as reference Figure 7 and Figure 8 ), the one or more local processors may be configured to provide information processing capabilities in the edge server 115. Thus, the processor 350 may include one or more of the following: a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and / or other mechanisms for electronically processing information. Although the processor 350 is Figure 3B 350 is shown as a single entity, but this is for illustrative purposes only. In some embodiments, processor 350 may include multiple processing units. These processing units may be physically located in the same device, or processor 350 may represent processing functions of multiple devices operating in coordination.
[0105] The edge server 115 may be configured by machine-readable instructions 360, which may include one or more instruction modules stored in a non-transitory memory such as storage device 342. The instruction modules may include computer program components. Specifically, the instruction modules may include one or more of a gesture component 362, an extended reality engine 364, a thermal component 366, a timing API 368, and / or other instruction components. Together, these components (e.g., 362-368) of the edge server 115 may provide processing resources and load balancing intelligence for augmented reality devices.
[0106] The gesture component 362 can be connected to one or more sensors 314 of the wearable device 302, including a global positioning system (GPS) component, an IMU (e.g., IMU 290), a time of flight (TOF) or round trip time (RRT) sensor, and other sensors. The gesture component 362 can include processes for collecting data from the sensors 314 and can store the data on the electronic storage device 342.
[0107] As a non-limiting example, the processor 350 of the edge server 115 can operate the gesture component 362 on the processor and / or use one or more modems (e.g., modem 346) to connect to remote sensors or other external network devices. The processor 350 of the edge server 115 can execute the gesture component 362 to obtain timing, position, orientation, and quality of service measurements for the AR device.
[0108] The extended reality (XR) engine 364 may include one or more audiovisual rendering processes for rendering graphics and sounds for the XR / AR experience provided by the wearable 302. The XR engine 364 may, for example, render an icon indicating that further information corresponding to a real-world object viewed by the user via the AR glasses 140 is available. The XR engine 364 may, for example, generate and play animal sounds corresponding to animals viewed in a zoo through the AR glasses 140.
[0109] As a non-limiting example, the processor 350 of the edge server 115 can render AR / XR audiovisual information on the processor and / or use one or more modems 346 or links 380a-c to manage and obtain rendered audiovisual data to be supplied to the user device based on local information (e.g., gestures). The XR engine 364 can include an extended reality application and can initiate contact with the XR server 110 and remotely operate one or more processes of the XR engine 364 (or XR engine 324) on the XR server 110 or AR glasses 140.
[0110] The thermal component 366 can receive temperature measurements from one or more temperature sensors (e.g., T1-T5) of the sensor 314 located on or near one or more hardware components (e.g., 290, 724, 728, 730, 802, 804) of the wearable device 302. The thermal component 366 can process the temperature measurements from the sensors T1-T5 to determine time trends and statistics. The thermal component 366 can associate the temperature measurements from the sensors T1-T5 with the processing load at the corresponding hardware component or the data throughput at the transceiver 316. The thermal component 366 can associate the temperature measurements from the sensors T1-T5 with various graphical elements, rendering processes, instructions from the AR glasses 140, instructions from the XR server 110, or other applications.
[0111] Thermal component 366 may predict one or more temperatures within an AR device (e.g., AR glasses) based on a machine learning model that maps a first processor load at one component within AR device 302 to a second processor load in another component of the AR device. Figure 6 366. Thermal component 366 can store one or more temperature thresholds for wearable device 302 and one or more of its components. Based on these predicted temperatures or thresholds, thermal component 366 can generate one or more instructions for controlling load balancing or processing load at XR engine 364 or XR engine 324. Based on these predicted temperatures or thresholds, thermal component 366 can generate one or more instructions for controlling load balancing or processing load of one or more components (e.g., processor 310, sensor 314, or transceiver 316) of wearable device 302.
[0112] As a non-limiting example, the processor 350 of the edge server 115 can calculate the thermal conditions of the wearable device 302 and compare these conditions to safety thresholds in order to appropriately allocate processing to a remote computing resource (e.g., XR server 110) or the remote computing resource's own XR engine 364. The modem 346 of the edge server 115 can send one or more thermal measurements or thermal thresholds to the XR server 110 for analysis. The edge server 115 or XR server 110 can adjust the processing load based on this thermal information.
[0113] The timing API 368 of the edge server 115 can form a connection with a corresponding API at an AR device (e.g., timing API 328) or a network device, and can exchange messages including data timing information with the corresponding API. The timing API 368 can negotiate or request network resources from a Wi-Fi network or a radio network (e.g., 5G) via control messages. The timing API 368 can receive data timing information from the XR engine 324 / 364 or gesture timing information from the gesture component 362, and can coordinate changes to network resources based on the received timing information.
[0114] As a non-limiting example, the processor 350 of the edge server 115 may execute the timing API 368 on the processor and / or a corresponding API of an AR device or other external network device using one or more modems 346. The processor 350 of the edge server 115 may execute the timing API 368 to provide a usable interface for coordinating with one or more external devices, one or more Wi-Fi resource controllers, and one or more radio resource controllers.
[0115] Figure 4AA system diagram illustrating a data flow 400 according to a specific implementation involving split rendering scenes is shown. Figures 1A to 4A , AR glasses 140 or other wearables may be connected to network node 121 via one or more wireless protocols, and network node 120 may be connected to edge server 115. AR glasses 140 may periodically send temperature sensor data, posture information, and processing requests (collectively referred to as sensor data and requests 410) to network node 120, which may direct these messages as sensor data and requests 420 to edge server 115 or to XR server 110.
[0116] The edge server 115 can use the gesture information to generate the requested graphics as part of the split rendering. The edge server 115 can process the temperature sensor data and generate one or more instructions for controlling the balance of split rendering between the server and the user device or controlling the performance and quality at the user device (e.g., reducing the resolution at the user device). The one or more instructions to the user device can be based on one or more predicted temperatures from the prediction component 260 of the edge server 115. Figure 4B An example data flow is illustrated in more detail in .
[0117] Figure 4B is a block diagram of data flow for a split rendering architecture according to some embodiments. Figures 1A to 4B , the AR glasses 140 may include sensors 314 (these sensors include a temperature sensor and an orientation sensor), and may include a radio modem 459 for connecting to a wireless network. The AR glasses may be connected to the edge server 110 via the network node 120. The AR glasses 140 may send posture information 455 and temperature data 453 via the radio modem 459. The posture information 455 and the temperature data 453 may originate from the sensors 314. The API 440 or the shared application on the edge server 115 may process the posture information according to pre-stored instructions (e.g., part of the shared application) or according to instructions sent with the posture information (e.g., sensor data and request 410).
[0118] Based on the processing of the pose information 455, the edge server 115 may generate a graphic 462 via the graphics rendering 450 for display on the AR glasses 140. The edge server 115 may send the graphic 462 back to the AR glasses 140 via the network node 120. The edge server 115 may also coordinate with the XR server 110 to perform the graphics rendering. Based on the temperature data 453, the edge server 115 may modify one or more instructions or processes of the API 440, and may generate instructions for modifying the processes or parameters at the AR glasses 140. These instructions 464 may be sent to the AR glasses 140 to rebalance the processing load between the AR glasses and the edge server based on the sensed temperature or predicted temperature at the component level of the AR glasses 140.
[0119] exist Figure 4B , the edge server 115 is illustrated as issuing instructions 464 for rebalancing the processing load, and the AR glasses 140 can make similar adjustments via instructions to the edge server 115. For example, the AR glasses 140 may already be providing requests for processing at the edge server 115, such as Figure 4A As shown, these requests may be modified or revoked based on analysis at the AR glasses 140. The edge server 115 may notify the network node 120 of the expected timing 470 for the graphics to be transmitted to the AR glasses 140. This allows the network node to reserve network resources for future transmissions. The edge server 115 may notify the AR glasses 140 of the expected timing of the graphics transmission, and the AR glasses 140 may then request network resources via a radio resource control (RRC) message or via a control message in the WLAN or Wi-Fi network (e.g., attached to a block ack frame or other management frame). This coordination of timing and rendering allocation may be accomplished via RRC messages between the AR glasses 140 and the network or via the application layer of the network (e.g., API 440). Timing and resource control (including allocation of network bandwidth resources based on temperature or predicted temperature) may improve latency in a split architecture.
[0120] Figure 5 is a process flow diagram illustrating an example process 500 for adjusting the processing load between the edge server 115 and the AR glasses 140. Figures 1A to 5, process 500 provides a portion of an information flow starting with a data stream from an XR server 110 (or edge server 115), which supplies XR data to the wearable device 302 via an XR data connection 520. The temperature sensor 510 (of the sensor 314) may internally send temperature data 522 from each of the components of the AR glasses to a memory or processor of the component. The AR glasses 140 may provide temperature data 522 from the sensors at each component, and may provide the temperature history as temperature data 524 to the edge server 115 and the XR server 110. The AR glasses 140 may notify the edge server or XR server 110 of a data schedule 526 that provides timing requirements for certain graphics that need to be rendered.
[0121] The XR server 110 and the edge server 115 may coordinate how to split the assigned rendering between them, and the XR server 110 may send timing instructions 532 to the edge server 115. The timing instructions 532 may include a deadline for the XR server 110 to complete the rendering (e.g., processed pose determination) from the edge server 115. The timing instructions 532 may include an expected rendering completion time for the graphics assigned to the XR server. Similarly, the edge server 115 may provide timing instructions 534 to the network node 120, which may include timing instructions as described in reference to Figure 4B The network node 120 may forward one or more timing instructions 536 from the XR server 110 and the edge server 115 to the wearable 302. The timing instructions 536 may inform the wearable device 302 when to expect the rendered data for display (e.g., in response to a request in the data schedule 526). The edge server 115 may adjust the data schedule 526 based on the temperature data 524 from one or more components of the wearable to adjust the processing load at the wearable 302. That is, the timing instructions 536 may not match the requested data schedule 526.
[0122] The edge server 115 may provide one or more processing instructions 538 to the wearable device 302 based on resource availability, temperature data 524, or a predicted temperature based on the temperature data. The processing instructions 538 may adjust one or more parameters of processing at one or more of the components of the wearable device 302 (e.g., rendering frame rate, acceleration sampling rate, processor power). Based on the processing instructions 538 and the timing instructions 536 to adjust one or more aspects of the split rendering resource allocation, the wearable device 302 may notify the network node 120 of the change in bandwidth requirements in the updated data schedule 540. The wearable device 302 may then receive XR data that has been rendered according to the updated schedule, or the wearable device 302 may provide the edge server 115 with posture and frame data 542 that is adjusted or configured based on the processing instructions 538. In response and based on the previous processing instructions to balance the load, the edge server 115 may send processed XR data 552 (e.g., rendered graphics). Further processed XR data 554 may be sent from the XR server 110. Each time the edge server 115 receives updated temperature information or predicts a temperature change based on the processing allocation, the illustrated processes 532 - 552 may be repeated to adjust the processing allocation.
[0123] Figure 6 is a process flow diagram illustrating an example process flow 600 for training a machine learning model to predict temperatures at various components. Figures 1A to 6 , process 600 may be performed by a server such as edge server 115 to train prediction component 230 / 260. Machine learning environment 610 may be executed on processor 350 of edge server 115 to train a machine learning model of prediction component 260 on new devices and components connected to edge server 115 for XR graphics support. The machine learning model may use not only the expected processing load at one or more components as a predictor, but also the device and component specifications and parameters as predictors.
[0124] For example, a machine learning algorithm (e.g., software code) or model 620 is provided that maps data inputs (e.g., processor load and device data) to predicted outputs (e.g., temperature). In the machine learning environment 610, the machine learning algorithm 620 can be trained using training data 630 (e.g., a portion of the temperature data 524). For example, the training data 630 can be a representative set of data for self-supervised training by the machine learning model 620, or can have been pre-classified by a human, or both. After the machine learning model 620 is trained using the training data 630, the machine learning model 630 can be tested using real-world data input 640 to determine the accuracy of the machine learning relative to the real-world results. For example, in the case of a neural network, the real-world input 640 can be used to determine the accuracy of the mapping between the input and the output.
[0125] If the accuracy of the machine learning does not meet the desired accuracy (e.g., 95%, 98%, 99% accurate) under the real-world input 640 test in the machine learning validation 650, the machine learning code can be adjusted or the training data 630 can be adjusted. The adjustment may include adding one or more predictor inputs (e.g., device information). The training in the training environment 610 can be repeated to achieve the desired accuracy. In this way, the training in the machine learning environment 610 and the machine learning model validation 650 can be repeated until the machine learning model 620 is able to classify the real-world data input 640 with the desired accuracy.
[0126] After determining that the accuracy of the machine learning model 620 meets the expected accuracy using the machine learning model validation 650, the process 600 machine learning model can be used to predict the output 660 in the prediction component 324. The process 800 can be used to train each of the multiple machine learning algorithms (e.g., classifiers) described herein, and can be trained on a separate data set or trained to predict different outputs. That is, the machine learning model for the prediction component 260 can be trained differently from the prediction component 230 and configured differently (e.g., different training data, different inputs, different outputs).
[0127] Various embodiments (including those referred to above Figures 1A to 6 The embodiments discussed herein can be implemented on a variety of wearable devices, examples of which are shown in FIG. Figure 7 140 is exemplified in the form of AR glasses 140. Figures 1A to 7, the AR glasses 140 can operate like traditional glasses, but with enhanced computer features and sensors, such as a built-in camera 735 and a heads-up display or AR features on or near the lenses 731. Like any glasses, the smart glasses may include a frame 702 coupled to temples 704 that fit beside the wearer's head and behind the ears. The frame 702 holds the lenses 731 in place in front of the wearer's eyes when the nose pads 706 on the nose bridge 708 are placed on the wearer's nose.
[0128] In some embodiments, the AR glasses 140 may include an image rendering device 714 (e.g., an image projector) that may be embedded in one or both temples 704 of the frame 702 and configured to project an image onto an optical lens 731. In some embodiments, the image rendering device 714 may include a light emitting diode (LED) module, a light tunnel, a homogenizing lens, an optical display, a folding mirror, or other well-known projector or head-mounted display components. In some embodiments (e.g., those embodiments that do not include or use the image rendering device 714), the optical lens 731 may be or may include a perspective or partially perspective electronic display. In some embodiments, the optical lens 731 includes an image generating element, such as a perspective organic light emitting diode (OLED) display element or a liquid crystal on silicon (LCOS) display element. In some embodiments, the optical lens 731 may include independent left-eye display elements and right-eye display elements. In some embodiments, the optical lens 731 may include a light guide for delivering light from the display element to the wearer's eyes or operate as the light guide.
[0129] The AR glasses 140 may include a plurality of external sensors that may be configured to obtain information about the wearer's movements and external conditions that may be used to sense images, sounds, muscle movements, and other phenomena that may be used to detect when the wearer interacts with the described virtual user interface. In some embodiments, the AR glasses 140 may include a camera 735 that is configured to image objects in front of the wearer in a static image or video stream that may be sent to another computing device (e.g., edge server 115 or XR server 110) for analysis. Additionally, the AR glasses 140 may include a range sensor 740. In some embodiments, the AR glasses 140 may include a microphone 710 that is positioned and configured to record sounds near the wearer. In some embodiments, a plurality of microphones may be positioned in different locations on the frame 702, such as on the distal end of the temple 704 near the chin to record the sound made when the user taps the selected object on the hand, etc. In some embodiments, the AR glasses 140 may include pressure sensors (such as on the nose pad 706) that are configured to sense facial movements to calibrate distance measurements. In some embodiments, AR glasses 140 may include other sensors (e.g., thermometers, heart rate monitors, body temperature sensors, pulse oximeters, etc.) for collecting information about environmental and / or user conditions that can be used to identify user interactions with virtual user interfaces. These sensors (e.g., sensor 314, range sensor 740) or IMUs (e.g., IMU 290) may provide measurements to sensor data component 322 to generate or compile gesture information for the user. The gesture information may then be uploaded to XR server 110 or edge server 115 for use in rendering graphics in XR engine 364.
[0130] The processing system 712 may include processing and communication SOCs 802, 804, which may include one or more processors, one or more of which may be configured with processor-executable instructions for performing operations of various embodiments. The processing and communication SOCs 802, 804 may be coupled to internal sensors 720, internal memory 722, and communication circuits 724, which are coupled to one or more antennas 726 for establishing a wireless data link with an external computing device (e.g., edge server 115), such as via a Bluetooth or Wi-Fi link. The processing and communication SOCs 802, 804 may also be coupled to sensor interface circuits 728, which are configured to control the camera 735, microphone 710, and other sensors positioned on the frame 702 and receive data from them.
[0131] The internal sensors 720 may include an IMU including an electronic gyroscope, an accelerometer, and a magnetic compass configured to measure the movement and orientation of the wearer's head. The internal sensors 720 may also include a magnetometer, an altimeter, an odometer, and an atmospheric pressure sensor, as well as other sensors that can be used to determine the orientation and movement of the AR glasses 140. Such sensors can be used in various embodiments to detect head movements (e.g., posture changes), which can be used to adjust distance measurements as described. The processing system 712 may also include a power source such as a rechargeable battery 730 that is coupled to the SOC 802, 804 and external sensors on the frame 702.
[0132] Figure 8 is a component block diagram illustrating an example computing and wireless modem system 800 suitable for implementing any of the various embodiments. The various embodiments may be implemented on a number of single-processor and multi-processor computer systems, including systems on a chip (SOC) or systems in packages (SIP).
[0133] refer to Figures 1A to 8 , the illustrated example computing system 700 includes two SOCs 802, 804 (which may be SIPs in some embodiments) coupled to a clock 806, a voltage regulator 808, and a wireless transceiver 866, which is configured to transmit / receive wireless communications to / from a bridge device (e.g., 130) or a network device (e.g., 110, 115) via an antenna (not shown). In some specific implementations, the first SOC 802 may operate as a central processing unit (CPU) of an AR device (e.g., AR glasses 140), which executes instructions of a software application by performing arithmetic, logic, control, and input / output (I / O) operations specified by the instructions. In some specific implementations, the second SOC 804 may operate as a dedicated processing unit. For example, the second SOC 804 may operate as a dedicated 5G processing unit responsible for managing high-capacity, high-speed (such as 5 Gbps) and / or ultra-high frequency short wavelength (such as 28 GHz millimeter wave spectrum) communications.
[0134] The first SOC 802 may include a digital signal processor (DSP) 810, a modem processor 812, a graphics processor 814, an application processor 816, one or more coprocessors 818 (such as a vector coprocessor) connected to one or more of these processors, a memory 820, a custom circuit 822, system components and resources 824, an interconnect / bus module 826, one or more temperature sensors 830, a thermal management unit 832, and a thermal power envelope (TPE) component 834. The thermal management unit 832 and the thermal power envelope (TPE) component 834 may communicate with the edge server 115 or the thermal component 326 of the wearable device 302 containing the computing system 800. The second SOC 804 may include a 5G modem processor 852, a power management unit 854, an interconnect / bus module 864, multiple millimeter wave transceivers 856, a memory 858, and various additional processors 860, such as an application processor, a packet processor, etc.
[0135] Each processor 810, 812, 814, 816, 818, 852, 860 may include one or more cores and one or more temperature sensors, and each processor / core may perform operations independently of other processors / cores. For example, the first SOC 802 may include a processor that executes a first type of operating system (such as FreeBSD, LINUX, OS X, etc.) and a processor that executes a second type of operating system (such as MICROSOFT WINDOWS 10). In addition, any or all of the processors 810, 812, 814, 816, 818, 852, 860 may be included as part of a processor cluster architecture (such as a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).
[0136] The first SOC 802 and the second SOC 804 may include various system components, resources, and custom circuits for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 824 of the first SOC 802 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components for supporting processors and software clients running on AR devices. The system components and resources 824 and / or custom circuits 822 may also include circuits for interfacing with peripheral devices (such as cameras, electronic displays, wireless communication devices, external memory chips, etc.).
[0137] The first SOC 802 and the second SOC 804 may communicate via an interconnect / bus module 850. The various processors 810, 812, 814, 816, 818 may be interconnected to one or more memory elements 820, system components and resources 824, and custom circuits 822, and a thermal management unit 832 via an interconnect / bus module 826. Similarly, the processor 852 may be interconnected to a power management unit 854, a millimeter wave transceiver 856, a memory 858, and various additional processors 860 via an interconnect / bus module 864. The interconnect / bus modules 826, 850, 864 may include an array of reconfigurable logic gates and / or implement a bus architecture (such as CoreConnect, AMBA, etc.). Communications may be provided by advanced interconnects, such as a high-performance network on chip (NoC).
[0138] The first SOC 802 and / or the second SOC 804 may also include an input / output module (not illustrated) for communicating with resources external to the SOC, such as a clock 806 and a voltage regulator 808. The resources external to the SOC, such as the clock 806, the voltage regulator 808, may be shared by two or more of the internal SOC processors / cores.
[0139] In addition to the example SIP 800 discussed above, some implementations may be realized in a variety of computing systems that may include a single processor, multiple processors, multi-core processors, or any combination thereof.
[0140] Various embodiments (including but not limited to the above reference Figures 1A to 8 The embodiments discussed herein may be implemented on a variety of computing devices, examples of which are Fig. 9 The example is shown in the form of a server. Figures 1A to 9, the network computing device 900 (e.g., XR server 110, edge server 115) may include a processor 901 coupled to a volatile memory 902 and a large capacity non-volatile memory (such as a disk drive 903). The network computing device 900 may also include a peripheral memory access device coupled to the processor 901, such as a floppy disk drive, a compact disk (CD), or a digital video disk (DVD) drive 906. The network computing device 900 may also include a network access port 904 (or interface) coupled to the processor 901 for establishing a data connection with a network (such as the Internet and / or a local area network coupled to other system computers and servers). The network computing device 900 may include one or more transceivers 907 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless communication link. The network computing device 900 may include additional access ports for coupling to peripheral devices, external memory, or other devices, such as USB, FireWire, Thunderbolt, etc.
[0141] The processors of the AR glasses 140 and the network device 900 can be any programmable microprocessor, microcomputer, or one or more multi-processor chips that can be configured by software instructions (applications) to perform a variety of functions including some of the specific implementation functions described below. In some wireless devices, multiple processors may be provided, such as a processor dedicated to wireless communication functions in SOC 804 and a processor dedicated to running other applications in SOC 802. Software applications can be stored in memory 342, 312, and then these software applications are accessed and loaded into the processor. The processor may include internal memory sufficient to store application software instructions.
[0142] Fig.10 is a process flow diagram illustrating an example method 1000 for balancing resources. Figures 1A to 10 , the operations of method 1000 are described with reference to a wearable device and a processor within such a device. However, the term wearable device is used in this specification for ease of description and is not intended to be limiting. Examples of wearable devices suitable for implementing method 1000 include AR glasses 140 as described herein, and any form of AR / XR / VR device including goggles. Various components for performing the operations of method 1000 may include a processor (e.g., 310, 284, 802, 804) of the wearable device coupled to a memory (e.g., 311, 342, 288) or from a remote source (such as a remote system (e.g., edge server 115) or an external resource using a transceiver (e.g., 724, 866) and related components).
[0143] In block 1002, a processor of a wearable device may obtain a plurality of temperature measurements from a plurality of hardware components of the wearable device. Means for performing the operations of block 1002 may include a processor (e.g., 310, 284, 802, 804) coupled to a memory (e.g., 311, 342, 288) or from a remote source (e.g., a remote system (e.g., edge server 115) or an external resource using a transceiver (e.g., 724, 866) and related components).
[0144] In block 1004, a processor of the wearable device may send a plurality of temperature measurements related to a plurality of hardware components from the UE to a network node (e.g., network node 120). Means for performing the operations of block 1004 may include a processor (e.g., 722, 802, 804, 852) coupled to a memory (e.g., 311, 342, 288) or from a remote source (e.g., a remote system (e.g., edge server 115) or an external resource using a transceiver (e.g., 724, 866) and related components).
[0145] In block 1006, the processor of the wearable device may receive instructions related to the operation of the application executed on the processor of the UE from the network node. Means for performing the operations of block 1006 may include a processor (e.g., 722, 802, 804, 852) coupled to a memory (e.g., 288, 311, 342) or from a remote source (e.g., a remote system (e.g., edge server 115) or an external resource using a transceiver (e.g., 724, 866) and related components).
[0146] In block 1008, the processor of the wearable device may adjust one or more compound operating parameters of the wearable device (e.g., processor clock rate, processor scheduling, compression rate, frame rate) based on the instructions received from the network node. Means for performing the operations of block 1008 may include a processor (e.g., 722, 802, 804, 852) coupled to a memory (e.g., 288, 311, 342) or from a remote source (e.g., a remote system (e.g., edge server 115) or an external resource using a transceiver (e.g., 724, 866) and related components).
[0147] In some embodiments, as part of method 1000, the processor of the wearable device may adjust operating parameters of the wearable device by receiving more rendered elements of the graphics from the network node. In some embodiments, as part of method 1000, the processor of the wearable device may adjust operating parameters of the wearable device by rendering more elements of the graphics by the processor. In some embodiments, as part of method 1000, the processor of the wearable device may adjust operating parameters of the wearable device by rendering more elements of the graphics by the processor and receiving more rendered elements of the graphics from the network node. In some embodiments, as part of method 1000, the processor of the wearable device may adjust operation of a processor executing an XR application based on the instructions by adjusting processing of data or graphics to be presented in an extended reality display.
[0148] The processor of the wearable device can adjust the operating parameters of the UE by performing at least one of the following: adjusting the downlink data transmission rate of the UE's transceiver; adjusting the sampling rate of the UE's inertial measurement unit; adjusting the sensitivity of the UE's inertial measurement unit; adjusting the output resolution of the UE's inertial measurement unit; adjusting the gyroscope measurement of the UE's inertial measurement unit; adjusting the graphic display quality in the UE's display; adjusting the graphic display area in the UE's display; and adjusting video compression parameters including frame rate, ratio of predicted frame to full frame, or compression block size.
[0149] Fig.11 1 to 2 are process flow diagrams illustrating an example method 1100 that may be performed in an edge server (or remote server) for balancing processor load based on temperature constraints. Fig.11 , method 1100 may be performed by a processor (e.g., 350, 901) of an edge server or remote server (e.g., 100, 115), which may be configured to perform operations via processor-executable instructions stored in a non-transitory processor-readable medium (e.g., memory 342). Means for performing operations of method 1100 may include a processor (e.g., 350, 901) coupled to memory (e.g., 342) or from a remote source (e.g., a remote system (e.g., XR server 110) or an external resource 868 using a transceiver (e.g., 866) and related components).
[0150] In block 1102, edge server 115 or XR server 110 (or its processor / transceiver) may receive from a UE a plurality of temperature measurements corresponding to a plurality of hardware components of a wearable device, such as AR glasses 140. Means for performing the operations of block 1102 may include a processor (e.g., 350, 901) coupled to a memory (e.g., 342) or from a remote source, such as a remote system (e.g., XR server 110) or an external resource 868 using a transceiver (e.g., 866) and related components.
[0151] In block 1104, the edge server 115 or XR server 110 (or a processor / transceiver thereof) may identify one or more adjustments to the operation of multiple hardware components of a wearable device (such as AR glasses 140) based on the multiple temperature measurements. Means for performing the operations of block 1104 may include a processor (e.g., 350, 901) coupled to a memory (e.g., 342) or from a remote source (e.g., a remote system (e.g., XR server 110) or an external resource (e.g., 868) using a transceiver (e.g., 866) and related components).
[0152] In block 1106, the edge server 115 or XR server 110 (or its processor / transceiver) may send instructions to a wearable device (such as AR glasses 140) configured to cause the wearable device to adjust the operation of at least one of the plurality of hardware components. In some cases, the instructions for adjusting the operation of the wearable device may include configuring the wearable device to receive an image rendered or at least partially rendered within the edge server 115 or XR server 110, thereby reducing the graphics processing load performed on the wearable device. In some cases, the instructions for adjusting the operation of the wearable device may include configuring the wearable device to receive AR media at a lower data rate or frame rate in order to reduce the processing load within the wearable device. The means for performing the operations of block 1106 may include a processor (e.g., 350, 901) coupled to a memory (e.g., 342) or from a remote source (such as a remote system (e.g., XR server 110) or an external resource (e.g., 868) using a transceiver (e.g., 866) and related components).
[0153] The various implementations illustrated and described are provided merely as examples of various features of the claims. However, the features illustrated and described for any given implementation are not necessarily limited to the associated implementation, and may be used or combined with other embodiments illustrated and described. Furthermore, the claims are not intended to be limited to any one example implementation. For example, one or more of the operations of methods 1000 and 1100 may be performed in an order different from that illustrated and described, including in parallel or as a combination of operations.
[0154] Specific implementation examples are described in the following paragraphs. Although some of the following specific implementation examples are described according to example methods, other example implementations may include: the example methods discussed in the following paragraphs are implemented by a wearable device or an edge server, the wearable device or edge server including a processor configured with processor-executable instructions to perform the operations of the methods of the following specific implementation examples; the example methods discussed in the following paragraphs are implemented by a wearable device or an edge server including components for performing the functions of the methods of the following specific implementation examples; and the example methods discussed in the following paragraphs may be implemented as a non-transitory processor-readable storage medium having processor-executable instructions stored thereon, which are configured to cause the processor of the wearable device or edge server to perform the operations of the methods of the following specific implementation examples.
[0155] Embodiment 1. Method Embodiment 1. A method for receiving a data stream from a network node, performed by a processor of a wearable device, comprising: obtaining multiple temperature measurements from multiple hardware components of the wearable device; sending the multiple temperature measurements related to the multiple hardware components from the wearable device to the network node; receiving instructions related to the operation of an application executed on the processor of the wearable device from the network node; and adjusting operating parameters of the wearable device based on the instructions received from the network node.
[0156] Embodiment 2. A method according to embodiment 1, wherein: the application executed on the processor of the wearable device uses a data stream; the instructions received from the network node adjust the execution of the application; and adjusting the operating parameters of the wearable device based on the instructions received from the network node includes adjusting the operation of the processor executing the application based on the instructions.
[0157] Embodiment 3. The method of embodiment 2, wherein the application executed on the processor displays graphics rendered in the wearable device based on the data stream received from the network node.
[0158] Embodiment 4. A method according to embodiment 3, wherein adjusting the operating parameters of the wearable device includes one of the following: receiving more rendered elements of the graphics from the network node; rendering more elements of the graphics by the processor; or rendering more elements of the graphics by the processor and receiving more rendered elements of the graphics from the network node.
[0159] Embodiment 5. A method according to any one of embodiments 1 to 4, wherein: the application executed on the processor of the wearable device is an extended reality application; the data stream received from the network node includes data or graphics to be presented in an extended reality display; and adjusting the operation of the processor executing the application based on the instructions includes adjusting the processing of the data or graphics to be presented in the extended reality display.
[0160] Embodiment 6. A method according to any one of embodiments 1 to 5, wherein adjusting the operating parameters of the wearable device includes at least one of the following: adjusting the downlink data transmission rate of the transceiver of the wearable device; adjusting the sampling rate of the inertial measurement unit of the wearable device; adjusting the sensitivity of the inertial measurement unit of the wearable device; adjusting the output resolution of the inertial measurement unit of the wearable device; adjusting the gyroscope measurement of the inertial measurement unit of the wearable device; adjusting the graphic display quality in the display of the wearable device; adjusting the graphic display area in the display of the wearable device; or adjusting video compression parameters including frame rate, ratio of predicted frame to full frame, or compression block size.
[0161] Embodiment 7. A method according to any one of embodiments 1 to 6, wherein sending the multiple temperature measurements includes: sending the multiple temperature measurements via at least one control message of a Wi-Fi protocol; or sending the multiple temperature measurements via at least one radio resource control message of a 5G protocol.
[0162] Embodiment 8. A method according to any one of embodiments 1 to 7, wherein sending the multiple temperature measurements includes: sending the multiple temperature measurements via at least one control message, each of the at least one control message including a control bit for indicating to the network node that the at least one control message includes the multiple temperature measurements in a payload, and each of the at least one control message includes multiple component identifiers mapped to the multiple temperature measurements.
[0163] Embodiment 9. A method for streaming data to a wearable device performed by an edge server, comprising: receiving a plurality of temperature measurements corresponding to a plurality of hardware components of the wearable device from the wearable device; identifying one or more adjustments to the operation of the plurality of hardware components based on the plurality of temperature measurements; and sending an instruction to the wearable device that is configured to cause the wearable device to adjust the operation of at least one of the plurality of hardware components.
[0164] Embodiment 10. The method of embodiment 9 further comprising: calculating, at the edge server, at least one aspect of a graphical display of the wearable device based on the plurality of temperature measurements.
[0165] Embodiment 11. The method according to embodiment 10 further includes: predicting a temperature value of at least one of the multiple hardware components of the wearable device; and calculating at least another aspect of the graphical display of the wearable device based on the predicted temperature value at the edge server, wherein the predicted temperature value is separate from the multiple temperature measurements.
[0166] Embodiment 12. The method according to any one of embodiments 9 to 11 further includes: adjusting at least one parameter of the communication connection between the edge server and the wearable device; or adjusting at least one parameter of the graphics rendering performed for the wearable device at the edge server.
[0167] Embodiment 13. The method of any one of Embodiments 9 to 12, wherein the plurality of temperature measurements comprises a separate temperature measurement for each of the plurality of hardware components of the wearable device.
[0168] Embodiment 14. A method according to any one of Embodiments 9 to 13, wherein the plurality of temperature measurements are received in one or more control message packets via a wireless link based on a 5G protocol or a wireless link based on a Wi-Fi protocol.
[0169] Embodiment 15. The method of any one of Embodiments 9 to 14, further comprising executing an application programming interface (API) for balancing processing burden between the edge server and the wearable device based on the received plurality of temperature measurements.
[0170] Embodiment 16. A method according to any one of embodiments 9 to 15, wherein the one or more adjustments are configured to be performed at the wearable device to control a first hardware component of the multiple hardware components to reduce heat emission at the first hardware component, and wherein one or more instructions are based on a comparison of a temperature value for the first hardware component received along with the multiple temperature measurements and a temperature threshold for the first hardware component.
[0171] As used in this application, the terms "component", "module", "system", etc. are intended to include computer-related entities, such as but not limited to hardware, firmware, a combination of hardware and software, software, or software being executed, which are configured to perform specific operations or functions. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, or a computer. By way of example, both an application running on a wireless device and a wireless device can be referred to as a component. One or more components may reside within a process or a thread of execution, and a component may be localized on a processor or core or distributed between two or more processors or cores. In addition, these components may be executed from various non-transitory computer-readable media having various instructions or data structures stored thereon. Each component may communicate via local or remote processes, function or procedure calls, electronic signals, data packets, memory read / write, and other known network, computer, processor, or process-related communication methodologies.
[0172] Several different cellular and mobile communication services and standards are available and contemplated in the future, all of which can be implemented and benefit from various implementations. Such services and standards include, for example, the Third Generation Partnership Project (3GPP), Long Term Evolution (LTE) system, third generation wireless mobile communication technology (3G), fourth generation wireless mobile communication technology (4G), fifth generation wireless mobile communication technology (5G) and later generation 3GPP technologies, Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (e.g., cdmaOne, CDMA1020TM), Enhanced Data Rates for GSM Evolution (EDGE), Advanced Mobile Phone System (AMPS), Digital AMPS (IS-136 / TDMA), Evolution Data Optimized (EV-DO), Digital Enhanced Cordless Telecommunications (DECT), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I and II (WPA, WPA2), and Integrated Digital Enhanced Network (iDEN). Each of these technologies involves, for example, the transmission and reception of voice, data, signaling and / or content messages. It should be understood that any reference to terminology and / or technical details related to individual telecommunication standards or technologies is for illustrative purposes only and is not intended to limit the scope of the claims to a particular communication system or technology unless specifically recited in the claim language.
[0173] The foregoing method descriptions and process flow charts are provided only as illustrative examples, and are not intended to require or imply that the operations of the various embodiments must be performed in the order given. As will be appreciated by those skilled in the art, the order of operations in the foregoing embodiments may be performed in any order. Words such as "thereafter", "then", "next", etc. are not intended to limit the order of operations; these words are used to guide the reader through the description of the method. In addition, any reference to a claim element in singular form (e.g., a reference using the article "one", "an", or "said") should not be interpreted as limiting the element to the singular.
[0174] The various exemplary logic blocks, modules, components, circuits, and algorithmic operations described in conjunction with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination of the two. In order to clearly illustrate this interchangeability of hardware and software, various exemplary components, blocks, modules, circuits, and operations have been generally described above in terms of their functions. Whether such functions are implemented as hardware or software depends on the specific application and the design constraints imposed on the entire system. The technician may implement the described functions in different ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the claims.
[0175] The hardware for implementing the various exemplary logic components, logic boxes, modules, and circuits described in conjunction with the embodiments disclosed herein may be implemented or executed with a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof designed to perform the functions described herein. Although a general-purpose processor may be a microprocessor, in an alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of receiver smart objects, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuits specific to a given function.
[0176] In one or more embodiments, the described functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or codes on a non-transient computer-readable storage medium or a non-transient processor-readable storage medium. The operation of the method or algorithm disclosed herein may be implemented in a processor-executable software module or a processor-executable instruction, which may reside on a non-transient computer-readable or processor-readable storage medium. A non-transient computer-readable or processor-readable storage medium may be any storage medium accessible by a computer or processor. By way of example and without limitation, such non-transient computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage device, magnetic disk storage device or other magnetic storage smart object, or any other medium that can be used to store the required program code in the form of an instruction or data structure and can be accessed by a computer. Disks and optical disks as used herein include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, and blue-ray disks, wherein disks generally reproduce data magnetically, and optical disks reproduce data optically with lasers. The above combinations are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and / or instructions on a non-transitory processor-readable storage medium and / or computer-readable storage medium, which may be incorporated into a computer program product.
[0177] The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the claims. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein, but should be accorded the broadest scope consistent with the following claims and the principles and novel features disclosed herein.
Claims
1. A wearable device, comprising: A processor, the processor being configured to: obtaining a plurality of temperature measurements from a plurality of hardware components of the wearable device; sending the plurality of temperature measurements associated with the plurality of hardware components to a network node; receiving, from the network node, instructions related to operation of an application executing on the processor of the wearable device; as well as An operating parameter of the wearable device is adjusted based on the instruction received from the network node.
2. The wearable device according to claim 1, wherein: The application executing on the processor of the wearable device uses a data stream; The instructions received from the network node adjust execution of the application; and The processor is further configured to adjust the operating parameter of the wearable device based on the instructions received from the network node by adjusting operation of the processor executing the application based on the instructions.
3. The wearable device according to claim 2, wherein: The application executed on the processor of the wearable device is an extended reality application; The data stream received from the network node includes data or graphics to be presented in an augmented reality display; and The processor is further configured to adjust the operation of the processor executing the application based on the instructions by adjusting processing of the data or graphics to be presented in the augmented reality display.
4. The wearable device of claim 1 , wherein the processor is further configured to adjust the operating parameter of the wearable device by at least one of: adjusting a downlink data transmission rate of a transceiver of the wearable device; adjusting a sampling rate of an inertial measurement unit of the wearable device; adjusting the sensitivity of the inertial measurement unit of the wearable device; adjusting an output resolution of the inertial measurement unit of the wearable device; adjusting a gyroscope measurement of the inertial measurement unit of the wearable device; adjusting a quality of a graphic display in a display of the wearable device; adjusting a graphic display area in the display of the wearable device; or Adjust video compression parameters including frame rate, ratio of predicted frames to full frames, or compression block size.
5. The wearable device of claim 1 , wherein the processor is further configured to send the plurality of temperature measurements by: sending the plurality of temperature measurements via at least one control message of a Wi-Fi protocol; or The plurality of temperature measurements are sent via at least one radio resource control message of a 5G protocol.
6. The wearable device of claim 1 , wherein the processor is further configured to send the plurality of temperature measurements by: The plurality of temperature measurements are sent via at least one control message, each of the at least one control message comprising a control bit for indicating to the network node that the at least one control message includes the plurality of temperature measurements in a payload, and each of the at least one control message comprising a plurality of component identifiers mapped to the plurality of temperature measurements.
7. A method for receiving a data stream from a network node performed by a processor of a wearable device, the method comprising: obtaining a plurality of temperature measurements from a plurality of hardware components of the wearable device; sending, from the wearable device to the network node, the plurality of temperature measurements associated with the plurality of hardware components; receiving, from the network node, instructions related to operation of an application executing on the processor of the wearable device; as well as An operating parameter of the wearable device is adjusted based on the instruction received from the network node.
8. The method according to claim 7, wherein: the application executing on the processor of the wearable device using the data stream; The instructions received from the network node adjust execution of the application; and Adjusting the operating parameter of the wearable device based on the instructions received from the network node includes adjusting operation of the processor executing the application based on the instructions.
9. The method according to claim 8, wherein: The application executed on the processor of the wearable device is an extended reality application; The data stream received from the network node includes data or graphics to be presented in an augmented reality display; and Adjusting the operation of the processor executing the application based on the instructions includes adjusting processing of the data or graphics to be presented in the augmented reality display.
10. The method of claim 7, wherein adjusting the operating parameter of the wearable device comprises at least one of the following: adjusting a downlink data transmission rate of a transceiver of the wearable device; adjusting a sampling rate of an inertial measurement unit of the wearable device; adjusting the sensitivity of the inertial measurement unit of the wearable device; adjusting an output resolution of the inertial measurement unit of the wearable device; adjusting a gyroscope measurement of the inertial measurement unit of the wearable device; adjusting a quality of a graphic display in a display of the wearable device; adjusting a graphic display area in the display of the wearable device; or Adjust video compression parameters including frame rate, ratio of predicted frames to full frames, or compression block size.
11. The method of claim 7, wherein sending the plurality of temperature measurements comprises: transmitting the plurality of temperature measurements via at least one control message of a Wi-Fi protocol; or The plurality of temperature measurements are sent via at least one radio resource control message of a 5G protocol.
12. The method of claim 7, wherein sending the plurality of temperature measurements comprises: The plurality of temperature measurements are sent via at least one control message, each of the at least one control message comprising a control bit for indicating to the network node that the at least one control message includes the plurality of temperature measurements in a payload, and each of the at least one control message comprising a plurality of component identifiers mapped to the plurality of temperature measurements.
13. An edge server, wherein the edge server is configured with server executable instructions for performing the following operations: receiving, from a wearable device, a plurality of temperature measurements corresponding to a plurality of hardware components of the wearable device; identifying one or more adjustments to operation of the plurality of hardware components based on the plurality of temperature measurements; as well as An instruction configured to cause the wearable device to adjust the operation of at least one hardware component of the plurality of hardware components is sent to the wearable device.
14. The edge server of claim 13, wherein the edge server is further configured with server executable instructions for: At least one aspect of a graphical display of the wearable device is calculated based on the plurality of temperature measurements.
15. The edge server of claim 14, wherein the edge server is further configured with server executable instructions for: predicting a temperature value of at least one hardware component of the plurality of hardware components of the wearable device; and At least one further aspect of the graphical display of the wearable device is calculated based on a predicted temperature value, the predicted temperature value being a function of the plurality of temperature measurements Separate .
16. The edge server of claim 13, wherein the edge server is further configured with server executable instructions for: adjusting at least one parameter of a communication connection between the edge server and the wearable device; or At least one parameter of graphics rendering performed at the edge server for the wearable device is adjusted.
17. The edge server of claim 13, wherein the plurality of temperature measurements comprises a separate temperature measurement for each of the plurality of hardware components of the wearable device.
18. The edge server of claim 13, wherein the plurality of temperature measurements are received in one or more control message packets via a wireless link based on a 5G protocol or a wireless link based on a Wi-Fi protocol.
19. The edge server of claim 13, wherein the edge server is further configured with server-executable instructions for executing an application programming interface (API) for balancing a processing burden between the edge server and the wearable device based on the received plurality of temperature measurements.
20. The edge server of claim 13, wherein the edge server is further configured with server-executable instructions for identifying one or more adjustments to the operation of the plurality of hardware components, the one or more adjustments configured for execution at the wearable device to control a first hardware component of the plurality of hardware components to reduce thermal emission at the first hardware component, wherein the one or more adjustments are based on a comparison of a temperature value for the first hardware component received along with the plurality of temperature measurements with a temperature threshold for the first hardware component.
21. A method for streaming data to a wearable device performed by an edge server, the method comprising: receiving, from the wearable device, a plurality of temperature measurements corresponding to a plurality of hardware components of the wearable device; identifying one or more adjustments to operation of the plurality of hardware components based on the plurality of temperature measurements; as well as An instruction configured to cause the wearable device to adjust the operation of at least one hardware component of the plurality of hardware components is sent to the wearable device.
22. The method according to claim 21, further comprising: At least one aspect of a graphical display of the wearable device is calculated at the edge server based on the plurality of temperature measurements.
23. The method according to claim 22, further comprising: predicting a temperature value of at least one hardware component of the plurality of hardware components of the wearable device; as well as In at least another aspect of calculating the graphical display of the wearable device at the edge server based on the predicted temperature value, the predicted temperature value is separate from the plurality of temperature measurements.
24. The method according to claim 21, further comprising: adjusting at least one parameter of a communication connection between the edge server and the wearable device; or At least one parameter of graphics rendering performed at the edge server for the wearable device is adjusted.
25. The method of claim 21, wherein the plurality of temperature measurements comprises a separate temperature measurement for each of the plurality of hardware components of the wearable device.
26. The method of claim 21, wherein the plurality of temperature measurements are received in one or more control message packets via a wireless link based on a 5G protocol or a wireless link based on a Wi-Fi protocol.
27. The method of claim 21, further comprising executing an application programming interface (API) for balancing a processing burden between the edge server and the wearable device based on the received plurality of temperature measurements.
28. The method of claim 21 , wherein the one or more adjustments are configured for execution at the wearable device to control a first hardware component of the plurality of hardware components to reduce heat emission at the first hardware component, and wherein one or more instructions are based on a comparison of a temperature value for the first hardware component received with the plurality of temperature measurements and a temperature threshold for the first hardware component.