User devices, such as smart phones, may be carried by users via various carrying techniques (e.g., carried in pockets, attached to belt clips or holsters, etc.). User devices may sometimes become displaced from the user's possession, causing the user device to become lost and potentially exposing private and/or sensitive data to unauthorized users.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems and/or methods, as described herein, may notify a user when a user device is dropped (e.g., out of the user's hand, pocket, holster, etc.). As a result, the likelihood of the user losing the user device may be significantly lower than when the user is not notified that the user device has been dropped.
When the user device has detected that the device has been dropped, the user device may alert the user. For example, the user device may output an audible alert indicating that the user device has been dropped (e.g., to notify the user that the user device has been dropped). The audible alert may notify the user so that the user may retrieve the user device. As a result, the likelihood of the user losing their user device is dropped is significantly lower than when the user is not notified that the user device has been dropped.
As described in greater detail below, the user device may perform some other action based on detecting that it has been dropped. For example, the user device may send a message to individuals identified in a contacts list associated with the user. Additionally, or alternatively, the user device may send an alert to the user's accessory device (e.g., a wearable device or a second user device associated with the user). In some implementations, the user device may perform a particular action based on conditions under which the user device has been dropped. For example, if the user device has been dropped in a relatively noisy area, the user device may output a louder audible alert than when the user device has been dropped in a relatively quiet area. In some implementations, the user device may lock itself with a passcode so that an unauthorized user may not access the user device if the unauthorized user locates the user device after the user device has been dropped.
User device 210 may include a device capable of communicating via a network, such as network 240. For example, user device 210 may correspond to a mobile communication device (e.g., a smart phone or a personal digital assistant (PDA)). Additionally, or alternatively, user device 210 may correspond to some other type of portable computing device (e.g., a tablet computing device). User device 210 may include sensors, such as an accelerometer, a gyroscope, and/or some other type of sensor.
As shown in
Accessory device 220 may include a device capable of communicating via a network, such as network 240. For example, accessory device 220 may include a wearable computing device, a portable computing device, or the like. In some implementations, accessory device 220 may be a secondary or “companion” device, such as a smart-watch. Accessory device 220 may receive an alert when user device 210 has been dropped.
Directory server 230 may include one or more computing devices, such as a server device or a collection of server devices that may store information that dropped device application 215 may use to determine the conditions under which user device 210 was dropped. For example, directory server 230 may store information identifying points of interest (POIs) associated with different geographic locations. Additionally, or alternatively, directory server 230 may store different alert profiles identifying different actions that dropped device application 215 may perform when user device 210 is dropped. As described in greater detail below, dropped device application 215 may select a particular alert profile based on a type of a POI or location in which user device 210 is located when user device 210 is dropped.
Network 240 may include one or more wired and/or wireless networks. For example, network 240 may include a cellular network (e.g., a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, a long-term evolution (LTE) network, a global system for mobile (GSM) network, a code division multiple access (CDMA) network, an evolution-data optimized (EVDO) network, or the like), a public land mobile network (PLMN), and/or another network. Additionally, or alternatively, network 240 may include a local area network (LAN), a wide area network (WAN), a metropolitan network (MAN), the Public Switched Telephone Network (PSTN), an ad hoc network, a managed Internet Protocol (IP) network, a virtual private network (VPN), an intranet, the Internet, a fiber optic-based network, and/or a combination of these or other types of networks.
The quantity of devices and/or networks in environment 200 is not limited to what is shown in
As shown in
Alert profile repository 320 may store one or more alert profiles. An alert profile may identify a set of one or more actions that control module 340 may perform based on conditions under which user device 210 is dropped. For example, an alert profile may identify an action to output an audible alert of a particular tone and at a particular volume. Additionally, or alternatively, the alert profile may identify an action to play an audio file or a personalized audio alert indicating that the user has dropped user device 210 (e.g., an audio alert having spoken words, such as “Your phone has been dropped”). Additionally, or alternatively, the alert profile may identify an action to place a telephone call or send a message to one or more individuals in a contacts list associated with a user of user device 210. Additionally, or alternatively, the alert profile may identify an action to flash a display or light component of user device 210 (e.g., at a particular intensity and/or frequency based on the amount of remaining battery life on user device 210). Additionally, or alternatively, the alert profile may identify another action that may be performed based on conditions under which user device 210 is dropped.
Drop detection module 330 may determine that user device 210 has been dropped based on information obtained and/or stored by sensor data module 310. Drop detection module 330 may, for instance, implement one or more classification models that are designed to operate on sensor data and output an indication of a “drop” event based on the sensor data. For example, drop detection module 330 may determine that user device 210 has been dropped when accelerometer measurements indicate that user device 210 undergoes acceleration consistent with a fall (e.g., acceleration due to gravity) followed by acceleration consistent with a sudden stop (e.g., consistent with hitting the ground). Gyroscope data, audio data, and/or other sensor data may additionally be used to verify and/or provide additional inputs to the model and/or to provide post-fall event verification (e.g., a fall event may be accompanied by sounds of user device hitting the ground followed by a period of no movement). In one implementation, drop detection module 330 may use pattern matching techniques to compare sensor data to preloaded sensor data patterns that indicate that user device 210 has been dropped. As another example, drop detection module 330 may determine that user device 210 has been dropped by combining gyroscope senor data that indicates that user device 210 is in free fall, and accelerometer data that indicates that user device 210 has made contact with the ground.
In some implementations, drop detection module 330 may determine that user device 210 has been dropped based on audio and/or video data indicating that user device 210 has been dropped. For example, drop detection module 330 may determine that user device 210 has been dropped based on audio data corresponding to the sound of user device 210 falling and landing on the ground. Drop detection module 330 may determine that user device 210 has been dropped based on video data showing that user device 210 is facing the ground or facing upwards towards the sky.
Control module 340 may receive an indication from drop detection module 330 that user device 210 has been dropped, and may determine the conditions under which user device 210 is dropped. For example, control module 340 may determine a particular geographic location in which user device 210 is dropped. Additionally, or alternatively, control module 340 may determine a speed of user device 210 before user device 210 was dropped. Additionally, or alternatively, control module 340 may determine some other condition under which user device 210 was dropped. Control module 340 may select a particular alert profile based on the conditions under which user device 210 is dropped. Control module 340 may perform particular actions associated with the selected alert profile. For example, when user device 210 is dropped in a particular location associated with a particular POI, control module 340 may perform one set of actions associated with a particular alert profile. When user device 210 is dropped in a different location associated with a different POI, control module 340 may perform a different set of sections associated with a different alert profile.
As shown in
Process 400 may also include determining whether a drop has been detected (block 420). For example, drop detection module 330 may determine whether a drop has been detected. As described above, drop detection module 330 may determine that a drop has been detected based on accelerometer data, gyroscope data, and/or other sensor data
As described previously, a number of techniques may be used to implement drop detection module 330. For example, drop detection module may determine that user device 210 has been dropped based on audio and/or video data indicating that the phone has been dropped. Drop detection module 330 may determine that user device 210 has been dropped based on sudden accelerations consistent with a drop. Drop detection module 330 may determine that user device 210 has been dropped based on audio data corresponding to the sound of user device 210 falling and landing the ground. Drop detection module 330 may determine that user device 210 has been dropped based on video data showing that user device 210 is facing the ground or facing upwards towards the sky. In some implementations, drop detection module 330 may determine that user device 210 has been dropped when a speed of user device 210 substantially drops within a relatively short period of time. For example, drop detection module 330 may determine that user device 210 has been dropped when user device 210 had been moving at a speed greater than a particular threshold (e.g., a driving speed, a biking speed, etc.), and then suddenly becomes stationary, thereby indicating that user device 210 has been dropped.
When dropped device application 215 determines that user device 210 has not been dropped (block 420-NO), process 400 may return to block 410. That is, dropped device application 215 may continuously monitor the sensor data until a drop has been detected. If dropped device application 215 determines that user device 210 has been dropped (block 420-YES), process 400 may further include displaying an alert cancellation countdown (block 430). For example, dropped device application 215 may display the alert cancellation countdown to provide the user of user device 210 with the opportunity to cancel an alert that notifies the user that user device 210 has been dropped (e.g., in a situation where the user picks up user device 210 shortly after dropping user device 210 or a “false positive” situation in which a drop event was incorrectly detected).
In some implementations, dropped device application 215 may display an alert countdown of 5 seconds, 10 seconds, 15 seconds, or some other interval. In some implementations, the alert countdown may be based on whether user device 210 was previously traveling above a threshold speed before user device 210 was dropped. For example, if user device 210 was traveling above a threshold speed (e.g., a driving speed, a biking speed, etc.) before user device 210 was dropped, the alert countdown may be shorter than when user device 210 was traveling below the threshold speed. Alternatively, dropped device application 215 may forgo displaying the alert countdown altogether.
Process 400 may further include determining whether an alert cancellation instruction is received from the user before countdown has expired (block 440). For example, dropped device application 215 may determine that an alert cancellation instruction has been received when the user selects to cancel the alert via a user interface of user device 210 from which the alert countdown is being displayed. Dropped device application 215 may determine that an alert cancellation instruction has not been received when the countdown expires and when the user has not selected to cancel the alert instruction. Additionally, or alternatively, dropped device application 215 may determine than the alert cancellation instruction has not been received when dropped device application 215 forgoes displaying the alert countdown (e.g., if user device 210 was dropped when it was traveling at above a threshold speed). If, for example, dropped device application 215 determines that an alert cancellation instruction has been received (block 440-YES), process 400 may return to block 410.
If, on the other hand, dropped device application 215 determines that an alert cancellation instruction has not been received, (block 440-NO), process 400 may include identifying conditions under which the user device has been dropped (block 450). For example, dropped device application 215 may identify the conditions under which user device 210 has been dropped. In some implementations, control module 340 of dropped device application 215 may identify the conditions under which user device 210 has been dropped. For example, control module 340 may determine the geographic location of user device 210 when user device 210 was dropped. In some implementations, user device 210 may identify a POI associated with the geographic location. Additionally, or alternatively, control module 340 may determine that user device 210 was dropped after user device 210 had been traveling above a threshold speed. In some implementations, control module 340 may activate a microphone and/or camera device to obtain audio data when the phone has been dropped. As described in greater detail below, a particular alert profile may be selected based on audio data captured after user device 210 has been dropped. Additionally, or alternatively, control module 340 may identify another condition under which user device 210 was dropped.
Process 400 may also include selecting an alert profile based on the conditions under which the user device has been dropped (block 460). For example, control module 340 of dropped device application 215 may select an alert profile based on the conditions in which user device 210 has been dropped. As described above, an alert profile may identify actions and/or instructions that dropped device application 215 may execute in order to alert a user that user device 210 has been dropped. For example, one alert profile may include an instruction to output an audible alert at a particular volume and at a particular tone, whereas another alert profile may include an instruction to output an audible alert at a different volume and at a different tone.
Additionally, or alternatively, an alert profile may include an instruction to determine the location of user device 210 when user device 210 is dropped, and output information identifying the location to accessory device 220 and/or to other user devices 210 (e.g., user devices 210 of friends or family of the user of the user device 210 that was dropped). Additionally, or alternatively, an alert profile may include an instruction to output information identifying the location of a dropped user device 210 to other user devices 210 that are within a vicinity of the dropped user device 210 (e.g., user devices 210 of friends or family of the user of the dropped user device 210).
As an example, dropped device application 215 may select one alert profile that causes dropped device application 215 to output a relatively loud audible alert when user device 210 is dropped at a POI that is known to be relatively loud (e.g., a stadium or concert venue). Dropped device application 215 may select another alert profile that causes dropped device application 215 to output a relatively quieter audible alert when user device 210 is dropped at a POI that is known to be relatively quieter (e.g., inside of a library, an office, etc.). As another example, dropped device application 215 may select an alert profile that causes dropped device application 215 to output an alert to trusted user devices 210 that are within a vicinity of a dropped user device 210 (e.g., when user device 210 is dropped in a location in which the trusted user devices 210 are located). Additionally, or alternatively, dropped device application 215 may select an alert profile based on some other condition under which user device 210 is dropped. For example, dropped device application 215 may select an alert profile based on audio data captured after user device 210 has been dropped (e.g., audio data that identifies the user of user device 210). As an example dropped device application 215 may select an alert profile that causes dropped device application 215 to output a personalized audio message to the user of user device 210 when the audio data identifies the user of user device 210.
Process 400 may further include generating an alert based on the selected alert profile (block 470). For example, control module 340 of dropped device application 215 may generate an alert based on the selected alert profile. As an example, control module 340 may output an audible alert at a particular volume, at a particular tone, and/or to output an alert to accessory device 220 and/or to other user devices 210. Additionally, or alternatively, control module 340 may play an audio file or a personalized audio alert indicating that the user has dropped user device 210 (e.g., an audio alert having spoken words, such as “Your phone has been dropped”). Additionally, or alternatively, control module 340 may flash a display or light component of user device 210 (e.g., at a particular intensity and/or frequency based on the amount of remaining battery life on user device 210). In some implementations, control module 340 may lock operations of user device 210 (e.g., with a passcode) in order to prevent an unauthorized user from accessing user device 210.
Referring to
Referring to
Referring to
Bus 810 may include one or more communication paths that permit communication among the components of device 800. Processor 820 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Memory 830 may include any type of dynamic storage device that may store information and instructions for execution by processor 820, and/or any type of non-volatile storage device that may store information for use by processor 820.
Input component 840 may include a mechanism that permits an operator to input information to device 800, such as a keyboard, a keypad, a button, a switch, etc. Output component 850 may include a mechanism that outputs information to the operator, such as a display, a speaker, one or more light emitting diodes (LEDs), etc.
Communication interface 860 may include any transceiver-like mechanism that enables device 800 to communicate with other devices and/or systems. For example, communication interface 860 may include an Ethernet interface, an optical interface, a coaxial interface, or the like. Communication interface 860 may include a wireless communication device, such as an infrared (IR) receiver, a Bluetooth® radio, or the like. The wireless communication device may be coupled to an external device, such as a remote control, a wireless keyboard, a mobile telephone, etc. In some embodiments, device 800 may include more than one communication interface 860. For instance, device 800 may include an optical interface and an Ethernet interface.
Device 800 may perform certain operations relating to one or more processes described above. Device 800 may perform these operations in response to processor 820 executing software instructions stored in a computer-readable medium, such as memory 830. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include space within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into memory 830 from another computer-readable medium or from another device. The software instructions stored in memory 830 may cause processor 820 to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The foregoing description of implementations provides illustration and description, but is not intended to be exhaustive or to limit the possible implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations. For example, a while series of blocks have been described with regard to
The actual software code or specialized control hardware used to implement an embodiment is not limiting of the embodiment. Thus, the operation and behavior of the embodiment has been described without reference to the specific software code, it being understood that software and control hardware may be designed based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the possible implementations includes each dependent claim in combination with every other claim in the claim set.
Further, while certain connections or devices are shown (e.g., in
Some implementations are described herein in conjunction with thresholds. The term “greater than” (or similar to s), as used herein to describe a relationship of a value to a threshold, may be used interchangeably with the term “greater than or equal to” (or similar terms). Similarly, the term “less than” (or similar terms), as used herein to describe a relationship of a value to a threshold, may be used interchangeably with the term “less than or equal to” (or similar terms). As used herein, “satisfying” a threshold (or similar terms) may be used interchangeably with “being greater than a threshold,” “being greater than or equal to a threshold,” “being less than a threshold,” “being less than or equal to a threshold,” or other similar terms, depending on the context in which the threshold is used.
To the extent the aforementioned implementations collect, store, or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
No element, act, or instruction used in the present application should be construed as critical or essential unless explicitly described as such. An instance of the use of the term “and,” as used herein, does not necessarily preclude the interpretation that the phrase “and/or” was intended in that instance. Similarly, an instance of the use of the term “or,” as used herein, does not necessarily preclude the interpretation that the phrase “and/or” was intended in that instance. Also, as used herein, the article “a” is intended to include one or more items, and may be used interchangeably with the phrase “one or more.” Where only one item is intended, the terms “one,” “single,” “only,” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.