Method, control system, processor-readable medium, and processing system for interactive control of moving device speed and processing system operating frequency

TWI940547BActive Publication Date: 2026-10-01QUALCOMM INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
TW111104648
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-22
Filing Date
2022-02-09
Publication Date
2026-10-01
Estimated Expiration
2042-02-08

AI Technical Summary

Technical Problem

Existing computing systems in automated and semi-automated equipment face challenges in maintaining processing speed and safety due to thermal and power constraints, leading to potential hazards when operating at high speeds.

Method used

Implementing a system where a mobile device's control system interacts with its processing system to dynamically adjust operating frequency based on speed and latency requirements, using processing latency voting to negotiate an allowable frequency that considers thermal, power, and load limits.

Benefits of technology

This approach optimizes energy efficiency while ensuring mission-critical operations are safe and effective by coordinating speed and frequency adjustments, preventing overheating and maintaining low latency for quick reactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001913177_001
    Figure TWG2TB001913177_001
  • Figure TWG2TB001913177_002
    Figure TWG2TB001913177_002
  • Figure TWG2TB001913177_003
    Figure TWG2TB001913177_003
Patent Text Reader

Abstract

The system and method may include the following steps: instructing a processing delay requirement to an operating frequency controller of a mobile device processing system; receiving an indication of an allowable operating frequency for the processing system; and modifying the mobility characteristics of the mobile device based on the allowable operating frequency indication. Some embodiments include: receiving an indication of the processing delay requirement from a mobile device control system; determining a target operating frequency to meet the processing delay requirement; determining whether the target operating frequency exceeds an allowable operating frequency; and instructing the mobile device control system of the allowable operating frequency for the processing system. Further embodiments include: receiving an indication of the speed of the mobile device; determining a target operating frequency for the processing system compatible with the indicated speed of the mobile device; and changing the operating frequency of the processing system to the target operating frequency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This case concerns the interactive control of mobile device speed and processing system operating frequency. Prior Technology

[0002] There exist many types of automated and semi-automated devices that rely on high-speed processing by processors and computing device systems for safety and mission-critical computing. Non-limiting examples include autonomous and semi-autonomous vehicles that rely on vehicle computing systems for navigation and control functions, robots that rely on computing systems for motion control of robotic actuators, and wearable electronic devices (e.g., augmented reality goggles and smart glasses) that rely on processing systems for image generation. While modern computing systems have achieved levels of automation and control that were impossible a generation ago, they may not be able to support processing demands in all situations. For example, to avoid overheating, modern computing devices typically include protection mechanisms that reduce processing speed when necessary to keep the processor circuitry within temperature limits. When this occurs, the safety and mission-critical operation required by automated and semi-automated devices may be affected. Summary of the Invention

[0003] Various states include systems and methods executed by a processor of a mobile device control system configured to interact with a processing system. Various states may include: transmitting a processing delay requirement indication to an operating frequency controller of the mobile device processing system; receiving an indication of an allowable operating frequency for the processing system in response to the transmitted processing delay requirement indication; and modifying the mobile characteristics of the mobile device based on the received indication of the allowable operating frequency.

[0004] Some states may also include: determining a change in the mobility characteristics of the mobile device that requires a change in the current processing delay of the operating frequency controller, wherein the transmitted processing delay requirement indication may reflect the determined change in the mobility characteristics of the mobile device. Some states may also include: receiving at least one of a target speed of the mobile device or a current speed of a remote object, wherein the determined change in the mobility characteristics of the mobile device control system may be based on at least one of the received target speed of the mobile device control system or the current speed of the remote object. In some states, the transmitted processing delay requirement indication may be related to the target speed of the mobile device. In some states, changing the mobility characteristics of the mobile device may include: changing the speed of the mobile device to a target speed associated with a received indication of the permissible operating frequency. In some states, the received indication of the permissible operating frequency may be configured to limit the maximum speed used for the mobile device. In some states, the transmitted processing delay requirement indication may include a delay requirement vote requesting a minimum delay from the processing system.

[0005] Each state sample may include a system and method executed by a processor of a mobile device processing system configured to interact with a control system. Each state sample may include: receiving an indication of a processing delay requirement from the mobile device control system; determining a target operating frequency to meet the processing delay requirement; determining whether the target operating frequency exceeds the permissible operating frequency for the processing system; and transmitting an indication of the permissible operating frequency for the processing system to the mobile device control system.

[0006] Some states may include: changing the operating frequency of the processing system to the target operating frequency in response to a determination that the target operating frequency does not exceed the permissible operating frequency; and changing the current operating frequency of the processing system to a value lower than the target operating frequency in response to a determination that the target operating frequency exceeds the permissible operating frequency. In some states, the received indication of a processing delay requirement may be related to the target speed of the mobile device. In some states, the transmitted indication of the permissible operating frequency may be configured to guide the mobile device control system to reduce the target moving speed of the mobile device. In some states, the transmitted indication of the permissible operating frequency may be configured to limit the maximum moving speed of the mobile device. In some states, the received indication of a processing delay requirement may include a delay requirement vote requesting a minimum delay from the processing system. Some states may also include: determining the permissible operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the operating frequency budget may be based on at least one of a thermal output limit, a power output limit, or a load output limit of the processing system.

[0007] Further embodiments include a processor of a control system and / or a controller of a processing system, configured to have processor-executable instructions to perform operations of any of the methods described above. Further embodiments include a non-transitory processor-readable storage medium having processor-executable software instructions stored thereon, the processor-executable software instructions being configured to cause the processor to perform operations of any of the methods described above. Further embodiments include a processing device for use in a mobile device and / or processing system and configured to perform operations of any of the methods described above. Simple Explanation of the Diagram

[0008] The accompanying drawings (which are incorporated herein and form part of this specification) illustrate exemplary embodiments and, together with the overall description provided above and the detailed description provided below, serve to explain the features of the various embodiments.

[0009] Figures 1A-1J are schematic diagrams illustrating exemplary mobile device systems suitable for implementing any of the various embodiments.

[0010] Figure 2 is a block diagram illustrating an exemplary system in a package suitable for implementing any of the various embodiments.

[0011] Figure 3 is a block diagram illustrating a software architecture, including a stack of radio protocols for a control system and / or processing system, suitable for implementing any of the various embodiments.

[0012] Figures 4A-4C are block diagrams illustrating a mobile device system configured for interactive control of mobile device speed and processing system operating frequency according to various embodiments.

[0013] Figure 5 is a graphical representation of the control communication between mobile device speed and processing system operating frequency according to various embodiments.

[0014] Figure 6 is a set of two bar graphs according to various embodiments, corresponding to different perception delays and illustrating the operational communication between mobile device speed and vehicle stopping distance, which takes into account perception, reaction and braking time.

[0015] Figure 7 is a graphical representation of the conversion between mobile device speed and operating frequency according to various embodiments.

[0016] Figure 8 is a schematic diagram illustrating an exemplary mobile device system operating near other moving objects according to various embodiments.

[0017] Figure 9 is a graphical representation of the energy efficiency comparison for a system-on-a-chip according to various embodiments.

[0018] Figures 10A-10C are process flowcharts of a method for interaction between a mobile device control system and a mobile device processing system according to various embodiments.

[0019] Figures 11A-11I are process flowcharts of methods for processing interaction between a system and a control system of a mobile device according to various embodiments.

[0020] Figure 12 is a block diagram of components applicable to various embodiments of the mobile computing device.

[0021] Figure 13 is a block diagram of the components of the AR / VR headset applicable to various embodiments.

[0022] Figure 14 is a block diagram of components for remotely controlled robotic devices applicable to various embodiments. Implementation

[0023] Various embodiments will be described in detail with reference to the accompanying drawings. Where possible, the same element symbols will be used throughout the drawings to represent the same or similar parts. References to specific examples and embodiments are for illustrative purposes and are not intended to limit the scope of the various states or claims.

[0024] Mobile devices (such as vehicles, robots, and / or wearable electronic devices) that operate in conjunction with an associated processing system may have conflicting operational requirements and / or constraints. Mobile devices may have limited resources or resource requirements that tend to constrain performance, such as in terms of speed, heat output, power usage, and / or other operational constraints. The processing system may be part of the mobile device and / or may control some of the mobile device's operations. The processing system may include one or more processors and / or one or more sensors that operate at predetermined or variable operating frequencies. For example, an autonomous or semi-autonomous vehicle (i.e., a mobile device) may have a controller that manages the movement of the vehicle's propulsion and / or steering system (e.g., an advanced driver assistance system (ADAS)), and sensors (i.e., the processing system) that provide support for that movement and operate at an operating frequency. As another example, a robotic arm (i.e., a mobile device) may have a controller that manages its movement, while a processor (i.e., the processing system) may analyze and / or detect the status of the robotic arm's operation. As yet another example, virtual reality (VR) headsets (which are called mobile devices due to the user's head movements) can have controllers that manage the sensory experience given to the user's movement (e.g., head turning or tilting) on ​​the headset, while the system-on-chip (SoC) (i.e., the processing system) can execute various sensory / neural networks that support the operation of the headset.

[0025] Mobile devices may have operational requirements that specify latency requirements for the processing system. For example, a vehicle may have a maximum driving speed (e.g., mandated by law or expected by a typical driver / passenger), or a virtual reality headset may have a maximum head movement speed (e.g., expected by a typical user). These maximum operating conditions may impose relatively short latency requirements on the sensors and controllers used in such devices during these conditions. If the mobile device operates at a relatively high speed, its controller may need to operate with low latency to react as quickly as possible to avoid danger. Providing low latency requirements with a high operating frequency is advantageous. Furthermore, since the operating frequency is typically fixed, short latency requirements under extreme conditions (such as maximum speed) can specify a higher fixed operating frequency under all conditions to ensure appropriate system response time when more extreme conditions occur. For systems where operational constraints are safety or mission-critical, a fixed, relatively high operating frequency is typically used because operating the processing system at a lower frequency may impair safety or mission-critical performance and, therefore, may be dangerous for the user and / or the system (e.g., for autonomous vehicles to avoid accidents). However, continuously operating the processing system at high frequencies can overload the processor, sensors, and / or support systems, which would benefit from operating at lower frequencies. Furthermore, some support systems may be suppressed when operating at high frequencies for extended periods, for example, to prevent excessive energy consumption or heat generation, and such suppression may impair system performance.

[0026] As used herein, the term "mobile device" refers to one of a variety of devices configured to be mobile or moved and including an onboard control system for management and / or control functions. Non-limiting examples of mobile devices include autonomous or semi-autonomous vehicles, including land vehicles (e.g., cars, trucks, buses, etc.), aircraft (e.g., manned aircraft, drones, etc.), sea vehicles, and spacecraft, any of which can operate with or without an onboard human pilot / driver. Further non-limiting examples include devices with moving or articulated components, such as robots and robotic components with a control system for managing the movement of robotic components, such as agricultural equipment, manufacturing systems and robots, robotic testing systems, inventory control systems, and medical systems. Further examples of mobile devices include wearable electronic devices that move due to the movement of the wearer, such as smartwatches, smart glasses, VR headsets, smart pendants, etc. Mobile devices may include onboard computing devices configured to operate or control the device using, or without, operating instructions and / or updates to those instructions via communication from a remote computing device, according to various embodiments.

[0027] As used herein, the term "processing system" refers to any device that produces a defined set of outputs after receiving a set of inputs. Inputs and outputs can represent data, facts, information, conditions, measurements, etc. For example, a processing system may include one or more sensors, electronic devices equipped with one or more processors and / or sensors, or may include only one or more processors (e.g., a system-on-a-chip or a system-in-package).

[0028] Various embodiments provide methods and systems for implementing interactive control between the speed or movement of a mobile device and the operating frequency of a processing system within the mobile device or supporting the mobile device. The mobile device may be configured to transmit or otherwise provide a processing delay requirement indication to the processing system. The transmitted processing delay requirement indication may be related to a target speed of the moving vehicle. In some embodiments, the transmitted processing delay requirement indication may include delay requirement information or a vote requesting a minimum delay from the processing system. Upon receiving the processing delay requirement information, the processing system may determine a target operating frequency to meet the processing delay requirement. The processing system may also determine an allowable operating frequency based on an operating frequency budget that limits the operation of the processing system. The operating frequency budget for the processing system may be based on limitations of the processing system, such as its thermal output limits, power output limits, and / or load output limits. The processing system may determine whether the target operating frequency exceeds the allowable operating frequency for the processing system and transmit an indication of the allowable operating frequency for the processing system to the mobile device control system. If the target operating frequency is not greater than or equal to the allowable operating frequency for the processing system, the transmitted indication of the allowable operating frequency for the processing system may be equal to the target operating frequency. Furthermore, in response to the determination that the target operating frequency does not exceed the permissible operating frequency, the processing system can change its operating frequency to the target operating frequency. If the target operating frequency exceeds the permissible operating frequency for the processing system, the transmitted indication of the permissible operating frequency for the processing system can be lower than the target operating frequency. Furthermore, in response to the determination that the target operating frequency exceeds the permissible operating frequency, the processing system can change its current operating frequency to a value lower than the target operating frequency.

[0029] The transmitted processing delay requirement indication may be related to the target speed of the mobile device. Furthermore, the transmitted processing delay requirement indication may include a delay requirement vote requesting a minimum delay from the processing system. After transmitting the processing delay requirement indication to the operating frequency controller, the control system can receive an indication of the permissible operating frequency of the processing system from the processing system. The received indication of the permissible operating frequency can be configured to limit the maximum speed for the mobile device. Therefore, the control system can modify the movement characteristics of the mobile device based on the received indication of the permissible operating frequency. Modifying the movement characteristics of the mobile device may include changing the speed of the mobile device to the target speed associated with the received indication of the permissible operating frequency. The control system can determine a change in the movement characteristics of the mobile device that requires a change in the current processing delay of the operating frequency controller, wherein the transmitted processing delay requirement indication reflects the determined change in the movement characteristics of the mobile device. Before transmitting the processing delay requirement indication, the control system may receive at least one of the target speed of the mobile device or the current speed of the remote object. The determined change in the movement characteristics of the mobile device control system may be based on at least one of the received target speed of the mobile device control system or the current speed of the remote object.

[0030] This document uses the term "System-on-a-Chip" (SOC) to refer to a single integrated circuit (IC) chip that comprises multiple resources and / or processors integrated on a single substrate. A single SOC may contain circuitry for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general-purpose and / or special-purpose processors (digital signal processors, modem processors, video processors, etc.), memory blocks (e.g., ROM, RAM, flash memory, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). A SOC may also include software for controlling the integrated resources and processors, as well as software for controlling peripheral devices.

[0031] In this document, the term "System-in-Package" (SIP) may be used to refer to a single module or package that incorporates multiple resources, computing units, cores, and / or processors on two or more IC chips, substrates, or SoCs. For example, a SIP may comprise a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP may comprise one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged into a single substrate. A SIP may also comprise multiple independent SoCs coupled together via high-speed communication circuitry and tightly packaged within a single motherboard or wireless device. The proximity of the SoCs facilitates high-speed communication and the sharing of memory and resources.

[0032] As used herein, the terms "component," "system," "unit," "module" are intended to include computer-related entities such as, but not limited to, hardware, firmware, combinations of hardware and software, software, or software in execution configured to perform a particular operation or function. For example, a component may be, but is not limited to being: a process running on a processor, a processor, an object, an executable file, a running thread, a program, and / or a computer. By way of illustration, both the application and the communication device running on the communication device may be referred to as components. One or more components may reside in a process and / or execution thread, and the components may be positioned on one processor or core and / or distributed between two or more processors or cores. In addition, the components may be executed from various non-temporary computer-readable media having various instructions and / or data structures stored thereon. Components may communicate by means of local and / or remote processes, function or procedure dialing, electronic signals, data packets, memory read / write, and other known communication methods related to computers, processors, and / or processes.

[0033] Various embodiments can be implemented within various mobile devices having a control system that interacts with the processing system. 1A-1J illustrate several instances of mobile equipment systems 100-109 in which the control system and processing system dynamically interact to adjust the operating frequency and / or mobile equipment speed.

[0034] With reference to FIG. The control system 140 may be configured to manage the operation of moving equipment 110a , such as movement using a vehicle propulsion and / or steering system. For example, the control system 140 may be an ADAS vehicle speed controller configured to regulate the speed and / or direction of travel of the moving equipment 110a . The control system 140 may include various circuits and equipment used to control its operation. In the example shown in FIG. In addition, the control system 140 may include a communication line or port (such as a transceiver 149 ) that is used to realize the exchange of information with the drive control element 131 and navigation element 133 of the processing system, network, external resources and / or other computing platforms, and mobile equipment 110 a .

[0035] The processing system 150 is illustrated as a State of Charge (SOC) receiving input from one or more sensors 160 (e.g., temperature and / or power / load monitoring sensors) and can interact with the control system 140. Similar to the control system 140, the processing system 150 may include various circuitry and devices for controlling its operation. In the example shown in FIG1A, the processing system 150 includes one or more processors 151, memory 153 (i.e., electronic storage devices), an input module 155, and an output module 157. Furthermore, the processing system 150 may be coupled to one or more sensors 160 and configured to control the operation of one or more sensors 160.

[0036] Memory modules 143 and 153 may include non-transitory computer-readable media in the form of memory. Such memory may include system storage devices integrally provided with the control system 140 and / or processing system 150 (i.e., substantially non-removable). Furthermore, such memory may include removable storage devices that are removably connected to the control system 140 and / or processing system 150 via a port (e.g., a Universal Serial Bus (USB) port, a FireWire port, etc.) or a disk drive. Memory modules (e.g., 143, 153, 220, 258) may also include one or more of the following: optically readable storage media (e.g., optical discs, etc.), magnetically readable storage media (e.g., magnetic tape, hard disks, floppy disk drives, etc.), charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash memory drives, etc.), and / or other electronically readable storage media. Memory (e.g., 143, 153, 220, 258) may include one or more virtual storage resources (e.g., cloud storage devices, virtual private networks, and / or other virtual storage resources). Memory (e.g., 143, 153, 220, 258) may store software algorithms, information determined by processors 141, 151, and information received from control system 140 or processing system 150, respectively, enabling control system 140 or processing system 150 to function as described herein.

[0037] Processors 141 and 151 may be configured to provide information processing capabilities in control system 140 or processing system 150, respectively. Therefore, processors 141 and 151 may include one or more of the following: a digital processor, an analog processor, digital circuitry designed to process information, analog circuitry designed to process information, a state machine, and / or other mechanisms for electronically processing information. Although processors 141 and 151 are each illustrated as a single entity in FIG. 1A, this is for illustrative purposes only. In some implementations, processors 141 and 151 may include a plurality of processing units. These processing units may be physically located within the same device, or processors 141 and 151 may represent the processing functions of a plurality of devices operating remotely and / or locally.

[0038] According to various embodiments, the processing system 150 can dynamically adjust the operating frequency of one or more processors 151 based on the speed of the mobile device 110a. Conventional processing systems typically limit processing to strict thermal and power constraints, especially for extreme operating conditions (e.g., operations involving extended and maximized processing speeds). For example, processors 151 may be suppressed when rare high temperatures or peak currents are detected. This limitation prevents overheating or unnecessarily high power consumption in one or more parts of the control system 140 or related components. However, this limitation may often conflict with the needs of the control system 140. For example, when the autonomous or semi-autonomous vehicle 110a is operating at high speeds (which may be guided by ADAS), the control system 140 may require the processing system 150 to operate with low latency. Rapid response time for vehicles traveling at high speeds is critical for safety. Therefore, if the processing system 150 imposes a lower operating frequency (e.g., to meet thermal or power constraints), the resulting increase in processing latency could lead to dangerous situations or reduced safety. Alternatively, when processing capacity must be suppressed for various reasons, the speed of the autonomous or semi-autonomous vehicle 110a can be limited based on the maximum processing delay of the processing system 150 or the required time for processing sensor inputs by the processing system 150, in order to avoid dangerous situations. In conventional systems, the control system 140 and the processing system 150 do not coordinate operating frequencies based on speed. By implementing interactive control of the operating frequency of the processing system 150 based on the speed of the mobile device 110a, various embodiments can optimize energy efficiency while still enabling mission-critical operations to function well when needed.

[0039] In various embodiments, the control system 140 and the processing system 150 may use processing delay voting to negotiate the permissible operating frequency of the processing system 150. Processing delay voting may take into account the corresponding operating frequency when determining whether the operating frequency corresponding to the target operating speed of the autonomous or semi-autonomous vehicle 110a exceeds the permissible operating frequency. Using processing delay voting, the processor 141 of the control system 140 may transmit a processing delay request indication to the processor 151 of the processing system 150. The processing delay request indication may request a minimum delay from the processing system 150. The minimum delay may correspond to the level of delay required to safely achieve or maintain the target speed of the autonomous or semi-autonomous vehicle 110a. The processing delay request indication may be related to the target vehicle speed. During processing delay voting, other factors may be considered, such as the speed of nearby objects (which can establish the relative speed of the vehicle 110a) and / or the sensing time required for the control system 140 to react effectively in the current situation. Furthermore, processing delay voting may involve the processor 151 of the processing system 150 transmitting a signal to the control system 140 indicating the maximum permissible speed for the vehicle 110a. Processing delay voting can still utilize a limit on the operating frequency of the processing system 150; however, if the target operating frequency does not exceed that limit, increasing the current operating frequency of the processing system 150 may be considered. Additionally, processing delay voting may involve limiting the speed of the vehicle 110a if it would otherwise be necessary to exceed the operating frequency limit.

[0040] Transceivers 149 and 159 may provide communication links 15 to processors 141 and 151 and / or other components, respectively. Communication links 15 may be wired and / or wireless. In some embodiments, communication links 15 may be bidirectional or unidirectional communication links and may use one or more communication protocols. In some embodiments, transceivers 149 and 159 may enable vehicle 110a to communicate with another vehicle via another communication link, which may also be bidirectional or unidirectional communication links and may use one or more communication protocols.

[0041] Transceivers 149 and 159 can be configured for wired and / or wireless communication via one or more base stations 25, communication network 50 and / or other components and / or network transceivers in communication link 15, exchanging signals (e.g., command signals for control operation, messages for optimizing the control system), and exchanging signals from navigation facilities. Communication link 15 may include a plurality of carrier signals, frequencies or frequency bands, each of which may include a plurality of logical channels. Furthermore, communication link 15 may utilize one or more radio access technologies (RATs). Examples of RATs that can be used in communication links include 3GPP LTE, 3G, 4G, 5G (e.g., NR), GSM, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global System for Multi-access Microwave Access (WiMAX), Time Division Multiple Access (TDMA), and other mobile telephone communication technology cellular RATs. Further examples of a RAT that can be used in one or more of the various communication links 15 within a communication system may include mid-range protocols such as Wi-Fi, LTE-U, LTE Direct, LAA, and MuLTEfire, as well as relatively short-range RATs such as ZigBee, Bluetooth, and Bluetooth Low Energy (LE).

[0042] Input modules 145 and 155 can receive sensor data from one or more vehicle sensors 160, as well as electronic signals from other components (including drive control element 131 and navigation element 133). Sensors 160 can detect the presence, direction, distance, and / or speed of other vehicles, persons, and / or objects by emitting high-frequency electromagnetic pulses (which are reflected back from objects).

[0043] Output modules 147 and 157 can be used to communicate with or enable various components of vehicle 110a, including transceivers 149 and 159, drive control element 131, navigation element 133, and sensor 160.

[0044] The control system 140 may be coupled to the drive control element 131 to control physical components of the vehicle 110a related to vehicle handling and navigation, such as the engine, electric motor, throttle valve, steering element, brake, or deceleration element. The drive control element 131 may also include elements that control other devices of the vehicle, such as environmental controls (e.g., air conditioning and heating), exterior and / or interior lighting, interior and / or exterior information displays (which may include display screens or other devices for displaying information), safety devices (e.g., haptic devices, audible alarms, etc.), and other similar devices.

[0045] The control system 140 may be coupled to the navigation element 133 and may receive data from the navigation element 133 and be configured to use such data to determine the current position and orientation of the mobile device 110a, as well as a suitable route to its destination. In various embodiments, the navigation element 133 may include or be coupled to a Global Navigation Satellite System (GNSS) receiver system (e.g., one or more Global Positioning System (GPS) receivers), enabling the mobile device 110a to use GNSS signals to determine its current position. Alternatively or additionally, the navigation element 133 may include a radio navigation receiver for receiving navigation beacons or other signals from radio nodes (e.g., base station 25) (such as Wi-Fi access points, cellular network sites, radio stations, remote computing devices, other vehicles, etc.). The processor 141 may control the mobile device 110a for navigation and manipulation via the control element 131. The processor 141 and / or navigation element 133 may be configured to communicate with a remote computing device (e.g., a server) over a network (e.g., the Internet) using a communication link to receive commands for controlling manipulation, receiving data useful for navigation, providing real-time position reports, and evaluating other data.

[0046] Although the control system 140 is described as comprising individual components, in some embodiments, some or all of the components (e.g., processor 141, memory 143, input module 145, output module 147, and / or transceiver 149) may be integrated into a single device or module (such as a SOC processing device). Such a SOC processing device may be configured for use in a vehicle and configured to, for example, have processor-executable instructions that execute in processor 141 to perform the operations of the various embodiments.

[0047] Figure 1B illustrates a mobile device system 101 including a mobile device 110b in the form of an autonomous or semi-autonomous truck. Figure 1C illustrates a mobile device system 102 including a mobile device 110c in the form of an autonomous or semi-autonomous unmanned aerial vehicle (UAV). Figure 1D illustrates a mobile device system 103 including a mobile device 110d in the form of an autonomous or semi-autonomous delivery robot. Figure 1E illustrates a mobile device system 104 including a mobile device 110e in the form of an autonomous or semi-autonomous agricultural harvesting robot. Similar to the vehicle 110a described with reference to Figure 1A, mobile devices 110b, 110c, 110d, and 110e may include a control system 140 and a processing system 150. Each control system 140 may be configured to manage the operation of the respective mobile device 110b, 110c, 110d, and 110e. Each processing system 150 may be configured to receive input from one or more sensors (e.g., 160) and may interact with the control system 140.

[0048] Figure 1F illustrates a mobile device system 105 including a mobile device 110f in the form of a mobile computing device (e.g., a cellular phone). Unlike the mobile devices 110a, 110b, 110c, 110d, and 110e described with respect to Figures 1A-1E, mobile device 110f is not self-propelled. Instead, mobile device 110f is moved by user 5. Furthermore, mobile device 110f may house both a control system 140 and a processing system 150. For example, control system 140 may be a SIP that controls many of the main operations of mobile device 110f, while processing system 150 may be one or more sensors (e.g., lidar, proximity, motion, etc.). For example, lidar sensors may be used to determine the terrain near user 5. LiDAR functionality may be processing-intensive when user 5 is running and / or when the terrain or environment around user 5 is changing rapidly, which may require processing system 150 to impose thermal and / or power limitations. By using interactive control between the processing system 150 and the control system 140, the various embodiments can enhance the security for the user 5 and the efficiency of the mobile device 110f.

[0049] Figure 1G illustrates a mobile device system 106 including a mobile device 110g in the form of a virtual reality (VR) and / or augmented reality (AR) headset. Similar to the mobile device 110f described with reference to Figure 1F, the mobile device 110g is not self-propelled. Instead, the mobile device 110g is moved via the head and neck of the user 5. Furthermore, similar to the mobile device 110f, the mobile device 110g may house both a control system 140 and a processing system 150. Alternatively or concurrently, the mobile device 110g may work with another computing device, such as the mobile device 110f. For example, the processing system 150 of the mobile device 110g may be coupled (e.g., via cable 16) to and work in conjunction with the control system (e.g., 140) of the other device 110f, and vice versa.

[0050] Figure 1H illustrates a mobile device system 107 including a mobile device 110h in the form of a surgical robot. Referring to Figure 1I, a mobile device system 108 is illustrated including a mobile device 110i in the form of a manufacturing robot. Figure 1J illustrates a mobile device system 109 including a mobile device 110j in the form of a robotic inventory retrieval / storage robot. Unlike the mobile devices 110a, 110b, 110c, 110d, 110e, 110f, and 110g described with reference to Figures 1A-1G, mobile devices 110h, 110i, and 110j may include a remote and non-moving control system 140, while a more localized processing system 150 is movable or has moving components (e.g., a robotic arm). In some embodiments, mobile devices 110h, 110i, and 110j may not include a computer processor (e.g., a SOC or SIP) and may only have sensors, motors, and articulation elements. Therefore, each control system 140 can be configured to manage the operation of the corresponding mobile devices 110h, 110i and 110j, while each processing system 150 is configured to receive input from one or more sensors (e.g., 160) and can interact with the control system 140.

[0051] Figure 2 is a block diagram illustrating an exemplary control system in the form of a SIP 200 suitable for implementing any of the various embodiments. The various embodiments can be implemented on several single-processor and multi-processor computer systems, including SOCs or SIPs.

[0052] Referring to Figures 1A-2, the illustrated exemplary SIP 200 includes: two SOCs 202 and 204 coupled to a clock 206; a voltage regulator 208; and a transceiver 149. In some embodiments, the first SOC 202 operates as a central processing unit (CPU) of a wireless device, which executes instructions via arithmetic, logic, control, and input / output (I / O) operations specified by instructions from a software application. In some embodiments, the second SOC 204 may operate as a dedicated processing unit. For example, the second SOC 204 may operate as a dedicated 5G processing unit responsible for managing high-capacity, high-speed (e.g., 5 Gbps) and / or extremely high-frequency short-wavelength (e.g., 28 GHz millimeter-wave spectrum) communications.

[0053] The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor 216, one or more auxiliary processors 218 (e.g., vector auxiliary processors) connected to one or more of these processors, memory 220, a custom circuit system 222, system components and resources 224, an interconnect / bus module 226, one or more temperature sensors 230, a thermal management unit 232, and a thermal power envelope (TPE) element 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, multiple millimeter-wave transceivers 256, memory 258, and various additional processors 260 (such as application processors, packet processors, etc.).

[0054] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may perform operations independently of other processors / cores. For example, the first SOC 202 may include a processor running a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor running a second type of operating system (e.g., MICROSOFT WINDOWS 10). Additionally, any or all of processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., synchronous processor cluster architecture, asynchronous or heterogeneous processor cluster architecture, etc.).

[0055] The first SOC 202 and the second SOC 204 may include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for presentation in a web browser. For example, the system components and resources 224 of the first SOC 202 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 to support processors and software clients running on wireless devices. System components and resources 224 and / or custom circuitry 222 may also include circuitry for interfacing with peripheral devices, such as cameras, electronic displays, wireless communication devices, external memory chips, etc.

[0056] The first SOC 202 and the second SOC 204 can communicate via interconnect / bus module 250. Various processors 210, 212, 214, 216, and 218 can be interconnected via interconnect / bus module 226 to one or more memory elements 220, system elements and resources 224, custom circuitry 222, and thermal management unit 232. Similarly, processor 252 can be interconnected via interconnect / bus module 264 to power management unit 254, millimeter-wave transceiver 256, memory 258, and various additional processors 260. Interconnect / bus modules 226, 250, and 264 may include arrays of reconfigurable logic gates and / or implement bus architectures (e.g., CoreConnect, AMBA, etc.). Communication can be provided via advanced interconnects such as high-performance on-chip networks (NoC).

[0057] The first SOC 202 and / or the second SOC 204 may also include input / output modules (not shown) for communicating with resources outside the SOC, such as transceiver 149, sensor 160, clock 206, and voltage regulator 208. Resources outside the SOC (e.g., clock 206, voltage regulator 208) may be shared by two or more of the internal SOC processors / cores.

[0058] In addition to the exemplary SIP 200 discussed above, various embodiments can be implemented in a wide variety of computing systems, which may include a single processor, multiple processors, a multi-core processor, or any combination thereof.

[0059] Figure 3 is a software architecture diagram illustrating a non-limiting example of a software architecture 300 suitable for implementing any of the various embodiments. Software architecture 300 includes radio protocol stacks for user and control planes in wireless communication. Referring to Figures 1A-3, control system 140 can implement a software architecture similar to the illustrated software architecture 300 to facilitate interaction between the control system and the processing system. In various embodiments, layers in software architecture 300 can form logical connections with corresponding layers in the software of processing system 150. Software architecture 300 can be distributed across one or more processors (e.g., processors 212, 214, 216, 218, 252, 260). Although a single radio protocol stack has been described, in multi-SIM (Subscriber Identity Module) wireless devices, software architecture 300 can include multiple protocol stacks, each of which can be associated with a different Subscriber Identity Module (SIM) (e.g., in a dual-SIM wireless communication device, the two protocol stacks are associated with two SIMs respectively). Although described below with reference to the LTE communication layer, the software architecture 300 may support any of the various standards and protocols used for wireless communication, and / or may include additional protocol stacks that support any of the various standards and protocols used for wireless communication.

[0060] Software architecture 300 may include a Non-Access Layer (NAS) 302 and an Access Layer (AS) 304. NAS 302 may include functions and protocols for supporting packet filtering, security management, mobility control, communication period management, and traffic and signaling between the SIM (e.g., SIM 204) of control system 140 and its vehicle. AS 304 may include functions and protocols for supporting communication between the SIM (e.g., SIM 204) and entities (e.g., base stations) of the supported access network. Specifically, AS 304 may include at least three layers (Layer 1, Layer 2, and Layer 3), each of which may contain various sublayers.

[0061] In the user and control plane, Layer 1 (L1) of AS 304 can be the physical layer (PHY) 306, which can supervise the functions of transmission and / or reception implemented on the air intermediate plane. Examples of such physical layer 306 functions may include Cyclic Redundancy Check (CRC) appendices, decoding blocks, scrambling and descrambling, modulation and demodulation, signal measurement, MIMO, etc. The physical layer may include various logical channels (including the physical downlink control channel (PDCCH) and the physical downlink shared channel (PDSCH)), or sideline channels (such as the physical sideline control channel (PSCCH) and the physical sideline shared channel (PSSCH)).

[0062] In the user and control plane, Layer 2 (L2) of AS 304 can be responsible for the link between the control system 140 and the processing system 150 on the physical layer 306. In various embodiments, Layer 2 may include a Media Access Control (MAC) sublayer 308, a Radio Link Control (RLC) sublayer 310, and a Packet Data Convergence Protocol (PDCP) sublayer 312, each of which forms a logical connection that terminates at the processing system 150.

[0063] In the control plane, layer 3 (L3) of AS 304 may include a Radio Resource Control (RRC) sublayer 3. Although not illustrated, software architecture 300 may include additional layer 3 sublayers and various upper layers above layer 3. In various embodiments, RRC sublayer 313 may provide functions including broadcasting system information, paging, and establishing and releasing RRC signal transmission connections between control system 140 and processing system 150.

[0064] In various embodiments, PDCP sublayer 312 can provide uplink functions including: multiplexing between different radio bearers and logical channels, sequence numbering, data handover processing, integrity protection, encryption, and header compression. In the downlink, PDCP sublayer 312 can provide functions including: sequential delivery of data packets, duplicate data packet detection, integrity verification, decryption, and header decompression.

[0065] In the uplink, RLC sublayer 310 can provide segmentation and concatenation of upper-layer data packets, retransmission of lost data packets, and Automatic Repeat Request (ARQ). In the downlink, RLC sublayer 310 functions may include reordering of data packets to compensate for out-of-order reception, reassembly of upper-layer data packets, and ARQ.

[0066] In the uplink, MAC sublayer 308 can provide functions including: multiplexing between logical and transport channels, random access procedures, logical channel prioritization, and hybrid ARQ (HARQ) operation. In the downlink, MAC layer functions can include in-cell channel mapping, demultiplexing, discontinuous reception (DRX), and HARQ operation.

[0067] While the software architecture 300 can provide functionality for transmitting data via physical media, it may also include at least one host layer 314 to provide data transfer services to various applications in the control system 140. In some embodiments, application-specific functionality provided by at least one host layer 314 can provide an interface between the software architecture and the general-purpose processor 206.

[0068] In other embodiments, software architecture 300 may include one or more higher logical layers (e.g., transport, communication, presentation, application, etc.) that provide host layer functionality. For example, in some embodiments, software architecture 300 may include a network layer (e.g., Internet Protocol (IP) layer) where logical connections terminate at a Packet Data Network (PDN) gateway (PGW). In some embodiments, software architecture 300 may include an application layer where logical connections terminate at another device (e.g., end-user device, server, etc.). In some embodiments, software architecture 300 may also include a hardware interface 316 in AS 304 between physical layer 306 and communication hardware (e.g., one or more radio frequency (RF) transceivers).

[0069] Figure 4A is a block diagram illustrating a mobile device system 400. Referring to Figures 1A-4A, the mobile device system 400 may be configured to have a control system 140, which interacts with a processing system 150 according to various embodiments. Each of the control system 140 and the processing system 150 may include a plurality of hardware, software, and / or firmware elements that operate together to provide the functionality of the control system 140 and the processing system 150 belonging herein to the mobile device (e.g., 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j).

[0070] External resource 420 may include one or more remote computing devices (e.g., servers), sensors, or other resources configured to support the operation of control system 140 and / or processing system 150. External resource 420 may communicate with control system 140 and / or processing system 150 using one or both of transceiver 149, transceiver 159, and communication network 50, via wireless communication link 15, via one or more wired communication links 16 (if available), and / or a combination thereof.

[0071] The control system 140 can be configured by machine-readable instructions 430, which may include one or more instruction modules. The instruction modules may include computer program modules. Specifically, the instruction modules may include one or more of the following: a delay requirement determination module 440, a delay requirement indication transmission module 441, a motion characteristic change determination module 442, a speed indication receiving module 443, an allowable operating frequency receiving module 444, a motion characteristic change module 445, and / or other instruction modules.

[0072] The processing delay requirement determination module 440 can be configured to determine a processing delay requirement indication for a mobile device. The determined processing delay requirement indication can be related to the target speed of the mobile device. Therefore, the determined processing delay requirement indication can essentially represent a scalar value that the control system 140 has determined the mobile device should achieve. This scalar value can be easily converted into an associated operating frequency and / or processing delay. Furthermore, the target speed can be a relative speed considering the speeds of other moving objects (e.g., other mobile devices) near the main mobile device.

[0073] Alternatively, the determined processing delay requirement indication may represent the minimum processing delay value required for the control system 140 to safely perform manipulation and / or otherwise operate as needed. As another alternative, the determined processing delay requirement indication may represent the minimum operating frequency required for the control system 140 to safely perform manipulation and / or otherwise operate as needed.

[0074] In a non-limiting example, the components used to implement the machine-readable instructions 430 of the processing latency requirement determination module 440 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0075] The processing delay requirement indication transmission module 441 can be configured to transmit a message regarding the processing delay of the processing system 150 from the control system 140 to the processing system 150. The transmitted message may reflect a processing delay requirement indication determined by the processing delay requirement determination module 440. Alternatively or additionally, the transmitted processing delay requirement indication may include a delay requirement vote requesting a minimum delay from the processing system. In some embodiments, the transmitted processing delay requirement indication may reflect a determined change in the mobility characteristics of the mobile device.

[0076] In a non-limiting example, the components used to implement the machine-readable instructions 430 of the processing delay requirement instruction transmission module 441 may include transceiver 149, processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or control system 140 and / or processing system 150 and one or more other elements.

[0077] Motion characteristic change determination module 442 can be configured to determine a change in the motion characteristics of a mobile device that requires a change in the current processing delay of the operating frequency controller. The change in the motion characteristics of the mobile device can include changing the speed of the mobile device to a target speed associated with a received indication of an allowable operating frequency. Furthermore, as mentioned herein, the speed change can be a scalar value or a vector value. In some embodiments, motion characteristic change determination module 442 can be configured to determine a change in the motion characteristics of a mobile device that requires a change in the current processing delay of the operating frequency controller. In some embodiments, the determined change in the motion characteristics of the mobile device control system can be based on a received target speed of the mobile device control system and / or the current speed of a remote object. In this way, the determined change can be based on the motion characteristics of the mobile device itself and / or relative to other objects. Therefore, the determined change can indicate a change in the speed of the mobile device, which can be determined from inputs such as the allowable operating frequency of the processing system 150 (e.g., reflecting the maximum speed that the processing system 150 can safely support), the target mobile device speed, and / or the speed of other objects near the mobile device.

[0078] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the mobility characteristic change determination module 442 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0079] The speed indication receiving module 443 can be configured to receive an indication of an allowable operating frequency for the processing system 150 in response to a transmitted processing delay requirement indication. The indication of the allowable operating frequency may have already been transmitted from the processing system 150. The received indication of the allowable operating frequency can be configured to limit the maximum speed for the mobile device. This maximum speed may be equal to the target speed reflected in the processing delay requirement indication. Alternatively, the processing system 150 may not be able to operate at the level of processing delay required to operate at the target speed from the processing delay requirement indication; in this case, the allowable operating frequency may be lower than the target speed. Furthermore, the speed indication receiving module 443 can be configured to receive at least one of the target speed of the mobile device or the current speed of a remote object.

[0080] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the speed indication receiving module 443 may include a transceiver 149, a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing device (e.g., 140, 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0081] The permissible operating frequency receiving module 444 can be configured to receive an indication of the permissible operating frequency for the processing system in response to a transmission processing delay requirement indication. The received indication of the permissible operating frequency can be configured to limit the maximum speed for the mobile device, which means that the processing system 150 has imposed a speed limit on the mobile device based on the permissible operating frequency.

[0082] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the frequency-permitted receiving module 444 may include a transceiver 149, a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing device (e.g., 140, 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0083] The mobility characteristic alteration module 445 can be configured to change the mobility characteristics of a mobile device based on a received indication of an allowable operating frequency. For example, in response to the mobility characteristic alteration decision module 442 determining that the mobile device needs to operate at a target speed higher than the current speed, the mobility characteristic alteration module 445 can enable an appropriate system to cause this change to occur. Furthermore, the mobility characteristic alteration module 445 can be configured to implement changes other than speed, such as changes in direction, driving style, mobility change rate, etc.

[0084] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the mobility characteristic change module 445 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0085] Similar to the control system 140, the processing system 150 can also be configured by machine-readable instructions 435, which may include one or more instruction modules. Instruction modules may include computer program modules. Specifically, instruction modules may include one or more of the following: a request instruction receiving module 450, a target operating frequency determination module 451, an operating frequency budget determination module 452, an operating frequency comparison / determination module 453, an allowable operating frequency transmission module 454, and an operating frequency change module 455 and / or other instruction modules.

[0086] The request receiving module 450 can be configured to receive a processing delay request indication from the control system 140. For example, the received indication of a processing delay request may represent an actual measurement of the processing delay, a measurement of the operating frequency of the processing system 150 corresponding to a specific processing delay, a scalar measurement of the mobile device speed corresponding to a specific processing delay or operating frequency, etc. Therefore, the received indication of a processing delay request may be related to a target speed of the mobile device. In some embodiments, the received indication of a processing delay request may include a delay request vote requesting a minimum delay from the processing system.

[0087] In a non-limiting example, the components for implementing the machine-readable instructions 430 that require instructing the receiving module 450 may include a transceiver 159, a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing device (e.g., 140, 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0088] The target operating frequency determination module 451 can be configured to determine a target operating frequency to meet processing delay requirements. For example, the processing system can determine the target operating frequency based on the target mobile device speed, processing delay voting, or other processing delay requirement indications received from the control system. If the target mobile device speed is sufficiently low, the target operating frequency determination module 451 can determine that the current operating frequency can be reduced while still meeting safety requirements and saving energy. Alternatively, if the target mobile device speed is high, the target operating frequency determination module 451 can determine that the current operating frequency needs to be increased (if possible).

[0089] In a non-limiting example, the components used to implement the machine-readable instructions 430 of the target operating frequency determination module 451 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0090] The operating frequency budget determination module 452 can be configured to determine the permissible operating frequency based on an operating frequency budget that limits the operation of the processing system. For example, the operating frequency budget can be pre-programmed or determined based on limitations imposed by the processing system on its thermal output, power output, and / or load output. In some embodiments, the operating frequency budget may have conditions, such as one or more higher budgets for emergency and / or special circumstances. Therefore, the processing system can determine whether emergency and / or special circumstances exist in order to determine an appropriate operating frequency budget.

[0091] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the operating frequency budget determination module 452 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0092] The operating frequency comparison / determination module 453 can be configured to determine whether the target operating frequency exceeds the permissible operating frequency for the processing system. Therefore, the operating frequency comparison / determination module 453 can also be configured to determine the current operating frequency and the permissible operating frequency for the processing system 150. The current operating frequency of the processing system 150 can be determined (i.e., calculated) based on inputs such as thermal / power / load targets (i.e., budgets) and measurements from conventional temperature sensors and / or power / load monitoring systems. The permissible operating frequency can be determined using processing delay voting (such as from an ADAS vehicle speed controller). For example, the actual operating frequency (OF actual) can be determined using the following formula: OF actual = min(c 1 / V PL) (1)

[0093] In equation (1), c1 is a system constant, and VPL reflects the value corresponding to the processing delay voting. Alternatively, other formulas (i.e., functions) can be used to determine the actual operating frequency.

[0094] In some embodiments, the permissible operating frequency for the processing system can be determined by the operating frequency comparison / determination module 453 based on the operating frequency budget determined by the operating frequency budget determination module 452. For example, the processing system can determine whether a target operating frequency (i.e., determined by the target operating frequency determination module 451) exceeds the permissible operating frequency. If the target operating frequency exceeds the permissible operating frequency, the operating frequency comparison / determination module 453 can determine a permissible operating frequency that remains within the budget and is lower than the target operating frequency. Conversely, if the target operating frequency does not exceed the permissible operating frequency, the operating frequency comparison / determination module 453 can determine that the permissible operating frequency is equal to the target operating frequency.

[0095] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the operating frequency comparison / determination module 453 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0096] The permissible operating frequency transmission module 454 can be configured to transmit an indication of the permissible operating frequency for the processing system to the mobile device control system. For example, the processing system can transmit (i.e., determined by the operating frequency comparison / determination module 453) the permissible operating frequency to the control system. In some embodiments, the transmitted indication of the permissible operating frequency can be configured to guide the mobile device control system to reduce a target moving speed of the mobile device. Alternatively or additionally, the transmitted indication of the permissible operating frequency includes a maximum moving speed limit for the mobile device. In some embodiments, the permissible operating frequency can be transmitted in the form of a maximum permissible moving speed of the mobile device, which can be determined based on a conversion of the actual operating frequency. For example, the maximum permissible moving speed can be determined (i.e., calculated) based on inputs such as the determined actual processing system operating frequency. For example, the maximum permissible moving speed (VMax) can be determined using the following formula: V Max= f 1(T PL) = f 2(OF PL) (2)

[0097] In equation (2), TPL is the total processing delay, whose first function (f1) is equal to the maximum allowable movement speed (VMax). Furthermore, OFPL is the operating frequency under the current processing load, whose second function (f2) is also equal to the maximum allowable movement speed (VMax). Alternatively, various formulas can be used to determine the maximum allowable movement speed (VMax).

[0098] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the frequency transmission module 454 may include a transceiver 159, a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing device (e.g., 140, 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0099] The operating frequency changing module 455 can be configured to change the operating frequency of the processing system to the target operating frequency in response to a determination that the target operating frequency does not exceed the allowable operating frequency. Furthermore, the operating frequency changing module 455 can be configured to change the current operating frequency of the processing system to a value lower than the target operating frequency in response to a determination that the target operating frequency exceeds the allowable operating frequency. Alternatively, the processing system can avoid using the operating frequency changing module 455 when it is not necessary to change the operating frequency.

[0100] In a non-limiting example, the components for implementing the machine-readable instructions 430 of the operating frequency changing module 455 may include processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of processing devices (e.g., 140, 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the processing system 150.

[0101] The control system 140 may include one or more processors configured to execute computer program modules similar to those in the machine-readable instructions 435 of the processing system 150 described above. Similarly, a given processing system 150 may include one or more processors configured to execute computer program modules similar to those in the machine-readable instructions 430 of the control system 140 described above.

[0102] Processors 141 and 151 may be configured to execute modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455 and / or other modules. Processors 141 and 151 may be configured to execute modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455 and / or other modules via: software; hardware; firmware; some combination of software, hardware and / or firmware; and / or other mechanisms for configuring processing capabilities on processors 141 and 151. As used herein, the term "module" may represent any element or group of elements that perform the functions belonging to that module. This may include one or more physical processors, processor-readable instructions, circuit systems, hardware, storage media, or any other element during the execution of processor-readable instructions.

[0103] The descriptions of the functions provided by the various modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455 described herein are for illustrative purposes and are not intended to be limiting, as any of the modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455 may provide more or fewer functions than described herein. For example, one or more of modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455 may be eliminated, and some or all of their functions may be provided by other modules among modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455. As another example, processors 141, 151 may be configured to execute one or more additional modules that may perform some or all of the functions hereinafter attributed to modules 441, 442, 443, 444, 445, 450, 451, 452, 453, 454 and / or 455.

[0104] Figure 4B is a block diagram illustrating a mobile device system 401. Referring to Figures 1A-4B, the mobile device system 400 may be configured to have a control system 140, which interacts with a processing system 150 according to various embodiments. Each of the control system 140 and the processing system 150 may include a plurality of hardware, software, and / or firmware elements that operate together to provide the functionality of the control system 140 and the processing system 150 belonging herein to the mobile device (e.g., 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j).

[0105] Similar to the mobile device system 400 described with reference to FIG4A, the mobile device system 401 may include a control system 140 and a processing system 150, both located within the mobile device 410 (e.g., 110a, 110b, 110c, 110d, 110e, 110f). Therefore, the control system 140 and the processing system 150 may communicate directly (i.e., without transceivers), such as via wired communication link 16 through input / output modules 145 / 147, 155 / 157. For example, the control system 140 may be an ADAS vehicle speed controller, and the processing system 150 may be a SOC operating frequency controller. The control system 140 may additionally include or be coupled to an ADAS computer and software system. Furthermore, the control system 140 may receive input from one or more sensors 421 also located in or on the mobile device 410.

[0106] Figure 4C is a communication flow diagram for the elements of mobile device 412 included in mobile device system 402. As an illustrative example, mobile device 412 is described with respect to Figure 4C as an autonomous vehicle (e.g., 110a, 110b, 110c, 110d, 110e). However, it should be understood that, according to various embodiments, mobile device 402 can be any type of mobile device.

[0107] Referring to Figures 1A through 4C, according to various embodiments, mobile device system 402 may include a control system 140 that interacts with processing system 150 and other hardware 470, all of which are arranged within mobile device 412 (e.g., 110a, 110b, 110c, 110d, 110e, 110f). Each of control system 140, processing system 150, and hardware 470 may include a plurality of hardware, software, and / or firmware elements that operate together to provide the functionality of control system 140 and processing system 150, which are attributed herein to mobile device system 402. Machine-readable instructions 460 may include an autonomous driving algorithm that determines one or more functions of various types, such as visual perception, localization and mapping, driving path planning, vehicle control, and / or vehicle component actuation. Hardware 470 may include a processor, SOC, application-specific integrated circuit (ASIC), or other computing device, and one or more sensors (e.g., 421).

[0108] In various embodiments, one or more sensors in hardware 470 may transmit sensor data 461 to processor 141 of control system 140 (e.g., ADAS vehicle speed controller), which in turn may provide raw or processed sensor data 463 to machine-readable instructions 460 or make raw or processed sensor data 463 available to machine-readable instructions 460. For example, sensor data 461 may reflect the current speed of the mobile device (i.e., actual driving speed), such as measurements obtained from wheel speed sensors.

[0109] Based on raw or processed sensor data 463, machine-readable instructions 460 operating the autonomous driving algorithm can determine motion characteristic data 465, such as the target speed of the mobile device, the speed of one or more other objects near the mobile device, or other motion characteristics associated with the processing latency requirements of the processing system 150. The determined current speed of the mobile device may reflect more than one speed of the mobile device relative to each of the one or more other objects. Therefore, based on raw or processed sensor data 463, the autonomous driving algorithm can determine that the mobile device needs to accelerate significantly. The determined motion characteristic data 465 may reflect the increase in acceleration, which in turn is associated with the processing latency requirements of the processing system 150.

[0110] In response to receiving and further processing raw or processed sensor data 463, machine-readable instruction 460 may provide processor 141 with determined motion characteristic data 465, which processor 141 may then transmit as processing delay requirement data 467 to processor 151 of processing system 150 (e.g., SOC operating frequency controller). Processing delay requirement data 467 may reflect the processing delay required by the mobile device to achieve the target speed identified in the determined motion characteristic data 465. In some embodiments, processing delay requirement data 467 may include a processing delay vote submitted by control system 140 to processing system 150. The processing delay vote may be a trade-off considered by processing system 150 in determining whether the required processing delay can be safely achieved.

[0111] In some embodiments, one or more sensors in the hardware 470 may transmit additional sensor data 471 to the processor 151 of the processing system 150 (e.g., a SOC operating frequency controller). For example, the additional sensor data 471 may reflect information from a familiar temperature sensor and / or power / load monitoring device from a mobile device. The processor 151 may also be programmed to have an allowable operating frequency or configured to determine the allowable operating frequency based on an operating frequency budget that limits the operation of the processing system. The operating frequency budget may be based on at least one of thermal, power, or load output limits 473 specified for the processor 151. The thermal, power, or load output limits 473 may reflect limitations set on the processor 151, which the processor 151 may take into account when weighing whether the required processing latency can be safely achieved.

[0112] In some embodiments, the processor 151 of the processing system 150 can weight various inputs to determine the permissible operating frequency. For example, the processor 151 can coordinate with the processor of the control system 140 to weight additional sensor data 471, thermal, power, or load output limits 473, and processing latency requirement data 467 to optimize energy efficiency and reduce unnecessary heat generation. Furthermore, the processor 151 can transmit a maximum travel speed limit indication 475 to the processor 141 of the control system 140, and transmit its actual (or adjusted) operating frequency 477 to the hardware 470. The maximum travel speed limit indication 475 can reflect the processing latency of the processing system, which can limit the speed at which the mobile device can operate safely.

[0113] In some embodiments, the processor 141 of the control system 140 may take into account the received maximum speed limit indication 475 and, if necessary, limit the speed of the mobile device based on the actual (or adjusted) processing delay of the processor 151 of the processing system 150. Therefore, the processor 141 of the control system 140 may transmit movement actions 469 to the hardware 470. For example, movement actions 469 may reflect acceleration, braking, and / or steering actions for the mobile device.

[0114] Figure 5 is a graphical representation of the control communication between mobile device speed and processing system operating frequency. Referring to Figures 1A-5, graph 500 shows how mobile device speed translates into processing system operating frequency and vice versa. The horizontal axis represents changes in mobile device speed, while the vertical axis represents changes in processing system operating frequency. Shaded area 505 represents the region of permissible mobile device speed and processing system operating frequency. Curve 507 represents the conversion from mobile device speed to operating frequency, and vice versa. As shown by dashed line 510, the control system (e.g., 140) can transmit a processing delay requirement indication in the form of a target mobile device speed S-1 to the mobile device operating frequency controller (e.g., processing system 150), the target mobile device speed S-1 corresponding to a first conversion 510 equal to a first operating frequency OF-1. As shown by dashed line 520, the operating frequency controller can respond by transmitting an indication to the mobile device control system for a permissible operating frequency OF-2 for the processing system, the permissible operating frequency OF-2 corresponding to a second conversion 520 equal to a lower maximum mobile device speed S-2.

[0115] When the target mobile device speed is transmitted from the control system to the processing system, the processing system can consider several factors when determining what operating frequency is appropriate in such situations. For example, the processing system can consider the stopping distance required by the mobile device due to the processing time spent making an inference that it needs to stop or realizing the need to stop under a given processing delay; the reaction time required for the actuators and other equipment to engage the braking system; and / or the braking distance required at a specific speed.

[0116] Figure 6 is a set of two bar graphs representing the operational communication between mobile device speed and vehicle stopping distance (considering perception, reaction, and braking times), each corresponding to a different perception delay. Referring to Figures 1A-6, the first graph 601 illustrates an example of mobile device stopping distance based on mobile device speed with a processing delay of 0.5 seconds. The second graph 602 illustrates an example of mobile device stopping distance based on mobile device speed with a processing delay of 0.05 seconds. As shown, the leftmost and darkest gray shaded area represents the stopping distance (i.e., perception distance) corresponding to the processing time spent making an inference that a stop is needed or realizing a perception that a stop is needed at a given processing delay. The perception distance reflects how far the mobile device will travel from the time the control system identifies a hazard by completing the perception algorithm (i.e., artificial intelligence inference). The middle and unshaded area represents the stopping distance (i.e., reaction distance) corresponding to the reaction time required for the actuator and other equipment to engage the braking system. The reaction distance reflects how far the mobile device travels after the perception time ends until the brake is physically actuated. The rightmost, light gray shaded area represents the stopping distance (i.e., braking distance) required for the braking system to bring the mobile device to a complete stop. The braking distance reflects how far the mobile device has traveled from when the brakes engage until it comes to a complete stop. The sum of all three distances (i.e., sensing distance, reaction distance, and braking distance) represents the total stopping distance.

[0117] According to various embodiments, the following formula can be used to calculate the total stopping distance of the mobile device. d perception + d reaction + d braking = d stop (3) d_perception = t_perception × v = (l_PS_perception / f_PS_perception) × v (4) d_reaction = t_reaction × v (5) d_braking = v^2 / (2ug) (6)

[0118] In equations (3)-(6), d represents distance, t represents time, v represents the speed of the mobile device, l PS_perception represents the amount of time required for the processing system to sense the stop, f PS_perception represents the operating frequency of the processing system, u represents the coefficient of friction (e.g., tires and road surface), and g represents gravity. As shown in equation (3), the sensing distance (d_sensing) plus the reaction distance (d_reaction) plus the braking distance (d_braking) equals the stopping distance (d_stopping). In equation (4), the sensing distance (d_sensing) can be calculated as sensing time (t_sensing) multiplied by speed (v), which is converted to the processing load (l PS_perception) used for sensing divided by the operating frequency (f PS_perception) used to perform sensing multiplied by speed (v). In equation (5), the reaction distance (d_reaction) equals the reaction time (t_reaction) multiplied by speed (v). In equation (6), the braking distance (d_braking) equals the square of speed (v²) divided by the coefficient of friction (u) multiplied by gravity (g).

[0119] As shown in the first figure 601 and the second figure 602, while maintaining a stable speed of 35 MPH, the mobile device can shorten the stopping distance by reducing processing latency, primarily driven by a reduction in sensing time (t_sensing). Therefore, the processing latency and operating frequency of the processing system can be precisely adjusted based on the mobile device speed or a target speed reflected in the processing latency vote by the control system (e.g., 140). Furthermore, the processing latency of the processing system can be relaxed (e.g., from 0.05 seconds to 0.5 seconds), which saves energy and operates more efficiently if the processing system can achieve a minimum stopping distance (e.g., 100 feet) for a given mobile device speed (e.g., 35 MPH) with a higher processing latency. Additionally, the first figure 601 and the second figure 602 illustrate how some mobile device speeds might be dangerous (i.e., at risk of accidents) for a given processing latency (e.g., 0.05 seconds or 0.5 seconds). Therefore, when the processing system operates with a 0.05-second processing latency, a mobile device traveling at a speed higher than 40 MPH needs to decelerate to below 40 MPH. Similarly, when the processing system operates with a 0.5-second processing delay, a mobile device traveling at a speed higher than 35 MPH needs to slow down to below 35 MPH.

[0120] Figure 7 is a graphical representation of the conversion between mobile device speed and operating frequency. Referring to Figures 1A-7, graph 700 shows how mobile device speed translates into processing system operating frequency, and vice versa. The horizontal axis represents mobile device speed in miles per hour (MPH), while the vertical axis represents processing system operating frequency in megahertz (MHz). Curve 710 is calculated using the following formula. (7)

[0121] In equation (7), fPS represents the calculated operating frequency required to support the mobile device's speed v, lPS_perception represents the amount of time required for the processing system to perceive a stop, dstop is the total distance required for the mobile device to stop from speed v, treaction is the time spent by the mobile device to activate its braking system, and fPS_baseload is the base operating frequency required for the processing system to operate (e.g., 500 MHz in Figure 7). Curve 710 represents the conversion from mobile device speed to operating frequency, and vice versa. Furthermore, curve 710 is calculated using the assumption that the stopping distance (dstop) equals 100 feet and the reaction time (treaction) equals 0.15 seconds. As shown, when the mobile device speed exceeds 30 mph, the operating frequency must increase exponentially to stop within 100 feet and maintain a reaction time of 0.15 seconds.

[0122] Figure 8 is a schematic diagram illustrating an exemplary mobile device in the form of a vehicle 110a operating near other moving objects. Referring to Figures 1A-8, environment 800 includes a vehicle 110a traveling eastward behind a first vehicle 801, which is also traveling eastward. The difference between the current speed v0 of vehicle 110a and the first speed v1 of the first vehicle 801 reflects the first relative speed vR1 of vehicle 110a relative to the first vehicle 801. Conversely, a second vehicle 802 is traveling westward, opposite to vehicle 110a. The difference between the current speed v0 of vehicle 110a and the second speed v2 of the second vehicle 802 reflects the second relative speed vR2 of mobile device 110a relative to the second vehicle 802.

[0123] Figure 9 is a graphical representation of the energy efficiency comparison for a system-on-a-chip. Referring to Figures 1A-9, megaoperations per second (TOPS) represents the number of operations performed (the workload) per unit time (e.g., second). Figure 9 illustrates how TOPS values ​​(shown as square data points) can increase with increasing operating frequency. Conversely, TOPS values ​​per gigahertz (GHz) (shown as diamond data points) can gradually decrease with increasing operating frequency. Similarly, TOPS values ​​per watt (TOPS / W) (shown as circular data points) gradually decrease with increasing operating frequency.

[0124] Figures 10A-10C are process flowcharts illustrating the operation of methods 1000, 1001, and 1002 performed by a mobile device control system interacting with a processing system according to various embodiments. In some embodiments, methods 1000, 1001, and 1002 may be implemented using one or more additional operations not described, and / or without utilizing one or more of the operations discussed. Referring to Figures 1A-10A, the operation of method 1000 may be implemented in response to instructions electronically stored on an electronic storage medium of the control system (e.g., 140) in one or more processors (e.g., digital processors, analog processors, digital circuitry designed to process information, analog circuitry designed to process information, state machines, and / or other mechanisms for electronically processing information). The one or more processors may include one or more devices configured via hardware, firmware, and / or software specifically designed to perform one or more operations of method 1000. For example, the operation of method 1000 can be performed by a processor of the control system (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151).

[0125] Referring to Figure 10A, in block 1021 of method 1000, the processor of the control system may perform an operation including transmitting a processing delay requirement indication to the operating frequency controller of the mobile device processing system. In block 1021, the processor of the control system may use a processing delay requirement indication transmission module (e.g., 441). For example, the transmitted processing delay requirement indication may be related to the target speed of the mobile device. Alternatively or additionally, the transmitted processing delay requirement indication may include a delay requirement vote requesting a minimum delay from the processing system. In some embodiments, the components for performing the operation of block 1021 may include a transceiver (e.g., 149), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a control system (e.g., 140) that may use memory (e.g., 143, 153, 220, 258), an external resource 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0126] In block 1023, the processor of the control system can perform operations including receiving an indication of the permissible operating frequency for the processing system in response to a transmission processing delay requirement indication. In block 1023, the processor of the control system can use a permissible operating frequency receiving module (e.g., 444). In block 1023, the received indication of the permissible operating frequency can be configured to limit the maximum speed for the mobile device. For example, the operating frequency of the processing system can be limited or suppressed in a way that translates to a maximum speed at which the mobile device can operate safely. In some embodiments, the components for performing the operations of block 1023 may include a transceiver (e.g., 149), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a control system (e.g., 140) that may use memory (e.g., 143, 153, 220, 258), an external resource 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0127] In block 1025, the processor of the control system can perform operations including changing the mobility characteristics of the mobile device based on a received indication of an allowable operating frequency. In block 1025, the processor of the control system can use a mobility characteristic changing module (e.g., 445). In block 1025, changing the mobility characteristics of the mobile device can include changing the speed of the mobile device to a target speed associated with the received indication of the allowable operating frequency. Alternatively, due to limitations imposed on the operating frequency of the processing system, changing the mobility characteristics of the mobile device can include changing the speed of the mobile device to a speed lower than the target speed. In some embodiments, the components for performing the operations of block 1025 can include the processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of the control system (e.g., 140) which can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or processing system 150.

[0128] In some embodiments, the processor may repeatedly or continuously repeat any or all of the operations in blocks 1021, 1023 and 1025 to perform interactive control of mobile device speed and processing system operating frequency.

[0129] Figure 10B illustrates method 1001, which can be executed together with method 1000 or as an enhancement to method 1000.

[0130] Referring to Figure 10B, in block 1027, the processor of the control system can perform operations including determining changes in the mobility characteristics of the mobile device, the changes in mobility characteristics requiring changes in the current processing delay of the operating frequency controller. In block 1027, the processor of the control system can use a mobility characteristic change determination module (e.g., 444). Therefore, the processing delay requirement indication transmitted in block 1021 can reflect the determined changes in the mobility characteristics of the mobile device. Components for performing the operations of block 1027 may include a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a control system (e.g., 140) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or processing system 150.

[0131] Subsequently, the processor can perform the operation of block 1021 as described in method 1000 (Figure 10A).

[0132] Figure 10C illustrates method 1002, which can be executed together with method 1000 and method 1001 or as an enhancement to method 1000 and method 1001.

[0133] Referring to Figure 10C, in block 1029 following the operation in block 1027 of method 1001, the processor of the control system can perform an operation including receiving at least one of a target speed of the mobile device or a current speed of a remote object. In block 1029, the processor of the control system can use a speed indication receiving module (e.g., 443). Therefore, the change in the movement characteristics of the mobile device control system determined in block 1029 can be based on at least one of the received target speed of the mobile device control system or the current speed of the remote object. Components for performing the operation of block 1029 may include a transceiver (e.g., 149), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a control system (e.g., 140) that can use memory (e.g., 143, 153, 220, 258), an external resource 420, and / or one or more other elements of the control system 140 and / or processing system 150.

[0134] Subsequently, the processor can perform the operation of block 1021 as described in method 1000 (Figure 10A).

[0135] Figures 11A-11I are process flowcharts illustrating the operation of methods 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, and 1108 performed by a mobile device processing system interacting with a control system according to various embodiments. In some embodiments, methods 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, and 1108 may be implemented using one or more additional operations not described, and / or without using one or more of the operations discussed. Referring to Figures 1A-11A, the operation of method 1100 may be implemented in response to instructions electronically stored on an electronic storage medium of the processing system (e.g., 150) in one or more processors (e.g., digital processors, analog processors, digital circuits designed to process information, analog circuits designed to process information, state machines, and / or other mechanisms for electronically processing information). One or more processors may include one or more devices configured via hardware, firmware and / or software to specifically perform one or more operations of method 1100. For example, the operation of method 1100 may be performed by a processor of a processing system (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151).

[0136] Referring to Figure 11A, in block 1121, the processor of the processing system can perform operations including receiving an indication of a processing delay requirement from the mobile device control system. In block 1121, the processor of the processing system can receive the processing delay requirement indication from a module (e.g., 450). For example, the received indication of the processing delay requirement may be related to a target speed of the mobile device. Alternatively, the received indication of the processing delay requirement may include a delay requirement vote requesting a minimum delay from the processing system. In some embodiments, the components for performing the operations of block 1121 may include a transceiver (e.g., 159), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0137] In block 1123, the processor of the processing system can perform operations including determining a target operating frequency to meet processing latency requirements. In block 1123, the processor of the processing system can use the target operating frequency to determine the module (e.g., 451). For example, the determined target operating frequency can limit or suppress the operation of the processing system (e.g., 150) in a way that translates into a speed limit that allows the mobile device to operate safely. In some embodiments, the components for performing the operations of block 1123 may include the processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of the processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or control system 140 and / or one or more other elements of the processing system 150.

[0138] In block 1125, the processor of the processing system can perform an operation including determining whether a target operating frequency exceeds the permissible operating frequency for the processing system. In block 1125, the processor of the processing system can use an operating frequency comparison / determination module (e.g., 453). In some embodiments, the components for performing the operation of block 1125 may include the processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0139] In block 1127, the processor of the processing system can perform operations including transmitting an indication of an allowable operating frequency for the processing system to the mobile device control system. In block 1127, the processor of the processing system can transmit the allowable operating frequency using a module (e.g., 454). In some embodiments, the transmitted indication of the allowable operating frequency can be configured to guide the mobile device control system to reduce a target moving speed of the mobile device. In some embodiments, the transmitted indication of the allowable operating frequency includes a maximum moving speed limit for the mobile device. Components for performing the operations of block 1127 may include a transceiver (e.g., 159), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0140] In some embodiments, the processor may repeatedly or continuously repeat any or all of the operations in blocks 1121, 1123, 1125 and 1127 to perform interactive control of mobile device speed and processing system operating frequency.

[0141] Figure 11B illustrates method 1101, which can be executed together with method 1100 or as an enhancement to method 1100.

[0142] Referring to Figure 11B, following the operation in block 1123, in decision block 1129, the processor of the processing system can perform an operation including determining whether the target operating frequency exceeds the permissible operating frequency for the processing system. In decision block 1129, the processor of the processing system can use an operating frequency comparison / determination module (e.g., 453).

[0143] In response to the determination that the target operating frequency is equal to or does not exceed the permissible operating frequency for the processing system (i.e., determination block 1129 = "No"), in block 1131, the processor may change the operating frequency of the processing system to the target operating frequency.

[0144] In response to the determination that the target operating frequency exceeds the permissible operating frequency for the processing system (i.e., determination block 1129 = "Yes"), in block 1133, the processor can change the current operating frequency of the processing system to a value lower than the target operating frequency. The components used to perform the operation of determination block 1129 may include a control system (e.g., 140) that can use memory (e.g., 143, 153, 220, 258), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151), external resources 420, and / or one or more other elements of the control system 140 and / or processing system 150.

[0145] Subsequently, the processor can perform the operation of block 1127 of method 1100 (Figure 11A) as described.

[0146] Figure 11C illustrates method 1102, which can be executed together with method 1100 or as an enhancement to method 1100.

[0147] Referring to Figure 11C, following the operation in block 1121, in block 1135, the processor of the processing system can perform an operation that includes determining the permissible operating frequency based on an operating frequency budget that can limit the operation of the processing system. The operating frequency budget can reflect limitations of the processing system, such as its thermal output limits, power output limits, and / or load output limits.

[0148] In block 1135, the processor of the processing system can use an operating frequency budget to determine the module (e.g., 452). Therefore, the determined permissible operating frequency for the processing system can be based on the operating frequency budget. Components for performing the operations of block 1135 may include a transceiver (e.g., 159), a processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151), external resources 420, and / or control system 140 and / or one or more other components of processing system 150.

[0149] Figure 11D illustrates method 1103, which can be performed as an alternative to or an enhancement of method 1100.

[0150] Referring to Figure 11D, in block 1137, the processor of the processing system can perform operations including receiving an indication of the speed of the mobile device. In block 1137, the processor of the processing system can use a processing latency requirement indication to receive the module (e.g., 450). For example, the received indication of the processing latency requirement may be related to the speed of the mobile device. Alternatively, the received indication of the processing latency requirement may include a latency requirement vote requesting the minimum latency of the processing system required to support the corresponding speed of the mobile device. In some embodiments, the components for performing the operations of block 1137 may include a transceiver (e.g., 159), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0151] In block 1139, the processor of the processing system can perform operations including determining a target operating frequency for the processing system that is compatible with the speed of the mobile device received in block 1137. In block 1139, the processor of the processing system can use the target operating frequency to determine the module (e.g., 451). For example, the determined target operating frequency can limit or suppress the operation of the processing system (e.g., 150) in a way that translates into a speed limit on which the mobile device can operate safely. In some embodiments, the components for performing the operations of block 1139 may include the processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of the processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or control system 140 and / or one or more other elements of the processing system 150.

[0152] In block 1141, the processor can change the operating frequency of the processing system to a target operating frequency, similar to the operation in block 1131 of method 1101 described with reference to FIG11B. In some embodiments, the processor can repeatedly or continuously repeat any or all of the operations in blocks 1137, 1139 and 1141 to perform interactive control of the mobile device speed and the operating frequency of the processing system.

[0153] Figure 11E illustrates method 1104, which can be executed together with method 1103 (Figure 11D) or as an enhancement to method 1103.

[0154] Referring to FIG11E, after the operation in block 1139 of method 1103, in block 1143, the processor may determine whether the target operating frequency exceeds the permissible operating frequency for the processing system, similar to the operation in block 1125 of method 1100 as described with reference to FIG11A. In some embodiments, changing the operating frequency of the processing system to the target operating frequency in block 1141 may include changing the operating frequency of the processing system to the target operating frequency in response to determining that the target operating frequency does not exceed the permissible operating frequency for the processing system. In some embodiments, changing the operating frequency of the processing system to the target operating frequency may include changing the current operating frequency of the processing system to a value less than the target operating frequency in response to determining that the target operating frequency exceeds the permissible operating frequency. After the operation in block 1143, the processor may perform the operation in block 1141 of method 1103 (FIG. 11D).

[0155] Figure 11F illustrates method 1105, which can be executed together with method 1103 (Figure 11D) or as an enhancement to method 1103.

[0156] Referring to FIG11F, after the operation in block 1141 of method 1103 (FIG. 11D), the processor may perform the operation in block 1145, which includes: after changing the current operating frequency of the processing system to a value less than the target operating frequency, notifying the control system for the mobile device of the maximum speed for the mobile device or the value of the operating frequency of the processing system. In block 1145, the processor of the processing system may use a transmission module (e.g., 454) that allows the operating frequency. Components for performing the operation of block 1145 may include a transceiver (e.g., 159), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that may use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0157] In some embodiments, the processor may repeatedly or continuously repeat any or all of the operations in blocks 1137, 1139, 1141, and 1145 to perform interactive control of mobile device speed and processing system operating frequency.

[0158] Figure 11G illustrates method 1106, which can be executed together with method 1103 (Figure 11D) or as an enhancement to method 1103.

[0159] Referring to Figure 11G, after the operation in block 1139 of method 1103 (Figure 11D), the processor can perform the operation in block 1147, which includes providing an indication to the mobile device control system of a target operating frequency for the processing system. In block 1147, the processor of the processing system can use a transmission module (e.g., 454) that can operate at an allowed frequency. Components for performing the operation in block 1147 may include a transceiver (e.g., 159), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or one or more other elements of the control system 140 and / or the processing system 150.

[0160] After the operation in block 1147, the processor can execute the operation in block 1141 of method 1103 (Figure 11D).

[0161] Figure 11H illustrates method 1107, which can be executed together with method 1103 (Figure 11D) or as an enhancement to method 1103.

[0162] Referring to FIG11H, after the operation in block 1139 of method 1103 (FIG. 11D), the processor may execute the operation in block 1149, which includes determining the allowable operating frequency based on the operating frequency budget that limits the operation of the processing system, similar to the operation in block 1135 of method 1102 as described with reference to FIG11C. After the operation in block 1149, the processor may execute the operation in block 1141 of method 1103 (FIG. 11D).

[0163] Figure 11I illustrates method 1108, which can be executed together with method 1103 (Figure 11D) or as an enhancement to method 1103.

[0164] Referring to FIG11I, after the operation in block 1139 of method 1103 (FIG. 11D), the processor may perform the operation in block 1151, which includes notifying the control system for the mobile device when the operating frequency of the processing system has changed to a target operating frequency. In some embodiments, receiving an indication of the speed of the mobile device in block 1137 of method 1103 (FIG. 11D) may include receiving an indication of a requested or required speed of the mobile device. In some embodiments, determining a target operating frequency for the processing system compatible with the indicated speed of the mobile device in block 1139 of method 1103 (FIG. 11D) may include determining a target operating frequency of the processing system that will support the requested or required speed of the mobile device. In block 1151, the processor of the processing system may use a permissible operating frequency transmission module (e.g., 454). The components used to perform the operation of block 1151 may include a transceiver (e.g., 159), a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151) of a processing system (e.g., 150) that can use memory (e.g., 143, 153, 220, 258), external resources 420, and / or control system 140 and / or one or more other components of processing system 150.

[0165] After the operation in block 1151, the processor can execute the operation in block 1141 of method 1103 (Figure 11D).

[0166] Figure 12 is a block diagram of components applicable to a wireless device 1200 used with various embodiments. Referring to Figures 1A through 12, various embodiments can be implemented on various wireless devices 1200 (e.g., mobile device 110f), with an example of wireless device 1200 illustrated in Figure 12 as a smartphone. Wireless device 1200 may include a first SOC 202 (e.g., SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-capable SOC). The first SOC 202 and the second SOC 204 may be coupled to internal memory 1216, a display 1212, and a speaker 1214. Additionally, wireless device 1200 may include an antenna 1204 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless data link or cellular transceiver 149 coupled to one or more processors in the first SOC 202 and / or the second SOC 204. The wireless device 1200 may also include a menu selection button or a rocker switch 1220 for receiving user input.

[0167] Wireless device 1200 may include audio codec (CODEC) circuitry 1210, which digitizes audio received from a microphone into data packets suitable for wireless transmission and decodes the received audio data packets to generate an analog signal provided to a speaker to produce sound. One or more processors, wireless transceiver 149, and CODEC 1210 in the first SOC 202 and the second SOC 204 may include digital signal processor (DSP) circuitry (not shown separately).

[0168] Various embodiments (including those discussed above with reference to Figures 1A-11C) can be implemented in a variety of wearable devices, an example of which is illustrated in Figure 13 as a smart glasses 1300. Referring to Figures 1A-13, the smart glasses 1300 can operate like conventional glasses, but with enhanced computer features and sensors, such as a built-in camera 1335 on or near the lens 1331 and a head-up display or augmented reality features. Like any glasses, the smart glasses may include a frame 1302 coupled to temples 1304, which follow the wearer's head and are mounted behind the wearer's ears. When the nose pad 1306 on the nose bridge 1308 rests against the wearer's nose, the frame 1302 holds the lens 1331 in front of the wearer's eyes.

[0169] In some embodiments, the smart glasses 1300 may include an image rendering device 1314 (e.g., an image projector) that may be embedded in one or both temples 1304 of the eyeglass frame 1302 and configured to project an image onto an optical lens 1331. In some embodiments, the image rendering device 1314 may include a light-emitting diode (LED) module, a light tunnel, a homogenizing lens, an optical display, a folding lens, or other elements of a known projector or head-mounted display. In some embodiments (e.g., embodiments that do not include or use the image rendering device 1314), the optical lens 1331 may be or may include a transparent or partially transparent electronic display. In some embodiments, the optical lens 1331 includes an image generating element, such as a transparent organic light-emitting diode (OLED) display element or a liquid crystal on silicon (LCOS) display element. In some embodiments, the optical lens 1331 may include separate left and right eye display elements. In some embodiments, the optical lens 1331 may include or operate as a light conduit for delivering light from the display element to the wearer's eye.

[0170] The smart glasses 130 may include several external sensors configured to acquire information about the wearer's movements and external conditions. This information may be useful for sensing images, sounds, muscle movements, and other phenomena that can be used to determine ongoing motion. In some embodiments, the smart glasses 1300 may include a camera 1335 configured to image objects in front of the wearer in a still image or video stream, which may be transmitted to another computing device (e.g., mobile device 110f, 1200) for analysis. In some embodiments, the smart glasses 1300 may include a microphone 1310 positioned and configured to record sounds in the vicinity of the wearer. In some embodiments, multiple microphones may be positioned at different locations on the eyeglass frame 1302, such as at the distal end of the temple 1304 near the chin, to record sounds emitted by the wearer, such as chin movements, breathing sounds, etc. In some embodiments, the smart glasses 130 may include one or more electromyography (EMG) sensors 1316 mounted on one or two temples 1304 (such as near the temples or above the ears) and configured to measure electrical activity of nerves and muscles in the wearer's chin and temple region. In some embodiments, the smart glasses 130 may include pressure sensors (such as those located on the nose pad 1306) configured to sense facial movement. In some embodiments, the smart glasses 130 may include other sensors (e.g., thermometers, heart rate monitors, body temperature sensors, pulse oximeters, etc.) for collecting information related to the user's lung condition, oxygen levels, and / or user condition that may be used to determine the user's breathing pattern.

[0171] The processing system 1312 may include a processing and communication SOC 202, which may include one or more processors (e.g., 210, 212, 214, 216, 218, 252, 260, 141, 151), one or more of which may be configured to have processor-executable instructions to perform the operations of various embodiments. The processing and communication SOC 202 may be coupled to an internal sensor 1320, internal memory 1322, and a communication circuitry 1324 coupled to one or more antennas 1326, the communication circuitry 1324 being used to establish wireless data links with external computing devices (e.g., mobile device 600), such as via a Bluetooth link. The processing and communication SOC 202 may also be coupled to a sensor interface circuitry 1328, which is configured to control and receive data from a camera 1335, a microphone 1310, one or more electromyography (EMG) sensors 1316, and other sensors located on the eyeglass frame 1302.

[0172] Internal sensors 1320 may include an inertial measurement unit (IMU) configured to measure the movement and orientation of the wearer's head, including an electronic gyroscope, accelerometer, and magnetic compass. Internal sensors 1320 may also include a magnetometer, altimeter, odometer, and barometer, as well as other sensors for determining the orientation and movement of the smart glasses 130. Such sensors, in various embodiments, may be used to detect head movements associated with fluid consumption as described.

[0173] The processing system 1312 may also include a power source, such as a rechargeable battery 1330 coupled to an external sensor on the SOC 202 and the eyeglass frame 1302.

[0174] Various embodiments (including, but not limited to, the embodiments discussed above with reference to Figures 1A-11C) can be implemented on various mobile devices, an example of which is illustrated in Figure 14 as a surgical robot. Referring to Figures 1A-14, the surgical robot 1400 may include a control system 1410 and a processing system 1420, the processing system 1420 including one or more robotic arms. The control system 1410 may include a user interface, such as a user display 1412 and an operation interface 1414. The processing system may be coupled to the control system 1410 via a bidirectional communication link 1415. The robotic arms may include sensors 1422 for detecting orientation, position, and applied pressure. The surgical robot 1400 may include a processor 1401 coupled to volatile memory 1402 and mass non-volatile memory (such as a disk drive 1403). The surgical robot 1400 may also include peripheral memory access devices, such as a floppy disk drive, CD-ROM, or DVD drive 1406 coupled to the processor 1401. The surgical robot 1400 may also include a network access port 1404 (or interface) coupled to the processor 1401 for establishing data connections to networks, such as the Internet and / or local area networks coupled to other system computers and servers. The surgical robot 1400 may include one or more antennas 1407 for transmitting and receiving electromagnetic radiation that can be connected to a communication link. The surgical robot 1400 may include additional access ports for coupling to peripheral devices, external memory, or other devices, such as USB, Firewire, Thunderbolt, etc.

[0175] Implementation examples are described in the following paragraphs. Although some of the implementation examples below are described in accordance with exemplary methods, further exemplary implementations may include: exemplary methods implemented by a processing system of a mobile device configured to interact with a control system including a processor, as discussed in the following paragraphs, the processor being configured to have processor-executable instructions to perform the operations of the methods of the following implementation examples; exemplary methods implemented by a control system of a mobile device configured to interact with a processing system including a processor, as discussed in the following paragraphs, the processor being configured to have processor-executable instructions to perform the operations of the methods of the following implementation examples; exemplary methods implemented by a processing system or control system of a mobile device, as discussed in the following paragraphs, the processing system or control system including components for performing the functions of the methods of the following implementation examples; and exemplary methods discussed in the following paragraphs may be implemented as non-transitory processor-readable storage media having processor-executable instructions stored thereon, such instructions being configured to cause the processor of the processing system or control system of the mobile device to perform the operations of the methods of the following implementation examples.

[0176] Example 1: A method performed by a mobile device control system interacting with a processing system, comprising the steps of: transmitting a processing delay requirement indication to an operating frequency controller of the mobile device processing system; receiving an indication of an allowable operating frequency for the processing system in response to the transmitted processing delay requirement indication; and changing the mobility characteristics of the mobile device based on the received indication of the allowable operating frequency.

[0177] Example 2, a method executed by a mobile device control system interacting with a processing system according to request item 1, also includes the following steps: determining a change in the mobility characteristic of the mobile device, the change in mobility characteristic requiring a change in the current processing delay of the operating frequency controller, wherein the transmitted processing delay requirement indicates a change reflecting the determined change in the mobility characteristic of the mobile device.

[0178] Example 3, a method performed by a mobile device control system interacting with a processing system according to request item 1 or 2, also includes the following steps: receiving at least one of a target speed of the mobile device or a current speed of a remote object, wherein the determined change in the movement characteristic of the mobile device control system is based on at least one of the received target speed of the mobile device control system or the current speed of the remote object.

[0179] Example 4: A method performed by a mobile device control system that interacts with a processing system according to any one of requests 1-3, wherein the transmitted processing delay requirement indication is related to the target speed of the mobile device.

[0180] Example 5: A method performed by a mobile device control system interacting with a processing system according to any one of requests 1-4, wherein changing the mobility characteristic of the mobile device includes: changing the speed of the mobile device to a target speed associated with a received indication of the permissible operating frequency.

[0181] Example 6: A method performed by a mobile device control system interacting with a processing system according to any one of requests 1-5, wherein the received indication of the permissible operating frequency is configured to limit the maximum speed used by the mobile device.

[0182] Example 7: A method performed by a mobile device control system interacting with a processing system according to any one of request items 1-6, wherein the transmitted processing delay request indication includes a delay request vote requesting a minimum delay from the processing system.

[0183] Example 8. A method performed by a processing system that interacts with the control system of a mobile device, comprising the steps of: receiving an indication of a processing delay requirement from the mobile device control system; determining a target operating frequency to meet the processing delay requirement; determining whether the target operating frequency exceeds an allowable operating frequency for the processing system; and transmitting an indication of the allowable operating frequency for the processing system to the mobile device control system.

[0184] Example 9, a method performed by a processing system interacting with the control system of a mobile device according to request item 8, also includes the following steps: in response to determining that the target operating frequency does not exceed the permissible operating frequency, changing the operating frequency of the processing system to the target operating frequency; and in response to determining that the target operating frequency exceeds the permissible operating frequency, changing the current operating frequency of the processing system to a value lower than the target operating frequency.

[0185] Example 10: A method performed by a processing system interacting with the control system of a mobile device according to either request item 8 or 9, wherein the received indication of the processing delay requirement is related to the target speed of the mobile device.

[0186] Example 11: A method performed by a processing system interacting with the control system of a mobile device according to any one of requests 8-10, wherein the transmitted indication of the permissible operating frequency is configured to instruct the mobile device control system to reduce the target moving speed of the mobile device.

[0187] Example 12: A method performed by a processing system interacting with the control system of a mobile device according to any one of requests 8-11, wherein the transmitted indication of the permissible operating frequency is configured to limit the maximum moving speed of the mobile device.

[0188] Example 13: A method performed by a processing system interacting with the control system of a mobile device according to any one of requests 8-12, wherein the received instruction on the processing delay requirement includes a delay requirement vote requesting a minimum delay from the processing system.

[0189] Example 14. A method performed by a processing system interacting with the control system of a mobile device according to any one of requests 8-13, also comprising the steps of: determining the permissible operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the permissible operating frequency for the processing system is based on at least one of a thermal output limit, a power output limit, or a load output limit of the processing system.

[0190] The processor implementing the various embodiments can be any programmable microprocessor, microcomputer, or one or more multiprocessor chips, which can be configured via software instructions (applications) to perform various functions, including the functions of the various types described herein. In some communication devices, multiple processors may be provided, such as a processor dedicated to wireless communication functions and a processor dedicated to executing other applications. Typically, software applications can be stored in internal memory before being accessed and loaded into the processor. The processor may include internal memory sufficient to store application software instructions.

[0191] As used in the present case, the terms “component,” “module,” “system,” etc. are intended to include computer-related entities such as, but not limited to, hardware, firmware, combinations of hardware and software, software, or software in execution configured to perform a particular operation or function. For example, a component may be, but is not limited to being: a process running on a processor, a processor, an object, an executable file, a running thread, a program, and / or a computer. By way of illustration, both the application and the communication device running on the processor of the communication device may be referred to as components. One or more components may reside in a process and / or execution thread, and the components may be located on one processor or core and / or distributed between two or more processors or cores. In addition, the components may be executed from various non-temporary computer-readable media having various instructions and / or data structures stored thereon. Components may communicate by means of local and / or remote processes, function or procedure dialing, electronic signals, data packets, memory read / write, and other known communication methods related to networks, computers, processors, and / or processes.

[0192] Several different cellular and mobile communications services and standards are available or expected in the future, all of which can achieve and benefit from each mode. Such services and standards could include, for example, third-generation partner programs (3GPP), long-term evolution (LTE) systems, third-generation wireless mobility communications technology (3G), fourth-generation wireless mobility communications technology (4G), fifth-generation wireless mobility communications technology ( 5G), Mobile Communications Global Systems (GSM), General Mobile Telecommunications Systems (UMTS), 3GSM, Universal Packet Radio Service (GPRS), Division Multiplexer Access (CDMA) systems (e.g., cdmaOne, CDMA10 20TM), EDGE, Advanced Mobile Phone System (AMPS), Digital AMPS (IS-136 / TDMA), Evolutionary Data Optimization (EV-DO), Digitally Enhanced Powerless Wire Telecommunications (DECT), and Global Interoperability Microwave Storage Wireless (WiMAX), Wireless Area Network (WLAN), Wi-Fi Protected Access I and II (WPA, WPA2), Integrated Digital Enhanced Network (iden), C-V2X, V2V, V2P, V2I and V2N. 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 relating to a separate telecommunications standard or technology is for illustrative purposes only and is not intended to limit the scope of the claim to a particular communication system or technology unless specifically stated in the language of the scope of the application for the patent.

[0193] The various patterns illustrated and described are provided merely as examples to illustrate the various characteristics of the request item. However, the characteristics illustrated and described with respect to any given pattern are not necessarily limited to the associated pattern and can be used or combined with other illustrated and described patterns. Furthermore, the request item is not intended to be limited to any single exemplary pattern. For example, one or more operations in the operations of such methods can be replaced or combined with one or more operations of such methods.

[0194] The foregoing method descriptions and process flowcharts are provided as illustrative examples only and are not intended to require or imply that the operations of each state must be performed in the provided order. As will be understood by those skilled in the art, the operations in the foregoing states can be performed in any order. Words such as "afterwards," "following," and "next" are not intended to restrict the order of operations; these words are used to guide the reader through the description of the method. Furthermore, any reference to a request element in the singular form (e.g., using the articles "a," "an," or "the") should not be construed as restricting that element to the singular.

[0195] The various illustrative logic blocks, modules, components, circuits, and algorithmic operations described in this paper can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, the various illustrative components, blocks, modules, circuits, and operations have been described above in their functional formats. Whether this functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in this art can implement the described functionality in modified ways for each specific application; however, such format decisions should not be interpreted as leading to a departure from the scope of the requested item.

[0196] Hardware for implementing the various illustrative logic, logic blocks, modules, and circuits described herein can be implemented or executed using a general-purpose processor, digital signal processor (DSP), ASIC, field-programmable gate array (FPGA) or other programmable logic device, individual gate or transistor logic, individual hardware element, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, the processor may be any known processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of receiver intelligent objects, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by a circuit system specific to a given function.

[0197] In one or more forms, the described functions can be implemented using hardware, software, firmware, or any combination thereof. If implemented in software, such functions can be stored as one or more instructions or code on a non-transitory computer-readable medium or a non-transitory processor-readable storage medium. The operation of the methods or algorithms disclosed herein can be embodied in a processor-executable software module or processor-executable instructions, which can reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium can be any storage medium accessible by a computer or processor. By way of example, and not limitation, such a non-transitory computer-readable or processor-readable storage medium can include RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage intelligent objects, or any other medium that can be used to store desired program code in the form of instructions or data structures and is accessible by a computer. As used herein, magnetic disks and optical disks include CDs, laser discs, optical discs, DVDs, floppy disks, and Blu-ray discs, where magnetic disks typically copy data magnetically, while optical discs use lasers to optically copy data. The combination of the above is also included within the scope of non-transitory computer-readable and processor-readable media. Furthermore, the operation of a method or algorithm can be resident as one or any combination of code and / or instructions, or a set of code and / or instructions, on non-transitory processor-readable and / or computer-readable storage media, which can be incorporated into a computer program product.

[0198] The above description of the disclosed forms enables any person skilled in the art to implement or use the claims. Various modifications to these forms will be readily apparent to those skilled in the art, and the overall principles defined herein can be applied to other forms without departing from the scope of the claims. Therefore, the content of this application is not intended to be limited to the forms shown herein, but rather to be given the broadest scope consistent with the appended claims and the principles and novel features disclosed herein.

[0199] 5: Users 15: Communication Link 16: Cable 25: Base Station 50: Communication Network 100: Mobile Device System 101: Mobile Device System 102: Mobile Device System 103: Mobile Device System 104: Mobile Device System 105: Mobile Device System 106: Mobile Device System 107: Mobile Device System 108: Mobile Device System 109: Mobile Device System 110a: Mobile devices 110b: Mobile devices 110c: Mobile device 110d: Mobile device 110e: Mobile devices 110f: Mobile device 110g: Mobile devices 110h: Mobile devices 110i: Mobile device 110j: Mobile devices 131: Drive control element 133: Navigation element 140: Control System 141: Processor 143: Memory 145: Input Module 147: Output Module 149: Transceiver 150: Processing System 151: Processor 153: Memory 155: Input Module 157: Output Module 159: Transceiver 160: Sensor 200:SIP 202: First SOC 204: Second SOC 206: Clock 208: Voltage Regulator 210: Digital Signal Processor (DSP) 212: Modem Processor 214: Graphics Processor 216: Application Processor 218: Auxiliary Processor 220: Memory 222: Custom Circuit System 224: System Components and Resources 226: Interconnect / Bus Module 230: Temperature sensor 232: Thermal Management Unit 234: Thermal Power Envelope (TPE) Element 250: Interconnect / Bus Module 252: Processor 254: Power Management Unit 256: Millimeter-wave transceiver 258: Memory 260: Processor 264: Interconnect / Bus Module 300: Software Architecture 302: Non-Accessible Layer (NAS) 304: Access Control Server (AS) 306: Entity Layer (PHY) 308: Media Access Control (MAC) Sublayer 310: Radio Link Control (RLC) Sublayer 312: Packet Data Convergence Protocol (PDCP) Sublayer 313: RRC sublayer 314: Host Layer 316: Hardware Interface 400: Mobile Device System 401: Mobile Device System 402: Mobile Device System 410: Mobile devices 412: Mobile devices 420: External Resources 421: Sensor 430: Machine-readable instructions 435: Machine-readable instructions 440: Determine the module based on latency requirements. 441: Delay Requirement Indicator Transmission Module 442: Changes in movement characteristics determine the module 443: Speed ​​Indicator Receiver Module 444: Allows operation of frequency receiving modules 445: Movement Characteristic Modification Module 450: Request instruction for receiving module 451: Target operating frequency determines the module 452: Operating frequency budget determines the module 453: Operation frequency comparison / determination module 454: Allows operation of frequency transmission modules 455: Operating frequency changing module 460: Machine-readable instructions 461: Sensor Data 463: Sensor Data 465: Mobility Characteristics Data 467: Processing Delay Requirement Data 469: Movement Actions 470: Hardware 471: Sensor Data 473: Thermal, power, or load output limit 475: Maximum speed limit indicator 477: Actual (or adjusted) operating frequency 500: Graphics 505: Shaded Area 507: Curve 510: First Transformation 520: Second Transformation 600: Mobile devices 601: First graphic 602: Second graphic 700: Graphics 710: Curve 800: Environment 801: First vehicle 802: Second vehicle 1000: Method 1001: Method 1002: Method 1021: Square 1023: Square 1025: Square 1027: Square 1029: Square 1100: Method 1101: Method 1102: Method 1103: Method 1104: Method 1105: Method 1106: Method 1107: Method 1108: Method 1121: Square 1123: Square 1125: Square 1127: Square 1129: Decide the block 1131: Square 1133: Square 1135: Square 1137: Square 1139: Square 1141: Square 1143: Square 1145: Square 1147: Square 1149: Square 1151: Square 1200: Wireless devices 1204: Antenna 1210: Audio Encoding / Decoding (CODEC) Circuit 1212: Monitor 1214: Speaker 1216: Internal Memory 1220: Rocker switch 1300: Smart Glasses 1302: Eyeglass frames 1304: Eyeglasses temples 1306: Nose pad 1308: Nose bridge frame 1310: Microphone 1312: Processing System 1314: Image rendering device 1316: Electromyography 1320: Internal sensor 1322: Internal Memory 1324: Communication circuit system 1326: Antenna 1328: Sensor Interface Circuit System 1330: Rechargeable battery 1331: Optical Lens 1335: Camera 1400: Surgical Robot 1401: Processor 1402: Volatile Memory 1403: Disk Drive 1404: Network Access Port 1406: Digital Video Disc (DVD) Drive 1407: Antenna 1410: Control System 1412: User Display 1414: User Interface 1415: Two-way communication link 1420: Processing System 1422: Sensor L1: Layer 1 L2: Layer 2 L3: Layer 3 V0: Current speed V 1: First speed V2: Second velocity

[0200] Domestic storage information (please note in order of storage institution, date, and number) none Overseas storage information (please note in the order of storage country, institution, date, and number) none

Claims

1. A method performed by a mobile device control system interacting with a processing system, comprising the steps of: transmitting a processing delay requirement indication to an operating frequency controller of a mobile device processing system; receiving an indication for an allowable operating frequency for the processing system in response to the transmitted processing delay requirement indication; and changing a mobility characteristic of a mobile device based on the received indication for the allowable operating frequency.

2. The method according to request item 1 also includes the following steps: determining a change in the mobility characteristic of the mobile device that requires a change in a current processing delay of the operating frequency controller, wherein the transmitted processing delay request indicates that the determined change in the mobility characteristic of the mobile device reflects the change in the current processing delay of the mobile device.

3. The method according to claim 2 also includes the following steps: receiving at least one of a target speed of a mobile device or a current speed of a remote object, wherein the change in the motion characteristic of the determined mobile device control system is based on the received target speed of the mobile device control system or the current speed of the remote object.

4. According to the method of request item 1, wherein the transmitted processing delay requirement indication is related to a target speed of the mobile device.

5. The method of claim 1, wherein the step of changing the mobility characteristic of the mobile device includes the following steps: changing a speed of the mobile device to a target speed associated with the received indication of the permissible operating frequency.

6. The method of request item 1, wherein the received indication of the permissible operating frequency is configured to limit a maximum speed for the mobile device.

7. The method according to request item 1, wherein the transmitted processing delay request indication includes a delay request vote requesting a minimum delay from the processing system.

8. A control system for a mobile device configured to interact with a processing system, comprising: One or more sensors; and a processor coupled to the one or more sensors and configured to have processor-executable instructions to perform the following operations: transmitting a processing delay requirement indication to an operating frequency controller of a mobile device processing system; receiving an indication for an allowable operating frequency for the processing system in response to the transmitted processing delay requirement indication; and changing a mobility characteristic of the mobile device based on the received indication for the allowable operating frequency.

9. The control system according to claim 8, wherein the processor is also configured to have processor-executable instructions to perform the following operations: determining a change in the mobility characteristic of the mobile device that requires a change in a current processing delay of the operating frequency controller, wherein the transmitted processing delay requirement indicates that the determined change in the mobility characteristic of the mobile device reflects the change in the mobile device.

10. The control system according to claim 9, wherein the processor is also configured to have processor-executable instructions to perform the following operations: receiving at least one of a target speed of a mobile device or a current speed of a remote object; and determining the change in the movement characteristic of a mobile device control system based on the at least one of the received target speed of the mobile device control system or the current speed of the remote object.

11. The control system according to claim 8, wherein the processor is also configured to have processor-executable instructions such that the transmitted processing delay requirement indication is related to a target speed of the mobile device.

12. The control system according to claim 8, wherein the processor is also configured to have processor-executable instructions to change the mobility characteristic of the mobile device by changing a speed of the mobile device to a target speed associated with the received indication of the permissible operating frequency.

13. The control system according to claim 8, wherein the processor is also configured to have processor-executable instructions such that the transmitted processing delay request indication includes a delay request vote requesting a minimum delay from the processing system.

14. A control system, comprising: A component for transmitting a processing delay requirement indication to an operating frequency controller of a mobile device processing system; A component for receiving an indication of an allowable operating frequency for the processing system in response to the transmitted processing delay requirement indication; and a component for changing a mobility characteristic of a mobile device based on the received indication of the allowable operating frequency.

15. The control system according to claim 14 also includes: A component for determining a change in the mobility characteristic of the mobile device that requires a change in a current processing delay of the operating frequency controller, wherein the transmitted processing delay requirement indicates a change in the determined mobility characteristic of the mobile device.

16. The control system according to claim 15 also includes: The component for receiving at least one of a target speed of a mobile device or a current speed of a remote object, wherein the component for determining a change in the mobility characteristic of the mobile device that requires a change in a current processing delay of the operating frequency controller includes: determining the change in the mobility characteristic of the mobile device based on the received target speed of the mobile device control system or the current speed of the remote object.

17. The control system according to claim 14, wherein the component for changing a movement characteristic of a mobile device based on the received indication of the permissible operating frequency includes: A component for changing a speed of the mobile device to a target speed associated with the received indication of the permissible operating frequency.

18. The control system according to claim 14, wherein the component for transmitting a processing delay requirement indication includes: A component for transmitting a processing delay requirement indication that includes a delay requirement vote from the processing system requesting a minimum delay.

19. A non-transitory processor-readable medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a processor of a control system to interact with a processing system by performing operations including: transmitting a processing delay requirement indication to an operating frequency controller of a mobile device processing system; receiving an indication for an allowable operating frequency for the processing system in response to the transmitted processing delay requirement indication; and changing a mobility characteristic of a mobile device based on the received indication for the allowable operating frequency.

20. A method performed by a processing system interacting with a control system of a mobile device, comprising the steps of: receiving an indication of a processing delay requirement from a mobile device control system; determining a target operating frequency to achieve the processing delay requirement; determining whether the target operating frequency exceeds an allowable operating frequency for the processing system; and transmitting an indication of the allowable operating frequency for the processing system to the mobile device control system.

21. The method according to claim 20 also includes the following steps: in response to determining that the target operating frequency does not exceed the permissible operating frequency, changing an operating frequency of the processing system to the target operating frequency; and in response to determining that the target operating frequency exceeds the permissible operating frequency, changing a current operating frequency of the processing system to a value lower than the target operating frequency.

22. The method according to request 20, wherein the received indication of the processing delay requirement is related to a target speed of the mobile device.

23. The method of claim 20, wherein the transmitted indication of the permissible operating frequency is configured to guide the mobile device control system to reduce a target moving speed of the mobile device.

24. The method of request 20, wherein the transmitted indication of the permissible operating frequency is configured to limit a maximum moving speed of the mobile device.

25. According to the method of request item 20, wherein: The received instruction regarding the processing delay requirement includes a delay requirement vote requesting a minimum delay from the processing system.

26. The method according to claim 20 also includes the following steps: determining the permissible operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the operating frequency budget is based on at least one of a thermal output limit, a power output limit, or a load output limit of the processing system.

27. A processing system for a mobile device configured to interact with a control system, comprising: One or more sensors; and a processor coupled to the one or more sensors and configured to have processor-executable instructions to perform the following operations: receiving an indication of a processing delay requirement from a mobile device control system, determining a target operating frequency to meet the processing delay requirement, determining whether the target operating frequency exceeds an allowable operating frequency for the processing system, and transmitting an indication of the allowable operating frequency for the processing system to the mobile device control system.

28. The processing system according to claim 27, wherein the processor is also configured to have processor-executable instructions to perform the following operations: in response to determining that the target operating frequency does not exceed the permissible operating frequency, changing an operating frequency of the processing system to the target operating frequency; and in response to determining that the target operating frequency exceeds the permissible operating frequency, changing a current operating frequency of the processing system to a value lower than the target operating frequency.

29. The processing system according to claim 27, wherein the processor is also configured to have processor-executable instructions to perform the following operation: determining the target operating frequency based on a target speed of the mobile device transmitted in the received processing delay request instruction.

30. The processing system according to claim 27, wherein the processor is also configured to have processor-executable instructions to perform the following operations: transmitting an indication of the permissible operating frequency, the indication of the permissible operating frequency being configured to guide the mobile device control system to reduce a target moving speed of the mobile device.

31. The processing system according to claim 27, wherein the processor is also configured to have processor-executable instructions to perform the following operations: transmitting an indication of the permissible operating frequency, the indication of the permissible operating frequency being configured to limit a maximum moving speed of the mobile device.

32. The processing system according to request item 27, wherein the processor is also configured to have processor-executable instructions to perform the following operation: determining the target operating frequency based on a delay requirement vote included in the received processing delay requirement indication, which requests a minimum delay from the processing system.

33. The processing system according to claim 27, wherein the processor is also configured to have processor-executable instructions to perform the following operations: determining the permissible operating frequency based on an operating frequency budget that limits the operation of the processing system, and wherein the determination of the target operating frequency is based on the determined permissible operating frequency.

34. A processing system, comprising: A component for receiving an indication of a processing delay requirement from a mobile device control system; A component for determining a target operating frequency to achieve the processing delay requirement; a component for determining whether the target operating frequency exceeds an allowable operating frequency for the processing system; and a component for transmitting an indication of the allowable operating frequency for the processing system to the mobile device control system.

35. The processing system according to request item 34 also includes: A component for changing an operating frequency of the processing system to the target operating frequency in response to determining that the target operating frequency does not exceed the permissible operating frequency; and a component for changing a current operating frequency of the processing system to a value lower than the target operating frequency in response to determining that the target operating frequency exceeds the permissible operating frequency.

36. The processing system according to claim 34, wherein the component for transmitting an indication of the permissible operating frequency includes: A component used to transmit an indication configured to limit a maximum moving speed of a mobile device.

37. The processing system according to claim 34, wherein the components for determining a target operating frequency to achieve the processing delay requirement include: A component for determining the target operating frequency based on a delay requirement vote included in the received processing delay requirement indication, which requests a minimum delay from the processing system.

38. The processing system according to request item 34 also includes: A component for determining the permissible operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the component for determining the target operating frequency uses the determined permissible operating frequency.

39. A non-transitory processor-readable medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a processor of a processing system to interact with a control system by performing operations including: receiving an indication of a processing delay requirement from a mobile device control system; determining a target operating frequency to achieve the processing delay requirement; determining whether the target operating frequency exceeds an allowable operating frequency for the processing system; and transmitting an indication of the allowable operating frequency for the processing system to the mobile device control system.

40. A method performed by a processing system interacting with a control system of a mobile device, comprising the steps of: receiving an indication of a speed of the mobile device; determining a target operating frequency of the processing system compatible with the indicated speed of the mobile device; and changing an operating frequency of the processing system to the target operating frequency.

41. The method according to claim 40 also includes the following steps: determining whether the target operating frequency exceeds an allowable operating frequency for the processing system, wherein the step of changing the operating frequency of the processing system to the target operating frequency includes the following steps: in response to determining that the target operating frequency does not exceed the allowable operating frequency for the processing system, changing the operating frequency of the processing system to the target operating frequency, and in response to determining that the target operating frequency exceeds the allowable operating frequency, changing a current operating frequency of the processing system to a value less than the target operating frequency.

42. The method according to claim 41 also includes the following steps: after changing the current operating frequency of the processing system to a value less than the target operating frequency, notifying the control system for the mobile device of a maximum speed for the mobile device or the value of the operating frequency of the processing system.

43. The method according to request 40, wherein the step of receiving an indication of a speed of the mobile device includes the following steps: receiving a processing delay value for the processing system.

44. The method according to claim 40 also includes the step of: providing the mobile device control system with an indication of the target operating frequency for the processing system.

45. The method according to request 40, wherein the step of receiving an indication of a speed of the mobile device includes the following steps: receiving a delay request vote from the processing system requesting a minimum delay.

46. ​​The method according to claim 40 also includes the following steps: determining an allowable operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the operating frequency budget is based on at least one of a thermal output limit, a power output limit, or a load output limit of the processing system.

47. According to the method of request item 40, wherein: The step of receiving an indication of a speed for the mobile device includes the following steps: receiving an indication of a required or requested speed for the mobile device; the step of determining a target operating frequency for the processing system compatible with the indicated speed of the mobile device includes the following steps: determining a target operating frequency of the processing system that supports the required or requested speed of the mobile device; and the method also includes the following steps: notifying the control system for the mobile device when the operating frequency of the processing system has been changed to the target operating frequency.

48. A control system for a mobile device configured to interact with a processing system, comprising: A processor is configured to: receive an indication of a speed of the mobile device; determine a target operating frequency for the processing system that is compatible with the indicated speed of the mobile device; and change an operating frequency of the processing system to the target operating frequency.

49. The control system according to request item 48, wherein: The processor is also configured to determine whether the target operating frequency exceeds an allowable operating frequency for the processing system; the processor is also configured to change the operating frequency of the processing system to the target operating frequency by: changing the operating frequency of the processing system to the target operating frequency in response to determining that the target operating frequency does not exceed the allowable operating frequency for the processing system, and changing a current operating frequency of the processing system to a value less than the target operating frequency in response to determining that the target operating frequency exceeds the allowable operating frequency.

50. The control system according to claim 49, wherein the processor is also configured to: after changing the current operating frequency of the processing system to a value less than the target operating frequency, notify the control system for the mobile device of a maximum speed for the mobile device or the value of the operating frequency of the processing system.

51. The control system according to claim 48, wherein the processor is also configured to receive an indication of a speed of the mobile device by receiving a processing delay value for the processing system.

52. The control system according to request 48, wherein the processor is also configured to: provide the mobile device control system with an indication of the target operating frequency for the processing system.

53. The control system according to request 48, wherein the processor is also configured to receive an indication of a speed of the mobile device by receiving a delay request vote from the processing system requesting a minimum delay.

54. The control system according to claim 48, wherein the processor is also configured to: determine an allowable operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the operating frequency budget is based on at least one of a thermal output limit, a power output limit, or a load output limit of the processing system.

55. The control system according to claim 48, wherein the processor is also configured to: receive an indication of a speed of the mobile device by: receiving an indication of a required or requested speed of the mobile device; determine a target operating frequency of the processing system compatible with the indicated speed of the mobile device by: determining a target operating frequency of the processing system that will support the required or requested speed of the mobile device; and notify the control system for the mobile device when the operating frequency of the processing system has been changed to the target operating frequency.

56. A control system, comprising: A component for receiving an indication of a speed of a mobile device; A component for determining a target operating frequency for a processing system that is compatible with the speed of the indicated mobile device; and a component for changing an operating frequency of the processing system to the target operating frequency.

57. The control system according to claim 56 also includes: The component for determining whether the target operating frequency exceeds an allowable operating frequency for the processing system, wherein the component for changing the operating frequency of the processing system to the target operating frequency includes: a component for changing the operating frequency of the processing system to the target operating frequency in response to determining that the target operating frequency does not exceed the allowable operating frequency for the processing system; and a component for changing a current operating frequency of the processing system to a value less than the target operating frequency in response to determining that the target operating frequency exceeds the allowable operating frequency.

58. The control system according to claim 57 also includes: A component for notifying the control system of the mobile device of a maximum speed for the mobile device or the value of the operating frequency of the processing system after the current operating frequency of the processing system is changed to a value less than the target operating frequency.

59. The control system according to claim 56, wherein the component for receiving an indication of a speed of the mobile device includes a component for receiving a processing delay value for the processing system.

60. The control system according to claim 56 also includes: A component for providing the mobile device control system with an indication of the target operating frequency for the processing system.

61. The control system according to claim 56, wherein the component for receiving an indication of a speed of the mobile device includes a component for receiving a delay request vote from the processing system requesting a minimum delay.

62. The control system according to claim 56 also includes: A component for determining an allowable operating frequency based on an operating frequency budget that limits the operation of the processing system, wherein the operating frequency budget is based on at least one of a thermal output limit, a power output limit, or a load output limit of the processing system.

63. The control system according to request item 56, wherein: The component for receiving an indication of a speed of the mobile device includes: a component for receiving an indication of a required or requested speed of the mobile device; the component for determining a target operating frequency of the processing system compatible with the indicated speed of the mobile device includes: a component for determining a target operating frequency of the processing system that will support the required or requested speed of the mobile device; the control system also includes: a component for notifying the control system for the mobile device when the operating frequency of the processing system has been changed to the target operating frequency.

64. A non-transitory processor-readable medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a processor of a control system to interact with a processing system of a mobile device by performing operations including: receiving an indication of a speed of the mobile device; determining a target operating frequency of the processing system compatible with the indicated speed of the mobile device; and changing an operating frequency of the processing system to the target operating frequency.

Citation Information

Patent Citations

  • Autonomous mobile robot

    JP2020166422A

  • Adaptive execution frequency control method for enhanced instruction throughput

    TW200919306A

  • Data transmission method and device

    TW201636862A

  • UE aided fast carrier selection

    US20210007080A1