Satellite pointing user interface
By displaying a satellite pointing user interface on a mobile computing device and providing real-time alignment instructions, the problems of long alignment time and high power consumption between mobile devices and satellites are solved, achieving efficient and energy-saving satellite communication connections.
Patent Information
- Application Number
- CN202480085969.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-26
- Filing Date
- 2024-02-16
- Publication Date
- 2026-08-25
AI Technical Summary
In existing technologies, mobile computing devices need to manually adjust pitch, roll, and yaw when aligned with satellites, resulting in long connection times, high power consumption, and a poor user experience.
By displaying a satellite pointing user interface on a mobile computing device, providing vertical and horizontal alignment instructions, it helps users adjust their devices to align with the satellite and updates the alignment instructions in real time based on changes in signal strength, reducing connection time and power consumption.
It improves the efficiency and success rate of satellite communication connections, reduces power consumption, and enhances the user experience.
Smart Images

Figure CN122641983A_ABST
Abstract
Description
[0001] This application is a PCT application having provisional priority to U.S. Provisional Patent Application No. 63 / 625,836, filed January 26, 2024, the entire contents of which are incorporated herein by reference. Background Technology
[0002] Computing devices such as so-called smartphones and tablets may include one or more various wireless radios, transceivers, and antennas for establishing wireless communication with a separate communication network, including telephone networks, Internet Protocol (IP)-based networks (such as the public Internet), private networks, and satellite communication networks, through which data is received and transmitted. The various transceivers and antennas may be configured as built-in modules integrated into the computing device, or optionally as externally configured components connected to the computing device via, for example, an externally oriented data communication bus built into the computing device and configured to communicate with external peripheral devices. Summary of the Invention
[0003] Generally, this disclosure relates to a mobile computing device that includes satellite communication capabilities and provides a directional user interface for aligning the mobile computing device with one or more satellites. When aligning one or more antennas of the mobile computing device with at least one satellite, a user may need to adjust the pitch, roll, and / or yaw of the mobile computing device. To assist in aligning the mobile computing device with one or more satellites, the mobile computing device may display a directional user interface indicating how the user needs to move the mobile computing device in three-dimensional space. As the mobile computing device is moved, the mobile computing device may update the user interface based on the movement, indicating whether further movement is needed to align the mobile computing device with one or more satellites. In some examples, when the mobile computing device is aligned with one or more satellites, the mobile computing device may change the graphical user interface to indicate how to move the mobile computing device to maintain alignment for a period of time. In this way, the technology of this disclosure can reduce the amount of time required to align a mobile computing device with one or more satellites and establish a connection to a satellite communication network, which can reduce the electrical power required to establish the connection.
[0004] In some examples, the computing device is configured to implement a satellite pointing user interface (UI). For instance, the processing circuitry may output the satellite pointing user interface for display via one or more processors of the computing device. This user interface instructs how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical and horizontal alignment instructions. In some examples, the processing circuitry updates the satellite pointing user interface based on changes in satellite signal strength detected by the computing device as it moves in both the horizontal and vertical directions, instructing how to further move the computing device to change the horizontal and vertical alignment of one or more antennas with one or more satellites. In response to determining that the satellite signal strength meets a threshold for both horizontal and vertical alignment, the processing circuitry of the computing device can establish a satellite communication connection using one or more satellites. In some examples, the processing circuitry of the computing device uses the satellite communication connection to transmit data.
[0005] In another example, the computing device includes a processing circuitry system, one or more antennas, a cellular radio, a display, and a non-transitory computer-readable medium storing instructions. For example, the instructions, when executed by the processing circuitry system, can configure the processing circuitry system to perform operations. In some examples, the instructions configure the processing circuitry system to output a satellite pointing user interface to the display to instruct how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions. In such an example, the instructions can configure the processing circuitry system to update the satellite pointing user interface based on changes in satellite signal strength detected by the computing device as it moves in both the horizontal and vertical directions, to instruct how to further move the computing device to change the horizontal and vertical alignment of one or more antennas with one or more satellites. In response to determining that the satellite signal strength meets a threshold satellite signal strength for both horizontal and vertical alignment, the instructions can configure the processing circuitry system to establish a satellite communication connection using one or more satellites. In some examples, the instructions configure the processing circuitry system to transmit data via the cellular radio using the satellite communication connection.
[0006] In at least one example, the computer-readable storage medium includes instructions that, when executed, configure the processing circuitry system to perform operations. For example, the instructions, when executed by the processing circuitry system, may configure the processing circuitry system to perform operations. In some examples, the instructions configure the processing circuitry system to output a satellite pointing user interface to a display to instruct how to move a computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions. In such examples, the instructions may configure the processing circuitry system to update the satellite pointing user interface based on changes in satellite signal strength detected by the computing device as it moves in both the horizontal and vertical directions, to instruct how to further move the computing device to change the horizontal and vertical alignment of one or more antennas with one or more satellites. In response to determining that the satellite signal strength meets a threshold satellite signal strength for both horizontal and vertical alignment, the instructions may configure the processing circuitry system to establish a satellite communication connection using one or more satellites. In some examples, the instructions configure the processing circuitry system to transmit data using the satellite communication connection.
[0007] Details of one or more examples of this disclosure are set forth in the accompanying drawings and the description below. Other features, objectives, and advantages will be apparent from the specification, drawings, and claims. Attached Figure Description
[0008] Figure 1 Example computing systems configured to use terrestrial and satellite-based cellular communication systems are illustrated according to one or more technologies of this disclosure.
[0009] Figures 2A to 2G An example computing system according to the technology of this disclosure is illustrated, which facilitates the connection of computing devices to satellites using a satellite-pointing user interface.
[0010] Figures 3A to 3D This is a conceptual diagram of an example computing system configured to achieve cost-effective automatic satellite retrieval based on the technology disclosed herein.
[0011] Figures 4A to 4D An example computing system is illustrated, which is configured to enable a computing device to switch between a terrestrial cellular communication system and a satellite-based cellular communication system according to one or more technologies of this disclosure.
[0012] Figure 5 This is a block diagram illustrating further details of an example of a computing device according to the technology of this disclosure.
[0013] Figure 6 This is a flowchart illustrating an example operating mode of a computing device implementing a satellite-pointing user interface according to the technology of this disclosure.
[0014] Figure 7 This is a flowchart illustrating an example operating mode of a computing device according to the technology of this disclosure to achieve economical automatic satellite retrieval.
[0015] Figure 8 This is a flowchart illustrating an example operating mode of a computing device according to the present disclosure performing cellular network scanning when connected to a satellite communication network.
[0016] Throughout the text and accompanying drawings, the same reference numerals denote the same elements. Detailed Implementation
[0017] Figure 1 Example computing devices configured to use terrestrial-based and satellite-based cellular communication systems are illustrated according to one or more technologies of this disclosure. Figure 1 In some examples, computing device 105 is configured to communicate using both a satellite-based cellular communication system (such as satellite communication network 183) and a terrestrial cellular communication system (such as cellular communication network 196). In some examples, satellite communication network 183 includes one or more satellites 195 facilitating cellular communication of computing device 105. In some examples, cellular communication network 196 includes one or more terrestrial cellular communication towers to facilitate cellular communication of computing device 105. Figure 1 In some examples, computing device 105 may communicate via cellular and satellite communication networks 183 and / or cellular communication networks 196. In some examples, the processing circuitry 199 of computing device 105 performs or is configured to perform operations on behalf of computing device 105.
[0018] The computing device 105 is sometimes referred to herein as a “mobile computing device,” “mobile device,” “mobile user device,” or “user device.” Examples of the computing device 105 may include, but are not limited to, mobile phones (including so-called “smartphones”), foldable computing devices, tablet computing devices, smartwatches, laptop computers, ambient computing devices (including so-called “smart displays”), etc.
[0019] exist Figure 1 In the example, computing device 105 includes a cellular communication module 115 having a cellular radio 116 via which it communicates with satellite communication network 183 and / or cellular communication network 196 using cellular communication. Cellular radio 116 is sometimes referred to as a cellular transceiver or cellular transmitter / receiver. Figure 1In some examples, computing device 105 includes one or more wireless communication modules, such as satellite communication module 110 and cellular communication module 115. In some examples, satellite communication module 110 can directly access cellular radio 116 via the communication bus of computing device 105. For example, satellite communication module 110 can indirectly access cellular radio 116 via the operating system of computing device 105 for cellular communication via satellite. In other examples, satellite communication module 110 indirectly accesses cellular radio 116 via cellular communication module 115 of computing device 105 for satellite communication. Computing device 105 can perform a satellite scan 187 to determine if any satellite communication network 183 is available for cellular communication. In such examples, computing device 105 can additionally or alternatively perform a cellular network scan 185 to determine if any satellite communication network 183 is available for cellular communication.
[0020] exist Figure 1 In one example, computing device 105 includes a satellite-pointing user interface (UI) 150 to facilitate connection of computing device 105 to a satellite communication network 183 using satellite-based cellular communications. In such an example, the satellite-pointing user interface 150 can output instructions 151 to a display instructing how to move and / or reorient computing device 105 to align one or more antennas 112 of computing device 105 with satellite 195.
[0021] When computing device 105 leaves the coverage area of a terrestrial cellular network, it will lose connection with cellular communication network 196. Even outside the terrestrial cellular network coverage area, computing device 105 can remain within the communication range of satellite communication network 183, which uses cellular communication. Computing device 105 can connect to satellite communication network 183, providing connectivity for sending and receiving messages, accessing the public internet, etc. When computing device 105 encounters difficulties automatically connecting to satellite communication network 183, it can be configured to automatically output a satellite pointing user interface 150 for display. In such an example, the satellite pointing user interface 150 helps the user of the computing device better align the computing device's antenna 112 with the satellites of satellite communication network 183, enabling computing device 105 to successfully connect to satellite 195 to establish a satellite communication session 180.
[0022] According to a specific example, the processing circuitry 199 of computing device 105 implements a satellite-pointing user interface 150. In such an example, the processing circuitry 199 can output the satellite-pointing user interface 150 for display, which instructs how to move computing device 105 to align one or more antennas 112 of computing device 105 with one or more satellites 195. For example, the satellite-pointing user interface 150 can instruct the user to pivot computing device 105 to the left and right, or tilt computing device 105 forward and backward, reposition computing device 105 away from an obstacle obstructing the line of sight between computing device 105 and satellite 195, or some combination of movements. In this way, even in the presence of weak signal between computing device 105 and satellite 195, the satellite-pointing user interface 150 can facilitate the establishment of a satellite communication session 180 between satellite 195 and computing device 105.
[0023] In at least one example, the processing circuitry 199 updates the satellite pointing user interface 150 based on changes in satellite signal strength detected as the computing device 105 is moved. This updates the interface to instruct how to further move the computing device 105 to alter the horizontal and vertical alignment of one or more antennas 112 with one or more satellites 195. In other words, as the user moves the computing device 105 relative to the satellites 195, one or more antennas 112 of the computing device 105 will be reoriented relative to the satellites 195, which may increase or decrease the satellite signal strength between the satellites 195 and the computing device. The satellite pointing user interface 150 can therefore iteratively update instructions 151 regarding the orientation of the antennas 112 relative to the satellites 195 to point, move, and / or reorient the computing device 105. For example, when the computing device 105 is pivoted to the left to reduce satellite signal strength, the satellite pointing user interface 150 can responsively update instructions 151, instructing the user to pivot the computing device to the right to attempt to sufficiently increase the satellite signal strength.
[0024] In some examples, the satellite-pointing user interface 150 can be updated iteratively in a loop until the satellite signal strength increases sufficiently to meet a threshold. For example, when the satellite connection threshold is met, the computing device 105 can attempt to establish a satellite communication session 180 with satellite 195. For example, the processing circuitry system 199 can responsively use one or more satellites to establish a satellite communication connection 180. Once the computing device 105 has successfully established a satellite communication connection 180, the computing device can responsively utilize the satellite communication connection 180 to send and receive messages and / or exchange information. For example, the processing circuitry system 199 can use the satellite communication connection 180 to send data.
[0025] Computing device 105 can exchange messages with one or more other devices via satellite communication session 180. Instead of constantly checking to determine if a message is queued and waiting to be received by computing device 105 (which could be resource-intensive), computing device 105 implements a more efficient, automated satellite pull to utilize the satellite connection more effectively. For example, consider computing device 105 maintaining a continuous connection to satellite communication network 183. Such a continuous connection could incur unnecessary network usage costs for the user. For example, users of computing device 105 might be charged additional "roaming" fees for connecting to satellite communication network 183, keeping satellite communication connection 180 active, and / or using satellite communication session 180 to send and receive information. Additionally, sending and receiving data, even small amounts of data sent and received to maintain satellite communication connection 180 active, can consume energy and deplete the battery reserves of computing device 105. The computing device 105 can be configured to achieve efficient automatic satellite retrieval, including automatically disconnecting the computing device 105 from the satellite communication network 183 after periods of inactivity, and evaluating whether to automatically reconnect the computing device 105 to the satellite communication network 183 to check for enqueued messages.
[0026] In some examples, computing device 105 may use satellite communication network 183 to receive, retrieve, send, and / or transmit one or more messages 166 using efficient and cost-effective satellite auto-retrieval. Figure 1 In the example, computing device 105 includes an automatic pull manager 170 to facilitate the periodic automatic exchange of messages 166 using satellite communication network 183. For example, the automatic pull manager 170 may disconnect computing device 105 from satellite communication network 183 after periods of inactivity to reduce resource consumption of computing device 105. When disconnected from satellite communication network 183, satellite communication activity monitor 153 of computing device 105 may monitor various reconnection criteria on behalf of computing device 105. For example, reconnection criteria may be used by the automatic pull manager 170 to determine whether to reconnect to satellite communication network 183 to send or receive messages 166. For example, consider computing device 105 sending a message for which a response is expected. Disconnecting computing device 105 from satellite communication network 183 and reconnecting later to check for expected messages is more efficient than maintaining a connection to satellite communication network 183 until a message is received. Maintaining a connection may consume bandwidth, power resources, and may incur costs for the user of computing device 105, but this can be reduced or eliminated by using satellite communication network 183 more efficiently. The automatic pull manager 170 can facilitate the automatic evaluation of various reconnection conditions to determine whether the computing device 105 should reconnect to the satellite communication network 183 to check for expected incoming messages.
[0027] In some examples, the processing circuitry 199 of computing device 105 uses satellite communication network 183 to perform cost-effective automatic satellite pulls. For example, the automatic pull manager 170 may attempt to reduce the time spent connected to satellite communication network 183 to reduce resource consumption. Similarly, the automatic pull manager 170 may attempt to reduce reconnection or reconnection attempts to reduce resource consumption. In some examples, the processing circuitry 199 determines that computing device 105 is connected to satellite communication network 183, and disconnects computing device 105 from satellite communication network 183 after an inactive period has passed. In this way, the automatic pull manager 170 can avoid interrupting the established satellite communication session 180 that is being actively used by computing device 105, as accidental disconnection could result in a poor user experience.
[0028] In some examples, the processing circuitry 199 periodically determines whether to reconnect the computing device 105 to the satellite communication network 183 based on one or more reconnection conditions provided by the satellite communication activity monitor 153. For example, assuming the computing device 105 has automatically disconnected to reduce resource consumption, the automatic pull manager 170 can evaluate various reasons or criteria that meet the basis for reconnecting the computing device 105 to the satellite communication network 183. In some examples, reconnection conditions include determined changes in the elapsed time since disconnection, the signal-to-noise ratio, and / or the geographical location of the computing device 105. For example, various criteria for reconnection can be considered. The elapsed time since disconnection can establish the basis for reconnecting the computing device 105 to the satellite communication network 183. Some combination of factors can be considered. For example, considering that the computing device 105 has moved outside the satellite coverage area, this can be determined based on satellite signal strength information at the computing device and / or based on GPS information compared with a coverage map. The automatic pull manager 170 can evaluate the reconnection conditions and determine whether to attempt a reconnection or not. Even if a condition is met, such as sufficient elapsed time since disconnection, the automatic pull manager 170 can still determine not to attempt a reconnection based on, for example, calculations that the device has moved outside the active coverage area of the satellite communication network 183. When the computing device 105 is outside the connection range, a reconnection attempt based on elapsed time might waste resources, and therefore the automatic pull manager 170 can determine not to attempt a reconnection. Similarly, the automatic pull manager 170 can determine that there is a basis for reconnection, even though not all reconnection conditions are met. For example, consider the computing device 105 attempting to send an email when disconnected. Even if the elapsed time is not met, the automatic pull manager 170 can determine that the existence of queued messages awaiting transmission is a satisfactory basis for reconnecting the computing device 105 to the satellite communication network 183.
[0029] In some examples, the automatic pull manager 170 reconnects the computing device 105 to the satellite communication network 183 based on reconnection conditions. Upon reconnection, the computing device 105 can send and receive messages and check queued messages. For example, the computing device 105 can download emails from a mobile operator and receive queued text messages. The computing device 105 may disconnect from the satellite communication network 183 after exchanging data via satellite 195, or it may maintain the connection until an inactivity period has occurred. In some examples, the processing circuitry system 199 uses the satellite communication network 183 to retrieve one or more messages 166 queued for the computing device 105.
[0030] When computing device 105 is connected to satellite communication network 183, one or more alternative communication networks, such as cellular communication network 196 and / or Wi-Fi network, may come into access range. While computing device 105 remains connected to satellite communication network 183, it may incur usage costs, consume battery reserves at a faster rate than with alternative communication networks, and experience higher network latency and reduced overall bandwidth. Instead of maintaining the connection between computing device 105 and satellite communication network 183 when other alternative communication networks are within communication range, computing device 105 can switch to another communication network. For example, in response to computing device 105 determining that cellular communication network 196 (e.g., a terrestrial cellular network) is within communication range, computing device 105 can be configured to automatically disconnect from satellite communication network 183 and reconnect to cellular communication network 196. Connecting to cellular communication network 196 can reduce battery consumption, reduce usage costs, and improve network latency and bandwidth conditions for computing device 105. In some examples, computing device 105 switches from an established satellite communication session 180 using satellite communication network 183 to a new cellular communication session 186 using cellular communication network 196.
[0031] Computing device 105 can be configured to affirmatively perform a cellular network scan 185 while connected to satellite communication network 183, thereby searching for cellular communication networks 196 and / or Wi-Fi networks within range of computing device 105 to attempt to switch computing device 105 from satellite communication to cellular or Wi-Fi-based communication. In other words, computing device 105 does not need to disconnect from satellite communication network 183 to perform cellular network scan 185. In some examples, computing device 105 uses cellular radio 116 to scan for cellular communication network 196 or other non-satellite connected networks while computing device 105 remains connected to satellite communication network 183. In some examples, processing circuitry 199 of computing device 105 initiates cellular network scan 185 when evaluating whether to reconnect to satellite communication network 483. In some examples, network scan 185 searches for any accessible cellular communication network 196. In some examples, network scan 185 includes determining whether at least one cellular communication network 196 is accessible via cellular radio 116 of computing device 105. The computing device 105 can scan other networks, such as accessible Wi-Fi networks.
[0032] When a communication network other than satellite communication network 183 is determined to be accessible to computing device 105, computing device 105 can automatically switch from satellite communication network 183 to the other network. Computing device 105 can be configured to prompt for approval before terminating the connection with satellite communication network 183, or alternatively, can be configured to automatically terminate the connection with satellite communication network 183 and reconnect to that cellular communication network when cellular communication network 196 is determined to be available. In some examples, in response to determining that at least one cellular communication network 196 is accessible, processing circuitry 199 initiates a new cellular communication session 186 with the at least one cellular communication network 196 determined to be accessible. In other examples, in response to determining that at least one Wi-Fi network is accessible, processing circuitry 199 initiates a new Wi-Fi network session with the at least one Wi-Fi network determined to be accessible.
[0033] Figure 2A This is a conceptual diagram of a computing system according to the technology disclosed herein, which includes a satellite-pointing user interface (UI) 250 to assist in connecting a computing device 205 to a satellite 295. Figure 2A In one example, the computing device 205 includes a display 206 interface on which the satellite pointing UI 250 can be output to or otherwise displayed to the user. In some examples, the display 206 may be a touchscreen display, a touch-sensitive display, or a non-touchscreen display on which the satellite pointing UI 250 is output.
[0034] The computing device 205 may be configured with a satellite-pointing user interface 250 to assist in the alignment of the computing device 205 with one or more satellites 295. The computing device 205 may be configured to use cellular radio (e.g., see...). Figure 1 Element 116) communicates with satellite 295. For example, computing device 205 can use a cellular radio communicatively interfacing with satellite communication module 210 of computing device 205 to communicate with satellite 295 using a cellular communication protocol. In such an example, a satellite connection may be available, but the satellite signal strength with satellite 295 can be improved relative to the redirecting antenna 212 of satellite 295, or the computing device 205 can be enabled to establish a satellite communication session 281 with satellite 295. Therefore, computing device 205 can be configured to output satellite pointing UI 250 for display 206 to computing device 205 to facilitate the establishment of satellite communication session 281 and the exchange of data 294 with satellite 295.
[0035] For example, consider a computing device 205 operating within range of satellite 295, but with a weak satellite signal. Outputting a satellite pointing UI 250 to the computing device 205 instructing how to reorient the computing device 205 to better align its antenna 212 relative to satellite 295 can help establish a satellite communication session 281. According to at least one example, one or more processors 211 of the computing device 205 can output the satellite pointing UI 250 for display. For example, the satellite pointing UI 250 can be rendered by the computing device 205 and output to the display 206 of the computing device 205. In some examples, the satellite pointing UI 250 provides instructions 251 that instruct how to move the computing device 205 to align one or more antennas 212 of the computing device 205 with one or more satellites 295 by including at least vertical alignment instructions and horizontal alignment instructions. For example, instructions 251 can instruct a user to turn the computing device left or right, or to pivot the computing device forward or backward. In an alternative example, instruction 251 may instruct the user to rotate the computing device 205 to the left or right, rather than rotating it to the left or right. In yet another example, instruction 251 may instruct the user to raise or lower the computing device 205, rather than tilting the computing device 205 forward or backward.
[0036] Computing device 205 can be configured to iteratively and repeatedly update instructions 251 instructing how to reposition computing device 205. In other words, the satellite pointing UI 250 can be updated in real-time or near real-time to modify the provided instructions 251 based on how the physical movement of computing device 205 affects the alignment of antenna 212 with satellite 295. This alignment can be determined based on, for example, changes in satellite signal strength. According to one example, computing device 205 updates the satellite pointing UI 250 as computing device 205 moves based on changes in satellite signal strength detected by computing device 205. In some examples, computing device 205 updates the satellite pointing UI 250 as computing device 205 moves in a vertical, horizontal, or both vertical and horizontal direction. In some examples, computing device 205 updates the satellite pointing UI 250 to indicate how to further move computing device 205 to change the horizontal and / or vertical alignment of one or more antennas 212 with one or more satellites 295. For example, computing device 205 can update satellite pointing UI 250 by outputting command 251 to satellite pointing UI 250 to instruct how to move computing device 205 to improve the horizontal alignment of antenna 212 with satellite 295. In some examples, computing device 205 can update satellite pointing UI 250 by outputting command 251 to satellite pointing UI 250 to instruct how to move computing device 205 to improve the vertical alignment of antenna 212 with satellite 295. In other examples, satellite pointing UI 250 is updated to provide command 251 for concurrently improving both the vertical and horizontal alignment of antenna 212 of computing device 205 based on satellite signal strength and / or signal-to-noise ratio (SNR) measured at computing device 205.
[0037] The computing device 205 can be configured to output an indication of satellite signal strength for display, such as a dial, graph, or moving chart, depicting how the satellite signal strength changes over time as the computing device 205 is reoriented relative to the satellite 295. In some examples, the computing device 205 outputs the satellite signal strength and / or signal-to-noise ratio to a satellite signal strength indicator (SSI) 252. For example, the computing device 205 can generate and output the satellite signal strength indicator 252 for display. In some examples, the computing device 205 uses the satellite signal strength indicator 252 to update the satellite pointing UI 250 to indicate changes in satellite signal strength.
[0038] Computing device 205 can be configured to automatically connect to satellite 295 when the satellite signal strength is sufficiently strong. For example, in response to determining that the satellite signal strength meets a threshold for both horizontal and vertical alignment, computing device 205 can automatically establish a satellite communication session 281 using one or more satellites 295. In some examples, computing device 205 uses satellite communication session 281 to send data 294 after connecting to satellite 295. For example, computing device 205 can send data 294 via satellite to emergency services, to different computing devices, or to cloud computing services accessible via the public internet.
[0039] In some examples, computing device 205 may perform operations using a processing circuitry system. For example, one or more processors 211 of computing device 205 may provide at least a portion of the processing circuitry system to perform operations of computing device 205. In some examples, one or more processors 211 of computing device 205 may interact directly or indirectly with satellite communication module 210, antenna 212, and / or satellite signal strength indicator 252 to output instructions 251 to display 206, instructing how to move computing device 205 to improve satellite signal strength.
[0040] Figure 2B This is a conceptual diagram illustrating a computing system according to the technology of this disclosure, configured with a satellite-pointing user interface (UI) 250 to facilitate connection of computing device 205 to satellite 295. Computing device 205 may be configured with a dedicated user interface for outputting satellite signal strength information. For example, computing device 205 as depicted herein further includes a satellite signal strength user interface (satellite signal strength UI) 255. In some examples, satellite signal strength UI 255 displays a satellite signal strength indicator (SSI) 260. In other examples, satellite signal strength indicator 260 is output by computing device 205 as a separate user interface component. For example, satellite signal strength UI 255 may be output together with, above, below, or overlapping other UIs output to computing device 205. Satellite signal strength UI 255 may be output as a sub-element of satellite-pointing UI 250, or alternatively, may be output as a separate component for display to computing device 205.
[0041] In some examples, the satellite signal strength UI 255 includes a graphical representation of the satellite signal strength and / or signal-to-noise ratio 256 measured at the computing device 205. The satellite signal strength UI 255 may include digital readings of the satellite signal strength and / or signal-to-noise ratio 256 measured at the computing device 205. For example, the satellite signal strength UI 255 may output and update a series of numbers or percentages representing the satellite signal strength and / or signal-to-noise ratio 256 measured at the computing device 205. In some examples, the satellite signal strength and / or signal-to-noise ratio 256 is determined by the satellite signal strength UI 255 based on signals received from sensors at the computing device 205. In some examples, the satellite signal strength and / or signal-to-noise ratio 256 is determined by the satellite communication module 210 and transmitted to the satellite signal strength indicator 260 for output and display by the computing device 205. In some examples, computing device 205 includes a processing circuitry system comprising one or more processors 211 configured to measure, acquire, and / or determine satellite signal strength and / or signal-to-noise ratio 256 at computing device 205.
[0042] The satellite signal strength UI 255 can provide output to the satellite pointing UI 250 for updating instructions 251. For example, the satellite signal strength UI 255 can output to the satellite pointing UI 250 whether the satellite signal strength and / or signal-to-noise ratio 256 is increasing, decreasing, or remaining constant. In some examples, the processing circuitry of the computing device 205 uses the satellite signal strength and / or signal-to-noise ratio 256 to update the satellite signal strength UI 255 and output updated instructions 251, which instruct how to move the computing device 205 to align the antenna 212 with the satellite 295.
[0043] When the computing device 205 outputs satellite pointing UI 250 to the display 206, it can evaluate whether to automatically connect the computing device 205 to the satellite 295 based on whether the satellite signal strength and / or signal-to-noise ratio 256 at the computing device 205 meets a threshold. In some examples, when the satellite signal strength and / or signal-to-noise ratio 256 at the computing device 205 fails to meet the threshold, the processing circuitry can update the satellite pointing UI 250 based on changes in the satellite signal strength 256 detected by the computing device 205 as it moves in both the horizontal and vertical directions. This updates the UI to indicate how to further move the computing device 205 to change the horizontal and vertical alignment of one or more antennas 212 with one or more satellites 295. In response to determining that the satellite signal strength 256 meets the threshold for both horizontal and vertical alignment, the processing circuitry of the computing device 205 can automatically establish a satellite communication session 281 using one or more satellites 295. In response to the connection with satellite 295, the processing circuitry of computing device 205 can use satellite communication session 281 to send enqueued data 294 and / or use satellite communication session 281 to receive data.
[0044] When connected to satellite communication session 281, computing device 205 may determine that the satellite signal strength and / or signal-to-noise ratio 256 at computing device 205 no longer meets a threshold level. Computing device 205 may disconnect from satellite 295, or may responsively output a satellite pointing UI 250 for display, the satellite pointing UI carrying instructions 251 to move computing device 205 to improve connectivity. According to at least one example, when computing device 205 is connected to one or more satellites 295 via satellite communication session 281, processing circuitry may determine that the satellite signal strength 256 no longer meets a threshold satellite signal strength. In response to determining that the satellite signal strength 256 no longer meets the threshold satellite signal strength, processing circuitry of computing device 205 may output an updated satellite pointing UI 250 for display, the updated satellite pointing UI indicating how to move computing device 205 to realign one or more antennas 212 of computing device 205 with one or more satellites 295. In this way, the user of computing device 205 can be guided to use the updated satellite pointing user interface 250 to re-establish or improve the satellite connection to meet the threshold.
[0045] The satellite pointing user interface 250 can assist a user in aligning the computing device 205 with a target satellite. For example, the satellite pointing user interface 250 can determine which of a plurality of satellites 295 is preferred based on connectivity, and instruct the user via the satellite pointing user interface 250 on how to align the computing device 205 with the target. For example, the satellite pointing user interface 250 can instruct how to move the computing device 205 to align one or more antennas 212 of the computing device 205 with one or more satellites 295 by including at least instructions 251 for aligning the orientation of the computing device 205 with a target satellite from one or more satellites 295.
[0046] exist Figure 2B In one example, the satellite pointing user interface 250 can instruct how to move the computing device 205 to align one or more antennas 212 of the computing device 205 with one or more satellites 295 by including at least vertical alignment instructions and horizontal alignment instructions 251 corresponding to vertical synchronization 261 and horizontal synchronization 262, respectively. In some examples, the processing circuitry updates the satellite pointing user interface 250 based on vertical synchronization 261 and horizontal synchronization 262 to instruct how to further move the computing device 205 to change the horizontal and vertical alignment. For example, based on a change in the orientation of one or more antennas 212 of the computing device 205 relative to one or more satellites 295, the satellite pointing user interface 250 can output updated information indicating how the computing device 205 is affected by changes in satellite signal strength as the computing device 205 is moved.
[0047] Figure 2C This is a conceptual diagram illustrating a computing system according to the technology of this disclosure, configured with a satellite-pointing user interface 250 to facilitate connection of computing device 205 to satellite 295. For example, computing device 205 can generate variations of the satellite-pointing user interface 250 as output. Some variations of the satellite-pointing user interface 250 may be less complex and more intuitive for the user of computing device 205, while others may be more complex, but provide improved tools, data, and nuances for establishing satellite connectivity even under challenging conditions. Other variations of the satellite-pointing user interface 250 may be more aesthetically pleasing to some users subjectively. Computing device 205 may be user-configurable, allowing different variations of the satellite-pointing user interface 250 to be selected, downloaded, or activated based on user preferences.
[0048] In at least one example, the satellite pointing user interface 250 includes instructions 251 for aligning the computing device 205 with target markers and / or target shape 270. The computing device 205 may display a compass-like dial with target markers 270 and repositionable shape 271; however, other shapes and markers are also permitted. The satellite pointing user interface 250 may include the repositionable shape 271 within the satellite pointing user interface 250, such that movement of the computing device 205 will be registered to the repositionable shape 271 within the satellite pointing user interface 250 in a corresponding change. In some examples, the repositionable shape 271 indicates horizontal synchronization of the computing device 205 with the target satellite 295. In some examples, the satellite pointing user interface 250 includes an animation 280A illustrating how to move the computing device 205 left or right by rotating it. In some examples, the satellite pointing user interface 250 includes an animation 280B illustrating how to move the computing device 205 forward or backward by tilting it. For example, the arrows depicted herein as animations 280A and 280B can increase or decrease in length, increase or decrease in size, and / or change color to indicate to the user whether the computing device 205 is moving closer to or further away from the horizontal and vertical alignment orientations. Other animations are also permitted, such as changes in the frequency or rate of movement of animations 280A and 280B, haptic feedback concurrent with animations 280A and 280B, and / or changes in light intensity occurring simultaneously with changes in animations 280A and 280B.
[0049] In some examples, the satellite pointing user interface 250 indicates how to move the computing device 205 to align one or more antennas 212 of the computing device 205 with one or more satellites 295 by including at least a target shape 270 in a fixed position, the target shape representing a target satellite 289 from the one or more satellites 295. In some examples, the processing circuitry determines the relative change in the position and orientation of the computing device 205. In some examples, the processing circuitry outputs an updated satellite pointing user interface 250 that includes a repositionable shape 271 representing a relative change in the position and orientation of the computing device 205 relative to the target shape 270, indicating a closer or farther position. In some examples, the processing circuitry again updates the satellite pointing user interface 250 to include the repositionable shape 271 relative to the target shape 270, based on the change in the position or orientation of the computing device 205 relative to the target satellite 289.
[0050] The computing device 205 can display changes in satellite signal strength concurrently with animations 280A and 280B to provide additional information. For example, the satellite pointing user interface 250 may include a satellite signal strength indicator 275. In some examples, the processing circuitry iteratively updates the satellite pointing user interface 250 to include changes in the satellite signal strength indicator 275 based on changes in the position or orientation of the computing device 205 relative to the target satellite 289, and based on changes in the satellite signal strength 256 detected by the computing device 205 as it moves.
[0051] The processing circuitry of computing device 205 can determine the relative changes in the position and orientation of computing device 205 and output an updated satellite pointing user interface 250. This updated user interface includes a target marker 270 in a fixed position and animations 280A, 280B. The target marker represents a target satellite 289 from one or more satellites 295. These animations indicate how to rotate computing device 205 left or right about a vertical axis and how to tilt computing device 205 forward or backward about a horizontal axis to align one or more antennas 212 with the target marker 270. Although the user of computing device 205 may not be able to see the target satellite 289 with the naked eye, using the target marker 270 in a fixed position to represent the target satellite 289 helps the user conceptualize the alignment task, better facilitating successful maneuvering. In some examples, the processing circuitry iteratively updates the updated satellite pointing user interface 250 to include changes to vertical alignment instructions and horizontal alignment instructions 251 based on changes in the position or orientation of the computing device 205 relative to the target satellite 289, by updating animations 280A and 280B to indicate how to rotate the computing device 205 to the left or right about the vertical axis and how to tilt the computing device 205 forward or backward about the horizontal axis to align one or more antennas 212 with the target marker.
[0052] Figure 2DThis is a conceptual diagram illustrating a computing system according to the technology of this disclosure, configured with a satellite-pointing user interface 250 to facilitate connection of computing device 205 to satellite 295. Computing device 205 can be configured to output various graphical alignment images, animations, instructions, and sequences using the satellite-pointing UI 250. In some examples, the processing circuitry determines the relative changes in the position and orientation of computing device 205 and outputs an updated satellite-pointing user interface 250, which includes a vertically oriented elongated shape 268 and further includes a horizontally oriented elongated shape 269. The vertically oriented elongated shape represents a vertical alignment 263 of one or more antennas 212 of computing device 205 with a target satellite 289 from one or more satellites 295, and the horizontally oriented elongated shape represents a horizontal alignment 264 of one or more antennas 212 of computing device 205 with the target satellite 289. Such shapes help the user conceptually understand the task of aligning computing device 205 with the target satellite 289 and increase the likelihood of success. In some examples, the processing circuitry iteratively updates the updated satellite pointing user interface 250 to include changes to the vertically oriented elongated shape 268 by updating the size or length of the vertically oriented elongated shape 268 to indicate how to tilt the computing device 205 forward or backward about a horizontal axis to change the vertical alignment 263 of one or more antennas 212 with the target satellite 289, based on changes in the position or orientation of the computing device 205 relative to the target satellite 289. In some examples, the processing circuitry iteratively updates the updated satellite pointing user interface 250 to include changes to the horizontally oriented elongated shape 269 by updating the size or length of the horizontally oriented elongated shape 269 to indicate how to rotate the computing device 205 left or right about a vertical axis to change the horizontal alignment 264 of one or more antennas 212 with the target satellite 289, based on changes in the position or orientation of the computing device 205 relative to the target satellite 289.
[0053] The satellite pointing user interface 250 can be configured to visually indicate, using elongated shapes, whether the computing device 205 is becoming better aligned with the target satellite 289 or whether the alignment with the target satellite 289 is decreasing. For example, the processing circuitry can output an update to the satellite pointing user interface 250, which includes a vertically oriented elongated shape 268 and a horizontally oriented elongated shape 269, as overlapping vertical elongated shapes. These overlapping vertical elongated shapes concurrently represent, via the updated satellite pointing user interface 250, both vertical alignment 263 and horizontal alignment 264 of one or more antennas 212 of the computing device 205 with the target satellite 289 in the vertical orientation of the one or more antennas 212 and the target satellite 289, respectively. The vertical orientation corresponds to the vertically oriented elongated shape 268, and the horizontal orientation corresponds to the horizontally oriented elongated shape 269. In such an example, the satellite pointing user interface 250 may output updates including animations 280A and 280B that stretch or compress a vertically oriented elongated shape 268, thereby indicating how to tilt the computing device 205 forward or backward about a horizontal axis to change the vertical alignment 263 of one or more antennas 212 of the computing device 205 with the target satellite 289. In some examples, the processing circuitry outputs updates to the satellite pointing user interface 250, which includes animations 280A and 280B that stretch or compress a horizontally oriented elongated shape 269, thereby indicating how to rotate the computing device 205 left or right about a vertical axis to change the horizontal alignment 264 of one or more antennas 212 of the computing device 205 with the target satellite 289.
[0054] Various two-dimensional and three-dimensional shapes can be used to indicate to the user whether the computing device 205 is increasing or decreasing its alignment with the target satellite 289. For example, the satellite pointing user interface 250 can output updates including animations 280A and 280B that compress a vertically oriented elongated shape 268 into a circle or sphere, thereby indicating that the vertical alignment 263 of one or more antennas 212 of the computing device 205 meets a vertical alignment threshold with the target satellite 289. The satellite pointing user interface 250 can output updates to animations 280A and 280B that compress a horizontally oriented elongated shape 269 into a circle or sphere, thereby indicating that the horizontal alignment 264 of one or more antennas 212 of the computing device 205 meets a horizontal alignment threshold with the target satellite 289. In some examples, the vertically oriented elongated shape 268 is a vertically oriented spherical cylinder. The vertically oriented elongated shape 268 can be displayed as a vertically oriented cylinder. The vertically oriented elongated shape 268 can be displayed as a vertically oriented ellipse. A vertically oriented elongated shape 268 can be displayed as a vertically oriented ellipsoid. A vertically oriented elongated shape 268 can be displayed as a vertically oriented pill shape. A vertically oriented elongated shape 268 can be displayed as a vertically oriented sphere. In some examples, a horizontally oriented elongated shape 269 is a horizontally oriented spherical cylinder. A horizontally oriented elongated shape 269 can be displayed as a horizontally oriented cylinder. A horizontally oriented elongated shape 269 can be displayed as a horizontally oriented ellipse. A horizontally oriented elongated shape 269 can be displayed as a horizontally oriented ellipsoid. A horizontally oriented elongated shape 269 can be displayed as a horizontally oriented pill shape. A horizontally oriented elongated shape 269 can be displayed as a horizontally oriented sphere. Other shapes can be used.
[0055] Figure 2E This is a conceptual diagram illustrating a computing system according to the technology of this disclosure, which is configured with a satellite-pointing user interface 250 to facilitate connection of computing device 205 to satellite 295. The user of computing device 205 can benefit from an avatar 272 that is animated to depict the directed movement of computing device 205 to facilitate alignment with target satellite 289.
[0056] In some examples, the processing circuitry outputs an updated satellite-pointing user interface 250 depicting an avatar 272 holding a virtual representation of computing device 205, and animations 280A, 280B instructing how to rotate computing device 205 left or right about a vertical axis to change the horizontal alignment 264 of one or more antennas 212 of computing device 205 with the target satellite 289, and how to tilt computing device 205 forward or backward about a horizontal axis to change the vertical alignment 263 of one or more antennas 212 of computing device 205 with the target satellite 289. In some examples, the processing circuitry iteratively outputs updates to the satellite-pointing user interface 250 by updating animation 280A to instruct how to rotate computing device 205 left or right about a vertical axis to change the horizontal alignment 264 of one or more antennas 212 of computing device 205 with the target satellite 289. In such an example, the processing circuitry may additionally or alternatively output updates to the satellite pointing user interface 250 by updating animation 280B to indicate how to tilt the computing device 205 forward or backward about a horizontal axis to change the vertical alignment 263 of one or more antennas 212 of the computing device 205 with the target satellite 289. The satellite pointing user interface 250 may concurrently output iterative updates to both animations 280A and 280B, thereby indicating how to rotate and how to tilt the computing device 205.
[0057] Figure 2F This is a conceptual diagram illustrating a computing system according to the technology of this disclosure, which is configured with a satellite-pointing user interface 250 to facilitate connection of computing device 205 to satellite 295. The user of computing device 205 can benefit from a graphical perspective in which the user is represented as an avatar within a partial sphere or sphere, with instructions on how to align computing device 205 with target satellite 289.
[0058] In some examples, the processing circuitry determines the relative changes in the position and orientation of the computing device 205 and outputs an updated satellite pointing user interface 250, which includes a top-down perspective view depicting the virtual representations of the avatar 272 and the computing device 205. In some examples, each of the virtual representations of the avatar 272 and the computing device 205 is positioned within a full or partially translucent sphere 298. In some examples, the updated satellite pointing user interface 250 further includes animations 280A, 280B that indicate how to rotate the computing device 205 left or right about a vertical axis to change the horizontal alignment 264 of one or more antennas 212 of the computing device 205 with the target satellite 289, and how to tilt the computing device 205 forward or backward about a horizontal axis to change the vertical alignment 263 of one or more antennas 212 of the computing device 205 with the target satellite 289. In some examples, the processing circuitry iteratively outputs updates to the satellite pointing user interface 250 to include changes to vertical alignment instructions and horizontal alignment instructions 251, based on changes in the position or orientation of the computing device 205 relative to the target satellite 289. This is achieved by updating animations 280A and 280B to indicate how to rotate the computing device 205 left or right about a vertical axis to change the horizontal alignment 264 of one or more antennas 212 of the computing device 205 with the target satellite 289, and how to tilt the computing device 205 forward or backward about a horizontal axis to change the vertical alignment 263 of one or more antennas 212 of the computing device 205 with the target satellite 289.
[0059] In some examples, the processing circuitry outputs an update to the satellite-pointing user interface 250, which includes a virtual representation of a target satellite 266 oriented on the surface of a full or partially translucent sphere 298 and positioned relative to the virtual representation of the computing device 205 based on the detected position of the target satellite 289. In some examples, the processing circuitry outputs virtual representations of geographic elements in a geographic region near the computing device 205. For example, the satellite-pointing user interface 250 may output any one or more of the following elements for display: buildings, geological structures such as mountains, hills, rivers, lakes, etc., and man-made infrastructure elements such as roads and highways. Geographic elements may be displayed inside or outside the full or partially translucent sphere 298 based on how close or far they are from the computing device 205.
[0060] In some examples, the satellite-pointing user interface 250 instructs how to move the computing device 205 to change the horizontal alignment 264 and vertical alignment 263 of one or more antennas 212 of the computing device 205 with one or more satellites 295, and how to reposition the computing device 205. For example, the processing circuitry can output instructions 251 instructing how to physically change the current physical location of the computing device 205 to a new geographic location or to any other geographic location besides its current location. For example, consider moving the computing device 205 to a location within a canyon. The processing circuitry can output instructions 251 instructing how to physically change the current physical location of the computing device from within the canyon to a location at the top of the canyon or possibly near the end of the canyon, in order to expose the computing device 205 to a better view of the sky and potentially remove obstacles in the line of sight between the computing device and the target satellite 289.
[0061] In some examples, the processing circuitry outputs updates to the satellite-pointing user interface 250, which instructs how to rotate the computing device 205 left or right about a vertical axis to change vertical alignment 263 to satisfy a vertical alignment threshold between one or more antennas 212 of the computing device 205 and a target satellite 289 from one or more satellites 295, and how to tilt the computing device 205 forward or backward about a horizontal axis to change horizontal alignment 264 to satisfy both horizontal alignment thresholds between one or more antennas 212 and the target satellite 289. In some examples, the processing circuitry iteratively outputs updates to the satellite-pointing user interface 250 based on changes in the position or orientation of the computing device 205 relative to the target satellite 289, including animations 280A, 280B instructing how to reposition the computing device 205 away from one or more physical obstacles obstructing the line of sight 297 between the computing device 205 and the target satellite 289.
[0062] Figure 2G This is a conceptual diagram illustrating a computing system according to the technology of this disclosure, configured with a satellite-pointing user interface 250 to facilitate connection between computing device 205 and satellite 295. Computing device 205 can be configured to assess whether an obstacle 292 interferes with establishing a clear line of sight between the computing device and target satellite 289. For example, a camera 293 of computing device 205 can be used to sense such an obstacle. In some examples, the processing circuitry of computing device 205 outputs an augmented reality (AR) rendering for display, which provides instructions 251 instructing how to reposition computing device 205 away from obstacle 292. For example, instructions 251 could instruct how to remove obstacle 292 from the line of sight 297 of computing device 205 by physically repositioning computing device 205 away from obstacle 292.
[0063] In some examples, the processing circuitry outputs an update to the satellite-pointing user interface 250 to include animations 280A, 280B instructing how to reposition the computing device 205 away from one or more physical obstacles 292 obstructing the line of sight 297 between the computing device 205 and the target satellite 289. In some examples, the processing circuitry activates the camera 293 of the computing device 205. In some examples, the processing circuitry may determine, based on the field of view captured from the camera 293, that one or more physical obstacles 292 obstructing the line of sight 297 between the computing device 205 and the target satellite 289 are located within the line of sight 297 between the computing device 205 and the target satellite 289. In some examples, the processing circuitry iteratively outputs an update to the satellite-pointing user interface 250 by updating the animations 280A, 280B using an augmented reality overlay 241 to include changes to instruction 251 instructing how to reposition the computing device 205, the augmented reality overlay representing the position of the target satellite 289 relative to one or more physical obstacles 292 within the field of view captured from the camera 293. In some examples, the processing circuitry updates the satellite pointing user interface 250 based on changes in the position or orientation of the computing device 205 relative to the target satellite 289. In some examples, the processing circuitry updates the satellite pointing user interface 250 based on changes in the position or orientation of the computing device 205 relative to one or more physical obstacles 292 within the field of view captured by the camera 293. In some examples, the processing circuitry updates the satellite pointing user interface 250 based on changes in the position or orientation of both the computing device 205 relative to the target satellite 289 and one or more physical obstacles 292 within the field of view captured by the camera 293.
[0064] In some examples, camera 293 may include one or more cameras, collectively referred to as "camera 293". Each of the one or more cameras 293 may include an image sensor, a lens assembly, and supporting hardware components. The image sensor can capture incident light and convert it into an electronic signal. The lens assembly may include one or more lenses that focus and guide light onto the image sensor. Supporting hardware, such as an image signal processor (ISP), an autofocus mechanism, optical image stabilization (OIS), and computational photography algorithms, can further enhance the performance and capabilities of camera 293. In some examples, camera 293 may be controlled via a dedicated camera application installed on computing device 205, allowing the user to adjust settings, apply filters, access various shooting modes, etc. In some examples, camera 293 may be controlled by a satellite-pointing user interface 250 using one or more processors or processing circuitry systems of computing device 205.
[0065] Figure 3AThis is a conceptual diagram of a computing system configured to achieve efficient automatic satellite access according to the technology disclosed herein. When the computing device 305 moves outside the coverage area of a cellular network connection and / or a Wi-Fi network connection, the computing device 305 may attempt to connect to a satellite communication network 383 to exchange information. The computing device 305 can be configured to achieve efficient use of satellite connection resources by implementing efficient automatic satellite access. When connected to the satellite communication network 383, using satellite connection resources may result in connection costs and / or battery power consumption. The computing device 305 can be configured to automatically disconnect from the satellite communication network after periods of inactivity and to assess when to reconnect to the satellite communication network to use the satellite communication network 383 to check messages and / or exchange data.
[0066] exist Figure 3A In one example, computing device 305 includes an automatic pull manager 370 to facilitate the sending and retrieval of messages queued at computing device 305 awaiting transmission and / or the retrieval of one or more messages 366 queued by the communication network and awaiting reception by computing device 305 (e.g., ready to be sent to computing device 305 once connected to the communication network). According to one example, computing device 305 uses a satellite communication activity monitor 353 to periodically evaluate various reconnection conditions 357 and may periodically reconnect with satellite communication network 383 to exchange messages 366 based on the monitored reconnection conditions 357. In some examples, computing device 305 may reconnect with satellite communication network 383 to send queued messages and / or reconnect with satellite communication network 383 to check and retrieve anticipated messages that have not yet been received at computing device 305.
[0067] In this way, computing device 305 can provide economical automatic satellite retrieval and thus reduce the use of satellite communication activities. This reduction in satellite communication activities can provide various benefits, including, for example, lower battery consumption at computing device 305 and lower financial costs of using wireless communication with computing device 305.
[0068] Computing device 305 can be configured to automatically terminate satellite communication. In some examples, the processing circuitry of computing device 305 determines that the computing device is connected to satellite communication network 383. For example, the processing circuitry can automatically disconnect computing device 305 from satellite communication network 383. The processing circuitry can automatically disconnect computing device 305 from satellite communication network 383 after an inactive period has passed. In some examples, the processing circuitry periodically determines whether to reconnect computing device 305 to satellite communication network 383. For example, the processing circuitry can determine whether to reconnect computing device 305 to satellite communication network 383 based on one or more reconnection conditions 357.
[0069] The computing device 305 can evaluate various reconnection conditions 357 when determining whether to automatically reconnect. In some examples, the reconnection condition 357 includes the elapsed time (ET) 354 since the computing device 305 was disconnected from the satellite communication network 383. The reconnection condition 357 may include a signal-to-noise ratio (SNR) 355 or satellite signal strength measured at the computing device 305 (see [link to documentation]). Figure 2A (Element 252). Reconnection condition 357 may include a determined change in the geographic location of computing device 305 since it was disconnected from satellite communication network 383. For example, satellite communication activity monitor 353 may use Global Positioning System (GPS) module 356 to determine the location change. In some examples, the location change may be determined by comparing the GPS 356 location of computing device 305 when it was disconnected with the current GPS 356 location of computing device 305.
[0070] Computing device 305 can determine that reconnection condition 357 is a sufficient basis for automatic reconnection with satellite 395. In some examples, the processing circuitry reconnects computing device 305 to satellite communication network 383 based on one or more reconnection conditions 357. For example, the processing circuitry can reconnect computing device 305 to satellite communication network 383 in response to a change in one or more reconnection conditions 357, based on re-satisfying at least one of the new connection conditions 357, and / or based on at least one of the reconnection conditions 357 satisfying a threshold. For example, the processing circuitry can reconnect computing device 305 to satellite communication network 383 based on an evaluation of one or more reconnection conditions 357. After reconnection, computing device 305 can use satellite 395 to retrieve data. For example, the processing circuitry of computing device 305 can use satellite communication network 383 to retrieve one or more messages 366 enqueued for computing device 305.
[0071] Computing device 305 can monitor activity and assess whether to maintain the connection when connected via satellite 395. In some examples, satellite communication activity monitor 353 of computing device 305 determines that computing device 305 is connected to satellite communication network 383, and automatic pull manager 370 automatically disconnects computing device 305 from satellite communication network 383 after an inactive period has passed (e.g., as determined by satellite communication activity monitor 353). In some examples, automatic pull manager 370 periodically determines whether to reconnect computing device 305 to satellite communication network 383. For example, automatic pull manager 370 can automatically reconnect computing device 305 to satellite communication network 383 based on one or more reconnection conditions 357 as described above. In some examples, computing device 305 establishes a satellite communication session 381 with satellite communication network 383. In some examples, computing device 305 retrieves one or more messages 366 in response to establishing satellite communication session 381.
[0072] Figure 3B This is a conceptual diagram of a computing system configured to achieve efficient automatic satellite retrieval according to the technology of this disclosure. The computing device 305 can assess elapsed time and distance traveled when determining whether to automatically reconnect with satellite 395. In some examples, the processing circuitry of the computing device 305 determines that the computing device is connected to the satellite communication network 383 and automatically disconnects the computing device 305 from the satellite communication network 383. For example, the processing circuitry can automatically disconnect the computing device 305 from the satellite communication network 383 after an inactive period has passed. In some examples, the processing circuitry periodically determines whether to reconnect the computing device 305 to the satellite communication network 383. For example, the processing circuitry can determine whether to reconnect the computing device 305 to the satellite communication network 383 based on one or more reconnection conditions 357. In response to reconnection, the computing device 305 can obtain, collect, and / or retrieve one or more messages 366 enqueued for the computing device 305.
[0073] In some examples, when the computing device 305 is disconnected from the satellite communication network 383, the processing circuitry determines a disconnection location 311A corresponding to the geographical location of the computing device 305. For example, the geographical location of the computing device 305 can be determined as follows: Figure 3B The time is obtained at time 0, as indicated by the time arrow in the example. The processing circuitry can determine that the new location 311B of the computing device 305 corresponds to the current geographic location of the computing device 305. For example, the processing circuitry of the computing device 305 can, as per the example regarding... Figure 3BIn the example, the new location 311B is determined at time N, as indicated by the time arrow. In at least one example, the processing circuitry determines the old location identified as disconnected location 311A and the new location 311B based on GPS 356 coordinates or using signals output by the GPS 356 module. In some examples, the processing circuitry determines whether the new location 311B meets a threshold geographical distance from the disconnected location 311A by comparing the disconnected location 311A with the new location 311B.
[0074] The computing device 305 can assess whether a location change satisfies reconnection condition 357. For example, the processing circuitry can determine whether the new location 311B meets a threshold geographic distance from the disconnected location 311A based on input from the accelerometer of the computing device 305. In other examples, the processing circuitry can determine whether the new location 311B meets the threshold geographic distance from the disconnected location 311A based on input from the gyroscope sensor of the computing device 305. In some examples, the processing circuitry can determine whether the new location 311B meets the threshold geographic distance from the disconnected location 311A based on input from the GPS module of the computing device 305. The processing circuitry can determine whether the new location 311B meets the threshold geographic distance from the disconnected location 311A based on input from the cellular radio 316 of the computing device 305. In other examples, the processing circuitry can determine whether the new location 311B meets the threshold geographic distance from the disconnected location 311A based on input from the Wi-Fi transceiver of the computing device 305. In at least one example, the processing circuitry determines whether the new location 311B meets the threshold geographical distance from the disconnected location 311A based on input from the cellular transceiver or cellular radio 316 of the computing device 305.
[0075] The computing device 305 may utilize GPS signals or GPS data and coordinates when evaluating reconnection conditions 357. For example, distance 314 may be determined based on a comparison of GPS coordinates 356 corresponding to each of the disconnected location 311A and the new location 311B. In some examples, in response to determining that the new location 311B meets a threshold geographic distance from the disconnected location 311A, the processing circuitry reconnects the computing device 305 to the satellite communication network 383. In this way, the computing device 305 may be configured to periodically check for new messages 366 based on a pre-configured distance that the computing device 305 has moved corresponding to a threshold geographic distance from the disconnected location 311A. For example, consider a computing device crossing the ocean by boat. The vessel may enter an area where the satellite communication network 383 has no satellite 395 coverage and re-enter an area where the satellite communication network 383 provides satellite 395 coverage. When the computing device 305 is configured to periodically check the message 366 based on a threshold geographical distance from the disconnection location 311A, the computing device 305 can save energy by using energy-efficient automatic satellite retrieval, and increase the likelihood of successfully retrieving the message by using the satellite communication network 383.
[0076] The computing device 305 can utilize machine learning (ML) and / or artificial intelligence (AI) when evaluating the reconnection condition 357. Figure 3BIn one example, the automatic pull manager 370 includes an AI model 359. The AI model 359 may receive reconnection conditions 357 (e.g., ET 354, SNR 355, GPS 356, and / or other inputs from sensors and data available at computing device 305) as input and generate a predictive output (such as a recommendation or determination on whether to reconnect to satellite 395) as output. For example, the AI model 359 may generate a determination on whether to automatically reconnect to satellite communication session 381 based on the reconnection conditions 357 provided as input. In some examples, the AI model 359 may evaluate whether location changes (e.g., changes based on distance 314, disconnected location 311A, and new location 311B, etc.) satisfy reconnection conditions 357 and return a determination on whether to reconnect to satellite communication session 381 as output to the automatic pull manager 370 based on the provided input. The automatic pull manager 370 can receive a recommendation or determination regarding whether to reconnect to the satellite communication session 381 as output from the AI model 359, and responsively act on the output provided by the AI model 359 (e.g., the automatic pull manager 370 can reconnect based on the determination and / or recommendation for reconnection provided by the AI model 359 as output). In other examples, the automatic pull manager 370 can weight the recommendation for reconnection provided by the AI model 359 as output. In at least one example, the AI model 359 is executed locally within the computing device 305 as a pre-trained AI model, downloaded and provisioned to the computing device 305 before use. Since the computing device 305 may utilize the AI model 359 when network connectivity is absent or limited, the local execution of the pre-provisioned AI model 359 may be beneficial. In some examples, AI model 359 performs recursive machine learning to update the parameters within the neural network utilized by AI model 359, based on whether the previously provided reconnection condition 357 and the recommendation of AI model 359 lead to computing device 305 reconnecting to satellite communication session 381 and successfully downloading at least one message 366 enqueued for computing device 305. In other examples, when computing device 305 has network connectivity, AI model 359 provides predictions to cloud-based services. For example, such predictions from AI model 359 can be used as supplementary training datasets to update variants of AI model 359 configured to operate the automatic pull manager 370 functionality on other computing devices 305.
[0077] Figure 3CThis is a conceptual diagram of a computing system configured to achieve efficient automatic satellite retrieval according to the technology of this disclosure. The computing device 305 can send an outgoing message 386 for which an incoming message 385 is expected to be received, but not yet received. Nevertheless, the computing device 305 can be configured to disconnect from the satellite 395 to more efficiently manage the use of satellite connectivity resources. In some examples, the processing circuitry of the computing device 305 determines whether the expected incoming message 385 has been received. In some examples, in response to determining that the expected incoming message 385 has not been received, the processing circuitry reconnects the computing device 305 to the satellite communication network 383. In some examples, the processing circuitry uses the satellite communication network 383 to retrieve at least the expected incoming message 385.
[0078] In some examples, the processing circuitry sends an outgoing message 386, which requires a response. In some examples, the processing circuitry uses a satellite communication network 383 to send the outgoing message 386. In some examples, the expected incoming message 385 is a response to the outgoing message 386. In some examples, the expected incoming message 385 is an incoming ringing alert message. In some examples, the expected incoming message 385 is an incoming telephone call. In some examples, the expected incoming message 385 is a response from emergency services. In some examples, the expected incoming message 385 is an incoming call from emergency services. In some examples, the expected incoming message 385 is an incoming text message. In some examples, the expected incoming message 385 is a message acknowledgment received by the computing device 305 in response to a previous outgoing message from the computing device 305.
[0079] Figure 3D This is a conceptual diagram of a computing system configured to achieve energy-efficient automatic satellite access and facilitate emergency communications, based on the technology disclosed herein. The computing device 305 can determine that an emergency event 367 has occurred and responsively establish a satellite connection to provide emergency communications. In some examples, the processing circuitry determines that an emergency event 367 has occurred. In some examples, in response to determining that an emergency event 367 has occurred, the processing circuitry reconnects the computing device 305 to the satellite communication network 383. In some examples, the processing circuitry uses the satellite communication network 383 to send an emergency data transfer 384 to emergency services from the computing device 305.
[0080] Computing device 305 can determine that an emergency event 367 meets the basis for reconnecting with satellite 395, however, connectivity is weak or lacking, and therefore a connection cannot be automatically established. Computing device 305 can be configured to responsively output a satellite pointing UI 350 to facilitate connection when needed. In some examples, the processing circuitry determines whether the signal-to-noise ratio 355 measured at computing device 305 no longer meets the minimum connection threshold. In some examples, in response to determining that the signal-to-noise ratio 355 no longer meets the minimum connection threshold, the processing circuitry of computing device 305 outputs a satellite pointing UI 350 instructing how to align one or more antennas 312 of computing device 305 with one or more satellites 395 of satellite communication network 383. In some examples, the processing circuitry updates the satellite pointing UI 350 based on changes in the signal-to-noise ratio 355 measured at computing device 305 as computing device 305 moves, instructing how to further align one or more antennas 312 with one or more satellites 395. In some examples, the processing circuitry reconnects the computing device 305 to the satellite communication network 383 in response to determining that the signal-to-noise ratio 355 measured at the computing device 305 when the output satellite points to the user interface 350 meets a minimum connection threshold. In some examples, the processing circuitry exchanges data 394 between the computing device 305 and emergency services via the satellite communication network 383.
[0081] Computing device 305 can examine enqueued messages 366 when establishing a connection with satellite 395, including examining emergency communications enqueued as messages 366. In other examples, computing device 305 can be configured to provide an icon that a user can use to initiate satellite reconnection. For example, processing circuitry can determine whether one or more messages 366 are enqueued for transmission by computing device 305 when it loses connection with satellite communication network 383. In some examples, in response to determining that one or more messages 366 are enqueued for transmission by computing device 305, processing circuitry of computing device 305 can output a push-to-manually-send-messages icon 332 to a user interface for display 306. In some examples, processing circuitry receives input from computing device 305 indicating that push-to-manually-send-messages icon 332 is activated. In some examples, processing circuitry reconnects computing device 305 to satellite communication network 383 in response to receiving input indicating that push-to-manually-send-messages icon 332 is activated. In some examples, the processing circuitry system uses a satellite communication network 383 to send one or more messages 366 enqueued for transmission.
[0082] In other examples, the processing circuitry may determine whether the computing device 305 is disconnected from the satellite communication network 383, and in response to determining that the computing device 305 is disconnected from the satellite communication network 383, the processing circuitry may output a push-to-manually-pull messagesicon 333 from the computing device 305 to the user interface for display 306. In some examples, the processing circuitry receives input from the computing device 305 indicating that the push-to-manually-pull messagesicon 333 is activated. In some examples, in response to receiving input indicating that the push-to-manually-pull messagesicon 333 is activated, the processing circuitry reconnects the computing device 305 to the satellite communication network 383. In some examples, the processing circuitry uses the satellite communication network 383 to retrieve one or more messages 366 that have been queued for the computing device 305.
[0083] In some examples, when computing device 305 disconnects from satellite communication network 383, the processing circuitry determines whether the signal-to-noise ratio 355 measured at computing device 305 meets the minimum connection threshold for reconnecting computing device 305 to satellite communication network 383. In some examples, in response to determining that the signal-to-noise ratio meets the minimum connection threshold for reconnecting computing device 305 to satellite communication network 383, the processing circuitry outputs a satellite connection availability icon 333 from computing device 305 to the user interface for display 306.
[0084] In some examples, the processing circuitry determines, via computing device 305, that an inactivity period at the user interface (e.g., display 306) meets a threshold inactivity period. In some examples, in response to determining that an inactivity period meets the threshold, the processing circuitry reconnects computing device 305 to satellite communication network 383.
[0085] Figure 4A This is a conceptual diagram of a computing system according to the technology disclosed herein, configured to scan for cellular communication networks 496 or other non-satellite communication networks when computing device 405 is connected to satellite communication network 483. Using satellite communication network 483 may incur financial costs for the user and may also consume more energy, leading to excessive battery consumption of computing device 405, compared to using other non-satellite communication networks. Computing device 405 can be configured to automatically disconnect the satellite connection and reconnect to available cellular communication network 496 and / or Wi-Fi network to reduce satellite resource consumption. Computing device 405 can initiate cellular network scan 485 to search for cellular communication networks 496 within the communication range of computing device 405.
[0086] exist Figure 4AIn the example, computing device 405 includes both a satellite communication module 410 and a cellular communication module 415. The satellite communication module is capable of communicating with the satellite communication network 483 of satellite 495 using cellular radio 416, and the cellular communication module is capable of communicating with the cellular communication network 496 using cellular radio 416. An established satellite communication session 480 is depicted between computing device 405 and satellite communication network 483, wherein computing device 405 is performing a transition 411 to a new cellular communication session 486 with cellular communication network 496.
[0087] When connected to a satellite communication network, computing device 405 can scan non-satellite-based networks for various reasons, including to provide redundant or fail-safe communication paths, reduce the financial cost of network connectivity, reduce communication latency, improve communication bandwidth, and improve overall communication performance and resilience. For example, communication between computing device 405 and a terrestrial cell tower of cellular communication network 496 can be performed better than other equivalent communication with satellite 495 of satellite communication network 483.
[0088] exist Figure 4A In the example, the established satellite communication session 480 can provide communication capability to the computing device 405 without any other wireless communication channels (e.g., such as cellular, Wi-Fi, etc.), and thus the computing device 405 can be configured to connect to and communicate with the satellite communication network 483, and periodically perform cellular network scans 485 to check the availability of alternative communication channels when connected to the satellite communication network 483.
[0089] exist Figure 4A In some examples, computing device 405 may communicate with satellite 495 using its satellite communication module 410, or alternatively, via its cellular radio 416 with cellular communication network 496. In some examples, computing device 405 communicates concurrently with both satellite 495 and cellular communication network 496. In some examples, computing device 405 disables concurrent communication with both satellite 495 and cellular communication network 496 to reduce power consumption. In some examples, computing device 405 disables concurrent communication with both satellite 495 and cellular communication network 496 to minimize radio interference between satellite communication module 410 and cellular communication module 415. In some examples, computing device 405 automatically disconnects from satellite 495 by turning off satellite communication module 410. In some examples, computing device 405 automatically disconnects from satellite 495 by terminating the established communication session 480 with satellite communication network 483. In some examples, computing device 405 automatically terminates communication with satellite 495 in response to determining that a new cellular communication session 486 has been established between computing device 405 and cellular communication network 496.
[0090] In some examples, computing device 405 disconnects from satellite communication network 483 before switching to communication with cellular communication network 496. In some examples, computing device 405 disconnects from cellular communication network 496 before switching to satellite communication network 483. In some examples, in response to determining that at least one cellular communication network 496 is accessible to computing device 405, disconnection from satellite communication network 483 occurs before initiating a new cellular communication session 486 with the at least one cellular communication network 496 that has been determined to be accessible.
[0091] In this way, computing device 405 can benefit from accessing wireless communication via satellite 495 when no available cellular communication network 496 exists, and benefit from the improved operational characteristics of terrestrial cellular networks by automatically performing a conversion 411 to cellular communication network 496 using the new cellular communication session when it is determined to be available.
[0092] Therefore, in at least one example, when the computing device 405 is connected to the satellite communication network 483, it initiates a cellular network scan 485 by scanning for any accessible cellular communication networks 483. In such an example, the computing device 405 determines whether at least one cellular communication network 483 is accessible via the cellular radio 416 of the computing device 405. In response to determining that at least one cellular communication network 496 is accessible, the computing device 405 may initiate a new cellular communication session 486 with the at least one cellular communication network 496 that has been determined to be accessible.
[0093] Figure 4B This is a conceptual diagram illustrating a computing system configured for switching between wireless networks according to the technology of this disclosure. Figure 4B In one example, computing device 405 includes a wireless communication packet 406 for communicating with a wireless network. In such an example, wireless communication packet 406 includes a satellite communication module 410, a cellular communication module 415, a Wi-Fi transceiver 412, or some combination of satellite communication module 410, cellular communication module 415 and / or Wi-Fi transceiver 412.
[0094] Computing device 405 can be configured to switch between satellite and cellular communication 482, including switching from cellular connection to satellite connection. In some examples, when connected to satellite communication network 483, computing device 405 can use Wi-Fi scan 487 to scan for wireless networks including available Wi-Fi networks and use cellular network scan 485 to scan for available cellular networks. Computing device 405 can facilitate the switch between satellite and cellular communication 482 by terminating communication with satellite 495 and re-establishing communication with cellular communication network 496. For example, processing circuitry 499 can determine that at least one cellular communication network 496 is accessible. In such an example, processing circuitry 499 can disconnect computing device 405 from satellite communication network 483 in response to determining that at least one cellular communication network 496 is accessible.
[0095] Computing device 405 can be configured to coordinate the sequence of disconnection and reconnection to available communication networks. For example, the processing circuitry can disconnect computing device 405 from satellite communication network 483 before initiating a new cellular communication session 486 with at least one cellular communication network 496 that has been determined to be accessible. Computing device 405 can terminate 481 the connection with satellite communication network 483, resulting in a terminated satellite communication session 480. In some examples, the processing circuitry initiates a new cellular communication session 486 with at least one cellular communication network 496 after determining that at least one cellular communication network 496 is no longer accessible to computing device 405. In response to determining that at least one cellular communication network 496 is no longer accessible to computing device 405, the processing circuitry can initiate a new satellite communication session with satellite communication network 483. In this way, computing device 405 can switch between satellite and cellular communication 482. Computing device 405 can perform such a switch without any user-perceived loss of connectivity.
[0096] Computing device 405 can be configured to manage connectivity based on inactivity periods or idle states associated with it. For example, a processing circuitry can switch computing device 405 to an idle mode. In some examples, the processing circuitry switches computing device 405 to idle mode when it is not actively sending or receiving data. In some examples, in response to computing device 405 entering idle mode, the processing circuitry disables the cellular radio 416 of computing device 405. In response to computing device 405 entering idle mode, the processing circuitry can disable the Wi-Fi transceiver 412 of computing device 405. In some examples, in response to computing device 405 entering idle mode, the processing circuitry iteratively scans for any wireless communication networks accessible to computing device 405 using one or more of the cellular radio 416 and the Wi-Fi transceiver 412 of computing device 405.
[0097] Computing device 405 can be configured to automatically reconnect to satellite communication network 483. For example, processing circuitry can scan the communication network. Processing circuitry can determine that computing device 405 is not connected to a communication network and responsively scan the communication network. In some examples, processing circuitry can perform satellite scanning 489 using cellular radio 416. In other examples, processing circuitry can perform Wi-Fi scanning 487 using Wi-Fi transceiver 412. Processing circuitry can perform cellular network scanning 485 using cellular radio 416. Computing device 405 can identify at least one wireless communication network accessible to computing device 405 based on the scan.
[0098] Computing device 405 can be configured to prioritize non-satellite-based connections. For example, processing circuitry can determine that computing device 405 is currently connected to satellite communication network 483, and when computing device 405 is connected to satellite communication network 483, processing circuitry initiates Wi-Fi scan 487 to search for Wi-Fi networks. In some examples, Wi-Fi scan 487 includes scanning for any accessible Wi-Fi communication networks. Computing device 405 can use Wi-Fi scan 487 to determine whether at least one Wi-Fi communication network 497 is accessible via Wi-Fi transceiver 412 of computing device 405.
[0099] Computing device 405 can be configured to initiate a switch to a non-satellite-based connectivity option when one is identified. For example, when it is determined that cellular connectivity is available and no Wi-Fi network 497 is accessible to computing device 405, the processing circuitry can initiate a new cellular communication session 486. In some examples, the processing circuitry initiates a new Wi-Fi communication session in response to determining that at least one Wi-Fi network 497 is accessible to computing device 405. In other examples, the processing circuitry initiates a new cellular communication session 486 based on the communication preference configuration of computing device 405. The processing circuitry can determine that both Wi-Fi network 497 and at least one cellular network 496 are accessible to computing device 405. In response to determining that both Wi-Fi network 497 and cellular network 496 are accessible to computing device 405, the processing circuitry can select one of the wireless networks based on the communication preference configuration of computing device 405.
[0100] In some examples, when computing device 405 is connected to satellite communication network 483, the processing circuitry automatically disables the cellular radio 416 of computing device 405. In some examples, initiating a cellular network scan 485 includes activating the cellular radio 416 of computing device 405 before scanning for accessible cellular communication networks 496.
[0101] In some examples, when computing device 405 does not actively send or receive data via a new cellular communication session 486, the processing circuitry of computing device 405 causes cellular radio 416 to operate in idle mode. In some examples, causing cellular radio 416 to operate in idle mode includes using cellular radio 416 to iteratively scan for any accessible cellular communication network 496. In some examples, while cellular radio 416 is operating in idle mode, the processing circuitry determines that a data transfer has been requested at computing device 405. For example, the requested data transfer may be initiated by an application of computing device 405, the operating system of computing device 405, and / or in response to a user event detected at computing device 405. For example, consider computing device 405 in the form of a mobile computing device such as a smartphone or smartwatch. In such examples, user events such as screen touch events or device wake-up events may be detected by computing device 405. In response to a detected user event, computing device 405 may, for example, refresh the weather app output to the main screen of computing device 405 to display the latest weather information, even without manually requesting such information.
[0102] In some examples, the processing circuitry disconnects computing device 405 from all satellite communication networks 483. In some examples, the processing circuitry disconnects computing device 405 from satellite communication network 483 when computing device 405 is not actively transmitting or receiving data. In some examples, the processing circuitry disconnects computing device 405 from both satellite communication network 483 and cellular communication network 496 when computing device 405 is not actively transmitting or receiving data. In some examples, the processing circuitry causes the cellular radio 416 of computing device 405 to operate in idle mode. In some examples, the processing circuitry causes the cellular radio 416 of computing device 405 to operate in idle mode. In some examples, the processing circuitry uses the cellular radio 416 of computing device 405 to iteratively scan for any accessible cellular communication network 496 and any accessible satellite communication network 483. In some examples, the processing circuitry causes the cellular radio 416 to operate in idle mode until an event at computing device 405 initiates a data transmission. In some examples, in response to a data transmission initiated by a computing device 405, the processing circuitry connects to one of the accessible cellular communication networks 496 or the accessible satellite communication network 483 that has been determined to be accessible, and completes the data transmission.
[0103] In some examples, computing device 405 iteratively switches between satellite and cellular communication 482 based on various configurable parameters. For example, when such a cellular communication network 496 is available to computing device 405, cellular communication network 496 can be configured as preferred and therefore preferred over connection to satellite communication network 483. In some examples, switching between satellite and cellular communication 482 can reduce battery consumption of computing device 405. In some examples, switching between satellite and cellular communication 482 can reduce or eliminate the financial costs associated with transmitting data via satellite communication. Other factors and preferences can be configured similarly, such as latency, total bandwidth required for a particular computing activity, urgency of communication, etc.
[0104] In another example, computing device 405 can be configured to switch to idle mode when it is not actively transmitting or receiving data. With such a configuration, in response to entering idle mode, computing device 405 can be configured to automatically disable its cellular radio 416 and its Wi-Fi transceiver 412. Disabling the radio, transmitter, and transceiver of computing device 405 promotes energy saving and thus preserves the battery life of computing device 405 during idle mode operation.
[0105] In this way, by periodically scanning cellular network availability or responsively initiating cellular network scans in response to pending or requested data transmissions, or both, computing device 405 is optimized to prioritize cellular communication over satellite communication when cellular communication network 496 is accessible, or even when computing device 405 is in an idle state or computing device cellular radio 416 is in an idle state.
[0106] In some examples, the processing circuitry uses cellular radio 416 to exchange information between computing device 405 and satellite communication network 483 as part of a satellite communication session. In some examples, the processing circuitry outputs a request for confirmation to migrate satellite communication session 480 to a new cellular communication session 496. In some examples, in response to determining that at least one cellular communication network 496 is accessible, the processing circuitry outputs a request for confirmation to migrate satellite communication session 480 to a new cellular communication session 496. In some examples, the processing circuitry initiates a new cellular communication session 496 between the cellular radio 416 of computing device 405 and at least one cellular communication network 496 accessible to computing device 405.
[0107] In some examples, in response to determining that a data transfer request has been made, the processing circuitry of computing device 405 may re-initiate a new cellular communication session 486 with at least one cellular communication network 496 that has been determined to be accessible to computing device 405. In some examples, the processing circuitry completes the data transfer using the new cellular communication session 486. In some examples, the data transfer request may be an emergency data transfer 484 initiated at computing device 405.
[0108] In some examples, the processing circuitry maintains a scan timeout countdown. In some examples, the processing circuitry resets the scan timeout countdown each time a cellular network scan 485 is performed. In some examples, the processing circuitry resets the scan timeout countdown in response to determining that at least one cellular communication network 496 is inaccessible to the computing device 405. In some examples, the processing circuitry iteratively re-initiates the cellular network scan 485 each time the scan timeout countdown ends, reaches zero, increments to a reset point, and / or meets a threshold associated with the scan timeout countdown.
[0109] In some examples, the processing circuitry reduces radio interference by at least disabling the cellular radio 416 of the computing device 405. In some examples, the processing circuitry periodically reactivates the cellular radio 416 of the computing device 405 to scan for accessible cellular communication networks. In some examples, the processing circuitry disables the cellular radio 416 upon completion of a cellular network scan 485 targeting available cellular communication networks 496, regardless of whether the cellular network scan 485 identified any available cellular communication networks 496.
[0110] In some examples, the processing circuitry reduces the overall power consumption of computing device 405 by automatically terminating power to the cellular radio 416 of computing device 405. In some examples, the processing circuitry periodically restores power to the cellular radio 416 of computing device 405. In some examples, the processing circuitry re-initiates a cellular network scan 485 to locate any accessible cellular communication networks 496. In some examples, the processing circuitry terminates power to the cellular radio 416 of computing device 405 after the cellular network scan 485 is completed.
[0111] In some examples, an integrated cellular radio 416 module is embedded within a computing device 405 and connected to the processor of the computing device 405 via a communication bus. In some examples, the processing circuitry includes the processor of the computing device 405, which executes an instance of an operating system. In some examples, the operating system of the computing device 405, executed via the processor, uses the cellular radio 416 of the computing device 405 to determine the availability of a satellite communication network 483. In some examples, the processing circuitry uses the cellular radio 416 to initiate a satellite communication session between the computing device 405 and the satellite communication network 483. In some examples, the instance of the operating system executed at the computing device 405 exchanges information with the satellite communication network 483 using the cellular radio 416 as part of the satellite communication session.
[0112] Figure 4CThis is a conceptual diagram illustrating a system configured to initiate an emergency data transmission 484 using a wireless network, according to the technology of this disclosure. Computing device 405 may be configured to facilitate the establishment of satellite communication upon identification of an emergency event 467. In some examples, computing device 405 determines that an emergency event 467 has occurred and / or receives input 479 indicating that an emergency has occurred. For example, an emergency communication manager 488 may detect or determine that the emergency event 467 has occurred at or near computing device 405. In some examples, an emergency user interface (emergency UI) 498 of computing device 405 receives input 479 indicating an emergency. For example, in response to determining that an emergency has occurred based on the received input 479 and / or the detected emergency event 467, a processing circuitry system may initiate an emergency data transmission 484. Emergency data transmission 484 may include emergency data transmission 478A, emergency telephone call 478B, or both. In some examples, emergency data transmission 484 is performed using any one of a Wi-Fi communication network 497, a cellular communication network 496, and / or a satellite communication network 483. For example, computing device 405 may initiate and send emergency data transmission 484 to emergency services using any communication channel determined to be accessible to computing device 405.
[0113] Computing device 405 can be configured to prioritize any available wireless communication network. For example, processing circuitry can determine that at least one wireless communication network is accessible to computing device 405 and responsively connect to the determined accessible wireless communication network. In some examples, the processing circuitry initiates an emergency data transfer 484 in response to connecting to the determined accessible wireless communication network. In some examples, the processing circuitry sends the emergency data transfer 484 using at least one wireless communication network accessible to computing device 405 in response to computing device 405 initiating the emergency data transfer 484.
[0114] In some examples, the processing circuitry system sends an emergency text message to emergency services. In some examples, the processing circuitry system sends the location of computing device 405 to emergency services. In some examples, the processing circuitry system receives input captured at computing device 405 in response to one or more pre-configured emergency alerts. In some examples, the processing circuitry system issues one or more pre-configured emergency alerts in response to determining an emergency event 467. In some examples, the processing circuitry system sends one or more pre-configured emergency alerts to emergency services, along with input received in response to one or more pre-configured emergency alerts.
[0115] Computing device 405 can be configured to provide prompts or ask questions to a user of computing device 405 to assess a potential emergency 467. For example, computing device 405 can use an emergency user interface 498 to obtain input for one or more pre-configured emergency prompts. In some examples, the processing circuitry outputs one or more questions requesting input to the emergency user interface 498, which are then displayed to computing device 405. In other examples, the one or more questions requesting input may include questions requesting confirmation that an emergency has occurred. The questions requesting input may include questions requesting a classification of the severity of the emergency. In at least one example, the questions requesting input include questions requesting confirmation that the emergency requires emergency service response.
[0116] Computing device 405 can be configured to request authorization to initiate an emergency telephone call 478B from input. The input may request verbal approval. Computing device 405 can be configured to override or otherwise cancel the approval request under certain conditions and initiate an emergency telephone call without approval. For example, processing circuitry can receive input 479 requesting to initiate an emergency services telephone call. Input 479 can be obtained by computing device 405 using an emergency user interface 498 output to a display of computing device 405. In some examples, processing circuitry initiates a telephone call to emergency services via satellite communication network 483 through a satellite communication session. In other examples, processing circuitry initiates an emergency telephone call 478B to emergency services via communication session through satellite communication network 483. Processing circuitry can initiate emergency data transmission 478A to emergency services via satellite communication network 483 and can initiate emergency data transmission 478A before receiving input 479 indicating approval or disapproval. In some examples, the processing circuitry initiates an emergency data transfer 484 to emergency services via satellite communication network 483 in response to determining that at least one cellular communication network 496 is inaccessible to the computing device 405. For example, when the computing device 405 determines that an emergency event 467 has occurred or receives an input 479 indicating an emergency, the processing circuitry may responsively use satellite communication network 483 to initiate emergency data transfer 484 (e.g., emergency data transfer 478A and / or emergency telephone call 478B). In such examples, although the computing device 405 may be configured to prioritize cellular communications, the processing circuitry may still utilize satellite communication network 483 for emergency communications due to the nature of the communications (e.g., due to an emergency).
[0117] In some examples, the processing circuitry receives or obtains input requesting the initiation of an emergency telephone call 478B to emergency services, while the computing device 405 maintains a connection with the satellite communication network 483. In some examples, in response to receiving input requesting the initiation of an emergency telephone call 478B, the processing circuitry may re-initiate a cellular network scan (see, for example...). Figures 4A to 4B The element 485 determines whether one or more cellular communication networks 496 are accessible to the computing device 405. In some examples, in response to determining that at least one cellular communication network 496 is inaccessible based on a re-initiated cellular network scan 485, the processing circuitry of the computing device 405 can establish an emergency telephone call 478B to emergency services via a satellite session. In some examples, in response to determining that at least one cellular communication network 496 is accessible to the computing device 405 based on a re-initiated cellular network scan 485, the processing circuitry can initiate a new cellular communication session 486 between the cellular radio 416 of the computing device 405 and at least one cellular communication network 496. In some examples, the processing circuitry can use the new cellular communication session 486 to establish an emergency telephone call 478B to emergency services.
[0118] For example, in determining that an emergency has occurred, computing device 405 can check the availability of cellular network communications even when connected to satellite communication network 483. Switching between satellite and cellular communications 482, particularly to cellular network communications, can provide higher reliability and / or improved quality for emergency data transmission 484. For example, an emergency phone call 478B via cellular communication can produce higher fidelity, better location accuracy for emergency services, and / or reduced latency. In this way, computing device 405 can prioritize cellular communication for sending an emergency phone call 478B to emergency services, which can facilitate longer battery life, more reliable telecommunications transmission to emergency services, better geotriangulation, higher fidelity geolocation services to emergency services, or some combination thereof. Therefore, computing device 405 can be configured to utilize any communication path it can access to establish an emergency phone call 478B or emergency data transmission 478A to emergency services. This can also include Wi-Fi communication if such a Wi-Fi communication path is accessible to computing device 405.
[0119] In some examples, the processing circuitry initiates a new cellular communication session 496 without receiving or obtaining any user input indicating a switch from satellite communication to cellular communication. For example, in an emergency and in response to computing device 405 determining that cellular communication is available, the processing circuitry may initiate communication via cellular communication to maximize the likelihood of a successful emergency data transfer 484 to emergency services.
[0120] In some examples, before establishing an emergency telephone call 478B to emergency services, the processing circuitry initiates a new cellular communication session 496 without any prompt or notification to output an input requesting authorization for the computing device 405 to switch from satellite communication to cellular communication.
[0121] Figure 4D This is a conceptual diagram illustrating a computing system configured to facilitate user-oriented satellite connectivity according to the technology of this disclosure. The computing device 405 can be configured to output an availability UI 430 indicating satellite availability detected without connecting the computing device 405 to any satellite. For example, as shown here, a satellite availability user interface (satellite availability UI) 430 with a satellite availability icon 431 is displayed. The satellite availability icon 431 can be selected via user input 432 to optionally activate a new satellite communication session 480 with an available satellite 495 in response to such user input 432, to retrieve and send queued messages 466 or exchange other data transmissions on behalf of the computing device 405. Figure 4D In the example, cellular icon 441 is also shown, which indicates the availability (or lack thereof) of cellular communication network 496.
[0122] In some examples, the processing circuitry outputs an indication of cellular network availability. In some examples, the indication of cellular network availability includes an indication that the computing device 405 has determined that at least one cellular communication network 496 is accessible. In some examples, the indication of cellular network availability includes a list of all cellular communication networks 496 determined to be accessible. For example, the computing device 405 may output a cellular icon 441 indicating that at least one cellular communication network 496 is accessible for display, or the computing device 405 may output a selectable list of available cellular networks for display, or both may be output concurrently and displayed to the computing device.
[0123] In some examples, the processing circuitry initiates a new cellular communication session 486 with at least one cellular communication network 496 that has been determined to be accessible, in response to receiving user input 432 specifying a cellular communication network 496. In some examples, the processing circuitry selectively switches from a satellite communication network 483 to at least one cellular communication network 496 based on user input 432 received from an authorized computing device 405 switching from a satellite communication network 483 to at least one cellular communication network 496.
[0124] In some examples, the processing circuitry outputs a graphical user interface that includes an indication of cellular network availability. For example, the processing circuitry may output a cellular icon 441 to be displayed to the computing device 405. In some examples, the processing circuitry outputs audio indicating cellular network availability. For example, the processing circuitry may cause the computing device 405 to generate an audible signal, audible tone, or audible sound via the computing device's speakers or via headphones connected to the computing device 405. In some examples, the processing circuitry outputs a haptic notification indicating the availability of at least one cellular communication network 496 as a preferred communication network relative to the satellite communication network 483 with which the computing device 405 currently has an established satellite session. For example, the cellular icon 441 may be output to be displayed to the computing device 405, or a message may be output to be displayed to the computing device 405, or haptic feedback or an audible alarm may be output to the computing device 405 to alert the user to the availability of the cellular communication network 496, regardless of whether the user is viewing the display of the computing device 405 or even if a touchscreen or display device is not activated at the computing device 405.
[0125] In some examples, the processing circuitry outputs a graphical user interface that includes an indication of satellite network availability. For example, the processing circuitry may output a satellite icon 431 to be displayed to the computing device 405. In some examples, the processing circuitry outputs audio indicating satellite network availability. For example, the processing circuitry may cause the computing device 405 to generate an audible signal, audible tone, or audible sound via the computing device's speakers or via headphones connected to the computing device 405. The audible signal for satellite availability may differ from the audible signal indicating cellular network availability. In some examples, when the processing circuitry determines that cellular communication is currently inaccessible to the computing device 405, the processing circuitry outputs a haptic notification indicating the availability of at least one satellite communication network 483 as a preferred communication network option.
[0126] In some examples, the processing circuitry disconnects the computing device 405 from the cellular communication network 496. In some examples, the processing circuitry automatically reconnects the computing device 405 to the satellite communication network 483. In some examples, the processing circuitry rescans for any accessible cellular communication networks. In some examples, the processing circuitry determines that at least one cellular communication network 496 is accessible to the computing device 405. In some examples, in response to determining that at least one cellular communication network 496 is accessible to the computing device 405, the processing circuitry may output a notification to the computing device 405 indicating the availability of the at least one cellular communication network 496 determined to be accessible. In some examples, the notification indicating the availability of at least one cellular communication network 496 to the computing device 405 may include a request to authorize the switching of the computing device 405 from satellite communication mode to cellular communication mode. For example, the satellite availability user interface 430 may output a request to authorize the switching of the computing device 405 from satellite communication mode to cellular communication mode.
[0127] In some examples, a request to authorize the switching of computing device 405 from satellite communication mode to cellular communication mode is ignored or denied. For example, computing device 405 may fail to obtain any user input 432 authorizing the switching between modes. In some examples, in response to determining that a request to authorize the switching of computing device 405 from satellite communication mode to cellular communication mode has been ignored or denied, the processing circuitry keeps computing device 405 in satellite communication mode and connected to the satellite communication network 483.
[0128] Therefore, while computing device 405 may optionally be configured to automatically failover or otherwise switch between satellite communication network 483 and cellular communication network 496, in other examples, computing device 405 actively solicits user input (e.g., user inputs 432 and 442) as affirmative approval or authorization to switch between available communication paths. In this way, computing device 405 can be configured to completely forgo any switching between communication paths (e.g., Wi-Fi to satellite, Wi-Fi to cellular, satellite to Wi-Fi, satellite to cellular, cellular to Wi-Fi, or cellular to satellite) based on configurable options set or configured as default values within the user configuration.
[0129] Figure 5 This illustrates a computing device (such as) based on the technology of this disclosure. Figure 1 , Figures 2A to 2G , Figures 3A to 3D as well as Figures 4A to 4D A block diagram showing further details of an example of the computing device (shown in the diagram). Figure 5This example illustrates only one specific embodiment of computing device 500. Many other example embodiments of computing device 500 may be used in other situations.
[0130] like Figure 5 As illustrated in the specific examples, computing device 500 may include one or more processors 505, memory 504, network interface 506, one or more storage devices 508, user interface 510, and power supply 512. Computing device 500 may also include an operating system 514. In one example, computing device 500 may further include one or more applications 516, such as a satellite pointing user interface 550 and an auto-pull manager 570. In some examples, operating system 514 includes an emergency communications manager 588. In some examples, emergency communications manager 588 operates as one of several applications 516. One or more applications 516 may also be executed by computing device 500. The components of computing device 500 may be interconnected (physically, communicatively, and / or operatively) for inter-component communication.
[0131] In some examples, a processing circuitry system including one or more processors 505 implements functional and / or procedural instructions for execution within the computing device 500. For example, one or more processors 505 may be able to process instructions stored in memory 504 and / or instructions stored on one or more storage devices 508.
[0132] In one example, memory 504 may store information within computing device 500 during operation. In some examples, memory 504 may represent a computer-readable storage medium. In some examples, memory 504 may be temporary memory, meaning that the primary purpose of memory 504 may not be long-term storage. In some examples, memory 504 may be described as volatile memory, meaning that memory 504 may not retain its stored contents when computing device 500 is turned off. Examples of volatile memory may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory. In some examples, memory 504 may be used to store program instructions for execution by one or more processors 505. In one example, memory 504 may be used by software or applications running on computing device 500 (e.g., one or more applications 516) to temporarily store data and / or instructions during program execution.
[0133] In some examples, one or more storage devices 508 may also include one or more computer-readable storage media. One or more storage devices 508 may be configured to store a larger amount of information than memory 504. One or more storage devices 508 may be further configured for long-term storage of information. In some examples, one or more storage devices 508 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard disks, optical disks, floppy disks, flash memory, or electrically programmable memory (EPROM) or electrically erasable programmable memory (EEPROM).
[0134] In some examples, computing device 500 may also include a network interface 506. In such examples, computing device 500 can use network interface 506 to communicate with external devices via one or more networks, such as one or more wired or wireless networks. Network interface 506 may be a network interface card, such as an Ethernet card, an optical transceiver, an RF transceiver, a cellular transceiver, or a cellular radio, or any other type of device capable of sending and receiving information. Other examples of such network interfaces may include BLUETOOTH®, 3G, 4G, 5G, LTE, and Wi-Fi® radios in mobile computing devices, as well as USB. In some examples, computing device 500 can use network interface 506 to wirelessly communicate with external devices, such as servers, mobile phones, or other networked computing devices.
[0135] The computing device 500 may also include a user interface 510. The user interface 510 may include one or more input devices 511, such as… Figure 1 , Figures 2A to 2G , Figures 3A to 3D as well as Figures 4A to 4D The touch-sensitive display 106 is included. In some examples, the input device 511 may be configured to receive input from a user via tactile, electromagnetic, audio, and / or video feedback. Examples of the input device 511 may include a touch-sensitive display, a mouse, a keyboard, a voice response system, a camera, a microphone, or any other type of device for detecting user gestures. In some examples, the touch-sensitive display may include a presence-sensitive screen.
[0136] User interface 510 may also include one or more output devices, such as Figure 1 , Figures 2A to 2G , Figures 3A to 3D and Figures 4A to 4DThe touch-sensitive display 106 is shown. In some examples, one or more output devices may be configured to provide output to a user using tactile, audio, or video stimuli. In one example, one or more output devices may include a display, a sound card, a video graphics adapter card, or any other type of device for converting signals into an appropriate form that is understandable to humans or machines. Additional examples of one or more output devices may include a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate understandable output to a user.
[0137] In some examples, computing device 500 may include a power source 512, which may be rechargeable and provide power to computing device 500. In some examples, power source 512 may be a battery made of nickel-cadmium, lithium-ion, or other suitable materials.
[0138] Examples of computing device 500 may include operating system 514. Operating system 514 may be stored in one or more storage devices 508 and may control the operation of components of computing device 500. For example, operating system 514 may facilitate the interaction of one or more applications 516 with the hardware components of computing device 500. Figure 5 As shown, one or more applications 516 may be stored in one or more storage devices 508 and may include any one of a satellite-pointing user interface 550, an auto-retrieval manager 570, and an emergency communication manager 588. Any of the satellite-pointing user interface 550, the auto-retrieval manager 570, and the emergency communication manager 588 may include program instructions and / or data executable by one or more processors 505 of the computing device 500. For example, any of the satellite-pointing user interface 550, the auto-retrieval manager 570, and the emergency communication manager 588 may include instructions that cause one or more applications 516 executing on the computing device 500 to perform... Figure 1 , Figures 2A to 2G , Figures 3A to 3D and Figures 4A to 4D as well as Figure 5 One or more of the operations and actions described in the document.
[0139] In some examples, the operating system 514 may be configured to scan for available cellular networks, satellite networks, and / or Wi-Fi networks via the processing circuitry of the computing device 500. In some examples, the satellite pointing user interface 550 may be configured to output instructions on how to move the computing device 500 to align one or more antennas of the computing device 500 with a target satellite. In some examples, the automatic pull manager 570 may be configured to implement efficient satellite pulls to facilitate communication over satellite communication networks. In some examples, the emergency communication manager 588 may be configured to detect emergency events via the processing circuitry of the computing device 500 and transmit emergency data to emergency services via wireless communication networks, including using satellite communication, cellular communication, and / or Wi-Fi communication.
[0140] Any application implemented or executed within or by the computing device 500 (e.g., one or more applications 516) may be implemented or contained within, operated by, executed by, and / or operatively / communically coupled to components of the computing device 500 (e.g., one or more processors 505, memory 504, network interface 506, one or more storage devices 508, and user interface 510).
[0141] Figure 6 This is a flowchart illustrating an example operation mode of a satellite-pointing user interface 150 implemented by a computing device 105 according to the technology of this disclosure. The operation mode is based on the computing device 105 and... Figure 1 , Figures 2A to 2G , Figures 3A to 3D , Figures 4A to 4D and Figure 5 To describe it.
[0142] In some examples, the processing circuitry 199 of computing device 105 may output a satellite pointing user interface 150 for display on the computing device (605). In some examples, the processing circuitry 199 may instruct how to move computing device 105 to align antenna 112 of computing device 105 with satellite 195 (610). In some examples, the processing circuitry 199 outputs a satellite pointing user interface 150 for display from one or more processors of computing device 105, which instructs how to move computing device 105 to align one or more antennas 112 of computing device 105 with one or more satellites 195 by including at least vertical alignment instructions and horizontal alignment instructions 151.
[0143] In some examples, the processing circuitry 199 may determine whether a threshold satellite signal strength is met (615). If the threshold satellite signal strength is not met, a "No" branch follows, and the processing circuitry 199 updates the satellite pointing user interface 150 based on the change in satellite signal strength (616). In some examples, the processing circuitry 199 repeatedly instructs how to move the computing device 105 to align the antenna 112 with the satellite 195 (610). In some examples, the processing circuitry 199 updates the satellite pointing user interface 150 based on changes in satellite signal strength detected by the computing device 105 as it moves in both the horizontal and vertical directions, instructing how to further move the computing device 105 to change the horizontal and vertical alignment of one or more antennas 112 with one or more satellites.
[0144] If the threshold satellite signal strength is met, then the "Yes" branch follows, and the processing circuitry 199 of the computing device 105 establishes a satellite communication session 180 (620) with the satellite 195. In some examples, in response to determining that the satellite signal strength meets the threshold satellite signal strength for both horizontal and vertical alignment, the processing circuitry 199 establishes a satellite communication connection 180 using one or more satellites by the computing device 105.
[0145] In some examples, the processing circuitry 199 of computing device 105 transmits data (625) using satellite communication connection 180. In some examples, when computing device 105 is connected to one or more satellites 195 via satellite communication session 180, the processing circuitry 199 may determine that the satellite signal strength no longer meets a threshold satellite signal strength. In some examples, in response to determining that the satellite signal strength no longer meets the threshold satellite signal strength, the processing circuitry 199 outputs an updated satellite pointing user interface 150 from one or more processors of computing device 105 for display, the updated satellite pointing user interface indicating how to move computing device 105 to realign one or more antennas 112 of computing device 105 with one or more satellites 195.
[0146] In some examples, the processing circuitry 199 instructs how to move the computing device 105 to align one or more antennas 112 of the computing device 105 with one or more satellites 195 via instructions 151 that align the orientation of the computing device 105 with a target satellite 195 from one or more satellites 195. Instructions 151 can take various forms, including 1D alignment instructions 151 instructing how to move the computing device 105 along a single axis or across a single plane (such as vertically or horizontally). In some examples, 2D alignment instructions 151 instruct how to move the computing device 105 in both horizontal and vertical directions. In some examples, instructions 151 instruct so-called “three-dimensional instructions” or “3D instructions” that instruct how to move the computing device 105 in both horizontal and vertical directions, and additionally instruct how to move the computing device 105 to a new geographical location.
[0147] In some examples, the processing circuitry 199 outputs a target shape to be displayed to the satellite pointing user interface 150, the target shape being in a fixed position representing a target satellite 195 from one or more satellites 195. In some examples, the processing circuitry 199 updates the satellite pointing user interface 150 based on changes in satellite signal strength detected by the computing device 105 as the computing device 105 moves, indicating how to further move the computing device 105 to change the horizontal and vertical alignment of one or more antennas 112 with one or more satellites 195. In some examples, the processing circuitry 199 determines the relative changes in the position and orientation of the computing device 105. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface 150 that includes a repositionable shape representing a relative change in the position and orientation of the computing device 105 relative to the target shape, indicating whether it is closer or farther away. In some examples, the processing circuitry 199 iteratively updates the updated satellite pointing user interface 150 to include positional changes of the repositionable shape relative to the target shape, based on changes in the position or orientation of the computing device 105 relative to the target satellite 195.
[0148] In some examples, the processing circuitry 199 iteratively updates the satellite pointing user interface 150 to include changes to the satellite signal strength indicator based on changes in the position or orientation of the computing device 105 relative to the target satellite 195. In some examples, the processing circuitry 199 iteratively updates the satellite pointing user interface 150 to include changes to the satellite signal strength indicator based on changes in satellite signal strength detected by the computing device 105 as the computing device 105 moves.
[0149] In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface 150 for display, which includes a target marker in a fixed position indicating a target satellite 195 from one or more satellites 195. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface 150 for display, which includes animations instructing how to rotate the computing device 105 left or right about a vertical axis. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface 150 for display, which includes animations instructing how to tilt the computing device 105 forward or backward about a horizontal axis to align one or more antennas 112 with the target marker. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface to be displayed to the satellite pointing user interface 150. This updated user interface includes animations instructing how to rotate the computing device 105 left or right about a vertical axis and how to tilt the computing device 105 forward or backward about a horizontal axis. In some examples, the processing circuitry 199 iteratively updates the updated satellite pointing user interface to include changes to vertical alignment instructions and horizontal alignment instructions 151, based on changes in the position or orientation of the computing device 105 relative to the target satellite 195, by updating animations to instruct how to rotate the computing device 105 left or right about a vertical axis and / or how to tilt the computing device 105 forward or backward about a horizontal axis to align one or more antennas 112 with the target marker.
[0150] In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface to be displayed to the satellite pointing user interface 150. This updated user interface includes a vertically oriented elongated shape representing the vertical alignment of one or more antennas 112 of the computing device 105 with a target satellite 195 from one or more satellites. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface to be displayed to the satellite pointing user interface 150. This updated user interface includes a horizontally oriented elongated shape representing the horizontal alignment of one or more antennas 112 of the computing device 105 with the target satellite 195. In some examples, the processing circuitry 199 iteratively outputs an update to the updated satellite pointing user interface to include changes in the vertical alignment of one or more antennas 112 with the target satellite 195, based on changes in the position or orientation of the computing device 105 relative to the target satellite 195, by updating the size or length of a vertically oriented elongated shape to indicate how to tilt the computing device 105 forward or backward about a horizontal axis. In some examples, the processing circuitry 199 iteratively outputs an update to the updated satellite pointing user interface to include changes in the vertically oriented elongated shape, based on changes in the position or orientation of the computing device 105 relative to the target satellite 195, by updating the size or length of a horizontally oriented elongated shape to indicate how to rotate the computing device 105 left or right about a vertical axis to change the horizontal alignment of one or more antennas 112 with the target satellite 195.
[0151] In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface, which includes a vertically oriented elongated shape and a horizontally oriented elongated shape as an overlapping vertical elongated shape. This overlapping vertical elongated shape concurrently represents, via the updated satellite pointing user interface, both the vertical alignment of one or more antennas 112 of the computing device 105 with the target satellite 195 in the vertical orientation of the one or more antennas 112 with the target satellite 195 and the horizontal alignment in the horizontal orientation of the one or more antennas 112 with the target satellite 195, the vertical orientation corresponding to the vertically oriented elongated shape and the horizontal orientation corresponding to the horizontally oriented elongated shape.
[0152] In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface that includes animations that stretch or compress a vertically oriented elongated shape to indicate how to tilt the computing device 105 forward or backward about a horizontal axis to change the vertical alignment of one or more antennas 112 of the computing device 105 with the target satellite 195. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface that includes animations that stretch or compress a horizontally oriented elongated shape to indicate how to rotate the computing device 105 left or right about a vertical axis to change the horizontal alignment of one or more antennas 112 of the computing device 105 with the target satellite 195.
[0153] In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface that includes an animation that compresses a vertically oriented elongated shape into a circle or sphere, thereby indicating that the vertical alignment of one or more antennas 112 of the computing device 105 meets a vertical alignment threshold with the target satellite 195. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface that includes an animation that compresses a horizontally oriented elongated shape into a circle or sphere, thereby indicating that the horizontal alignment of one or more antennas 112 of the computing device 105 meets a horizontal alignment threshold with the target satellite 195.
[0154] In some examples, a circle or sphere corresponds to a sphere or ellipsoid that appears round or spherical but is not precisely round or spherical. In some examples, a vertically oriented elongated shape is a vertically oriented spherical cylinder. In some examples, a vertically oriented elongated shape is a vertically oriented cylinder. In some examples, a vertically oriented elongated shape is a vertically oriented ellipse. In some examples, a vertically oriented elongated shape is a vertically oriented ellipsoid. In some examples, a vertically oriented elongated shape is a vertically oriented pill shape. In some examples, a vertically oriented elongated shape is a vertically oriented sphere. In some examples, a horizontally oriented elongated shape is a horizontally oriented spherical cylinder. In some examples, a horizontally oriented elongated shape is a horizontally oriented cylinder. In some examples, a horizontally oriented elongated shape is a horizontally oriented ellipse. In some examples, a horizontally oriented elongated shape is a horizontally oriented ellipsoid. In some examples, a horizontally oriented elongated shape is a horizontally oriented pill shape. In some examples, the horizontally oriented elongated shape is a horizontally oriented sphere.
[0155] In some examples, the processing circuitry 199 determines relative changes in the position and orientation of the computing device 105 and responsively outputs an update to the satellite-pointing user interface 150. In some examples, the processing circuitry 199 outputs an update to the satellite-pointing user interface 150 depicting an avatar holding a virtual representation of the computing device 105. In some examples, the processing circuitry 199 outputs an update to the satellite-pointing user interface 150 depicting an animation indicating how to rotate the computing device 105 left or right about a vertical axis to change the horizontal alignment of one or more antennas 112 of the computing device 105 with the target satellite 195, and how to tilt the computing device 105 forward or backward about a horizontal axis to change the vertical alignment of one or more antennas 112 of the computing device 105 with the target satellite 195. In some examples, the processing circuitry 199 iteratively updates the satellite pointing user interface based on changes in the position or orientation of the computing device 105 relative to the target satellite 195 by updating animations to indicate how to rotate the computing device 105 left or right about a vertical axis to change the horizontal alignment of one or more antennas 112 of the computing device 105 with the target satellite 195, and how to tilt the computing device 105 forward or backward about a horizontal axis to change the vertical alignment of one or more antennas 112 of the computing device 105 with the target satellite 195.
[0156] In some examples, the processing circuitry 199 outputs updates to the satellite-pointing user interface 150, which includes a top-down perspective view depicting a virtual representation of the avatar and computing device 105. In some examples, the processing circuitry 199 outputs updates to the satellite-pointing user interface 150, which includes each of the virtual representations of the avatar and computing device 105 positioned within a full or partially translucent sphere. In some examples, the processing circuitry 199 outputs updates to the satellite-pointing user interface 150, which includes animations indicating how to rotate the computing device 105 left or right about a vertical axis to change the horizontal alignment of one or more antennas 112 of the computing device 105 with the target satellite 195, and how to tilt the computing device 105 forward or backward about a horizontal axis to change the vertical alignment of one or more antennas 112 of the computing device 105 with the target satellite 195. In some examples, the processing circuitry 199 outputs an update to the satellite-pointing user interface 150, which includes a virtual representation of a target satellite 195 oriented on the surface of a complete or partially translucent sphere and positioned relative to the virtual representation of the computing device 105 based on the detected position of the target satellite 195. In some examples, the processing circuitry 199 outputs an update to the satellite-pointing user interface 150, which includes a virtual representation of geographic elements in a geographic region near the computing device 105. For example, the virtual representation of the geographic elements may be positioned inside or outside the complete or partially translucent sphere.
[0157] In some examples, the processing circuitry 199 outputs an update to the satellite pointing user interface 150, thereby instructing how to reposition the computing device 105. In some examples, the processing circuitry 199 iteratively updates the satellite pointing user interface 150 to include animation instructing how to reposition the computing device 105 away from one or more physical obstacles obstructing the line of sight between the computing device 105 and the target satellite 195. In some examples, the processing circuitry 199 activates the camera of the computing device 105. In some examples, the processing circuitry 199 determines, based on the field of view captured from the camera, that one or more physical obstacles obstructing the line of sight between the computing device 105 and the target satellite 195 are located within the line of sight between the computing device 105 and the target satellite 195. In some examples, based on changes in the position or orientation of computing device 105 relative to a target satellite and / or based on changes in the position or orientation of computing device 105 relative to one or more physical obstacles within the field of view captured by a camera, processing circuitry 199 iteratively updates the updated satellite pointing user interface by utilizing an augmented reality overlay to update the animation to include changes to instructions 151 indicating how to reposition computing device 105, the augmented reality overlay representing the position of target satellite 195 relative to one or more physical obstacles within the field of view captured by a camera.
[0158] Figure 7 This is a flowchart illustrating an example operating mode of a computing device 105 implementing energy-efficient automatic satellite retrieval according to the technology of this disclosure. The operating mode is based on the computing device 105 and... Figure 1 , Figures 2A to 2G , Figures 3A to 3D , Figures 4A to 4D and Figure 5 To describe it.
[0159] In some examples, processing circuitry 199 can determine whether computing device 105 is connected to satellite communication network 183 (705). After an inactive period has passed, processing circuitry 199 can automatically disconnect computing device 105 from satellite communication network 183 (710). Processing circuitry 199 can evaluate whether to automatically reconnect based on reconnection conditions (715). For example, processing circuitry 199 can base its decisions on one or more evaluated reconnection conditions (see...). Figures 3A to 3BElement 357 periodically determines whether to reconnect computing device 105 to satellite communication network 183. In some examples, reconnection condition 357 includes the elapsed time since computing device 105 was disconnected from satellite communication network 183. In some examples, reconnection condition 357 includes the signal-to-noise ratio measured at computing device 105. In some examples, reconnection condition 357 includes a determined change in the geographical location of computing device 105 since it was disconnected from satellite communication network 183.
[0160] In some examples, the processing circuitry 199 evaluates reconnection condition 357 to determine whether at least one of the reconnection conditions is met. In some examples, the processing circuitry 199 evaluates whether the elapsed time since disconnection (716) and / or the signal-to-noise ratio (717) and / or the change in geographic location (718) is met. If one or more of the reconnection conditions 357 are not met (719), a "No" branch follows, and the processing circuitry 199 repeats the evaluation based on the reconnection condition 357 to determine whether to automatically reconnect (715). Conversely, if any of the reconnection conditions 357 are met (719), a "Yes" branch follows, and the processing circuitry 199 reconnects the computing device 105 to the satellite communication network 183 (720). In some examples, the processing circuitry 199 retrieves messages enqueued for the computing device (725). In some examples, the processing circuitry 199 uses the satellite communication network 183 to retrieve one or more messages enqueued for the computing device 105.
[0161] In some examples, when computing device 105 disconnects from satellite communication network 183, processing circuitry 199 determines the disconnection location corresponding to the geographic location of computing device 105. In some examples, processing circuitry 199 determines a new location for computing device 105 corresponding to its current geographic location. In some examples, processing circuitry 199 determines whether the new location meets a threshold geographic distance from the disconnection location by comparing the disconnection location with the new location. In some examples, in response to determining that the new location meets the threshold geographic distance from the disconnection location, processing circuitry 199 reconnects computing device 105 to satellite communication network 183.
[0162] In some examples, the processing circuitry 199 determines whether the new location meets a threshold geographical distance from the disconnected location based on input from the accelerometer of the computing device 105. In some examples, the processing circuitry 199 determines whether the new location meets the threshold geographical distance from the disconnected location based on input from the gyroscope sensor of the computing device 105. In some examples, the processing circuitry 199 determines whether the new location meets the threshold geographical distance from the disconnected location based on input from the GPS module of the computing device 105. In some examples, the processing circuitry 199 determines whether the new location meets the threshold geographical distance from the disconnected location based on input from the Wi-Fi transceiver of the computing device 105. In some examples, the processing circuitry 199 determines whether the new location meets the threshold geographical distance from the disconnected location based on input from the cellular transceiver or cellular radio 116 of the computing device 105.
[0163] In some examples, the processing circuitry 199 determines whether an expected incoming message has been received. In some examples, in response to determining that an expected incoming message has not been received, the processing circuitry 199 reconnects the computing device 105 to the satellite communication network 183. In some examples, the processing circuitry 199 of the computing device 105 uses the satellite communication network 183 to retrieve at least the expected incoming message. In some examples, the processing circuitry 199 of the computing device 105 uses the satellite communication network 183 to send an outgoing message requiring a response. In some examples, the expected incoming message is a response to an outgoing message. In some examples, the expected incoming message is an incoming ringing alert message. In some examples, the expected incoming message is an incoming telephone call. In some examples, the expected incoming message is a response from emergency services. In some examples, the expected incoming message is an incoming call from emergency services. In some examples, the expected incoming message is an incoming text message. In some examples, the expected incoming message is a message acknowledgment received by the computing device 105 in response to a previously outgoing message from the computing device 105.
[0164] In some examples, in response to determining that an emergency has occurred, the processing circuitry 199 reconnects the computing device 105 to the satellite communication network 183. In some examples, in response to determining that an emergency has occurred, the processing circuitry 199 uses the satellite communication network 183 to send emergency data transmissions from the computing device 105 to emergency services (e.g., see...). Figure 4C (element 484).
[0165] In some examples, processing circuitry 199 determines whether the signal-to-noise ratio (SNR) measured at computing device 105 no longer meets a minimum connectivity threshold. In some examples, in response to determining that the SNR no longer meets the minimum connectivity threshold, processing circuitry 199 outputs a satellite pointing user interface 150, thereby instructing how to align one or more antennas 112 of computing device 105 with one or more satellites 195 of satellite communication network 183. In some examples, processing circuitry 199 updates satellite pointing user interface 150 to instruct how to align one or more antennas 112 of computing device 105 with one or more satellites 195 based on changes in the SNR measured at computing device 105 as computing device 105 moves. In some examples, when outputting satellite pointing user interface 150, processing circuitry 199 reconnects computing device 105 to satellite communication network 183. In some examples, processing circuitry 199 reconnects computing device 105 to satellite communication network 183 in response to determining that the SNR measured at computing device 105 meets the minimum connectivity threshold. In some examples, the processing circuitry 199 exchanges data between the computing device 105 and emergency services via a satellite communication network 183.
[0166] In some examples, when computing device 105 disconnects from satellite communication network 183, processing circuitry 199 determines whether one or more messages are queued for transmission by computing device 105. In some examples, in response to determining that one or more messages are queued for transmission by computing device 105, processing circuitry 199 outputs a manual push-to-send message icon to be displayed to the user interface. In some examples, processing circuitry 199 of computing device 105 receives input indicating that the manual push-to-send message icon has been activated. In some examples, processing circuitry 199, in response to receiving input indicating that the manual push-to-send message icon has been activated, reconnects computing device 105 to satellite communication network 183. In some examples, processing circuitry 199 uses satellite communication network 183 to send one or more messages queued for transmission (see [link to example]). Figure 4D (element 466).
[0167] In some examples, processing circuitry 199 determines whether computing device 105 is disconnected from satellite communication network 183. In some examples, in response to determining that computing device 105 is disconnected from satellite communication network 183, processing circuitry 199 outputs a manual push-pull message icon to be displayed to the user interface. In some examples, processing circuitry 199 receives input indicating that the manual push-pull message icon has been activated. In some examples, in response to receiving input indicating that the manual push-pull message icon has been activated, processing circuitry 199 reconnects computing device 105 to satellite communication network 183. In some examples, processing circuitry 199 uses satellite communication network 183 to retrieve one or more messages queued for computing device 105.
[0168] In some examples, when computing device 105 disconnects from satellite communication network 183, processing circuitry 199 determines whether the signal-to-noise ratio measured at computing device 105 meets the minimum connection threshold for reconnecting computing device 105 to satellite communication network 183. In some examples, in response to determining that the signal-to-noise ratio meets the minimum connection threshold for reconnecting computing device 105 to satellite communication network 183, processing circuitry 199 outputs a satellite connection availability icon to display to the user interface.
[0169] In some examples, the processing circuitry 199 determines that the inactivity period at the user interface meets a threshold inactivity period. In some examples, in response to determining that the threshold inactivity period is met, the processing circuitry 199 reconnects the computing device 105 to the satellite communication network 183.
[0170] Figure 8 This is a flowchart illustrating an example operating mode of a computing device 105 according to the present disclosure performing cellular network scanning when connected to a satellite communication network 183. The operating mode is referenced to the computing device 105 and... Figure 1 , Figures 2A to 2G , Figures 3A to 3D , Figures 4A to 4D and Figure 5 To describe it.
[0171] The computing device 105 can operate when connected to the satellite communication network 183 (805). For example, the processing circuitry 199 of the computing device 105 can determine that the computing device 105 is currently connected to the satellite communication network 183.
[0172] When connected to satellite communication network 183 (810), the processing circuitry system 199 of computing device 105 can scan for accessible cellular communication networks (815). In some examples, the processing circuitry system 199 scans for any accessible cellular communication network.
[0173] When connected to satellite communication network 183 (810), computing device 105 can determine that at least one cellular communication network is accessible (820). In some examples, processing circuitry 199 determines whether at least one cellular communication network is accessible via cellular radio 116 of computing device 105. In response to determining that at least one cellular communication network 196 is accessible, computing device 105 can initiate a new cellular communication session with the at least one cellular communication network 196 determined to be accessible (825).
[0174] In some examples, in response to determining that at least one cellular communication network 196 is accessible, the processing circuitry 199 may disconnect the computing device 105 from the satellite communication network 183 before initiating a new cellular communication session with the at least one cellular communication network 196 determined to be accessible. In some examples, after the computing device 105 initiates a new cellular communication session with at least one cellular communication network 196, the processing circuitry 199 may determine that at least one cellular communication network 196 is no longer accessible to the computing device 105. In some examples, in response to determining that at least one cellular communication network 196 is no longer accessible to the computing device 105, the processing circuitry 199 may initiate a new satellite communication session with the satellite communication network 183.
[0175] In some examples, the processing circuitry 199 switches the computing device 105 to an idle mode when the computing device 105 is not actively sending or receiving data. In some examples, in response to the computing device 105 entering idle mode, the processing circuitry 199 may disable the cellular radio 116 of the computing device 105. In some examples, in response to the computing device 105 entering idle mode, the processing circuitry 199 may disable the Wi-Fi transceiver of the computing device 105. In some examples, the processing circuitry 199 iteratively scans for any wireless communication networks accessible to the computing device 105 using one or more of the cellular radio 116 and / or the Wi-Fi transceiver of the computing device 105. In some examples, the processing circuitry 199 identifies at least one wireless communication network accessible to the computing device 105 based on the scan. In some examples, in response to the computing device 105 initiating an emergency data transmission, the processing circuitry 199 of the computing device 105 sends an emergency data transmission using at least one wireless communication network accessible to the computing device 105.
[0176] In some examples, processing circuitry 199 sends an emergency text message to emergency services. In some examples, processing circuitry 199 sends the location of computing device 105 to emergency services. In some examples, processing circuitry 199 sends input captured at computing device 105 to emergency services. In some examples, the input captured at computing device 105 is obtained by computing device 105 in response to one or more pre-configured emergency prompts when determining an emergency. In some examples, the input captured at computing device 105 is obtained in response to a question requesting confirmation that an emergency has occurred. In some examples, the input captured at computing device 105 is obtained in response to a question requesting a classification of the severity of the emergency. In some examples, the input captured at computing device 105 is obtained in response to a question requesting confirmation that an emergency requires emergency services response.
[0177] In some examples, when computing device 105 is connected to satellite communication network 183, processing circuitry 199 initiates a Wi-Fi network scan by computing device 105. In some examples, processing circuitry 199 scans for at least any accessible Wi-Fi communication network. In some examples, processing circuitry 199 identifies at least one Wi-Fi communication network (see [link to example]). Figure 4C The processing circuitry 199 determines whether element 497 is accessible via the Wi-Fi transceiver of the computing device 105. In some examples, the processing circuitry 199 determines that at least one Wi-Fi communication network 497 is inaccessible. In some examples, the processing circuitry 199 initiates a new cellular communication session in response to the computing device 105 determining that at least one Wi-Fi communication network 497 is inaccessible. In some examples, the processing circuitry 199 initiates a new Wi-Fi communication session in response to the computing device 105 determining that at least one Wi-Fi communication network 497 is accessible. In some examples, the processing circuitry 199 initiates a new cellular communication session based on communication preference configuration. In some examples, the processing circuitry 199 initiates a new cellular communication session based on communication preference configuration in response to determining that both at least one Wi-Fi communication network 497 and at least one cellular communication network 196 are accessible. In some examples, the processing circuitry 199 initiates a new Wi-Fi communication session based on communication preference configuration in response to the computing device 105 determining that at least one Wi-Fi communication network 497 is accessible and at least one cellular communication network 196 is accessible.
[0178] In some examples, when computing device 105 is connected to satellite communication network 183, the processing circuitry 199 of computing device 105 deactivates cellular radio 116. In some examples, the processing circuitry 199 activates cellular radio 116 of computing device 105 before scanning for accessible cellular communication networks. In some examples, when computing device 105 is not actively sending or receiving data via a new cellular communication session, the processing circuitry 199 puts cellular radio 116 into idle mode. In some examples, the processing circuitry 199 puts cellular radio 116 into idle mode. In some examples, while putting cellular radio 116 into idle mode, the processing circuitry 199 iteratively scans for any accessible cellular communication networks via cellular radio 116. In some examples, while putting cellular radio 116 into idle mode, the processing circuitry 199 determines that a data transfer has been requested at computing device 105. In some examples, in response to determining that a data transfer has been requested, the processing circuitry 199 re-initiates a new cellular communication session with at least one cellular communication network 196 that has been determined to be accessible. In some examples, the processing circuit system 199 uses a new cellular communication session to complete data transmission.
[0179] In some examples, the processing circuitry 199 disconnects the computing device 105 from all satellite communication networks and all cellular communication networks. In some examples, the processing circuitry 199 disconnects the computing device 105 from all satellite communication networks and all cellular communication networks when the computing device 105 is not actively sending or receiving data. In some examples, the processing circuitry 199 causes the cellular radio 116 of the computing device 105 to operate in idle mode. In some examples, the processing circuitry 199 iteratively scans for any accessible cellular communication networks and any accessible satellite communication networks via the cellular radio 116. In some examples, the processing circuitry 199 causes the cellular radio 116 to operate in idle mode until an event at the computing device 105 initiates a data transmission. In some examples, in response to the computing device 105 initiating a data transmission, the processing circuitry 199 connects the computing device 105 to one of the accessible cellular communication networks or one of the accessible satellite communication networks determined to be accessible, and facilitates the completion of the data transmission. In some examples, after connecting to a cellular or satellite communication network that has been determined to be accessible, the processing circuitry system 199 of the computing device 105 performs data transmission by sending data via the cellular or satellite communication network to which the computing device 105 is connected.
[0180] In some examples, the processing circuitry 199 exchanges information between the computing device 105 and the satellite communication network 183 via the cellular radio 116 of the computing device 105 as part of a satellite communication session. In some examples, in response to determining that at least one cellular communication network 196 is accessible, the processing circuitry 199 outputs a request for confirmation of migrating the satellite communication session to a new cellular communication session between the cellular radio 116 of the computing device 105 and the at least one cellular communication network 196 that has been determined to be accessible.
[0181] In some examples, processing circuitry 199 resets the scan timeout countdown for cellular communication network 196. In some examples, in response to determining that at least one cellular communication network 196 is inaccessible, processing circuitry 199 resets the scan timeout countdown for cellular communication network 196. In some examples, processing circuitry 199 iteratively re-initiates a cellular network scan at the end of each scan timeout countdown.
[0182] In some examples, the processing circuitry 199 receives input at the computing device 105 requesting the initiation of an emergency service telephone call. In some examples, the processing circuitry 199 initiates the telephone call to emergency services via a satellite communication network 183 through a satellite communication session. In some examples, in response to determining that at least one cellular communication network 196 is inaccessible, the processing circuitry 199 initiates the telephone call to emergency services via a satellite communication network 183 through a satellite communication session.
[0183] In some examples, processing circuitry 199 receives input at computing device 105 requesting to initiate an emergency service telephone call, while computing device 105 maintains connectivity with satellite communication network 183. In some examples, in response to receiving input requesting to initiate an emergency service telephone call, processing circuitry 199 of computing device 105 re-initiates a cellular network scan to determine whether one or more cellular communication networks are accessible to computing device 105. In some examples, in response to determining, based on the re-initiated cellular network scan, that at least one cellular communication network 196 is inaccessible, processing circuitry 199 establishes an emergency telephone call 478B to emergency services via a satellite session. In some examples, in response to determining, based on the re-initiated cellular network scan, that at least one cellular communication network 196 is accessible, processing circuitry 199 initiates a new cellular communication session between cellular radios 116 of computing device 105. In some examples, in response to determining, based on the re-initiated cellular network scan, that at least one cellular communication network 196 is accessible, processing circuitry 199 establishes an emergency telephone call 478B to emergency services via a new cellular communication session.
[0184] In some examples, the processing circuitry 199 initiates a new cellular communication session without receiving any user input indicating a switch from satellite communication to cellular communication. In some examples, prior to establishing an emergency call 478B to emergency services, the processing circuitry 199 initiates a new cellular communication session without any prompt or notification to output an input requesting authorization for the computing device 105 to switch from satellite communication to cellular communication.
[0185] In some examples, the processing circuitry 199 of computing device 105 outputs an indication of cellular network availability. In some examples, the processing circuitry 199 outputs an indication that at least one cellular communication network 196 has been determined by computing device 105 to be accessible. In some examples, the processing circuitry 199 outputs a list of all cellular communication networks determined to be accessible. In some examples, in response to receiving user input authorizing the switching of computing device 105 from satellite communication network 183 to at least one cellular communication network 196, the processing circuitry 199 selectively switches computing device 105 from satellite communication network 183 to at least one cellular communication network 196.
[0186] In some examples, the processing circuitry 199 of computing device 105 outputs an indication of cellular network availability by displaying a graphical user interface including an indication of cellular network availability. In some examples, the processing circuitry 199 of computing device 105 outputs an audio indication of cellular network availability. In some examples, the processing circuitry 199 of computing device 105 outputs a haptic notification indicating the availability of at least one cellular communication network 196. In some examples, the notification output by computing device 105 indicates that at least one cellular communication network 196 is a preferred communication network relative to a satellite communication network 183 with which computing device 105 currently has an established satellite session.
[0187] In some examples, the processing circuitry 199 disconnects the computing device 105 from at least one cellular communication network 196. In some examples, after disconnecting the computing device 105 from at least one cellular communication network 196, the processing circuitry 199 reconnects the computing device 105 to the satellite communication network 183. In some examples, the processing circuitry 199 rescans for any accessible cellular communication networks. In some examples, the processing circuitry 199 determines that at least one cellular communication network 196 is accessible to the computing device 105. In some examples, in response to determining that at least one cellular communication network 196 is accessible, the processing circuitry 199 outputs a notification to the computing device 105 indicating the availability of the at least one cellular communication network 196 determined to be accessible. In some examples, the processing circuitry 199 outputs a request to authorize the switching of the computing device 105 from satellite communication mode to cellular communication mode. In some examples, in response to determining that a request to authorize the switching of computing device 105 from satellite communication mode to cellular communication mode is ignored or rejected, the processing circuitry 199 maintains computing device 105 in satellite communication mode and keeps computing device 105 connected to satellite communication network 183. In some examples, in response to determining that a request to authorize the switching of computing device 105 from satellite communication mode to cellular communication mode is ignored or rejected, computing device 105 reissues the request for authorization.
[0188] In some examples, the processing circuitry 199 reduces radio interference by at least disabling the cellular radio 116 of the computing device 105. In some examples, the processing circuitry 199 periodically reactivates the cellular radio 116 to scan for accessible cellular networks. In some examples, the processing circuitry 199 disables the cellular radio 116 upon completion of a scan of available cellular networks, regardless of whether the scan identified any available cellular networks. In some examples, the processing circuitry 199 reduces the overall power consumption of the computing device 105 by automatically terminating power to the cellular radio 116 of the computing device 105. In some examples, the processing circuitry 199 periodically restores power to the cellular radio 116 of the computing device 105. In some examples, after periodically restoring power to the cellular radio 116 of the computing device 105, the processing circuitry 199 re-initiates a cellular network scan for any accessible cellular networks. In some examples, the processing circuitry 199 terminates power to the cellular radio 116 of the computing device 105 after a cellular network scan is completed.
[0189] In some examples, the processing circuitry 199 of computing device 105 includes a cellular radio 116. In some examples, the processing circuitry 199 of computing device 105 includes an integrated cellular transceiver module or cellular radio 116 embedded within computing device 105 and connected to the processor of computing device 105 via a communication bus. In some examples, the processing circuitry 199 executes an instance of an operating system by the processor of computing device 105. In some examples, the processing circuitry 199 determines the availability of satellite communication network 183 via the cellular radio 116 of computing device 105. In some examples, the processing circuitry 199 initiates a satellite communication session between computing device 105 and satellite communication network 183 via the cellular radio 116, via the instance of the operating system. In some examples, the processing circuitry 199 exchanges information with the satellite communication network 183 via the cellular radio 116 of the instance of the operating system executing at computing device 105 as part of the satellite communication session.
[0190] Example
[0191] Example 1. A method comprising: outputting a satellite pointing user interface for display by one or more processors of a computing device, the satellite pointing user interface indicating how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions; updating the satellite pointing user interface by the computing device based on changes in satellite signal strength detected by the computing device as the computing device moves in both the horizontal and vertical directions to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites; establishing a satellite communication connection by the computing device using the one or more satellites in response to determining that the satellite signal strength satisfies a threshold satellite signal strength for both the horizontal and vertical alignment; and transmitting data by the computing device using the satellite communication connection.
[0192] Example 2. The method according to Example 1 further includes: when the computing device is connected to the one or more satellites via the satellite communication connection, determining that the satellite signal strength no longer meets the threshold satellite signal strength; and in response to determining that the satellite signal strength no longer meets the threshold satellite signal strength, the one or more processors of the computing device output an updated satellite pointing user interface for display, the updated satellite pointing user interface indicating how to move the computing device to realign the one or more antennas of the computing device with the one or more satellites.
[0193] Example 3. The method according to any one of Examples 1 to 2, wherein the satellite pointing user interface indicates how to move the computing device to align the one or more antennas of the computing device with the one or more satellites by including at least instructions for orienting the computing device with a target satellite from the one or more satellites.
[0194] Example 4. A method according to any one of Examples 1 to 3, wherein the satellite pointing user interface indicates how to move the computing device to align the one or more antennas of the computing device with the one or more satellites by including at least a target shape in a fixed position, the target shape representing a target satellite from the one or more satellites, and wherein the satellite pointing user interface is updated based on a change in satellite signal strength detected by the computing device as the computing device moves to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further comprising: determining a relative change in the position and orientation of the computing device by the computing device; outputting an updated satellite pointing user interface by the computing device, the updated satellite pointing user interface including a repositionable shape representing the relative change in the position and orientation of the computing device relative to the target shape being closer or farther; and iteratively updating the updated satellite pointing user interface by the computing device based on the change in the position or orientation of the computing device relative to the target satellite to include the positional change of the repositionable shape relative to the target shape being closer or farther.
[0195] Example 5. A method according to any one of Examples 1 to 4, wherein the satellite pointing user interface includes a satellite signal strength indicator, and wherein the satellite pointing user interface is updated based on changes in satellite signal strength detected by the computing device as the computing device moves to indicate how to further move the computing device to change the horizontal alignment and vertical alignment of the one or more antennas with the one or more satellites, further comprising: the computing device iteratively updating the satellite pointing user interface to include changes to the satellite signal strength indicator based on changes in the position or orientation of the computing device relative to the target satellite and based on changes in satellite signal strength detected by the computing device as the computing device moves.
[0196] Example 6. A method according to any one of Examples 1 to 5, wherein the satellite pointing user interface indicates how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least the vertical alignment command and the horizontal alignment command, and wherein, based on a change in satellite signal strength detected by the computing device when the computing device is moved, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further comprising: determining a relative change in the position and orientation of the computing device by the computing device; and outputting an updated satellite pointing user interface by the computing device, the updated satellite pointing user interface including a fixed position. The target marker and animation, the target marker representing a target satellite from the one or more satellites, the animation indicating how to rotate the computing device left or right about a vertical axis and how to tilt the computing device forward or backward about a horizontal axis to align the one or more antennas with the target marker; and the updated satellite pointing user interface, based on changes in the position or orientation of the computing device relative to the target satellite, iteratively updates the updated satellite pointing user interface to include changes to the vertical alignment instructions and the horizontal alignment instructions by updating the animation to indicate how to rotate the computing device left or right about the vertical axis and how to tilt the computing device forward or backward about the horizontal axis to align the one or more antennas with the target marker.
[0197] Example 7. A method according to any one of Examples 1 to 6, wherein, based on changes in satellite signal strength detected by the computing device when the computing device moves, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further comprising: determining, by the computing device, the relative changes in the position and orientation of the computing device; and outputting, by the computing device, an updated satellite pointing user interface comprising a vertically oriented elongated shape and further comprising a horizontally oriented elongated shape, the vertically oriented elongated shape representing the vertical alignment of the one or more antennas of the computing device with a target satellite from the one or more satellites, and the horizontally oriented elongated shape representing the vertical alignment of the one or more antennas of the computing device with the target satellite. The horizontal alignment of the satellite; the computing device iteratively updates the updated satellite pointing user interface to include changes to the vertically oriented elongated shape by updating the size or length of the vertically oriented elongated shape to indicate how to change the vertical alignment of the one or more antennas with the target satellite by tilting the computing device forward or backward about a horizontal axis; and the computing device iteratively updates the updated satellite pointing user interface to include changes to the horizontally oriented elongated shape by updating the size or length of the horizontally oriented elongated shape to indicate how to change the horizontal alignment of the one or more antennas with the target satellite by rotating the computing device left or right about a vertical axis by updating the size or length of the horizontally oriented elongated shape to indicate how to change the horizontal alignment of the one or more antennas with the target satellite by rotating the computing device left or right about a vertical axis.
[0198] Example 8. The method according to any one of Examples 1 to 7, wherein the updated satellite pointing user interface including the vertically oriented elongated shape and the horizontally oriented elongated shape output by the computing device comprises: the updated satellite pointing user interface including the vertically oriented elongated shape and the horizontally oriented elongated shape as an overlapping vertical elongated shape, the overlapping vertical elongated shape concurrently representing, via the updated satellite pointing user interface, both the vertical alignment of the one or more antennas of the computing device with the target satellite in the vertical orientation of the one or more antennas with the target satellite and the horizontal alignment in the horizontal orientation of the one or more antennas with the target satellite, the vertical orientation corresponding to the vertically oriented elongated shape and the horizontal orientation corresponding to the horizontally oriented elongated shape.
[0199] Example 9. A method according to any one of Examples 1 to 8, wherein the updated satellite pointing user interface, comprising the vertically oriented elongated shape and the horizontally oriented elongated shape, is output by the computing device, comprising: the updated satellite pointing user interface being output by the computing device, the updated satellite pointing user interface including an animation that stretches or compresses the vertically oriented elongated shape to indicate how to tilt the computing device forward or backward about the horizontal axis to change the vertical alignment of the one or more antennas of the computing device with the target satellite; and the updated satellite pointing user interface being output by the computing device, the updated satellite pointing user interface including the animation that stretches or compresses the horizontally oriented elongated shape to indicate how to rotate the computing device left or right about the vertical axis to change the horizontal alignment of the one or more antennas of the computing device with the target satellite.
[0200] Example 10. The method according to any one of Examples 1 to 9, wherein the output of the updated satellite pointing user interface including the vertically oriented elongated shape and the horizontally oriented elongated shape by the computing device comprises: the updated satellite pointing user interface including an animation that compresses the vertically oriented elongated shape into a circle or sphere to indicate that the vertical alignment of the one or more antennas of the computing device satisfies a vertical alignment threshold with the target satellite; and the updated satellite pointing user interface including the animation that compresses the horizontally oriented elongated shape into a circle or sphere to indicate that the horizontal alignment of the one or more antennas of the computing device satisfies a horizontal alignment threshold with the target satellite.
[0201] Example 11. The method according to any one of Examples 7 to 10, wherein the vertically oriented elongated shape is selected from the group consisting of: a vertically oriented spherical cylinder; a vertically oriented cylinder; a vertically oriented ellipse; a vertically oriented ellipsoid; a vertically oriented pill shape; and a vertically oriented sphere; and wherein the horizontally oriented elongated shape is selected from the group consisting of: a horizontally oriented spherical cylinder; a horizontally oriented cylinder; a horizontally oriented ellipse; a horizontally oriented ellipsoid; a horizontally oriented pill shape; and a horizontally oriented sphere.
[0202] Example 12. A method according to any one of Examples 7 to 11, wherein, based on changes in satellite signal strength detected by the computing device when the computing device moves, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal alignment and vertical alignment of the one or more antennas with the one or more satellites, further comprising: the computing device determining relative changes in the position and orientation of the computing device; the computing device outputting an updated satellite pointing user interface depicting an avatar holding a virtual representation of the computing device and an animation indicating how to rotate the computing device left or right about a vertical axis to change the horizontal alignment and vertical alignment of the one or more antennas with the one or more satellites, the ... The system includes: horizontal alignment of multiple antennas with the target satellite; tilting the computing device forward or backward around a horizontal axis to change the vertical alignment of one or more antennas of the computing device with the target satellite; and iteratively updating the updated satellite pointing user interface by updating the animation based on changes in the position or orientation of the computing device relative to the target satellite to indicate how to rotate the computing device left or right around a vertical axis to change the horizontal alignment of one or more antennas of the computing device with the target satellite and how to tilt the computing device forward or backward around a horizontal axis to change the vertical alignment of one or more antennas of the computing device with the target satellite.
[0203] Example 13. A method according to any one of Examples 1 to 12, wherein, based on changes in satellite signal strength detected by the computing device as the computing device moves, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further comprising: the computing device determining relative changes in the position and orientation of the computing device; the computing device outputting an updated satellite pointing user interface including a top-down perspective view depicting an avatar and a virtual representation of the computing device, wherein each of the avatar and the virtual representation of the computing device is positioned within a full or partially translucent sphere, and wherein the updated satellite pointing user interface further includes animation indicating how to rotate the computing device left or right about a vertical axis. The updated satellite pointing user interface is iteratively updated to include changes to the vertical alignment instructions and the horizontal alignment instructions by changing the horizontal alignment of one or more antennas of the computing device with respect to the target satellite, and by how the computing device is tilted forward or backward about a horizontal axis to change the vertical alignment of one or more antennas of the computing device with respect to the target satellite; and by updating the animation to indicate how the computing device is rotated left or right about a vertical axis to change the horizontal alignment of one or more antennas of the computing device with respect to the target satellite, and how the computing device is tilted forward or backward about a horizontal axis to change the vertical alignment of one or more antennas of the computing device with respect to the target satellite, based on changes in the position or orientation of the computing device relative to the target satellite.
[0204] Example 14. The method according to any one of Examples 1 to 13, wherein the updated satellite pointing user interface output by the computing device, comprising a top-down perspective view depicting the avatar and the virtual representation of the computing device, further comprises the computing device outputting a virtual representation of the target satellite, the virtual representation of the target satellite being oriented on the surface of the whole or partially translucent sphere, and being positioned relative to the virtual representation of the computing device based on the detected position of the target satellite.
[0205] Example 15. The method according to any one of Examples 1 to 14, wherein the updated satellite pointing user interface output by the computing device, which includes a top-down perspective view depicting the avatar and the virtual representation of the computing device, further includes the computing device outputting a virtual representation of geographic elements in a geographic region near the computing device.
[0206] Example 16. A method according to any one of Examples 1 to 15, wherein the satellite pointing user interface indicates how to move the computing device to change the horizontal and vertical alignment of one or more antennas of the computing device with one or more satellites and how to reposition the computing device, and wherein, based on changes in satellite signal strength detected by the computing device when the computing device is moved, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites and how to reposition the computing device, further comprising: the computing device determining the relative change in the position and orientation of the computing device; and the computing device outputting the updated satellite pointing user interface. The interface, the updated satellite pointing user interface, indicates how to rotate the computing device left or right about a vertical axis to change the vertical alignment to meet the vertical alignment threshold between the one or more antennas of the computing device and a target satellite from the one or more satellites, and how to tilt the computing device forward or backward about a horizontal axis to change the horizontal alignment to meet both the horizontal alignment threshold between the one or more antennas and the target satellite; and the updated satellite pointing user interface is iteratively updated by the computing device based on changes in the position or orientation of the computing device relative to the target satellite to include animations indicating how to reposition the computing device away from one or more physical obstacles obstructing the line of sight between the computing device and the target satellite.
[0207] Example 17. A method according to any one of Examples 1 to 16, wherein iteratively updating the updated satellite pointing user interface to include the animation indicating how to reposition the computing device away from the one or more physical obstacles obstructing the line of sight between the computing device and the target satellite includes: activating the camera of the computing device; determining, based on a field of view captured from the camera, that the one or more physical obstacles obstructing the line of sight between the computing device and the target satellite are located within the line of sight between the computing device and the target satellite; and iteratively updating the updated satellite pointing user interface to include changes to instructions indicating how to reposition the computing device, the augmented reality overlay representing the position of the target satellite relative to the one or more physical obstacles within the field of view captured from the camera, by updating the animation using an augmented reality overlay.
[0208] Example 18. A computing device comprising: a processing circuitry system; a cellular radio; one or more antennas; a display; and a non-transitory computer-readable medium storing instructions that, when executed by the processing circuitry system, configure the processing circuitry system to: output a satellite pointing user interface to the display to instruct how to move the computing device to align the one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions; update the satellite pointing user interface to instruct how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites based on changes in satellite signal strength detected by the computing device as the computing device moves in both horizontal and vertical directions; establish a satellite communication connection using the one or more satellites in response to determining that the satellite signal strength satisfies a threshold satellite signal strength for both the horizontal and vertical alignments; and transmit data via the cellular radio using the satellite communication connection.
[0209] Example 19. A computing device according to Example 18, wherein the instructions cause the processing circuitry system to determine, when the computing device is connected to the one or more satellites via the satellite communication connection, that the satellite signal strength no longer meets the threshold satellite signal strength; and in response to determining that the satellite signal strength no longer meets the threshold satellite signal strength, to output an updated satellite pointing user interface to the display to indicate how to move the computing device to realign the one or more antennas of the computing device with the one or more satellites.
[0210] Example 20. A non-transitory computer-readable storage medium comprising instructions that, when executed, configure a processing circuitry system to: output a satellite pointing user interface for display, instructing how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions; update the satellite pointing user interface to instruct how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites based on changes in satellite signal strength detected by the computing device as it moves in both the horizontal and vertical directions; establish a satellite communication connection using the one or more satellites in response to determining that the satellite signal strength satisfies a threshold satellite signal strength for both the horizontal and vertical alignments; and transmit data using the satellite communication connection.
[0211] Example 21. A computing system comprising components for performing any combination of the methods described in Examples 1 to 17.
[0212] Example 22. A computer-readable storage medium encoded with instructions for performing any combination of the methods described in Examples 1 to 17.
[0213] For the processes, devices, and other examples or illustrations described herein, including in any flowcharts or diagrams, certain operations, actions, steps, or events included in any techniques described herein may be performed in a different order, may be added, combined, or omitted entirely (e.g., not all described actions or events are necessary for the practice of the technique). Furthermore, in some examples, operations, actions, steps, or events may be performed concurrently, for example, through multithreading, interrupt handling, or multiple processors, rather than sequentially. Even if not explicitly identified as automatically executed, certain operations, actions, steps, or events may be automatically executed. Additionally, certain operations, actions, steps, or events described as automatically executed may alternatively not be automatically executed, but rather, in some examples, such operations, actions, steps, or events may be performed in response to input or another event.
[0214] This description, taken in conjunction with the accompanying drawings, is intended as a description of various configurations and is not intended to represent only the configurations in which the concepts described herein can be practiced. This detailed description includes specific details to provide a comprehensive understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form to avoid obscuring such concepts.
[0215] According to the examples in this disclosure, the term "or" may be interpreted as "and / or" unless otherwise indicated by the context. Additionally, while phrases such as "one or more" or "at least one" may be used in some cases but not in others; those instances where such language is not used may be interpreted as having the meaning implied by the context unless otherwise indicated.
[0216] In one or more examples, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality may be stored as one or more instructions or code on and / or transmitted via a computer-readable medium and executed by a hardware-based processing unit. A computer-readable medium may include a computer-readable storage medium corresponding to: a tangible medium, such as a data storage medium; or a communication medium including (e.g., according to a communication protocol) any medium that facilitates the transfer of a computer program from one place to another. In this way, a computer-readable medium may generally correspond to (1) a non-transitory tangible computer-readable storage medium or (2) a communication medium such as a signal or carrier wave. A data storage medium may be any available medium accessible by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. Computer program products may include computer-readable media.
[0217] By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transient tangible storage media. This includes disks and optical discs such as compact discs (CDs), laser discs, optical discs, digital universal discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0218] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), or other equivalent integrated or discrete logic circuit systems. Therefore, as used herein, the terms "processor" or "processing circuit system" may each refer to any of the foregoing structures or any other structure suitable for implementing the described techniques. Additionally, in some examples, the described functionality may be provided within dedicated hardware and / or software modules. Furthermore, the techniques may be fully implemented in one or more circuit or logic elements.
Claims
1. A method comprising: One or more processors of a computing device output a satellite pointing user interface for display, the satellite pointing user interface indicating how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions; The computing device updates the satellite pointing user interface based on changes in satellite signal strength detected by the computing device when the computing device moves in both the horizontal and vertical directions, to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites; In response to determining that the satellite signal strength meets a threshold satellite signal strength for both the horizontal alignment and the vertical alignment, the computing device establishes a satellite communication connection using the one or more satellites; as well as The computing device transmits data using the satellite communication connection.
2. The method according to claim 1, further comprising: When the computing device is connected to the one or more satellites via the satellite communication connection, it determines that the satellite signal strength no longer meets the threshold satellite signal strength. as well as In response to determining that the satellite signal strength no longer meets the threshold satellite signal strength, the one or more processors of the computing device output an updated satellite pointing user interface for display, the updated satellite pointing user interface indicating how to move the computing device to realign the one or more antennas of the computing device with the one or more satellites.
3. The method according to claims 1 to 2, wherein, The satellite pointing user interface instructs how to move the computing device to align its one or more antennas with the one or more satellites by including at least instructions for orienting the computing device with a target satellite from the one or more satellites.
4. The method according to claims 1 to 3, in, The satellite pointing user interface indicates how to move the computing device to align the one or more antennas of the computing device with the one or more satellites by including at least a target shape in a fixed position, the target shape representing a target satellite from the one or more satellites, and The method of updating the satellite pointing user interface based on changes in satellite signal strength detected by the computing device when the computing device is moved, to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further includes: The relative changes in the position and orientation of the computing device are determined by the computing device; The computing device outputs an updated satellite pointing user interface, the updated user interface including a repositionable shape representing the relative change in position and orientation of the computing device relative to the target shape; and The computing device iteratively updates the updated satellite pointing user interface based on changes in the position or orientation of the computing device relative to the target satellite to include positional changes of the repositionable shape relative to the target shape, whether it is closer or farther away.
5. The method according to claims 1 to 4, in, The satellite pointing user interface includes a satellite signal strength indicator, and The method of updating the satellite pointing user interface based on changes in satellite signal strength detected by the computing device when the computing device is moved, to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further includes: The computing device iteratively updates the satellite pointing user interface to include changes to the satellite signal strength indicator based on changes in the computing device's position or orientation relative to the target satellite and based on changes in the satellite signal strength detected by the computing device when the computing device moves.
6. The method according to claims 1 to 5, in, The satellite pointing user interface instructs how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least the vertical alignment command and the horizontal alignment command. The method of updating the satellite pointing user interface based on changes in satellite signal strength detected by the computing device when the computing device is moved, to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further includes: The relative changes in the position and orientation of the computing device are determined by the computing device; The computing device outputs an updated satellite pointing user interface, which includes a target marker in a fixed position and an animation. The target marker represents a target satellite from the one or more satellites, and the animation indicates how to rotate the computing device left or right about a vertical axis and how to tilt the computing device forward or backward about a horizontal axis to align the one or more antennas with the target marker; and The computing device iteratively updates the updated satellite pointing user interface to include changes to the vertical alignment instructions and the horizontal alignment instructions based on changes in the position or orientation of the computing device relative to the target satellite, by updating the animation to indicate how to rotate the computing device to the left or right about the vertical axis and how to tilt the computing device forward or backward about the horizontal axis to align the one or more antennas with the target mark.
7. The method according to claims 1 to 6, in, Based on changes in satellite signal strength detected by the computing device when the computing device is moved, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further including: The relative changes in the position and orientation of the computing device are determined by the computing device; The computing device outputs an updated satellite pointing user interface, the updated satellite pointing user interface including a vertically oriented elongated shape and further including a horizontally oriented elongated shape, the vertically oriented elongated shape indicating that the one or more antennas of the computing device are vertically aligned with the target satellite from the one or more satellites, and the horizontally oriented elongated shape indicating that the one or more antennas of the computing device are horizontally aligned with the target satellite; The computing device iteratively updates the updated satellite pointing user interface to include changes to the vertically oriented elongated shape by updating the size or length of the elongated shape to indicate how to tilt the computing device forward or backward around a horizontal axis to change the vertical alignment of the one or more antennas with the target satellite, based on changes in the computing device's position or orientation relative to the target satellite; and The computing device iteratively updates the updated satellite pointing user interface to include changes to the horizontally oriented elongated shape by updating the size or length of the horizontally oriented elongated shape to indicate how to change the horizontal alignment of the one or more antennas with the target satellite by rotating the computing device to the left or right about the vertical axis.
8. The method according to claims 1 to 7, wherein, The updated satellite pointing user interface, output by the computing device, includes the vertically oriented elongated shape and the horizontally oriented elongated shape, and comprises: The computing device outputs the updated satellite pointing user interface, which includes the vertically oriented elongated shape and the horizontally oriented elongated shape as an overlapping vertical elongated shape. The overlapping vertical elongated shape concurrently represents, via the updated satellite pointing user interface, both the vertical alignment of the one or more antennas of the computing device with the target satellite in the vertical orientation of the one or more antennas with the target satellite and the horizontal alignment in the horizontal orientation of the one or more antennas with the target satellite, the vertical orientation corresponding to the vertically oriented elongated shape and the horizontal orientation corresponding to the horizontally oriented elongated shape.
9. The method according to claims 1 to 8, wherein, The updated satellite pointing user interface, output by the computing device, includes the vertically oriented elongated shape and the horizontally oriented elongated shape, and comprises: The computing device outputs the updated satellite pointing user interface, which includes animations that stretch or compress the vertically oriented elongated shape to indicate how to tilt the computing device forward or backward about the horizontal axis to change the vertical alignment of the computing device's one or more antennas with the target satellite; and The computing device outputs the updated satellite pointing user interface, which includes the animation that stretches or compresses the horizontally oriented elongated shape to indicate how to rotate the computing device left or right about the vertical axis to change the horizontal alignment of the computing device's one or more antennas with the target satellite.
10. The method according to claims 1 to 9, wherein, The updated satellite pointing user interface, output by the computing device, includes the vertically oriented elongated shape and the horizontally oriented elongated shape, and comprises: The computing device outputs the updated satellite pointing user interface, which includes an animation that compresses the vertically oriented elongated shape into a circle or sphere, thereby indicating that the vertical alignment of the one or more antennas of the computing device meets a vertical alignment threshold with the target satellite; and The computing device outputs the updated satellite pointing user interface, which includes the animation that compresses the horizontally oriented elongated shape into a circle or sphere, thereby indicating that the horizontal alignment of the one or more antennas of the computing device meets a horizontal alignment threshold with the target satellite.
11. The method according to claims 7 to 10: in, The vertically oriented elongated shape is selected from the group consisting of: A vertically oriented spherical cylinder; A vertically oriented cylinder; A vertically oriented ellipse; A vertically oriented ellipsoid; A vertically oriented pill shape; as well as A vertically oriented sphere; and The horizontally oriented elongated shape is selected from the group consisting of: A horizontally oriented spherical cylinder; A horizontally oriented cylinder; A horizontally oriented ellipse; A horizontally oriented ellipsoid; The horizontally oriented shape of the pill; and A sphere oriented horizontally.
12. The method according to claims 7 to 11, wherein, Based on changes in satellite signal strength detected by the computing device when the computing device is moved, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further including: The relative changes in the position and orientation of the computing device are determined by the computing device; The computing device outputs an updated satellite pointing user interface, which depicts an avatar holding a virtual representation of the computing device and animations indicating how to rotate the computing device left or right about a vertical axis to change the horizontal alignment of one or more antennas of the computing device with the target satellite, and how to tilt the computing device forward or backward about a horizontal axis to change the vertical alignment of one or more antennas of the computing device with the target satellite; and The computing device iteratively updates the updated satellite pointing user interface by updating the animation based on changes in the position or orientation of the computing device relative to the target satellite, indicating how to rotate the computing device left or right about a vertical axis to change the horizontal alignment of the computing device's one or more antennas with the target satellite, and how to tilt the computing device forward or backward about a horizontal axis to change the vertical alignment of the computing device's one or more antennas with the target satellite.
13. The method according to claims 1 to 12, wherein, Based on changes in satellite signal strength detected by the computing device when the computing device is moved, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, further including: The relative changes in the position and orientation of the computing device are determined by the computing device; The computing device outputs an updated satellite pointing user interface including a top-down perspective view depicting an avatar and a virtual representation of the computing device, each of which is positioned within a full or partially translucent sphere, and wherein the updated satellite pointing user interface further includes animations indicating how to rotate the computing device left or right about a vertical axis to change the horizontal alignment of one or more antennas of the computing device with the target satellite, and how to tilt the computing device forward or backward about a horizontal axis to change the vertical alignment of one or more antennas of the computing device with the target satellite; and The computing device iteratively updates the updated satellite pointing user interface to include changes to the vertical alignment instructions and the horizontal alignment instructions based on changes in the position or orientation of the computing device relative to the target satellite. This is done by updating the animation to indicate how to rotate the computing device left or right about a vertical axis to change the horizontal alignment of one or more antennas of the computing device with the target satellite, and how to tilt the computing device forward or backward about a horizontal axis to change the vertical alignment of one or more antennas of the computing device with the target satellite.
14. The method according to claims 1 to 13, in, The updated satellite pointing user interface, which outputs a top-down perspective view depicting the avatar and the virtual representation of the computing device, further includes a virtual representation of the target satellite output by the computing device, the virtual representation of the target satellite being oriented on the surface of the whole or partially translucent sphere and positioned relative to the virtual representation of the computing device based on the detected position of the target satellite.
15. The method according to claims 1 to 14, in, The updated satellite-pointing user interface, which is output by the computing device and includes a top-down perspective view depicting the avatar and the virtual representation of the computing device, further includes a virtual representation of geographic elements in a geographic region near the computing device, output by the computing device.
16. The method according to claims 1 to 15: in, The satellite-pointing user interface indicates how to move the computing device to change the horizontal and vertical alignment of one or more antennas of the computing device with one or more satellites, and how to reposition the computing device. The method of updating the satellite pointing user interface based on changes in satellite signal strength detected by the computing device when the computing device is moved, to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites, and how to reposition the computing device, further includes: The relative changes in the position and orientation of the computing device are determined by the computing device; The computing device outputs an updated satellite pointing user interface, which instructs how to rotate the computing device left or right about a vertical axis to change the vertical alignment to meet the vertical alignment thresholds of the one or more antennas of the computing device with respect to the target satellite from the one or more satellites, and how to tilt the computing device forward or backward about a horizontal axis to change the horizontal alignment to meet both the horizontal alignment thresholds of the one or more antennas with respect to the target satellite; and The computing device iteratively updates the updated satellite pointing user interface based on changes in the position or orientation of the computing device relative to the target satellite, including animations indicating how to reposition the computing device away from one or more physical obstacles that obstruct the line of sight between the computing device and the target satellite.
17. The method according to claims 1 to 16, wherein, Iteratively updating the updated satellite pointing user interface to include animations indicating how to reposition the computing device away from the one or more physical obstacles obstructing the line of sight between the computing device and the target satellite, including: Activate the camera of the computing device; The computing device determines, based on the field of view captured from the camera, that one or more physical obstacles obstructing the line of sight between the computing device and the target satellite are located within the line of sight between the computing device and the target satellite; and The computing device iteratively updates the updated satellite pointing user interface by utilizing an augmented reality overlay to update the animation based on changes in the position or orientation of the computing device relative to the target satellite, and further based on changes in the position or orientation of the computing device relative to the one or more physical obstacles within the field of view captured by the camera. This update includes changes to instructions indicating how to reposition the computing device. The augmented reality overlay represents the position of the target satellite relative to the one or more physical obstacles within the field of view captured by the camera.
18. A computing device, comprising: Processing circuit system; Cellular radio; One or more antennas; monitor; as well as A non-transitory computer-readable medium storing instructions that, when executed by the processing circuitry system, configure the processing circuitry system to: The display outputs a satellite pointing user interface to instruct how to move the computing device to align the one or more antennas of the computing device with one or more satellites by including at least vertical and horizontal alignment instructions. Based on changes in satellite signal strength detected by the computing device as it moves in both the horizontal and vertical directions, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites; In response to determining that the satellite signal strength meets a threshold satellite signal strength for both the horizontal alignment and the vertical alignment, a satellite communication connection is established using the one or more satellites; as well as Data is transmitted via the satellite communication connection using the cellular radio.
19. The computing device according to claim 18, wherein, The instruction causes the processing circuitry to determine, when the computing device is connected to the one or more satellites via the satellite communication connection, that the satellite signal strength no longer meets the threshold satellite signal strength. as well as In response to determining that the satellite signal strength no longer meets the threshold satellite signal strength, an updated satellite pointing user interface is output to the display to indicate how to move the computing device to realign the one or more antennas of the computing device with the one or more satellites.
20. A non-transitory computer-readable storage medium comprising instructions that, when executed, configure a processing circuitry of a computing device to: The output satellite pointing user interface is displayed to instruct how to move the computing device to align one or more antennas of the computing device with one or more satellites by including at least vertical alignment instructions and horizontal alignment instructions. Based on changes in satellite signal strength detected by the computing device as it moves in both the horizontal and vertical directions, the satellite pointing user interface is updated to indicate how to further move the computing device to change the horizontal and vertical alignment of the one or more antennas with the one or more satellites; In response to determining that the satellite signal strength meets a threshold satellite signal strength for both the horizontal alignment and the vertical alignment, a satellite communication connection is established using the one or more satellites; as well as Data is transmitted using the satellite communication connection.