Detection of mobile device states
A computing system uses machine-learned models to predict mobile device states by analyzing wireless connections and location criteria, enhancing accuracy and reducing unnecessary notifications, thus improving device security and resource efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2024-12-12
- Publication Date
- 2026-06-18
AI Technical Summary
Existing mobile device state detection methods often result in inaccurate notifications, leading to false positives and negatives, excessive power usage, and user disregard due to incessant notifications, which can lead to missed alerts when the device is actually lost or stolen.
A computing system determines the state of wireless connections between mobile devices, checks time and location criteria, and generates notifications based on machine-learned models trained on previous device states to predict whether a device is lost, missing, or stolen, using machine-learned models to improve accuracy and reduce unnecessary notifications.
The system provides more accurate device state detection, reducing false alerts and power consumption by selectively generating notifications based on learned secure and insecure locations, improving device security and resource efficiency.
Smart Images

Figure US2024059853_18062026_PF_FP_ABST
Abstract
Description
DETECTION OF MOBILE DEVICE STATESFIELD
[0001] The present disclosure relates generally to detecting states of mobile devices. More particularly, the present disclosure relates to determining predicted states of mobile devices based on the states of wireless connections and the locations of the mobile devices.BACKGROUND
[0002] Notifications about the status of a mobile device may be generated based on a variety of factors. However, the accuracy of such notifications (e.g., whether the notification indicates the actual state of the mobile device) may be low and result in false positives (e.g., generating a notification that a mobile device is lost when the mobile device is not lost) and / or false negatives (e.g., not generating a notification that a mobile device is lost when the mobile device is lost). The generation of inaccurate notifications can cause a variety of detrimental results including excessive power usage and battery drain from inefficient monitoring of mobile devices and excessive generation of notifications. Additionally, when notifications become incessant, a user may be more likely to ignore or turn off the notifications, which can lead to the user not being notified when a mobile device is actually lost. Accordingly, there may be different approaches to determining the status of a mobile device.SUMMARY
[0003] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the following description, or can be learned from the description, or can be learned through practice of the embodiments.
[0004] One example aspect of the present disclosure is directed to a computer-implemented method of detecting device states. The computer-implemented method can comprise determining, by a computing system comprising one or more processors, a state of one or more wireless connections between a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices. The computer-implemented method can comprise determining, by the computing system, whether the primary mobile device satisfies one or more time criteria associated with the state of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices. The computer-implemented method can comprise determining, by the computingsystem, based on performance of one or more location tracking operations, whether the primary’ mobile device satisfies one or more location criteria associated with a location of the primary mobile device. The computer-implemented method can comprise generating, by the computing system, based on the primary’ mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary’ mobile device. Furthermore, the computer-implemented method can comprise sending, by the computing system, the notification data comprising the one or more notifications to the plurality of mobile devices.
[0005] Another example aspect of the present disclosure is directed to one or more tangible non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform operations. The operations can comprise determining a state of one or more wireless connections between a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices. The operations can comprise determining whether the primary mobile device satisfies one or more time criteria associated with the state of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices. The operations can comprise determining, based on performance of one or more location tracking operations, whether the primary’ mobile device satisfies one or more location criteria associated with a location of the primary mobile device. The operations can comprise generating, based on the primary mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary’ mobile device. Furthermore, the operations can comprise sending the notification data comprising the one or more notifications to the plurality of mobile devices.
[0006] Another example aspect of the present disclosure is directed to a computing system comprising: one or more processors; one or more non-transitory’ computer-readable media storing instructions that when executed by the one or more processors cause the one or more processors to perform operations. The operations can comprise determining a state of one or more wireless connections between a plurality of mobile devices comprising a primary mobile device and one or more non-primary’ mobile devices. The operations can comprise determining whether the primary' mobile device satisfies one or more time criteria associated with the state of the one or more w ireless connections between the primary mobile device and the one or more non-primary mobile devices. The operations can comprise determining, based on performance of one or more location tracking operations, whether the primarymobile device satisfies one or more location criteria associated with a location of the primary mobile device. The operations can comprise generating, based on the primary mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary mobile device. Furthermore, the operations can comprise sending the notification data comprising the one or more notifications to the plurality of mobile devices.
[0007] Other aspects of the present disclosure are directed to various systems, apparatuses, non-transitory computer-readable media, user interfaces, and electronic devices.
[0008] These and other features, aspects, and advantages of various embodiments of the present disclosure will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the related principles.BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Detailed discussion of embodiments directed to one of ordinary skill in the art is set forth in the specification, which makes reference to the appended figures, in which:
[0010] FIG. 1A depicts a block diagram of an example computing system that can detect mobile device states according to example embodiments of the present disclosure;
[0011] FIG. IB depicts a block diagram of an example computing device that can detect mobile device states according to example embodiments of the present disclosure;
[0012] FIG. 1C depicts a block diagram of an example computing device that can detect mobile device states according to example embodiments of the present disclosure;
[0013] FIG. 2 depicts a block diagram of examples of machine-learned models according to example embodiments of the present disclosure;
[0014] FIG. 3 depicts an example of a computing device according to example embodiments of the present disclosure;
[0015] FIG. 4 depicts an example of an event sequence associated with distance-based detection of mobile device states according to example embodiments of the present disclosure;
[0016] FIG. 5 depicts an example of an event sequence associated with location-based detection of mobile device states according to example embodiments of the present disclosure;
[0017] FIG. 6 depicts an example of an event sequence associated with the detection of mobile device states according to example embodiments of the present disclosure;
[0018] FIG. 7 depicts an example interface associated with the detection of mobile device states according to example embodiments of the present disclosure;
[0019] FIG. 8 depicts an example interface associated with the detection of mobile device states according to example embodiments of the present disclosure;
[0020] FIG. 9 depicts an example interface associated with the detection of mobile device states according to example embodiments of the present disclosure;
[0021] FIG. 10 depicts a flow chart diagram of an example method of detecting mobile device states according to example embodiments of the present disclosure;
[0022] FIG. 11 depicts a flow chart diagram of an example method of modifying criteria for detecting mobile device states according to example embodiments of the present disclosure;
[0023] FIG. 12 depicts a flow chart diagram of an example method of modifying criteria for detecting mobile device states according to example embodiments of the present disclosure; and
[0024] FIG. 13 depicts a flow chart diagram of an example method of training machine-learned models to detect mobile device states according to example embodiments of the present disclosure.
[0025] Reference numerals that are repeated across plural figures are intended to identify the same features in various implementations.DETAILED DESCRIPTION
[0026] In general, the present disclosure is directed to determining predicted states of mobile devices based in part on the state of wireless connections between the mobile devices. In particular, the disclosed technology can determine predicted states of mobile devices and generate notifications that indicate the predicted states. For example, based on a mobile device's predicted state meeting certain criteria, the disclosed technology can generate notifications indicating that a mobile device may be lost, missing, or stolen. Further, the states of the mobile devices can be determined based on factors including the locations and / or connection times associated with the mobile devices. Additionally, the disclosed technology can implement machine-learned models (e.g., deep learning machine-learned models) that can be configured and / or trained to determine predicted states of mobile devices based oninput associated with the states of the mobile devices including locations and / or connection times associated with the mobile devices.
[0027] The disclosed technology can include a computing system that can determine states of one or more wireless connections between a plurality of mobile devices that comprise a primary' mobile device and one or more non-primary mobile devices. For example, the computing system can detect the one or more wireless signals between a primary mobile device (e.g.. a smartphone) and another mobile device (e.g., a smartwatch that is paired to the smartphone). Further, the computing system can distinguish between the one or more wireless signals of the plurality of mobile devices that are associated with a user and the one or more wireless signals that are from mobile devices that are not associated with a user.
[0028] The computing system can then determine whether the primary7mobile device satisfies one or more time criteria associated with the state of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices. For example, the computing system can periodically check the state of one or more wireless connections. If the one or more wireless connections between a primary mobile device and another mobile device are not detected for a threshold amount of time (e g., 30 seconds), the computing system can determine that the one or more time criteria have been satisfied. The computing system can then determine, based on performance of one or more location tracking operations, whether the primary mobile device satisfies one or more location criteria associated with the location of the primary mobile device. For example, the computing system can perform location tracking operations to connect to cell phone towers and / or global positioning satellites that can be used to determine the location of the primary mobile device. If the location of the primary mobile device is not determined, the one or more location criteria can be determined to be satisfied.
[0029] If both the one or more time criteria and the one or more location criteria are satisfied, the computing system can generate notification data. The notification data can comprise one or more notifications associated with a predicted state of the primary mobile device. For example, if the location of the primary mobile device is not determined, the computing system can generate notification data comprising indications that the primary mobile device may be lost, missing, or stolen. Further, the computing system can send the notification data comprising the one or more notifications to the plurality of mobile devices. For example, if the primary mobile device is a user’s personal smartphone and the one or more non-primary mobile devices comprise a smartwatch worn by a user and an employerowned smartphone provided to the user by the user's employer, the computing system can send notifications indicating that the primary mobile device may be lost, missing, or stolen to the smartwatch and the employer owned smartphone.
[0030] Accordingly, the disclosed technology can automatically detect the states of mobile devices more effectively. In particular, the disclosed technology can be used to determine specific states of a mobile device including whether a device is lost, missing, or stolen. Further, the disclosed technology can assist a user in more effectively and / or safely performing the technical task of device state detection by means of a continued and / or guided human-machine interaction process in which wireless connection states of mobile devices are received and the disclosed technology generates predicted mobile device states and notifications based on continuously monitored device states. For example, wireless connection states of mobile devices can be processed on a continuous basis, thereby allowing the generation of notifications associated with the mobile device states to be determined and / or updated more effectively.
[0031] The disclosed technology can be implemented in a computing system (e.g., a mobile device detection computing system) that is configured to access data and / or perform operations on the data. For example, the operations performed by the computing system can comprise determining states of wireless connections between mobile devices, determining whether a primary mobile device satisfies time criteria, determining whether the primary mobile device satisfies location criteria, generating, based on the primary mobile device satisfying the time criteria and the location criteria, notification data comprising notifications associated with a predicted state of the primary mobile device, and / or sending the notification data to the mobile devices. Further, the computing system can leverage one or more machine-learned models that have been configured and / or trained to process input comprising mobile device states and generate output comprising predicted mobile device states based on processing the input.
[0032] The computing system can be included as part of a system that includes a server computing device that receives data (e.g., connection data) from a user's client computing device, performs operations based on the data and sends output comprising notification data back to the client computing device. In some embodiments, the computing system can include specialized hardware and / or software that enables the performance of operations specific to the disclosed technology. For example, the computing system can include one or more application specific integrated circuits and / or neural processing units that are configured to perform operations associated with determining states of wireless connectionsbetween mobile devices, determining whether a primary mobile device satisfies time criteria, determining whether the primary’ mobile device satisfies location criteria, generating, based on the primary mobile device satisfying the time criteria and the location criteria, notification data comprising notifications associated with a predicted state of the primary’ mobile device, and / or sending the notification data to the mobile devices.
[0033] The computing system can determine one or more states of one or more wireless connections. For example, the computing system can perform one or more operations to detect the one or more wireless connections. The one or more operations to detect the one or more wireless connections can comprise detecting a signal strength of the one or more wireless connections, determining a modulation type of the one or more wireless connections, and / or determining one or more wireless frequencies (e.g., wireless frequency bands) of the one or more wireless connections. The wireless connections can comprise one or more wireless connections between a plurality’ of mobile devices. The plurality of mobile devices can comprise one or more smartphones, one or more smartwatches, one or more laptop computing devices, and / or one or more tablet computing devices. For example, the one or more wireless connections can comprise wireless connections between a plurality of mobile devices comprising one or more smartphones, one or more smartwatches, one or more laptop computing devices, one or more tablet computing devices, and / or one or more smart rings. The plurality of mobile devices can comprise a primary mobile device and / or one or more non-primary mobile devices. For example, the one or more wireless connections can comprise wireless connections between a plurality of mobile devices comprising one or more smartphones, one or more smartwatches, one or more laptop computing devices, one or more tablet computing devices, and / or one or more smart rings.
[0034] The computing system can determine whether the primary mobile device satisfies one or more time criteria. The one or more time criteria can be associated with the one or more states of the one or more wireless connections between the primary’ mobile device and the one or more non-primary mobile devices. For example, the computing system can determine a number of times that the primary mobile device has lost connection with the one or more non-primary mobile devices and / or an amount of time that the primary mobile device has not been connected to the one or more non-primary mobile devices.
[0035] The one or more time criteria can comprise a time threshold associated with an amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected. For example, the one or more time criteria can comprise a thirty second time threshold or a one minute time threshold.Satisfying the one or more time criteria can comprise the amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected exceeding the time threshold. For example, the one or more time criteria can be satisfied if one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices are not detected for more than a time threshold of thirty seconds.
[0036] The computing system can determine whether the primary mobile device satisfies one or more location criteria. The one or more location criteria can be associated with the location of the primary mobile device. Determining whether the one or more location criteria are satisfied can be based on performing one or more location tracking operations. The one or more location tracking operations can comprise determining whether the primary mobile device is detectable using short-range wireless detection capabilities (e.g., detection of the primary mobile device using the Bluetooth wireless protocol) of the one or more non-primary mobile devices.
[0037] The computing system can generate notification data. Generation of the notification data can be based on the primary mobile device satisfying the one or more time criteria and / or the one or more location criteria. The notification data can comprise one or more notifications associated with a predicted state of the primary mobile device. For example, the one or more notifications can comprise notifications that the primary mobile device is lost, missing, or stolen. Further, the one or more notifications can comprise an amount of time since the primary mobile device was last detected, and / or a location at which the primary mobile device was last detected.
[0038] The computing system can send the notification data to one or more mobile devices of the plurality of mobile devices. For example, the computing system can send the notification data to some of the plurality of mobile devices. The notification data can comprise one or more notifications. For example, the computing system can send notification data comprising one or more notifications that the primary' device may be lost, missing, or stolen to a plurality’ of mobile devices comprising a smartwatch and / or a laptop computing device associated with the primary mobile device.
[0039] The one or more location criteria can comprise a distance threshold associated with a distance between the primary mobile device and the one or more non-primary mobile devices. Further, the distance threshold can be associated with the detection range of a computing device that can comprise a mobile device of the plurality of mobile devices. For example, if a mobile device comprising a smartwatch can detect a wireless signal within tenmeters of the mobile device, then the distance threshold can be a ten meter radius around the mobile device. By way of further example, if a terrestrial location device comprising a cellular tower can detect a wireless signal within a range of three kilometers to thirty kilometers, then the distance threshold can be in the range of three kilometers to thirty kilometers. Satisfying the one or more location criteria can comprise the distance between the primary mobile device and the one or more non-primary mobile devices exceeding the distance threshold. For example, if the distance threshold is one kilometer, then the one or more location criteria can be satisfied if the distance between the primary mobile device and the one or more non-primary mobile devices exceeds one kilometer.
[0040] The location of the primary mobile device can be based on a network identifier associated with a wireless network. For example, a primary’ mobile device that is connected to a wireless network of a user’s home can be determined to be located in the user’s home. Further, a primary mobile device that is connected to a wireless network of a user’s workplace can be determined to be located in the user’s workplace. Satisfying the one or more location criteria can comprise the network identifier indicating that the primary mobile device is connected to a wireless network that is associated with a geographic location that is at least a threshold distance from the one or more non-primary mobile devices. For example, if the primary’ mobile device is connected to a wireless network that is associated with a hotel that is at least a threshold distance of five hundred kilometers away from the location of the owner of the primary mobile device’s smartwatch, the one or more location criteria can be determined to be satisfied. Further, one or more locations of the plurality of mobile devices, which can include the primary’ mobile device, can be based on location data associated with one or more wireless signals. The one or more wireless signals can comprise one or more short-range wireless signals, one or more ultra-wideband signals, one or more satellite signals, one or more cellular signals, and / or one or more local wireless network signals.
[0041] Determining whether the primary mobile device satisfies one or more time criteria (e.g., one or more time criteria associated with the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices) can be based on inputting the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices into one or more machine-learned models configured and / or trained to determine whether the plurality of mobile devices satisfies the one or more time criteria. For example, input data comprising the type of wireless connection (e.g., the wireless network frequency), the wireless signal strength, the locations of the plurality of mobile devices.and / or the configurations of the plurality of mobile devices can be inputted into the one or more machine-learned models. The one or more machine-learned models can process the input data and generate output comprising a determination of whether the plurality of mobile devices satisfy the one or more time criteria.
[0042] The one or more machine-learned models can be configured and / or trained based on training data that can comprise a plurality of previous states of the plurality of mobile devices. The plurality of previous states of the plurality of mobile devices can comprise one or more previous times at which the plurality of mobile devices were disconnected, one or more types of wireless connections, one or more wireless signal strengths, one or more previous locations of the plurality of mobile devices, and / or one or more configurations of the plurality of mobile devices. Further, the training data can comprise a corresponding plurality of ground-truth indications of whether the one or more time criteria were satisfied.
[0043] Determining whether the primary mobile device satisfies one or more location criteria can be based on inputting one or more states of the primary mobile device into one or more machine-learned models configured and / or trained to determine whether the primary mobile device satisfies the one or more location criteria. For example, input data comprising the type of wireless connection, the wireless signal strength, the location of the primary mobile device, and / or the configurations of the primary mobile device can be inputted into the one or more machine-learned models. The one or more machine-learned models can process the input data and generate output comprising a determination of whether the plurality of mobile devices satisfy the one or more location criteria.
[0044] The one or more machine-learned models can be configured and / or trained based on training data that can comprise a plurality' of previous states of the plurality of mobile devices. The plurality of previous states of the plurality of mobile devices can comprise one or more previous locations at which the plurality of mobile devices were disconnected, one or more types of wireless connections, one or more wireless signal strengths, one or more previous times at which the plurality of mobile device were disconnected, and / or one or more configurations of the plurality of mobile devices. The training data can comprise a corresponding plurality of ground-truth indications of whether the one or more location criteria were satisfied. Further, the one or more previous locations can be associated with one or more geographic locations and / or one or more vehicles.
[0045] The predicted state of the primary mobile device can be based on inputting the one or more states of the one or more wireless connections and / or one or more states of the primary mobile device comprising the location of the primary mobile device into one or moremachine-learned models that are configured and / or trained to determine the predicted state of the primary mobile device. The predicted state of the primary mobile device can comprise a probability or confidence value associated with the primary mobile device being in a secure location. For example, input data comprising the type of wireless connection, the wireless signal strength, the location of the primary mobile device, and / or the configurations of the primary mobile device can be inputted into the one or more machine-learned models. The one or more machine-learned models can process the input data and generate output comprising a probability and / or confidence value associated with the primary mobile device being in a secure location.
[0046] The one or more machine-learned models can be configured and / or trained based on training data that can comprise a plurality of previous states of the plurality of mobile devices. The plurality of previous states of the plurality of mobile devices can comprise one or more previous locations at which the plurality of mobile devices were disconnected, one or more types of wireless connections, one or more wireless signal strengths, one or more previous times at which the plurality of mobile device were disconnected, and / or one or more configurations of the plurality of mobile devices. The training data can comprise a corresponding plurality of ground-truth indications of whether a mobile device was in a secure location.
[0047] In some embodiments, a secure location can comprise a location that is possessed by and / or under the control of the user of the primary mobile device. For example, a secure location can comprise a user’s home, office, and / or vehicle (e.g., the user’s automobile). A mobile device for which the predicted state is determined to be lost, missing, or stolen can comprise a mobile device for which the location of a mobile device is not known. Further, a mobile device for which the predicted state is determined to be lost, missing, or stolen can comprise a mobile device from which wireless signals are not detected.
[0048] The computing system can determine an activity type associated with the primary mobile device. Determination of the activity- type associated with the primary- mobile device can be based on the detection of motions of the primary mobile device. For example, one or more accelerometers, one or more gyroscopes, one or more compasses, one or more global positioning satellite sensors, and / or one or more tilt sensors can be used to determine the motion (e.g., velocity and / or acceleration), position (e.g., orientation), and / or location of the primary- mobile device. Different types of motion can be associated w ith different types of activities. For example, the velocity of the primary mobile device can be used to determinewhether the primary mobile device is associated with vehicular travel. The activity type can comprise sitting, walking, running, cycling, and / or vehicular travel.
[0049] The computing system can modify the one or more time criteria based on the activity type associated with the primary mobile device. For example, if the activity type associated with the primary mobile device comprises vehicular travel in an airplane, the one or more time criteria can be modified to decrease the time threshold of the one or more time criteria. The time threshold can be decreased so that if a primary mobile device is left in the airplane, a notification can be generated before the owner of the primary mobile device leaves the airplane. The computing system can modify the one or more location criteria based on the activity type associated with the primary mobile device. For example, if the activity type associated with the primary mobile device comprises sitting in the home of the owner of the primary mobile device, the one or more location criteria can be modified by adding the home of the owner to the one or more secure locations that do not satisfy the one or more location criteria.
[0050] The computing system can determine one or more motion characteristics and / or one or more position characteristics of the primary mobile device. Determination of the one or more motion characteristics can be based on sensor data associated with the primary mobile device. For example, the primary mobile device can comprise one or more sensors (e.g., one or more motion sensors) that can be used to determine one or more motion characteristics of the primary mobile device comprising the velocity, acceleration, tilt, yaw, pitch, and / or orientation of the primary mobile device. The one or more motion characteristics can be used to determine a type of movement (e.g., personal automobile travel, public transportation, cycling, or walking) associated with the primary mobile device.
[0051] The computing system can modify’ the one or more time criteria based on the one or more motion characteristics associated with the primary mobile device. For example, if the one or more motion characteristics of the primary mobile device are associated with travel in a vehicle not owned by the owner of the primary mobile device (e.g., a car not owned by the owner of the primary mobile device) the one or more time criteria can be modified to decrease the time threshold of the one or more time criteria. The time threshold can be decreased so that the primary mobile device is not left in a vehicle not possessed by or under the control of the owner of the primary mobile device.
[0052] The computing system can modify the one or more location criteria based on the one or more motion characteristics associated with the primary mobile device. For example, if the activity type associated with the primary mobile device comprises sitting in a livingroom of family member of the owner of the primary mobile device, the one or more location criteria can be modified by adding the living room of the family member to the one or more secure locations that do not satisfy the one or more location criteria.
[0053] Satisfying the one or more location criteria can comprise the location of the primary mobile device not being associated with one or more secure locations. The one or more secure locations can comprise a home associated with the primary mobile device, a workplace (e.g., an office space) associated with the primary mobile device, and / or a vehicle associated with the primary mobile device.
[0054] The computing system can receive response data. The response data can comprise a response to the one or more notifications. Further, the response can comprise an indication of whether the predicted state of the primary mobile device is accurate. For example, a colleague associated with the owner of the primary mobile device may have found the primary mobile device after the owner misplaced the primary mobile device and not yet had an opportunity to inform the owner of the primary mobile device that the primary mobile device had been found. In response to receiving the notification that the primary mobile device may be lost, missing, or stolen, the colleague can send a response to the one or more non-primary mobile devices. The response can indicate that the primary mobile device is in the possession of the colleague and is not lost, missing, or stolen.
[0055] The computing system can determine one or more modifications of the one or more secure locations. Determination of the one or more modifications of the one or more secure locations can be based on the response data. For example, based on one or more nonprimary mobile devices receiving a response indicating that the primary mobile device is in the lost and found section of a library that was recently visited by the owner of the primary mobile device, the lost and found location can be added as a secure location of the one or more secure locations.
[0056] The one or more notifications can comprise a notification associated with the probability and / or confidence value associated with the primary mobile device being in a secure location. For example, the notification can comprise a numerical value (e.g., 90% probability that the primary mobile device is in a secure location) associated with the probability and / or confidence value associated with the primary mobile device being in a secure location. By way of further example, the one or more notifications can comprise a notification that there is a high probability that the primary mobile device is lost, a notification that there is a high probability that the primary mobile device is stolen, or a notification that there is a high probability that the primary mobile device is missing.
[0057] The one or more notifications can be indicated (e.g., displayed and / or announced) via one or more applications implemented on the one or more non-primary mobile devices. For example, the one or more notifications can be indicated via a user interface that is implemented on a mobile device and displayed on a display component of the mobile device. The one or more applications can comprise a web browser application, map application, a text messaging application, a calendar application, and / or an email application.
[0058] In some embodiments, determining the one or more predicted states of mobile devices can be performed by one or more machine-learned models. The one or more machine-learned models can comprise one or more convolutional neural networks. Further, the one or more machine-learned models can be configured and / or trained to determine predicted states of mobile devices. The computing system can receive training data. The training data can comprise a plurality of training states of a plurality of mobile devices. The plurality of training states can comprise a plurality of training times at which a plurality of mobile devices were disconnected and / or a plurality of training locations of the plurality of mobile devices. Further, the training data can comprise a plurality of ground-truth mobile device states that correspond to the plurality of training states. Further, the plurality of ground-truth mobile device states can comprise a secure state, a lost state, a missing state, and / or a stolen state.
[0059] In some embodiments, the training data can comprise a plurality of embeddings. The plurality of embeddings can comprise a lower-dimensionality vector space representation of the training data. For example, the plurality of training times and training locations of the training data can be represented in a lower-dimensional vector space that can preserve information about the training times and / or training locations in a smaller dimensional vector space than the higher-dimensional vector space of the original training times, training mobile devices, and / or original training locations on which the training data is based (e.g., training locations that include a subset of the location metadata and / or simplified location metadata). The plurality of embeddings can be arranged such that semantically similar training locations (e.g., office locations, home locations, and / or public locations) and / or device types (e.g., laptops, smartphones, and / or smart watches) are closer together in the vector space.
[0060] Further, training the one or more machine-learned models can comprise generating and / or determining, based on inputting the training data into the one or more machine-learned models, a plurality of predicted mobile device states. Based on the received input, the one or more machine-learned models can perform one or more operations and generate an output comprising a plurality of predicted mobile device states. The output of theone or more machine-learned models can then be evaluated based on one or more comparisons of the plurality of predicted mobile device states to a corresponding plurality of ground-truth mobile device states associated with the training data (e.g., ground-truth mobile device states of the mobile devices corresponding to the plurality of predicted mobile device states).
[0061] Training the one or more machine-learned models can comprise determining a loss based on one or more differences between the plurality of predicted mobile device states and the plurality of ground-truth mobile device states. A loss function can be used to determine the loss. Further, the loss function can be used to evaluate one or more differences between the plurality of predicted mobile device states and the plurality of ground-truth mobile device states. The loss can increase in proportion to the number of the one or more differences between the plurality of predicted mobile device states and the plurality of ground-truth mobile device states. Further, the loss can increase in proportion to the magnitude of differences between the plurality of predicted mobile device states and the plurality of ground-truth mobile device states. For example, if a predicted mobile device state of a mobile device is based on a predicted mobile device location that is five hundred meters away from the ground-truth location of the mobile device, the loss can be greater than if the predicted mobile device location was twenty meters away from the ground-truth location of the mobile device.
[0062] Training the one or more machine-learned models can comprise modifying a plurality of parameters of the one or more machine-learned models to minimize the loss. The plurality of parameters can be associated with detection, recognition, and / or classification of one or more features of the training data that can be used to determine the plurality of predicted mobile device states. Further, the plurality of parameters can be associated with a plurality of weights that can be associated with an extent to which the plurality of parameters contribute to determining the loss.
[0063] Training the one or more machine-learned models can be performed over a plurality of iterations. In each iteration of training, the weight of the plurality of parameters that contribute to increasing the loss can be reduced and / or the weight of the plurality of parameters that contribute to decreasing the loss can be increased. As a result, the plurality of weights of the plurality of parameters can be associated with the plurality of predicted mobile device states such that parameters that are more heavily weighted can contribute more to determining the predicted mobile device states than parameters that are less heavily weighted. Over the plurality of iterations, the weights of the plurality of parameters can be modified tominimize the loss until a threshold loss that corresponds to a high accuracy of the one or more machine-learned models determining the plurality of predicted mobile device states is achieved. For example, the loss can be minimized until a threshold loss associated with 99% accuracy is achieved by the one or more machine-learned models.
[0064] The systems, methods, devices, and / or computer-readable media (e.g., tangible non-transitory computer-readable media) in the disclosed technology can provide a variety of technical effects and benefits including an improvement in the effectiveness with which mobile device states are predicted. In particular, the disclosed technology can improve device security and reduce the excessive use of power that results from generating and / or sending unnecessary notifications. For example, by selectively generating notifications based on the states of mobile devices, the disclosed technology can more accurately determine when a notification should be generated and / or sent and thereby reduce the number of unnecessary notifications that are generated and / or sent.
[0065] Further, the disclosed technology can provide more accurate notifications by learning secure locations of mobile devices as well as locations that are less likely to be secure. For example, the disclosed technology can implement machine-learned models that are configured and / or trained to determine, based on previous mobile device usage patterns, whether a mobile device is more likely to be in a secure location (e.g., a user’s home or office) or an insecure location (e.g., a park or heavily trafficked public area). The more accurate determination of mobile device states can result in a reduction in the frequency of monitoring and / or detecting the states of mobile devices thereby resulting in an improvement in the use of computing resources such as processing resources, storage resources, and / or memory resources.
[0066] Additionally, the disclosed technology can use machine-learning to improve the accuracy of notifications over time by using previous device disconnections and previous locations of the mobile devices to determine the current states of the mobile devices. In this way, the computing system can more accurately determine the states of mobile devices and automatically generate and send notifications of the predicted states of mobile devices.
[0067] As such, the disclosed technology can allow the user of a computing system to perform the technical task of detecting the state of mobile devices. As a result, users can be provided with the specific benefits of improved performance (device state detection performance), a reduction in false-positive notifications and / or false-negative mobile device state determinations, and more efficient use of system resources. Further, any of the specific benefits provided to users can be used to improve the effectiveness of a wide variety ofdevices and services including services associated with detecting the state of mobile devices. Accordingly, the improvements offered by the disclosed technology can result in tangible benefits to a variety of devices and / or systems including mechanical, electronic, and computing systems associated with generating predicted mobile device states and / or sending device state notifications.
[0068] With reference now to the figures, example embodiments of the present disclosure will be discussed in further detail. FIG. 1A depicts a block diagram of an example computing system that can detect mobile device states according to example embodiments of the present disclosure. System 100 includes a computing device 102, a server computing system 130, and a training computing system 150 that are communicatively coupled over a network 180.
[0069] The computing device 102 can comprise any type of computing device, including, for example, a personal computing device (e.g., laptop computing device or desktop computing device), a mobile computing device (e.g., smartphone or tablet), a gaming console or controller, an embedded computing device, a wearable computing device (e.g., a smartwatch), or any other type of computing device.
[0070] The computing device 102 includes one or more processors 112 and a memory 114. The one or more processors 112 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, and / or a microcontroller) and can be one processor or a plurality of processors that are operatively connected. The memory 114 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, and / or combinations thereof. The memory 114 can store data 116 and instructions 118 which are executed by the processor 112 to cause the computing device 102 to perform operations.
[0071] In some implementations, the computing device 102 can store or include one or more machine-learned models 120. For example, the one or more machine-learned models 120 can be or can otherwise include various machine-learned models such as neural networks (e.g., deep neural networks) or other types of machine-learned models, comprising non-linear models and / or linear models. Neural networks can include feed-forward neural networks, recurrent neural networks (e.g., long short-term memory recurrent neural networks), convolutional neural networks or other forms of neural networks. Some example machine-learned models can leverage an attention mechanism such as self-attention. For example, some example machine-learned models can include multi-headed self-attention models (e.g., transformer models). Further, the one or more machine-learned models 120 can compriseone or more large language models (LLMs). one or more generative adversarial networks (GANs), one or more retrieval augmented generation models (RAGs), one or more encoders, one or more decoders, one or more auto-encoders, and / or one or more embedding models. Examples of one or more machine-learned models 120 are discussed with reference to FIGS.1-11.
[0072] In some implementations, the one or more machine-learned models 120 can be received from the server computing system 130 over network 180, stored in the memory 114, and then used or otherwise implemented by the one or more processors 112. In some implementations, the computing device 102 can implement multiple parallel instances of a single machine-learned model of the one or more machine-learned models 120 (e.g., to perform parallel mobile device detection and / or mobile device state prediction operations across multiple instances of the one or more machine-learned models 120).More particularly, the one or more machine-learned models 120 can comprise one or more machine-learned models (e.g., one or more auto-encoders) that are configured and / or trained to perform operations comprising determining states of wireless connections between mobile devices, determining whether a primary mobile device satisfies time criteria, determining whether the primary mobile device satisfies location criteria, generating, based on the primary mobile device satisfying the time criteria and the location criteria, notification data comprising notifications associated with a predicted state of the primary mobile device, and / or sending the notification data to the mobile devices.
[0073] Additionally or alternatively, one or more machine-learned models 140 can be included in or otherwise stored and implemented by the server computing system 130 that communicates with the computing device 102 according to a client-server relationship. For example, the one or more machine-learned models 140 can be implemented by the server computing system 130 as a portion of a web service (e.g., a mobile device state determination service). Thus, one or more machine-learned models 120 can be stored and implemented at the computing device 102 and / or one or more machine-learned models 140 can be stored and implemented at the server computing system 130.
[0074] The computing device 102 can also include one or more user input components 122 that receives user input. For example, the user input component 122 can be a touch-sensitive component (e.g., a touch-sensitive display screen or a touch pad) that is sensitive to the touch of a user input object (e.g., a finger and / or stylus). The touch-sensitive component can serve to implement a virtual keyboard. Other example user input components include a microphone, a traditional keyboard, or other means by which a user can provide user input.
[0075] The server computing system 130 includes one or more processors 132 and a memory 134. The one or more processors 132 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an NPU, an FPGA, a controller, and / or a microcontroller) and can be one processor or a plurality of processors that are operatively connected. The memory 134 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, and / or combinations thereof. The memory 134 can store data 136 and instructions 138 which are executed by the processor 132 to cause the server computing system 130 to perform operations.
[0076] In some implementations, the server computing system 130 includes or is otherwise implemented by one or more server computing devices. In instances in which the server computing system 130 includes plural server computing devices, such server computing devices can operate according to sequential computing architectures, parallel computing architectures, or some combination thereof.
[0077] As described above, the server computing system 130 can store or otherwise include one or more machine-learned models 140. For example, the one or more machine-learned models 140 can be or can otherwise include various machine-learned models.Example machine-learned models include auto-encoders, neural networks, and / or other multi-layer non-linear models. Example neural networks include feed forward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Some example machine-learned models can leverage an attention mechanism such as self-attention. For example, some example machine-learned models can include multiheaded self-attention models (e.g., transformer models). Examples of one or more machine-learned models 140 are discussed with reference to FIGS. 1-11.
[0078] The computing device 102 and / or the server computing system 130 can train the one or more machine-learned models 120 and / or the one or more machine-learned models 140 via interaction with the training computing system 150 that can be communicatively coupled over the network 180. The training computing system 150 can be separate from the server computing system 130 or can be a portion of the server computing system 130.
[0079] The training computing system 150 includes one or more processors 152 and a memory 154. The one or more processors 152 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, and / or a microcontroller) and can be one processor or a plurality of processors that are operatively connected. The memory 154 can include one or more non-transitory computer-readable storage media, suchas RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, and / or combinations thereof. The memory 154 can store data 156 and instructions 158 which are executed by the processor 152 to cause the training computing system 150 to perform operations. In some implementations, the training computing system 150 includes or is otherwise implemented by one or more server computing devices.
[0080] The training computing system 150 can include a model trainer 160 that trains the one or more machine-learned models 120 and / or the one or more machine-learned models 140 stored at the computing device 102 and / or the server computing system 130 using various training or learning techniques (e.g., machine-learning techniques), such as, for example, backwards propagation of errors. For example, a loss function can be backpropagated through the model(s) to update one or more parameters of the model(s) (e.g., based on a gradient of the loss function). Various loss functions can be used such as mean squared error, likelihood loss, cross entropy loss, hinge loss, and / or various other loss functions. Gradient descent techniques can be used to iteratively update the parameters over a plurality of training iterations.
[0081] In some implementations, performing backwards propagation of errors can include performing truncated backpropagation through time. The model trainer 160 can perform a number of generalization techniques (e.g., weight decays, dropouts, and / or other generalization techniques.) to improve the generalization capability of the models being trained.In particular, the model trainer 160 can train the one or more machine-learned models 120 and / or the one or more machine-learned models 140 based on a set of training data 162. The training data 162 can include various types of data. For example, the training data 162 can comprise training data comprising a plurality of training mobile device states, a plurality of training times, a plurality of training locations, and a corresponding plurality of ground-truth mobile device states. The model trainer 160 can train and / or retrain the one or more machine-learned models 120 and / or the one or more machine-learned models 140 based on additional data from the training data 162 which can comprise additional training data (e.g., updated training connection data and / or training location data), new types of training data (e.g., new types of training data based on new mobile devices and / or new configurations of mobile devices), and / or one or more modifications to existing training data.
[0082] In some implementations, if a user has provided consent (e.g., the user provides affirmative consent for another party to use the user's location data), the training examples can be provided by the computing device 102. Thus, in such implementations, the one ormore machine-learned models 120 provided to the computing device 102 can be trained by the training computing system 150 on user-specific data received from the computing device 102. In some instances, this process can be referred to as personalizing the model.
[0083] The model trainer 160 includes computer logic utilized to provide desired functionality. The model trainer 160 can be implemented in hardware, firmware, and / or software controlling a general-purpose processor. For example, in some implementations, the model trainer 160 includes program files stored on a storage device, loaded into a memory, and executed by one or more processors. In other implementations, the model trainer 160 includes one or more sets of computer-executable instructions that are stored in a tangible computer-readable storage medium such as RAM, hard disk, or optical or magnetic media.
[0084] The network 180 can be any type of communications network, such as a local area network (e.g., intranet), wide area network (e.g., Internet), or some combination thereof and can include any number of wired or wireless links. In general, communication over the network 180 can be carried via any type of wired and / or wireless connection, using a wide variety of communication protocols (e.g., TCP / IP, HTTP. SMTP. FTP), encodings or formats (e.g.. HTML, XML), and / or protection schemes (e.g.. VPN. secure HTTP, SSL).
[0085] The machine-learned models described in this specification can be used in a variety of tasks, applications, and / or use cases. In some implementations, the input to the machine-learned model(s) of the present disclosure can be text or natural language data. The machine-learned model(s) can process the text or natural language data to generate an output (e.g., based on inputting queries associated with a user requesting the state of a mobile device the machine-learned model(s) can process and generate an output comprising a predicted state of the mobile device). As an example, the machine-learned model(s) can process the natural language data to generate a language encoding output. As another example, the machine-learned model(s) can process the text or natural language data to generate a latent text embedding output. As another example, the machine-learned model(s) can process the text or natural language data to generate a translation output. As another example, the machine-learned model(s) can process the text or natural language data to generate a classification output. As another example, the machine-learned model(s) can process the text or natural language data to generate a textual segmentation output. As another example, the machine-learned model(s) can process the text or natural language data to generate a semantic intent output. As another example, the machine-learned model(s) can process the text or natural language data to generate an upscaled text or natural language output (e.g., text or natural language data that is higher quality than the input text or natural language). Asanother example, the machine-learned model(s) can process the text or natural language data to generate a prediction output.
[0086] In some implementations, the input to the machine-learned model(s) of the present disclosure can comprise speech data. The machine-learned model(s) can process the speech data to generate an output. As an example, the machine-learned model(s) can process the speech data to generate a speech recognition output. As another example, the machine-learned model(s) can process the speech data to generate a speech translation output. As another example, the machine-learned model(s) can process the speech data to generate a latent embedding output. As another example, the machine-learned model(s) can process the speech data to generate an encoded speech output (e.g., an encoded and / or compressed representation of the speech data). As another example, the machine-learned model(s) can process the speech data to generate an upscaled speech output (e.g., speech data that is higher quality than the input speech data). As another example, the machine-learned model(s) can process the speech data to generate a textual representation output (e.g., a textual representation of the input speech data). As another example, the machine-learned model(s) can process the speech data to generate a prediction output.
[0087] In some implementations, the input to the machine-learned model(s) of the present disclosure can comprise latent encoding data (e.g., a latent space representation of an input). The machine-learned model(s) can process the latent encoding data to generate an output. As an example, the machine-learned model(s) can process the latent encoding data to generate a recognition output. As another example, the machine-learned model(s) can process the latent encoding data to generate a reconstruction output. As another example, the machine-learned model(s) can process the latent encoding data to generate a search output. As another example, the machine-learned model(s) can process the latent encoding data to generate a reclustering output. As another example, the machine-learned model(s) can process the latent encoding data to generate a prediction output.
[0088] In some implementations, the input to the machine-learned model(s) of the present disclosure can comprise statistical data. Statistical data can be, represent, or otherwise include data computed and / or calculated from some other data sources. The machine-learned model(s) can process the statistical data to generate an output. As an example, the machine-learned model(s) can process the statistical data to generate a recognition output. As another example, the machine-learned model(s) can process the statistical data to generate a prediction output. As another example, the machine-learned model(s) can process the statistical data to generate a classification output. As anotherexample, the machine-learned model(s) can process the statistical data to generate a segmentation output. As another example, the machine-learned model(s) can process the statistical data to generate a visualization output. As another example, the machine-learned model(s) can process the statistical data to generate a diagnostic output.
[0089] In some implementations, the input to the machine-learned model(s) of the present disclosure can comprise sensor data. The machine-learned model(s) can process the sensor data to generate an output. As an example, the machine-learned model(s) can process the sensor data to generate a recognition output. As another example, the machine-learned model(s) can process the sensor data to generate a prediction output. As another example, the machine-learned model(s) can process the sensor data to generate a classification output. As another example, the machine-learned model(s) can process the sensor data to generate a segmentation output. As another example, the machine-learned model(s) can process the sensor data to generate a visualization output. As another example, the machine-learned model(s) can process the sensor data to generate a diagnostic output. As another example, the machine-learned model(s) can process the sensor data to generate a detection output.
[0090] In some cases, the machine-learned model(s) can be configured to perform a task that includes encoding input data for reliable and / or efficient transmission or storage (and / or corresponding decoding). For example, the task can be an audio compression task. The input can include audio data and the output can comprise compressed audio data. In another example, the input includes visual data (e.g., one or more images or videos), the output comprises compressed visual data, and the task is a visual data compression task. In another example, the task can comprise generating an embedding for input data (e.g., input audio data and / or visual data).
[0091] In some cases, the input includes audio data representing a spoken utterance and the task is a speech recognition task. The output can comprise a text output which is mapped to the spoken utterance. In some cases, the task comprises encrypting or decrypting input data. In some cases, the task comprises a microprocessor performance task, such as branch prediction or memory address translation.
[0092] FIG. 1A illustrates one example computing system that can be used to implement the present disclosure. Other computing systems can be used as well. For example, in some implementations, the computing device 102 can include the model trainer 160 and the training data 162. In such implementations, the one or more machine-learned models 120 can be both trained and used locally at the computing device 102. In some of suchimplementations, the computing device 102 can implement the model trainer 160 to personalize the one or more machine-learned models 120 based on user-specific data.
[0093] FIG. 1B depicts a block diagram of an example computing device that can determine mobile device states according to example embodiments of the present disclosure. A computing device 10 can be a user computing device or a server computing device.
[0094] The computing device 10 can include a number of applications (e.g., applications 1 through N). Each application contains its own machine-learned library and machine-learned model(s). For example, each application can include a machine-learned model. Example applications include mobile device state processing application, a mobile device state notification application, a social media application, a text messaging application, an email application, a dictation application, a virtual keyboard application, and / or a browser application.
[0095] As illustrated in FIG. 1B, each application can communicate with a number of other components of the computing device, such as, for example, one or more sensors, a context manager, a device state component, and / or additional components. In some implementations, each application can communicate with each device component using an API (e.g., a public API). In some implementations, the API used by each application is specific to that application.
[0096] FIG. 1C depicts a block diagram of an example computing device that can determine mobile device states according to example embodiments of the present disclosure. A computing device 50 can be a user computing device or a server computing device.
[0097] The computing device 50 includes a number of applications (e.g., applications 1 through N). Each application is in communication with a central intelligence layer. Example applications include a mobile device state processing application (e.g., an application that is used to receive and / or process data associated with the state of mobile devices including location data and / or connection data), a mobile device state notification application (e.g., an application that is used to generate notifications associated with the state of mobile devices), a text messaging application, an email application, a dictation application, a virtual keyboard application, and / or a browser application. In some implementations, each application can communicate with the central intelligence layer (and model(s) stored therein) using an API (e.g., a common API across all applications).
[0098] The central intelligence layer includes a number of machine-learned models. For example, as illustrated in FIG. 1C. a respective machine-learned model can be provided for each application and managed by the central intelligence layer. In other implementations,two or more applications can share a single machine-learned model. For example, in some implementations, the central intelligence layer can provide a single model for the applications. In some implementations, the central intelligence layer is included within or otherwise implemented by an operating system of the computing device 50.
[0099] The central intelligence layer can communicate with a central device data layer. The central device data layer can be a centralized repository’ of data for the computing device 50. As illustrated in FIG. 1C, the central device data layer can communicate with a number of other components of the computing device, such as, for example, one or more sensors, a context manager, a device state component, and / or additional components. In some implementations, the central device data layer can communicate with each device component using an API (e.g., a private API).
[0100] FIG. 2 depicts a block diagram of examples of machine-learned models according to example embodiments of the present disclosure. In some implementations, the one or more machine-learned models 200 can be trained to receive input data 202 (e.g., training data) that can comprise connection data (e.g., data associated with the state of wireless connections of mobile devices) and / or location data (e.g., data associated with the locations of mobile devices). As a result of receipt of the input data 202 the one or more machine-learned models 200 can generate output data 214 that can comprise predicted states of mobile devices that can comprise a primary mobile device and / or notification data that can comprise notifications associated with the predicted states of the mobile devices.
[0101] In some implementations, the one or more machine-learned models 200 can include a mobile device state determination model 204 that is operable to determine mobile device states based on the input data 202 (e.g., input data comprising connection data and / or location data).
[0102] FIG. 3 depicts an example of a computing device according to example embodiments of the present disclosure. A computing device 300 can include one or more features and / or capabilities of the computing device 102, the server computing system 130, and / or the training computing system 150. Furthermore, the computing device 300 can perform one or more actions and / or operations performed by the computing device 102, the server computing system 130, and / or the training computing system 150, which are described with respect to FIG. 1 A.
[0103] As shown in FIG. 3, the computing device 300 can include one or more memory devices 302, connection data 303, location data 304, notification data 305, one or more machine-learned models 306, one or more interconnects 308, one or more processors 320, anetwork interface 322, one or more mass storage devices 324, one or more output devices 326, one or more sensors 328, one or more input devices 330. and / or the location device 332. The computing device 300 can be configured as a desktop computing device and / or a mobile computing device (e.g., a smartphone, tablet computing device, and / or laptop computing device). Further, the computing device 300 can process and / or generate data (e.g., notification data) based on data (e.g., connection data 303, location data 304, and / or notification data 305) of the computing device 300 and / or data that is received from another computing device (e.g., connection data that is generated by a remote computing device).
[0104] The one or more memory devices 302 can store information and / or data (e.g., the connection data 303, the location data 304, the notification data 305, and / or the one or more machine-learned models 306). Further, the one or more memory devices 302 can include one or more computer-readable mediums (e.g., tangible non-transitory computer-readable media), including RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, and combinations thereof. The information and / or data stored by the one or more memory devices 302 can be executed by the one or more processors 320 to cause the computing device 300 to perform operations including determining states of wireless connections between mobile devices, determining whether a primary mobile device satisfies time criteria, determining whether the primary' mobile device satisfies location criteria, generating, based on the primary mobile device satisfying the time criteria and the location criteria, notification data comprising notifications associated with a predicted state of the primary mobile device, and / or sending the notification data to the mobile devices.
[0105] The connection data 303 can include one or more portions of data (e.g., the data 116, the data 136, and / or the data 156, which are depicted in FIG. 1A) and / or instructions (e.g., the instructions 118, the instructions 138, and / or the instructions 158 which are depicted in FIG. 1 A) that are stored in the memory 114, the memory 134, and / or the memory 154, respectively. The connection data 303 can comprise information associated with one or more connections (e.g., wireless connections) between mobile devices. For example, the connection data 303 can comprise indications of the state of a connection (e.g., whether a wireless connection is active and / or the signal strength associated with a wireless connection). In some embodiments, the connection data 303 can be received from one or more computing systems (e.g., the server computing system 130 that is depicted in FIG. 1A) which can include one or more computing systems that are remote from the computing device 300.
[0106] The location data 304 can include one or more portions of data (e.g., the data 116, the data 136, and / or the data 156, which are depicted in FIG. 1A) and / or instructions (e.g., the instructions 118, the instructions 138, and / or the instructions 158 which are depicted in FIG.1 A) that are stored in the memory 114, the memory 134, and / or the memory 154, respectively. In some embodiments, the location data 304 can be received from one or more computing systems (e.g.. the server computing system 130 that is depicted in FIG. 1A) which can include one or more computing systems that are remote from the computing device 300. The location data 304 can comprise information associated with the location of one or more mobile devices. For example, the location data 304 can comprise information associated with the latitude, longitude, and / or altitude of one or more mobile devices. Further, the location data 304 can comprise information associated with a distance of a mobile device from one or more non-primary mobile devices (e.g., a distance in meters that can be based on the strength of wireless signals detected by one or more mobile devices). In some embodiments, the location data 304 can comprise information associated with an address (e.g., a street address) of a mobile device.
[0107] The notification data 305 can include one or more portions of data (e.g., the data 116, the data 136, and / or the data 156, which are depicted in FIG. 1 A) and / or instructions (e.g., the instructions 118, the instructions 138, and / or the instructions 158 which are depicted in FIG. 1 A) that are stored in the memory 114, the memory 134, and / or the memory 154, respectively. Furthermore, the notification data 305 can include information associated with one or more states of mobile devices. The states of mobile devices that are indicated in the notification data 305 can include an indication of whether a mobile device is secure, lost, missing, or stolen. In some embodiments, the notification data 305 can include indications associated with a location of a mobile device. In some embodiments, the notification data 305 can be received from one or more computing systems (e.g., the server computing system 130 that is depicted in FIG. 1A) which can include one or more computing systems that are remote from the computing device 300.
[0108] The one or more machine-learned models 306 (e.g., the one or more machine-learned models 120, the one or more machine-learned models 140, and / or the machine-learned models 200) can include one or more portions of the data 116, the data 136, and / or the data 156 which are depicted in FIG. 1A and / or instructions (e.g., the instructions 118, the instructions 138, and / or the instructions 158 which are depicted in FIG. 1A) that are stored in the memory 114. the memory 134, and / or the memory 154, respectively. Furthermore, the one or more machine-learned models 306 can be configured and / or trained to performoperations comprising determining states of wireless connections between mobile devices, determining whether a primary’ mobile device satisfies time criteria, determining whether the primary mobile device satisfies location criteria, generating, based on the primary mobile device satisfying the time criteria and the location criteria, notification data comprising notifications associated with a predicted state of the primary' mobile device, and / or sending the notification data to the mobile devices. In some embodiments, the one or more machine-learned models 306 can be received from one or more computing systems (e.g., the server computing system 130 that is depicted in FIG. 1 A) which can include one or more computing systems that are remote from the computing device 300.
[0109] The one or more interconnects 308 can include one or more interconnects or buses that can be used to send and / or receive one or more signals (e.g., electronic signals) and / or data (e.g., the connection data 303, the location data 304, the notification data 305, and / or the one or more machine-learned models 306) between devices of the computing device 300, including the one or more memory devices 302, the one or more processors 320, the network interface 322, the one or more mass storage devices 324, the one or more output devices 326, the one or more sensors 328. and / or the one or more input devices 330. The one or more interconnects 308 can be arranged or configured in different ways, including as parallel or serial connections. Further the one or more interconnects 308 can include one or more internal buses to connect the internal components of the computing device 300; and one or more external buses used to connect the internal components of the computing device 300 to one or more external devices. By way of example, the one or more interconnects 308 can include different interfaces including Industry’ Standard Architecture (ISA), Extended ISA, Peripheral Components Interconnect (PCI), PCI Express, Serial AT Attachment (SATA), HyperTransport (HT), USB (Universal Serial Bus), Thunderbolt, IEEE 1394 interface (FireWire), and / or other interfaces that can be used to connect components.
[0110] The one or more processors 320 can include one or more computer processors that are configured to execute the one or more instructions stored in the one or more memory devices 302. For example, the one or more processors 320 can. for example, include one or more general purpose central processing units (CPUs), application specific integrated circuits (ASICs), neural processing units (NPUs), and / or one or more graphics processing units (GPUs). Further, the one or more processors 320 can perform one or more actions and / or operations including one or more actions and / or operations associated with the connection data 303. the location data 304, the notification data 305, and / or the one or more machine-learned models 306. The one or more processors 320 can include single or multiple core devices including a microprocessor, microcontroller, integrated circuit, and / or a logic device.
[0111] The network interface 322 can support network communications. For example, the network interface 322 can support communication via networks including a local area network and / or a wide area network (e.g., the Internet). Further, the network interface 322 can be used to receive data (e.g.. connection data) from other computing devices. The one or more mass storage devices 324 (e.g., a hard disk drive and / or a solid-state drive) can be used to store data including the connection data 303, location data 304, notification data 305, and / or the one or more machine-learned models 306.
[0112] The one or more output devices 326 can include one or more display devices (e.g., LCD display, OLED display, Mini-LED display, microLED display, plasma display, and / or CRT display), one or more light sources (e.g., LEDs), one or more audio output devices (e.g., one or more loudspeakers), and / or one or more haptic output devices (e.g., one or more devices that are configured to generate vibratory output). For example, the one or more output devices 326 can comprise a touch sensitive display that is used to output an interface (e.g.. a user interface) that can be configured to display indications based on the connection data 303, the location data 304, and / or the notification data 305.
[0113] The one or more sensors 328 can comprise one or more LiDAR devices, one or more sonar devices, one or more radar devices, one or more accelerometers, one or more gyroscopes, one or more altimeters, and / or one or more temperature sensors (e.g., one or more thermometers). The one or more input devices 330 can include one or more keyboards, one or more touch sensitive devices (e.g., a touch screen display), one or more buttons (e.g., a power button and / or volume buttons), one or more microphones, and / or one or more imaging devices (e.g.. one or more cameras).
[0114] The one or more memory devices 302 and the one or more mass storage devices 324 are illustrated separately, however, the one or more memory devices 302 and the one or more mass storage devices 324 can be regions within the same memory module. The computing device 300 can include one or more additional processors, memory devices, network interfaces, which can be provided separately or on the same chip or board. The one or more memory devices 302 and the one or more mass storage devices 324 can include one or more computer-readable media, including, but not limited to, non-transitory computer-readable media, RAM, ROM, hard drives, flash drives, and / or other memory devices.
[0115] The one or more memory devices 302 can store sets of instructions for applications including an operating system that can be associated with various softwareapplications or data. For example, the one or more memory devices 302 can store sets of instructions for applications that can generate output including the notification data 305. The one or more memory devices 302 can be used to operate various applications including a mobile operating system developed specifically for mobile devices. As such, the one or more memory devices 302 can store instructions that allow the software applications to access data including data associated with the determination of mobile device states and / or generation of notifications associated with the states of mobile devices. In other embodiments, the one or more memory devices 302 can be used to operate or execute a general-purpose operating system that operates on both mobile and stationary devices, including for example, smartphones, laptop computing devices, tablet computing devices, and / or desktop computers.
[0116] The software applications that can be operated or executed by the computing device 300 can include applications associated with the system 100 shown in FIG. 1 A.Further, the software applications that can be operated and / or executed by the computing device 300 can include native applications and / or web-based applications.
[0117] The location device 332 can include one or more devices or circuitry for determining the position of the computing device 300. For example, the location device 332 can determine an actual and / or relative position of the computing device 300 by using a satellite navigation positioning system (e.g., a GPS system, a Galileo positioning system, the GLObal Navigation satellite system (GLONASS), and / or the BeiDou Satellite Navigation and Positioning system), an inertial navigation system, a dead reckoning system, based on IP address, by using triangulation and / or proximity to cellular towers and / or Wi-Fi hotspots.
[0118] FIG. 4 depicts an example of an event sequence associated with distance-based detection of mobile device states according to example embodiments of the present disclosure. A computing system 400 can include one or more features and / or capabilities of the computing device 102, the server computing system 130, the training computing system 150, the computing device 300, and / or the computing system 600. Furthermore, the computing system 400 can perform one or more actions and / or operations that can be performed by the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300.
[0119] The computing system 400 can comprise a non-primary mobile device 402, a primary mobile device 404, a terrestrial location device 406, and a satellite location device 408.
[0120] At step 410, the non-primary mobile device 402 (e.g., a smartwatch) can attempt to establish a short-range wireless connection (e.g., a Bluetooth wireless connection) with theprimary mobile device 404 (e.g.. a smartphone). If the non-primary mobile device 402 is able to establish a wireless connection to the primary mobile device 404, the non-primary mobile device 402 can periodically attempt to determine that there is a wireless connection between the non-primary mobile device 402 and the primary mobile device 404.
[0121] At step 412, if the non-primary mobile device 402 is not able to establish a wireless connection with the primary’ mobile device 404, the non-primary’ mobile device 402 can determine whether one or more time criteria have been satisfied. Satisfying the one or more time criteria can comprise a threshold amount of time (e.g., 30 seconds) elapsing without there being a connection between the non-primary mobile device 402 and the primary' mobile device 404. If the one or more time criteria are not satisfied, the non-primary mobile device 402 can return to step 410.
[0122] At step 414, based on the one or more time criteria being satisfied, the non-primary mobile device 402 can perform a terrestrial-based distance determination based on one or more communications with the terrestrial location device 406 (e.g., sending data to the terrestrial location device 406 and / or receiving data from the terrestrial location device 406). The terrestrial location device 406 can comprise a cellular communications tower, a wireless network hub (e.g., a Wi-Fi hub), and / or a wireless network beacon. Communications by' the non-primary’ mobile device 402 with the terrestrial location device 406 can comprise location tracking requests sent by the non-primary mobile device 402 to the terrestrial location device 406. The location tracking requests can comprise a request to determine if one or more wireless signals of the primary' mobile device 404 have been detected by the terrestrial location device 406. For example, in response to the location tracking request from the non-primary' mobile device 402, the terrestrial location device 406 can send data indicating whether the primary mobile device 404 was detected. Further, if the primary mobile device 404 was detected by the terrestrial location device 406, the terrestrial location device 406 can send data indicating a distance from the terrestrial location device 406 at which the primary mobile device 404 may be located.
[0123] At step 416, based on the one or more time criteria being satisfied, the non-primary mobile device 402 can perform a satellite-based distance determination based on one or more communications with the satellite location device 408 (e.g., sending data to the satellite location device 408 and / or receiving data from the satellite location device 408). The satellite location device 408 can comprise a satellite (e.g., an artificial satellite that orbits the Earth and is configured to provide geolocation and / or time information to a receiving device such as a mobile device configured with a GPS receiver). The communications by thenon-primary mobile device 402 with the satellite location device 408 can comprise location tracking requests sent by the non-primary mobile device 402 to the satellite location device 408. The location tracking requests can comprise a request to determine if one or more wireless signals of the primary mobile device 404 have been detected by the satellite location device 408. For example, in response to the location tracking request from the non-primary mobile device 402. the satellite location device 408 can send data indicating whether the primary mobile device 404 was detected and / or a time at which the primary mobile device 404 was detected. Further, if the primary mobile device 404 was detected by the satellite location device 408, the satellite location device 408 can send data indicating a distance from the satellite location device 408 at which the primary mobile device 404 may be located.
[0124] At step 418, based on the distance of the non-primary mobile device 402 to the primary mobile device 404 not being determined, the non-primary mobile device 402 can generate notification data comprising one or more notifications associated with a predicted state of the primary mobile device 404. For example, the non-primary mobile device 402 can generate a notification indicating that the primary mobile device 404 may be lost, missing, or stolen.
[0125] FIG. 5 depicts an example of an event sequence associated with location-based detection of mobile device states according to example embodiments of the present disclosure. A computing system 500 can include one or more features and / or capabilities of the computing device 102. the server computing system 130, the training computing system 150, and / or the computing device 300. Furthermore, the computing system 500 can perform one or more actions and / or operations that can be performed by the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300.
[0126] The computing system 500 can comprise a non-primary mobile device 502, a primary mobile device 504, a terrestrial location device 506, and a satellite location device 508.
[0127] At step 510, the non-primary mobile device 502 (e.g., a smartwatch) can attempt to establish a short-range wireless connection (e.g., a Bluetooth wireless connection) with the primary mobile device 504 (e.g., a smartphone). If the non-primary' mobile device 502 is able to establish a wireless connection to the primary' mobile device 504, the non-primary' mobile device 502 can periodically attempt to determine that there is a wireless connection between the non-primary mobile device 502 and the primary mobile device 504.
[0128] At step 512, if the non-primary mobile device 502 is not able to establish a wireless connection with the primary mobile device 504, the non-primary mobile device 502 can determine whether one or more time criteria have been satisfied. Satisfying the one or more time criteria can comprise a threshold amount of time (e.g., 25 seconds) elapsing without there being a connection between the non-primary mobile device 502 and the primary mobile device 504. If the one or more time criteria are not satisfied, the non-primary mobile device 502 can return to step 510.
[0129] At step 514, based on the one or more time criteria being satisfied, the non-primary mobile device 502 can perform a terrestrial-based location determination based on one or more communications with the terrestrial location device 506 (e g., sending data to the terrestrial location device 506 and / or receiving data from the terrestrial location device 506). The terrestrial location device 506 can comprise a cellular communications tower, a wireless network hub (e.g., a Wi-Fi hub), and / or a wireless network beacon. The communications by the non-primary mobile device 502 with the terrestrial location device 506 can comprise location tracking requests sent by the non-primary mobile device 502 to the terrestrial location device 506. The location tracking requests can comprise a request to determine the location of the primary mobile device 504. For example, in response to the location tracking request from the non-primary mobile device 502, the terrestrial location device 506 can send data indicating whether the primary mobile device 504 was detected. Further, if the location of the primary mobile device 504 is determined by the terrestrial location device 506, the terrestrial location device 506 can send data indicating the location of the primary mobile device 504 to the non-primary mobile device 502.
[0130] At step 516, based on the one or more time criteria being satisfied, the non-primary mobile device 502 can perform a satellite-based location determination based on one or more communications with the satellite location device 508 (e.g., sending data to the satellite location device 508 and / or receiving data from the satellite location device 508). The satellite location device 508 can comprise a satellite. The communications by the non-primary mobile device 502 with the satellite location device 508 can comprise location tracking requests sent by the non-primary mobile device 502 to the satellite location device 508. The location tracking requests can comprise a request for the location of the primary mobile device 504. For example, in response to the location tracking request from the non-primary mobile device 502, the satellite location device 508 can send data indicating the location (e.g., geographic location) of the primary mobile device 504.
[0131] At step 518, based on the location of the non-primary mobile device 502 not being determined, the non-primary mobile device 502 can generate notification data comprising one or more notifications associated with a predicted state of the primary mobile device 504. For example, based on the location of the primary mobile device 504 not being determined, the non-primary mobile device 502 can generate a notification indicating that the primary mobile device 504 may be lost, missing, or stolen.
[0132] FIG. 6 depicts an example of an event sequence associated with the detection of mobile device states according to example embodiments of the present disclosure. A computing system 600 can include one or more features and / or capabilities of the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300. Furthermore, the computing system 600 can perform one or more actions and / or operations that can be performed by the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300.
[0133] The computing system 600 can comprise a non-primary mobile device 602 and a primary mobile device 604.
[0134] At step 610, the non-primary mobile device 602 (e.g.. a smartwatch) can attempt to establish a short-range wireless connection (e.g., a Bluetooth wireless connection) with the primary mobile device 604 (e.g., a smartphone). If the non-primary mobile device 602 is able to establish a wireless connection to the primary mobile device 604, the non-primary mobile device 602 can periodically attempt to determine that there is a wireless connection between the non-primary mobile device 602 and the primary mobile device 604.
[0135] At step 612, if the non-primary mobile device 602 is not able to establish a wireless connection with the primary mobile device 604, the non-primary mobile device 602 can determine whether one or more time criteria have been satisfied. Satisfying the one or more time criteria can comprise a threshold amount of time (e.g., 20 seconds) elapsing without there being a connection between the non-primary mobile device 602 and the primary mobile device 604. If the one or more time criteria are not satisfied, the non-primary mobile device 602 can return to step 610.
[0136] At step 614, based on the one or more time criteria being satisfied, the non-primary mobile device 602 can perform a long-range distance determination based on use of one or more long-range capabilities of the non-primary mobile device 602. For example, the non-primary mobile device 602 can comprise an ultra wideband (UWB) transmitter and receiver that is configured to communicate with the primary mobile device 604 at long ranges (e.g., 200 meters distance). Communications by the non-primary mobile device 602 with theprimary mobile device 604 can comprise location tracking requests sent by the non-primary mobile device 602 to the primary mobile device 604. The location tracking requests can comprise a request to determine if one or more wireless signals of the primary mobile device 606 have been detected by the primary mobile device 604. For example, in response to the location tracking request from the non-primary mobile device 602, the primary mobile device 604 can send data indicating whether the primary mobile device 604 was detected. Further, if the primary mobile device 604 was detected by the primary mobile device 604, the primary mobile device 604 can send data indicating a distance from the primary mobile device 604 at which the primary mobile device 604 may be located.
[0137] At step 618, based on the distance of the non-primary mobile device 602 to the primary mobile device 604 not being determined, the non-primary mobile device 602 can generate notification data comprising one or more notifications associated with a predicted state of the primary mobile device 604. For example, the non-primary mobile device 602 can generate a notification indicating that the primary mobile device 604 may be lost, missing, or stolen.
[0138] FIG. 7 depicts an example interface associated with the detection of mobile device states according to example embodiments of the present disclosure. A computing device 700 can include one or more features and / or capabilities of the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300. Furthermore, the computing device 700 can perform one or more actions and / or operations that can be performed by the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300.
[0139] As shown in FIG. 7, the computing device 700 includes an imaging component 702, an audio output component 706, a display component 708. a notification 710, and a notification 712. The computing device 700 can be configured to perform one or more operations comprising generating notifications (e.g., the notification 710 and the notification 712) that are associated with the state of a mobile device (e.g., a primary mobile device comprising a smartphone).
[0140] In this example, the computing device 700 (e.g., a non-primary mobile device comprising a smartwatch) has performed operations to determine one or more states of one or more other mobile devices (e.g., a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices). For example, the computing device 700 can perform operations to determine the state of other mobile devices based on one or more time criteria and / or one or more location criteria. The computing device 700 candetermine that a wireless connection (e.g., a Bluetooth connection) between the computing device 700 and another mobile device (e.g., a primary mobile device comprising a smartphone) has satisfied one or more time criteria based on a wireless connection to the other mobile device not being connected for a threshold amount of time (e.g., thirty seconds). Based on the one or more time criteria being satisfied, the computing device 700 can perform operations to determine a location of the other mobile device relative to the computing device 700. The computing device 700 can determine whether one or more location criteria have been satisfied. Determination of whether the one or more location criteria have been satisfied can be based on the location of the other mobile device being determined (e.g., the location can be determined based on a satellite positioning signal). Based on the one or more location criteria being satisfied, the computing device can generate the notification 710 and the notification 712.
[0141] The notification 710 can comprise information associated with the state (e.g., a predicted state) of another mobile device (e.g., a primary7mobile device). The notification 710 can be displayed on the display component 708 and can comprise text and / or one or more images (e.g.. directional arrows) based on the notification data. In this example, the notification 710 indicates ‘ THE PRIMARY MOBILE DEVICE MAY BE LOST, MISSING, OR STOLEN.” Further, the notification 712 can comprise information associated with the state (e g., a predicted state) of another mobile device. The notification 712 can be displayed on the display component 708 and can comprise text based on the notification data. In this example, the notification 712 comprises the indication 714. indicates '‘PRIMARY MOBILE DEVICE LOCATION UNKNOWN.” The notification 712 can be based on a determination by the computing device 700, that the location of the primary mobile device was not determined. In some embodiments, the audio output component 706 can be configured to generate audio output (e.g., a synthetic voice indicating that the primary mobile device may be lost, missing, or stolen and / or that the primary mobile device location is unknown) based on the notification 710 and / or the notification 712.
[0142] FIG. 8 depicts an example interface associated with the detection of mobile device states according to example embodiments of the present disclosure. A computing device 800 can include one or more features and / or capabilities of the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300. Furthermore, the computing device 800 can perform one or more actions and / or operations that can be performed by the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300.
[0143] As shown in FIG. 8, the computing device 800 includes an imaging component 802, an audio output component 806, a display component 808. a notification 810, a notification 812, and an indication 814. The computing device 800 can be configured to perform one or more operations comprising generating notifications (e.g., the notification 810 and the notification 812) that are associated with the state of another mobile device (e.g., a primary’ mobile device comprising a smartphone).
[0144] In this example, the computing device 800 (e.g., a non-primary mobile device comprising a smartwatch) has performed operations to determine one or more states of one or more other mobile devices (e.g., a plurality’ of mobile devices comprising a primary’ mobile device and one or more non-primary mobile devices). For example, the computing device 800 can perform operations to determine the state of other mobile devices based on one or more time criteria and / or one or more location criteria. The computing device 800 can determine that a wireless connection (e.g., a Bluetooth connection) between the computing device 800 and another mobile device (e.g., a primary mobile device comprising a smartphone) has satisfied one or more time criteria based on a wireless connection to the other mobile device not being connected for a threshold amount of time (e.g., thirty seconds). Based on the one or more time criteria being satisfied, the computing device 800 can perform operations to determine a distance of the computing device 800 to the other mobile device and / or a location of the other mobile device. The computing device 800 can determine whether one or more location criteria have been satisfied. Determination of whether the one or more location criteria have been satisfied can be based on the other mobile device being outside a detection range of the computing device 800 (e.g., outside a wireless connection range). Based on the one or more location criteria not being satisfied, the computing device can generate the notification 810, the notification 812, and the notification 814.
[0145] The notification 810 can comprise information associated with the state (e.g., a predicted state) of another mobile device. The notification 810 can be displayed on the display component 808 and can comprise text and / or one or more images (e.g., directional arrows) based on the notification data. In this example, the notification 810 indicates THE PRIMARY MOBILE DEVICE MAY BE LOST, MISSING, OR STOLEN.” Further, the notification 812 can comprise information associated with the location of another mobile device. The notification 812 can be displayed on the display component 808 and can comprise text based on the notification data. In this example, the notification 812 indicates ‘TOO METERS NOTRH-EAST.” The notification 812 can be based on the determination of the location of the other mobile device by the computing device 800 and includes the locationof the other mobile device. The notification 814 can comprise an image (e.g., an arrow) that can be configured to point in the direction of the other mobile device. The appearance of the notification 814 can be determined based on detection, by the computing device 800, of the location of the other mobile device. For example, the appearance of the notification 814 can be modified based on changes in the location of the computing device 800 relative to the location of the primary mobile device. In some embodiments, the audio output component 806 can be configured to generate audio output (e.g., a synthetic voice indicating that the primary mobile device may be lost missing or stolen and / or that the primary mobile device is 100 meters North-East) based on the notification 810, the notification 812, and / or notification 814.
[0146] FIG. 9 depicts an example interface associated with the detection of mobile device states according to example embodiments of the present disclosure. A computing device 900 can include one or more features and / or capabilities of the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300. Furthermore, the computing device 900 can perform one or more actions and / or operations that can be performed by the computing device 102, the server computing system 130. the training computing system 150, and / or the computing device 300.
[0147] As shown in FIG. 9, the computing device 900 includes an imaging component 902, an audio output component 906, a display component 908. and a notification 910. The computing device 900 can be configured to perform one or more operations comprising generating notifications (e.g., the notification 910 and the notification 912) that are associated with the state of a mobile device (e.g., a primary mobile device comprising a smartphone).
[0148] In this example, the computing device 900 (e.g., a non-primary mobile device comprising a smartwatch) has performed operations to determine one or more states of one or more other mobile devices (e.g., a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices). For example, the computing device 900 can perform operations to determine the state of mobile devices based on one or more time criteria and / or one or more location criteria. The computing device 900 can determine that a wireless connection (e.g., a Bluetooth connection) between the computing device 900 and another mobile device (e.g., a primary mobile device comprising a smartphone) has satisfied one or more time criteria based on a wireless connection to the other mobile device not being connected for a threshold amount of time (e.g., thirty seconds). Based on the one or more time criteria being satisfied, the computing device 900 can perform operations to determine a distance of the computing device 900 to the other mobile device and / or a locationof the other mobile device. The computing device 900 can determine whether one or more location criteria have been satisfied. Determination of whether the one or more location criteria have been satisfied can be based on the other mobile device being outside a detection range of the computing device 900 (e.g., outside a wireless connection range). Based on the one or more location criteria not being satisfied (e.g., the location of the other mobile device being determined), the computing device can generate the notification 910.
[0149] The notification 910 can comprise information associated with the location of another mobile device. The notification 912 can be displayed on the display component 908 and can comprise text based on the notification data. In this example, the notification 910 indicates “THE PRIMARY MOBILE DEVICE IS IN YOUR OFFICE.” The notification 910 can be based on the determination of the location of the other mobile device by the computing device 900 and includes the location of the other mobile device. Further, the computing device 900 can comprise information indicating that the location (e.g., the geographic coordinates associated with the primary mobile device that was detected) correspond to an office of the user of the computing device 900. In some embodiments, the audio output component 906 can be configured to generate audio output (e.g., a synthetic voice indicating that the primary mobile device is in a user’s office) based on the notification 910.
[0150] FIG. 10 depicts a flow chart diagram of an example method of detecting mobile device states according to example embodiments of the present disclosure. One or more portions of the method 1000 can be executed and / or implemented on one or more computing devices or computing systems comprising, for example, the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300. Further, one or more portions of the method 1000 can be executed or implemented as an algorithm on the hardware devices or systems disclosed herein. FIG. 10 depicts steps performed in a particular order for purposes of illustration and discussion. Those of ordinary skill in the art, using the disclosures provided herein, will understand that various steps of any of the methods disclosed herein can be adapted, modified, rearranged, omitted, and / or expanded without deviating from the scope of the present disclosure.
[0151] At 1002, the method 1000 can include determining a state of one or more wireless connections between a pl urality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices. For example, a non-primary mobile device (e.g., the computing device 300 which can include a smartwatch or laptop computingdevice) can detect one or more wireless connections between the non-primary mobile device and a primary mobile device (e.g.. a smartphone).
[0152] At 1004, the method 1000 can include determining whether the primary mobile device satisfies one or more time criteria associated with the state of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices. For example, the computing device 300 (e g., a smartwatch or laptop computing device) can determine whether one or more wireless connections between the computing device 300 and a primary mobile device (e g., a smartphone) have not been detected for longer than a threshold amount of time (e.g., 25 seconds).
[0153] At 1006, the method 1000 can include determining, based on performing one or more location tracking operations, whether the primary mobile device satisfies one or more location criteria associated with a location of the primary mobile device. For example, the computing device 300 (e.g., a smartwatch or laptop computing device) can perform one or more location tracking operations comprising sending a location tracking request to a satellite location device (e.g.. a geolocation satellite orbiting the Earth). The location tracking request can comprise a request for the location of the primary mobile device (e.g., a smartphone paired to the computing device 300). Based on the response to the location tracking request from the satellite location device, the computing device can determine whether the location of the primary mobile device has been determined. The one or more location criteria can be determined to be satisfied if the location of the primary mobile device has not been determined.
[0154] At 1008, the method 1000 can include generating, based on the primary7mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary mobile device. For example, the computing device 300 (e.g., a smartwatch or laptop computing device) can generate notification data comprising the one or more notifications that the primary mobile device may be lost, missing, or stolen.
[0155] At 1010, the method 1000 can include sending the notification data comprising the one or more notifications to the plurality of mobile devices. For example, the computing device 300 (e.g., a smartwatch or laptop computing device) can send notification data comprising notifications that the primary mobile device is lost, missing, or stolen to the plurality of mobile devices.
[0156] At 1012. the method 1000 can include receiving response data comprising a response to the one or more notifications. The response can comprise an indication ofwhether the predicted state of the primary mobile device is accurate. For example, a family member of the owner of the primary mobile device may have borrowed the primary mobile device from the owner of the primary mobile device without informing the owner of the primary mobile device that the primary mobile device had been borrowed. In response to receiving the notification that the primary mobile device may be lost, missing, or stolen, the family member can send a response to the one or more non- primary’ mobile devices. The response can indicate that the primary mobile device is in the possession of the family member and not lost, missing, or stolen.
[0157] At 1014, the method 1000 can include determining, based on the response data, one or more modifications of the one or more secure locations. For example, based on the computing device 300 (e.g., a non-primary mobile device comprising a smartwatch) receiving a response indicating that the primary mobile device is in the lost and found section of the workplace of the owner of the primary mobile device, the lost and found location can be added as a secure location of the one or more secure locations.
[0158] FIG. 11 depicts a flow chart diagram of an example method of modifying criteria for detecting mobile device states according to example embodiments of the present disclosure. One or more portions of the method 1100 can be executed and / or implemented on one or more computing devices or computing systems comprising, for example, the computing device 102. the server computing system 130, the training computing system 150, and / or the computing device 300. Further, one or more portions of the method 1100 can be executed or implemented as an algorithm on the hardware devices or systems disclosed herein. In some embodiments, one or more portions of the method 1100 can be performed as part of the method 1000 that is described with respect to FIG. 10. FIG. 11 depicts steps performed in a particular order for purposes of illustration and discussion. Those of ordinary’ skill in the art, using the disclosures provided herein, will understand that various steps of any of the methods disclosed herein can be adapted, modified, rearranged, omitted, and / or expanded w ithout deviating from the scope of the present disclosure.
[0159] At 1102, the method 1100 can include determining an activity type associated with the primary mobile device. The activity type can comprise sitting, walking, running, cycling, or vehicular travel. For example, based on the primary mobile device (e.g., the computing device 300) connecting to various wireless networks (e.g., a home network, a hotel network, an office network, an automobile network, or a public library network) an activity type associated with the primary mobile device can be determined. For example, ifthe primary mobile device is connected, via Bluetooth, to an automotive computing device of an automobile, the activity type can be determined to be vehicular travel.
[0160] At 1104, the method 1100 can include modifying the one or more time criteria based on the activity type associated with the primary mobile device. For example, if the activity type associated with the primary mobile device (e.g., the computing device 300) comprises vehicular travel in a rental vehicle, the one or more time criteria can be modified to decrease the time threshold of the one or more time criteria. The time threshold can be increased so that if a primary mobile device is left in the rental vehicle, a notification can be generated before the owner of the primary mobile device returns the rental vehicle.
[0161] At 1106, the method 1100 can include modifying the one or more location criteria based on the activity type associated with the primary mobile device. For example, if the activity type associated with the primary mobile device (e.g., the computing device 300) comprises sitting in an office of the owner of the primary mobile device, the one or more location criteria can be modified by adding the office to the one or more secure locations that do not satisfy the one or more location criteria.
[0162] FIG. 12 depicts a flow chart diagram of an example method of modifying criteria for detecting mobile device states according to example embodiments of the present disclosure. One or more portions of the method 1200 can be executed and / or implemented on one or more computing devices or computing systems comprising, for example, the computing device 102. the server computing system 130, the training computing system 150, and / or the computing device 300. Further, one or more portions of the method 1200 can be executed or implemented as an algorithm on the hardware devices or systems disclosed herein. In some embodiments, one or more portions of the method 1200 can be performed as part of the method 1000 that is described with respect to FIG. 10. FIG. 12 depicts steps performed in a particular order for purposes of illustration and discussion. Those of ordinary skill in the art, using the disclosures provided herein, will understand that various steps of any of the methods disclosed herein can be adapted, modified, rearranged, omitted, and / or expanded without deviating from the scope of the present disclosure.
[0163] At 1202, the method 1200 can include determining, based on sensor data associated with the primary mobile device, one or more motion characteristics of the primary mobile device. For example, the primary mobile device (e.g., the computing device 300) can comprise one or more motion sensors that can be used to determine one or more motion characteristics of the primary mobile device comprising the velocity, acceleration, and / or orientation of the primary mobile device. The one or more motion characteristics can be usedto determine a type of movement (e.g., personal automobile travel, public transportation, cycling, or walking) associated with the primary mobile device.
[0164] At 1204, the method 1200 can include modifying the one or more time criteria based on the one or more motion characteristics associated with the primary mobile device. For example, if the one or more motion characteristics of the primary mobile device (e.g., the computing device 300) are associated with travel on a public transportation vehicle (e.g.. a bus, ground-based rail, or elevated rail) the one or more time criteria can be modified to decrease the time threshold of the one or more time criteria. The time threshold can be decreased so that if a primary mobile device is left on the seat of a public transportation vehicle, a notification can be generated before the owner of the primary mobile device disembarks the public transportation vehicle.
[0165] At 1206, the method 1200 can include modifying the one or more location criteria based on the one or more motion characteristics associated with the primary mobile device. For example, if the one or more motion characteristics of the primary mobile device (e.g., the computing device 300) are associated with travel on a personal vehicle belonging to the owner of the primary mobile device (e.g., a personal automobile) the one or more location criteria can be modified by adding the personal vehicle to the one or more secure locations that do not satisfy the one or more location criteria.
[0166] FIG. 13 depicts a flow chart diagram of an example method of training machine-learned models to detect mobile device states according to example embodiments of the present disclosure. One or more portions of the method 1300 can be executed and / or implemented on one or more computing devices or computing systems comprising, for example, the computing device 102, the server computing system 130, the training computing system 150, and / or the computing device 300. Further, one or more portions of the method 1300 can be executed or implemented as an algorithm on the hardware devices or systems disclosed herein. In some embodiments, one or more portions of the method 1300 can be performed as part of the method 1000 that is described with respect to FIG. 10. FIG. 13 depicts steps performed in a particular order for purposes of illustration and discussion. Those of ordinary skill in the art, using the disclosures provided herein, will understand that various steps of any of the methods disclosed herein can be adapted, modified, rearranged, omitted, and / or expanded without deviating from the scope of the present disclosure.
[0167] At 1302, the method 1300 can include receiving training data comprising a plurality of training states of a plurality of mobile devices. The plurality of training states can comprise a plurality of training times at which a plurality of mobile devices weredisconnected and / or a plurality of training locations of the plurality of mobile devices.Further, the training data can comprise a plurality of ground-truth mobile device states that correspond to the plurality of training states. Further, the plurality of ground-truth mobile device states can comprise a secure state, a lost state, a missing state, and / or a stolen state. For example, the server computing system 130 can receive training data comprising a plurality of training times at which a plurality of mobile devices were disconnected. Further, the server computing system 130 can receive training data comprising a plurality of training locations at which a plurality of mobile devices were in a secure, lost, missing, or stolen state.
[0168] At 1304, the method 1300 can include determining, based on inputting the plurality of training states into one or more machine-learned models, a plurality of predicted mobile device states. For example, the server computing system 130 can implement one or more machine-learned models. Further, based on inputting the training data into the one or more machine-learned models, the one or more machine-learned models can perform one or more operations (e.g., mobile device state analysis and determination operations) on the training data and generate output comprising a plurality of predicted mobile device states.
[0169] At 1306. the method 1300 can include determining a loss based on one or more differences between the plurality’ of predicted mobile device states and the plurality of ground-truth mobile device states. For example, over a plurality’ of iterations, the server computing system 130 can determine a loss (e.g., a cross-entropy loss) based on one or more differences between the plurality of predicted mobile device states and the plurality’ of ground-truth mobile device states. The one or more differences between the plurality of predicted mobile device states and the plurality of ground-truth mobile device states can be based on one or more comparisons of the plurality of predicted mobile device states to the plurality of ground-truth mobile device states.
[0170] At 1308, the method 1300 can include modifying a plurality of parameters of the one or more machine-learned models to minimize the loss. For example, the server computing system 130 can modify a plurality’ of weights of the plurality of parameters so that the weights of the plurality of parameters that contribute to reducing the loss (e.g., the parameters that increase the accuracy of the one or more machine-learned models generating a plurality of predicted mobile device states that are accurate) are increased and / or the weights of the plurality' of parameters that contribute to increasing the loss (e.g., the parameters that decrease the accuracy of the one or more machine-learned models generating a plurality of predicted mobile device states that are accurate) are decreased. The plurality of weights of the plurality of parameters can be modified until some threshold loss (e.g., aminimized loss) that corresponds to a high accuracy of the plurality of predicted mobile device states is achieved.
[0171] Further to the descriptions above, a user may be provided with controls allowing the user to make an election as to both if and / or when systems, programs, or features described herein may enable collection of user information (e.g., image information), and if the user is sent data or communications from a server. In addition, certain data may be treated in one or more ways before it is stored or used, so that certain information of a user may be removed. For example, a user’s identity may be treated so that certain other information associated with the user’s identity may not be determined for 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 what information is collected about the user, how that information is used, and what information is provided to the user.
[0172] The technology discussed herein makes reference to servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a wide variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein can be implemented using a single device or component or multiple devices or components working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.
[0173] While the present subject matter has been described in detail with respect to various specific example embodiments thereof, each example is provided by way of explanation, not limitation of the disclosure. Those skilled in the art, upon attaining an understanding of the foregoing, can readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, the subject disclosure does not preclude inclusion of such modifications, variations and / or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure covers such alterations, variations, and equivalents.
Claims
WHAT IS CLAIMED IS:
1. A computer-implemented method of detecting device states, the computer-implemented method comprising:determining, by a computing system comprising one or more processors, one or more states of one or more wireless connections between a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices;determining, by the computing system, whether the primary mobile device satisfies one or more time criteria associated with the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices;determining, by the computing system, based on performance of one or more location tracking operations, whether the primary mobile device satisfies one or more location criteria associated with a location of the primary mobile device;generating, by the computing system, based on the primary mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary mobile device; andsending, by the computing system, the notification data comprising the one or more notifications to the plurality of mobile devices.
2. The computer-implemented method of claim 1, wherein the one or more time criteria comprise a time threshold associated with an amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected, and wherein satisfying the one or more time criteria comprises the amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected exceeding the time threshold.
3. The computer-implemented method of claim 1, wherein the one or more location criteria comprise a distance threshold associated with a distance between the primary' mobile device and the one or more non-primary mobile devices, and wherein satisfying the one or more location criteria comprises the distance between the primary’ mobile device and the one or more non-primary mobile devices exceeding the distance threshold.
4. The computer-implemented method of claim 1, wherein the location of the primary’ mobile device is based on a network identifier associated with a wireless network, and wherein satisfying the one or more location criteria comprises the network identifier indicating that the primary’ mobile device is connected to a wireless network that is associated with a geographic location that is at least a threshold distance from the one or more nonprimary’ mobile devices.
5. The computer-implemented method of claim 1, wherein the determining, by the computing system, whether the primary’ mobile device satisfies one or more time criteria associated with the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices is based on inputting the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary7mobile devices into one or more machine-learned models trained to determine whether the plurality of mobile devices satisfies the one or more time criteria, and wherein the one or more machine-learned models are trained based on training data comprising one or more previous times at which the plurality of mobile devices were disconnected and a corresponding plurality’ of ground-truth indications of whether the one or more time criteria were satisfied.
6. The computer-implemented method of claim 1. wherein the determining, by the computing system, whether the primary mobile device satisfies one or more location criteria associated with the location of the primary' mobile device is based on inputting the one or more states of the one or more w ireless connections between the primary mobile device and the one or more non-primary mobile devices into one or more machine-learned models trained to determine whether the primary mobile device satisfies the one or more location criteria, wherein the one or more machine-learned models are trained based on training data comprising one or more previous locations of the plurality' of mobile devices and a corresponding plurality’ of ground-truth indications of whether the one or more location criteria were satisfied, and wherein the one or more previous locations are associated with one or more geographic locations or one or more vehicles.
7. The computer-implemented method of claim 1, wherein the predicted state of the primary mobile device is based on inputting the one or more states of the one or more wireless connections or the location of the primary mobile device into one or more machine-learned models trained to determine the predicted state of the primary mobile device, and wherein the predicted state of the primary mobile device comprises a probability that the primary mobile device is in a secure location.
8. The computer-implemented method of claim 1, further comprising: determining, by the computing system, an activity type associated with the primary mobile device, wherein the activity type comprises sitting, walking, running, cycling, or vehicular travel;modifying, by the computing system, the one or more time criteria based on the activity type associated with the primary mobile device; andmodifying, by the computing system, the one or more location criteria based on the activity type associated with the primary mobile device.
9. The computer-implemented method of claim 1, further comprising: determining, by the computing system, based on sensor data associated with the primary mobile device, one or more motion characteristics of the primary mobile device; modifying, by the computing system, the one or more time criteria based on the one or more motion characteristics associated with the primary mobile device; and modifying, by the computing system, the one or more location criteria based on the one or more motion characteristics associated with the primary mobile device.
10. The computer-implemented method of claim 1, wherein the location of the primary mobile device is based on location data associated with one or more wireless signals comprising one or more short-range wireless signals, one or more ultra-wideband signals, one or more satellite signals, one or more cellular signals, or one or more local wireless network signals.
11. The computer-implemented method of claim 1, wherein satisfying the one or more location criteria comprises the location of the primary mobile device not being associated with one or more secure locations comprising a home associated with the primary mobile device, a workplace associated with the primary mobile device, or a vehicle associated with the primary' mobile device.
12. The computer-implemented method of claim 11, further comprising:receiving, by the computing system, response data comprising a response to the one or more notifications, wherein the response comprises an indication of whether the predicted state of the primary mobile device is accurate; anddetermining, by the computing system, based on the response data, one or more modifications of the one or more secure locations.
13. The computer-implemented method of claim 1, wherein the one or more notifications comprise a notification associated with a probability of the primary mobile device being in a secure location.
14. The computer-implemented method of claim 1, wherein the plurality of mobile devices comprise one or more smartphones, one or more smartwatches, one or more laptop computing devices, or one or more tablet computing devices.
15. The computer-implemented method of claim 1, wherein the one or more notifications are indicated via one or more applications implemented on the one or more nonprimary mobile devices, and wherein the one or more applications comprise a map application, a text messaging application, a calendar application, or an email application.
16. One or more tangible non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform operations, the operations comprising:determining one or more states of one or more wireless connections between a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices;determining whether the primary mobile device satisfies one or more time criteria associated with the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices;determining, based on performance of one or more location tracking operations, whether the primary mobile device satisfies one or more location criteria associated with a location of the primary mobile device;generating, based on the primary mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary mobile device; andsending the notification data comprising the one or more notifications to the plurality of mobile devices.
17. The one or more tangible non-transitory computer-readable media of claim 16, wherein the one or more time criteria comprise a time threshold associated with an amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected, and wherein satisfying the one or more time criteria comprises the amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected exceeding the time threshold.
18. A computing system comprising:one or more processors;one or more non-transitory computer-readable media storing instructions that when executed by the one or more processors cause the one or more processors to perform operations comprising:determining one or more states of one or more wireless connections between a plurality of mobile devices comprising a primary mobile device and one or more non-primary mobile devices;determining whether the primary mobile device satisfies one or more time criteria associated with the one or more states of the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices;determining, based on performance of one or more location tracking operations, whether the primary mobile device satisfies one or more location criteria associated with a location of the primary mobile device;generating, based on the primary mobile device satisfying the one or more time criteria and the one or more location criteria, notification data comprising one or more notifications associated with a predicted state of the primary mobile device; andsending the notification data comprising the one or more notifications to the plurality of mobile devices.
19. The computing system of claim 18, wherein the one or more time criteria comprise a time threshold associated with an amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobiledevices has been detected, and wherein satisfying the one or more time criteria comprises the amount of time that the one or more wireless connections between the primary mobile device and the one or more non-primary mobile devices has been detected exceeding the time threshold.
20. The computing system of claim 18, wherein the one or more location criteria comprise a distance threshold associated with a distance between the primary mobile device and the one or more non-primary mobile devices, and wherein satisfy ing the one or more location criteria comprises the distance between the primary mobile device and the one or more non-primary mobile devices exceeding the distance threshold.