lean satellite auto-pull

CN122804381APending Publication Date: 2026-09-22GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480088198.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-09-22

Smart Images

  • Figure CN122804381A_ABST
    Figure CN122804381A_ABST
Patent Text Reader

Abstract

The computing device can be configured to implement a lean satellite auto-pull. In some examples, the processing circuitry determines that the computing device is connected with a satellite communication network. In some examples, the processing circuitry disconnects the computing device from the satellite communication network after an inactivity period has elapsed. In some examples, the processing circuitry periodically determines whether to reconnect the computing device with the satellite communication network based on one or more reconnection conditions. In some examples, the reconnection conditions include an elapsed time since disconnection, a signal-to-noise ratio, and / or a determined change in geographic location of the computing device. In some examples, the processing circuitry reconnects the computing device with the satellite communication network based on the reconnection conditions. In some examples, the processing circuitry uses the satellite communication network to retrieve one or more messages enqueued for the computing device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a PCT application having provisional priority to U.S. Provisional Patent Application No. 63 / 625,850, filed January 26, 2024, the entire contents of which are incorporated herein by reference. Background Technology

[0002] Computing devices such as so-called smartphones, tablet computers, and the like may include one or more various radios, transceivers, and antennas for establishing wireless communication with separate communication networks through which data is received and transmitted. These communication networks include telephone networks, Internet Protocol (IP)-based networks (such as the public Internet, private networks), and satellite communication networks. 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] In general, this disclosure relates to a mobile computing device, including satellite communication capabilities, for efficiently managing the use of satellite communication networks. When a mobile device moves outside the coverage area of ​​cellular network connectivity and / or Wi-Fi network connectivity, a mobile device with satellite communication capabilities can attempt to connect to a satellite communication network to exchange information. However, users of the mobile device may dislike incurring expensive connection fees and / or consuming battery power to maintain a connection to a satellite communication network, even when the satellite communication network is available. To help users of the mobile device efficiently manage the use of satellite communication networks, the mobile device can be configured to achieve simplified use of satellite connectivity and data transmission. For example, the mobile device can be configured to automatically disconnect from the satellite communication network after periods of inactivity and assess when to reconnect to the satellite communication network to check messages. By automatically disconnecting and reconnecting the mobile device to the satellite communication network, the mobile device manages satellite data connectivity more efficiently and reduces battery consumption compared to a mobile device that continuously maintains a connection to an available satellite communication network, while enabling the mobile device to use the satellite communication network to intermittently send and receive messages.

[0004] In some examples, the computing device is configured to implement simplified automatic satellite retrieval. For example, the processing circuitry may determine that the computing device is connected to a satellite communication network. In such examples, after a period of inactivity has elapsed, the processing circuitry disconnects the computing device from the satellite communication network. For example, the processing circuitry may periodically determine whether to reconnect the computing device to the satellite communication network based on one or more reconnection conditions. For example, reconnection conditions may include the time elapsed since the computing device was disconnected from the satellite communication network. In some examples, reconnection conditions include the signal-to-noise ratio measured at the computing device. Reconnection conditions may include a determined change in the geographical location of the computing device since it was disconnected from the satellite communication network. In response to determining to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, the processing circuitry may reconnect the computing device to the satellite communication network. In some examples, the processing circuitry uses the satellite communication network to retrieve one or more messages queued for the computing device.

[0005] In another example, the computing device includes a processing circuitry system, one or more antennas, a cellular radio, a satellite communications activity monitor, and a non-transitory computer-readable medium storing instructions. In such an example, the instructions, when executed by the processing circuitry system, can configure the processing circuitry system to perform operations. For example, the instructions can configure the processing circuitry system to determine that the computing device is connected to a satellite communications network. For example, after an inactive period has passed, the instructions can configure the processing circuitry system to disconnect the computing device from the satellite communications network. In some examples, the instructions configure the processing circuitry system to periodically determine, via the satellite communications activity monitor, whether to reconnect the computing device to the satellite communications network based on one or more reconnection conditions. The one or more reconnection conditions may include the time elapsed since the computing device disconnected from the satellite communications network. The one or more reconnection conditions may include a signal-to-noise ratio measured at the computing device. In other examples, the one or more reconnection conditions include a determined change in the geographical location of the computing device since it disconnected from the satellite communications network. In response to the satellite communications activity monitor determining to reconnect the computing device to the satellite communications network based on one or more reconnection conditions, the instructions can configure the processing circuitry system to use a cellular radio to reconnect the computing device to the satellite communications network. For example, instructions can configure the processing circuitry to use a satellite communication network to retrieve one or more messages queued for the computing device.

[0006] In at least one example, the computer-readable storage medium includes instructions that, when executed, configure a processing circuit system to perform an operation. For example, when executed by the processing circuit system, the instructions may configure the processing circuit system to perform an operation. For example, the instructions may configure the processing circuit system to determine that a computing device is connected to a satellite communication network. In such an example, after a period of inactivity has elapsed, the instructions may configure the processing circuit system to disconnect the computing device from the satellite communication network. For example, the instructions may configure the processing circuit system to periodically determine, via a satellite communication activity monitor, whether to reconnect the computing device to the satellite communication network based on one or more reconnection conditions. The one or more reconnection conditions may include the time elapsed since the computing device disconnected from the satellite communication network. The one or more reconnection conditions may include a signal-to-noise ratio measured at the computing device. In other examples, the one or more reconnection conditions include a determined change in the geographical location of the computing device since it disconnected from the satellite communication network. In response to the satellite communication activity monitor determining to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, the instructions may configure the processing circuit system to use cellular radio to reconnect the computing device to the satellite communication network. For example, the instructions configure the processing circuitry to use a satellite communication network to retrieve one or more messages queued for the computing device.

[0007] Details of one or more examples of this disclosure are set forth in the accompanying drawings and the following description. Other features, objectives, and advantages will be apparent from the specification, drawings, and claims. Attached Figure Description

[0008] Figure 1 An example computing system is shown that is configured to use a terrestrial-based cellular communication system and a satellite-based cellular communication system according to one or more technologies of this disclosure.

[0009] Figures 2A to 2G An example computing system is shown that facilitates the use of a satellite-pointing user interface to connect a computing device to a satellite, according to the technology of this disclosure.

[0010] Figures 3A to 3D This is a conceptual diagram of an example computing system configured to implement simplified automatic satellite retrieval based on the technology disclosed herein.

[0011] Figures 4A to 4D An example computing system is shown that is configured to enable a computing device to switch between a terrestrial-based cellular communication system and a satellite-based cellular communication system, according to one or more technologies of this disclosure.

[0012] Figure 5This 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 mode of operation for a computing device to implement a satellite-pointing user interface according to the technology of this disclosure.

[0014] Figure 7 This is a flowchart illustrating an example mode of operation for enabling a computing device to perform simplified automatic satellite retrieval according to the technology of this disclosure.

[0015] Figure 8 This is a flowchart illustrating an example mode of operation for enabling a computing device to perform cellular network scanning when connected to a satellite communication network, according to the technology of this disclosure.

[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 cellular communication systems and satellite-based cellular communication systems according to one or more technologies of this disclosure are shown. 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 by computing device 105. In some examples, cellular communication network 196 includes one or more terrestrial cellular communication towers to facilitate cellular communication by 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 may sometimes be 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”), and the like.

[0019] exist Figure 1In the example, computing device 105 includes a cellular communication module 115 having a cellular radio 116 via which communication is made using cellular communication with satellite communication network 183 and / or cellular communication network 196. Cellular radio 116 is sometimes referred to as a cellular transceiver or cellular transmitter / receiver. Figure 1 In 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 through the operating system of computing device 105 for use with satellite-based cellular communication. In other examples, satellite communication module 110 indirectly accesses cellular radio 116 through cellular communication module 115 of computing device 105 for use with 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 satellite communication network 183 using satellite-based cellular communications. In such an example, satellite-pointing user interface 150 may 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 area covered by a terrestrial cellular network, it will lose connection to cellular communication network 196. Even outside terrestrial cellular network coverage, computing device 105 remains within the communication range of satellite communication network 183, which uses cellular communication. Computing device 105 can connect to satellite communication network 183, providing it with 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 satellite pointing user interface 150 for display. In such an example, satellite pointing user interface 150 helps the user of the computing device better align the computing device's antenna 112 with the satellite 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 the computing device 105 implements the satellite-pointing user interface 150. In such an example, the processing circuitry 199 can output instructions on 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 for display purposes. For example, the satellite-pointing user interface 150 can instruct the user to pivot the computing device 105 to the left and right, or tilt the computing device 105 forward and backward, reposition the computing device 105 away from an obstacle obstructing the line of sight between the computing device 105 and the satellite 195, or some combination of movements. In this way, even in the event of a weak signal between the computing device 105 and the satellite 195, the satellite-pointing user interface 150 can facilitate the establishment of a satellite communication session 180 between the satellite 195 and the 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 moves, 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 195. In other words, as the user moves the computing device 105 relative to the satellite 195, one or more antennas 112 of the computing device 105 will be reoriented relative to the satellite 195, potentially increasing or decreasing the satellite signal strength between the satellite 195 and the computing device. Therefore, the satellite pointing user interface 150 can iteratively update the instructions 151 for pointing, moving, and / or reorienting the computing device 105 relative to the orientation of the antennas 112 with respect to the satellite 195. For example, when pivoting the computing device 105 to the left reduces the satellite signal strength, the satellite pointing user interface 150 can responsively update the 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 to the user interface 150 can be iteratively updated in a cyclical manner 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 the satellite communication connection 180. Once the computing device 105 has successfully established the 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 transmit data.

[0025] Computing device 105 can exchange messages with one or more other devices via satellite communication session 180. Instead of continuously checking to determine if a message is queued and waiting to be received by computing device 105—which could be resource-intensive—a simplified, automated satellite pull approach could be implemented to utilize satellite connectivity more efficiently. For example, consider computing device 105 maintaining a continuous connection to satellite communication network 183. This continuous connection could subject users to unwanted network usage costs. 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 transmit and receive information. Furthermore, sending and receiving data—even small amounts used to keep 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 implement simplified 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, employing efficient and simplified satellite auto-retrieval, to receive, retrieve, send, and / or transmit one or more messages 166. 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 can disconnect computing device 105 from satellite communication network 183 after periods of inactivity to reduce resource consumption of computing device 105. While disconnected from satellite communication network 183, satellite communication activity monitor 153 of computing device 105 can monitor various reconnection criteria on behalf of computing device 105. For example, reconnection criteria can be used by the automatic pull manager 170 to determine whether to reconnect to satellite communication network 183 to transmit or receive messages 166. For example, consider computing device 105 sending a message with an expected response. Disconnecting computing device 105 from satellite communication network 183 and reconnecting later to check the expected message can be more efficient than maintaining a connection to satellite communication network 183 until the message is received. Maintaining a connection can consume bandwidth and power, and may incur costs for the user of computing device 105, which can be reduced or eliminated by using satellite communication network 183 more efficiently. Automatic pull manager 170 can facilitate the automatic evaluation of various reconnection conditions to determine whether computing device 105 should reconnect to 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 simplified automatic satellite pull. 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 attempted reconnection 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 established satellite communication sessions 180 that are in active use of computing device 105, as unwanted disconnections could negatively impact the 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 that the computing device 105 has been 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 time elapsed since disconnection, the signal-to-noise ratio, and / or the geographic location of the computing device 105. For example, various reasons for reconnection can be considered. The time elapsed since disconnection can establish the basis for reconnecting the computing device 105 to the satellite communication network 183. Several combinations of factors can be considered. For example, it can be considered that the computing device 105 has moved outside satellite coverage—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 a sufficiently long period of time has elapsed since the disconnection, based on, for example, the computing device having moved outside the active coverage area of ​​satellite communication network 183, the automatic pull manager 170 can still determine not to attempt a reconnection. When computing device 105 is outside the connectivity 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 if not all reconnection conditions are met. For example, consider 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 waiting to be transmitted is a satisfactory basis for reconnecting computing device 105 to 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 transmit and receive messages and check queued messages. For example, the computing device 105 can download emails and receive queued text messages from a mobile operator. 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 a period of inactivity 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] While computing device 105 is connected to satellite communication network 183, one or more alternative communication networks may come into accessibility range, such as cellular communication network 196 and / or Wi-Fi networks. While computing device 105 remains connected to satellite communication network 183, it may incur usage fees, consume battery reserves faster compared to alternative communication networks, and experience higher network latency and degraded 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 may 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 may 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 fees, and improve network latency and bandwidth conditions for computing device 105. In some examples, computing device 105 transitions 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, while computing device 105 remains connected to satellite communication network 183, computing device 105 uses cellular radio 116 to scan for cellular communication network 196 or other non-satellite connectivity networks. In some examples, processing circuitry 199 of computing device 105 initiates cellular network scan 185 while evaluating whether to reconnect to satellite communication network 183. 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 it is determined that computing device 105 can access a communication network different from satellite communication network 183, computing device 105 can automatically switch from satellite communication network 183 to another network. Computing device 105 can be configured to prompt for permission before terminating connectivity with satellite communication network 183, or alternatively, can be configured to automatically terminate connectivity with satellite communication network 183 and reconnect to cellular communication network 196 when 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, including a satellite-pointing user interface (UI) 250 to facilitate the connection of computing device 205 to satellite 295. Figure 2A In one example, computing device 205 includes a display 206 interface on which the satellite pointing UI 250 can be output or otherwise displayed to the user. In some examples, display 206 may be a touchscreen display interface, a touch-sensitive display interface, or a non-touchscreen display on which the satellite pointing UI 250 is output.

[0034] The computing device 205 may be configured to have a satellite-pointing user interface 250 to aid 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 The computing device 205 communicates with satellite 295 via its component 116. For example, the computing device 205 may use a cellular radio communicatively interfaced with its satellite communication module 210 to communicate with satellite 295 using a cellular communication protocol. In such an example, satellite connectivity may be available, but the satellite signal strength with satellite 295 may be improved relative to the redirecting antenna 212, or the computing device 205 may be able to establish a satellite communication session 281 with satellite 295. Therefore, the computing device 205 may be configured to output a satellite pointing UI 250 for display 206 to the computing device 205, thereby facilitating the establishment of a 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 weak satellite signal. Outputting a satellite pointing UI 250 to the computing device 205 instructing how to reorient the computing device 205 to better position 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 by including at least vertical and horizontal alignment commands, instructing 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. For example, the instructions 251 can instruct a user to rotate the computing device left or right, or pivot the computing device forward or backward. In an alternative example, instruction 251 may instruct the user to rotate left or right, rather than to rotate computing device 205 to the left or right. In yet another example, instruction 251 may instruct the user to raise or lower computing device 205, rather than to tilt 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, satellite pointing UI 250 can be updated in real-time or near real-time to change instructions 251 provided 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, as computing device 205 moves, computing device 205 updates satellite pointing UI 250 based on changes in satellite signal strength detected by computing device 205. In some examples, computing device 205 updates satellite pointing UI 250 as computing device 205 moves vertically, horizontally, or both vertically and horizontally. In some examples, computing device 205 updates 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 (such as a dial, graph, or moving chart) depicting how the satellite signal strength changes over time as the computing device 205 reorients itself 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 updates the Satellite Pointing UI 250 to use the Satellite Signal Strength Indicator 252 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 transmit data 294 after connecting to satellite 295. For example, computing device 205 can transmit data 294 via satellite to emergency services, to different computing devices, or to a cloud computing service accessible via the public internet.

[0039] In some examples, computing device 205 may use a processing circuitry system to perform operations. 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 configured with a satellite-pointing user interface (UI) 250 to facilitate connection of a computing device 205 to a satellite 295 according to the technology of this disclosure. The computing device 205 may be configured with a dedicated user interface for outputting satellite signal strength information. For example, the computing device 205 depicted herein further includes a satellite signal strength user interface (satellite signal strength UI) 255. In some examples, the satellite signal strength UI 255 displays a satellite signal strength indicator (SSI) 260. In other examples, the satellite signal strength indicator 260 is output by the computing device 205 as a separate user interface component. For example, the satellite signal strength UI 255 may be output alongside, above, below, or overlapping other UIs output to the computing device 205. The satellite signal strength UI 255 may be output as a sub-element of the satellite-pointing UI 250, or alternatively, it may be output as a separate component for display to the 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 use when updating the instruction 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 an updated instruction 251 instructing how to move the computing device 205 to align the antenna 212 with the satellite 295.

[0043] When outputting satellite pointing UI 250 to display 206, computing device 205 may evaluate whether to automatically connect computing device 205 to satellite 295 based on whether the satellite signal strength and / or signal-to-noise ratio 256 at computing device 205 meets a threshold. In some examples, if the satellite signal strength and / or signal-to-noise ratio 256 at computing device 205 fails to meet the threshold, the processing circuitry may update the satellite pointing user interface 250 based on changes in satellite signal strength 256 detected by computing device 205 as computing device 205 moves in both the horizontal and vertical directions, indicating how to further move 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 satellite signal strength for both horizontal and vertical alignment, the processing circuitry of computing device 205 may 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 transmit queued 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 with instructions 251 for moving computing device 205 to improve connectivity conditions. 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 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 may be guided to use the updated satellite pointing UI 250 to re-establish or improve satellite connectivity 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 at least including instructions 251 for aligning the orientation of the computing device 205 with the 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 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 changes 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 moves.

[0047] Figure 2C This is a conceptual diagram illustrating a computing system configured with a satellite-pointing user interface 250 to facilitate connection of a computing device 205 to a satellite 295, according to the technology of this disclosure. For example, the computing device 205 may 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 the computing device 205, while others may be more complex but provide improved tools, data, and nuances for establishing a satellite connection, even under challenging conditions. Other variations of the satellite-pointing user interface 250 may be more aesthetically pleasing to some users. The 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 a target marker and / or target shape 270. The computing device 205 may display a compass-type dial with the target marker 270 and the repositionable shape 271; however, other shapes and markers are similarly 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 record a change in the repositionable shape 271 within the satellite pointing user interface 250 corresponding to the movement. 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 showing 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 showing how to move the computing device 205 forward or backward by tilting it. For example, the length of the arrows depicted herein as animations 280A and 280B can be increased and decreased, their size can be increased and decreased, and / or their color can be changed to indicate to the user that the computing device 205 is being moved closer to or further away from the horizontal and vertical alignment orientations. Other animations are permissible, such as variations in the frequency or rate of movement of animations 280A and 280B, concurrent haptic feedback with animations 280A and 280B, and / or variations in light intensity concurrent 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 in a fixed position, a target shape 270 representing a target satellite 289 from 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 including a repositionable shape 271 representing the relative change in the position and orientation of the computing device 205 closer to or further away from the target shape 270. In some examples, the processing circuitry again updates the satellite pointing user interface 250 based on the change in the position or orientation of the computing device 205 relative to the target satellite 289 to include the change in the position of the repositionable shape 271 closer to or further away from the target shape 270.

[0050] The computing device 205 can concurrently display changes in satellite signal strength with animations 280A, 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 satellite signal strength 256 detected by the computing device 205 as the computing device 205 moves relative to the target satellite 289, based on changes in the position or orientation of the computing device 205.

[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 interface includes: a target marker 270 in a fixed position representing a target satellite 289 from one or more satellites 295; and animations 280A and 280B instructing how to rotate computing device 205 left or right on the vertical axis and how to tilt computing device 205 forward or backward on the horizontal axis to align one or more antennas 212 with the target marker 270. Although the user of computing device 205 cannot visually inspect the target satellite 289, the target marker 270 in a fixed position helps the user conceptualize the alignment task to better facilitate successful maneuvering. In some examples, the processing circuitry iteratively updates the satellite pointing user interface 250 to include changes in vertical and horizontal alignment instructions 251 by updating animations 280A, 280B based on changes in the position or orientation of the computing device 205 relative to the target satellite 289 to indicate how to rotate the computing device 205 left or right on the vertical axis and how to tilt the computing device 205 forward or backward on 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 configured with a satellite-pointing user interface 250 to facilitate the connection of a computing device 205 to a satellite 295 according to the technology of this disclosure. The 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 relative changes in the position and orientation of the computing device 205 and outputs an updated satellite-pointing user interface 250, which includes an elongated shape 268 representing a vertical alignment 263 of one or more antennas 212 of the computing device 205 with a target satellite 289 from one or more satellites 295, and further includes an elongated shape 269 representing a horizontal alignment 264 of the one or more antennas 212 of the computing device 205 with the target satellite 289. Such shapes can help the user conceptually understand the task of aligning the 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 in the vertically oriented elongated shape 268 by updating the size or length of the vertically oriented elongated shape 268 based on changes in the position or orientation of the computing device 205 relative to the target satellite 289 to indicate how to tilt the computing device 205 forward or backward on the horizontal axis to change the vertical alignment 263 of one or more antennas 212 with the target satellite 289. In some examples, the processing circuitry iteratively updates the updated satellite pointing user interface 250 to include changes in the horizontally oriented elongated shape 269 by updating the size or length of the horizontally oriented elongated shape 269 based on changes in the position or orientation of the computing device 205 relative to the target satellite 289 to indicate how to rotate the computing device 205 left or right on the vertical axis to change the horizontal alignment 264 of one or more antennas 212 with the target satellite 289.

[0053] The satellite pointing user interface 250 can be configured to use elongated shapes to visually indicate whether the computing device 205 is moving toward a better alignment 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 including vertically oriented elongated shapes 268 and horizontally oriented elongated shapes 269 as overlapping vertical elongated shapes. These overlapping vertical elongated shapes concurrently represent, via the updated satellite pointing user interface 250, both the vertical orientation of one or more antennas 212 corresponding to the vertically oriented elongated shape 268 of the target satellite 289 and the horizontal orientation of one or more antennas 212 corresponding to the horizontally oriented elongated shape 269 of the target satellite 289, representing both the vertical alignment 263 and the horizontal alignment 264 of the computing device 205's one or more antennas 212 with the target satellite 289. In such an example, the satellite pointing user interface 250 may output updates to the satellite pointing user interface 250, including an animation 280A, 280B that elongates or compresses the vertically oriented elongated shape 268, indicating how to tilt the computing device 205 forward or backward on the 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, including animations 280A, 280B that elongate or compress the horizontally oriented elongated shape 269, indicating how to rotate the computing device 205 left or right on the 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 alignment of computing device 205 with target satellite 289 is increasing or decreasing. For example, satellite pointing user interface 250 can output updates of animations 280A, 280B, including compressing a vertically oriented elongated shape 268 into a circle or sphere, indicating that the vertical alignment 263 of one or more antennas 212 of computing device 205 meets a vertical alignment threshold with target satellite 289. Satellite pointing user interface 250 can also output updates of animations 280A, 280B, including compressing a horizontally oriented elongated shape 269 into a circle or sphere, indicating that the horizontal alignment 264 of one or more antennas 212 of computing device 205 meets a horizontal alignment threshold with 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 also be used.

[0055] Figure 2E This is a conceptual diagram illustrating a computing system configured with a satellite-pointing user interface 250 to facilitate connection of computing device 205 to satellite 295 according to the technology of this disclosure. The user of computing device 205 can benefit from an avatar 272 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 representing a virtual representation of a person holding a computing device 205, and animations 280A, 280B instructing how to rotate the computing device 205 left or right on the 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 on the 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 by updating animation 280A to instruct how to rotate the computing device 205 left or right on the vertical axis to change the horizontal alignment 264 of one or more antennas 212 of the 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, which indicates how to tilt the computing device 205 forward or backward on the 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 animation 280A and animation 280B, which indicate how to rotate and how to tilt the computing device 205.

[0057] Figure 2F This is a conceptual diagram illustrating a computing system configured with a satellite-pointing user interface 250 to facilitate the connection of computing device 205 to satellite 295 according to the technology of this disclosure. The user of computing device 205 can benefit from a graphical perspective in which the user is represented within a partial sphere or globe, having 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 that includes a top-down 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 fully or partially translucent sphere 298. In some examples, the updated satellite-pointing user interface 250 further includes animations 280A, 280B indicating how to rotate the computing device 205 left or right on the 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 on the 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 in vertical and horizontal alignment instructions 251 by updating animations 280A, 280B based on changes in the position or orientation of the computing device 205 relative to the target satellite 289 to indicate how to rotate the computing device 205 left or right on the 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 on the 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 updates to the satellite-pointing user interface 250, including virtual representations of target satellite 266 oriented on the surface of the fully or partially translucent sphere 298 and positioned based on the detected position of target satellite 289 relative to a virtual representation of computing device 205. In some examples, the processing circuitry outputs virtual representations of geographic elements in a geographic region near computing device 205. For example, the satellite-pointing user interface 250 may output one or more of buildings, geological features (such as mountains, hills, rivers, lakes, etc.), and man-made infrastructure elements (such as roads and highways) for display. Geographic elements may be displayed inside or outside the fully or partially translucent sphere 298, depending on how close or far they are from the computing device 205.

[0060] In some examples, the satellite-oriented user interface 250 instructs how to move computing device 205 to change the horizontal alignment 264 and vertical alignment 263 of one or more antennas 212 of computing device 205 with one or more satellites 295, and how to reposition computing device 205. For example, the processing circuitry can output instructions 251 instructing how to physically change the current physical location of computing device 205 to a new geographic location or any other geographic location different from its current location. For example, consider moving computing device 205 within a canyon. The processing circuitry can output instructions 251 instructing how to physically change the current physical location of computing device 205 from within the canyon to a location on the canyon roof or potentially near the canyon's end, such as exposing computing device 205 to a better view of the sky and potentially removing obstacles from 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, indicating how to rotate the computing device 205 left or right on the vertical axis to change the vertical alignment 263 to satisfy the vertical alignment thresholds of one or more antennas 212 of the computing device 205 with respect to the target satellite 289 from one or more satellites 295, and how to tilt the computing device 205 forward or backward on the horizontal axis to change the horizontal alignment 264 to satisfy both the horizontal alignment thresholds of one or more antennas 212 with respect to 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 indicating 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 configured with a satellite-pointing user interface 250 to facilitate the connection of computing device 205 to satellite 295 according to the technology of this disclosure. Computing device 205 can be configured to assess whether an obstacle 292 is interfering with establishing a clear line of sight between the computing device and the target satellite 289. For example, such an obstacle can be sensed using a camera 293 of computing device 205. 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 updates to the satellite-pointing user interface 250 to include changes in instructions 251 instructing how to reposition the computing device 205 by utilizing augmented reality 241 overlay map update animations 280A, 280B representing the location 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 may capture incoming 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), autofocus mechanisms, optical image stabilization (OIS), and computational photography algorithms, may further enhance the performance and capabilities of camera 293. In some examples, camera 293 may be controlled by 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 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 implement simplified automatic satellite retrieval according to the technology disclosed herein. When the computing device 305 moves outside the coverage area of ​​cellular network connectivity and / or Wi-Fi network connectivity, the computing device 305 may attempt to connect to the satellite communication network 383 to exchange information. The computing device 305 can be configured to achieve efficient use of satellite connectivity resources by implementing simplified automatic satellite retrieval. When connected to the satellite communication network 383, the use of satellite connectivity resources may incur connection fees and / or consume battery power. The computing device 305 can be configured to automatically disconnect from the satellite communication network after periods of inactivity and assess when to reconnect to the satellite communication network to check messages and / or use the satellite communication network 383 to 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 to facilitate the retrieval of one or more messages 366 queued by a communication network and awaiting reception by computing device 305 (e.g., ready to be transmitted 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 to satellite communication network 383 to exchange messages 366 based on the monitored reconnection conditions 357. In some examples, computing device 305 may reconnect to satellite communication network 383 to send queued messages, and / or reconnect to satellite communication network 383 to check for and retrieve anticipated messages that have not yet been received at computing device 305.

[0067] In this way, computing device 305 can provide simplified 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 reduced 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. After an inactive period has passed, the processing circuitry can automatically disconnect computing device 305 from satellite communication network 383. 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] When determining whether to automatically reconnect, computing device 305 can evaluate various reconnection conditions 357. In some examples, reconnection conditions 357 include the elapsed time (ET) 354 since computing device 305 was disconnected from satellite communication network 383. Reconnection conditions 357 may include the signal-to-noise ratio (SNR) 355 or satellite signal strength measured at computing device 305 (see [link to relevant documentation]). Figure 2A (element 252 at the location). 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 change in location. In some examples, the change in location may be determined by comparing the GPS 356 location of computing device 305 at the time of disconnection with the current GPS 356 location of computing device 305.

[0070] The computing device 305 can determine that the reconnection condition 357 is a sufficient basis for automatically reconnecting to the satellite 395. In some examples, the processing circuitry reconnects the computing device 305 to the satellite communication network 383 based on one or more reconnection conditions 357. For example, the processing circuitry can reconnect the computing device 305 to the satellite communication network 383 in response to a change in one or more reconnection conditions 357, based on the satisfaction of at least one of the reconnection conditions 357, and / or based on the satisfaction of a threshold value for at least one of the reconnection conditions 357. For example, the processing circuitry can reconnect the computing device 305 to the satellite communication network 383 based on an evaluation of one or more reconnection conditions 357. After reconnection, the computing device 305 can use the satellite 395 to retrieve data. For example, the processing circuitry of the computing device 305 can use the satellite communication network 383 to retrieve one or more messages 366 enqueued for the 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 a period of inactivity 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, in response to establishing satellite communication session 381, computing device 305 retrieves one or more messages 366.

[0072] Figure 3B This is a conceptual diagram of a computing system configured to implement simplified automatic satellite retrieval according to the technology of this disclosure. When determining whether to automatically reconnect with satellite 395, computing device 305 can assess the elapsed time and distance traveled. In some examples, the processing circuitry of computing device 305 determines that the computing device is connected to satellite communication network 383 and automatically disconnects the computing device 305 from satellite communication network 383. For example, the processing circuitry can automatically disconnect the 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 the computing device 305 to satellite communication network 383. For example, the processing circuitry can determine whether to reconnect the computing device 305 to satellite communication network 383 based on one or more reconnection conditions 357. In response to reconnection, computing device 305 can obtain, collect, and / or retrieve one or more messages 366 enqueued for computing device 305.

[0073] In some examples, the processing circuitry determines a disconnection location 311A ​​corresponding to the geographical location of the computing device 305, consistent with disconnecting the computing device 305 from the satellite communication network 383. For example, the geographical location of the computing device 305 can be obtained at time 0, as per [reference to time 0]. Figure 3B The time arrow in the example is shown. The processing circuitry can determine the new location 311B of computing device 305 corresponding to its current geographical location. For example, the processing circuitry of computing device 305 can determine the new location 311B at time N, as per the example... Figure 3BThe time arrows in the examples are shown. In at least one example, the processing circuitry determines the old location and the new location 311B, identified as disconnected location 311A, 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 ​​and the new location 311B.

[0074] The computing device 305 can assess whether a change in location 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] When evaluating reconnection condition 357, computing device 305 can utilize GPS signals or GPS data and coordinates. For example, distance 314 can 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 the determination that the new location 311B meets a threshold geographic distance from the disconnected location 311A, the processing circuitry reconnects computing device 305 to satellite communication network 383. In this way, computing device 305 can be configured to periodically check for new messages 366 based on a pre-configured distance traveled by computing device 305 corresponding to the threshold geographic distance from the disconnected location 311A. For example, consider computing device traveling at sea with a ship. The ship may enter an area lacking coverage by satellite 395 of satellite communication network 383 and re-enter an area providing coverage by satellite 395 of satellite communication network 383. When the computing device 305 is configured to periodically check the message 366 based on a threshold geographical distance that the computing device has moved from the disconnection location 311A, the computing device 305 can both save energy by using simplified satellite automatic retrieval and increase the likelihood that the computing device 305 can successfully retrieve the message using the satellite communication network 383.

[0076] When evaluating reconnection condition 357, computing device 305 can utilize machine learning (ML) and / or artificial intelligence (AI). Figure 3BIn one example, the automatic pull manager 370 includes an AI model 359. The AI ​​model 359 can 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 predictive outputs (such as a suggestion or determination on whether to reconnect to satellite 395). For example, the AI ​​model 359 can 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 can evaluate whether changes in location (e.g., changes based on distance 314, disconnected location 311A, and new location 311B, etc.) satisfy the 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 suggestion or determination from the AI ​​model 359 as output regarding whether to reconnect to the satellite communication session 381, and responsively act on the output provided by the AI ​​model 359 (e.g., the automatic pull manager 370 can perform reconnection based on the determination and / or suggestion for reconnection provided by the AI ​​model 359 as output). In other examples, the automatic pull manager 370 can weight the suggestion of whether to reconnect as output by the AI ​​model 359. 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 prior to use. The local execution of the pre-provisioned AI model 359 can be beneficial due to the possibility that the computing device 305 can utilize the AI ​​model 359 when network connectivity is absent or limited. In some examples, AI model 359 implements recursive machine learning to update the parameters within the neural network utilized by AI model 359 based on the provided previous reconnection condition 357 and whether the AI ​​model 359's recommendations have enabled computing device 305 to reconnect with satellite communication session 381 and successfully download 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.

[0077] Figure 3CThis is a conceptual diagram of a computing system configured to implement simplified automatic satellite retrieval according to the technology of this disclosure. The computing device 305 can transmit an expected incoming message 385 that has not yet been received but is anticipated as an outgoing message 386. 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 the determination 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 at least retrieve the expected incoming message 385.

[0078] In some examples, the processing circuitry sends an outgoing message 386 requiring 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 ringtone 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 response 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 implement simplified automatic satellite retrieval 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 satellite connectivity 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 transmit emergency data transmission 384 from the computing device 305 to emergency services.

[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, automatic connection cannot be established. Computing device 305 can be configured to responsively output a satellite pointing UI 350 to facilitate connectivity 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 connectivity threshold. In some examples, in response to determining that the signal-to-noise ratio 355 no longer meets the minimum connectivity 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 to instruct how to further align one or more antennas 312 of computing device 305 with one or more satellites 395. In some examples, in response to determining that the signal-to-noise ratio 355 measured at computing device 305 meets a minimum connectivity threshold when the output satellite is pointed at user interface 350, the processing circuitry reconnects computing device 305 to satellite communication network 383. In some examples, the processing circuitry exchanges data 394 between computing device 305 and emergency services via satellite communication network 383.

[0081] When a connection is established with satellite 395, computing device 305 can check the queued messages 366, including emergency communications queued as message 366. In other examples, computing device 305 can be configured to provide an icon that a user can use to initiate a satellite reconnection. For example, while computing device 305 is disconnected from satellite communication network 383, processing circuitry can determine whether one or more messages 366 have been queued for transmission by computing device 305. In some examples, in response to determining that one or more messages 366 have been queued for transmission by computing device 305, processing circuitry of computing device 305 can output a press-to-send-message icon 332 to be displayed 306 to the user interface. In some examples, processing circuitry receives input via computing device 305 indicating that the press-to-send-message icon 332 has been activated. In some examples, processing circuitry reconnects computing device 305 to satellite communication network 383 in response to receiving input indicating that the press-to-send-message icon 332 has been activated. In some examples, the processing circuitry system uses a satellite communication network 383 to transmit one or more messages 366 that have been queued for transmission.

[0082] In other examples, the processing circuitry can 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 can output a manual pull message icon 333 to be displayed 306 to the user interface via the computing device 305. In some examples, the processing circuitry receives input via the computing device 305 indicating that the manual pull message icon 333 has been activated. In some examples, in response to receiving input indicating that the manual pull message icon 333 has been 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 enqueued for the computing device 305.

[0083] In some examples, the processing circuitry determines whether the signal-to-noise ratio 355 measured at the computing device 305 meets the minimum connectivity threshold for reconnecting the computing device 305 to the satellite communication network 383 when the computing device 305 is disconnected. In some examples, in response to determining that the signal-to-noise ratio meets the minimum connectivity threshold for reconnecting the computing device 305 to the satellite communication network 383, the processing circuitry outputs a satellite connectivity availability icon 333 to the user interface via the computing device 305 for display 306.

[0084] In some examples, the processing circuitry determines, via computing device 305, that a period of inactivity at the user interface (e.g., display 306) meets a threshold period of inactivity. In some examples, the processing circuitry reconnects computing device 305 to satellite communication network 383 in response to determining that the threshold period of inactivity is met.

[0085] Figure 4A This is a conceptual diagram of a computing system configured to scan for cellular communication networks 496 or other non-satellite communication networks when a computing device 405 is connected to a satellite communication network 483, according to the technology disclosed herein. Using the satellite communication network 483 may incur financial costs for the user and may also consume more energy, leading to excessive battery drain on the computing device 405, compared to using other non-satellite communication networks. The computing device 405 can be configured to automatically disconnect from satellite connectivity and reconnect to the available cellular communication network 496 and / or Wi-Fi network to reduce satellite resource consumption. The computing device 405 can initiate a cellular network scan 485 to search for cellular communication networks 496 within the communication range of the 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, which are capable of communicating with satellite 495 of satellite communication network 483 using cellular radio 416 and with cellular communication network 496 using cellular radio 416. An established satellite communication session 480 between computing device 405 and satellite communication network 483 is depicted, wherein computing device 405 performs 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 may scan non-satellite-based networks for various reasons, including to provide redundant or fail-safe communication paths, to reduce the financial costs of network connectivity, to reduce communication latency, to improve communication bandwidth, and to improve overall communication performance and resilience. For example, communication between computing device 405 and a terrestrial cell tower of cellular communication network 496 may perform better than alternative equivalent communication with satellite 495 of satellite communication network 483.

[0088] exist Figure 4A In the example, in the absence of any other wireless communication channels (such as cellular, Wi-Fi, etc.), the established satellite communication session 480 can provide communication capabilities to the computing device 405, and thus the computing device 405 can be configured to connect to and communicate with the satellite communication network 483, and when connected to the satellite communication network 483, periodically perform a cellular network scan 485 to check the availability of alternative communication channels.

[0089] exist Figure 4AIn some examples, computing device 405 may use its satellite communication module 410 to communicate with either satellite 495, or alternatively, via its cellular radio 416 to communicate 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 to computing device 405 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 an established communication session 480 with satellite communication network 483. In some examples, in response to determining that a new cellular communication session 486 has been established between computing device 405 and cellular communication network 496, computing device 405 automatically terminates communication with satellite 495.

[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, computing device 405 disconnects from satellite communication network 483 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 cellular communication network 496 is available, and benefit from the improved operational characteristics of terrestrial cellular networks by automatically performing a transition 411 to the cellular communication network via a new cellular communication session 486 when the cellular communication network 496 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 any accessible cellular communication network 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 connectivity to satellite connectivity. In some examples, while connected to satellite communication network 483, computing device 405 can use Wi-Fi scanning 487 to scan for wireless networks including available Wi-Fi networks and cellular network scanning 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, in response to determining that at least one cellular communication network 496 is accessible, processing circuitry 499 can disconnect computing device 405 from satellite communication network 483.

[0095] Computing device 405 can be configured to coordinate the ordering of disconnections and reconnections 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 computing device 405 is no longer accessible to at least one cellular communication network 496. In response to determining that computing device 405 is no longer accessible to at least one cellular communication network 496, 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 losing user-perceived connectivity.

[0096] Computing device 405 can be configured to manage connectivity based on periods of inactivity or idle state associated with computing device 405. For example, the processing circuitry can transition computing device 405 to an idle mode. In some examples, the processing circuitry transitions computing device 405 to an idle mode when computing device 405 is not actively transmitting 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, the processing circuitry can scan the communication network. The processing circuitry can determine that computing device 405 is not connected to a communication network and responsively scan the communication network. In some examples, the processing circuitry can use cellular radio 416 to perform satellite scanning 489. In other examples, the processing circuitry can use Wi-Fi transceiver 412 to perform Wi-Fi scanning 487. The processing circuitry can use cellular radio 416 to perform cellular network scanning 485. Computing device 405 can identify at least one wireless communication network that computing device 405 can access based on the scan.

[0098] Computing device 405 can be configured to provide non-satellite-based connectivity preference. 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 a Wi-Fi scan 487 on the Wi-Fi network. In some examples, Wi-Fi scan 487 includes scanning 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 connectivity option when a non-satellite connectivity option is identified. For example, when it is determined that cellular connectivity is available and computing device 405 has no Wi-Fi communication network 497 accessible, 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 computing device 405 can access at least one Wi-Fi communication network 497. 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 computing device 405 can access both Wi-Fi communication network 497 and at least one cellular communication network 496. In response to determining that computing device 405 can access both Wi-Fi communication network 497 and at least one cellular communication network 496, 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 is not actively transmitting or receiving data via a new cellular communication session 486, the processing circuitry of computing device 405 operates cellular radio 416 in idle mode. In some examples, operating cellular radio 416 in idle mode includes using cellular radio 416 to iteratively scan for any accessible cellular communication networks 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, by 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, for example, the computing device 405 may refresh the weather app that is output to the main screen of the computing device 405 to display the current and latest weather information, even without a manual request for 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 operates the cellular radio 416 of computing device 405 in idle mode. In some examples, the processing circuitry operates the cellular radio 416 of computing device 405 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 operates the cellular radio 416 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 one of the accessible satellite communication networks 483 and completes the data transmission.

[0103] In some examples, computing device 405 iteratively switches between satellite and cellular communication 482 on an iterative basis based on various configurable parameters. For example, when computing device 405 has access to cellular communication network 496, such cellular communication network 496 can be configured as preferred and therefore given preference 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, such as latency, total bandwidth required for a particular computing activity, and the urgency of communication, can be configured similarly.

[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 conserves battery life when operating in idle mode.

[0105] In this way, 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, computing device 405 is optimized to give cellular communication preference over satellite communication by periodically scanning cellular network availability or responsively initiating cellular network scans in response to pending or requested data transmissions, or both.

[0106] In some examples, as part of a satellite communication session, the processing circuitry uses cellular radio 416 to exchange information between computing device 405 and satellite communication network 483. 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 by computing device 405. In some examples, the processing circuitry uses the new cellular communication session 486 to complete the data transfer. 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 whenever a cellular network scan 485 is performed. In some examples, the processing circuitry resets the scan timeout countdown in response to determining that the computing device 405 cannot access at least one cellular communication network 496. In some examples, the processing circuitry iteratively re-initiates the cellular network scan 485 whenever 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 of the accessible cellular communication network 496, regardless of whether the cellular network scan 485 identifies any accessible cellular communication network 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 for any accessible cellular communication network 496. In some examples, after completing the cellular network scan 485, the processing circuitry terminates power to the cellular radio 416 of computing device 405.

[0111] In some examples, the integrated cellular radio 416 module is embedded within the computing device 405 and connected to the processor of the computing device 405 via a communication bus. In some examples, the processing circuitry includes a processor of the computing device 405 for executing 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 the 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, as part of the satellite communication session, the processing circuitry uses the cellular radio 416 to exchange information between the instance of the operating system executing at the computing device 405 and the satellite communication network 483.

[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 communications when an emergency event 467 is identified. In some examples, computing device 405 determines that an emergency event 467 has occurred and / or receives input 479 indicating that an emergency event has occurred. For example, an emergency communications manager 488 may detect or determine that an 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 of the following: Wi-Fi communication network 497, cellular communication network 496, and / or satellite communication network 483. For example, computing device 405 may use any communication channel determined to be accessible to computing device 405 to initiate emergency data transmission 484 and transmit it to emergency services.

[0113] Computing device 405 can be configured to give preference to any accessible wireless communication network. For example, processing circuitry can determine that computing device 405 is accessible to at least one wireless communication network and responsively connect to the determined accessible wireless communication network. In some examples, processing circuitry initiates emergency data transmission 484 in response to connecting to the determined accessible wireless communication network. In some examples, in response to computing device 405 initiating emergency data transmission 484, processing circuitry uses at least one wireless communication network accessible to computing device 405 to transmit emergency data transmission 484.

[0114] In some examples, the processing circuitry transmits an emergency text message to emergency services. In some examples, the processing circuitry transmits the location of computing device 405 to emergency services. In some examples, the processing circuitry receives input captured at computing device 405 in response to one or more pre-configured emergency alerts. In some examples, in response to the determination of an emergency event 467, the processing circuitry issues one or more pre-configured emergency alerts. In some examples, the processing circuitry transmits one or more pre-configured emergency alerts and received input in response to one or more pre-configured emergency alerts to emergency services.

[0115] Computing device 405 can be configured to provide prompts or raise 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, processing circuitry outputs one or more questions requesting input to the emergency user interface 498 for display on computing device 405. In other examples, the one or more questions requesting input may include questions confirming that an emergency has occurred. The questions requesting input may include questions classifying the severity of the emergency. In at least one example, the questions requesting input include questions confirming that the emergency requires a response from emergency services.

[0116] Computing device 405 can be configured to initiate an input requesting authorization for an emergency telephone call 478B. The input may request verbal authorization. Computing device 405 can be configured to override or otherwise cancel the authorization request in some circumstances and initiate an emergency telephone call without authorization. For example, processing circuitry can receive input 479 requesting an emergency service 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 satellite communication network 483. The 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 authorization or lack of authorization. In some examples, in response to determining that computing device 405 can access at least one cellular communication network 496, the processing circuitry initiates an emergency data transmission 484 to an emergency service via satellite communication network 483. For example, when computing device 405 determines an emergency event 467, or when an input indicating an emergency is received 479, the processing circuitry may responsively use satellite communication network 483 to initiate emergency data transmission 484 (e.g., emergency data transmission 478A and / or emergency telephone call 478B). In such examples, although computing device 405 may be configured to give preference to cellular communication, the processing circuitry may still utilize satellite communication network 483 for emergency communication due to the nature of the communication (e.g., due to an emergency).

[0117] In some examples, while computing device 405 remains connected to satellite communication network 483, the processing circuitry receives or obtains input requesting the initiation of an emergency telephone call 478B for emergency services. 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 processing circuitry (element 485) determines whether the computing device 405 can access one or more cellular communication networks 496. In some examples, in response to determining, based on a re-initiated cellular network scan 485, that at least one cellular communication network 496 is unaccessible, 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, based on a re-initiated cellular network scan 485, that the computing device 405 can access at least one cellular communication network 496, 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 the event of an emergency, computing device 405 can check the availability of cellular network communications even when connected to satellite communication network 483. The transition 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 communications can result in higher fidelity, better geolocation accuracy to emergency services, and / or reduced latency. In this way, computing device 405 can prioritize cellular communications for the purpose of transmitting emergency phone calls 478B to emergency services, which can promote battery life conservation, 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 establish emergency phone calls 478B or emergency data transmission 478A to emergency services using any communication path it can access. This can also include Wi-Fi communication if computing device 405 has access to such a Wi-Fi communication path.

[0119] In some examples, the processing circuitry initiates a new cellular communication session 496 without receiving or obtaining any user input indicating confirmation or permission to 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 successful emergency data transmission 484 to emergency services.

[0120] In some examples, the processing circuitry initiates a new cellular communication session 496 without outputting any prompts or notifications to the computing device 405 requesting authorization to switch from satellite communication to cellular communication before establishing an emergency telephone call 478B to emergency services.

[0121] Figure 4D This is a conceptual diagram illustrating a computing system configured to facilitate user-guided satellite connectivity according to the technology of this disclosure. Computing device 405 can be configured to output an availability UI 430 indicating detected satellite availability without connecting computing device 405 to any satellite. For example, a satellite availability user interface (satellite availability UI) 430 with a satellite availability icon 431 is shown here. 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 transmit queued messages 466, or to exchange other data transmissions on behalf of computing device 405. Figure 4D The example also shows a cellular icon 441 indicating the availability (or lack thereof) of the 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 at least one cellular communication network 496 has been determined by the computing device 405 to be 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, which is preferred over the satellite communication network 483 with which the computing device 405 currently has a 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 alert may be output to the computing device 405 to remind the user of the availability of the cellular communication network 496, regardless of whether the user is viewing the display of the computing device 405, or even when no touchscreen or display device is 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 be different from the audible signal indicating cellular network availability. In some examples, when the processing circuitry determines that the computing device 405 is currently unable to access cellular communications, the processing circuitry outputs a tactile 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 the computing device 405 can access at least one cellular communication network 496. In some examples, in response to determining that the computing device 405 can access at least one cellular communication network 496, 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 to the computing device 405 indicating the availability of at least one cellular communication network 496 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 communication 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 be optionally 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 input from the user (e.g., user inputs 432 and 442) as affirmative permission or authorization to switch between available communication paths. In this way, computing device 405 may be configured to completely abandon 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 within the user configuration or configured as default options for computing device 405.

[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 and Figures 4A to 4D A block diagram showing further details of an example of a computing device (shown in the diagram). Figure 5Only one specific example of computing device 500 has been shown. Many other example embodiments of computing device 500 may be used in other instances.

[0130] like Figure 5 As shown in 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 automatic 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. Components of computing device 500 may be interconnected (physically, communicatively, and / or operationally) for inter-component communication.

[0131] In some examples, a processing circuitry system including one or more processors 505 implements functionality and / or processes instructions for execution within 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 (e.g., one or more applications 516) running on computing device 500 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 various forms of 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, as well as USB, in mobile computing devices. 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 and Figures 4A to 4D The touch-sensitive display 106. 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 gestures by the user. In some examples, the touch-sensitive display may include a presence-sensitive screen.

[0136] The 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 the figure. 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 supply 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 of a satellite-pointing user interface 550, an automatic retrieval manager 570, and an emergency communication manager 588. Any of the satellite-pointing user interface 550, the automatic 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 automatic retrieval manager 570, and the emergency communication manager 588 may include causing 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 Instructions for one or more 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 simplified satellite pull 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 within or executed by the computing device 500 (e.g., one or more applications 516) may be implemented within 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 mode of operation of the computing device 105 to implement the satellite-pointing user interface 150 according to the technology of this disclosure. Regarding the computing device 105 and... Figure 1 , Figures 2A to 2G , Figures 3A to 3D , Figures 4A to 4D and Figure 5 To describe the operating mode.

[0142] In some examples, the processing circuitry 199 of computing device 105 may output a satellite pointing user interface 150 for display at 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 via 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 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 is followed, 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 via the computing device 105 based on changes in satellite signal strength detected by the computing device 105 as the computing device 105 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, the "yes" branch is followed, 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 via the computing device 105.

[0145] In some examples, the processing circuitry 199 of computing device 105 uses satellite communication connection 180 to transmit data (625). 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 instructions via one or more processors of computing device 105 on how to move computing device 105 to realign one or more antennas 112 of computing device 105 with one or more satellites 195 to the updated satellite pointing user interface 150 for display.

[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 by including instructions 151 for aligning 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 signal 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”, which 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 representing the target satellite 195 at a fixed position from one or more satellites 195 to be displayed to the satellite pointing user interface 150. 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 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 including a repositionable shape representing a relative change in the position and orientation of the computing device 105 as it moves closer to or further away from the target shape. In some examples, the processing circuitry 199 iteratively updates the updated satellite pointing user interface 150 based on changes in the position or orientation of the computing device 105 relative to the target satellite 195 to include changes in the position of the repositionable shape as it moves closer to or further away from the target shape.

[0148] In some examples, the processing circuitry 199 iteratively updates the satellite pointing user interface 150 to include changes in 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 in 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 showing a target marker at a fixed position for 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 showing an animation instructing how to rotate the computing device 105 left or right on the vertical axis. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface 150 showing an animation instructing how to tilt the computing device 105 forward or backward on the 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 150 showing an animation instructing how to rotate the computing device 105 left or right on the vertical axis and how to tilt the computing device 105 forward or backward on the horizontal axis. In some examples, the processing circuitry 199 iteratively updates the satellite pointing user interface to include changes in vertical and horizontal alignment instructions 151 by updating the animation based on changes in the position or orientation of the computing device 105 relative to the target satellite 195 to indicate how to rotate the computing device 105 left or right on the vertical axis and / or how to tilt the computing device 105 forward or backward on the 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 (SMI) of 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, to be displayed on the satellite pointing user interface 150. In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface of 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, to be displayed on the satellite pointing user interface 150. In some examples, the processing circuitry 199 iteratively outputs updates to the updated satellite pointing user interface to include changes in the vertically oriented elongated shape by updating the size or length of the vertically oriented elongated shape based on changes in the position or orientation of the computing device 105 relative to the target satellite 195 to indicate how tilting the computing device 105 forward or backward along the horizontal axis changes the vertical alignment of one or more antennas 112 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 horizontally oriented elongated shape by updating the size or length of the horizontally oriented elongated shape based on changes in the position or orientation of the computing device 105 relative to the target satellite 195 to indicate how rotating the computing device 105 to the left or right on the vertical axis changes 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 comprising vertically oriented elongated shapes and horizontally oriented elongated shapes as overlapping vertical elongated shapes. These overlapping vertical elongated shapes concurrently represent, via the updated satellite pointing user interface, both the vertical orientation of one or more antennas 112 corresponding to the vertically oriented elongated shape of the target satellite 195 and the horizontal orientation of one or more antennas 112 corresponding to the horizontally oriented elongated shape of the target satellite 195, and the vertical and horizontal alignment of one or more antennas 112 of the computing device 105 with the target satellite 195.

[0152] In some examples, the processing circuitry 199 outputs an updated satellite pointing user interface (SMI) with an animation that elongates or compresses a vertically oriented elongated shape, indicating how to tilt the computing device 105 forward or backward along 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 (SMI) with an animation that elongates or compresses a horizontally oriented elongated shape, indicating how to rotate the computing device 105 left or right along 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 of compressing a vertically oriented elongated shape into a circle or sphere, 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 of compressing a horizontally oriented elongated shape into a circle or sphere, 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 whose shape appears round or spherical but is not exactly 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 the 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 of a virtual representation of holding the computing device 105. In some examples, the processing circuitry 199 outputs an update to the satellite-pointing user interface 150 depicting animations instructing how to rotate the computing device 105 left or right on the 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 on the 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 by updating the animation based on changes in the position or orientation of the computing device 105 relative to the target satellite 195 to indicate how to rotate the computing device 105 left or right on the 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 on the 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 output includes updates to the satellite-pointing user interface 150 depicting a top-down view of the virtual representation of the avatar and computing device 105. In some examples, the processing circuitry 199 output includes updates to the satellite-pointing user interface 150 for each of the virtual representations of the avatar and computing device 105 located within a fully or partially translucent sphere. In some examples, the processing circuitry 199 output includes updates to the satellite-pointing user interface 150 with animations indicating how to rotate the computing device 105 left or right on the 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 on the 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 output includes an update to the satellite-pointing user interface 150 of a virtual representation of the target satellite 195 oriented on the surface of a fully or partially translucent sphere and positioned relative to a virtual representation of the computing device 105 based on the detected position of the target satellite 195. In some examples, the processing circuitry 199 output includes an update to the satellite-pointing user interface 150 of 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 located inside or outside the fully or partially translucent sphere.

[0157] In some examples, the processing circuitry 199 outputs an update to the satellite pointing user interface 150 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, the processing circuitry 199 iteratively updates the updated satellite pointing user interface to include changes in instructions 151 instructing how to reposition the computing device 105 by using an augmented reality overlay map representing the location of the target satellite 195 relative to one or more physical obstacles in the field of view captured by the camera, based on changes in the position or orientation of the computing device 105 relative to the target satellite and / or based on changes in the position or orientation of the computing device 105 relative to one or more physical obstacles in the field of view captured by the camera.

[0158] Figure 7 This is a flowchart illustrating an example mode of operation that enables the computing device 105 to perform simplified automatic satellite retrieval according to the technology of this disclosure. Regarding the computing device 105 and... Figure 1 , Figures 2A to 2G , Figures 3A to 3D , Figures 4A to 4D and Figure 5 To describe the operating mode.

[0159] In some examples, processing circuitry 199 may determine whether computing device 105 is connected to satellite communication network 183 (705). After an inactive period has passed, processing circuitry 199 may automatically disconnect computing device 105 from satellite communication network 183 (710). Processing circuitry 199 may evaluate whether to automatically reconnect based on reconnection conditions (715). For example, processing circuitry 199 may periodically determine whether to reconnect computing device 105 to satellite communication network 183 based on one or more evaluated reconnection conditions (see [link to relevant documentation]). Figures 3A to 3B(Element 357). In some examples, reconnection condition 357 includes the time elapsed since the computing device 105 was disconnected from the satellite communication network 183. In some examples, reconnection condition 357 includes the signal-to-noise ratio measured at the computing device 105. In some examples, reconnection condition 357 includes a determined change in the geographical location of the computing device 105 since it was disconnected from the satellite communication network 183.

[0160] In some examples, processing circuitry 199 evaluates reconnection condition 357 to determine whether at least one of the reconnection conditions is met. In some examples, processing circuitry 199 evaluates whether the elapsed time since disconnection (716) and / or whether the signal-to-noise ratio (717) and / or whether the geographical location has changed (718) is met. If one or more of the reconnection conditions 357 are not met (719), the "No" branch is followed, and processing circuitry 199 repeats the evaluation to determine whether to automatically reconnect based on reconnection condition 357 (715). Conversely, if any of the reconnection conditions 357 are met (719), the "Yes" branch is followed, and processing circuitry 199 reconnects computing device 105 to satellite communication network 183 (720). In some examples, processing circuitry 199 retrieves messages enqueued for computing device (725). In some examples, processing circuitry 199 uses satellite communication network 183 to retrieve one or more messages enqueued for computing device 105.

[0161] In some examples, the processing circuitry 199 determines a disconnection location corresponding to the geographic location of the computing device 105, consistent with disconnecting the computing device 105 from the satellite communication network 183. In some examples, the processing circuitry 199 determines a new location for the computing device 105 corresponding to its current geographic location. In some examples, the processing circuitry 199 determines whether the new location meets a threshold geographic distance from the disconnection location by comparing the disconnection location and the new location. In some examples, in response to determining that the new location meets the threshold geographic distance from the disconnection location, the processing circuitry 199 reconnects the computing device 105 to the 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 the expected incoming message has been received. In some examples, in response to determining that the 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 at least retrieve 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 ringtone 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 response received by the computing device 105 in response to a previous 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 transmit emergency data (e.g., see...). Figure 4C Element 484) is transmitted from computing device 105 to emergency services.

[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 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 based on changes in the SNR measured at computing device 105 as computing device 105 moves to instruct how to align one or more antennas 112 of computing device 105 with one or more satellites 195. In some examples, upon outputting satellite pointing user interface 150, processing circuitry 199 reconnects computing device 105 to satellite communication network 183. In some examples, in response to determining that the SNR measured at computing device 105 meets the minimum connectivity threshold, processing circuitry 199 reconnects computing device 105 to satellite communication network 183. 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 have been queued for transmission by computing device 105. In some examples, in response to determining that one or more messages have been queued for transmission by computing device 105, processing circuitry 199 outputs a pressed manual 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 pressed manual send message icon has been activated. In some examples, processing circuitry 199, in response to receiving input indicating that the pressed manual 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 transmit queued messages (see [link to example]). Figure 4D (element 466) to transmit one or more messages.

[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 press-to-retrieve message icon to be displayed to the user interface. In some examples, processing circuitry 199 receives input indicating that the press-to-retrieve message icon has been activated. In some examples, in response to receiving input indicating that the press-to-retrieve 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 is disconnected from satellite communication network 183, processing circuitry 199 determines whether the signal-to-noise ratio measured at computing device 105 meets the minimum connectivity 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 connectivity threshold for reconnecting computing device 105 to satellite communication network 183, processing circuitry 199 outputs a satellite connectivity availability icon to be displayed to the user interface.

[0169] In some examples, the processing circuitry 199 determines that the period of inactivity at the user interface meets a threshold period of inactivity. In some examples, in response to determining that the threshold period of inactivity 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 mode of operation in which a computing device 105 performs cellular network scanning when connected to a satellite communication network 183, according to the technology of this disclosure. Regarding the computing device 105 and... Figure 1 , Figures 2A to 2G , Figures 3A to 3D , Figures 4A to 4D and Figure 5 To describe the operating mode.

[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 the satellite communication network 183 (810), the processing circuitry system 199 of the 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 may 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 may 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 that has been 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 the computing device 105 is no longer accessible to the at least one cellular communication network 196. In some examples, in response to determining that the computing device 105 is no longer accessible to the at least one cellular communication network 196, the processing circuitry 199 may initiate a new satellite communication session with the satellite communication network 183.

[0175] In some examples, when computing device 105 is not actively transmitting or receiving data, processing circuitry 199 transitions computing device 105 to an idle mode. In some examples, in response to computing device 105 entering idle mode, processing circuitry 199 may disable the cellular radio 116 of computing device 105. In some examples, in response to computing device 105 entering idle mode, processing circuitry 199 may disable the Wi-Fi transceiver of computing device 105. In some examples, processing circuitry 199 uses one or more of the cellular radio 116 and / or the Wi-Fi transceiver of computing device 105 to iteratively scan for any wireless communication networks accessible to computing device 105. In some examples, processing circuitry 199 identifies at least one wireless communication network accessible to computing device 105 based on the scan. In some examples, in response to computing device 105 initiating an emergency data transmission, processing circuitry 199 of computing device 105 uses at least one wireless communication network accessible to computing device 105 to transmit the emergency data transmission.

[0176] In some examples, processing circuitry 199 transmits an emergency text message to emergency services. In some examples, processing circuitry 199 transmits the location of computing device 105 to emergency services. In some examples, processing circuitry 199 transmits input captured at computing device 105 to emergency services. In some examples, upon determining an emergency, computing device 105 obtains input captured at computing device 105 in response to one or more pre-configured emergency prompts. In some examples, input captured at computing device 105 is obtained in response to a question requesting confirmation that an emergency has occurred. In some examples, 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, input captured at computing device 105 is obtained in response to a question requesting confirmation that an emergency requires a response from emergency services.

[0177] In some examples, when computing device 105 is connected to satellite communication network 183, processing circuitry system 199 initiates a Wi-Fi network scan via computing device 105. In some examples, processing circuitry system 199 scans for at least any accessible Wi-Fi communication network. In some examples, processing circuitry system 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, in response to the computing device 105 determining that at least one Wi-Fi communication network 497 is inaccessible, the processing circuitry 199 initiates a new cellular communication session. In some examples, in response to the computing device 105 determining that at least one Wi-Fi communication network 497 is accessible, the processing circuitry 199 initiates a new Wi-Fi communication session. In some examples, the processing circuitry 199 initiates a new cellular communication session based on communication preference configuration. In some examples, in response to determining that at least one Wi-Fi communication network 497 is accessible and at least one cellular communication network 196 is accessible to both, the processing circuitry 199 initiates a new cellular communication session based on communication preference configuration. In some examples, 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 to both, the processing circuitry 199 initiates a new Wi-Fi communication session based on communication preference configuration.

[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 transmitting or receiving data via a new cellular communication session, the processing circuitry 199 operates cellular radio 116 in idle mode. In some examples, the processing circuitry 199 operates cellular radio 116 in idle mode. In some examples, while operating cellular radio 116 in idle mode, the processing circuitry 199 iteratively scans for any accessible cellular communication networks via cellular radio 116. In some examples, while operating cellular radio 116 in idle mode, the processing circuitry 199 determines that a data transfer is requested at computing device 105. In some examples, in response to determining that a data transfer is 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 transmitting or receiving data. In some examples, the processing circuitry 199 operates the cellular radio 116 of the computing device 105 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 operates the cellular radio 116 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 identified accessible cellular communication networks or one of the accessible satellite communication networks 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 transmitting data over the cellular or satellite communication network to which the computing device 105 is connected.

[0180] In some examples, as part of a satellite communication session, processing circuitry 199 exchanges information between computing device 105 and satellite communication network 183 via cellular radio 116 of computing device 105. In some examples, in response to determining that at least one cellular communication network 196 is accessible, processing circuitry 199 outputs a request to confirm the migration of the satellite communication session to a new cellular communication session between cellular radio 116 of computing device 105 and the at least one cellular communication network 196 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, whenever the scan timeout countdown expires, processing circuitry 199 iteratively re-initiates a cellular network scan.

[0182] In some examples, the processing circuitry 199 receives input at the computing device 105 indicating the initiation of a telephone call requesting emergency services. 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, while computing device 105 remains connected to satellite communication network 183, processing circuitry 199 receives input at computing device 105 requesting the initiation of an emergency service telephone call. In some examples, in response to receiving input requesting the initiation of an emergency service telephone call, processing circuitry 199 of computing device 105 re-initiates a cellular network scan to determine whether computing device 105 can access one or more cellular communication networks. In some examples, in response to determining, based on or according to 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 or according to 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 or according to a re-initiated cellular network scan, that at least one cellular communication network 196 is accessible, the 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 confirmation or permission to switch from satellite communication to cellular communication. In some examples, the processing circuitry 199 initiates a new cellular communication session without outputting any prompts or notifications requesting authorization from the computing device 105 to switch from satellite communication to cellular communication before establishing an emergency telephone call 478B to emergency services.

[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 via a graphical user interface that includes 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 compared to a satellite communication network 183 with which computing device 105 currently has a 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 the computing device 105 can access at least one cellular communication network 196. 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 authorizing the switching of the computing device 105 from satellite communication mode to cellular communication mode. In some examples, in response to determining whether a request to authorize the switching of computing device 105 from satellite communication mode to cellular communication mode has been ignored or rejected, the processing circuitry 199 maintains computing device 105 in satellite communication mode and maintains computing device 105 in a connected state with satellite communication network 183. In some examples, in response to determining whether a request to authorize the switching of computing device 105 from satellite communication mode to cellular communication mode has been 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 for accessible cellular networks, regardless of whether any available cellular networks were identified during the scan. 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 the 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 is executed by the processor of computing device 105 (i.e., an instance of an operating system). 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, as part of the satellite communication session, the processing circuitry 199 exchanges information between the instance of the operating system executing at computing device 105 and satellite communication network 183 via the cellular radio 116.

[0190] Example

[0191] Example 1. A method comprising: determining that a computing device is connected to a satellite communication network; disconnecting the computing device from the satellite communication network after an inactive period has elapsed; periodically determining whether to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, the one or more reconnection conditions including: time elapsed since the computing device was disconnected from the satellite communication network, a signal-to-noise ratio measured at the computing device, and a determined change in the geographical location of the computing device since the computing device was disconnected from the satellite communication network; and in response to determining to reconnect the computing device to the satellite communication network based on the one or more reconnection conditions: reconnecting the computing device to the satellite communication network; and using the satellite communication network to retrieve one or more messages enqueued for the computing device.

[0192] Example 2. The method as described in Example 1, wherein periodically determining whether to reconnect the computing device to the satellite communication network based on the one or more reconnection conditions includes: determining a disconnection location corresponding to the geographic location of the computing device, consistent with disconnecting the computing device from the satellite communication network; determining a new location of the computing device corresponding to its current geographic location; determining whether the new location satisfies a threshold geographic distance from the disconnection location by comparing the disconnection location with the new location; and reconnecting the computing device to the satellite communication network in response to determining that the new location satisfies the threshold geographic distance from the disconnection location.

[0193] Example 3. The method as described in Example 1 or 2, further comprising: determining, by the computing device, whether an expected incoming message has been received; reconnecting the computing device to the satellite communication network in response to determining that the expected incoming message has not been received; using the satellite communication network, by the computing device, to at least retrieve the expected incoming message; and using the satellite communication network, by the computing device, to send an outgoing message requiring a response, wherein the expected incoming message is the response to the outgoing message.

[0194] Example 4. The method of any one of Examples 1 to 3, wherein the anticipated incoming message includes at least one of the following: an incoming ringing alert message; an incoming telephone call; a response from an emergency service; an incoming call from an emergency service; an incoming text message; and a message response received by the computing device in response to a previous outgoing message from the computing device.

[0195] Example 5. The method of any one of Examples 1 to 4 further includes: in response to determining that an emergency has occurred: reconnecting the computing device to the satellite communication network; and using the satellite communication network to transmit emergency data from the computing device to an emergency service.

[0196] Example 6. The method of any one of Examples 1 to 5, further comprising: determining, by the computing device, whether a signal-to-noise ratio (SNR) measured at the computing device no longer satisfies a minimum connectivity threshold; in response to determining that the SNR no longer satisfies the minimum connectivity threshold, outputting a satellite pointing user interface (SMI) indicating how to align one or more antennas of the computing device with one or more satellites of the satellite communication network; updating the SMI based on changes in the SNR measured at the computing device as the computing device moves to indicate how to further move the computing device to align the one or more antennas with the one or more satellites; reconnecting the computing device to the satellite communication network in response to determining that the SNR measured at the computing device satisfies the minimum connectivity threshold when outputting the SMI; and exchanging data between the computing device and the emergency service via the satellite communication network.

[0197] Example 7. The method of any one of Examples 1 to 6, further comprising: when the computing device is disconnected from the satellite communication network, determining whether one or more messages have been queued for transmission by the computing device; in response to determining that the one or more messages have been queued for transmission by the computing device, the computing device outputs a press-to-send message icon to be displayed to a user interface; the computing device receives input indicating that the press-to-send message icon has been activated; in response to receiving the input indicating that the press-to-send message icon has been activated, reconnecting the computing device to the satellite communication network; and using the satellite communication network to transmit the one or more messages that have been queued for transmission.

[0198] Example 8. The method of any one of Examples 1 to 7, further comprising: determining whether the computing device is disconnected from the satellite communication network; in response to determining that the computing device is disconnected from the satellite communication network, the computing device outputs a press-to-retrieve message icon to be displayed to a user interface; the computing device receives input indicating that the press-to-retrieve message icon has been activated; in response to receiving the input indicating that the press-to-retrieve message icon has been activated, reconnecting the computing device to the satellite communication network; and using the satellite communication network to retrieve one or more messages queued for the computing device.

[0199] Example 9. The method of any one of Examples 1 to 8, further comprising: when the computing device is disconnected from the satellite communication network: determining whether a signal-to-noise ratio measured at the computing device satisfies a minimum connection threshold for reconnecting the computing device to the satellite communication network; and in response to determining that the signal-to-noise ratio satisfies the minimum connection threshold for reconnecting the computing device to the satellite communication network, the computing device outputs a satellite connectivity availability icon to be displayed to a user interface.

[0200] Example 10. The method of any one of Examples 1 to 9 further includes: determining by the computing device that an inactive period at the user interface satisfies an inactive threshold period; and reconnecting the computing device to the satellite communication network in response to determining that the inactive threshold period is satisfied.

[0201] Example 11. A computing device includes: a processing circuitry system; a cellular radio; a satellite communication activity monitor; and a non-transitory computer-readable medium storing instructions, wherein, when executed by the processing circuitry system, the instructions configure the processing circuitry system to: determine that the computing device is connected to a satellite communication network; disconnect the computing device from the satellite communication network after an inactive period has elapsed; periodically determine, via the satellite communication activity monitor, whether to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, the one or more reconnection conditions including: time elapsed since the computing device was disconnected from the satellite communication network, a signal-to-noise ratio measured at the computing device, and a determined change in the geographical location of the computing device since it was disconnected from the satellite communication network; and in response to the satellite communication activity monitor determining to reconnect the computing device to the satellite communication network based on the one or more reconnection conditions, the instructions further configure the processing circuitry system to: use the cellular radio to reconnect the computing device to the satellite communication network; and use the satellite communication network to retrieve one or more messages queued for the computing device.

[0202] Example 12. A computing device as described in Example 11, wherein the instruction configuring the processing circuitry to determine whether to periodically reconnect the computing device to the satellite communication network based on the one or more reconnection conditions further configures the processing circuitry to: determine a disconnection location corresponding to the geographic location of the computing device, consistent with disconnecting the computing device from the satellite communication network; determine a new location of the computing device corresponding to its current geographic location; determine whether the new location satisfies a threshold geographic distance from the disconnection location by comparing the disconnection location with the new location; and reconnect the computing device to the satellite communication network in response to determining that the new location satisfies the threshold geographic distance from the disconnection location.

[0203] Example 13. A computing device as described in Example 11 or 12, wherein the instructions further configure the processing circuitry to: determine whether an expected incoming message has been received; reconnect the computing device to the satellite communication network in response to determining that the expected incoming message has not been received; use the satellite communication network to at least retrieve the expected incoming message; and use the satellite communication network to send an outgoing message requiring a response, wherein the expected incoming message is the response to the outgoing message.

[0204] Example 14. A computing device as described in any one of Examples 11 to 13, wherein the anticipated incoming message includes at least one of: an incoming ringing alert message; an incoming telephone call; a response from an emergency service; an incoming call from an emergency service; an incoming text message; and a message response received by the computing device in response to a previous outgoing message from the computing device.

[0205] Example 15. A computing device as described in any one of Examples 11 to 14, wherein the instructions cause the processing circuitry system to, in response to determining that an emergency has occurred,: reconnect the computing device to the satellite communication network; and use the satellite communication network to transmit emergency data from the computing device to an emergency service.

[0206] Example 16. A computer-readable storage medium including instructions that, when executed, configure a processing circuitry to: determine that a computing device is connected to a satellite communication network; disconnect the computing device from the satellite communication network after an inactive period has elapsed; periodically determine whether to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, the one or more reconnection conditions including: time elapsed since the computing device was disconnected from the satellite communication network, a signal-to-noise ratio measured at the computing device, and a determined change in the geographical location of the computing device since it was disconnected from the satellite communication network; and in response to determining to reconnect the computing device to the satellite communication network based on the one or more reconnection conditions, the instructions further configure the processing circuitry to: reconnect the computing device to the satellite communication network; and use the satellite communication network to retrieve one or more messages queued for the computing device.

[0207] Example 17. A computer-readable storage medium as described in Example 16, wherein the instruction configuring the processing circuitry to determine whether to periodically reconnect the computing device to the satellite communication network based on the one or more reconnection conditions further configures the processing circuitry to: determine a disconnection location corresponding to the geographic location of the computing device, consistent with disconnecting the computing device from the satellite communication network; determine a new location of the computing device corresponding to its current geographic location; determine whether the new location satisfies a threshold geographic distance from the disconnection location by comparing the disconnection location with the new location; and reconnect the computing device to the satellite communication network in response to determining that the new location satisfies the threshold geographic distance from the disconnection location.

[0208] Example 18. A computer-readable storage medium as described in Example 16 or 17, wherein the instructions cause the processing circuitry to determine whether an expected incoming message has been received; in response to determining that the expected incoming message has not been received, the instructions cause the processing circuitry to: reconnect the computing device to the satellite communication network; use the satellite communication network to at least retrieve the expected incoming message; and use the satellite communication network to send an outgoing message requiring a response; and wherein the expected incoming message is the response to the outgoing message.

[0209] Example 19. A computer-readable storage medium as described in any one of Examples 16 to 18, wherein the anticipated incoming message includes at least one of: an incoming ringing alert message; an incoming telephone call; a response from an emergency service; an incoming call from an emergency service; an incoming text message; and a message response received by the computing device in response to a previous outgoing message from the computing device.

[0210] Example 20. A computer-readable storage medium as described in any one of Examples 16 to 19, wherein the instructions cause the processing circuitry system to, in response to determining that an emergency has occurred,: reconnect the computing device to the satellite communication network; and use the satellite communication network to transmit emergency data from the computing device to an emergency service.

[0211] Example 21. A computing system comprising components for performing any combination of the methods described in Examples 1 to 10.

[0212] Example 22. A computer-readable storage medium encoded with instructions for performing any combination of the methods described in Examples 1 to 10.

[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. As used, disks and optical discs include 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: Determine the connection between the computing device and the satellite communication network; After the inactive period has passed, disconnect the computing device from the satellite communication network; The computing device is periodically reconnected to the satellite communication network based on one or more reconnection conditions, the one or more reconnection conditions including: The time elapsed since the computing device was disconnected from the satellite communication network. The signal-to-noise ratio measured at the computing device, and The determined changes in the geographical location of the computing device since it was disconnected from the satellite communication network; and In response to determining to reconnect the computing device to the satellite communication network based on one or more of the reconnection conditions: Reconnect the computing device to the satellite communication network; and The satellite communication network is used to retrieve one or more messages enqueued for the computing device.

2. The method as described in claim 1, wherein, Periodically determining whether to reconnect the computing device to the satellite communication network based on one or more of the reconnection conditions includes: The disconnection location corresponding to the geographical location of the computing device is determined by the computing device in accordance with the disconnection of the computing device from the satellite communication network; The computing device determines a new location for itself that corresponds to its current geographical location. The computing device determines whether the new location meets a threshold geographical distance from the disconnected location by comparing the disconnected location with the new location; and In response to determining that the new location meets the threshold geographical distance from the disconnected location, the computing device is reconnected to the satellite communication network.

3. The method of claim 1 or 2, further comprising: The computing device determines whether the expected incoming message has been received; In response to determining that the expected incoming message has not yet been received, the computing device is reconnected to the satellite communication network; The computing device uses the satellite communication network to at least retrieve the expected incoming message; as well as The computing device uses the satellite communication network to send an outgoing message requiring a response, wherein the expected incoming message is a response to the outgoing message.

4. The method as described in any one of claims 1 to 3, wherein, The expected incoming message includes at least one of the following: Incoming ringtone notification message; Incoming telephone call; Response from emergency services; Incoming calls from emergency services; The incoming text message; as well as A message response received by the computing device in response to a previous outgoing message from the computing device.

5. The method of any one of claims 1 to 4, further comprising: In response to the determination that an emergency has occurred: Reconnect the computing device to the satellite communication network; as well as The satellite communication network is used to transmit emergency data from the computing device to emergency services.

6. The method of any one of claims 1 to 6, further comprising: The computing device determines whether the signal-to-noise ratio measured at the computing device no longer meets the minimum connection threshold; In response to determining that the signal-to-noise ratio no longer meets the minimum connection threshold, the computing device outputs a satellite-pointing user interface indicating how to align one or more antennas of the computing device with one or more satellites of the satellite communication network; The satellite pointing user interface is updated based on the change in the signal-to-noise ratio measured at the computing device as the computing device moves, to indicate how to further move the computing device to align the one or more antennas with the one or more satellites. When outputting the satellite pointing to the user interface, in response to determining that the signal-to-noise ratio measured at the computing device meets the minimum connection threshold, the computing device is reconnected to the satellite communication network; as well as Data is exchanged between the computing device and the emergency service via the satellite communication network.

7. The method of any one of claims 1 to 6, further comprising: When the computing device disconnects from the satellite communication network, it determines whether one or more messages have been queued for transmission by the computing device. In response to determining that one or more messages have been queued for transmission by the computing device, the computing device outputs a manually sent message icon to be displayed to the user interface. The computing device receives input indicating that the pressed manual message sending icon has been activated; In response to receiving the input indicating that the manual message sending icon has been activated by pressing, the computing device is reconnected to the satellite communication network; as well as The satellite communication network is used to transmit the one or more messages that have been queued for transmission.

8. The method of any one of claims 1 to 7, further comprising: Determine whether the computing device is disconnected from the satellite communication network; In response to determining that the computing device is disconnected from the satellite communication network, the computing device outputs a manually pull-out message icon to be displayed to the user interface. The computing device receives input indicating that the pressed manual pull message icon has been activated; In response to receiving the input indicating that the manual pull message icon has been activated by pressing, the computing device is reconnected to the satellite communication network; as well as The satellite communication network is used to retrieve one or more messages enqueued for the computing device.

9. The method of any one of claims 1 to 8, further comprising: When the computing device is disconnected from the satellite communication network: Determine whether the signal-to-noise ratio measured at the computing device meets the minimum connection threshold for reconnecting the computing device to the satellite communication network; as well as In response to determining that the signal-to-noise ratio meets the minimum connectivity threshold for reconnecting the computing device to the satellite communication network, the computing device outputs a satellite connectivity availability icon to be displayed to the user interface.

10. The method of any one of claims 1 to 9, further comprising: The computing device determines that the inactive period at the user interface meets the inactive threshold period. as well as In response to determining that the inactivity threshold period is met, the computing device is reconnected to the satellite communication network.

11. A computing device, comprising: Processing circuit system; Cellular radio; Satellite communication activity monitor; as well as A non-transitory computer-readable medium storing instructions, wherein, when executed by the processing circuitry system, the instructions configure the processing circuitry system to: The computing device is connected to the satellite communication network; After the inactive period has passed, disconnect the computing device from the satellite communication network; The satellite communication activity monitor periodically determines whether to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, wherein the one or more reconnection conditions include: The time elapsed since the computing device lost connection with the satellite communication network. The signal-to-noise ratio measured at the computing device, and The determined changes in the geographical location of the computing device since it was disconnected from the satellite communication network; and In response to the satellite communication activity monitor determining, based on one or more reconnection conditions, to reconnect the computing device to the satellite communication network, the instruction further configures the processing circuitry system to: The cellular radio is used to reconnect the computing device to the satellite communication network; and The satellite communication network is used to retrieve one or more messages enqueued for the computing device.

12. The computing device of claim 11, wherein, The instruction that configures the processing circuitry to determine whether to periodically reconnect the computing device to the satellite communication network based on one or more reconnection conditions further configures the processing circuitry to: The disconnection location corresponding to the geographical location of the computing device is determined in accordance with the disconnection of the computing device from the satellite communication network; Determine a new location for the computing device that corresponds to its current geographical location; The new location is determined to be a threshold geographical distance from the disconnected location by comparing the disconnected location with the new location. and In response to determining that the new location meets the threshold geographical distance from the disconnected location, the computing device is reconnected to the satellite communication network.

13. The computing device as claimed in claim 11 or 12, wherein, The instruction further configures the processing circuit system as follows: Determine whether the expected incoming message has been received; In response to determining that the expected incoming message has not yet been received, the computing device is reconnected to the satellite communication network; Use the satellite communication network to at least retrieve the expected incoming message; and The satellite communication network is used to send outgoing messages that require a response, wherein the expected incoming message is the response to the outgoing message.

14. The computing device according to any one of claims 11 to 13, wherein, The expected incoming message includes at least one of the following: Incoming ringtone notification message; Incoming telephone call; Response from emergency services; Incoming calls from emergency services; The incoming text message; as well as A message response received by the computing device in response to a previous outgoing message from the computing device.

15. The computing device according to any one of claims 11 to 14, wherein, The instruction causes the processing circuitry to respond to determining that an emergency has occurred: Reconnect the computing device to the satellite communication network; as well as The satellite communication network is used to transmit emergency data from the computing device to emergency services.

16. A computer-readable storage medium comprising instructions that, when executed, configure a processing circuitry system to: Determine the connection between the computing device and the satellite communication network; After the inactive period has passed, disconnect the computing device from the satellite communication network; The computing device is periodically reconnected to the satellite communication network based on one or more reconnection conditions, the one or more reconnection conditions including: The time elapsed since the computing device lost connection with the satellite communication network. The signal-to-noise ratio measured at the computing device, and The determined changes in the geographical location of the computing device since it was disconnected from the satellite communication network; and In response to determining to reconnect the computing device to the satellite communication network based on one or more reconnection conditions, the instruction further configures the processing circuitry system as follows: Reconnect the computing device to the satellite communication network; and The satellite communication network is used to retrieve one or more messages enqueued for the computing device.

17. The computer-readable storage medium of claim 16, in, The instruction that configures the processing circuitry to determine whether to periodically reconnect the computing device to the satellite communication network based on one or more reconnection conditions further configures the processing circuitry to: The disconnection location corresponding to the geographical location of the computing device is determined in accordance with the disconnection of the computing device from the satellite communication network; Determine a new location for the computing device that corresponds to its current geographical location; The new location is determined to be a threshold geographical distance from the disconnected location by comparing the disconnected location with the new location. and In response to determining that the new location meets the threshold geographical distance from the disconnected location, the computing device is reconnected to the satellite communication network.

18. The computer-readable storage medium of claim 16 or 17, wherein, The instruction causes the processing circuitry to determine whether the expected incoming message has been received; In response to determining that the expected incoming message has not yet been received, the instruction causes the processing circuitry to: Reconnect the computing device to the satellite communication network; Use the satellite communication network to at least retrieve the expected incoming message; and The satellite communication network is used to send outgoing messages that require a response, and The expected incoming message is the response to the outgoing message.

19. The computer-readable storage medium according to any one of claims 16 to 18, wherein, The expected incoming message includes at least one of the following: Incoming ringtone notification message; Incoming telephone call; Response from emergency services; Incoming calls from emergency services; The incoming text message; as well as A message response received by the computing device in response to a previous outgoing message from the computing device.

20. The computer-readable storage medium according to any one of claims 16 to 19, wherein, The instruction causes the processing circuitry to respond to determining that an emergency has occurred: Reconnect the computing device to the satellite communication network; as well as The satellite communication network is used to transmit emergency data from the computing device to emergency services.