Abstract:
Some embodiments of the invention provide a mobile device with a novel route prediction engine that (1) can formulate predictions about current or future destinations and/or routes to such destinations for the device's user, and (2) can relay information to the user about these predictions. In some embodiments, this engine includes a machine-learning engine that facilitates the formulation of predicted future destinations and/or future routes to destinations based on stored, user-specific data. The user-specific data is different in different embodiments. In some embodiments, the stored, user-specific data includes data about any combination of the following (1) previous destinations traveled to by the user, (2) previous routes taken by the user, (3) locations of calendared events in the user's calendar, (4) locations of events for which the user has electronic tickets, and (5) addresses parsed from recent e-mails and/or messages sent to the user. The device's prediction engine only relies on user-specific data stored on the device in some embodiments, relies only on user-specific data stored outside of the device by external devices/servers in other embodiments, and relies on user-specific data stored both by the device and by other devices/servers in other embodiments.
Abstract:
Some embodiments of the invention provide a novel prediction engine that (1) can formulate predictions about current or future destinations and/or routes to such destinations for a user, and (2) can relay information to the user about these predictions. In some embodiments, this engine includes a machine-learning engine that facilitates the formulation of predicted future destinations and/or future routes to destinations based on stored, user-specific data. The user-specific data is different in different embodiments. In some embodiments, the stored, user-specific data includes data about any combination of the following: (1) previous destinations traveled to by the user, (2) previous routes taken by the user, (3) locations of calendared events in the user's calendar, (4) locations of events for which the user has electronic tickets, and (5) addresses parsed from recent e-mails and/or messages sent to the user. In some embodiments, the prediction engine only relies on user-specific data stored on the device on which this engine executes. Alternatively, in other embodiments, it relies only on user-specific data stored outside of the device by external devices/servers. In still other embodiments, the prediction engine relies on user-specific data stored both by the device and by other devices/servers.
Abstract:
Systems, methods, and program products for determining a location of a calendar item are described. A mobile device can receive a calendar item including a description and a time. The mobile device can determine that, at the time specified in the calendar item, the mobile device is located at a location that is estimated to be significant to a user. The mobile device can store the description in association with the significant location. Upon receive a new calendar item containing at least one term in the description, the mobile device can predict that the user will visit the significant location at the time specified in the new calendar item. The mobile device can provide user assistance based on the prediction.
Abstract:
Systems, methods, and program products for providing services to a user by a mobile device based on the user's daily routine of movement. The mobile device determines whether a location cluster indicates a significant location for the user based on one or more hints that indicate an interest of the user in locations in the cluster. The mobile device can perform adaptive clustering to determine a size of area of the significant location based on how multiple locations converge in the location cluster. The mobile device can provide location-based services for calendar items, including predicting a time of arrival at an estimated location of a calendar item. The mobile device can provide various services related to a location of the mobile device or a significant location of the user through an application programming interface (API).
Abstract:
A mobile device enables its user to retroactively “check in,” on social media, to locations to which the device has previously been. The mobile device automatically tracks the locations to which it goes during some time interval. As the mobile device goes to each location, the mobile device stores data that specifies that location. Following the time interval, and potentially in response to a request by the device's user to view the locations previously visited, the mobile device presents a list of at least some of the locations on its display. The device's user can select one or more of the presented locations. The selection of a location causes the mobile device to post, to an Internet-based social media service, information pertaining to the selected location. For example, such information can indicate that the device's user had been at the selected location.
Abstract:
Techniques for predictive user assistance are described. A mobile device can learn movement patterns of the mobile device. The mobile device can construct a state model that is an abstraction of locations where the mobile device stayed for sufficient amount of time. The state model can include states representing the locations, and transitions representing movement of the mobile device between the locations. The mobile device can use the state model, a current location of the mobile device, and a current time to determine a predicted future location of the mobile device at a given future time. Based on the predicted location and the given future time, the mobile device can predict what assistance a user of the mobile device may request. The mobile device can then provide the assistance to the user before the given future time.
Abstract:
Embodiments of the present disclosure are directed to, among other things, monitoring a user device to determine whether a user associated with the device is safe. In some examples, a user (which may be referred to herein as an “initiator” establishes a device monitoring session (which may be referred to herein as “session”) with a user, or a group of users, so that the user(s) are notified either when the initiator has safely ended the device monitoring session or receives access to session data that was collected during the session. In some configurations, the session can be handed off from a first user device that is currently active to a different user device. Instead of the first user device always being the device that interacts with the server, a different first user device may be selected as the active device to interact with the server.
Abstract:
Methods, systems, and computer program products for determining transit routes through crowd-sourcing, for determining an estimated time of arrival (ETA) of a vehicle of the transit route at a given location, and for providing predictive reminders to a user for catching a vehicle of the transit route. A server receives signal source information about wireless signal sources detected by user devices, including information about a first wireless signal source detected by some devices. The server determines that the first wireless signal source is moving. The server determines that the first wireless signal source is associated with a public transit route upon determining that the signal source information satisfies one or more selection criteria. The server stores information associating the first wireless signal source with the public transit route as transit movement data corresponding to the public transit route.
Abstract:
A mobile device with a route prediction engine is provided that can predict current/future destinations or routes to destinations for the user, and can relay prediction information to the user. The engine includes a machine-learning engine that facilitates the formulation of predicted future destinations and/or future routes to destinations based on user-specific data. The user-specific data includes data about (1) previous destinations traveled, (2) previous routes taken, (3) locations of calendared events, (4) locations of events for which the user has electronic tickets, and/or (5) addresses parsed from e-mails and/or messages. The prediction engine relies on one or more of user-specific data stored on the device and data stored outside of the device by external devices/servers.
Abstract:
A mobile device can provide predictive user assistance based on various sensor readings, independently of or in addition to a location of the mobile device. The mobile device can determine a context of an event. The mobile device can store the context and a label of the event on a storage device. The label can be provided automatically by the mobile device or by the external system without user input. At a later time, the mobile device can match new sensor readings with the stored context. If a match is found, the mobile device can predict that the user is about to perform the action or recognize that the user has performed the action again. The mobile device can perform various operations, including, for example, providing user assistance, based on the prediction or recognition.