Remote initialization of modem functionality
The remote initialization of modem functionality in computing devices allows for energy-efficient data transmission by using non-alerting messages over alternative network connections, addressing the limitation of inactive modems in conserving energy while enabling responsive communication.
Patent Information
- Application Number
- PCT/US2023/032007
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-05
- Publication Date
- 2025-03-13
AI Technical Summary
Computing devices with deactivated modem data transmission functionality cannot send or receive data over a network, limiting their ability to respond to remote instructions while conserving energy.
A method and system that allow a remote computing device to remotely activate the data transmission functionality of a computing device's modem using a non-alerting message sent through a network connection other than a data connection, such as a voice channel or dedicated control channel.
Enables computing devices to significantly reduce power consumption associated with maintaining modem data transmission functionality while maintaining the ability to initialize and respond to remote messages, thereby improving battery life and operational efficiency.
Smart Images

Figure US2023032007_13032025_PF_FP_ABST
Abstract
Description
REMOTE INITIALIZATION OF MODEM FUNCTIONALITYBACKGROUND
[0001] A computing device may have data transmission functionality of a modem deactivated to preserve the operational life of a power source providing energy to the computing device.However, the computing device may not be able to perform actions based on instructions sent from a remote computing device or computing system when the data transmission functionality of the modem is deactivated.SUMMARY
[0002] In general, described herein are techniques for remotely activating a modem channel connection to a network using a non-alerting message sent from a remote device. For example, a computing device may use energy from a power source to activate and maintain data transmission functionality of a modem and to send and receive data using a modem channel connection to a network. The computing device may deactivate the data transmission functionality of the modem to reduce energy consumption. However, the computing device may not be able to send and receive data over the network when the data transmission functionality of the modem is deactivated. The techniques described herein may enable a remote computing device to activate data transmission functionality of a computing device using a non-alerting message sent using a modem connection to the network other than a data connection (e.g., a voice channel, a dedicated control channel, etc.). Responsive to receiving the non-alerting message, the computing device may initialize an inactive data transmission functionality of a modem of the computing device. In this way, the computing device may significantly reduce power consumption associated with maintaining data transmission functionality of a modem, while maintaining the ability to initialize the data transmission functionality of the modem to send responses to messages from remote computing devices and systems.
[0003] In one example, a method may include receiving, by a computing device using a modem of the computing device that is connected to a network, a non-alerting message, wherein data transmission functionality of the modem is inactive, and wherein the non-alerting message includes an identifier that causes the first computing device to refrain from outputting an alert in response to receiving the non-alerting message. The method may further include initializing, bythe computing device and responsive to determining that the non-alerting message is associated with an authorized user account, the data transmission functionality of the modem to establish a data connection to the network.
[0004] In another example, a device comprises at least one processor, a network interface, and a storage device that stores instructions executable by the at least one processor. The instructions executable by the at least one processor may be configured to receive, using the network interface that is connected a network, a non-alerting message, wherein data transmission functionality of the network interface is inactive, and wherein the non-alerting message includes an identifier that causes the device to refrain from outputting an alert in response to receiving the non-alerting message. The at least one processor may further be configured to initialize, responsive to determining that the non-alerting message is associated with an authorized user account, the data transmission functionality of the network interface to establish a data connection to the network.
[0005] In another example, a computer-readable storage medium encoded with instructions, that when executed, may cause at least one processor of a computing device to receive, using a modem that is connected to a network, a non-alertmg message, wherein data transmission functionality of the modem is inactive, and wherein the non-alerting message includes an identifier that causes the device to refrain from outputting an alert in response to receiving the non-alertmg message. The instructions may further cause the at least one processor to initialize, responsive to determining that the non-alerting message is associated with an authorized user account, the data transmission functionality of the modem to establish a data connection to the network.
[0006] In yet another example, a system may include at least one processor, a network interface, and a storage device that stores instructions executable by the at least one processor. The instructions executable by the at least one processor may configure the at least one processor to receive an option from a first computing device. The at least one processor may further be configured to determine the option is associated with an authorized user account registered to the first computing device. The at least one processor may further be configured to generate a nonalerting message with instructions to cause a second computing device to initialize data transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes the second computing device to refrain from outputting an alert in response toreceiving the non-alerting message. The at least one processor may further be configured to output the non-alerting message using a voice channel connection between the network interface and the second computing device.
[0007] In yet another example, a method may include receiving, by a computing system, an option from a first computing device. The method may further include determining, by the computing system, the option is associated with an authorized user account registered to the first computing device. The method may further include generating, by the computing system, a nonalerting message with instructions to cause a second computing device to initialize data transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes the second computing device to refrain from outputing an alert in response to receiving the non-alerting message. The method may further include sending, by the computing system and to the second computing device, the non-alerting message using a voice channel connection between the computing system and the second computing device.
[0008] The details of one or more examples of the disclosure are set forth in 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
[0009] FIG. 1 is a conceptual diagram illustrating an example computing environment for remotely initializing data transmission functionality of a modem responsive to receiving a message, in accordance with one or more aspects of the present disclosure.
[0010] FIG. 2 is a block diagram illustrating an example computing device for remotely initializing data transmission functionality of a modem responsive to receiving a message, in accordance with one or more aspects of the present disclosure.
[0011] FIG. 3 is a block diagram illustrating an example computing system for generating a message to remotely initialize data transmission functionality of a modem, in accordance with one or more aspects of the present disclosure.
[0012] FIG. 4 is a flowchart illustrating an example process for remotely initializing data transmission functionality of a modem, in accordance with one or more aspects of the present disclosure.
[0013] FIG. 5 is a flowchart illustrating an example process for remotely initializing data transmission functionality of a modem in response to receiving a message, in accordance with one or more aspects of the present disclosure.
[0014] FIG. 6 is a flowchart illustrating an example process for generating a message to remotely initialize data transmission functionality of a modem, in accordance with one or more aspects of the present disclosure.DETAILED DESCRIPTION
[0015] FIG. 1 is a conceptual diagram illustrating an example computing environment 101 for remotely initializing data transmission functionality of modem 156 responsive to receiving a message, in accordance with one or more aspects of the present disclosure. As shown in the example of FIG. 1, computing environment 101 includes computing device 100, computing device 150, and application server 170, each of which may be communicatively coupled via network 110.
[0016] Network 110 may include any public or private communication network, such as a cellular network, Wi-Fi network, or other type of network for transmitting data between computing devices. In some examples, network 110 may represent one or more packet switched networks, such as the Internet. Computing device 100, computing device 150, and / or application server 170, for example, may send and receive data across network 110 using any suitable communication techniques. For example, computing device 100 may be operatively coupled to network 110 using respective network links. Network 110 may include network hubs, network switches, network routers, terrestrial and / or satellite cellular networks, etc., that are operatively inter-coupled thereby providing for the exchange of information between computing device 100 and another computing device or computing system. In some examples, network links of network 110 may include Ethernet, ATM or other network connections. Such connections may include wireless and / or wired connections.
[0017] Computing device 100 and computing device 150 may include, but are not limited to, portable, mobile, or other devices, such as mobile phones (including smartphones), wearable computing devices (e.g., smart watches, smart glasses, etc.) laptop computers, desktop computers, tablet computers, smart television platforms, server computers, mainframes, infotainment systems (e.g., vehicle head units), etc. In some examples, computing device 100and / or computing device 150 may represent a cloud computing system that provides one or more services via a network (e.g., network 110). That is, in some examples, computing device 100 and / or computing device 150 may be a distributed computing system.
[0018] In the example of FIG . 1, computing device 100 may include application 104 and user interface 106. User interface 106 (“UI 106”) may be a presence-sensitive display configured to detect input (e.g., touch and non-touch input) from a user of respective computing device 100. UI 106 may output information to a user in the form of a UI, which may be associated with functionality provided by computing device 100. Such UIs may be associated with computing platforms, operating systems, applications, and / or services executing at or accessible from computing device 100 (e.g., application 104, electronic message applications, chat applications, Internet browser applications, mobile or desktop operating systems, social media applications, electronic games, menus, and other types of applications).
[0019] Application 104, as shown in the example of FIG. 1, may include functionality to perform any variety of operations on computing device 100. For instance, application modules 104 may include a word processor, a text application, a web browser, a multimedia player, a calendar application, an operating system, a distributed computing application, a graphic design application, a video editing application, a web development application, or any other application. Application 104 may be a text messaging or Short Message Service (SMS) application.Application 104 may include functionality to manage computing device 150, compose outgoing text message communications, receive incoming text message communications, respond to incoming text message communications, and other functions. Application module 104, in various examples, may cause UI 106 to display a graphical user interface (GUI).
[0020] In some examples, application 104 of computing device 100 may be operable to manage computing device 150. In response to receiving explicit user consent from an adult user associated with computing device 100 and computing device 150, application 104 may generate a message with instructions for computing device 150 to perform an action. Computing device 100 may send the message to computing device 150 with the instructions to perform an action. For instance, computing device 100 may send a message to computing device 150 with instructions for computing device 150 to enable data functionality of a network device.Application 104 may manage a tag, or other form of credentials, to ensure computing device 100 is authorized to instruct computing device 150 to perform particular actions. Application 104may manage a tag that includes credentials indicating messages sent to computing device 150 with instructions are associated with an authorized user account.
[0021] Computing device 150 may include application service 154 and modem 156. Application service 154 may include functionality to perform any variety of operations on computing device 150. In the example of FIG. 1, application service 154 may be associated with the functionality of application 104. For instance, application service 154 may process messages with instructions generated by application 104. Application service 154 may include functionality to activate and deactivate data transmission functionality of modem 156, according to the message with instructions generated by application 104.
[0022] Modem 156 may be a network interface device that enables computing device 150 to connect to, or otherwise exchange data with, network 110. Modem 156 may be, for example, a cellular modem, digital subscriber line (DSL) modem, cable modem, satellite modem, wireless modem, or any other modem that can activate a channel connection (e.g., data channel, voice channel, dedicated control channel, etc.) to network 110. While illustrated as internal to computing device 150, modem 156 may be external to computing device 150. For example, modem 156 may be a network interface device communicably coupled to computing device 150 with a wired connection (e.g,, universal serial bus, Ethernet®, etc.) or wireless connection (e.g., a communication processor of computing device 150 connected to a router of modem 156).
[0023] Examples of application server 170 may include, but are not limited to, remote computing systems, such as one or more desktop computers, laptop computers, mainframes, servers, cloud computing systems, etc. capable of sending information to and receiving information from computing device 100 and / or computing device 150 via a network, such as network 110. Application server 170 hosts (or at least provides access to) information associated with one or more applications or application sendees executable by computing device 100 and / or computing device 150, such as user account information. In some examples, application server 170 represents a cloud computing system that provides the application services via the cloud. In the example of FIG. 1, application server 170 may include authentication module 172 for verifying user accounts associated with computing device 100 and computing device 150.Application server 170 may also include message module 174 for generating messages with instructions to activate data transmission functionality of modem 156.
[0024] In general, the techniques described herein enable a user of computing device 100 to remotely initialize data transmission functionality of modem 156 of computing device 150 in response to computing device 150 receiving a non-alerting message initiated by computing device 100 and / or a user of computing device 100. For example, computing device 150 may be operated by a child. Computing device 150 may be supervised by a guardian via computing device 100. Computing device 150 may have the data transmission functionality of modem 156 deactivated to reduce energy consumption of a power source of computing device 150. In some examples, computing device 150 may have the data transmission functionality of modem 156 deactivated during certain times (e.g., during times when a child operating the child device is in school) through pre-set instructions. However, computing device 100 may want to receive information from computing device 150 (e.g., a location of computing device 150) or otherwise instruct computing device 150 to use the data transmission functionality of modem 156 (e.g., initiate a voice call using a data connection to network 110). Computing device 150 may not be able to process instructions sent by computing device 100 because computing device 150 may have the data transmission functionality of modem 156 inactive.
[0025] In accordance with the techniques described herein, computing device 100 may be operated by an adult user with credentials to remotely activate data transmission functionality of a network interface device (e.g., modem 156) associated with computing device 150 which may be operated by a child user that is supervised by the adult user. UI 106 of computing device 100 may output data to the adult user operating computing device 100. UI 106 may display options provided by application 104. In some instances, application 104 may generate data for user interface 106 indicating requests for information of computing device 150 (e.g., a location of computing device 150). For example, application 104 may generate data for UI 106 that may include options such as a request for the location of computing device 150. In some examples, application 104 may generate data, for UI 106 that may include options such as instructions for computing device 150 to download data. In some instances, application 104 may generate data for UI 106 indicating an option for computing device 100 to remotely instruct computing device 150 to download data. For example, application 104 may generate data for UI 106 that may include an option to remotely instruct computing device 150 to download data associated with urgent information.
[0026] Computing device 100 may receive an input from a user operating computing device 100. Computing device 100, and more specifically application 104, may receive instructions associated with a user selecting an option displayed via UI 106. Application 104 may receive a signal of a user selecting an option that requires computing device 150 to use the data transmission functionality of modem 156. For example, application 104 may detect a signal of an adult user selecting an option to request the location of computing device 150 which may be operated by a child user that is under the supervision of the adult user.
[0027] Computing device 100, and more specifically application 104 may generate a message to computing device 150 based on the option the user operating computing device 100 selected. In some instances, application 104 may generate a non-alerting message with instructions for computing device 150 to send a response to a request (e.g., a response including a current location of computing device 150). In some examples, application 104 may generate a nonalerting message with instructions for computing device 150 to download data associated with the option selected by the user operating computing device 100. For example, application 104 may generate a message with instructions for computing device 150 to download a message via network 110. However, computing device 150 may require data transmission functionality of modem 156 to process the message associated with the option selected by computing device 100. While computing device 150 has inactive data transmission functionality of modem 156, computing device 100 may remotely initialize the data transmission functionality of modem 156 using the non-alerting message.
[0028] Computing device 100 may send the generated message to computing device 150. For example, computing device 100 may send a non-alerting message to computing device 150 via a network channel connection that does not require the data, transmission functionality of modem 156 (e.g., modem 156 voice channel connection to network 110). In some examples, computing device 100 may be registered to a user account owned by an adult user operating computing device 100. Computing device 150 may be registered to the same user account as computing device 100. Computing device 100 and / or computing device 150 may also be registered to other user accounts (e.g., computing device 150 may be registered to a user account associated with a child user that is under the supervision of an adult user). Application service 154 of computing device 150 may receive authorization from the user that owns or is otherwise associated with computing device 150 to add a user account (e.g., the user account registered to computingdevice 100) with credentials to supervise computing device 150. For example, application service 154 may add a user account associated with computing device 100 as a user account authorized to remotely initialize modem 156. In response to receiving explicit consent and authorization from the user that owns computing device 150, application service 154 may be able to determine a message sent with a tag associated with computing device 100 originated from a device registered to an authorized user account.
[0029] In the example of FIG. I , computing device 100 may include a tag in the non-alerting message sent to computing device 150 as a form of authentication. Computing device 100 may generate a message with a tag that includes credentials indicating the message is associated with an authorized user account. Computing device 150 may receive the message with modem 156 using an active channel connection to network 110 (e.g., a voice channel, a dedicated control channel, etc.). Computing device 150 may process the message with application service 154. Application service 154 may process the message by using the tag included in the message to determine the message is associated with an authorized user account. Application service 154 may also process the message by initializing the data transmission functionality of modem 156 to establish a data channel connection to network 110.
[0030] In some instances, computing device 100 may send the non-alerting message to application server 170 via network 110. Computing device 100 may also send a tag associated with an authorized user account with the non-alerting message to application server 170 via network 110. Computing device 100 may, for example, send a tag that includes an encryption key or other forms of credentials necessary to validate computing device 100 is registered to an authorized user account with authority to supervise computing device 150. Computing device 100 may send a tag that indicates computing device 100 is authorized to remotely initiate the data transmission functionality of modem 156.
[0031] Application server 170 may authenticate computing device 100 with authentication module 172. Application server 170 may authenticate computing device 100 - in response to receiving the non-alerting message --- to verify computing device 100 has the appropriate credentials to manage computing device 150. For example, computing device 100 may be a computing device operated by a parent and computing device 150 may be a computing device operated by a child of the parent. Application 104 of computing device 100 may be installed on computing device 100 to manage computing device 150. Application 104 may manage acomputing device 150 by communicating with application server 170 via network 110. For example, application 104 may detect a selected option from a user associated with computing device 100. Application 104 may detect an option that requires computing device 150 to initialize the data transmission functionality of modem 156. Application 104 may send the option and associated instructions to application server 170 via network 110. Application server 170 may relay instructions to application service 154 of computing device 150 via network 110. In some examples, application server 170 may generate the instructions sent to application sendee 154 with message module 174.
[0032] Message module 174 of application server 170 may generate the non-alerting message sent to application sendee 154 of computing device 150. In some instances, modem 156 of computing device 150 may have inactive data transmission functionality and may not be able to process the non-alerting message generated based on the option selected by the user operating computing device 100. Modem 156 may have inactive data transmission functionality because modem 156 may not maintain an active data channel connection with network 110. Modem 156 may have inactive data transmission functionality to reduce power consumption associated with modem 156 maintaining an active data channel connection to network 110. In such instances, message module 174 may include instructions for application service 154 to activate the data transmission functionality of modem 156 to establish a data channel connection to network 110. In some examples, application server 170 may send the instructions generated by message module 174 to computing device 150 via a channel connection over network 110 that does not require data transmission functionality of modem 156. For example, message module 174 may generate a message in the form of short message service (SMS) or multimedia messaging service (AIMS). Computing device 150 may receive the message generated by message module 174 via a voice channel connection to network 110, a dedicated control channel connection to network 1 10, or any other connection to network 110 that does not require the data transmission functionality of modem 156.
[0033] In some instances, computing device 150 may be a computing device that may include functionality for establishing a voice channel connection to network 110 (e.g., computing device 150 is a voice & data enabled device). In such instances, modem 156 of computing device 150 may receive messages via a voice channel connection to network 110. Computing device 150may receive the non-alerting message generated by message module 174 via a voice channel connection to network 110.
[0034] In some instances, computing device 150 may be a computing device without voice channel functionality (e.g., computing device 150 is a data-only device). In such instances, computing device 150 may not have the ability to receive the non-alerting message via a voice channel connection to network 110. Instead, modem 156 of computing device 150 may receive messages via a dedicated control channel connection to network 110. In some examples, in response to the data functionality’ of modem 156 being inactive, modem 156 may remain attached to network 110 to receive incoming messages. Computing device 150 may be assigned a Mobile Station International Subscriber Directory Number (MSISDN) that may include a number uniquely identifying a subscription associated with network 110 (e.g., subscription in a Global System for Mobile communications, subscription in a Universal Mobile Telecommunications System, etc.). In some examples, computing device 150 may be assigned a MSISDN that changes over time. Computing device 150 may be assigned a MSISDN that may include a mapping of a mobile subscriber phone number to a subscriber identity module (SIM) associated with computing device 150. Computing device 150 may be assigned a MSISDN that may be used by components of network 110 to identify computing device 150 and route voice calls, messages, data, etc. to the correct destination. Computing device 150 may be assigned a MSISDN that may correspond to a mobile subscriber phone number that is not publicly available. Computing device 150 may share, with express user consent, the mobile subscriber phone number associated with the assigned MSISDN with application server 170. In some examples, computing device 150 may, with express user consent, output any changes to an MSISDN associated with a SIM of computing device 150 to application server 170. Application server 170 may store the mobile subscriber phone number associated with the MSISDN assigned to computing device 150. Application server 170 may output, via network 110, the generated non-alerting message using the assigned MSISDN (e.g., sending an SMS to a mobile subscriber phone number associated with the MSISDN).
[0035] In instances when the data functionality of modem 156 is inactive and modem 156 is without voice channel functionality, modem 156 may remain attached to network 110 to enable computing device 150 to receive data and / or information sent to a mobile subscriber phone number associated with the MSISDN assigned to computing device 150. For example, modem156 may have a data connection to network 110 inactive, while a low-power, control channel connection to network 110 remains active. Computing device 150 may receive the non-alerting message via a control channel (e.g., dedicated control channel) connection to network 110 according to Non-Access Stratum Procedures (NAS) or a Service Gateway (SG) protocol. For example, message module 174 may send the non-alerting message to computing device 150 in the form of an SMS over NAS or SMS over SG.
[0036] Computing device 150 may use application service 154 to conceal the received message from a user operating computing device 150. For example, computing device 150 may refrain from outputting an alert indicating computing device 150 received the message. Computing device 150 may refrain from outputting an alert based on an identifier included in the message.
[0037] Application sendee 154 of computing device 150 may initialize the data transmission functionality of modem 156. Application service 154 may initialize the data transmission functionality of modem 156 by establishing a data channel connection to network 110. In some instances, application service 154 may initialize the data transmission functionality of modem 156 responsive to application service 154 determining the message is associated with an authorized user account (e.g., by processing an authentication tag included in the non-alerting message). In some examples, authentication module 172 of application server 170 may determine a selected option received from computing device 100 is associated with an authorized user account. Authentication module 172 may send data indicating the selected option was made from an authorized user account to message module 174. Message module 174 may include the data indicating the non-alerting message originated from an authorized user account, in the message sent to computing device 150. In this example, application service 154 of computing device 150 may initialize the data transmission functionality of modem 156 responsive to processing the data indicating the non-alerting message was sent from an authorized user account.
[0038] Application service 154 may process the non-alerting message received from either computing device 100 or application server 170. In some instances, computing device 150 may process a non-alerting message associated with a request to send computing device 100 the current location of computing device 150. Computing device 150 may determine its location using any well-known techniques of determining location of computing device 150. For example, computing device 150 may triangulate a geographic position of computing device 150based on data obtained from multiple satellites, data obtained from towers of network 110, data obtained from nearby computing devices, data obtained from nearby routers, or any combination of known techniques for determining a position of computing device 150. Computing device 150 may send the response to computing device 100 with the initialized data transmission functionality of modem 156. For example, in response to computing device 150 determining a location of computing device 150, computing device 150 may send the location to computing device 100 with modem 156 via a data channel connection to network 110. In some examples, application service 154 may deactivate the data transmission functionality of modem 156 in response to computing device 150 sending the response to computing device 100.
[0039] The techniques described herein may improve the battery life of computing device 150 by saving processing power usage associated with initiating data transmission functionality of modem 156. Computing device 150 may consume more than five percent of battery life an hour when maintaining the data transmission functionality’ of modem 156. The techniques described herein may reduce energy consumption associated with the processing power necessary to maintain the data transmission functionality of modem 156 by remotely initializing the data transmission functionality of modem 156 when specifically instructed by an authorized user account. In this way, the techniques described herein enable computing device 150 to improve the operational life of a power source providing power to computing device 150 by having an inactive modem 156 data channel connection to network 1 10, that is only activated when specifically instructed by an authorized device.
[0040] FIG. 2 is a block diagram illustrating an example computing device 250 for remotely initializing data transmission functionality of modem 256 responsive to receiving a message, in accordance with one or more aspects of the present disclosure. Computing device 250 may be one example of computing device 150 of FIG. 1 in accordance with one or more techniques of this disclosure. FIG 2 illustrates only one particular example of computing device 250, and many other examples of computing device 250 may be used in other instances and may include a subset of components included in example computing device 250 or may include additional components not shown in FIG. 2.
[0041] In the example of FIG . 2, computing device 250 may include power source 251, one or more processors 262, user interface (UI) components 264, communication units 260, and storage devices 266. Communication channels 252 (“COMM channel 252”) may interconnect each ofthe components 251, 260, 262, 264, and 266 for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channel 252 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.
[0042] Power source 251 may provide power to one or more components of computing device 250. In some examples, powder source 251 may be a battery. Power source 251 may provide pov / er to components 260, 262, 264, and 266 of computing device 250, for example. Examples of powder source 251 may include, but are not necessarily limited to, batteries having zinccarbon, lead-acid, nickel cadmium (NiCd), nickel metal hydride (NiMH), lithium ion (Li-ion), and / or lithium polymer (Lipo) chemistries. In some examples, power source 251 may have a limited capacity (e.g., 1000-3000 mAh).
[0043] In some examples, UI components 264 may be a presence-sensitive display configured to detect input (e.g., touch and non-touch input) from a user of computing device 250. UI components 264 may output information to a user in the form of a UI, which may be associated with functionality provided by computing device 250. Such UIs may be associated with computing platforms, operating systems, applications, and / or services executing at or accessible from computing device 250 (e.g., electronic message applications, chat applications, Internet browser applications, mobile or desktop operating systems, social media applications, electronic games, menus, and other types of applications).
[0044] Processors 262 may implement functionality and / or execute instructions within computing device 250. For example, processors 262 may receive and execute instructions that provide the functionality of application service 254 and OS 268. These instructions executed by processors 262 may cause computing device 250 to store and / or modify information within storage device 266 or processors 262 during program execution. Processors 262 may execute instructions of application service 254 and OS 268 to perform one or more operations. That is application service 254 and OS 268 may be operable by processors 262 to perform various functions described herein.
[0045] In the example of FIG. 2, communication units 260 may include modem 256 and global satellite positioning system receiver (GPS receiver) 258. Communication units 260 of computing device 250 may communicate with one or more external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals on the one ormore networks. Examples of communication units 260 include a network interface card (e.g., such as an Ethernet card), an optical transceiver, a radio frequency transceiver, a GNSS receiver, or any other type of device that can send and / or receive information. Other examples of communication units 260 may include short wave radios, cellular data radios (for terrestrial and / or satellite cellular networks), wireless network radios, as well as universal serial bus (USB) controllers.
[0046] Communication units 260 may include modem 256. Modem 256 may be an example of modem 156 as described in FIG. 1. Modem 2.56 may be a network interface device that enables computing device 250 to connect to, or otherwise exchange data with, a network (e.g., network 110 of FIG. 1). Modem 256 may be, for example, a cellular modem, digital subscriber line (DSL) modem, cable modem, satellite modem, wireless modem, or any other modem that can activate a channel connection (e.g., data channel, voice channel, dedicated control channel, etc.) to the network. While illustrated as internal to computing device 250, modem 256 may be external to computing device 250. For example, modem 256 may be a network interface device communicably coupled to computing device 250 with a wired connection (e.g., universal serial bus, Ethernet®, etc.) or wireless connection (e.g., a communication processor of computing device 250 connected to a router of modem 256).
[0047] Communication units 260 may include GPS receiver 258. GPS receiver 258 may be a module or device configured to determine a location of computing device 250 via communication with a global navigation satellite system (GNSS), for example. In some examples, GPS receiver 258 may be a L-band radio processor capable of calculating navigation equations to determine the location of computing device 250. For example, GPS receiver 258 may calculate navigation equations to determine the location of computing device 250 by processing signal broadcasted by satellites of a GNSS. GPS receiver 258 may determine the location of computing device 250 by computing distances between computing device 250 and a set. of satellites. GPS receiver 258 may determine the position of computing device 250 byextracting propagation time of incoming signals broadcasted from the satellites at the speed of light.
[0048] In the example of FIG. 2, storage devices 266 may include operating sy stem (OS) 268 and application service 254. Storage devices 266 within computing device 250 may store information for processing during operation of computing device 250 (e.g., computing device250 may store data accessed by application service 254 and OS 268 during execution at computing device 250). In some examples, storage devices 228 may be a temporary memory, meaning that a primary purpose of storage devices 228 is not long-term storage. Storage devices 228 on computing device 250 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
[0049] Storage devices 266 may include one or more computer-readable storage media. Storage devices 266 may be configured to store larger amounts of information than volatile memory. Storage devices 266 may further be configured for long-term storage of information as nonvolatile memory space and retain information after power on / off cycles. Examples of nonvolatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage devices 266 may store program instructions and / or information associated with modules 204-208 and OS 268.
[0050] Storage devices 266 may include OS 268. OS 268 may control the operation of components of computing device 250. For example, OS 268 may facilitate the communication of application service 254 with processor 224, storage devices 266, and communication units 260. In some examples, OS 268 may manage interactions between software applications (e.g,, application service 254) and a user of computing device 250. OS 268 may have a kernel that facilitates interactions with underlying hardware of computing device 250 and provides a fully formed application space capable of executing a wide variety of software applications having secure partitions in which each of the software applications executes to perform various operations. In some examples, UI components 264 may be considered a component of OS 268.
[0051] Storage devices 266 may include application service 254. Application service 254 may include functionality to perform any variety of operations on computing device 250. Application service 154 may process messages with instructions according to the techniques described herein. Application service 254 may include functionality to activate and deactivate data transmission functionality of modem 256, according to the message with instructions.Application service 254 may deactivate data transmission functionality of modem 256 by turning off higher-power, higher-bandwidth data channel connections to network 110. In instanceswhere the data transmission functionality of modem 256 is inactive, modem 256 may maintain a control channel and / or a voice channel connection to network 110. Modem 256 may maintain a voice channel connection to network 110 that may enable computing device 250 to send and receive messages, voice-calls, etc. over network 110. Modem 256 may maintain a control channel connection to network 110 that may include a low-power and / or low-bandwidth data channel connection to network 110. Modem 256 may maintain a control channel connection to network 110 that may enable computing device 250 to send and receive information (e.g., a nonalerting message) over network 110. For example, modem 256 may maintain a dedicated control channel for receiving user-specific control information (e.g., instructions associated with powder control, handover, etc.). In this way, modem 256 may receive information by remaining attached to network 110 via a control channel in response to application sendee 254 deactivating the data transmission functionality of modem 256.
[0052] In accordance with the techniques described herein, computing device 250 may receive a non-alerting message to initiate the data transmission functionality of modem 256. Computing device 250 may receive a message with an identifier that causes computing device 250 to refrain from outputting an alert. Computing device 250 may receive the non-alerting message with communication units 260. In some instances, modem 256 may receive the non-alerting message using an over-the-air short message sendee (SMS). Modem 256 may receive a non-alerting message that is transmitted using a dedicated control channel, voice channel, or other communication channel connections to a network that do not require the data transmission functionality of modem 256 (e.g., SMS over NAS or SMS over SG). Modem 256 may relay the non-alerting message to application sendee 254 of storage device 266.
[0053] Application service 254 may process the non-alerting message by refraining from outputting an alert via user interface components 264. For example, application service 254 mayprocess the identifier included in the non-alerting message to conceal the non-alerting message from a user of computing device 250. In some instances, application service 254 may determine whether the non-alerting message is associated with an authorized user account. Application service 254 may, for example, register computing device 250 as being associated with an authorized user account. Application service 254 may output data to request explicit user consent to register computing device 250 as being associated with an authorized user account via user interface components 264. Application service 254 may only register computing device 250as being associated with the registered user account in response to a user providing express consent via user interface components 264. Application service 254 may authenticate the nonalerting message by verifying a tag included in the non-alerting message. Application service 254 may verify a tag that includes an authentication key identifying the non-alerting message originated from an authorized user account.
[0054] Application service 254 may initialize the data transmission functionality of modem 256 to establish a data connection to a network in response to determining the non-alerting message is associated with the authorized user account. Application service 254 may process the nonalerting message by sending instructions to modem 256 via communication channels 252. Application service 254 may send instructions to modem 256 that include instructing modem 256 to provide power to one or more sections of modem 256 associated with the data transmission functionality of the modem. Modem 256 may process the instructions to establish a data channel connection to a network. In this way, computing device 250 may initiate the data transmission functionality of modem 256 in response to receiving a non-alerting message sent from a remote computing device or computing system.
[0055] In some instances, computing device 250 may receive a non-alerting message that includes a request for a location of computing device 250. Application service 254 may process the non-alerting message with the request for the location of computing device 250. Application service 254 may process the non-alerting message with the request for the location of device 250 by sending instructions to communication units 260 to determine the location of computing device 250. Application service 254 may send instructions to modem 256 and / or GPS receiver 258.
[0056] In some examples, application service 254 may initialize GPS receiver 258 via communication channels 252, GPS receiver 258 may determine the location of computing device 250 by triangulating the geographic position of computing device 250. GPS receiver 258 may triangulate the geographic position of computing device 250 based on data broadcasted from satellites of a GNSS. GPS receiver 258 may send the determined location of computing device 250 to application service 254 via communication channels 252, In some examples, application service 254 may send instructions to modem 256 to initialize the data transmission functionality of modem 256 and determine the location of computing device 250 via communication channels 252. Modem 256 may determine the location of computing device 250by triangulating the geographic position of computing device 250. Modem 256 may triangulate the geographic position of computing device 250 based on data broadcasted from radio towers of a network. Modem 256 may send the determined location of computing device 250 to application service 254 via communication channels 252. Application service 254 may generally receive a location of computing device 250 via any well-known techniques of determining a geographic position of computing device 250 with communication units 260 (e.g., Assisted GPS, Simultaneous GPS, Differential GPS, Non-differential GPS, Mapping GPS, Non-mapping GPS, etc.).
[0057] Application sendee 254 may generate a response to the request for the location of computing device 250 that was included in the non-alerting message. Application sendee 254 may generate a request that includes the location of computing device 250 determined by modem 256, GPS receiver 258, and / or other devices of communication units 260. Application sendee 254 may forward the generated response to modem 256 via communication channels 252. Modem 256 may send the response to the remote computing device or computing system that sent the non-alerting message via a network (e.g,, network 110 of FIG, 1). Modem 256 may send the response to the remote computing device or computing system using the data connection to the network that was established through instructions modem 256 received from application service 254. In some examples, application sendee 254 may send instructions to modem 256 to deactivate the data transmission functionality of modem 256 in response to modem 256 sending the response to the remote computing device or computing system.Application service 254 may send instructions to modem 256 to deactivate the data transmission functionality of modem 256 via communication channels 252. Modem 256 may execute the instructions to deactivate the data transmission functionality of modem 256 by reducing power to one or more sections of modern 256 associated with the data transmission functionality of modern 256.
[0058] In some instances, computing device 250 may receive a non-alerting message that, includes a request for a voice call with computing device 250. Application service 254 may process the non-alerting message with the request to initiate a voice call with a requested computing device (e.g., computing device 100 of FIG. 1). Application service 254 may process the non-alerting message with the request to initiate the voice call by sending instructions to communication units 260 to initiate a voice call with the requested computing device.Application service 254 may instruct communication units 260 to initiate a voice call using the data transmission functionality of modem 256 (e.g., voice over Internet Protocol). In some examples, application service 254 may determine when the voice call has ended. In response to application service 254 determining the voice call has ended, application service 254 may send instructions to modem 256 to deactivate the data transmission functionality of modem 256, thereby preserving operational life of power source 251.
[0059] In some examples, computing device 250 may enable a user to manually initiate the data transmission functionality of modem 256. For example, application sendee 254 may receive an input from a user (e.g., via UI components 264) to manually initiate the data transmission functionality of modem 256. Application service 254 may detect whether the user is in an emergency situation and send instructions to modem 256 to initiate a data connection to network 110, such that the user of computing device 250 may send and / or receive emergency messages and / or voice calls (e.g., in scenarios when computing device 250 does not include voice channel functionality).
[0060] FIG. 3 is a block diagram illustrating an example computing system 370 for generating a message to remotely initialize data transmission functionality of a modem, in accordance with one or more aspects of the present disclosure. Computing system 370 may be one example of application server 170 of FIG. 1, in accordance with one or more techniques of this disclosure. FIG. 3 illustrates only one particular example of computing system 370, and many other examples of computing system 370 may be used in other instances and may include a subset of components included in example computing system 370 or may include additional components not shown in FIG. 3. In some examples, computing system 370 may be a distributed, cloudbased computing system. For example, functionality of processors 382, communication units 380, and / or storage devices 376 may be distributed across multiple computing devices within a cloud-based environment provided by computing system 370.
[0061] In the example of FIG. 3, computing system 370 may include one or more processors 382, communication units 380, and storage devices 376. Communication channels 332 (“COMM channel 332”) may interconnect each of the components 380, 382, and 376 for intercomponent communications (physically, communicatively, and / or operatively). In some examples, communication channel 332 may include a system bus, a network connection, an mter-process communication data structure, or any other method for communicating data.
[0062] Processors 382 may implement functionality and / or execute instructions within computing system 370. For example, processors 382 may receive and execute instructions that provide the functionality of authentication module 372, message module 374, and OS 378.These instructions executed by processors 382 may cause computing system 370 to store and / or modify information within storage device 376 or processors 382 during program execution. Processors 382 may execute instructions of authentication module 372, message module 374, and OS 378 to perform one or more operations. That is authentication module 372, message module 374, and OS 378 may be operable by processors 382 to perform various functions described herein.
[0063] Communication units 380 of computing system 370 may communicate with one or more external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals on the one or more networks. Examples of communication units 380 include a network interface card (e.g., such as an Ethernet card), an optical transceiver, a radio frequency transceiver, a GNSS receiver, or any other type of device that can send and / or receive information. Other examples of communication units 380 may include short wave radios, cellular data radios (for terrestrial and / or satellite cellular networks), wireless network radios, as well as universal serial bus (USB) controllers,
[0064] In the example of FIG. 3, storage devices 376 may include operating system (OS) 378, authentication module 372, and message module 374. Storage devices 376 within computing system 370 may store information for processing during operation of computing system 370 (e.g., computing system 370 may store data accessed by authentication module 372, message module 374, and OS 378 during execution at computing system 370). In some examples, storage devices 376 may be a temporary' memory, meaning that a primary purpose of storage devices 376 is not long-term storage. Storage devices 376 on computing system 370 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
[0065] Storage devices 376 may include one or more computer-readable storage media. Storage devices 376 may be configured to store larger amounts of information than volatile memory. Storage devices 376 may further be configured for long-term storage of information as non-volatile memory space and retain information after power on / off cycles. Examples of nonvolatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage devices 376 may store program instructions and / or information associated with authentication module 372, message module 374, and OS 378.
[0066] Storage devices 376 may include OS 378. OS 378 may control the operation of components of computing system 370. For example, OS 378 may facilitate the communication of authentication module 372. and message module 374 with processor 382, storage devices 376, and communication units 380. In some examples, OS 378 may manage interactions between software applications and a user of computing system 370. OS 378 may have a kernel that facilitates interactions with underlying hardware of computing system 370 and provides a fully formed application space capable of executing a wide variety of software applications having secure partitions in which each of the software applications executes to perform various operations.
[0067] Storage devices 376 may include authentication module 372, Authentication module 372 may include account sendees associated with applications (e.g., application 104 and application sendee 154 of FIG. 1) executing on remote computing devices and managed by computing system 370. Authentication module 372 may manage authentication keys, tags, or other data structures configured to grant and / or deny access to functionality of applications managed by computing system 370. In some instances, communication units 380 may receive an option selected by a user interacting with an application managed by computing system 370. Communication units 380 may receive a selected option to remotely initiate a modem associated with a computing device that did not send the option. Authentication module 372 may implement any well-known techniques to verify selected options originating from authorized user accounts to remotely initialize a modem. For example, authentication module 372 may determine whether a selected option sent by a computing device (e.g., computing device 100) with instructions to initiate the data transmission functionality of a modem of a remote computing device (e.g., modem 156 of computing device 250) originated from an authorized user account. Authentication module 372 may verify a tag (e.g., encryption key) included in the selected option. Authentication module 372 may verify the tag included in the selected option isassociated with an authorized user account by matching an authentication key included in the tag with credentials associated with the authorized user account.
[0068] Storage devices 376 may include message module 374. Message module 374 may generate a non-alerting message based on the selected option received by a computing device to remotely initialize data transmission functionality of a modem. For example, message module 374 may generate a non-alerting message that includes the instructions to initiate the data transmission functionality of a modem. Message module 374 may generate the non-alerting message to include instructions to refrain from outputting the message to a receiving computing device. In some examples, message module 374 may generate the non-alerting message to include a request associated with the selected option (e.g., request for a location of a computing device). Message module 374 may generate the non-alerting message in the form of an over-the- air short message service (SMS). Message module 374 may relay the generated non-alerting message to communication units 380 via communication channels 332. Communication units 380 may send the non-alerting message to a computing device (e.g., computing device 150 of FIG. 1) associated with the modem (e.g., modem 156 of FIG. 1) intended to establish a data channel connection to a network (e.g., network 110 of FIG. 1),
[0069] Communication units 380 may send the non-alerting message to the computing device, for example, using a voice channel connection between computing system 370 and the computing device. Communication units 380 may send the non-alerting message to the computing device using the voice channel connection in instances when the computing device maintains a voice channel connection over network 110. In some instances, communication units 380 may send the non-alerting message to the computing device using a dedicated control channel connection between computing system 370 and the computing device. Communication units 380 may send the non-alerting message to the computing device using a dedicated control channel connection in instances where the computing device does not maintain or include voice channel functionality. Communication units 380 may be configured to establish a dedicated control channel connection according to M AS or SG protocols that is used to send the nonalerting message to the computing device.
[0070] FIG. 4 is a flowchart illustrating an example process for remotely initializing data transmission functionality of a modem, in accordance with one or more aspects of the present disclosure. FIG. 4 is discussed with FIGS. 1-3 for example purposes only. In the example ofFIG. 4, computing device 400, application server 470, and computing device 450 may correspond to computing device 100, application server 170, and computing device 150 of FIG. 1, respectively.
[0071] Computing device 400 may send a request to application server 470 (402). Computing device 400 may send a request based on an option a user selects while interacting with application 104. For example, application 104 may output options associated with managing computing device 150 via UI 106. Application 104 may receive an input of a selected option including a request to remotely initiate the data transmission functionality of modem 156. In some instances, application 104 may receive an input of a selected option including a request for the location of computing device 150. In some instances, application 104 may receive an input of a selected option including a request for computing device 450 to initiate a voice call with computing device 400 using a data connection to network 110. Application 104 may also include a tag in the selected option sent to application server 170. Application 104 may send the selected option with a tag that may include an authentication key associated with credentials necessary to manage computing device 450. Application 104 may send the one or more requests a user selects to application server 470 via network 110.
[0072] Application server 470 may authenticate the request sent by computing device 400 (404). For example, application server 470 may authenticate whether the request originated from a user account authorized to manage computing device 450. Application server 470 may use authentication module 472 to authenticate the request by verifying that a tag included in the request matches credentials of a user account authorized to manage computing device 450. In response to authenticating the request, application server 470 may generate instructions to remotely initialize the data transmission functionality of a modem associated with computing device 450 (406). For example, message module 174 may generate instructions to initiate the data transmission functionality of modem 156. In some instances, message module 174 may generate instructions for computing device 450 to send computing device 400 the location of computing device 450 responsive to initiating the data transmission functionality of modem 156. In some instances, message module 174 may generate instructions for computing device 450 to initiate a voice call with computing device 400 using the data transmission functionality of modem 156. Message module 174 may also generate instructions for computing device 450 to refrain from outputting an indication of receiving a message that includes the instructions.
[0073] Application server 470 may send a non-alerting message to computing device 450 (408). Application server 470 may send a non-alerting message generated by message module 174 to computing device 450. Message module 174 may generate a non-alerting message that includes a positive authentication state of the request sent by computing device 400. Message module 174 may include the request received from computing device 400 in the non-alerting message. Message module 174 may generate the non-alerting message with the instructions generated by message module 174. Message module 174 may generate the non-alerting message in the form of an over-the-air short messaging service (SMS). Application server 470 may transmit the nonalerting message to computing device 450 using a voice channel, dedicated control channel, or any other channel connection to a network that does not require the data transmission functionality of a modem associated with computing device 450.
[0074] Computing device 450 may initialize data transmission functionality of a modem associated with computing device 450 (410). For example, computing device 450 may initialize data transmission functionality of modem 156 based on the instructions included in the received non-alerting message. In some examples, computing device 450 may generate a response to the request included in the non-alerting message (412). For example, application service 154 may send instructions to communication units 260 to determine a location of computing device 450 in response to receiving a request to send computing device 400 the location of computing device 450. In some examples, application service 154 may send instructions to communication units 260 to initiate a voice call with computing device 400 using the data transmission functionality of modem 156. Application service 154 may send the response to computing device 400 (414). Application service 154 may send the response to computing device 400 using the data transmission functionality of modem 156. Computing device 400 may receive the response (416). Computing device 400, or more specifically application 104, may receive the response via network 110. Application 104 may output the response to a user operating computing device 400 via UI 106. In some instances, responsive to sending the response to computing device 400, computing device 450 may deacti vate the data transmission functionality of the modem associated with computing device 450 (418). For example, application service 154 may send instructions to modem 156 to deactivate the data transmission functionality of modem 156 in response to application service 154 sending the response to computing device 400. Modem 156 may execute the instructions to deactivate the data transmission functionality of modem 156 byreducing power to one or more sections of modem 156 associated with the data transmission functionality of modem 156.
[0075] FIG. 5 is a flowchart illustrating an example process for remotely initializing data transmission functionality of a modem in response to receiving a message, in accordance with one or more aspects of the present disclosure. FIG. 5 is discussed with FIGS. 1-3 for example purposes only.
[0076] In the example of FIG. 5, computing device 150 may receive a non-alerting message using a modem 156 connection to a network (502). Computing device 150 may receive the nonalerting message when the data transmission functionality of modem 156 is inactive. Computing device 150 may receive the non-alerting message with an identifier that causes computing device 150 to refrain from outputting an alert in response to receiving the non-alerting message. Computing device 150 may determine the non-alerting message is associated with an authorized user account (504). For example, computing device 150 may verify a tag included in the nonalerting message to determine whether the non-alerting message originated from a computing device with appropriate credentials to manage computing device 150,
[0077] Computing device 150 may initialize the data transmission functionality' of modem 156 (506). Computing device 150 may initialize the data transmission functionality' of modem 156 to establish a data connection to network 1 10. In this way, computing device 150 may send data to the computing device where the non-alerting message originated from (508). In some examples, computing device 150 may send data of the location of computing device 150 to computing device 100 using a modem 156 data channel connection to network 110. In some examples, computing device 150 may send the data in the form of a voice call with computing device 150 using the modem 156 data channel connection to network 110.
[0078] FIG. 6 is a flowchart, illustrating an example process for generating a message to remotely initialize data transmission functionality of a modern, in accordance with one or more aspects of the present disclosure. FIG. 6 is discussed with FIGS. 1-3 for example purposes only.
[0079] Application server 170 may receive an option from computing device 100 (602). For example, application server 170 may receive an option a user selected while interacting with application 104. Application server 170 may receive an option that may include instructions to remotely initialize modem 156. Application server 170 may determine whether the option is associated with an authorized user account registered to computing device 100 (604). Forexample, authentication module 172 of application server 170 may determine whether a tag included in the option includes credentials associated with an authorized user account registered to computing device 100. Application server 170 may determine the option was sent from a user account authorized to manage computing device 150.
[0080] Application server 170 may generate a non-alerting message with instructions to initialize the data transmission functionality of modem 156 (606). Application server 170, or more particularly message module 174, may generate a non-alerting message that includes an identifier that causes computing device 150 to refrain from outputting an alert in response to receiving the non-alerting message. Message module 174 may generate the non-alerting message with instructions that cause computing device 150 to initialize the data transmission functionality of modem 156. Message module 174 may generate the non-alerting message to include instructions associated with the option received from computing device 100. In some examples, message module 174 may include instructions that cause computing device 150 to send computing device 100 the location of computing device 150 in response to computing device 150 initializing the data transmission functionality of modem 156. In some examples, message module 174 may include instructions to cause computing device 150 to initiate a voice call with computing device 100 using the data transmission functionality of modem 156.Application server 170 may send the non-alertmg message to computing device 150 (608). Application server 170 may send the non-alerting message to computing device 150 when the data transmission functionality of modem 156 is inactive. Application server 170 may transmit the non-alertmg message to computing device 150 via a voice channel, dedicated control channel, or any other channel connection to a network that does not require the data transmission functionality of computing device 150. Computing device 150 may execute the instructions included in the received non-alertmg message. Computing device 150 may execute the identifier that causes computing device 150 to refrain from outputting an alert that the non-alerting message was received. Computing device 150 may execute the instructions to initialize the data transmission functionality of modem 156 to establish a data connection to network 110.Computing device 150 may execute other instructions included in the non-alertmg message, such as sending computing device 100 the location of computing device 150 using the data connection to network 110.
[0081] Throughout the disclosure, examples are described where a computing device and / or a computing system analyzes information (e.g., wireless ID tags and respective information, locations, context, motion, etc.) associated with a computing device and a user of the computing device, only if the computing device receives permission from the user of the computing device to analyze the information. For example, in situations discussed below, before a computing device or computing sy stem can collect or may make use of information associated with a user, the user may be provided with an opportunity to provide input to control whether programs or features of the computing device and / or computing system can collect and make use of user information (e.g., information about a user’s or user device’s current location, such as by GPS or wireless ID tag, etc.), or to dictate whether and / or how to the device and / or system may receive content that may be relevant to the user. In addition, certain data may be treated in one or more ways before it is stored or used by the computing device and / or computing system, so that personally identifiable information is removed. For example, a user’s identity and image may be treated so that no personally identifiable information can be determined about the user, or a user’s geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and used by the computing device and computing system.
[0082] Example 1: A method includes receiving, by a computing device using a modem of the computing device that is connected to a network, a non-alerting message, wherein data, transmission functionality of the modem is inactive, and wherein the non-alerting message includes an identifier that causes the computing device to refrain from outputting an alert in response to receiving the non-alerting message; and responsive to determining that the nonalerting message is associated with an authorized user account, initializing, by the computing device, the data transmission functionality of the modem to establish a data connection to the network.
[0083] Example 2: The method of example 1, wherein the non-alerting message includes a request for a location of the computing device, and wherein the method further comprises: determining, by the computing device, a location of the computing device; generating a response to the request, wherein the response comprises the location of the computing device; and outputting, by the computing, the response using the data connection to the network.
[0084] Example 3: The method of example 2, wherein the computing device receives the nonalerting message using a voice channel connection to the network.
[0085] Example 4: The method of any of examples 2 and 3, wherein determining the location of the computing device comprises triangulating a geographic position of the computing device based on data received from a global satellite positioning system receiver.
[0086] Example 5: The method of any of examples 1 through 4, wherein the non-alerting message includes a request for the computing device to initiate a voice call using the data connection to the network, and wherein the method further comprises: responsive to initializing the data transmission functionality of the modem, initiating a voice call using the data connection to the network.
[0087] Example 6: The method of example 5, wherein the computing device does not include voice channel functionality, and wherein the computing device receives the non-alerting message using a dedicated control channel connection to the network.
[0088] Example 7: The method of any of examples 1-6, wherein initializing the data transmission functionality of the modem comprises providing power to one or more sections of the modem associated with the data transmission functionality' of the modem.
[0089] Example 8: The method of any of examples 1-7, further includes deactivating, by the computing device, the data transmission functionality of the modem responsive to outputting a response to the non-alerting message, wherein deactivating the data transmission functionality of the modem comprises reducing power to one or more sections of the modem associated with the data transmission functionality7of the modem.
[0090] Example 9: The method of any of examples 1 -8, wherein the computing device is a first computing device, and wherein the method comprises: receiving, by the first computing device, the non-alerting message from a second computing device; and outputting, by the first computing device to the second computing device, a response to the non-alerting message using the data connection to the network.
[0091] Example 10: The method of any of examples 1-9, further includes determining, by the computing device, the non-alerting message is associated with the authorized user account
[0092] Example 11: The method of example 10, wherein determining that the non-alerting message is associated with the authorized user account further comprises: verifying a tagincluded in the non-alerting message, wherein the tag comprises an authentication key identifying the non-alerting message originated from the authorized user account.
[0093] Example 12: A computing device comprising means for performing any of the methods of examples 1-11.
[0094] Example 13: A computing device includes at least one processor; a network interface; and a storage device that stores instructions executable by the at least one processor to: receive, using the network interface that is connected to a network, a non-alerting message, wherein data transmission functionality of the network interface is inactive, and wherein the non-alerting message includes an identifier that causes the at least one processor to refrain from outputting an alert in response to receiving the non-alerting message; and responsive to determining that the non-alerting message is associated with an authorized user account, initialize the data transmission functionality of the network interface to establish a data connection to the network.
[0095] Example 14: The computing device of example 13, wherein the non-alerting message includes a request for a location of the computing device, and wherein the instructions executable by the at least one processor further comprise instructions to: determine a location of the computing device; generate a response to the request, wherein the response comprises the location of the computing device; and output the response using the data connection to the network,
[0096] Example 15: The computing device of example 14, wherein the computing device receives the non-alerting message using a voice channel connection to the network,
[0097] Example 16: The computing device of any of examples 14 and 15, wherein determining the location of the computing device comprises triangulating a geographic position of the computing device based on data received from a global satellite positioning system receiver.
[0098] Example 17: The computing device of any of examples 13 through 16, wherein the nonalerting message includes a request for the computing device to initiate a voice call using the data connection to the network, and wherein the instructions executable by the at least one processor further comprise instructions to: responsive to initializing the data transmission functionality of the network interface, initiate a voice call using the data connection to the network.
[0099] Example 18: The computing device of example 17, wherein the computing device does not include voice channel functionality, and wherein the computing device receives the nonalerting message using a dedicated control channel connection to the network.
[0100] Example 19: The computing device of any of examples 13-18, wherein initializing the data transmission functionality of the network interface comprises providing power to one or more sections of the network interface associated with the data transmission functionality of the network interface.[01011 Example 20: The computing device of any of examples 13-19, wherein the instructions executable by the at least one processor further comprise instructions to: deactivate the data transmission functionality of the network interface responsive to outputting a response to outputting a response to the non-alerting message, wherein deactivating the data transmission functionality of the network interface comprises reducing power to one or more sections of the network interface associated with the data transmission functionality of the network interface.
[0102] Example 21: The computing device of any of examples 13-20, wherein the computing device is a first computing device, and wherein the instructions executable by the at least one processor further comprise instructions to: receive the non-alerting message from a second computing device; and output, to the second computing device, a response to the non-alerting message using the data connection to the network.
[0103] Example 22: The computing device of any of examples 13-21 , wherein the instructions executable by the at least one processor further comprise instructions to: determine the nonalerting message is associated with the authorized user account.
[0104] Example 23: The computing device of example 22, wherein to determine the nonalerting message is associated with the authorized user account, the instructions executable by the at least one processor further comprise instructions to: verify a tag included in the nonalerting message, wherein the tag comprises an authentication key identifying the non-alerting message originated from the authorized user account.
[0105] Example 24: A computer-readable storage medium encoded with instructions that, cause one or more processors to perform any of the methods of examples 1 -11.
[0106] Example 25: A computer-readable storage medium encoded with instructions that, when executed, cause at least one processor of a computing device to: receive, using a modem that is connected to a network, a non-alerting message, wherein data transmission functionality of themodem is inactive, and wherein the non-alerting message includes an identifier that causes the at least one processor to refrain from outputting an alert in response to receiving the non-alerting message; and responsive to determining that the non-alerting message is associated with an authorized user account, initialize the data transmission functionality of the modem to establish a data connection to the network.
[0107] Example 26: The computer-readable storage medium of example 25, wherein the nonalerting message includes a request for a location of the computing device, and wherein the instructions executable by the at least one processor further comprise instructions to: determine a location of the computing device; generate a response to the request, wherein the response comprises the location of the computing device; and output the response using the data connection to the network.
[0108] Example 27: The computer-readable storage medium of example 2.6, wherein the computing device receives the non-alerting message using a voice channel connection to the network.
[0109] Example 28: The computer-readable storage medium of any of examples 26 and 27, wherein determining the location of the computing device comprises triangulating a geographic position of the computing device based on data received from a global satellite positioning system receiver.
[0110] Example 29: The computer-readable storage medium of any of examples 25 through 28, wherein the non-alerting message includes a request for the computing device to initiate a voice call using the data connection to the network, and wherein the instructions executable by the at least one processor further comprise instructions to: initiate a voice call using the data connection to the network responsive to initializing the data transmission functionality of the modem.
[0111] Example 30: The computer-readable storage medium of example 29, wherein the computing device does not include voice channel functionality, and wherein the computing device receives the non-alerting message using a dedicated control channel connection to the network.
[0112] Example 31: The computer-readable storage medium of any of examples 25-30, wherein initializing the data transmission functionality of the modem comprises providing power to oneor more sections of the modem associated wi th the data transmission functionality of the modem.
[0113] Example 32: The computer-readable storage medium of any of examples 25-31 , wherein the instructions executable by the at least one processor further comprise instructions to: deactivate the data transmission functionality of the modem responsive to outputting a response to the non-alerting message, wherein deactivating the data transmission functionality of the modem comprises reducing power to one or more sections of the modem associated with the data transmission functionality of the modem.
[0114] Example 33: The computer-readable storage medium of any of examples 25-32, wherein the computing device is a first computing device, and wherein the instructions executable by the at least one processor further comprise instructions to: receive the non-alerting message from a second computing device; and output, to the second computing device, a response to the nonalerting message using the data connection to the network.
[0115] Example 34: The computer-readable storage medium of any of examples 25-32, wherein the instructions executable by the at least one processor further comprise instructions to: determine the non-alerting message is associated with the authorized user account.
[0116] Example 35: The computer-readable storage medium of example 34, wherein to determine the non-alerting message is associated with the authorized user account the instructions executable by the at least one processor further comprise instructions to: verify a tag included in the non-alerting message, wherein the tag comprises an authentication key identifying the non-alerting message originated from the authorized user account.
[0117] Example 36: A method includes receiving, by a computing system, an option from a first computing device; determining, by the computing system, the option is associated with an authorized user account registered to the first computing device; generating, by the computing system, a non-alerting message with instructions to cause a second computing device to initialize data, transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes the second computing device to refrain from outputting an alert in response to receiving the non-alerting message; and sending, by the computing system and to the second computing device, the non-alerting message using a voice channel connection between the computing system and the second computing device.
[0118] Example 37: The method of example 36. wherein the data transmission functionality of the modem is inactive.
[0119] Example 38: The method of any of examples 36-37, wherein the non-alerting message includes a request for a location of the second computing device.
[0120] Example 39: The method of any of examples 36-38, wherein the instructions executable by the at least one processor comprise instructions to output the non-alerting message using a control channel, a voice channel, or a dedicated channel of a modem connection to the network, and wherein the non-alerting message is generated using a short message service.
[0121] Example 40: The method of any of examples 36-39, wherein to determine the option is associated with an authorized user account registered to the first computing device, the instructions executable by the at least one processor comprises instructions to verify a tag included in the non-alerting message, wherein the tag comprises an authentication key identifying the non-alerting message originated from the authorized user account.
[0122] Example 41: A computing system comprising means for performing any of the methods of claims 36-40.
[0123] Example 42: A system includes at least one processor; a network interface; and a storage device that stores instructions executable by the at least one processor to: receive an option from a first computing device, determine the option is associated with an authorized user account registered to the first computing device, generate a non-alerting message with instructions to cause a second computing device to initialize data transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes the second computing device to refrain from outputting an alert in response to receiving the non-alerting message, and output the non-alerting message using a voice channel connection between the network interface and the second computing device.
[0124] Example 43: The system of example 42, wherein the data transmission functionality of the modem is inactive.
[0125] Example 44: The system of any of examples 42-43, wherein the non-alerting message includes a request for a location of the second computing device.
[0126] Example 45: The sy stem of any of examples 42-44, wherein the instructions executable by the at least one processor comprise instructions to output the non-alerting message using acontrol channel, a voice channel, or a dedicated channel of a modem connection to the network, and wherein the non-alerting message is generated using a short message service.
[0127] Example 46: The system of any of examples 42-45, wherein to determine the option is associated with an authorized user account registered to the first computing device, the instructions executable by the at least one processor comprises instructions to verify a tag included in the non-alerting message, wherein the tag comprises an authentication keyidentifying the non-alerting message originated from the authorized user account.
[0128] Example 47: A computer-readable storage medium encoded with instructions that cause one or more processors to perform any of the methods of examples 36-40.
[0129] Example 48: A computer-readable storage medium encoded with instructions that, when executed, cause at least one processor of a computing system to: receive an option from a first computing device, determine the option is associated with an authorized user account registered to the first computing device, generate a non-alerting message with instructions to initialize data transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes a second computing device to refrain from outputting an alert in response to receiving the non-alerting message.
[0130] Example 49: The computer-readable storage medium of example 48, wherein the data transmission functionality of the modem is inactive,
[0131] Example 50: The computer-readable storage medium of any of examples 48-49, wherein the non-alerting message includes a request, for a location of the second computing device.
[0132] Example 51: The computer-readable storage medium of any of examples 48-50, wherein the instructions cause the at least one processor of the computing system to output the nonalerting message using a control channel, a voice channel, or a dedicated channel of a modem connection to the network, and wherein the non-alerting message is generated using a short message service.
[0133] Example 52: The computer-readable storage medium of any of examples 48-51 , wherein to determine the option is associated with an authorized user account registered to the first computing device, the instructions cause the at least one processor of the computing system to verify a tag included in the non-alerting message, wherein the tag comprises an authentication key identifying the non-alerting message originated from the authorized user account.
[0134] By way of example, and not limitation, such computer-readable storage media cancomprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage 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, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wareless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage mediums and 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 herein, 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 a computer-readable medium.
[0135] The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, various aspects of the described techniques may be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry'. A control unit including hardware may also perform one or more of the techniques of this disclosure.
[0136] Such hardware, software, and firmware may be implemented within the same device or within separate devices to support the various techniques described in this disclosure. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware, firmware, or software components. Rather, functionality associated with one or more modules or units may be performed byseparate hardware, firmware, or software components, or integrated within common or separate hardware, firmware, or software components.
[0137] Various examples of the invention have been described. These and other examples are within the scope of the following claims.
Claims
WHAT IS CLAIMED IS:
1. A method comprising: receiving, by a computing device using a modem of the computing device that is connected to a network, a non-alerting message, wherein data transmission functionality of the modem is inactive, and wherein the non-alerting message includes an identifier that causes the computing device to refrain from outputting an alert in response to receiving the non-alerting message: and responsive to determining that the non-alerting message is associated with an authorized user account, initializing, by the computing device, the data transmission functionality of the modem to establish a data connection to the network.
2. The method of claim 1, wherein the non-alerting message includes a request for a location of the computing device, and wherein the method further comprises: determining, by the computing device, a location of the computing device; generating a response to the request, wherein the response comprises the location of the computing device; and outputting, by the computing device, the response using the data connection to the network.
3. The method of claim 2, wherein the computing device receives the non-alerting message using a voice channel connection to the network.
4. The method of claim 2, wherein determining the location of the computing device comprises triangulating a geographic position of the computing device based on data received from a global satellite positioning system receiver.
5. The method of claim 1, wherein the non-alerting message includes a request for the computing device to initiate a voice call using the data connection to the network, and wherein the method further comprises: responsive to initializing the data transmission functionality of the modem, initiating a voice call using the data connection to the network.
6. The method of claim 5, wherein the computing device does not include voice channel functionality, and wherein the computing device receives the non-alerting message using a dedicated control channel connection to the network.
7. The method of any of claims 1-6, wherein initializing the data transmission functionality of the modem comprises providing power to one or more sections of the modem associated with the data transmission functionality' of the modem.
8. The method of any of claims 1 -7, further comprising: deactivating, by the computing device, the data transmission functionality of the modem responsive to outputting a response to the non-alerting message, wherein deactivating the data transmission functionality of the modem comprises reducing power to one or more sections of the modem associated with the data transmission functionality of the modem.
9. The method of any of claims 1 -8, wherein the computing device is a first computing device, and wherein the method comprises: receiving, by the first computing device, the non-alerting message from a second computing device; and outputting, by the first computing device to the second computing device, a response to the non-alerting message using the data connection to the network.
10. The method of any of claims 1-9, further comprising: determining, by the computing device, the non-alerting message is associated with the authorized user account.
11. The method of claim 10, wherein determining that the non-alerting message is associated with the authorized user account further comprises: verifying a tag included in the non-alerting message, wherein the tag comprises an authentication key identifying the non-alerting message originated from the authorized user account.
12. A computing device comprising means for performing any of the methods of claims 1-11.
13. A computer- readable storage medium encoded with instructions that cause one or more processors to perform any of the methods of claims 1-11.
14. A system comprising: at least one processor; a network interface; and a storage device that stores instructions executable by the at least one processor to: receive an option from a first computing device, determine the option is associated with an authorized user account registered to the first computing device, generate a non-alerting message with instructions to cause a second computing device to initialize data transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes the second computing device to refrain from outputting an alert in response to receiving the non-alerting message, and output the non-alerting message using a voice channel connection between the network interface and the second computing device.
15. A method comprising : receiving, by a computing system, an option from a first computing device; determining, by the computing system, the option is associated with an authorized user account registered to the first computing device; generating, by the computing system, a non-aierting message with instructions to cause a second computing device to initialize data transmission functionality of a modem, wherein the non-alerting message includes an identifier that causes the second computing device to refrain from outputting an alert in response to receiving the non-alerting message; and sending, by the computing system and to the second computing device, the non-alerting message using a voice channel connection between the computing system and the second computing device.
Citation Information
Patent Citations
Method and apparatus for offloading idle mode activities from one user equipment to another
EP4181580A1
Location-Based Alerting
US20080171559A1
CMAS Alert Procedures over Wi-Fi for Low Power Devices
US20170171814A1
System and method for secure communications with internet-of-things devices
US20170359343A1