Parsimonious satellite autopulls
Parsimonious satellite autopulls in mobile devices automatically manage satellite network connections by disconnecting after inactivity and reconnecting based on conditions, optimizing battery life and cost efficiency.
Patent Information
- Application Number
- PCT/US2024/016193
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-26
- Filing Date
- 2024-02-16
- Publication Date
- 2025-07-31
AI Technical Summary
Mobile computing devices face inefficiencies and increased costs when continuously connected to satellite communications networks, leading to unnecessary battery consumption and financial charges, even when inactive.
Implementing parsimonious satellite autopulls, where the device automatically disconnects from satellite networks after inactivity and reconnects based on reconnection conditions such as elapsed time, signal-to-noise ratio, and geographic location changes, optimizing satellite connectivity usage.
Reduces battery consumption and network costs by managing satellite connectivity more efficiently, allowing intermittent data transmission while ensuring timely message retrieval.
Smart Images

Figure US2024016193_31072025_PF_FP_ABST
Abstract
Description
PARSIMONIOUS SATELLITE AUTOPULLS
[0001] This application is a pct with provisional priority' of US Provisional Patent Application No. 63 / 625,850, filed 26 January' 2024, the entire contents of which is incorporated herein by reference.BACKGROUND
[0002] Computing devices such as so-called smartphones, tablets, and the like may include one or more various wireless radios, transceivers, and antennas for establishing wireless communications with separate communications networks, including telephony networks, internet protocol (IP) based networks such as the public Internet, private networks, and satellite communications networks, via which to receive and transmit data. The various transceivers and antennas may be configured as built-in modules integrated into the computing device or may-' optionally be externally configured components connected with the computing device via, for example, an externally facing data communications bus built into the computing device and configured to communicate with external peripheral devices.SUMMARY
[0003] In general, this disclosure is directed to mobile computing devices that include satellite communications capabilities for efficiently managing use of satellite communications networks. When a mobile device travels beyond the coverage area of cellular network connectivity' and / or WI-FI network connectivity, a mobile device having satellite communications capabilities may attempt to connect with a satellite communications network to exchange information. A user of the mobile device, however, may prefer not to incur costly connection charges and / or consume battery' power to remain connected with a satellite communications network, even when available. To aid users of mobile devices with efficiently' managing use of the satellite communications networks, a mobile device may be configured to implement parsimonious use of satellite connectivity and data transmissions. For example, a mobile device may be configured to automatically disconnect from the satellite communications network after a period of inactivity and evaluate when to reconnect with the satellite communications network to check for messages. Through the automatic disconnecting and reconnecting of the mobile device with the satellite communications network, the mobile device manages satellite data connectivity more efficiently and reduces battery power consumption when compared with a mobile device which remains consistentlyconnected with an available satellite communications network, while enabling the mobile device to intermittently send and receive messages using the satellite communications network,
[0004] In some examples, a computing device is configured to implement parsimonious satellite autopulls. For instance, processing circuitry may determine the computing device is connected with a satellite communications network. In such an example, after a period of inactivity has elapsed, processing circuitry disconnects the computing device from the satellite communications network. For instance, processing circuitry' may periodically determine whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions. For example, the reconnection conditions may' include an elapsed time since disconnecting the computing device from the satellite communications network. In some examples, the reconnection conditions include a signal -to-noise ratio measured at tire computing device. The reconnection conditions may include a determined change to a geographic location of the computing device since disconnecting the computing device from the satellite communications network. In response to determining to reconnect the computing device with the satellite communications network based on one or more reconnection conditions, processing circuitry may reconnect the computing device with the satellite communications network. In some examples, processing circuitry' retrieves one or more messages enqueued for the computing device using the satellite communications network.
[0005] In another example, a computing device includes processing circuitry, one or more antennas, a cellular radio, a satellite communications activity monitor, and non -transitory' computer readable media storing instructions. In such an example, the instructions, when executed by the processing circuitry, may configure the processing circuitry to perform operations. For instance, the instructions may configure the processing circuitry' to determine the computing device is connected with a satellite communications network. For example, after a period of inactivity has elapsed, the instructions configure the processing circuitry to disconnect the computing device from the satellite communications network. In some examples, the instructions configure the processing circuitry to periodically determine, via the satellite communications activity monitor, whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions. The one or more reconnection conditions may include an elapsed time since the computing device was disconnected from the satellite communications network. Tire one or more reconnection conditions may include a signal-to-noise ratio measured at the computingdevice. In other examples, the one or more reconnection conditions include a determined change to a geographic location of the computing device since the computing device was disconnected from the satellite communications network. In response to a determination by the satellite communications activity monitor to reconnect the computing device with the satellite communications network based on one or more reconnection conditions, the instructions may configure the processing circuitry to reconnect the computing device with the satellite communications network using the cellular radio. For instance, the instructions may configure the processing circuitry to retrieve, using the satellite communications network, one or more messages enqueued for the computing device.
[0006] In at least one example, computer-readable storage media includes instructions that, when executed, configure processing circuitry to perform operations. For instance, the instructions, when executed by the processing circuitry, may configure the processing circuitry to perform operations. For example, the instructions may configure the processing circuitry to determine the computing device is connected with a satellite communications network. In such an example, after a period of inactivity has elapsed, the instructions may configure the processing circuitry to disconnect the computing device from the satellite communications network. For instance, the instructions may configure the processing circuitry’ to periodically determine, via the satellite communications activity monitor, whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions. The one or more reconnection conditions may include an elapsed time since the computing device was 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 to a geographic location of the computing device since the computing device was disconnected from the satellite communications network. In response to a determination by the satellite communications activity' monitor to reconnect the computing device with the satellite communications network based on one or more reconnection conditions, the instructions may configure the processing circuitry’ to reconnect the computing device with the satellite communications network using the cellular radio. For instance, the instructions configure the processing circuitry to retrieve, using the satellite communications network, one or more messages enqueued for the computing device.
[0007] The details of one or more examples of the disclosure are set forth m the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF DRAWINGS
[0008] FIG. 1 illustrates an example computing system configured to use terrestrial and satellite-based cellular communication systems, in accordance with one or more techniques of this disclosure.
[0009] FIGS. 2A-2G illustrate an example computing system that facilitates connecting a computing device with a satellite using a satellite pointing user interface to facilitate, in accordance with techniques of this disclosure.
[0010] FIGS. 3A-3D are conceptual diagrams of an example computing system configured to implement parsimonious satellite autopulls, in accordance with techniques of this disclosure.
[0011] FIGS. 4A-4D illustrate an example computing system configured to transition a computing device between terrestrial and satellite -based cellular communication systems, in accordance with one or more techniques of this disclosure.
[0012] FIG. 5 is a block diagram illustrating further details of one example of computing device, in accordance with techniques of this disclosure.
[0013] FIG. 6 is a flow chart illustrating an example mode of operation for a computing device to implement a satellite pointing user interface, in accordance with techniques of this disclosure.
[0014] FIG. 7 is a flow chart illustrating an example mode of operation for a computing device to implement parsimonious satellite autopulls, in accordance with techniques of this disclosure.
[0015] FIG. 8 is a flow chart illustrating an example mode of operation for a computing device to implement cellular network scanning while connected with a satellite communications network, in accordance with techniques of this disclosure.
[0016] Like reference characters denote like elements throughout the text and figures.DETAILED DESCRIPTION
[0017] FIG. 1 illustrates an example computing device configured to use terrestrial and satellite-based cellular communication systems, in accordance with one or more techniques of this disclosure. In the example of FIG. 1, computing device 105 is configured to communicate using both satellite-based cellular communication systems such as satellite communications network 183 and terrestrial based cellular communication systems such as cellular communications network 196. In some examples, satellite communications network183 includes one or more satellite(s) 195 which facilitate cellular communications by computing device 105. In some examples, cellular communications network 196 includes one or more ground-based cellular communication towers to facilitate cellular communications by computing device 105. In the example of FIG. 1, computing device 105 may communicate via cellular communications with satellite communications network 183 and / or cellular communications network 196. In some examples, processing circuitry 199 of computing device 105 performs or is configured to perform operations on behalf of computing device 105.
[0018] Computing device 105 may sometimes be referred herein to as a “mobile computing device,” a “mobile device,” a “mobile user device,” or a “user device.” Examples of computing device 105 may include, but are not limited to, a mobile phone (including a so- called “smartphone”), a foldable computing device, a tablet computing device, a smart watch, a laptop computer, an ambient computing device (including a so-called “smart display”), and the like.
[0019] In the example of FIG. 1, computing device 105 includes cellular communications module 115 having cellular radio 116 via which to communicate with satellite communications network 183 and / or cellular communications network 196 using cellular communications. Cellular radio 116 is sometimes referred to as a cellular transceiver or a cellular transmitter / receiver. In the example of FIG. 1, computing device 105 includes one or more wireless communication modules, such as satellite communication module 110 and cellular communications module 115. In some examples, satellite communication module 1 10 has direct access to cellular radio 116 via a communications bus of computing device 105. For instance, satellite communication module 110 may indirectly access cellular radio 116 for use with cellular communications over satellite through an operating system of computing device 105. In other examples, satellite communication module 110 indirectly accesses cellular radio 1 16 for use with satellite communications through cellular communications module 115 of computing device 105. Computing device 105 may perform satellite scan 187 to determine whether any satellite communication network(s) 183 are available for cellular communications. In such an example, computing device 105 may additionally or alternatively perform cellular network scan 185 to determine whether any satellite communication network(s) 183 are available for cellular communications.
[0020] In the example of FIG. 1, computing device 105 includes satellite pointing user interface (UI) 150 to facilitate connecting computing device 105 with satellite communications network 183 using satellite based cellular communications. In suchexamples, satellite pointing user interface 150 may output instructions 151 to a displayindicating how to move and / or re-orient computing device 105 to align one or more antenna(s) 112 of computing device 105 with satellite 195.
[0021] When computing device 105 leaves an area within terrestrial based cellular network coverage, computing device 105 will lose connectivity with cellular communication networks 196. Even when outside of terrestrial cellular network coverage, computing device 105 maybe within communication range of satellite communications network 183 using cellular communications. Computing device 105 may connect with satellite communications network 183, thus providing computing device 105 with connectivity to send and receive messages, access a public internet, and so forth. When computing device 105 encounters difficulty connecting automatically with satellite communications network 183, computing device 105 may be configured to automatically output satellite pointing user interface 150 for display to computing device 105. In such an example, satellite pointing user interface 150 may aid a user of computing device to better align an antenna 112 of computing devi ce with a satellite of a satellite communications network 183, such that computing device 105 may be successfully connected with satellite 195 to establish satellite communications session 180.
[0022] According to a particular example, processing circuitry 199 of computing device 105 implements satellite pointing user interface 150, In such an example, processing circuitry 199 may output for display, satellite pointing user interface 150 indicating how to move computing device 105 to align one or more antennas 112 of computing device 105 with one or more satellites 195. For example, satellite pointing user interface 150 may indicate to a user, via satellite pointing user interface 150, that the user needs to pivot computing device 105 left and right, or tilt computing device 105 forward and backwards, relocate computing device 105 away from some obstruction blocking a line of sight between computing device 105 and satellite 195, or some combination movements. In such a way, satellite pointing user interface 150 may facilitate establishing satellite communications session 180 between satellite 195 and computing device 105, even in the presence of a weak signal between computing device 105 and satellite 195.
[0023] In at least one example, processing circuitry 199 updates satellite pointing user interface 150 to indicate how to further move computing device 105 to alter a horizontal alignment and a vertical alignment of one or more antennas 112 with one or more satellites 195 based on changes in satellite signal strength detected as computing device 105 moves. Stated differently, as a user moves computing device 105 in relation to satellite 195, one or more antennas 112 of computing device 105 will be reoriented with respect to satellite 195,potentially increasing or decreasing satellite signal strength between satellite 195 and computing device. The satellite pointing user interface 150 may therefore iteratively update instructions 151 for pointing, moving, and / or realigning computing device 105 in relation to the orientation of antennas 1 12 with respect to satellite 195. By way of example, when pivoting computing device 105 left reduces satellite signal strength, satellite pointing user interface 150 may responsively update instructions 151 indicating to a user to pivot computing device right, in an attempt to sufficiently increase satellite signal strength .
[0024] In some examples, satellite pointing user interface 150 may iteratively update in a looping manner, until satellite signal strength increases a sufficient amount to satisfy a threshold. For instance, when a satellite connection threshold is satisfied, computing device 105 may attempt to establish satellite communications session 180 with satellite 195. For instance, processing circuitry 199 may responsively establish satellite communications connection 180 using one or more satellites. When computing device 105 has successfully established satellite communications connection 180, computing device may responsively send and receive messages and / or exchange information utilizing satellite communications connection 180. For instance, processing circuitry 199 may transmit data using satellite communications connection 180.
[0025] Computing device 105 may exchange messages with one or more other devices over satellite communication session 180. Rather than continuously checking to determine if a message is enqueued and waiting to be received by computing device 105, which may be resource expensive, computing device 105 may instead implement parsimonious satellite autopulls to utilize satellite connectivity more efficiently. Consider for instance, computing device 105 remaining consistently connected with satellite communications network 183. Such a consistent connection may subject tire user to unwanted network usage costs. For instance, there may be additional “roaming” charges billed to a user of computing device 105 for connecting with satellite communications network 183, maintaining satellite communications connection 180 in an active state, and / or transmitting and receiving information utilizing satellite communications session 180. Additionally, sending and receiving data, even a small amount of data to maintain satellite communications connection 180 in an active state, may consume energy and deplete battery reserves of computing device 105. Computing de vice 105 may be configured to implement parsimonious satellite autopulls, including automatically disconnecting computing device 105 from satellite communications network 183 after a period of inactivity and evaluating whether to automatically reconnectcomputing device 105 with satellite communications network 183 to check for enqueued messages.
[0026] In some examples, computing device 105 may receive, retrieve, send, and / or transmit one or more messages 166 using satellite communications network 183 using efficient parsimonious satellite autopulls. In the example of FIG. 1, computing device 105 includes autopull manager 170 to facilitate the periodic automatic exchange of messages 166 using satellite communications network 183, For instance, autopull manager 170 may disconnect computing device 105 from satellite communications network 183 after a period of inactivity to reduce resource consumption by computing device 105. While disconnected from satellite communications network 183, satellite communications activity monitor 153 of computing device 105 may monitor various reconnection criteria on behalf of computing device 105 , For instance, the reconnection criteria may be used by autopull manager 170 to determine whether or not to reconnect with satellite communications network 183 to transmit or receive messages 166. Consider for example, computing device 105 sending a message for which a response is expected. It may be more efficient to disconnect computing device 105 from satellite communications network 183 and reconnect at a later time to check for the expected message than remaining connected with satellite communications network 183 until the message is received. Remaining connected may consume bandwidth, consume power resources, and may incur costs to the user of computing device 105, which may be reduced or eliminated through the more efficient use of satellite communications network 183. Autopull manager 170 may facilitate automatic evaluation of various reconnection conditions to determine whether computing device 105 should be reconnected with satellite communications network 183 to check for the expected incoming message.
[0027] In some examples, processing circuitry 199 of computing device 105 performs parsimonious satellite autopulls using satellite communications network 183, For example, autopull manager 170 may attempt, to reduce time connected with satellite communications network 183 to reduce resource consumption. Similarly, autopull manager 170 may attempt to reduce reconnects or atempted reconnects with autopull manager 170 to reduce resource consumption. In some examples, processing circuitry' 199 determines computing device 105 is connected with satellite communications network 183 and after a period of inactivity has elapsed, processing circuitry 199 disconnects computing device 105 from satellite communications network 183. In such a way, autopull manager 170 may avoid disrupting established satellite communications session 180 which is in active use by computing device 105 as an unwanted disconnection may frustrate the user experience.
[0028] In some examples, processing circuitry 199 periodically determines whether to reconnect computing device 105 with satellite communications network 183 based on one or more reconnection conditions provided by satellite communications activity- monitor 153. For example, assuming computing device 105 has been automatically disconnected to reduce resource consumption, autopull manager 170 may evaluate various reasons or criteria which satisfy a basis to reconnect computing device 105 with satellite communications network 183. In some examples, the reconnection conditions include an elapsed time since disconnect, a signal-to-noise ratio, and / or a determined change to a geographic location of computing device 105. For instance, various grounds for reconnecting may be considered. Elapsed time since disconnect may establish a basis for reconnecting computing device 105 with satellite communications network 183. Some combination of factors may be considered. Consider for example, computing device 105 having moved outside of satellite coverage, which may be determined based on satellite signal strength information at computing device and / or determined on the basis of GPS information compared against coverage maps. Autopull manager 170 may evaluate the reconnection conditions and determine to make a reconnection attempt or determine to not make a reconnection attempt. Even where one condition is satisfied, such as sufficient elapsed time since disconnect, autopull manager 170 may nevertheless determine not to make a reconnection attempt based on, for example, computing having traveled outside of an active coverage area for satellite communications network 183. A reconnection attempt based on elapsed time when computing device 105 is outside of connectivity range may waste resources, and therefore, autopull manager 170 may determine to not make the reconnection attempt. Similarly, autopull manager 170 may determine there is a basis for reconnecting, despite not all reconnection conditions being satisfied. Consider for example, computing device 105 attempting to send an email while disconnected. Even where elapsed time is not satisfied, autopull manager 170 may determine the presence of an enqueued message awaiting transmission is a satisfactory? basis for reconnecting computing device 105 with satellite communications network 183.
[0029] In some examples, autopull manager 170 reconnects computing device 105 with satellite communications network 183 based on the reconnection conditions. While reconnected, computing device 105 may transmit and receive messages, check for enqueued messages. For instance, computing device 105 may download email and receive enqueued text messages from a mobile carrier. Computing device 105 may disconnect from satellite communications net-work 183 after exchanging data through satellite 195 or may remain connected until a period of inactivity has occurred. In some examples, processing circuitry-<)199 retrieves one or more messages 166 enqueued for computing device 105 using satellite communications network 183.
[0030] While computing device 105 is connected with satellite communications network 183, one or more alternative communication networks may come into accessibility range, such as cellular communications network 196 and / or a WI-FI network. While computing device 105 remains connected with satellite communications network 183, computing device may incur usage charges, consume battery reserves at a faster rate than when compared with alternative communications networks, and may experience heightened network latency and degraded overall bandwidth while connected with satellite communications network 183. Rather than maintaining a connection between computing device 105 and satellite communications network 183 while other alternative communication networks are within communications range with computing device 105, computing device 105 may transition to another communications network. For instance, in response to computing device 105 determining cellular communications network 196 (e.g., a terrestrial cellular network) is within communication range, computing device 105 may be configured to automatically disconnect from satellite communications network 183 and reconnect with cellular communications network 196. Connecting with cellular communications network 196 may reduce battery consumption, reduce usage charges, and may improve network latency and bandwidth conditions for computing device 105. In some examples, computing device 105 transitions from established satellite communications session 180 using satellite communications network 183 to new cellular communications session 186 using cellular communications network 196.
[0031] Computing device 105 may be configured to affirmatively execute cellular network scan 185 seeking cellular communication networks 196 and / or WI-FI networks within range of computing device 105 while connected with satellite communications network 183 in an attempt to transition computing device 105 from satellite communications to either cellular or WI-FI based communications. Stated differently, computing device 105 need not disconnect from satellite communications network 183 to perform cellular network scan 185. In some examples, computing device 105 scans for cellular communications networks 196 or other non-satelhte connectivity networks using cellular radio 116 while computing device 105 remains connected with satellite communications network 183. In some examples, processing circuitry 199 of computing device 105 initiates cellular network scan 185 while evaluating whether or not to reconnect with satellite communications network 483. In some examples, network scan 185 looks for any accessible cellular communication networks 196. In someexamples, network scan 185 includes determining -whether at least one cellular communications network 196 is accessible via cellular radio 116 of computing device 105. Computing device 105 may scan for other networks, such as an accessible WI-FI network.
[0032] When a different communications network other than satellite communications network 183 is determined to be accessible to computing device 105, computing device 105 may automatically transition away from satellite communications network 183 and onto the other network. Computing device 105 may be configured to prompt for approval before terminating connectivity -with satellite communications network 183 or may alternatively be configured to automatically terminate connectivity with satellite communications network 183 and reconnect with cellular communications network 196 when determined to be available. In some examples, in response to determining that at least one cellular communications network 196 is accessible, processing circuitry 199 initiates new cellular communications session 186 with at least one cellular communications network 196 determined to be accessible. In other examples, in response to determining that at least oneWI-FI net-work is accessible, processing circuitry 199 initiates a new WI-FI network session with at least WI-FI network determined to be accessible.
[0033] FIG. 2A is a conceptual diagram of a computing system that includes satellite pointing user interface (UI) 250 to assist with connecting computing device 205 with satellite 295, in accordance with techniques of this disclosure. In the example of FIG. 2A, computing device 205 includes display 206 interface upon which satellite pointing UI 2.50 may be output or otherwise displayed to a user. In some examples, display 206 may be a touchscreen display interface, a touch sensitive display interface, or anon-touch display upon which to output satellite pointing UI 250.
[0034] Computing device 205 may be configured with satellite pointing user interface 250 to aid with alignment of computing device 205 with one or more satellites 295. Computing device 205 may be configured to communicate with satellite 295 using a cellular radio (e.g., see element 116 of FIG. 1). For instance, computing device 205 may communicate with satellite 295 using cellular communications protocols using a cellular radio communicably interfaced with satellite communications module 210 of computing device 205. In such an example, satellite connectivity may be available, but re-orienting arnerma 212 relative to satellite 295 may either improve the satellite signal connectivity strength with satellite 295 or enable computing device 205 to establish satellite communications session 2.81 with satellite 295. Therefore, computing device 205 may be configured to output satellite pointing UI 250for display 206 to computing device 205 to facilitate the establishment of satellite communications session 281 and the exchange of data 294 with satellite 295.
[0035] Consider for example computing device 205 operating within range of satellite 295 but with a weak satellite signal. Outputting satellite pointing UI 250 to computing device 205 indicating how to re-orient computing device 205 to better position antennas 212 of computing device 205 relative to satellite 295 may assist with establishing satellite communications session 281 . According to at least one example, one or more processors 21 1 of computing device 205 may output for display, satellite pointing UI 250. For example, satellite pointing UI 250 may be rendered by computing device 205 and output to display 206 of computing device 205. In some examples, satellite pointing UI 250 provides instructions 251 indicating how to move computing device 205 to align one or more antennas 212 of computing device 205 with one or more satellites 295 by at least including vertical and horizontal alignment instructions. For instance, instructions 251 may instruct a user to turn computing device left or right, pivot computing device forward or backwards. In alternative examples, instructions 251 may instruct the user to rotate left or right, as opposed to rotating computing device 205 left or right. In yet another example, instructions 251 may indicate the user is to raise computing device 205 or lower computing device 205, as opposed to tilting computing device 205 forward or rearward.
[0036] Computing device 205 may be configured to iteratively and repeatedly update instructions 251 indicating how to reposition computing device 205. Stated differently, satellite pointing UI 250 may update in real time or near real time to change instructions 251 provided based on how the physical movement of computing device 205 affects alignment of the antennas 212 with satellite 295. Such alignment may be determined based on, for example, changes in satellite signal strength. According to one example, computing device 205, based on changes in satellite signal strength detected by computing device 205, updates satellite pointing UI 250 as computing device 205 moves. In some examples, computing device 205 updates satellite pointing UI 250 as computing device 205 moves in a vertical direction, moves m a horizontal direction, or moves in both vertical and horizontal directions. In some examples, computing device 205 updates satellite pointing UI 250 to indicate how to further move computing device 205 to alter a horizontal alignment and / or a vertical alignment of one or more antennas 212 with one or more satellites 295. For example, computing device 205 may update satellite pointing UI 250 to indicate how to move computing device 205 to improve horizontal alignment of antenna 212 with satellite 295 by outputting instructions 251 to satellite pointing UI 250. In some examples, computing device205 may update satellite pointing UI 250 to indicate how to move computing device 205 to improve vertical alignment of antenna 212 with satellite 295 by outputting instructions 251 to satellite pointing UI 250, In other examples, satellite pointing UI 250 is updated to provide instructions 251 for concurrently improving both the vertical and the horizontal alignment of antenna 212 of computing device 205 based on satellite signal strength and / or a signal to noise ratio (SNR) as measured at computing device 205.
[0037] Computing device 205 may be configured to output, for display, an indication of satellite signal strength, such as a dial, graph, or moving chart, depicting how satellite signal strength is changing over time as computing device 205 is reoriented relative to satellite 295. In some examples, computing device 205 outputs satellite signal strength and / or signal to noise ratio to satellite signal strength indicator (SSI) 252. For example, computing device 205 may generate and output satellite signal strength indicator 252 for display to computing device 205. In some examples, computing device 205 updates satellite pointing UI 250 to indicate changes in strength to the satellite signal strength using satellite signal strength indicator 252.[00381 Computing device 205 may be configured to automatically connect with satellite 295 when satellite signal strength is sufficiently strong. For instance, in response to determining that the satellite signal strength satisfies a threshold satellite signal strength for both the horizontal alignment and the vertical alignment, computing device 205 may automatically establish satellite communications session 281 using one or more satellites 295. In some examples, computing device 205 transmits data 294 using satellite communications session 281 subsequent to connecting with satellite 295. For example, computing device 205 may transmit data 294 via satellite to emergency services, transmit data 294 to a different computing device, or transmit data 294 to a cloud computing sendee accessible via a public internet.
[0039] In some examples, computing device 205 may perform operations using processing circuitry. For example, one or more processors 211 of computing device 205 may provide at least a portion of processing circuitry 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 communications module 210, antenna 212, and / or satellite signal strength indicator 252 to output instructions 251 to display 206 indicating how to move computing device 205 to improve satellite signal strength.
[0040] FIG. 2B is a conceptual diagram illustrating a computing system configured with satellite pointing user interface (UI) 250 to facilitate connecting computing device 205 withsatellite 295, in accordance with techniques of this disclosure. Computing device 205 may be configured with a dedicated user interface for outputting satellite signal strength information. For example, computing device 205 as depicted here further includes satellite signal strength user interface (satellite signal strength UI) 255. In some examples, satellite signal strength UI255 displays satellite signal strength indicator (SSI) 260. In other examples, satellite signal strength indicator 260 is output by computing device 205 for display as a separate user interface component. For instance, satellite signal strength UI 255 may be output alongside, above, beneath, or overlapping other UIs output to computing device 205. Satellite signal strength UI 255 may be output as a sub-element of satellite pointing UI 250 or may alternatively be output as a stand-alone component for display to computing device 205.
[0041] In some examples, satellite signal strength UI 255 includes a graphical representation of satellite signal strength and / or signal to noise ratio 256 as measured at computing device 205. Satellite signal strength UI 255 may include a numeric read-out of satellite signal strength and / or signal to noise ratio 256 as measured at computing device 205. For instance, satellite signal strength UI 255 may output and update a series of numbers or a percentage, representing satellite signal strength and / or signal to noise ratio 256 as measured at computing device 205. In some examples, satellite signal strength and / or signal to noise ratio256 is determined by satellite signal strength UI 255 based on received signals from sensors of computing device 205. In some examples, satellite signal strength and / or signal to noise ratio 256 is determined by satellite communication module 210 and communicated to satellite signal strength indicator 260 for output and display by computing device 205. In some examples, computing device 205 includes processing circuitry, including one or more processors 211 configured to measure, obtain, and / or determine satellite signal strength and / or signal to noise ratio 256 at computing device 205.
[0042] Satellite signal strength UI 255 may provide output to satellite pointing UI 250 for use in updating instructions 251 . For instance, satellite signal strength UI 255 may output to satellite pointing UI 250 whether satellite signal strength and / or signal to noise ratio 256 is increasing, decreasing, or maintaining. In some examples, processing circuitry of computing device 205 uses satellite signal strength and / or signal to noise ratio 256 to update satellite signal strength UI 255 and to output updated instructions 251 indicating how to move computing device 205 to align antenna 212 with satellite 295.
[0043] Computing device 205, while outputting satellite pointing UI 250 to display 206, may evaluate whether to au tomatically connect computing device 205 with satellite 295 based on whether or not satellite signal strength and / or signal to noise ratio 256 at computing device205 satisfies a threshold. In some examples, while satellite signal strength and / or signal to noise ratio 256 at computing device 205 fails to satisfy a threshold, processing circuitry may update satellite pointing user interface 250 to indicate how to further move computing device 205 to alter a horizontal alignment and a vertical alignment of one or more antennas 212 with one or more satellites 295 based on changes in satellite signal strength 256 detected by computing device 205 as computing device 205 moves in both a horizontal direction and a vertical direction. In response to determining that satellite signal strength 256 satisfies a threshold satellite signal strength for both the horizontal alignment and the vertical alignment, processing circuitry of computing device 205 may automatically establish satellite communications session 281 using one or more satellites 295. In response to connecting with satellite 295, processing circuitry of computing device 205 may transmit enqueued data 294 using satellite communications session 281 and / or receive data using satellite communications session 281.
[0044] While connected with satellite communications session 281 , computing device 205 may determine that satellite signal strength and / or signal to noise ratio 256 at computing device 205 no longer satisfies a threshold level. Computing device 205 may disconnect from satellite 295 or may responsively output for display, satellite pointing UI 250 with instructions 251 to move computing device 205 so as to improve connection conditions. According to at least one example, while computing device 205 is connected to one or more satellites 295 via satellite communications session 281, processing circuitry may determine satellite signal strength 256 no longer satisfies the threshold satellite signal strength. In response to determining satellite signal strength 256 no longer satisfies the threshold satellite signal strength, processing circuitry of computing device 205 may output for display, updated satellite pointing user interface 250 indicating how to move computing device 205 to re-align one or more antennas 212 of computing device 205 with one or more satellites 295. In such a way, a user of computing device 205 may be directed to either reestablish satellite connectivity or improve satellite connectivity to satisfy a threshold, using updated satellite pointing user interface 250.[00451 Satellite pointing user interface 250 may assist a user with aligning computing device 205 with target satellite. For example, satellite pointing user interface 250 may determine which of several satellites 295 is preferred based on connectivity and indicate to a user, via satellite pointing user interface 250, how to align computing device 205 with the target. For instance, satellite pointing user interface 250 may indicate how to move computing device 205 to align one or more antennas 212 of computing device 205 with one or more satellites 295 by at least including instructions 251 to align an orientation of computing device 205 with a target satellite from one or more satellites 295.
[0046] In the example of FIG. 2B, satellite pointing user interface 250 may indicate how to move computing device 2.05 to align one or more antennas 212. of computing device 205 with one or more satellites 295 by at least including vertical and horizontal alignment instructions 251 corresponding to vertical synchronization 261 and horizontal synchronization 262, respectively. In some examples, processing circuitry updates satellite pointing user interface 250 to indicate how to further move computing device 205 to alter the horizontal alignment and the vertical alignment based on vertical synchronization 261 and horizontal synchronization 262. For instance, based on changes in orientation of one or more antennas 212 of computing device 205 with one or more satellites 295, satellite pointing user interface 250 may output updated information indicating how computing device 205 is affected bychanges in satellite signal strength as computing device 205 moves.
[0047] FIG. 2C is a conceptual diagram illustrating a computing system configured with satellite pointing user interface 250 to facilitate connecting computing device 205 with satellite 295, in accordance with techniques of this disclosure. For instance, computing device 205 may generate, as output, variations of satellite pointing user interface 250. Some variations of satellite pointing user interface 250 may be less complex and more intuitive to a user of computing device 205, whereas others may be more complex but provide improved tools, data, and nuance for establishing a satellite connection even under difficult conditions. Other variations of satellite pointing user interface 250 may be subjectively more aesthetically pleasing to some users. Computing device 205 may be user configurable, such that different variations of satellite pointing user interface 250 may be selected, downloaded, or activated based on user preferences.
[0048] In at least one example, satellite pointing user interface 250 includes instructions 251 for aligning computing device 205 with a target mark and / or target shape 270. Computing device 205 may display a compass type dial with target mark 270 and repositionable shape 271 , however, other shapes and marks are similarly permitted. Satellite pointing user interface 250 may include repositionable shape 271 within satellite pointing user interface 250, such that movement of computing device 205 will register a change to repositionable shape 271 within satellite pointing user interface 250 corresponding to the movements. In some examples, repositionable shape 271 represents a horizontal synchronization of computing device 205 with target satellite 295. In some examples, satellite pointing user interface 250 includes animation 280A showing how to move computing device 2.05 left or right by turning computing device 205. In some examples, satellite pointing user interface 250 includes animation 280B showing how to move computing device 205 forward or rearward by tilting computing device 2.05. For instance, the arrows depicted here as animation 2.80A and animation 280B may increase and decrease in length, increase and decrease in size, and / or change color to indicate to a user whether computing device 205 is being moved closer or farther away from horizontal and vertical alignment orientations. Other animations are permissible, such as a change in frequency or rate of movement of animation 280A, 280B, concurrent haptic feedback with animation 280A, 280B, and / or changes in light intensity concurrent with changes to animation 280A, 280B.
[0049] In some examples, satellite pointing user interface 250 indicates how to move computing device 2.05 to align one or more antennas 2.12 of computing device 205 with one or more satellites 295 by at least including target shape 270 in a fixed position representing target satellite 289 from one or more satellites 295. In some examples, processing circuitrydetermines relative changes in position and orientation of computing device 205. In some examples, processing circuitry outputs updated satellite pointing user interface 250 that includes repositionable shape 271 representing the relative changes in position and orientation of computing device 205 nearer to or farther from target shape 270. In some examples, processing circuitry again updates satellite pointing user interface 250 to include changes in position of repositionable shape 271 nearer to or farther from target shape 270 based on changes in position or orientation of computing device 205 relative to target satellite 289.[00501 Computing device 205 may display changes to satellite signal strength concurrent with animation 280A, 280B to provide additional information. For instance, satellite pointing user interface 250 may include satellite signal strength indicator 275. In some examples, processing circuitry' iteratively updates satellite pointing user interface 250 to include changes to satellite signal strength indicator 275 based on changes in satellite signal strength 256 detected by computing device 2.05 as computing device 205 moves based on changes in position or orientation of computing device 205 relative to target satellite 289.[0051 1 Processing circuitry' of computing device 205 may determine relative changes in position and orientation of computing device 2.05 and output updated satellite pointing user interface 250 that includes target mark 270 in a fixed position representing target satellite 289 from one or more satellites 295 and animation 280A, 280B indicating both how to rotate computing device 205 left or right upon a vertical axis and how to tilt computing device 205 forward or rearward upon a hori zontal axis to align one or more antennas 2.12 with target mark 270. While a user of computing device 205 may not be able to view' target satellite 289 with the naked human eye, representing target satellite 289 with target mark 270 in a fixed position may help users to conceptualize the alignment task to better facilitate successful movements. In some examples, processing circuitry iteratively' updates updated satellite pointing user interface 250 to include changes to vertical and horizontal alignment instructions 251 by updating animation 280A, 280B to indicate both how to rotate computing device 205 left or right upon the vertical axis and how to tilt computing device 205 forward or rearward upon the horizontal axis to align one or more antennas 212 with the target mark based on changes in position or orientation of computing device 205 relative to target satellite 289.
[0052] FIG. 2D is a conceptual diagram illustrating a computing system configured with satellite pointing user interface 250 to facilitate connecting computing device 205 with satellite 295, in accordance with techniques of this disclosure. Computing device 205 may beconfigured to output various graphical alignment pictures, animations, instructions, and sequences using satellite pointing UI 250. In some examples, processing circuitry, determines relative changes in position and orientation of computing device 205 and outputs updated satellite pointing user interface 250 that includes vertically oriented elongated shape 268 representing vertical alignment 263 of one or more antennas 212 of computing device 205 with target satellite 289 from one or more satellites 295 and further includes horizontally oriented elongated shape 269 representing horizontal alignment 264 of one or more antennas 212 of computing device 205 with target satellite 289. Such shapes may aid a user with conceptually understanding the task of aligning computing device 205 with target satellite 289 and increase a likelihood of success. In some examples, processing circuitry iteratively updates the updated satellite pointing user interface 250 to include changes to vertically oriented elongated shape 268 by updating a size or length of vertically oriented elongated shape 268 to indicate how to tilt computing device 205 forward or rearward upon a horizontal axis to alter vertical alignment 263 of one or more antennas 212 with target satellite 289 based on changes in position or orienta tion of computing device 205 relative to target satellite 289. In some examples, processing circuitry iteratively updates updated satellite pointing user interface 250 to include changes to horizontally oriented elongated shape 269 by updating a size or length of horizontally oriented elongated shape 269 to indicate how to rotate computing device 205 left or right upon a vertical axis to alter horizontal alignment 264 of one or more antennas 212 with target satellite 289 based on changes in position or orientation of computing device 205 relative to target satellite 289.
[0053] Satellite pointing user interface 250 may be configured to indicate visually using the elongated shapes whether computing device 205 is coming into better alignment with target satellite 289 or decreasing in alignment with target satellite 289. For instance, processing circuitry may output updates to satellite pointing user interface 250 that includes vertically oriented elongated shape 268 and horizontally oriented elongated shape 269 as overlapping perpendicular elongated shapes concurrently representing via updated satellite pointing user interface 250 both vertical alignment 263 and horizontal alignment 264 of one or more antennas 212 of computing device 205 with target satellite 289 in both a vertical orientation of one or more antennas 212 with target satellite 289 corresponding to vertically oriented elongated shape 268 and a horizontal orientation of one or more antennas 212 with target satellite 2.89 corresponding to horizontally oriented elongated shape 269. In such an example, satellite pointing user interface 250 may output updates that includes animations 280A, 280B elongating or compressing vertically oriented elongated shape 268 indicating how to tiltcomputing device 205 forward or rearward upon the horizontal axis to alter vertical alignment 263 of one or more antennas 212 of computing device 205 with target satellite 289. In some examples, processing circuitry outputs updates to satellite pointing user interface 250 that includes animation 280A, 280B elongating or compressing horizontally oriented elongated shape 269 indicating how to rotate computing device 205 left or right upon the vertical axis to alter horizontal alignment 264 of one or more antennas 212 of computing device 205 with target satellite 289.
[0054] Various two-dimensional and three-dimensional shapes may be utilized to indicate to a user whether computing device 205 is increasing or decreasing in alignment with target satellite 289. For instance, satellite pointing user interface 250 may output updates including animation 2.80A, 280B compressing vertically oriented elongated shape 268 into a circle or sphere indicating vertical alignment 263 of one or more antennas 212 of computing device 205 satisfy a vertical alignment threshold with target satellite 289. Satellite pointing user interface 250 may output updates to animation 2.80A, 280B compressing horizontally oriented elongated shape 269 into a circle or sphere indicating horizontal alignment 264 of one or more antennas 212 of computing device 205 satisfy a horizontal alignment threshold with target satellite 289. In some examples, vertically oriented elongated shape 268 is a vertically oriented spherocylinder. Vertically oriented elongated shape 268 may be displayed as a vertically oriented cylinder. V ertically oriented elongated shape 268 may be displayed as a vertically oriented oval. Vertically oriented elongated shape 268 may be displayed as a vertically oriented ellipsoid. Vertically oriented elongated shape 268 may be displayed as a vertically oriented pill shape. Vertically oriented elongated shape 268 may be displayed as a vertically oriented spheroid. In some examples, horizontally oriented elongated shape 269 is a horizontally oriented spherocylinder. Horizontally oriented elongated shape 269 may be displayed as a horizontally oriented cylinder. Horizontally oriented elongated shape 269 may be displayed as a horizontally oriented oval. Horizontally oriented elongated shape 269 may be displayed as a horizontally oriented ellipsoid. Horizontally oriented elongated shape 269 may be displayed as a horizontally oriented pill shape. Horizontally oriented elongated shape 269 may be displayed as a horizontally oriented spheroid. Other shapes may be utilized.
[0055] FIG. 2E is a conceptual diagram illustrating a computing system configured with satellite pointing user interface 250 to facilitate connecting computing device 205 with satellite 295, in accordance with techniques of this disclosure. Users of computing device 205 may benefit from a perspective in which an avatar 272 is animated to depict the indicated movements of computing device 205 to facilitate alignment with target satellite 289.
[0056] In some examples, processing circuitry outputs updated satellite pointing user interface 250 that depicts avatar 272 holding a virtual representation of computing device 205 and animation 280A, 280B indicating how to rotate computing device 205 left or right upon a vertical axis to alter horizontal alignment 264 of one or more antennas 212 of computing device 205 with target satellite 289 and how to tilt computing device 205 forward or rearward upon a horizontal axis to alter vertical alignment 263 of one or more antennas 212 of computing device 205 with target satellite 289. In some examples, processing circuitry iteratively outputs updates to satellite pointing user interface 250 by updating animation 280A to indicate how to rotate computing device 205 left or right upon a vertical axis to alter horizontal alignment 264 of one or more antennas 212 of computing de vice 205 with target satellite 289, In such an example, processing circuitry may additionally or alternatively iteratively output updates to satellite pointing user interface 250 by updating animation 280B indicating how to tilt computing de vice 205 forward or rearward upon a horizontal axis to alter vertical alignment 263 of one or more antennas 212 of computing device 205 with target satellite 289. Satellite pointing user interface 250 may concurrently output iterative updates to both animation 280A and animation 280B indicating both how to rotate and how to tilt computing device 205.
[0057] FIG. 2.F is a conceptual diagram illustrating a computing system configured with satellite pointing user interface 250 to facilitate connecting computing device 205 with satellite 295, in accordance with techniques of this disclosure. Users of computing device 205 may benefit from a graphical perspective in which the user is represented as an avatar within a partial sphere or globe with indications how to align computing device 205 with target satellite 289.
[0058] In some examples, processing circuitry determines relative changes in position and orientation of computing device 205 and outputs updated satellite pointing user interface 250 that includes an overhead perspective depicting avatar 272 and a virtual representation of computing device 205. In some examples, each of avatar 272 and the virtual representation of computing device 205 are positioned within full or partial translucent sphere 298. In some examples, updated satellite pointing user interface 250 further includes animation 280A, 280B indicating how to rotate computing device 205 left or right upon a vertical axis to alter horizontal alignment 264 of one or more antennas 212 of computing de vice 205 with target satellite 289 and how to tilt computing device 205 forward or rearward upon a horizontal axis to alter vertical alignment 263 of one or more antennas 212 of compu ting device 205 with target satellite 289. In some examples, processing circuitry iteratively outputs updates tosatellite pointing user interface 250 to include changes to vertical and horizontal alignment instructions 251 by updating animation 280A, 280B to indicate how to rotate computing device 205 left or right upon a vertical axis to alter horizontal alignment 264 of one or more antennas 212 of computing device 205 with target satellite 289 and how to tilt computing device 205 forward or rearward upon a horizontal axis to alter vertical alignment 263 of one or more antennas 212 of computing device 205 with target satellite 289 based on changes in position or orientation of computing device 205 relative to target satellite 289,
[0059] In some examples, processing circuitry outputs updates to satellite pointing user interface 250 that includes a virtual representation of target satellite 266 oriented upon a surface of full or partial translucent sphere 298 and positioned relative to the virtual representation of computing device 205 based on a detected position of target satellite 289. In some examples, processing circuitry outputs a virtual representation of geographical elements in a geographic area proximate to computing device 205. For example, satellite pointing user interface 250 may output for display any one or more of buildings, geological structures such as mountains, hills, rivers, lakes, etc., and man-made infrastructure elements such as roads and freeways. The geographical elements may be displayed interior to full or partial translucent sphere 298 or exterior to full or partial translucent sphere 298 based on how near or far the geographical elements are relative to a geographic position of computing device 205.
[0060] In some examples, satellite pointing user interface 250 indicates how to move computing device 205 to alter 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 relocate computing device 205. For example, processing circuitry may output instructions 251 indicating how to physically change a current physical position of computing device 205 to a new geographic location or to any other geographic location other than the current position. Consider for example, mobile computing device 205 positioned within a ravine. Processing circuitry may output instructions 251 indicating how to physically change a current physical position of computing device from within the ravine to a position atop the ravine or potentially near an end of the ravine in such a way as to expose computing device 205 to a better view of the sky and potentially to remove obstructions from a line of sight between computing device and target satellite 289.
[0061] In some examples, processing circuitry outputs updates to satellite pointing user interface 250 indicating both how to rotate computing device 205 left, or right upon a vertical axis to alter vertical alignment 263 to satisfy a vertical alignment threshold of one or moreantennas 212 of computing device 205 with target satellite 289 from one or more satellites 295 and how to tilt computing device 205 forward or rearward upon a horizontal axis to alter horizontal alignment 264 to satisfy a horizontal alignment threshold of one or more antennas 212 with target satellite 289. In some examples, processing circuitry iteratively outputs updates to satellite pointing user interface 250 to include animation 280A, 280B indicating how to relocate computing device 205 away from one or more physical obstacles obstructing line of sight 297 between computing device 205 and target satellite 289 based on changes in position or orientation of computing device 205 relative to target satellite 289.
[0062] FIG. 2G is a conceptual diagram illustrating a computing system configured with satellite pointing user interface 250 to facilitate connecting computing device 205 with satellite 2.95, in accordance with techniques of this disclosure. Computing device 205 may be configured to assess whether obstacles 292 are interfering with establishing a clear line of sight between computing device and target satellite 289. For instance, a camera 293 of computing device 205 may be utilized to sense such obstacles. In some examples, processing circuitry of computing device 205 outputs an augmented reality (AR) rendering tor display which provides instructions 251 indicating how to relocate computing device 205 away from obstacles 292. For example, instructions 251 may indicate how to remove obstacle 292 from line of sight 297 of computing device 205 by relocating computing device 205 physically away from obstacle 292.
[0063] In some examples, processing circuitry outputs updates to satellite pointing user interface 250 to include animation 2.80A, 280B indicating how to relocate computing device 205 away from one or more physical obstacles 292 obstructing line of sight 297 between computing device 205 and target satellite 289. In some examples, processing circuitry activates camera 293 of computing device 205. In some examples, processing circuitry may determine, based on a field of view captured from camera 293, one or more physical obstacles 292 obstructing line of sight 297 between computing device 205 and target satellite 289 are located within line of sight 297 between computing device 205 and target satellite 289. In some examples, processing circuitry iteratively outputs updates to satellite pointing user interface 250 to include changes to instructions 251 indicating how to relocate computing device 205 by updating animation 280A, 280B with augmented reality 241 overlay representing where target satellite 289 is located relative to one or more physical obstacles 292 within the field of view captured from camera 293. In some examples, processing circuitry updates satellite pointing user interface 250 based on changes in position or orientation of computing device 205 relative to target satellite 289. In some examples,processing circuitry' updates satellite pointing user interface 250 based on changes in position or orientation of computing device 205 relative to one or more physical obstacles 292 within the field of view captured from camera 293. In some examples, processing circuitry updates satellite pointing user interface 250 based on changes in position or orientation of computing device 205 to both target satellite 289 and one or more physical obstacles 292 within the field of view’ captured from camera 293.
[0064] In some examples, camera 293 may include one or more cameras, collectively, “camera 293’’. Each of one or more camera 293 may include an image sensor, lens assembly, and supporting hardw'are components. An image sensor may capture incoming light and convert it into an electronic, signal. A lens assembly may include one or more lenses that focus and direct light onto the image sensor. Supporting hardware, such as image signal processors (ISPs), 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 through a dedicated camera application installed by computing device 205, allowing a user to adjust setings, apply filters, access various shooting modes, etc. In some examples, camera 293 is controlled by satellite pointing user interface 250 using one or more processors or processing circuitry of computing device 205.
[0065] FIG. 3A is a conceptual diagram of a computing system configured to implement parsimonious satellite autopulls, in accordance with techniques of this disclosure. When computing device 305 moves beyond the coverage area of cellular network connectivity and / or WI-FI network connectivity, computing device 305 may attempt to connect with a satellite communications network 383 to exchange information. Computing device 305 may be configured to implement efficient use of satellite connectivity resources through implementation of parsimonious satellite autopulls. Use of satellite connectivity' resources may result in connection charges and / or consume battery' power while connected with a satellite communications network 383. Computing device 305 may be configured to automatically disconnect from the satellite communications network after a period of inactivity and evaluate when to reconnect with the satellite communications network to check for messages and / or exchange data using satellite communications network 383.
[0066] In the example of FIG. 3A, computing device 305 includes autopull manager 370 to facilitate the sending and retrieval of messages enqueued at computing device 305 w aiting to be sent and / or the retrieval of one or more messages 366 enqueued by a communications network and waiting to be received by computing device 305 (e.g., ready to be transmitted tocomputing device 305 once connected with a communications network). According to one example, computing device 305 periodically evaluates various reconnection conditions 357 using satellite communications activity monitor 353 and may periodically reconnect to satellite communications network 383 to exchange messages 366 based on reconnection conditions 357 being monitored. In some examples, computing device 305 may reconnect with satellite communications network 383 to send an enqueued message and / or reconnect with satellite communications network 383 to check for and retrieve an expected message not yet received at computing device 305.
[0067] In such a way, computing device 305 may provide parsimonious satellite autopulls, and thus, reduce tire usage of satellite communications activity. Such reductions in satellite communications activity may provide various benefits including, by way of example, lower battery consumption at computing device 305 and reduced financial costs of wireless communications using computing device 305.
[0068] Computing device 305 may be configured to automatically terminate satellite communications. In some examples, processing circuitry of computing device 305 determines that computing device is connected with satellite communications network 383. For instance, processing circuitry may disconnect computing device 305 from satellite communications network 383 automatically. Processing circuitry’ may automatically disconnect computing device 305 from satellite communications network 383 after a period of inactivity has elapsed. In some examples, processing circuitry periodically determines whether to reconnect computing device 305 with satellite communications network 383. For example, processing circuitry may determine whether to reconnect computing device 305 with satellite communications network 383 based on one or more reconnection conditions 357.
[0069] Computing device 305 may evaluate various reconnection conditions 357 when determining whether to automatically reconnect. In some examples, reconnection conditions 357 include elapsed time (ET) 354 since disconnecting computing device 305 from satellite communications network 383. Reconnection conditions 357 may include signal-to-noise ratio (SNR) 355 or satellite signal strength (see element 252 at FIG. 2A) measured at computing device 305. Reconnection conditions 357 may include a determined change to a geographic location of computing device 305 since disconnecting computing device 305 from satellite communications network 383. For example, satellite communications activity monitor 353 may determine a change in location using global positioning system (GPS) module 356. In some examples, a change in position may be determined by comparing GPS 356 location ofcomputing device 305 when disconnected with current GPS 356 location of computing device 305.
[0070] Computing device 305 may determine that a reconnection condition 357 is sufficient basis to automatically reconnect with satellite 395. In some examples, processing circuitry reconnects computing device 305 with satellite communications network 383 based on one or more reconnection conditions 357. For example, processing circuitry may reconnect computing device 305 with satellite communications network 383 in response to a change in one or more reconnection conditions 357, based at least one of reconnection conditions 357 being satisfied, and / or based on at least one of reconnection conditions 357 satisfying a threshold. For instance, processing circuitry' may reconnect computing device 305 with satellite communications network 383 based on an evaluation of one or more reconnection conditions 357. Subsequent to reconnecting, computing device 305 may retrieve data using satellite 395. For instance, processing circuitry' of computing device 305 may' retrieve one or more messages 366 enqueued for computing device 305 using satellite communications network 383.
[0071] Computing device 305 may monitor activity while connected via satellite 395 and evaluate whether or not to stay connected. In some examples, satellite communications activity monitor 353 of computing device 305 determines computing device 305 is connected with satellite communications network 383 and autopull manager 370 automatically disconnects computing device 305 from satellite communications network 383 after a period of inactivity has elapsed (e.g., as determined by satellite communications activity monitor 353). In some examples, autopull manager 370 periodically determines whether to reconnect computing device 305 with satellite communications network 383. For example, autopull manager 370 may automatically reconnect computing device 305 with satellite communications network 383 based on one or more reconnection conditions 357 as described above. In some examples, computing device 305 establishes satellite communications session381 with satellite communications network 383. In some examples, computing device 305 retrieves one or more messages 366 in response to establishing satellite communications session 381 .
[0072] FIG. 3B is a conceptual diagram of a computing system configured to implement parsimonious satellite autopulls, in accordance with techniques of this disclosure. Computing device 305 may evaluate time elapsed and distance traveled when determining whether or not to automatically reconnect with satellite 395. In some examples, processing circuitry' of computing device 305 determines that computing device is connected with satellitecommunications network 383 and disconnects computing device 305 from satellite communications network 383 automatically. For example, processing circuitry may automatically disconnect computing device 305 from satellite communications network 383 after a period of inactivity has elapsed. In some examples, processing circuitry periodically determines whether to reconnect computing device 305 with satellite communications network 383. For example, processing circuitry may determine whether to reconnect computing device 305 with satellite communications network 383 based on one or more reconnection conditions 357. In response to reconnecting, computing device 305 may obtain, collect, and / or retrieve one or more messages 366 enqueued for computing device 305.
[0073] In some examples, processing circuitry determines disconnect location 311A corresponding to the geographic location of computing device 305 coincident with disconnecting computing device 305 from satellite communications network 383. For example, a geographic location of computing device 305 may be obtained at time 0 as shown in relation to the arrow of time in the example of FIG. 3B. Processing circuitry may determine new' location 31 1 B of computing device 305 corresponds to a current geographic location of computing device 305. For example, processing circuitry of computing device 305 may determine new location 31 IB at time N as shown in relation to the arrow' of time in the example of FIG. 3B. In at least one example, processing circuitry' determines the old location identified as disconnect location 31 IA and new location 31 IB based on GPS 356 coordinates or using a signal output by GPS 356 module. In some examples, processing circuitry determines whether new location 3 J I B satisfies a threshold geographic distance from disconnect location 31 1A by comparing disconnect location 3 I 1A with new location 31 IB.
[0074] Computing device 305 may evaluate whether a change in location satisfies reconnection conditions 357. For instance, processing circuitry may determine whether new location 31 IB satisfies the threshold geographic distance from disconnect location 311 A based on input from an accelerometer of computing device 305. In other examples, processing circuit ry determines whether new location 31 IB satisfies the threshold geographic distance from disconnect location 311A based on input from a gyroscopic sensor of computing device 305. In some examples, processing circuitry' determines whether new location 31 IB satisfies the threshold geographic distance from disconnect location 311A based on input from a GPS module of computing device 305. Processing circuitry may determine whether new location 31 IB satisfies the threshold geographic distance from disconnect location 311 A based on input from cellular radio 316 of computing device 305. In oilier examples, processing circuitry determines whether new location 31 1 B satisfies thethreshold geographic distance from disconnect location 31 1 A based on input from a WI-FI transceiver of computing device 305. In at least one example, processing circuitry determines whether new location 31 1 B satisfies the threshold geographic distance from disconnect location 311 A based on input from a cellular transceiver or cellular radio 316 of computing device 305.
[0075] Computing device 305 may utilize GPS signals or GPS data and coordinates when evaluating reconnection conditions 357. For instance, distance 314 may be determined based on a comparison of GPS 356 coordinates corresponding to each of disconnect location 31 1 A and new location 31 IB. In some examples, in response to a determination new location 31 1 B satisfies the threshold geographic distance from disconnect location 311A, processing circuitry' reconnects computing device 305 with satellite communications network 383. In such a way, computing device 305 may be configured to periodically check for new messages 366 based on computing device 305 moving a pre "Configured distance corresponding to tire threshold geographic distance from disconnect location 31 1A. Consider for example a computing device traveling by ship across the ocean. Tire ship may enter zones which lack satellite 395 coverage by satellite communications network 383 and re-enter zones which provide satellite 395 coverage by satellite communications network 383. Where computing device 305 is configured to periodically check for messages 366 based on computing device having moved a threshold geographic distance from disconnect location 311 A, computing device 305 may both conserve energy through the use of parsimonious satellite autopulls and increase the likelihood of successfill message retrieval by computing device 305 using satellite communications network 383.
[0076] Computing device 305 may utilize machine learning (ML) and / or artificial intelligence (Al) when evaluating reconnection conditions 357. In the example of FIG. 3B, autopull manager 370 includes Al model 359. Al model 359 may receive as input, reconnection conditions 357 (e.g., ET 354, SNR 355, GPS 356, and / or other inputs from sensors and data available at computing device 305) and generate as output, predictive output, such as a recommendation or determination whether or not to reconnect to satellite 395. For instance, Al model 359 may generate as output, a determination whether or not to automatically reconnect with satellite communications session 381 based on reconnection conditions 357 provided as input. In some examples, Al model 359 may evaluate whether a change in location (e.g., based on distance 314, change in disconnect location 31 1 A and new location 31 I B, etc.) satisfies reconnection conditions 357 and return as output to autopull manager 370, a determination to whether or not to reconnect with satellite communicationssession 381 based on input provided. Autopull manager 370 may receive as output from Al model 359 a recommendation or determination whether or not to reconnect with satellite coramuni cations session 381 and responsively act on the output provided by Al model 359 (e.g., autopull manager 370 may reconnect based on Al model 359 providing as output, a determination and / or recommendation to reconnect). In other examples, autopull manager 370 may weight a recommendation provided as output by Al model 359 whether or not to reconnect. In at least one example, Al model 359 executes locally within computing device 305 as a pre-trained Al model, downloaded and provisioned to computing device 305 prior to use. Local execution of a pre-provisioned Al model 359 may be beneficial due to the likelihood computing device 305 may utilize Al model 359 when network connectivity is absent or limited. In some examples, Al model 359 implements recursive machine learning to update parameters within a neural network utilized by Al model 359 based on prior reconnection conditions 357 provided and whether or not a recommendation by Al model 359 resulted m computing device 305 reconnecting with satellite communications session 381 and successfully downloading at least one message 366 enqueued for computing device 305. In oilier examples, Al model 359 provides prediction results to a cloud-based service when computing device 305 has network connectivity. For instance, such prediction results from Al model 359 may be utili zed as a supplemental training dataset for updating variants of Al model 359 provisioned to other computing devices 305 operating autopull manager 370 functionality.
[0077] FIG. 3C is a conceptual diagram of a computing system configured to implement parsimonious satellite autopulls, in accordance with techniques of this disclosure. Computing device 305 may transmit an outgoing message 386 for which an expected incoming message 385 is not yet received, but anticipated. Nonetheless, computing device 305 may be configured to disconnect from satellite 395 to more efficiently manage use of satellite connectivity resources. In some examples, processing circuitry of computing device 305 determines whether expected incoming message 385 has been received. In some examples, in response to a determination that expected incoming message 385 has not been received, processing circuitry' reconnects computing device 305 with satellite communications network 383. In some examples, processing circuitry retrieves at least expected incoming message 385 using satellite communications network 383.
[0078] In some examples, processing circuitry sends outgoing message 386 that requires a response. In some examples, processing circuitry' sends outgoing message 386 using satellite communications network 383. In some examples, expected incoming message 385 is theresponse to outgoing message 386. In some examples, expected incoming message 385 is an incoming ring alert message. In some examples, expected incoming message 385 is an incoming telephone call. In some examples, expected incoming message 385 is a response from emergency services. In some examples, expected incoming message 385 is an incoming call from emergency services. In some examples, expected incoming message 385 is an incoming text message. In some examples, expected incoming message 385 is a message acknowledgement received by computing device 305 responsive to a prior outgoing message from computing device 305.
[0079] FIG. 3D is a conceptual diagram of a computing system configured to implement parsimonious satellite autopulls and facilitate emergency' communications, in accordance with techniques of this disclosure. Computing device 305 may' determine an emergency event 367 has occurred and responsively establish satellite connectivity to provide emergency communications. In some examples, processing circuitry detennines that emergency event 367 has occurred. In some examples, in response to determining that emergency' event 367 has occurred, processing circuitry' reconnects computing device 305 to satellite communications network 383. In some examples, processing circuitry transmits emergency data transfer 384 from computing device 305 to an emergency service using satellite communications network 383.
[0080] Computing device 305 may determine that an emergency event 367 satisfies a basis for reconnecting with satellite 395, however, connectivity is weak or lacking, and thus, a connection cannot be established automatically. Computing device 305 may be configured to responsively output satellite pointing UI 350 to facilitate connectivity when needed. In some examples, processing circuitry' determines whether signal-to-noise ratio 355 measured at computing device 305 no longer satisfies a minimum connection threshold. In some examples, in response to determining that signal-to-noise ratio 355 no longer satisfies the minimum connection threshold, processing circuitry' of computing device 305 outputs satellite pointing user interface 350 indicating how to align one or more antennas 312 of computing device 305 with one or more satellites 395 of satellite communications network 383, In some examples, processing circuitry' updates satellite pointing user interface 350 to indicate how to further computing device 305 to align one or more antennas 312 with one or more satellites 395 based on changes in signal-to-noise ratio 355 measured at computing device 305 as computing device 305 moves. In some examples, processing circuitry reconnects computing device 305 with satellite communications network 383 responsive to determining signal-to-noise ratio 355 measured at computing device 305 satisfies theminimum connection threshold while outputting satellite pointing user interface 350. In some examples, processing circuitry exchanges data 394 between computing device 305 and emergency service via satellite communications network 383.
[0081] Computing device 305 may check for enqueued messages 366 when a connection with satellite 395 is established, including checking for emergency communications enqueued as messages 366. In other examples, computing device 305 may be configured to provide an icon via which users may initiate satellite reconnection. For instance, processing circuitry may determine whether one or more messages 366 are enqueued for transmission by computing device 305 while computing device 305 is disconnected from satellite communications network 383. In some examples, in response to determining one or more messages 366 are enqueued for transmission by computing device 305, processing circuitry of computing device 305 may output for display 306 to a user interface, a push to manually send messages icon 332. In some examples, processing circuitry receives, by computing device 305, an input indicating push to manually send messages icon 332 was activated. In some examples, processing circuitry' reconnects computing device 305 with satellite communications network 383 responsive to receiving the input indicating push to manually send messages icon 332 was activated. In some examples, processing circuitry' transmits one or more messages 366 enqueued for transmission using satellite communications network 383.
[0082] In other examples, processing circuitry' may' determine whether computing device 305 is disconnected from satellite communications network 383 and in response to determining computing device 305 is disconnected from satellite communications network 383, processing circuitry may output, by computing device 305 and for display 306 to a user interface, push to manually pull messages icon 333. In some examples, processing circuitry receives, by computing device 305, input indicating push to manually pull messages icon 333 ■was activated. In some examples, processing circuitry' reconnects computing device 305 with satellite communications network 383 responsive to receiving the input indicating push to manually' pull messages icon 333 was activated. In some examples, processing circuitry retrieves one or more messages 366 enqueued for computing device 305 using satellite communications network 383.
[0083] In some examples, processing circuitry determines whether signal to noise ratio 355 measured at computing device 305 satisfies a minimum connection threshold for reconnecting computing device 305 with satellite communications network 383 while computing device 305 is disconnected from satellite communications network 383. In someexamples, processing ci rem try outputs, by computing device 305 and for display 306 to a user interface, satellite connectivity available icon 333 in response to determining the signal to noise ratio satisfies the minimum connection threshold for re-connecting computing device 305 with satellite communications network 383,
[0084] In some examples, processing circuitry determines, by computing device 305, that a period of inactivity at a user interface (e.g., display 306) satisfies a threshold period of inactivity. In some examples, processing circuitry' reconnects computing device 305 with satellite communications network 383 in response to determining the threshold period of inactivity is satisfied.
[0085] FIG. 4A is a conceptual diagram of a computing system that is configured to scan cellular communications networks 496 or other non-satellite communication networks while computing device 405 is connected with satellite communications network 483, in accordance with techniques of this disclosure. L!se of satellite communication networks 483 may incur financial costs to a user and may also consume more energy causing excessive batery drain to computing device 405 when compared with using other non-satellite communication networks. Computing device 405 may be configured to automatically disconnect from satellite connectivity and reconnect with available cellular communication networks 496 and / or WI-FI networks to reduce consumption of satellite resources.Computing device 405 may initiate cellular network scans 485 in search of cellular communication networks 496 within communication range of computing device 405.
[0086] In the example of FIG. 4 A, computing device 405 includes both satellite communications module 410 and cellular communications module 415 capable of communicating with satellite 495 of satellite communications network 483 using cellular radio 416 and capable of communicating with cellular communications network 496 using cellular radio 416. An established satellite communications session 480 is depicted between computing device 405 and satellite communications network 483 with computing device 405 perfonning transition 411 to new cellular communications session 486 with cellular communications network 496.
[0087] While connected with satellite communications network, computing device 405 may scan for non-satellite-based networks for various reasons, including to provide a redundant or failsafe communication path, to reduce the financial cost of network connectivity, to reduce communication latency, to improve communication bandwidth, and to improve overall communication performance and resiliency. For instance, communications between computing device 405 and ground-based cellular towers of cellular communications network496 may perform beter than otherwise equivalent communications with satellite 495 of satellite communications network 483.
[0088] In the example of FIG. 4A, use of established satellite communications session 480 may provide communications capabilities to computing device 405 in the absence of any other wireless communications channel (e.g., such as cellular, WI-FI, etc.), and thus, computing device 405 may be configured to connect to, and communicate with, satellite communications network 483 and periodically, while connected with satellite communications network 483, perform cellular network scan 485 to check for availability of alternate communication channels.
[0089] In die example of FIG. 4A, computing device 405 may communicate with either satellite 495 using satellite communications module 410 of computing device 405 or may alternatively communicate with cellular communications network 496 via cellular radio 416 of computing device 405. In some examples, computing device 405 communicates with both satellite 495 and cellular communications network 496 concurrently. In some examples, computing device 405 disables concurrent communications with both satellite 495 and cellular communications network 496 to reduce power consumption. In some examples, computing device 405 disables concurrent communications with both satellite 495 and cellular communications network 496 to minimize wireless interference for computing device 405 among satellite communications module 410 and cellular communications module 415. In some examples, computing device 405 automatically disconnects from satellite 495 by turning off satellite communications module 410. In some examples, computing device 405 automatically disconnects from satellite 495 by terminating established communications session 480 with satellite communications network 483. In some examples, computing device 405 automatically terminates communications with satellite 495 responsive to determining new cellular communications session 486 has been established between computing device 405 and cellular communications network 496.
[0090] In some examples, computing device 405 disconnects from satellite communications network 483 before transitioning to communications with cellular communications network 496. In some examples, computing device 405 disconnects from cellular communications network 496 before transitioning to satellite communications network 483. In some examples, in response determining that at least one cellular communications network 496 is accessible to computing device 405 disconnects from satellite communications network 483 prior to initiating new cellular communications session 486 with at least one cellular communications network 496 determined to be accessible.
[0091] In such a way, computing device 405 may benefit having access to wireless communications using satellite 495 in the absence of available cellular communications network 496 and benefit from improved operating characteristics of a ground-based cellular network by automatically performing transition 411 to cellular communications network 496 using new' cellular communications session 486, when determined to be available.
[0092] Thus, in at least one example, computing device 405 initiates cellular network scan 485 while computing device 405 connected with satellite communications network 483 by scanning for any accessible cellular communication networks 483. In such an example, computing device 405 determines whether at least one cellular communications network 483 is accessible via cellular radio 416 of computing device 405. Responsive to determining that at least one cellular communications network 496 is accessible, computing device 405 may initiate new cellular communications session 486 with at least one cellular communications network 496 determined to be accessible.
[0093] FIG. 4B is a conceptual diagram illustrating a computing system configured for transitioning between wireless networks, in accordance with techniques of this disclosure. In the example of FIG. 4B, computing device 405 includes wireless communications package 406 for communicating with wireless networks. In such an example, wireless communications package 406 includes satellite communications module 410, cellular communications module 415, WI-FI transceiver 412, or some combination of satellite communications module 410, cellular communications module 415, and / or WI-FI transceiver 412.
[0094] Computing device 405 may be configured to transition between satellite and cellular communications 482, including transitioning from cellular connectivity to satellite connectivity. In some examples, while connected with satellite communications network 483, computing device 405 may scan for wireless networks including available WI-FI networks using WI-FI scan 487 and available cellular networks using cellular network scan 485. Computing device 405 may facilitate a transition between satellite and cellular communications 482 by terminating communications with satellite 495 and re-establishing communications with cellular communications network 496. For instance, processing circuitry 499 may determine at least one cellular communications network 496 is accessible. In such an example, processing circuitry' 499 may disconnect computing device 405 from satellite communications network 483 in response to determining at least one cellular communications network 496 is accessible.
[0095] Computing devsce 405 may be configured to coordinate sequencing of disconnections and reconnections of available communication networks. For instance, processing circuitry may disconnect computing device 405 from satellite communications network 483 prior to initiating new' cellular communications session 486 with at least one cellular communications network 496 determined to be accessible. Computing device 405 may terminate 481 a connection with satellite communications network 483 resulting in terminated satellite communications session 480. In some examples, processing circuitry initiates new cellular communications session 486 with at least one cellular communications network 496 subsequent to determining at least one cellular communications network 496 is no longer accessible to computing device 405. In response to determining at least one cellular communications network 496 is no longer accessible to computing device 405, processing circuitry may initiate a new satellite communications session with satellite communications network 483. In such a way, computing device 405 may transition between satellite and cellular communications 482. Computing device 405 may perform such a transition without loss of user perceptible connectivity.
[0096] Computing device 405 may be configured to manage connectivity based on periods of inactivity or an idle state associated with computing device 405. For instance, processing circuitry may transition computing device 405 to an idle mode. In some examples, processing circuitry transitions computing device 405 to the idle mode while computing device 405 is not actively transmitting or receiving data. In some examples, in response to computing device 405 entering the idle mode, processing circuitry deactivates cellular radio 416 of computing device 405. In response to computing device 405 entering the idle mode, processing circuitry may deactivate WI-FI transceiver 412 of computing device 405. In some examples, in response to computing device 405 entering the idle mode, processing circuitry iteratively scans for any wireless communication network accessible to computing device 405 using one or more of cellular radio 416 and WI-FI transceiver 412 of computing device 405.
[0097] Computing device 405 may be configured to automatically reconnect with satellite communications network 483. For instance, processing circuitry may scan for communication networks. Processing circuitry may determine that computing device 405 is not connected with a communications network and responsively scan for communication networks. In some examples, processing circuitry may perform satellite scan 489 using cellular radio 416. In other examples, processing circuitiy may perform WI-FI scan 487 using WI-FI transceiver 412. Processing circuitiy may perform cellular network scan 485 using cellular radio 416.Computing device 405 may, based on the scans, identify at least one wireless communication network accessible to computing device 405.
[0098] Computing device 405 may be configured to give preference to non-satellite-based connectivity. For instance, processing circuitry may determine computing device 405 is currently connected to satellite communications network 483 and while computing device 405 is connected to satellite communications network 483, processing circuitry initiates WIFI scan 487 for a WI-FI network. In some examples, WI-FI scan 487 includes scanning for any accessible WI-FI communication networks. Computing device 405 may determine, using WI-FI scan 487, whether at least one WI-FI communications network 497 is accessible via WI-FI transceiver 412 of computing device 405.
[0099] Computing device 405 may be configured to initiate a transition to non-satellite-based connectivity options when identified. For instance, processing circuitry may initiate new cellular communications session 486 when cellular connectivity is determined to be available and no WI-FI communications network 497 is accessible to computing device 405. In some examples, processing circuitry initiates a new' WI-FI communications session in response to determining at least one WI-FI communications network 497 is accessible to computing device 405. In other examples, processing circuitry initiates new cellular communications session 486 based on a communications preference configuration of computing device 405. Processing circuitry may determine that both WI-FI communications network 497 and at least one cellular communications network 496 is accessible to computing device 405. In response to determining that both WI-FI communications network 497 and cellular communications network 496 are accessible to computing device 405, processing circuitry may select one of the wireless networks based on the communications preference configuration of computing device 405.
[0100] In some examples, while computing device 405 is connected to satellite communications network 483, processing circuitry automatically deactivates cellular radio 416 of computing device 405. In some examples, initiating cellular network scan 485 includes activating cellular radio 416 of computing device 405 prior to scanning for accessible cellular communication networks 496.
[0101] In some examples, while computing device 405 is not actively transmitting or receiving data via new cellular communications session 486, processing circuitry of computing device 405 operates cellular radio 416 in an idle mode. In some examples, operating cellular radio 416 in the idle mode includes iteratively scanning for any accessible cellular communication networks 496 using cellular radio 416. In some examples, whilecellular radio 416 is operating in the idle mode, 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 an operating system of computing device 405, and / or in response to a detected user event at computing device 405. For example, consider computing device 405 in the form of a mobile computing device such as a smartphone or smart watch. In such an example, a user event may be detected by computing device 405, such as a screen touch event or a device wake event. In response to the user event detected, computing device 405 may, by way of example, refresh a weather app output to a home screen of computing device 405 to display current and up to date weather information, even in tire absence of a manual request for such information.
[0102] In some examples, processing circuitry disconnects computing device 405 from all satellite communications networks 483. In some examples, processing circuitry disconnects computing device 405 from satellite communications networks 483 while computing device 405 is not actively transmitting or receiving data. In some examples, processing circuitry’ disconnects computing device 405 from satellite communications networks 483 and cellular communication networks 496 while computing device 405 is not actively transmiting or receiving data. In some examples, processing circuitry operates cellular radio 416 of computing device 405 in an idle mode. In some examples, processing circuitry' operates cellular radio 416 of computing device 405 in an idle mode. In some examples, processing circuitry iteratively scans for any accessible cellular communication networks 496 and any accessible satellite communication networks 483 using cellular radio 416 of computing device 405. In some examples, processing circuitry' operates cellular radio 416 in the idle mode until an event at computing device 405 initiates a data transfer. In some examples, responsive to computing device 405 initiating the data transfer, processing circuitry connects with one of accessible cellular communication networks 496 or one of accessible satellite communication networks 483 determined to be accessible and completing the data transfer.
[0103] In some examples, computing device 405 iteratively transitions between satellite and cellular communications 482 on an iterative basis based on various configurable parameters. For example, cellular communications network 496 may be configured as preferrable and thus prioritized over connecting with satellite communications network 483, when such cellular communications networks 496 are available to computing device 405. In some examples, transitioning between satellite and cellular communications 482 may' reduce battery' consumption by computing device 405. In some examples, transitioning between satellite and cellular communications 482 may reduce or eliminate financial costs associatedwith transmitting data via satellite communications. Other factors and preferences may similarly be configured, such as latency, total bandwidth required for a particular computing activity, urgency of the communication, and so forth.[0104 j In another example, computing device 405 may be configured for transitioning computing device 405 to an idle mode while computing device 405 is not actively transmitting or recei ving data. With such a configuration, responsive to computing device 405 entering the idle mode, computing device 405 may be configured for automatically deactivating cellular radio 416 of computing device and deactivating WI-FI transceiver 412 of computing device 405. Deactivating the radios, transmitters, and transceivers of computing device 405 may facilitate energy savings and thus preserve battery life for computing device 405 while operating in the idle mode.
[0105] In such a way, computing device 405 is optimized for giving preference to cellular communications over satellite communications when cellular communication networks 496 are accessible, even when computing device 405 enters an idle state or cellular radio 416 of computing device enters an idle state, by periodically scanning for cellular network availability or responsively initiating cellular network scans responsive to a pending or requested data transfer, or both.[0106 [ In some examples, processing circuitry exchanges information between computing device 405 and satellite communications network 483 using cellular radio 416 as part of a satellite communications session. In some examples, processing circuitry outputs a request for confirmation to migrate satellite communications session 480 to new cellular communication session 496. In some examples, responsive to determining that at least one cellular communications network 496 is accessible, processing circuitry outputs the request for confirmation to migrate satellite communications session 480 to new cellular communication session 496. In some examples, processing circuitry' initiates new cellular communication session 496 between cellular radio 416 of computing device 405 and at least one cellular communications network 496 accessible to computing de vice 405.
[0107] In some examples, responsive to determining a data transfer is requested, processing circuitry- of computing device 405 may re-initiate new cellular communications session 486 with at least one cellular communications network 496 determined to be accessible to computing device 405. In some examples, processing circuitry completes the data transfer using new cellular communication session 486. In some examples, the data transfer request may be emergency data transfer 484 initiated at computing device 405.
[0108] In some examples, processing circuitry maintains a scanning time-out count-down. In some examples, processing circuitry resets the scanning time-out count-down each time cellular network scan 485 is performed. In some examples, processing circuitry’ resets the scanning time-out count-down in response to a determination that at least one cellular communications network 496 is not accessible to computing device 405. In some examples, processing circuitry iteratively re-initiates cellular network scan 485 each time the scanning time-out count-down concludes, reaches zero, increments to a reset point, and / or satisfies a threshold associated with the scanning time-out count-down.[01091 In some examples, processing circuitry- reduces radio interference by at least deactivating cellular radio 416 of computing device 405. In some examples, processing circuitry’ periodically’ re-activates cellular radio 416 of computing device 405 to scan for accessible cellular communication networks. In some examples, processing circuitry deactivates cellular radio 416 upon completion of cellular network scan 485 for available cellular communication networks 496 regardless of whether any available cellular communication networks 496 are identified by cellular network scan 485.
[0110] In some examples, processing circuitry- reduces total power consumption of computing device 405 by automatically terminating power to cellular radio 416 of computing device 405. In some examples, processing circuitry periodically’ restores power to cellular radio 416 of computing device 405. In some examples, processing circuitry re-initiates cellular network scan 485 for any accessible cellular communication networks 496. In some examples, processing circuitry terminates power to cellular radio 416 of computing device 405 subsequent to completion of cellular network scan 485.[Dili] In some examples, integrated cellular radio 416 module is embedded within computing device 405 and connected with a processor of computing device 405 via a communications bus. In some examples, processing circuitry’ includes a processor of computing device 405 for executing an instance of an operating system. In some examples, the operating system of computing device 405 executing via tire processor determines availability’ of satellite communications network 483 using cellular radio 416 of computing device 405. In some examples, processing circuitry' initiates a satellite communications session between computing device 405 and satellite communications network 483 using cellular radio 416. In some examples, processing circuitry exchanges information between the instance of the operating system executing at computing device 405 and satellite communications network 483 using cellular radio 416 as part of the satellite communications session.
[0112] FIG. 4C is a conceptual diagram illustrating a system configured for initiating emergency data transfer 484 using wireless networks, in accordance with techniques of this disclosure. Computing device 405 may be configured to facilitate establishing satellite communications when an emergency event 467 is identified. In some examples, computing device 405 determines emergency event 467 has occurred and / or receives input 479 indicating an emergency has occurred. For example, emergency communications manager 488 may detect or determine the occurrence of emergency event 467 at computing device 405 or in proximity with computing device 405. In some examples, emergency user interface (emergency UI) 498 of computing device 405 receives input 479 indicating the emergency. For example, in response to determining that an emergency has occurred based on input 479 received and / or emergency' event 467 detected, processing circuitry' may initiate emergency data transfer 484. Emergency data transfer 484 may include emergency data transmission 478A, emergency telephone call 478B, or both. In some examples, emergency data transfer 484 is performed using any of WI-FI communications network 497, cellular communications network 496, and / or satellite communications network 483. For example, computing device 405 may initiate and transmit emergency data transfer 484 to emergency services using any communications channel determined to be accessible to computing device 405.
[0113] Computing device 405 may be configured to give preference to any' available wireless communications network. For instance, processing circuitry may determine at least one wireless communication network is accessible to computing device 405 and responsively connect with the wireless communication network determined to be accessible. In some examples, processing circuitry initiates emergency data transfer 484 in response to connecting with the wireless communication network determined to be accessible. In some examples, processing circuitry transmits emergency data transfer 484 using at least one wireless communication network accessible to computing device 405 in response to computing device 405 initiating emergency data transfer 484.
[0114] In some examples, processing circuitry transmits an emergency text message to emergency services. In some examples, processing circuitry’ transmits a location of computing device 405 to emergency services. In some examples, processing circuitry' receives input captured at computing device 405 responsive to one or more pre “Configured emergency prompts. In some examples, processing circuitry issues one or more preconfigured emergency prompts responsive to determination of emergency event 467. In some examples, processing circuitry' transmits one or more pre-configured emergency prompts andthe input received responsive to one or more pre-configured emergency prompts to emergency services.
[0115] Computing device 405 may be configured to provide prompts or issue questions to a user of computing device 405 to evaluate a potential emergency event 467. For instance, computing device 405 may obtain the input to one or more pre-configured emergency prompts using emergency user interface 498. In some examples, processing circuitry outputs one or more questions requesting input to emergency user interface 498 output for display to computing device 405. In other examples, one or more questions requesting input may include a question requesting confinnation that an emergency has occurred. Questions requesting input may include a question requesting categorization of the severity of the emergency. In at least one example, questions requesting input include a question requesting confirmation that the emergency requires a response by emergency sendees.
[0116] Computing device 405 may be configured to request input authorizing the initiation of emergency telephone call 478B. Input may request verbal approval. Computing device 405 may be configured to override or otherwise negate the request for approval and initiate an emergency phone call without approval under some conditions. For instance, processing circuitry may receive input 479 requesting initiation of an emergency services telephone call. Input 479 may be obtained by computing device 405 using emergency user interface 498 output to a display of computing device 405. In some examples, processing circuitry initiates a telephone call to emergency services over satellite communications network 483 via a satellite communication session. In other examples, processing circuitry initiates emergency telephone call 478B to emergency services over satellite communications network 483. communication session. Processing circuitry may initiate emergency data transmission 478A to emergency services over satellite communications network 483 and may initiate emergency data transmission 478A before receipt of input 479 indicating approval or lack of approval. In some examples, processing circuitry ini tiates emergency data transfer 484 to emergency services over satellite communications network 483 in response to a determination that at least one cellular communications network 496 is not accessible to computing device 405. For example, upon the occurrence of emergency event 467 determination by computing device 405 or upon the occurrence of receiving input 479 indicating an emergency, processing circuitry may responsively initiate emergency data transfer 484 (e.g., emergency data transmission 478A and / or emergency telephone call 478B) using satellite communications network 483. In such an example, while computing device405 may be configured to give preference to cellular communications, processing circuitrymay nevertheless utilize satellite communications network 483 for emergency communications due to the nature of the communications (e.g., due to an emergency).
[0117] In some examples, processing circuitry receives or obtains an input requesting initiation of emergency telephone call 478B to emergency sendees while computing device 405 remains connected w'itli satellite communications network 483. In some examples, responsive to receiving the input requesting initiation of emergency telephone call 478B, processing circuitry may re-initiate cellular network scan (see e.g., element 485 of FIGS. 4A- 4B) to determine whether one or more cellular communications networks 496 are accessible to computing device 405. In some examples, in response to determining that at least one cellular communications network 496 is not accessible based on re-initiated cellular network scan 485, processing circuitry of computing device 405 may establish emergency telephone call 478B to emergency services via a satellite session. In some examples, responsive to determining that at least one cellular communications network 496 is accessible to computing device 405 based on re-initiated cellular network scan 485, processing circuitry may initiate a new cellular communication session 486 between cellular radio 416 of computing device 405 and at least one cellular communications network 496. In some examples, processing circuitry may establish emergency telephone call 478B to emergency services using new cellular communication session 486.
[0118] For example, where an emergency is determined to have occurred, computing device 405 may check for tire availability of cellular network communications, even when connected with satellite communications network 483. Transitioning between satellite and cellular communications 482 and specifically to cellular network communications may provide greater reliability and / or improved quality for emergency data transfer 484. For example, emergency telephone call 478B over cellular communications may yield greater fidelity, better go-locating precision to emergency senaces and / or reduced latency. In such a way, computing device 405 may give preference to the cellular communications for the purpose of transmitting emergency telephone call 478B to emergency services which may facilitate preservation of battery life, more reliable telecom transmission with emergency services, beter geographic triangulation, transmission of higher fidelity geographic location services to emergency services, or some combination thereof. Thus, computing device 405 may be configured to utilize any communications path accessible to it to establish emergency telephone call 478B or emergency data transmission 478A with emergency services. This may include WI-FI communications as well, in the event that such a WI-FI communications path is accessible to computing device 405.[Oi l 9] In some examples, processing circuitry initiates new cellular communication session 496 without receiving or obtaining any user input indicating a confirmation or approval for switching from satellite communications to cellular communications. For example, in the event of an emergency and in response to computing device 405 determining cellular communications are available, processing circuitry may initiate communications via cellular communications to maximize the likelihood of a successfill emergency data transfer 484 to emergency services.
[0120] In some examples, processing circuitry initiates new' cellular communication session 496 without outputting any prompt or notification requesting input authorizing computing device 405 to switch from satellite communications to cellular communications prior to establishing emergency telephone call 478B to emergency services.
[0121] FIG. 4D is a conceptual diagram illustrating a computing system configured for facilitating user-directed satellite connectivity, in accordance with techniques of this disclosure. Computing device 405 may be configured to output availability UI 430 indicating satellite availability is detected without connecting computing device 405 to any satellite. For instance, as shown here, satellite availability user interface (sat availability UI) 430 having satellite available icon 431 is shown. Satellite available icon 431 is selectable via user input 432 for optionally activating, responsive to such user input 432, new satellite communications session 480 with available satellite 495 to retrieve and transmit enqueued messages 466 or to exchange other data transmissions on behalf of computing device 405. In the example of FIG. 4D, cellular icon 441 is also shown indicating availability' (or lack of availability) of cellular communications network 496.
[0122] In some examples, 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 communications network 496 has been determined by computing device 405 to be accessible. In some examples, the indication of cellular network availability includes a list of all cellular communications networks 496 determined to be accessible. For example, computing device 405 may output for display, cellular icon 441 indicating that at least one cellular communications network 496 is accessible or computing device 405 may output for display a selectable list of available cellular networks, or output both, for display to computing device concurrently.
[0123] In some examples, processing circuitry initiates new cellular communications session 486 with at least one cellular communications network 496 determined to be accessible in response to receiving user input 432 specifying cellular communications network 496. Insome examples, processing circuitry selectively switches from satellite communications network 483 to at least one cellular communications network 496 pursuant to receiving user input 432 authorizing computing device 405 to switch from satellite communications network 483 to at least one cellular communications network 496.
[0124] In some examples, processing circuitry outputs a graphical user interface that includes the indication of cellular network availability. For example, processing circuitry may output cellular icon 441 for display to computing device 405. In some examples, processing circuitry outputs audio indicative of the cellular network availability. For example, processing circuitry may cause computing device 405 to generate an audible signal, an audible tone, or an audible sound via a speaker of computing device or via headphones connected with computing device 405, In some examples, processing circuitry outputs a tactile notification indicating availability of at least one cellular communications network 496 as a preferred communications network over satellite communications network 483 with which computing device 405 presently has an established satellite session. For example, cellular icon 441 may be output for display to computing device 405 or a message may be output for display to computing device 405 or haptic feedback or an audible alert may be output to computing device 405 alerting a user to the availability of cellular communications network 496, regardless of whether the user is observing a display of computing device 405 or even without a touchscreen or display device being activated at computing device 405.
[0125] In some examples, processing circuitry outputs a graphical user interface that includes the indication of satellite network availability. For example, processing circuitry may output satellite icon 431 for display to computing device 405. In some examples, processing circuitry outputs audio indicative of the satellite network availability. For example, processing circuitry may cause computing device 405 to generate an audible signal, an audible tone, or an audible sound via a speaker of computing device or via headphones connected with computing device 405. Tire audible signal for satellite availability' may be different from the audible signal indicating cellular network availability. In some examples, processing circuitry outputs a tactile notification indicating availability of at least one satellite communications network 483 as a. preferred communications network option when processing circuitry determines that cellular communications are not presently accessible to computing device 405.
[0126] In some examples, processing circuitry disconnects computing device 405 from cellular communications network 496. In some examples, processing circuitry automatically re-connects computing device 405 with satellite communications network 483. In someexamples, processing circuitry re-scans for any accessible cellular communication networks. In some examples, processing circuitry determines at least one cellular communications network 496 is accessible to computing device 405. In some examples, in response to determining that at least one cellular communications network 496 is accessible to computing device 405, processing circuitry may output a notification to computing device 405 indicating availability of at least one cellular communications network 496 determined to be accessible. In some examples, the notification to computing device 405 indicating availability of at least one cellular communications network 496 may include a request for authorization to switch computing device 405 from a satellite communications mode to a cellular communications mode. For example, satellite availability user interface 430 may output the request for authorization to switch computing device 405 from a satellite communications mode to a cellular communications mode.
[0127] In some examples, the request for authorization to switch computing device 405 from the satellite communications mode to the cellular communications mode was ignored or rejected. For example, computing device 405 may fail to obtain any user input 432 authorizing the switch between communication modes. In some examples, in response to a determination that the request for authorization to switch computing device 405 from satellite communications mode to the cellular communications mode was ignored or rejected, processing circuitry maintains computing device 405 in the satellite communications mode and connected with satellite communications network 483.
[0128] Thus, while computing device 405 may optionally be configured to automatically failover or otherwise transition between satellite communications network 483 and cellular communications network 496, in other examples, computing device 405 actively solicits input from a user (e.g., user input 432 and 442.) as an affirmative approval or authorization to make a switch between available communication pathways. In such a way, computing device 405 may be configured to wholly forgo any transition between communication pathways (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 upon configurable options set within user configurations or configured as defaults for computing device 405.
[0129] FIG. 5 is a block diagram illustrating further details of one example of computing device, such as a computing device shown in FIGS. 1, 2.A-2G, 3A-3D, and 4A-4D, in accordance with techniques of this disclosure. FIG. 5 illustrates only one particular example of computing device 500. Many other example embodiments of computing device 500 may be used in other instances.
[0130] As shown in the specific exampie of FIG. 5, 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 source 512. Computing device 500 may also include operating system 514. Computing device 500, in one example, may further include one or more applications 516, such as satellite pointing user interface 550 and autopull manager 570. In some examples, operating system 514 includes 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 executable by computing device 500. Components of computing device 500 may be interconnected (physically, communicatively, and / or operatively) for inter-component communications.
[0131] In some examples, processing circuitry including one or more processors 505, implements functionality anchor process instructions for execution within computing device 500. For example, one or more processors 505 may be capable of processing instructions stored in memory 504 and / or instructions stored on one or more storage devices 508.
[0132] Memory 504, in one example, may store information within computing device 500 during operation. Memory 504, in some examples, may represent a computer-readable storage medium. In some examples, memory 504 may be a temporary memory, meaning that a primary purpose of memory' 504 may not be long-term storage. Memory 504, in some examples, may be described as a volatile memory, meaning that memory 504 may not maintain stored contents when computing device 500 is turned off. Examples of volatile memories may include random access memories (RAM), dynamic random-access memories (DRAM), static random-access memories (SRAM), and other forms of volatile memories. In some examples, memory 504 may be used to store program instructions for execution by one or more processors 505. Memory 504, in one example, may be used by software or applications running on computing device 500 (e.g., one or more applications 516) to temporarily store data and / or instructions during program execution.
[0133] One or more storage devices 508, in some examples, may also include one or more computer-readable storage media. One or more storage devices 508 may be configured to store larger amounts of information than memory' 504. One or more storage devices 508 may further be 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 nonvolatile storage elements may include magnetic hard disks, optical discs, floppy disks. Flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.
[0134] Computing devsce 500, in some examples, may also include network interface 506, Computing device 500, in such exampies, may 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, a radio frequency transceiver, a cellular transceiver or cellular radio, or any other type of device that can send and receive information. Other examples of such network interfaces may include BLUETOOTH®, 3G, 4G, 5G, LTE, and WI-FI® radios in mobile computing devices as well as USB. In some examples, computing device 500 may use network interface 506 to wirelessly communicate with an external device such as a server, mobile phone, or other networked computing device.
[0135] Computing device 500 may also include user interface 510. User interface 510 may include one or more input devices 511, such as touch-sensitive display 106 of FIGS. 1, 2A- 2G, 3A-3D, and 4A-4D. Input device 511, in some examples, may be configured to receive input from a user through tactile, electromagnetic, audio, and / or video feedback. Examples of input device 511 may include a touch-sensitive display, mouse, keyboard, voice responsive system, video camera, microphone or any other type of device for detecting gestures by a user. In some examples, a touch-sensitive display may include a presence-sensitive screen.
[0136] User interface 510 may also include one or more output devices, such as touch- sensitive display 106 shown in FIGS. 1, 2A-2G, 3A-3D, and 4A-4D. One or more output devices, in some examples, may be configured to provide output to a user using tactile, audio, or video stimuli. One or more output devices, in one example, may include a display, sound card, a video graphics adapter card, or any other type of device tor converting a signal into an appropriate form 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 intelligible output to a user.
[0137] Computing device 500, in some examples, may include power source 512, which may be rechargeable and provide power to computing device 500. Power source 512, in some examples, may be a battery made from nickel -cadmium, lithium-ion, or other suitable material.
[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 hardware components of computing device 500. As shown in FIG. 5, one or more applications 516 may be stored in one or morestorage devices 508 and may include any of satellite pointing user interface 550, autopull manager 570, and emergency communications manager 588. Any of satellite pointing user interface 550, autopull manager 570, and emergency communications manager 588 may include program instructions and / or data, that are executable by one or more processors 505 of computing device 500. For example, any of satellite pointing user interface 550, autopull manager 570, and emergency communications manager 588 may include instructions that cause one or more applications 516 executing on computing device 500 to perform one or more of the operations and actions described in FIGS. I , 2A-2G, 3A-3D, and 4A-4D and 5.
[0139] In some examples, operating system 514 may be configured to scan, via processing circuitry of computing device 500, for available cellular networks, satellite networks, and / or WI-FI networks. In some examples, satellite pointing user interface 550 may be configured to output instructions indicating how to move computing device 500 to align one or more antennas of computing device 500 with a target satellite. In some examples, autopull manager 570 may be configured to implement parsimonious satellite pulls to facilitate communications over a satellite communications network. In some examples, emergency communications manager 588 may be configured to detect, via processing circuitry of computing device 500, an emergency event and transmit emergency data to emergency services over a wireless communications network, including using any of satellite communications, cellular communications, and / or WI-FI communications.
[0140] Any applications, e.g., one or more applications 516, implemented within or executed by computing device 500 may be implemented or contained within, operable by, executed by, and / or be operatively / communicatively coupled to components of 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] FIG. 6 is a flow chart illustrating an example mode of operation for computing device 105 to implement satellite pointing user interface 150, in accordance with techniques of this disclosure. The mode of operation is described with respect to computing device 105 and FIGS. 1, 2.A-2.G, 3A-3D, 4A-4D and 5.
[0142] In some examples, processing circmir. 199 of computing device 105 may output satellite pointing user interface 150 for display at the computing device (605). In some examples, processing circuitry 199 may indicate how to move computing device 105 to align antenna(s) 112 of computing device 105 with satellite 195 (610). In some examples, processing circuitry 199 outputs, by one or more processors of computing device 105 and for display, satellite pointing user interface 150 indicating how to move computing device 105 toalign one or more antennas 112 of computing device 105 with one or more satellites 195 by at least including vertical and horizontal alignment instructions 151.
[0143] In some examples, processing circuitry 199 may-' determine whether a threshold satellite signal strength is satisfied (615). If the threshold satellite signal strength is not satisfied, the “NO” branch is followed and processing circuitry 199 updates satellite pointing user interface 150 based on changes in satellite signal strength (616). In some examples, processing circuitry' 199 repeats indicating how to move computing device 105 to align antenna(s) 112 with satellite 195 (610). In some examples, processing circuitry7199 updates by computing device 105 and based on changes in satellite signal strength detected by computing device 105 as computing device 105 moves in both a horizontal direction and a vertical direction, satellite pointing user interface 150 to indicate how to further move computing device 105 to alter a horizontal alignment and a vertical alignment of one or more antennas 112 with one or more satellites.
[0144] If the threshold satellite signal strength is satisfied, the “YES” branch is followed and processing circuitry' 199 of computing device 105 establishes satellite communications session 180 with the satellite 195 (620). In some examples, in response to determining that the satellite signal strength satisfies a threshold satellite signal strength for both the horizontal alignment and the vertical alignment, processing circuitry 199 establishes, by computing device 105, satellite communications connection 180 using one or more satellites.
[0145] In some examples, processing circuitry 199 of computing device 105 transmits data using satellite communications connection 180 (625). In some examples, while computing device 105 is connected to one or more satellites 195 via satellite communications session 180, processing circuitry' 199 may determine the satellite signal strength no longer satisfies the threshold satellite signal strength. In some examples, in response to determining the satellite signal strength no longer satisfies the threshold satellite signal strength, processing circuitry' 199 outputs, by one or more processors of computing device 105 and for display, updated satellite pointing user interface 150 indicating how to move computing device 105 to re-ahgn one or more antennas 112 of computing device 105 with one or more satellites 195.
[0146] In some examples, processing circuitry 199 indicates 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 instructions 151 to align an orientation of computing device 105 with target satellite 195 from one or more satellites 195, Instructions 151 may take on a variety of forms, including ID alignment instructions 151 which indicate how to move computing device 105 along a signal axis or across a single plane, such as vertically or horizontally. In someexamples, 2D alignment instructions 151 indicate how to move computing device 105 in both a horizontal and a vertical direction. In some examples, instructions 151 indicate so-called ‘"three dimensional instructions” or “3D instructions” which indicate how to move computing device 105 in both a horizontal and a vertical direction and additionally indicate how to move computing device 105 to a new' geographic location.
[0147] In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, a target shape in a fixed position representing target satellite 195 from one or more satellites 195. In some examples, processing circuitry 199 updates satellite pointing user interface 150 to indicate how to further move computing device 105 to alter the horizontal alignment and the vertical alignment of one or more antennas 112 with one or more satellites 195 based on changes m satellite signal strength detected by computing device 105 as computing device 105 moves. In some examples, processing circuitry 199 determines relative changes in position and orientation of computing device 105. In some examples, processing circuitry 199 outputs updated satellite pointing user interface 150 that includes a repositionable shape representing the relative changes in position and orientation of computing device 105 nearer to or farther from the target shape. In some examples, processing circuitry 199 iteratively updates updated satellite pointing user interface 150 to include changes m position of the repositionable shape nearer to or farther from the target shape based on changes in position or orientation of computing device 105 relative to target satellite 195.
[0148] In some examples, processing circuitry 199 iteratively updates satellite pointing user interface 150 to include changes to the satellite signal strength indicator based on changes in position or orientation of computing device 105 relative to target satellite 195. In some examples, processing circuitry 199 iteratively updates satellite pointing user interface 150 to include changes to the satellite signal strength indicator based on changes in the satellite signal strength detected by computing device 105 as computing device 105 moves.
[0149] In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, updated satellite pointing user interface 150 that includes a target mark m a fixed position representing target satellite 195 from one or more satellites 195. In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, updated satellite pointing user interface 150 that includes an animation indicating how to rotate computing device 105 left or right upon a vertical axis. In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, updated satellite pointing user interface 150 that includes an animation indicating how to tilt computing device105 forward or rearward upon a horizontal axis to align one or more antennas 1 12 with the target mark. In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, an updated satellite pointing user interface that includes an animation indicating both how to rotate computing device 105 left or right upon a vertical axis and how to tilt computing device 105 forward or rearward upon a horizontal axis. In some examples, processing circuitry 199 iteratively updates the updated satellite pointing user interface to include changes to vertical and horizontal alignment instructions 151 by updating animation to indicate how to rotate computing device 105 left or right upon the vertical axis and / or how to tilt computing device 105 forward or rearward upon the horizontal axis to align one or more antennas 112 with tire target mark, based on changes in posrtion or orientation of computing device 105 relative to target satellite 195.
[0150] In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, an updated satellite pointing user interface that includes a vertically oriented elongated shape representing the vertical alignment of one or more antennas 1 12 of computing device 105 with target satellite 195 from one or more satellites. In some examples, processing circuitry 199 outputs for display to satellite pointing user interface 150, an updated satellite pointing user interface that includes a horizontally oriented elongated shape representing the horizontal alignment of one or more antennas 112 of computing device 105 with target satellite 195. In some examples, processing circuitry- 199 iteratively outputs updates to the updated satellite pointing user interface to include changes to the vertically oriented elongated shape by updating a size or length of the vertically- oriented elongated shape to indicate how- to tilt computing device 105 forward or rearward upon a horizontal axis to alter the vertical alignment of one or more antennas 112 with target satellite 195 based on changes in position or orientation of computing device 105 relative to target satellite 195. In some examples, processing circuitry' 199 iteratively outputs updates to the updated satellite pointing user interface to include changes to the horizontally oriented elongated shape by updating a size or length of the horizontally oriented elongated shape to indicate how to rotate computing device 105 left, or right upon a vertical axis to alter the horizontal alignment of one or more antennas 1 12 with target satellite 195 based on changes in position or orientation of computing device 105 relative to target satellite 195.
[0151] In some examples, processing circuitry 199 outputs the updated satellite pointing user interface that includes the vertically oriented elongated shape and the horizontally oriented elongated shape as overlapping perpendicular elongated shapes concurrently representing via die updated satellite pointing user interface both the vertical alignment and the horizontalalignment of one or more antennas 1 12 of computing device 105 with target satellite 195 in both a vertical orientation of one or more antennas 112 with target satellite 195 corresponding to the vertically oriented elongated shape and a horizontal orientation of one or more antennas 1 12 with target satellite 195 corresponding to the horizontally oriented elongated shape.
[0152] In some examples, processing circuitry 199 outputs tire updated satellite pointing user interface that includes an animation elongating or compressing the vertically oriented elongated shape indicating how to tilt computing device 105 forward or rearward upon the horizontal axis to alter the vertical alignment of one or more antennas 112 of computing device 105 with target satellite 195. In some examples, processing circuitry 199 outputs the updated satellite pointing user interface that includes the animation elongating or compressing the horizontally oriented elongated shape indicating how to rotate computing device 105 left or right upon the vertical axis to alter the horizontal alignment of one or more antennas 112 of computing device 105 with target satellite 195.
[0153] In some examples, processing circuitry 199 outputs the updated satellite pointing user interface that includes an animation compressing the vertically oriented elongated shape into a circle or sphere indicating the vertical alignment of one or more antennas 112 of computing device 105 satisfies a vertical alignment threshold with target satellite 195. In some examples, processing circuitry 199 outputs the updated satellite pointing user interface that includes the animation compressing the horizontally oriented elongated shape into a circle or sphere indicating the horizontal alignment of one or more antennas 112 of computing device 105 satisfies a horizontal alignment threshold with target satellite 195.
[0154] In some examples, the circle or sphere corresponds to a spheroid or ellipsoid which appears circular or spherical in shape but is not exactly circular or spherical. In some examples, the vertically oriented elongated shape is a vertically oriented spherocylinder. In some examples, the vertically oriented elongated shape is a vertically oriented cylinder. In some examples, tire vertically oriented elongated shape is a vertically oriented oval. In some examples, the vertically oriented elongated shape is a vertically oriented ellipsoid. In some examples, the vertically oriented elongated shape is a vertically oriented pill shape. In some examples, the vertically oriented elongated shape is a vertically oriented spheroid. In some examples, the horizontally oriented elongated shape is a horizontally oriented spherocylinder. In some examples, the horizontally oriented elongated shape is a horizontally oriented cylinder. In some examples, the horizontally oriented elongated shape is a horizontally oriented oval. In some examples, the horizontally oriented elongated shape is a horizontallyoriented ellipsoid. In some examples, the horizontally oriented elongated shape is a horizontally oriented pill shape. In some examples, the horizontally oriented elongated shape is a horizontally oriented spheroid.
[0155] In some examples, processing circuitry' 199 determines relative changes in position and orientation of computing device 105 and responsively outputs updates to satellite pointing user interface 150. In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 that depicts an avatar holding a virtual representation of computing device 105. In some examples, processing circuitry' 199 outputs updates to satellite pointing user interface 150 that depicts an animation indicating how to rotate computing device 105 left or right upon a vertical axis to alter the horizontal alignment of one or more antennas 112 of computing device 105 with target satellite 195 and how to tilt computing device 105 forward or rearward upon a horizontal axis to alter the vertical alignment of one or more antennas 112. of computing device 105 with target satellite 195. In some examples, processing circuitry 199 iteratively updates the updated satellite pointing user interface by updating the animation to indicate how to rotate computing device 105 left or right upon a vertical axis to alter the horizontal alignment of one or more antennas 1 12 of computing device 105 with target satellite 195 and how to tilt computing device 105 forward or rearward upon a horizontal axis to alter the vertical alignment of one or more antennas 1 12 of computing device 105 with target satellite 195 based on changes in position or orientation of computing device 105 relative to target satellite 195.
[0156] In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 that includes an overhead perspective depicting an avatar and a virtual representation of computing device 105. In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 that includes each of the avatar and the virtual representation of computing device 105 positioned within a full or partial translucent sphere. In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 that includes an animation indicating how to rotate computing device 105 left or right upon a vertical axis to alter the horizontal alignment of one or more antennas 112 of computing device 105 with target satellite 195 and how to tilt computing device 105 forward or rearward upon a horizontal axis to alter the vertical alignment of one or more antennas 112 of computing device 105 with target satellite 195. In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 that includes a virtual representation of target satellite 195 oriented upon a surface of the full or partial translucent sphere and positioned relative to the virtual representation of computing device 105 based on a detectedposition of target satellite 195, In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 that includes a virtual representation of geographical elements in a geographic area proximate to computing device 105. For example, virtual representation of geographical elements may be positioned within or exterior to the full or partial translucent sphere.
[0157] In some examples, processing circuitry 199 outputs updates to satellite pointing user interface 150 indicating how to relocate computing device 105. In some examples, processing circuitry 199 iteratively updates satellite pointing user interface 150 to include an animation indicating how to relocate computing device 105 away from one or more physical obstacles obstructing a line of sight between computing device 105 and target satellite 195. In some examples, processing circuitry 199 activates a camera of computing device 105. In some examples, processing circuitry 199 determines one or more physical obstacles obstructing the line of sight between computing device 105 and target satellite 195 are located within the line of sight between computing device 105 and target satellite 195 based on a field of view captured from the camera. In some examples, processing circuitry' 199 iteratively updates the updated satellite pointing user interface to include changes to instructions 151 indicating how to relocate computing device 105 by updating the animation with an augmented reality overlay' representing where target satellite 195 is located relative to one or more physical obstacles within the field of view captured from the camera based on changes in position or orientation of computing device 105 relative to target satellite and / or based on changes in position or orientation of computing device 105 relative to one or more physical obstacles within the field of view' captured from the camera.|8158| FIG. 7 is a flow chart illustrating an example mode of operation for a computing device 105 to implement parsimonious satellite autopulls, in accordance with techniques of this disclosure. The mode of operation is described with respect to computing device 105 and FIGS. 1 , 2A-2G, 3A-3D, 4A-4D and 5.
[0159] In some examples, processing circuitry 199 may determine whether computing device 105 is connected with satellite communications network 183 (705). After a period of inactivity has elapsed, processing circuitry' 199 may automatically disconnect computing device 105 from satellite communications network 183 (710). Processing circuitry 199 may evaluate whether to automatically reconnect based on reconnection conditions (715). For instance, processing circuitry' 199 may' periodically determine whether to reconnect computing device 105 with satellite communications network 183 based on one or more reconnection conditions evaluated (see element 357 of FIGS. 3A-3B). In some examples.reconnection conditions 357 include an elapsed time since disconnecting computing device 105 from satellite communications network 183. In some examples, reconnection conditions 357 include a signal -to-noise ratio measured at computing device 105. In some examples, reconnection conditions 357 include a determined change to a geographic location of computing device 105 since disconnecting computing device 105 from satellite communications network 183.
[0160] In some examples, processing circuitry 199 evaluates reconnection conditions 357 to determine if at least one of them is satisfied. In some examples, processing circuitry 199 evaluates whether the elapsed time since disconnect is satisfied (716) and / or whether the signal -to-noise ratio is satisfied (717) and / or whether the change to geographic location is satisfied (718). If one or more of reconnection conditions 357 are not satisfied (719), the “NO” branch is followed and processing circuitry 199 repeats evaluating whether to automatically reconnect based on reconnection conditions 357 (715). Conversely, if any of reconnection conditions 357 are satisfied (719), the “YES” branch is followed and processing circuitry 199 reconnects computing device 105 with satellite communications network 183 (720). In some examples, processing circuitry 199 retrieves message(s) enqueued for the computing device (725). In some examples, processing circuitry 199 retrieves one or more messages enqueued for computing device 105 using satellite communications network 183.
[0161] In some examples, processing circuitry 199 determines a disconnect location corresponding to the geographic location of computing device 105 coincident with disconnecting computing device 105 from satellite communications network 183. In some examples, processing circuitry 199 determines a new location of computing device 105 corresponding to a current geographic location of computing device 105. In some examples, processing circuitry 199 determines whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new location. In some examples, in response to determining the new' location satisfies the threshold geographic distance from the disconnect location, processing circuitry 199 reconnects computing device 105 with satellite communications network 183.
[0162] In some examples, processing circuitry 199 determines whether the new location satisfies the threshold geographic distance from the disconnect location based on input from an accelerometer of computing device 105. In some examples, processing circuitry 199 determines whether the new location satisfies the threshold geographic distance from the disconnect location based on input from a gyroscopic sensor of computing device 105. In some examples, processing circuitry 199 determines whether the new location satisfies thethreshold geographic distance from the disconnect location based on input from a GPS module of computing device 105. In some examples, processing circuitry' 199 determines whether the new location satisfies the threshold geographic distance from the disconnect location based on input from a WI-FI transceiver of computing device 105. In some examples, processing circuitry 199 determines whether the new location satisfies the threshold geographic distance from the disconnect location based on input from a cellular transceiver or cellular radio 116 of computing device 105.
[0163] In some examples, processing circuitry 199 determines whether an expected incoming message has been received. In some examples, in response to determining that the expected incoming message has not been received, processing circuitry' 199 reconnects computing device 105 with satellite communications network 183. In some examples, processing circuitry 199 of computing device 105 retrieves at least the expected incoming message using satellite communications network 183. In some examples, processing circuitry 199 of computing device 105 sends an outgoing message that requires a response using satellite communications network 183. In some examples, the expected incoming message is the response to the outgoing message. In some examples, the expected incoming message is an incoming ring alert message. In some examples, the expected incoming message is an incoming telephone call. In some examples, the expected incoming message is a response from emergency services. In some examples, the expected incoming message is an incoming call from emergency services. In some examples, the expected incoming message is an incoming text message. In some examples, the expected incoming message is a message acknowledgment received by computing device 105 responsive to a prior outgoing message from computing device 105.
[0164] In some examples, in response to determining that an emergency event has occurred, processing circuitry' 199 reconnects computing device 105 to satellite communications network 183. In some examples, in response to determining that an emergency event has occurred, processing circuitry 199 transmits an emergency data transfer (e.g., see element 484 of FIG. 4C) from computing device 105 to an emergency service using satellite communications network 183.
[0165] In some examples, processing circuitry 199 determines whether the signal -to-noise ratio measured at computing device 105 no longer satisfies a minimum connection threshold. In some examples, in response to determining that the signal-to-noise ratio no longer satisfies the minimum connection threshold, processing circuitry 199 outputs satellite pointing user interface 150 indicating how to align one or more antennas 112 of computing device 105 withone or more satellites 195 of satellite communications network 183. In some examples, processing circuitry 199 updates satellite pointing user interface 150 to indicate how to align one or more antennas 1 12 of computing device 105 with one or more satellites 195 based on changes in the signal -to-noise ratio measured at computing device 105 as computing device 105 moves. In some examples, while outputting satellite pointing user interface 150, processing circuitry 199 reconnects computing device 105 with satellite communications network 183. In some examples, processing circuitry' 199 reconnects computing device 105 with satellite communications network 183 in response to determining the signal-to-noise ratio measured at computing device 105 satisfies the minimum connection threshold. In some examples, processing circuitry 199 exchanges data between computing device 105 and emergency sendees via satellite communications network 183.
[0166] In some examples, while computing device 105 is disconnected from satellite communications network 183, processing circuitry 199 determines whether one or more messages are enqueued for transmission by computing device 105. In some examples, in response to determining one or more messages enqueued for transmission by computing device 105, processing circuitry 199 outputs a push to manually send messages icon for display to a user interface. In some examples, processing circuitry 199 of computing device 105 receives an input indicating the push to manually send messages icon was activated. In some examples, processing circuitry 199 re-connects computing device 105 with satellite communications network 183 in response to receiving the input indicating the push to manually' send messages icon was activated. In some examples, processing circuitry’ 199 transmits the one or more messages enqueued (see element 466 of FIG. 4D) for transmission using satellite communications network 183.
[0167] In some examples, processing circuitry 199 detennines whether computing device 105 is disconnected from satellite communications network 183. In some examples, in response to determining computing device 105 is disconnected from satellite communications network 183, processing circuitry' 199 outputs a push to manually pull messages icon for display to a user interface. In some examples, processing circuitry' 199 receives an input indicating the push to manually pull messages icon was activated. In some examples, processing circuitry 199 re-connects computing device 105 with satellite communications network 183 m response to receiving the input indicating the push to manually pull messages icon was activated. In some examples, processing circuitry 199 retrieves one or more messages enqueued for computing device 105 using satellite communications network 183.
[0168] In some examples, while computing device 105 is disconnected from satellite communications network 183, processing circuitry 199 determines whether a signal to noise ratio measured at computing device 105 satisfies a minimum connection threshold for reconnecting computing device 105 with satellite communications network 183. In some examples, processing circuitry 199 outputs a satellite connectivity available icon for display to a user interface in response to determining the signal-to-noise ratio satisfies tire minimum connection threshold for re-connecting computing device 105 with satellite communications network 183.
[0169] In some examples, processing circuitry 199 determines that a period of inactivity at a user interface satisfies a threshold period of inactivity. In some examples, in response to determining the threshold period of inactivity is satisfied, processing circuitry 199 reconnects computing device 105 with satellite communications network 183.
[0170] FIG. 8 is a flow chart illustrating an example mode of operation for computing device 105 to implement cellular network scanning while connected with satellite communications network 183, in accordance -with techniques of this disclosure. The mode of operation is described with respect to computing device 105 and FIGS. 1, 2A-2G, 3A-3D, 4A-4D and 5.
[0171] Computing device 105 may operate while connected with satellite communications network 183 (805). For example, processing circuitry 199 of computing device 105 may determine that computing device 105 is presently connected with satellite communications network 183.
[0172] While connected with satellite communications netw'ork 183 (810), processing circuitry 199 of computing device 105 may scan for accessible cellular communications networks (815). In some examples, processing circuitry 199 scans for any accessible cellular communication networks.
[0173] While connected with satellite communications network 183 (810), computing device 105 may determine at least one cellular communications network is accessible (820). In some examples, processing circuitry 199 determines whether at least one cellular communications network is accessible via cellular radio 116 of computing device 105. In respon se to determining that at least one cellular communications network 196 is accessible, computing device 105 may initiate a new cellular communications session (825) with at least one cellular communications network 196 determined to be accessible.
[0174] In some examples, in response to a determination that at least one cellular communications network 196 is accessible, processing circuitry 199 may disconnect computing device 105 from satellite communications network 183 prior to initiating the newcellular communications session with at least one cellular communications network 196 determined to be accessible. In some examples, subsequent to computing device 105 initiating the new cellular communications session with at least one cellular communications network 196, processing circuitry 199 may determine that at least one cellular communications network 196 is no longer accessible to computing device 105. In some examples, in response to determining that at least one cellular communications network 196 is no longer accessible to computing device 105, processing circuitry' 199 may initiate a new satellite communications session with satellite communications network 183.
[0175] In some examples, processing circuitry- 199 transitions computing device 105 to an idle mode while computing device 105 is not actively transmitting or receiving data. In some examples, in response to computing device 105 entering the idle mode, processing circuitry' 199 may deactivate cellular radio 116 of computing device 105. In some examples, in response to computing device 105 entering the idle mode, processing circuitry' 199 may deactivate a WI-FI transceiver of computing device 105. In some examples, processing circuitry- 199 iteratively scans for any wireless communication network accessible to computing device 105 using one or more of cellular radio 116 and / or the WI-FI transceiver of computing device 105. In some examples, processing circuitry 199 identifies at least one wireless communication network accessible to computing device 105 based on the scanning. In some examples, in response to computing device 105 initiating an emergency data transfer, processing circuitry 199 of computing device 105 transmits the emergency data transfer using at least one wireless communication network accessible to computing device 105.
[0176] In some examples, processing circuitry 199 transmits an emergency text message to emergency services. In some examples, processing circuitry 199 transmits a 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, the input captured at computing device 105 is obtained by computing device 105 responsive to one or more pre -configured emergency prompts by computing de vice 105 upon determination of an emergency' event. In some examples, the input captured at computing device 105 is obtained in response to a question requesting confirmation that an emergency has occurred. In some examples, the input captured at computing device 105 is obtained in response to a question requesting categorization of the severity' of tire emergency. In some examples, the input captured at computing device 105 is obtained in response to a question requesting confirmation that the emergency requires a response by emergency services.
[0177] In some examples, while computing devsce 105 is connected to satellite communications network 183, processing circuitry 199 initiates, by computing device 105, a WI-FI network scan. In some examples, processing circuitry 199 at least scans for any accessible WI-FI communication networks. In some examples, processing circuitry 199 determines whether at least one WI-FI communications network (see element 497 of FIG. 4C) is accessible via a WI-FI transceiver of computing device 105. In some examples, processing circuits 199 determines at least one WI-FI communications network 497 is not accessible. In some examples, processing circuitry 199 initiates the new cellular communications session responsive to computing device 105 determining at least one WI-FI communications network 497 is not accessible. In some examples, processing circuitry 199 initiates a new WI-FI communications session responsive to computing device 105 determining that at least one WI-FI communications network 497 is accessible. In some examples, processing circuitry 199 initiates the new cellular communications session based on a communications preference configuration. In some examples, processing circuitry' 199 initiates the new cellular communications session based on the communications preference configuration in response to a determination that both at least one WI-FI communications network 497 is accessible and at least one cellular communications network 196 is accessible. In some examples, processing circuitry' 199 initiates a new WI-FI communications session based on the communications preference configuration in response to computing device 105 determining that both at least one WI-FI communications network 497 is accessible and at least one cellular communications network 196 is accessible.
[0178] In some examples, while computing device 105 is connected to satellite communications network 183, processing circuitry 199 of computing device 105 deactivates cellular radio 116. In some examples, processing circuitry 199 activates cellular radio 116 of computing device 105 prior to scanning for the accessible cellular communication networks. In some examples, while computing device 105 is not actively transmitting or receiving data via the new' cellular communications session, processing circuitry 199 operates cellular radio 1 16 in an idle mode. In some examples, processing circuitry 199 operates cellular radio 116 in an idle mode. In some examples, processing circuitry 199 iteratively scans via cellular radio 116, for any accessible cellular communication networks while operating cellular radio 116 in the idle mode. In some examples, while operating cellular radio 116 in the idle mode, processing circuitry 199 determines a data transfer is requested at computing device 105. In some examples, in response to determining the data transfer is requested, processing circuitry' 199 re-initiates the new cellular communications session with at least one cellularcommunications network 196 determined to be accessible. In some examples, processing circuitry 199 completes the data transfer using the new cellular communication session.
[0179] In some examples, processing circuitry 199 disconnects computing device 105 from all satellite communications networks and all cellular communication networks. In some examples, processing circuitry 199 disconnects computing device 105 from all satellite communications networks and all cellular communication networks while computing device 105 is not actively transmitting or receiving data. In some examples, processing circuitry’ 199 operates cellular radio 116 of computing device 105 in an idle mode. In some examples, processing circuitry 199 iteratively scans, via cellular radio 116 for any accessible cellular communication networks and any accessible satellite communication networks. In some examples, processing circuitry-’ 199 operates cellular radio 1 16 in the idle mode until an event at computing device 105 initiates a data transfer. In some examples, in response to computing device 105 initiating the data transfer, processing circuitry 199 connects computing device 105 with one of the accessible cellular communication networks or one of the accessible satellite communication networks determined to be accessible and to facilitate completing the data transfer. In some examples, subsequent to connecting to either the cellular communication network or the satellite communication network determined to be accessible, processing circuitry' 199 of computing device 105 completes the data transfer by transmitting tlie data over the cellular or satellite communication network to which computing device 105 is connected.
[0180] In some examples, processing circuitry 199 exchanges information between computing device 105 and satellite communications network 183 as part of a satellite communications session via cellular radio 116 of computing device 105. In some examples, in response to determining that at least one cellular communications network 196 is accessible, processing circuitry' 199 outputs a request for confirmation to migrate the satellite communications session to a new' cellular communication session between cellular radio 116 of computing device 105 and at least one cellular communications network 196 determined to be accessible.
[0181] In some examples, processing circuitry 199 resets a scanning time-out count-down for cellular communications network 196. In some examples, in response to determining that at least one cellular communications network 196 is not accessible, processing circuitry 199 resets the scanning time-out count-down for cellular communications network 196, In some examples, processing circuitry' 199 iteratively re-initiates the cellular network scan each time tlie scanning time-out count-down concludes.
[0182] In some examples, processing circuitry 199 receives, at computing device 105, an input requesting initiation of an emergency services telephone call. In some examples, processing circuitry 199 initiates a telephone call to emergency sendees over satellite communications network 183 via a satellite communication session. In some examples, in response to a determination that at least one cellular communications network 196 is not accessible, processing circuit ry 199 initiates a telephone call to emergency services over satellite communications network 183 via a satellite communication session.
[0183] In some examples, processing circuitry 199 receives, at computing device 105, an input requesting initiation of an emergency sen- ices telephone call while computing device 105 remains connected with satellite communications network 183. In some examples, in response to receiving the input requesting initiation of an emergency sendees telephone call, processing circuitry 199 of computing device 105 re-initiates the cellular network scan to determine whether one or more cellular communications networks are accessible to computing device 105. In some examples, in response to determining that at least one cellular communications network 196 is not accessible pursuant to, or based on, the re-initiated cellular network scan, processing circuitry 199 establishes emergency telephone call 478B to emergency services via a satellite session. In some examples, in response to determining that at least one cellular communications network 196 is accessible pursuant to, or based on, the re-initiated cellular network scan, processing circuitry 199 initiates a new cellular communication session between cellular radio 116 of computing device 105. In some examples, in response to determining that at least one cellular communications network 196 is accessible pursuant to, or based on, the re-initiated cellular network scan, processing circuitry 199 establishes emergency telephone call 478B to emergency services via the new cellular communication session.
[0184] In some examples, processing circuitry 199 initiates the new cellular communication session without receiving any user input indicating a confirmation or approval for switching from satellite communications to cellular communications. In some examples, processing circuitry 199 initiates the new cellular communication session without outputting any prompt or notification requesting input authorizing computing device 105 to switch from satellite communications to cellular communications prior to establishing emergency telephone call 478B to emergency services.
[0185] In some examples, processing circuitry 199 of computing device 105 outputs an indication of cellular network availability. In some examples, processing circuitry 199 outputs an indication that at least one cellular communications network 196 has beendetermined by computing device 105 to be accessible. In some examples, processing circuitry 199 outputs a list of all cellular communications networks determined to be accessible. In some examples, processing circuitry 199 selectively' switches computing device 105 from satellite communications network 183 to at least one cellular communications network 196 in response to receiving a user input authorizing switching computing device 105 from satellite communications network 183 to at least one cellular communications network 196.
[0186] In some examples, processing circuitry 199 of computing device 105 outputs the indication of cellular network availability by ou tputting tor display, a graphical user interface that includes the indication of cellular network availability . In some examples, processing circuitry 199 of computing device 105 outputs audio indicative of the cellular network availability. In some examples, processing circuitry 199 of computing device 105 outputs a tactile notification indicating availability of at least one cellular communications network 196. In some examples, notification output by computing device 105 indicates that at least one cellular communications network 196 is a preferred communications network over satellite communications network 183 with which computing device 105 presently has an established satellite session.
[0187] In some examples, processing circuitry 199 disconnects computing device 105 from at least one cellular communications network 196. In some examples, subsequent to disconnecting computing device 105 from at least one cellular communications network 196, processing circuitry 199 re-connects computing device 105 with satellite communications network 183. In some examples, processing circuitry' 199 re-scans for any accessible cellular communication networks. In some examples, processing circuitry 199 determines at least one cellular communications network 196 is accessible to computing device 105. In some examples, in response to determining that at least one cellular communications network 196 is accessible, processing circuitry 199 outputs a notification to computing device 105 indicating availability of at least one cellular communications network 196 determined to be accessible. In some examples, processing circuitry 199 outputs a request for authorization to switch computing device 105 from a satellite communications mode to a cellular communications mode. In some examples, in response to determining whether the request tor authorization to switch computing device 105 from the satellite communications mode to the cellular communications mode was ignored or rejected, processing circuitry 199 maintains computing device 105 in the satellite communications mode and maintains computing device 105 in a connected state with satellite communications network 183. In some examples, in response to determining whether the request for authorization to switch computing device105 from the satellite communications mode to the cellular communications mode was ignored or rejected, computing device 105 re-issues the request for authorization.
[0188] In some examples, processing circuitry 199 reduces radio interference by at least deactivating cellular radio 116 of computing device 105. In some examples, processing circuitry 199 periodically re-activates cellular radio 116 to scan for accessible cellular communication networks. In some examples, processing circuitry 199 deactivates cellular radio 116 upon completion of the scan for available cellular communication networks regardless of whether any available cellular communication networks are identified by the scan. In some examples, processing circuitry 199 reduces total power consumption of computing device 105 by automatically terminating power to cellular radio 116 of computing device 105. In some examples, processing circuitry 199 periodically restores power to cellular radio 116 of computing device 105. In some examples, processing circuitry 199 reinitiates the cellular network scan for any accessible cellular communication networks subsequent to periodically restoring power to cellular radio 116 of computing device 105. In some examples, processing circuitry' 199 terminates power to cellular radio 116 of computing device 105 to subsequent to completion of the cellular network scan.
[0189] In some examples, processing circuitry 199 of computing device 105 includes cellular radio 116, In some examples, processing circuitry 199 of computing device 105 includes an integrated cellular transceiver module or cellular radio 116 embedded within computing device 105 and connected with a processor of computing device 105 via a communications bus. In some examples, processing circuitry-' 199 is executed by a processor of computing device 105, an instance of an operating system. In some examples, processing circuitry 199 determines, via cellular radio 116 of computing device 105, availability of satellite communications network 183. In some examples, processing circuitry 199 initiates, via the instance of the operating system, a satellite communications session between computing device 105 and satellite communications network 183 via cellular radio 116. In some examples, processing circuitry 199 exchanges, via cellular radio 116, information between the instance of the operating system executing at computing device 105 and satellite communications network 183 as part of the satellite communications session.
[0190] Examples
[0191] Example 1. A method comprising: determining a computing device is connected with a satellite communications network; after a period of inactivity has elapsed, disconnecting the computing device from the satellite communications network; periodically determining whether to reconnect the computing device with the satellite communicationsnetwork based on one or more reconnection conditions including: an elapsed time since disconnecting the computing device from the satellite communications network, a signal-to- noise ratio measured at the computing device, and a determined change to a geographic location of the computing device since disconnecting the computing device from the satellite communications network; and responsive to determining to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions: reconnecting the computing device with tire satellite communications network; and retrieving, using the satellite communications network, one or more messages enqueued for the computing device.
[0192] Example 2. The method of example 1, wherein periodically determining whether to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, comprises: determining, by the computing device, a disconnect location corresponding to the geographic location of the computing device coincident with disconnecting the computing device from the satellite communications network; determining, by the computing device, a new' location of the computing device corresponding to a current geographic location of the computing device; determining, by the computing device, whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new location; and responsive to determining the new location satisfies the threshold geographic distance from the disconnect location, reconnecting the computing device with the satellite communications network.
[0193] Example 3. The method of example 1 or 2, further comprising: determining, by the computing device, whether an expected incoming message has been received; responsive to determining that the expected incoming message has not been received, reconnecting the computing device with the satellite communications network; retrieving, by the computing device and using the satellite communications network, at least the expected incoming message; and sending, by the computing device and using the satellite communications network, an outgoing message that requires a response, wherein the expected incoming message is the response to the outgoing message.
[0194] Example 4. Hie method of any of examples 1-3, wherein the expected incoming message comprises at least one of: an incoming ring alert message; an incoming telephone call; a response from emergency sendees; an incoming call from emergency sendees; an incoming text message; and a message acknowledgment received by the computing device responsive to a prior outgoing message from the computing device.
[0195] Example 5. The method of any of examples 1-4, further comprising: responsive to determining that an emergency event has occurred: reconnecting the computing device to the satellite communications network; and transmitting, using the satellite communications network, an emergency data transfer from the computing device to an emergency service.
[0196] Example 6. The method of any of examples 1-5, further comprising: determining, by tire computing device, whether the signal-to-noise ratio measured at the computing device no longer satisfies a minimum connection threshold; responsive to determining that the signal- to-noise ratio no longer satisfies the minimum connection threshold, outputing, by the computing device, 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 communications network; updating, based on changes in the signal-to-noise ratio measured at the computing device as the computing device moves, the satellite pointing user interface to indicate how to further move the computing device to align the one or more antennas with tire one or more satellites; while outputting the satellite pointing user interface, reconnecting the computing device with the satellite communications network responsive to determining the signal-to- noise ratio measured at the computing device satisfies the minimum connection threshold; and exchanging data between the computing device and the emergency service via the satellite communications network.
[0197] Example 7. The method of any of examples 1-6, further comprising: while the computing device is disconnected from the satellite communications network, determining whether one or more messages are enqueued for transmission by the computing device; responsive to determining the one or more messages are enqueued for transmission by the computing device, outputting, by the computing device and for display to a user interface, a push to manually send messages icon; receiving, by the computing device, an input indicating the push to manually send messages icon was activated; re-connecting the computing device with the satellite communications network responsive to receiving the input indicating the push to manually send messages icon was activated; and transmitting the one or more messages enqueued for transmission using the satellite communications network.
[0198] Example 8. The method of any of examples 1-7, further comprising: determining whether the computing device is disconnected from the satellite communications network; responsive to determining the computing device is disconnected from the satellite communications network, outputting, by the computing device and for display to a user interface, a push to manually pull messages icon; receiving, by the computing device, an input indicating the push to manually pull messages icon was activated; re-connecting thecomputing device with the satellite communications network responsive to receiving the input indicating the push to manually pull messages icon was activated; and retrieving one or more messages enqueued for the computing device using the satellite communications network.
[0199] Example 9. The method of any of examples 1-8, further comprising: while the computing de vice is disconnected from the satellite communications network: determining whether a signal to noise ratio measured at the computing device satisfies a minimum connection threshold for re-connecting the computing device with the satellite communications network; and outputting, by the computing device and for display to a user interface, a satellite connectivity available icon in response to determining the signal to noise ratio satisfies the minimum connection threshold for re-connecting the computing device with tlie satellite communications network.
[0200] Example 10. The method of any of examples 1-9, further comprising: determining, by the computing device, that a period of inactivity at a user interface satisfies a threshold period of inactivity; and responsive to determining the threshold period of inactivity is satisfied, reconnecting the computing device with the satellite communications network.
[0201] Example 11. A computing device comprising: processing circuitry; a cellular radio; a satellite communications activity monitor; and non-transitory computer readable media that stores instructions, wherein the instructions, when executed by the processing circuitry, configure the processing circuitry to: determine the computing device is connected with a satellite communications network; after a period of inactivity has elapsed, disconnect the computing device from the satellite communications network; periodically determine, via the satellite communications activity monitor, whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions including: an elapsed time since the computing device was disconnected from the satellite communications network, a signal-to-noise ratio measured at the computing device, and a determined change to a geographic location of the computing device since the comp uting device was disconnected from the satellite communications network; and in response to a determination by the satellite communications activity monitor to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, the instructions further configure the processing circuitry to: reconnect the computing device with the satellite communications network using the cellular radio; and retrieve, using the satellite communications network, one or more messages enqueued for the computing device.
[0202] Example 12. Hie computing device of example 1 1 , wherein the instructions that configured the processing circuity to determine whether to periodically reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, further configure the processing circuitry' to: determine a disconnect location corresponding to the geographic location of the computing device coincident with disconnecting the computing device from the satellite communications network: determine a new location of the computing device corresponding to a current geographic location of the computing device; determine whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new location; and responsive to determining the new location satisfies the threshold geographic distance from the disconnect location, reconnect the computing device with the satellite communi cation s ne tw ork .
[0203] Example 13. The computing device of example 11 or 12, wherein the instructions further configure the processing circuitry to: determine whether an expected incoming message has been received; responsive to determining that the expected incoming message has not been received, reconnect the computing device with the satellite communications network: retrieve, using the satellite communications network, at least the expected incoming message; and send, using the satellite communications network, an outgoing message that requires a response, wherein the expected incoming message is the response to the outgoing message.
[0204] Example 14. The computing device of any- of examples 1 1-13, wherein the expected incoming message comprises at least one of: an incoming ring alert message; an incoming telephone call; a response from emergency services; an incoming call from emergency services; an incoming text message: and a message acknowledgment received by the computing device responsive to a prior outgoing message from the computing device,
[0205] Example 15. The computing device of any of examples 11-14, wherein the instructions to cause the processing circuitry' to, in response to a determination that an emergency event has occurred: reconnect the computing device to the satellite communications network; and transmit an emergency data transfer from the computing device to an emergency service using the satellite communications network.
[0206] Example 16. A computer-readable storage media comprising instructions that, when executed, configure processing circuitry-' to: determine a computing device is connected with a satelli te communications network; after a period of inactivity has elapsed, disconnect the computing device from the satellite communications network; periodically determine w'hetherto reconnect the computing device with the satellite communications network based on one or more reconnection conditions including: an elapsed time since the computing device was disconnected from the satellite communications network, a signal -to-noise ratio measured at the computing device, and a determined change to a geographic location of the computing device since the computing device was disconnected from the satellite communications network; and in response to a determination to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, the instructions further configure the processing circuitry to: reconnect the computing devsce with tiie satellite communications network; and retrieve, rising the satellite communications network, one or more messages enqueued for the computing device.
[0207] Example 17. The computer-readable storage media of example 16: wherein the instructions that configured the processing circuitry to determine whether to periodically reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, further configure the processing circuity to: determine a disconnect location corresponding to the geographic location of the computing device coincident with disconnecting the computing device from the satellite communications network; determine a new location of the computing device corresponding to a current geographic location of the computing device; determine whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new location; and responsive to determining the new location satisfies the threshold geographic distance from the disconnect location, reconnect the computing device with the satellite communications network.
[0208] Example 18. The computer-readable storage media of example 16 or 17, wherein the instructions to cause the processing circuitry to determine whether an expected incoming message has been received; in response to a determination that the expected incoming message has not been received, the instructions to cause the processing circuitry' to: reconnect the computing device with the satellite communications network; retrieve at least the expected incoming message using the satellite communications network; and send an outgoing message that requires a response using the satellite communications network; and wherein the expected incoming message is the response to the outgoing message.
[0209] Example 19. The computer-readable storage media of any of examples 16-18, wherein the expected incoming message compri ses at least one of: an incoming ring alert message; an incoming telephone call; a response from emergency services; an incoming call from emergency services; an incoming text message; and a message acknowledgmentreceived by the computing device responsive to a prior outgoing message from the computing device.
[0210] Example 20. The computer-readable storage media of any of examples 16-19, wherein the instructions to cause the processing circuitry to, in response to a determination that an emergency event has occurred: reconnect the computing device to the satellite communications network; and transmit an emergency data transfer from the computing device to an emergency service using the satellite communications network.
[0211] Example 21. A computing system comprising means for performing any combination of the methods of examples 1-10.
[0212] Example 22. A computer-readable storage medium encoded with instructions for performing any combination of the methods of examples 1 -10.
[0213] For processes, apparatuses, and other examples or illustrations described herein, including in any flowcharts or flow diagrams, certain operations, acts, steps, or events included in any of the techniques described herein can be performed in a different sequence, may be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the techniques). Moreover, in certain examples, operations, acts, steps, or events may be performed concurrently, e.g., through multi -threaded processing, interrupt processing, or multiple processors, rather than sequentially. Certain operations, acts, steps, or events may be performed automatically even if not specifically identified as being performed automatically. Also, certain operations, acts, steps, or events described as being performed automatically may be alternatively not performed automatically, but rather, such operations, acts, steps, or events may be, in some examples, performed in response to input or another event.
[0214] This description, in connection with the appended drawings, is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. Tire detailed description includes specific details for the purpose of providing a thorough understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
[0215] In accordance with the examples of this disclosure, the term “or” may be interrupted as “and / or” where context does not dictate otherwise. Additionally, while phrases such as “one or more” or “at least one” or the like may have been used in some instances but notothers; those instances where such language was not used may be interpreted to have such a meaning implied where context does not dictate otherwise.
[0216] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored, as one or more instructions or code, on and / or transmitted over a computer- readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another (e.g., pursuant to a communication protocol). In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.
[0217] By way of example, and not limitation, such computer-readable storage media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, 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. Also, any connection is properly termed a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer- readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non -transient, tangible storage media. Disk and disc, as used, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0218] Instructions may be executed by one or more processors, such as one or more digi tal signal processors (DSPs), general purpose microprocessors, application specific integratedcircuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the terms “processor” or “processing circuitry” as used herein may each refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described. In addition, in some examples, the functionality described may be provided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.
Claims
WHAT IS CLAIMED IS:1 . A method comprising: determining a computing device is connected with a satellite communications network; after a period of inactivity has elapsed, disconnecting the computing device from the satellite communications network; periodically determining whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions including: an elapsed time since disconnecting the computing device from the satellite com muni cation s network, a signal-to-noise ratio measured at the computing device, and a determined change to a geographic location of the computing device since disconnecting the computing device from the satellite communications network; and responsive to determining to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions: reconnecting the computing device with the satellite communications network; and retrieving, using the satellite communications network, one or more messages enqueued for the computing device.
2. The method of claim 1, wherein periodically determining whether to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, comprises: determining, by the computing device, a disconnect location corresponding to the geographic location of the computing device coincident with disconnecting the computing device from the satellite communications network; determining, by the computing device, a new location of the computing device corresponding to a current geographic location of the computing device; determining, by the computing device, whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new location; andresponsive to determining the new location satisfies the threshold geographic distance from the disconnect location, reconnecting the computing device with the satellite communications network.
3. The method of claims 1-2, further comprising: determining, by the computing device, whether an expected incoming message has been received; responsive to determining that the expected incoming message has not been received, reconnecting the computing device with the satellite communications network; retrieving, by the computing device and using the satellite communications network, at least the expected incoming message; and sending, by the computing device and using the satellite communications network, an outgoing message that requires a response, wherein the expected incoming message is tire response to the outgoing message.
4. The method of claims 1-3, wherein the expected incoming message comprises at least one of: an incoming ring alert message; an incoming telephone call; a response from emergency services; an incoming call from emergency services; an incoming text message; and a message acknowledgment received by the computing device responsive to a prior outgoing message from the computing device.
5. The method of claims 1 -4, further comprising: responsive to determining that an emergency event has occurred: reconnecting the computing device to the satellite communications network; and transmiting, using the satellite communications network, an emergency data transfer from the computing device to an emergency service.
6. The method of claim 1 -6, further comprising:determining, by the computing device, whether the signal -to-noise ratio measured at the computing device no longer satisfies a minimum connection threshold; responsive to determining that the signal -to-noise ratio no longer satisfies the minimum connection threshold, outputting, by the computing device, 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 communications network; updating, based on changes in the signal-to-noise ratio measured at the computing device as the computing device moves, the satellite pointing user interface to indicate how to further move the computing device to align the one or more antennas with the one or more satellites; while outputting the satellite pointing user interface, reconnecting the computing device with the satellite communications network responsive to determining the signal-to- noise ratio measured at the computing device satisfies the minimum connection threshold; and exchanging data between the computing device and the emergency service via the satellite communications network.
7. The method of claims 1-6, further comprising: while the computing device is disconnected from the satellite communications network, determining whether one or more messages are enqueued for transmission by the computing device; responsive to determining the one or more messages are enqueued for transmission by the computing device, outputting, by the computing device and for display to a user interface, a push to manually send messages icon; receiving, by the computing device, an input indicating the push to manually send messages icon was activated; re-connecting the computing device with the satellite communications network responsive to receiving the input indicating the push to manually send messages icon was activated; and transmitting the one or more messages enqueued for transmission using the satellite communications network.
8. The method of claims 1 -7, further comprising:determining whether the computing device is disconnected from the satellite communications network; responsive to determining the computing device is disconnected from the satellite communications network, outputting, by the computing device and for display to a user interface, a push to manually pull messages icon; receiving, by the computing device, an input indicating the push to manually pull messages icon was activated; re-connecting the computing device with the satellite communications network responsive to receiving the input indicating the push to manually pull messages icon was activated; and retrieving one or more messages enqueued for the computing device using the satellite communications network.
9. The method of claims 1-8, further comprising: while the computing device is disconnected from the satellite communications network: determining whether a signal to noise ratio measured at the computing device satisfies a minimum connection threshold for re-connecting the computing device with the satellite communications network; and outputting, by the computing device and for display to a user interface, a satellite connectivity available icon in response to determining the signal to noise ratio satisfies the minimum connection threshold tor re-connecting the computing device with the satellite communications network.
10. The method of claims 1-9, further comprising: determining, by the computing device, that a period of inactivity at a user interface satisfies a threshold period of inacti vity ; and responsive to determining the threshold period of inactivity is sati sfied, reconnecting the computing device with the satellite communications network.
11. A computing device comprising: processing circuitry; a cellular radio; a satellite communications activity monitor; and non-transitory computer readable media that stores instructions, wherein the instructions, when executed by tire processing circuitry, configure the processing circuitry to: determine the computing device is connected with a satellite communications network; after a period of inactivity' has elapsed, disconnect the computing device from the satellite communications network; periodically determine, via the satellite communications activity monitor, whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions including: an elapsed time since the computing device was disconnected from the satellite communications network, a signai-to-noise ratio measured at the computing device, and a determined change to a geographic location of the computing device since the computing device was disconnected from the satellite communications network; and in response to a determination by the satellite communications activity' monitor to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, the instructions further configure the processing circuitry to: reconnect the computing device with the satellite communications network using the cellular radio; and retrieve, using the satellite communications network, one or more messages enqueued for the computing device.
12. The computing device of claim 11 , wherein the instructions that configured the processing circuity to determine whether to periodically reconnect the computing device with the satellite communications network based on the one or more reconnection conditions. further configure the processing circuitry to: determine a disconnect location corresponding to the geographic location of the computing device coincident with disconnecting the computing device from the satellite communications network; determine a new location of the computing device corresponding to a current geographic location of the computing device; determine whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new location; and responsive to determining the new location satisfies the threshold geographic distance from the disconnect location, reconnect the computing device with the satellite communications network.
13. The computing device of claim 11 or 12, wherein the instructions further configure the processing circuitry to: determine whether an expected incoming message has been received; responsive to determining that the expected incoming message has not been received, reconnect the computing device with the satellite communications network; retrieve, using the satellite communications network, at least the expected incoming message; and send, using the satellite communications network, an outgoing message that requires a response, wherein the expected incoming message is the response to the outgoing message.
14. The computing device of claims 1 1-13, wherein the expected incoming message comprises at least one of: an incoming ring alert message; an incoming telephone call; a response from emergency services; an incoming call from emergency sendees; an incoming text message; and a message acknowledgment received by the computing device responsive to a prior outgoing message from the computing device.
15. The computing device of claims 11-14, wherein the instructions to cause the processing circuitry to, in response to a determination that an emergency event has occurred: reconnect the computing device to the satellite communications network; and transmit an emergency data transfer from the computing device to an emergency service using the satellite communications network.
16. A computer-readable storage media comprising instructions that, when executed, configure processing circuitry to: determine a computing device is connected with a satellite communications network; after a period of inacti vity has elapsed, disconnect the computing device from the satellite communications network; periodically determine whether to reconnect the computing device with the satellite communications network based on one or more reconnection conditions including: an elapsed time since the computing device was disconnected from the satellite communications network, a signal-to-noise ratio measured at the computing device, and a determined change to a geographic location of the computing device since the computing device was disconnected from the satellite communications network; and in response to a determination to reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, the instructions further configure the processing circuitry to: reconnect the computing device with the satellite communications network; and retrieve, using the satellite communications network, one or more messages enqueued for the computing device.
17. The computer-readable storage media of claim 16: wherein the instructions that configured the processing circuitry to determine whether to periodically reconnect the computing device with the satellite communications network based on the one or more reconnection conditions, further configure the processing circuity to: determine a disconnect location corresponding to the geographic location of the computing device coincident with disconnecting the computing device from the satellite communications network; determine a new' location of the computing device corresponding to a current geographic location of the computing device; determine whether the new location satisfies a threshold geographic distance from the disconnect location by comparing the disconnect location with the new' location; and responsive to determining tire new location satisfies the threshold geographic distance from the disconnect location, reconnect the computing device with the satellite communications network.
18. The computer-readable storage media of claim 16 or 17, wherein the instructions to cause the processing circuitry to determine whether an expected incoming message has been received; in response to a determination that the expected incoming message has not been received, the instructions to cause the processing circuitry to: reconnect the computing device with the satellite communications network; retrieve at least the expected incoming message using the satellite communications network; and send an outgoing message that requires a response using the satellite communications network; and wherein the expected incoming message is the response to the outgoing message.
19. The computer-readable storage media of claims 16-18, wherein the expected incoming message comprises at least one of: an incoming ring alert message; an incoming telephone call;a response from emergency services; an incoming call from emergency services; an incoming text message; and a message acknowledgment received by the computing device responsive to a prior outgoing message from the computing device.
20. The computer-readable storage media of claims 16-19, wherein the instructions to cause the processing circuitry to, in response to a determination that an emergency event has occurred: reconnect the computing device to the satellite communications network; and transmit an emergency data transfer from the computing device to an emergency service using the satellite communications network.
Citation Information
Patent Citations
Apparatus and techniques for maximizing satellite link availability in the presence of satellite system induced random disconnections
US20050042984A1
Managing discontinuous coverage and power saving mode in NTN using distance thresholds
WO2023244450A1
US195062636258P