The present disclosure relates to systems and methods for identifying an activity of a user.
Many mobile devices, such as smart phones, have been enabled with functionality for determining a location of the device and for indicating the location to a user of the device. For example, a global positioning system (GPS) receiver can reside on a mobile device for determining a GPS position fix of the device. Using the GPS position fix, the mobile device can plot the device's location on a map rendered on a display as the device moves from place to place. These functions and features are useful for guiding users to a desired destination, such as when a user is driving or walking.
Another location-based feature of mobile devices allows users to generate a “breadcrumb” at a current location of the mobile device. The breadcrumb information can be stored on the mobile device and can be later accessed for use in guiding the user back to the location where the breadcrumb was generated. Such a feature can allow a user to find the user's parked car, other objects, or places of interest to where the user would like to return. To be useful, the user must remember to control the device to generate the breadcrumb when at the location of interest. If the user does not remember to control the device to generate the breadcrumb, the user will not be able to later use this feature for finding the location of interest. Accordingly, it is desirable to provide systems and methods for automatically marking a location of interest.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Disclosed herein are methods and systems for identifying an activity of a user based on a chronological order of detected movements of a computing device. According to embodiments of the present disclosure, the method may include detecting movements of a computing device. The method also includes determining a chronological order of the detected movements. Further, the method includes identifying an activity of a user of the computing device based on the detected movements and chronological order. The method also includes determining a geographic location associated with at least one of the movements. Further, the method includes presenting identification of the activity and the geographic location.
According to other embodiments of the present disclosure, a method includes detecting movements of a computing device. The method may also include determining a chronological order of the detected movements. Further, the method includes identifying an activity of a user of the computing device based on the detected movements and the chronological order. The method includes applying a predetermined action in response to identifying the activity.
According to other embodiments of the present disclosure, a method includes receiving movement information and associated activity information from a plurality of computing devices. The method also includes determining a confidence level for associating a movement of a computing device with an activity of a user based on the movement information and associated activity information. Further, the method includes communicating the confidence level to another computing device.
According to other embodiments of the present disclosure, a method includes identifying activities of a user of a computing device. The method also includes determining at least one of a chronological order and geographic locations of the identified activities. Further, the method may include deducing another activity based on the identified activities and the at least one of the chronological order and geographic locations. The method may also include presenting identification of the deduced activity.
The foregoing summary, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purposes of illustration, there is shown in the drawings exemplary embodiments; however, the present disclosure is not limited to the specific methods and instrumentalities disclosed. In the drawings:
The present disclosure is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or elements similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the term “step” may be used herein to connote different aspects of methods employed, the term should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Embodiments of the present disclosure enable a computing device to detect movements of a computing device, to determine a chronological order of the detected movements, to identify an activity of a user of the computing device based on the detected movements and the chronological order, to determine a geographic location associated with one or more of the movements, and to present identification of the activity and the geographic location. For example, the computing device may automatically mark its location in response to predefined or predetermined movements detected by the computing device. A GPS receiver, accelerometer, and/or magnetometer residing on or in communication with the computing device can detect movements, and the computing device may interpret the movement as being associated with an activity of the user, such as, but not limited to, the user exiting or leaving a parked automobile. In response to determining that the user engaged in the activity, the computing device may automatically determine its current geographic location or may have previously determined the geographic location associated with one or more of the detected movements, and automatically mark or flag the location(s) in a mapping application. Subsequently, the user may interact with the computing device to display a map indicating the flagged geographic location(s) for use in guiding the user back to the location(s). Further, other embodiments enable a user to implement other features of the present disclosure in a computing device as will be described in further detail herein.
Other embodiments of the present disclosure enable a server, or any other suitable computing device, to receive movement information and associated activity information from a plurality of computing devices. For example, the computing devices may each detect movements and identify activities based on the detected movements. The server may determine a confidence level for associating computing device movement with an activity of a user based on the movement information and associated activity information. For example, the server may apply statistics for determining whether a specified movement should be correlated to an activity. A confidence level for correlating a detected movement to an activity may be communicated to other computing devices. Such confidence level information may be used by the computing device for identifying an activity of a user based on a movement and for applying a predetermined action in response to identifying the activity.
As referred to herein, the term “computing device” should be broadly construed. It can include any type of mobile device, for example, a smart phone, a cell phone, a pager, a personal digital assistant (PDA, e.g., with GPRS NIC), a mobile computer with a smart phone client, or the like. A computing device can also include any type of conventional computer, for example, a desktop computer, a laptop computer, a netbook computer, a notebook computer, or the like. A typical mobile device is a wireless data access-enabled device (e.g., an iPHONE® smart phone, a BLACKBERRY® smart phone, a NEXUS ONE™ smart phone, an iPAD™ device, or the like) that is capable of sending and receiving data in a wireless manner using protocols like the Internet Protocol, or IP, and the wireless application protocol, or WAP. This allows users to access information via wireless devices, such as smart phones, mobile phones, pagers, two-way radios, communicators, and the like. Wireless data access is supported by many wireless networks, including, but not limited to, CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC, Mobitex, EDGE and other 2G, 3G, 4G and LTE technologies, and it operates with many handheld device operating systems, such as PalmOS, EPOC, Windows CE, FLEXOS, OS/9, JavaOS, iOS and Android. Typically, these devices use graphical displays and can access the Internet (or other communications network) on so-called mini- or micro-browsers (which are web browsers with small file sizes that can accommodate the reduced memory constraints of wireless networks), on other client applications accessed via the graphical displays, on client applications that do not utilize a graphical display, or the like. In a representative embodiment, the mobile device is a cellular telephone or smart phone that operates over GPRS (General Packet Radio Services), which is a data technology for GSM networks. In addition to a conventional voice communication, a given mobile device can communicate with another such device via many different types of message transfer techniques, including SMS (short message service), enhanced SMS (EMS), multi-media message (MMS), email WAP, paging, or other known or later-developed wireless data formats. Although many of the examples provided herein are implemented on a mobile device, the examples may similarly be implemented on any suitable computing device.
As referred to herein, an “interface” is generally a system by which users interact with a computing device. An interface can include an input for allowing users to manipulate a computing device, and can include an output for allowing the system to present information and/or data, indicate the effects of the user's manipulation, etc. An example of an interface on a computing device (e.g., a mobile device) includes a graphical user interface (GUI) that allows users to interact with programs in more ways than typing. A GUI typically can offer display objects, and visual indicators, as opposed to text-based interfaces, typed command labels or text navigation to represent information and actions available to a user. For example, an interface can be a display window or display object, which is selectable by a user of a mobile device for interaction. The display object can be displayed on a display screen of a mobile device and can be selected by, and interacted with by, a user using the interface. In an example, the display of the mobile device can be a touch screen, which can display the display icon. The user can depress the area of the display screen at which the display icon is displayed for selecting the display icon. In another example, the user can use any other suitable interface of a mobile device, such as a keypad, to select the display icon or display object. For example, the user can use a track ball or arrow keys for moving a cursor to highlight and select the display object.
Operating environments in which embodiments of the present disclosure may be implemented are also well-known. In a representative embodiment, a computing device, such as a mobile device, is connectable (for example, via WAP) to a transmission functionality that varies depending on implementation. Thus, for example, where the operating environment is a wide area wireless network (e.g., a 2.5G network, a 3G network, or a 4G network), the transmission functionality comprises one or more components such as a mobile switching center (MSC) (an enhanced ISDN switch that is responsible for call handling of mobile subscribers), a visitor location register (VLR) (an intelligent database that stores on a temporary basis data required to handle calls set up or received by mobile devices registered with the VLR), a home location register (HLR) (an intelligent database responsible for management of each subscriber's records), one or more base stations (which provide radio coverage with a cell), a base station controller (BSC) (a switch that acts as a local concentrator of traffic and provides local switching to effect handover between base stations), and a packet control unit (PCU) (a device that separates data traffic coming from a mobile device). The HLR also controls certain services associated with incoming calls. Of course, the present disclosure may be implemented in other and next-generation mobile networks and devices as well. The mobile device is the physical equipment used by the end user, typically a subscriber to the wireless network. Typically, a mobile device is a 2.5G-compliant device or 3G-compliant device or a 4G-compliant device that includes a subscriber identity module (SIM), which is a smart card that carries subscriber-specific information, mobile equipment (e.g., radio and associated signal processing devices), a user interface (or a man-machine interface (MMI)), and one or more interfaces to external devices (e.g., computers, PDAs, and the like). The mobile device may also include a memory or data store.
The illustrative embodiments of the present disclosure are generally implemented within mobile devices that provide map display guidance information and that include equipment that indicate movement of the mobile device. However, as will be appreciated, the present disclosure is applicable to any computing device that is not fixed in position. Such devices may be preprogrammed with map data in a memory, or the map data may be placed into the memory while the device is in operation. For example, map data may be supplied through a communications link from a network, such as the Internet. In an implementation where a cellular telephone comprises the present disclosure, the map information may be received in the form of data packets from the Internet, via the cellular protocol and then stored into the memory of the device.
As referred to herein, a “GPS receiver” may be any equipment or component capable of determining a geographic location. In an example, the GPS receiver may receive satellite signals for use in determining the geographic location. Further, the GPS receiver may output a signal indicating the geographic location, such as coordinates of the geographic location.
As referred to herein, an “accelerometer” may be any equipment or component capable of measuring acceleration. This acceleration may be proper acceleration, the acceleration experienced relative to freefall. For example, an accelerometer may be a single- or multi-axis accelerometer configured to detect magnitude and direction of the acceleration as a vector quantity, and can be used to sense orientation, acceleration, vibration shock, or falling. A micromachined accelerometer may be provided in a computing device, and may output a signal indicating the acceleration measurements.
As referred to herein, a “magnetometer” may be any equipment or component capable of measuring the strength and/or direction of a magnetic field. A magnetometer may be provided on a computing device, such as a mobile device, for indicating direction, for example. The magnetometer may output a signal indicating a direction.
The presently disclosed subject matter is now described in more detail. For example,
The mobile device 102 may communicate with various components of the system 100 using suitable network components, such as, but not limited to, a base station 106, an MSC 108, PSTN 110, and various other network components, which are not shown herein for ease of illustration. A wireless input/output (I/O) component 112 or any other suitable communication interface may be used for communicating data to other devices and for receiving communication data from other devices via a network as will be understood to those of skill in the art. The mobile device 102 may include an antenna 114 for wirelessly sending and receiving communications to the base station 106 or any other suitable communications unit. Geographic location information and any other information described herein in accordance with embodiments of the present disclosure may be stored in a data store 116, which can be any suitable type of memory. The user may use an interface 118 of the mobile device 102 for interacting with the mobile device 102.
The operation of the system can be described by the following example. As shown in
In this example system, the mobile device 102 includes a movement detection module 120 configured to detect movements of the mobile device 102. The mobile device 102 also includes a movement response manager 122 configured to determine a chronological order of the detected movements, to identify an activity of a user of the mobile device 102 based on detected movements and the chronological order, to determine a geographic location associated with one or more of the movements, and to present identification of the activity and the geographic location in accordance with embodiments of the present disclosure. Further, the movement response manager 122 may be configured to apply a predetermined action in response to identifying the activity in accordance with embodiments of the present disclosure. The movement detection module 120 and the movement response manager 122 may be implemented by hardware, by firmware, by combined hardware and software, or the like. Particularly, for example, the movement detection module 120 may include a satellite navigation system (e.g., a GPS receiver), one or more accelerometers, one or more magnetometers, suitable hardware, suitable firmware, suitable software, or combinations thereof configured to detect movements of the mobile device 102. The movement detection module 120 may communicate one or more signals to the movement response manager 122 for indicating the detected movements. The movement response manager 122 may include, for example, hardware, firmware, software, or combinations thereof configured to receive the signals indicating the detected movements, to determine a chronological order of the detected movements, to identify an activity of a user of the mobile device 102 based on detected movements and the chronological order, to determine a geographic location associated with one or more of the movements, and to present identification of the activity and the geographic location in accordance with embodiments of the present disclosure. Further, the movement response manager 122 may include, for example, hardware, firmware, software, or combinations thereof to apply a predetermined action in response to identifying the activity. The movement detection module 120 and the movement response manager 122 may also be configured to implement other functions described herein in accordance with embodiments of the present disclosure.
The movement detection module 120 may include one or more of a GPS receiver 124, accelerometer 126, and magnetometer 128 for detecting movements of the mobile device 102. For example, the GPS receiver 124 may be configured to output a GPS position fix. The movement detection module 120 may read and process GPS position fixes and may convert two, or more, GPS position fixes into a heading fix. The movement detection module 120 may determine whether the mobile device 102 has moved based on the GPS position fix information. Particularly, for example, if the position of the mobile device 102 changes over time, the movement detection module 120 may determine that the mobile device 102 has moved.
The accelerometer 126 and magnetometer 128 may be configured to output one or more signals indicating an acceleration or movement of the mobile device 102. The movement detection module 120 may read and process the signals, and may determine whether the mobile device 102 has moved based on the signals. In response to the movement detection module 120 detecting that the mobile device 102 has moved, the movement detection module 120 may indicate the movement to the movement response manager 122.
As mentioned herein above, one or more signals containing information indicating movements of the mobile device 102 may be communicated to the movement response manager 122. Movement information may indicate, but is not limited to, a speed of the mobile device, a velocity of the mobile device, a position of the mobile device, a route traveled by the mobile device, a direction of motion of the mobile device, an acceleration of the mobile device, a change in direction of the mobile device, combinations thereof, and the like. The movement information may be used by the movement response manager 122 for identifying or inferring an activity of the user of the mobile device 102. For example, signals generated by the GPS receiver 124, the accelerometer 126, and the magnetometer 128 may be monitored for identifying characteristic movement patterns that are indicative of transition moments or user activities, such as the parking of an automobile or an accident involving an automobile (e.g., a wreck). The movement response manager 122 may perform a set of statistical analyses and comparisons against a wide range of rule-based inferences from the output of the GPS receiver 124, the accelerometer 126, and/or the magnetometer 128. The rule-based inferences can be applied to identify the occurrence of the characteristic movement patterns or user activities. In response to detection of characteristic movement patterns or user activities, a predetermined action may be applied in accordance with embodiments of the present disclosure as described herein.
Referring to
In an example of the mobile device 102 operating to detect movements, the mobile device 102 may use one or combinations of the GPS receiver 124, the accelerometer 126, the magnetometer 128 for detecting movements of the mobile device 102. One or combinations of the GPS receiver 124, the accelerometer 126, and the magnetometer 128 may output signals indicative of movements of the mobile device 102. For example, the GPS receiver 124 may generate signals indicative of the current position of the mobile device 102, and the movement detection module 120 may determine that the mobile device 102 is moving if the position output by the GPS receiver 124 changes over time. In another example, the accelerometer 126 and/or magnetometer 128 may generate signals indicative of movements of the mobile device 102. Movement information may be stored in the data store 116 in any suitable format.
The method of
Returning to
Returning to and continuing the example of
Other movements of the mobile device 102 in addition to the aforementioned movements may also be detected and used for identifying the automobile parking behavior. For example, near route 308 shown in
Returning to
Continuing the example of
Returning to
The method of
In accordance with embodiments of the present disclosure, identified activities and their chronological order may be presented. For example, the movement response manager 122 may determine a time of at least one movement associated with an activity. The time may be associated with the activity and stored in the data store 116. Such times may be associated with multiple activities. The movement response manager 122 may chronologically order the activities based on the associated times. The movement response manager 122 may control the interface 118 to present identifications of multiple activities and a chronological order of the activities. For example, the activities and their chronological order may be presented on a display. In an example, this information may be presented in table format or any other suitable format. Text identifying the activities and numbering indicating the chronological order may be displayed. Further, for example, a time associated with each of the activities may be presented for indicating a chronological order of the activities.
In other embodiments of the present disclosure, the mobile device 102 may crosscheck the geographic location determined to be the location of a parked automobile with data obtained from a geographic information system. This crosscheck may be implemented to confirm that the mobile device 102 has correctly identified a geographic location as being a location where automobiles can be parked. For example, referring to
According to embodiments of the present disclosure, a user of the mobile device 102 may use an application (often referred to as an “app”) residing on the mobile device 102 to interact with the movement response manager 122 via the interface 118 for sharing geographic location information with another computing device. The application may reside on the mobile device 102 and may be a part of the movement response manager 122. The user may, for example, input commands into the interface 118 for selecting an icon to initialize the application. The application may have been downloaded from a web server and installed on the mobile device 102 in any suitable manner. The application may be downloaded to another machine (such as the mobile phone user's PC) and then transferred to the mobile device over a medium, such as a Bluetooth connection. In an example, the application can enable the mobile device 102 with one or more of the features according to embodiments of the present disclosure. Further, the geographic location information generated by this application may be automatically shared with another application such as, for example, an application providing information on locating a parked automobile or other object.
After initialization of the application, the movement response manager 122 may control the user interface 118 to present one or more prompts for a user to input commands. For example, a user may be presented with one or more icons, buttons, text, maps, audio, and/or other graphical information for aiding the user with identifying a contact in an address book, or other suitable contact list, residing on the mobile device 102. The address book and its contact entries may be stored in, for example, the data store 116 shown in
As an example, two or more users may be designated as “friends” in their respective contact lists. Contacts designated as friends may share a flagged geographic location with each other. For example, the flagged geographic location information generated by one user may be automatically communicated with a designated friend, such as a contact associated with mobile device 120. On receipt of the information, the contact entry associated with the sender may be suitably marked to indicate that the contact entry is associated with flagged geographic information. The recipient may interact with the contact entry for displaying a representation of the geographic location on a displayed map.
In another example, the computing devices of users designated as friends may share current geographic location information with one another. For example, the GPS receiver 124 of the mobile device 102 may output coordinates for indicating a current geographic location of the mobile device 102. The movement response manager 122 may be configured to automatically share this geographic location information with contacts designated as friends. Alternatively, the movement response manager 122 may share with other devices information associated with any other identified activity in accordance with embodiments of the present disclosure.
In an example of sharing geographic location information, a user may share geographic location information indicating the location of his or her parked automobile with another user. The other user may be a friend or family member and identified as being a friend in a contact list. When the user parks his or her automobile, the user's mobile device may recognize that the movements are associated with parking an automobile, and in response, may flag the geographic location. In addition, the user's mobile device may share the flagged geographic location information (e.g., coordinates of the geographic location) with the contact designated as a friend. In an example, the user may verbally tell the friend that he or she may borrow the parked automobile. The friend may access his or her contact list for displaying information about the location of the parked automobile.
In another example of sharing geographic location information, a user may be riding or driving an automobile when the automobile is involved in an accident, such as a wreck. During the accident, the automobile may come to a sudden stop or quick deceleration. This movement can be detected by a mobile device being carried by the automobile in accordance with embodiments of the present disclosure. The mobile device may identify the movement as being associated with an automobile accident. In response to identifying the activity, the mobile device may automatically flag the geographic location where the activity was detected, and notify specified contacts, or friends, of the event and the flagged geographic location. In this way, specified contacts can be immediately notified of automobile accidents involving the mobile device user.
In another example of sharing geographic location information, the information may be shared among selected other users of a social networking service. Such services are available on the Internet. By use of a social networking service (e.g., FACEBOOK® social networking service provided by Facebook, Inc. of Cambridge, Mass.), users can add other users as friends and send them messages, and update their personal profiles to notify other users about themselves, such as the geographic location information generated in response to detected movements according to embodiments of the present disclosure. Such information can be automatically made available to the selected social networking users in response to generation of the information. In this way, computing device users can receive geographic location information of others.
In another example of sharing geographic location information, a user can utilize any suitable service that stores user's geographic location information. For example, FIRE EAGLE™ (available from Yahoo! Inc. of Santa Clara, Calif.) is a service that acts as a store for user's geographic location information. A user can authorize other services and applications to update or access this information via the Fire Eagle API, allowing a user to share his or her geographic location information and then use it on any Fire Eagle enabled-website. In this way, mobile device users can receive geographic location information of others.
In accordance with embodiments of the present disclosure, a computing device may determine movement based on proximity of the computing device to another device. For example,
Referring to
At step 402 of
At step 404 of
As described herein above, a set of statistical analyses and comparisons against rule-based inferences may be performed for determining whether to perform a predetermined action based on detected movement. For example, the movement response manager 122 shown in
In an example, a user may enter or otherwise select one or more movement inference rules for identifying an activity of a user of a computing device based on detected movement. The rules may be included with an application, and selection of the rules may require interacting with the application for enabling the rules. A rule may specify one or more steps or functions that are applied in response to the computing device detecting a movement. If the detected movement meets specified criteria, a predetermined action may be applied in accordance with embodiments of the present disclosure. For example, the criteria may specify that the detected movement must meet predetermined criteria for motion such as, but not limited to, a predetermined speed of the mobile device, a predetermined velocity of the mobile device, a predetermined position of the mobile device, a predetermined route traveled by the mobile device, a predetermined direction of motion of the mobile device, a predetermined acceleration of the mobile device, a predetermined change in direction of the mobile device, and combinations thereof. If the detected movement does not meet the criteria, no action will be applied.
In accordance with other embodiments of the present disclosure, a mobile device may detect movements and identify the movements as being associated with automobile driving activity. In response to identifying the movements as being associated with driving activity, the mobile device may automatically prevent the device from initiating communications to other devices and/or accepting communications from other devices. For example, text messaging may be prevented. Other communications may be allowed, such as voice communications.
In accordance with other embodiments of the present disclosure, a mobile device may detect movements and identify the movements as being associated with automobile driving activity. In response to identifying the movements as being associated with driving activity, the mobile device may automatically report to another specified device of the driving activity.
In accordance with other embodiments of the present disclosure, a mobile device may automatically display a map in response to detecting predetermined movements. For example, a map application may automatically be launched on detection of the movements. Further, certain detected movements may cause the map to be presented at different zoom levels. For example, if the device detects slow movement, it may be inferred that the user is walking and, in response, displays the map zoomed in. In contrast, if the device detects faster movement, it may be inferred that the user is driving and, in response, displays the map further zoomed out. This control of the zoom function of the map application may be automatically controlled in response to the movement detection.
As discussed above, other embodiments of the present disclosure enable a server, or any other suitable computing device, to receive movement information and associated activity information from a plurality of computing devices. For example, the computing devices may each detect movements, identify activities based on the detected movements, and communicate the movement and activity information to the server. The server may determine a confidence level for associating computing device movement with an activity of a user based on the movement information and associated activity information. For example, the server may apply statistics for determining whether a specified movement should be correlated to an activity. The server may determine a confidence level for correlating a detected movement to an activity. The server may also communicate the confidence level to other computing devices. Such confidence level information may be used by the other computing devices for identifying an activity of a user based on a movement and for applying a predetermined action in response to identifying the activity.
For example,
Referring to
The method of
The method of
In response to receiving the confidence level information, the recipient computing device may automatically apply an action in response to determining that one or more of its detected movements correspond to the movement(s) identified in the confidence level information. For example, a high confidence level may be assigned to certain movements as being related to the activity of parking an automobile. If the recipient computing device detects similar movements, the device may determine that the movements correspond to the activity of parking an automobile.
In accordance with one or more embodiments of the present disclosure, the server 502 may receive from the mobile devices 102 identifications of actions applied by the mobile devices. The identified actions may be those that are associated with the activities identified in the activity information. The determined confidence level may be used for determining how much of a correlation there is between detected movement(s) and an action actually applied by the computing devices. Such information may be communicated to other computing devices and used by the recipients for determining whether to apply a predetermined action based on detected movements.
In one or more embodiments, a server may compile a listing of activities and associated movements at a geographic location. For each listed activity, the server may assign a confidence level that computing device movement(s) should be associated with the activity at the geographic location. For example, the server 502 may receive movement information and identification of a geographic location from each of a plurality of mobile devices. In this example, the movement information may correspond to the parking of an automobile. The server 502 may communicate the movement information, the geographic location information, and confidence level information, and identify the activity of parking of an automobile to one or all of the mobile devices 102. When a recipient device detects corresponding movements at the geographic location, the device may determine that there is a high level of confidence that the user is parking an automobile, and in response, the device may automatically mark the geographic location with a breadcrumb. Applications may launch in response to a confidence level being above a predetermined threshold.
In accordance with other embodiments, multiple activities and actions can be associated with a geographic location. Particular identified computing device movements can be associated with the activities and actions. For example, a particular geographic location may be identified as being at or near a parking lot for a grocery store. If the mobile device detects certain movements at the geographic location, there may be a high level of confidence that the user is parking his or her automobile. As a result, a breadcrumb may be automatically associated with the geographic location. In addition, it may be assumed that the user is going to shop at the nearby grocery store. In response to determining or inferring that the user is going to shop, the mobile device may automatically launch an application for presenting a grocery list that the user has generated.
In accordance with embodiments of the present disclosure, various activities of a user of a computing device may be identified and used for deducing another activity of the user. For example, movements of a computing device may be detected using techniques as described herein. Using the detected movements, the computing device may infer one or more activities of the user such as, for example, detecting an activity of leaving a parking space at work and detecting an activity of parking an automobile at home. In this example, these activities may be used by the computing device for deducing that the user is driving home from work. In accordance with embodiments of the present disclosure, the computing device may determine a confidence level that the activity is the user's actual activity. Using the confidence levels associated with a collection of identified activities, the computing device can determine a confidence level that the deduced activity is the user's actual activity. The activities may be presented, such as by display, to the user in association with their chronological order and any associated geographic locations.
Referring to
The method of
The method of
Further, for example, the activity analyzer 134 may use chronological information associated with identified activities for deducing that another activity has occurred. Continuing with the aforementioned example, if stored information indicates that the activity of leaving a parking space at work occurred before the activity of parking the automobile at home, the activity analyzer 134 may determine that the user is driving home. Conversely, for example, if stored information indicates that the activity of leaving a parking space at home occurred before the activity of parking the automobile at work, the activity analyzer 134 may determine that the user is driving to work.
Other information, such as geographic location, may be used for deducing an activity. For example, continuing the aforementioned example, if it is determined that the automobile stops at home and had been parked at work, the activity analyzer 134 may determine that the user has driven home from work. Additional geographic location information may also be used for deducing the activity. For example, if the activity analyzer 134 receives information indicating movement along a road in a direction towards the home of the user, further confirmation is provided that the user has driven home.
The method of
Further, text boxes 1002, 1004, 1006, and 1008 may indicate a chronological order of the activities and their associated geographic locations. For example, each text box indicates a time when the activity was identified or detected. Further, the text boxes are shown in association with a road map for specifying where the activities were identified or detected.
Text boxes 1002, 1004, 1006, and 1008 may each indicate a confidence level associated with the activity in accordance with embodiments of the present disclosure. In this example, the confidence levels are indicated on a scale from 1 to 10, where 1 is the lowest confidence level and 10 is the highest confidence level. Text box 1004 indicates that there is a relatively high confidence of 9 that the user is leaving work parking at 5:31 PM. Text box 1006 indicates that there is a relatively high confidence of 7 that the user is driving home at 5:40 PM. The highest confidence of 10 is assigned to the activity of text box 1008, which indicates that the user is parking at home based on a comparison of the current location of the device to a known location of the home of the user. Text box 1002 is also assigned the highest confidence of 10, which is based on the confidence levels of the activities associated with text boxes 1004, 1006, and 1008.
The various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both. For example, the mobile device 102 shown in
The described methods and apparatus may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the presently disclosed subject matter. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the processing of the presently disclosed subject matter.
While the embodiments have been described in connection with the preferred embodiments of the various figures, it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function without deviating therefrom. Therefore, the disclosed embodiments should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.
This application claims the benefit of U.S. provisional patent application No. 61/289,120, filed Dec. 22, 2009 and titled AUTOMATIC GENERATION OF ACTIVITY OR TRANSITION BREADCRUMBS FROM DETECTED USER MOVEMENTS, the content of which is hereby incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5550907 | Carlsen | Aug 1996 | A |
5565909 | Thibadeau et al. | Oct 1996 | A |
5577041 | Sharma et al. | Nov 1996 | A |
5781150 | Norris | Jul 1998 | A |
6011975 | Emery et al. | Jan 2000 | A |
6278704 | Creamer et al. | Aug 2001 | B1 |
6314296 | Hamada et al. | Nov 2001 | B1 |
6366856 | Johnson | Apr 2002 | B1 |
6724872 | Moore et al. | Apr 2004 | B1 |
6826478 | Riewe et al. | Nov 2004 | B2 |
6978003 | Sylvain | Dec 2005 | B1 |
6992584 | Dooley | Jan 2006 | B2 |
7043362 | Krull et al. | May 2006 | B2 |
7046994 | Padawer et al. | May 2006 | B1 |
7047019 | Cox et al. | May 2006 | B1 |
7054621 | Kennedy | May 2006 | B2 |
7068768 | Barnes | Jun 2006 | B2 |
7085578 | Barclay et al. | Aug 2006 | B2 |
7096009 | Mousseau et al. | Aug 2006 | B2 |
7120455 | Chen et al. | Oct 2006 | B1 |
7139797 | Yoakum et al. | Nov 2006 | B1 |
7143214 | Hayes et al. | Nov 2006 | B2 |
7184523 | Dixit et al. | Feb 2007 | B2 |
7196630 | Baker | Mar 2007 | B2 |
7212111 | Tupler et al. | May 2007 | B2 |
7215750 | Nguyen et al. | May 2007 | B2 |
7231428 | Teague | Jun 2007 | B2 |
7248677 | Randall et al. | Jul 2007 | B2 |
7269413 | Kraft | Sep 2007 | B2 |
7330721 | Bhatia et al. | Feb 2008 | B2 |
7346668 | Willis | Mar 2008 | B2 |
7440900 | Chang | Oct 2008 | B2 |
7487190 | Black et al. | Feb 2009 | B2 |
7526306 | Brems et al. | Apr 2009 | B2 |
7529540 | Cox et al. | May 2009 | B2 |
7542558 | Klein et al. | Jun 2009 | B2 |
7548756 | Velthuis et al. | Jun 2009 | B2 |
7640293 | Wilson et al. | Dec 2009 | B2 |
7796998 | Zellner et al. | Sep 2010 | B1 |
7953447 | Shostak | May 2011 | B2 |
8036356 | Ghosh et al. | Oct 2011 | B1 |
8185132 | Katpelly et al. | May 2012 | B1 |
8392116 | Lehmann et al. | Mar 2013 | B2 |
8509411 | Laine et al. | Aug 2013 | B2 |
8532678 | Geelen | Sep 2013 | B2 |
8532923 | Bruelle-Drews | Sep 2013 | B2 |
20010028703 | Katseff et al. | Oct 2001 | A1 |
20020055088 | Feig | May 2002 | A1 |
20020098844 | Friedenfelds et al. | Jul 2002 | A1 |
20020172339 | Creswell et al. | Nov 2002 | A1 |
20030050984 | Pickup et al. | Mar 2003 | A1 |
20030112928 | Brown et al. | Jun 2003 | A1 |
20030119495 | Hanninen et al. | Jun 2003 | A1 |
20030147518 | Albal et al. | Aug 2003 | A1 |
20030152206 | Kawaguchi et al. | Aug 2003 | A1 |
20030182052 | DeLorme | Sep 2003 | A1 |
20030229717 | Teague | Dec 2003 | A1 |
20040066920 | Vandermeijden | Apr 2004 | A1 |
20040157562 | Ovaskainen et al. | Aug 2004 | A1 |
20040186848 | Kobashikawa et al. | Sep 2004 | A1 |
20050033811 | Bhogal et al. | Feb 2005 | A1 |
20050125148 | Van Buer et al. | Jun 2005 | A1 |
20050202781 | Steelberg et al. | Sep 2005 | A1 |
20050272448 | Tran et al. | Dec 2005 | A1 |
20060034441 | Kraft | Feb 2006 | A1 |
20060052116 | Bhogal et al. | Mar 2006 | A1 |
20060064739 | Guthrie et al. | Mar 2006 | A1 |
20060128411 | Turcanu | Jun 2006 | A1 |
20060153349 | Brun et al. | Jul 2006 | A1 |
20060171523 | Greenwell | Aug 2006 | A1 |
20060199567 | Alston | Sep 2006 | A1 |
20060200490 | Abbiss | Sep 2006 | A1 |
20060215823 | Gruchala et al. | Sep 2006 | A1 |
20060247853 | Jung et al. | Nov 2006 | A1 |
20070036316 | Croak et al. | Feb 2007 | A1 |
20070091878 | Croak et al. | Apr 2007 | A1 |
20070117552 | Gobburu et al. | May 2007 | A1 |
20070135110 | Athale et al. | Jun 2007 | A1 |
20070150174 | Seymour et al. | Jun 2007 | A1 |
20070197233 | Feng | Aug 2007 | A1 |
20070243880 | Gits et al. | Oct 2007 | A1 |
20070249327 | Nurmi | Oct 2007 | A1 |
20070260725 | McCuller | Nov 2007 | A1 |
20070266097 | Harik et al. | Nov 2007 | A1 |
20070281689 | Altman et al. | Dec 2007 | A1 |
20080027639 | Tryon | Jan 2008 | A1 |
20080125106 | Lee et al. | May 2008 | A1 |
20080195261 | Breed | Aug 2008 | A1 |
20080214148 | Ramer et al. | Sep 2008 | A1 |
20080250066 | Ekstrand et al. | Oct 2008 | A1 |
20080304637 | Ganganna | Dec 2008 | A1 |
20090034696 | Ramanathan | Feb 2009 | A1 |
20090063154 | Gusikhin et al. | Mar 2009 | A1 |
20090086947 | Vendrow | Apr 2009 | A1 |
20090104895 | Kasturi et al. | Apr 2009 | A1 |
20090124243 | Routley et al. | May 2009 | A1 |
20090186629 | Soelberg et al. | Jul 2009 | A1 |
20090197621 | Book | Aug 2009 | A1 |
20090215486 | Batni et al. | Aug 2009 | A1 |
20090216775 | Ratliff | Aug 2009 | A1 |
20090219921 | Beinroth et al. | Sep 2009 | A1 |
20090225968 | Paranjape et al. | Sep 2009 | A1 |
20090275307 | Kahn | Nov 2009 | A1 |
20090311999 | Sarkar et al. | Dec 2009 | A1 |
20090316951 | Soderstrom | Dec 2009 | A1 |
20090319176 | Kudoh et al. | Dec 2009 | A1 |
20100026570 | Amidi | Feb 2010 | A1 |
20100070171 | Barbeau et al. | Mar 2010 | A1 |
20100130213 | Vendrow et al. | May 2010 | A1 |
20100149306 | Gopal et al. | Jun 2010 | A1 |
20100228560 | Balasaygun et al. | Sep 2010 | A1 |
20100316205 | Zheng et al. | Dec 2010 | A1 |
20100317341 | Ferren | Dec 2010 | A1 |
20110034156 | Gatti et al. | Feb 2011 | A1 |
20110160998 | Rissanen | Jun 2011 | A1 |
20110212712 | Abdel-Kader | Sep 2011 | A1 |
20110238289 | Lehmann et al. | Sep 2011 | A1 |
20110276565 | Zheng et al. | Nov 2011 | A1 |
20120050101 | Whiteman | Mar 2012 | A1 |
20120134321 | Amidon et al. | May 2012 | A1 |
20120135716 | Katpelly et al. | May 2012 | A1 |
20120135718 | Amidon et al. | May 2012 | A1 |
20120135744 | Curtis et al. | May 2012 | A1 |
20120136942 | Amidon et al. | May 2012 | A1 |
20130006469 | Green et al. | Jan 2013 | A1 |
20130166096 | Jotanovic | Jun 2013 | A1 |
Number | Date | Country |
---|---|---|
1923830 | May 2008 | EP |
2004118853 | Apr 2004 | JP |
2004205443 | Jul 2004 | JP |
2007079945 | Mar 2007 | JP |
262408 | Sep 2006 | TW |
0131964 | May 2001 | WO |
0158165 | Aug 2001 | WO |
0211407 | Feb 2002 | WO |
2006075853 | Jul 2006 | WO |
2009022446 | Feb 2009 | WO |
Entry |
---|
MetroSense Project: People-Centric Sensing at Scale, Eisenman et al., WSW '06 at SenSys '06, Oct. 31, 2006. |
People-Centric Urban Sensing, Campbell et al., Electrical Engineering, Columbia University, 2005. |
Poster Abstract: Virtual Sensing Range, Miluzzo et al., SenSys '06, Nov. 1-3, 2006. |
Toward Societal Scale Sensing using Mobile Phones, Campbell et al., Nov. 12-13, 2009. |
The Second Life of a Sensor: Integrating Real-world Experience in Virtual Worlds using Mobile Phones, Musolesi et al., HotEmNets '08, Jun. 2-3, 2008. |
Overload Traffic Management for Sensor Networks, Wan et al., ACM Trans. Sens. Netw. 3, 4, Article 18, Oct. 2007. |
Solicitation-based Forwarding for Sensor Networks, Lee et al., 2006. |
SoundSense: Scalable Sound Sensing for People-Centric Applications on Mobile Phones, Pan et al., MobiSys '09, Jun. 22-25, 2009. |
Structuring Contention-based Channel Access in Wireless Sensor Networks, Eisenman et al., IPSN'06, Apr. 19-21, 2006. |
Urban Sensing: Opportunistic or Participatory?, Lane et al., 2005. |
Bubble-Sensing: A New Paradigm for Binding a Sensing Task to the Physical World using Mobile Phones, Lu et al., 2005. |
CenceMe: Injecting Sensing Presence into Social Network Applications using Mobile Phones (Demo Abstract), Campbell et al., 2005. |
Evaluating the iPhone as a Mobile Platform for People-Centric Sensing Applications, Miluzzo et al., UrbanSense08, Nov. 4, 2008. |
Radio Characterization of 802.15.4 and Its Impact on the Design of Mobile Sensor Networks, Miluzzo et al., EWSN 2008. |
The Rise of People-Centric Sensing, Campbell et al., IEEE Computer Society, 2008. |
A Survey of Mobile Phone Sensing, Lane et al., IEEE Communications Magazine, Sep. 2010. |
The Influence of Microprocessor Instructions on the Energy Consumption of Wireless Sensor Networks, Lane et al., 2006. |
Ambient Beacon Localization: Using Sensed Characteristics of the Physical World to Localize Mobile Sensors, Lane et al., EmNets'07, Jun. 25-26, 2007. |
E-CSMA: Supporting Enhanced CSMA Performance in Experimental Sensor Networks using Per-neighbor Transmission Probability Thresholds, Eisenman et al., 2007. |
Cooperative Techniques Supporting Sensor-based People-centric Inferencing, Lane et al., 2005. |
Demo Abstract: Transforming the Social Networking Experience with Sensing Presence from Mobile Phones, Campbell et al., SenSys'08, Nov. 5-7, 2008. |
Sensing Meets Mobile Social Networks: The Design, Implementation and Evaluation of the CenceMe Application, Miluzzo et al., SenSys'08, Nov. 5-7, 2008. |
CenceMe—Injecting Sensing Presence into Social Networking Applications, Milozzo et al., EuroS SC, 2007. |
CaliBree: A Self-calibration System for Mobile Sensor Networks, Miluzzo et al., DCOSS, LNCS, 2008. |
The BikeNet Mobile Sensing System for Cyclist Experience Mapping, Miluzzo et al., SenSys '07, Nov. 6-7, 2007. |
Techniques for Improving Opportunistic Sensor Networking Performance, Eisenman et al., 2005. |
BikeNet: A Mobile Sensing System for Cyclist Experience Mapping, Eisenman et al., ACM Transactions on Sensor Networks, vol. 6, No. 1, Article 6, Dec. 2009. |
Park-n. Find 2.0—iPhone App Index, http://www.iphoneappindex.com/2009/11/19/parkn-find-2-0, Nov. 19, 2009. |
Posimotion website, G-Park, Website: http://www.posimotion.com/index.php?go=applications&option=view&entry=1, 2007-2009. |
Ultimate Android, Dec. 2009. |
Audet, F. et al., “Extended REFER,” Slides from International Engineering Task Force (IETF), 59th Meeting, Feb. 29-Mar. 5, 2004, Seoul, South Korea, found at <http://www.softarmor.com/sipping/meets/ietf59/slides/>, 13 pages. |
“Cellity Address book 2.0,” Presentation, Mobile Media Summit, Medienforum nrw, Koln, Jun. 24, 2009, cellity AG, Hamburg, Germany, 18 pages. |
“City to showcase Typetalk phone system for deaf,” NEWS.scotsman.com, at <http://news.scotsman.com/health/City-to-showcase--Typetalk.4755272.jp>, updated on Dec. 3, 2008, printed May 2, 2011, 2 pages. |
“Ensure calls are never missed with SwyxWare Extended Call Routing,” sas.uk, originally found at <http://www.sas-uk.net/Swyx-Extended-Call-Routing.htm>, found at Internet Archive, dated May 9, 2008, printed May 2, 2011, 1 page. |
Fallon, Sean, “Tame Cube Concept: A Good Excuse is Just a Roll Away,” Apr. 10, 2008, at <http://gizmodo.com/378514/tame-cube-concept-a-good-excuse-is-just-a-roll-away>, printed Oct. 13, 2011, 2 pages. |
Forrest, Brady, “iPhone's Location-Aware Apps,” O'Reilly Radar, Jul. 14, 2008, copyright 2005-2009, O'Reilly Media, Inc., Internet publication, at <http://radaroreilly.com/2008/07/iphone-location-aware-apps.html>, printed Sep. 15, 2009, 3 pages. |
“Free Long Distance Calls via Google Maps,” article published on Feb. 21, 2007, at <http://www.fivecentnickel.com/2007/02/21/free-long-distance-calls-via-google-maps>, copyright 2005-2008, PlanetB Media, LLC, printed Nov. 11, 2008, 7 pages. |
“GeoWhitePages,” dated Aug. 6, 2006, at <http://babasave.wordpress.com/2006/08/06/geowhitepages>, printed Nov. 11, 2008, 3 pages. |
“Gizmo5,” Wikipedia, found at <http://en.wikipedia.org/wiki/Gizmo5> on Internet Archive, last modified May 31, 2008, captured Jun. 13, 2008, printed Nov. 11, 2011, 2 pages. |
“Google Maps Mania: Google Maps US/Canada Phone Book Mashups,” dated Jun. 9, 2006, posted by Mike Pegg, at <http://googlemapsmania.blogspot.com/2006/06/google-maps-uscanada-phone-book.html>, printed Nov. 11, 2008, 1 page. |
“Google PhoneBook,” at <http://snopes.com/computer/internet/google.asp>, last updated Feb. 21, 2005, copyright 1995-2008, snopes.com, printed Nov. 11, 2008, 2 pages. |
“Google Stalk,” at <http://shinyplasticbag.com/projects/stalk>, available on the Internet Archive as of Jan. 4, 2006, printed Nov. 11, 2008, 1 page. |
“GrandCentral,” Wikipedia, found at <http://en.wikipedia.org/wiki/GrandCentral> on Internet Archive, last modified Aug. 8, 2008, captured Aug. 10, 2008, printed Nov. 11, 2011, 2 pages. |
“IBM WebSphere Presence Server,” IBM Data Sheet, Dec. 2007, IBM Corporation, found at ftp://public.dhe.ibm.com/software/pervasive/presenceserver/Presence—6—2—DS—Final.pdf, 4 pages. |
“Ifbyphone: IVR Solutions, Click to Call, Voice Broadcast, Call Routing,” originally found at <http://public.ifbyphone.com/>, copyright 2008, ifbyphone, printed Apr. 27, 2011, 4 pages. |
Kaowthumrong, K. et al., “Automated Selection of the Active Device in Interactive Multi-Device Smart Spaces,” in Workshop at UbiComp'02: Supporting Spontaneous Interaction in Ubiquitous Computing Settings,Goteborg, Sweden, Sep. 29-Oct. 1, 2002, 6 pages. |
Koumpis, K. and Renals, S., “The Role of Prosody in a Voicemail Summarization System,” In Proc. International Speech Communication Association (ISCA) Workshop on Prosody in Speech Recognition and Understanding, Red Bank, NJ, Oct. 22-24, 2001, pp. 87-92, 6 pages. |
Messner, Richard A., “An Integrated Command Control and Communications Center for First Responders,” Department of Electrical and Computer Engineering, University of New Hampshire, Durham, New Hampshire, 2005, found at <http://www.ece.unh.edu/svpal/Papers/2005%20SPIE%20Paper.pdf>, 14 pages. |
“Method and System to Precisely Identify and Notify Callee's Status in Cellular Phone,” at <http://priorartdatabase.com/IPCOM/000175628>, Oct. 16, 2008, 3 pages. |
Milewski, Allen E. and Smith, Thomas M., “Providing Presence Cues to Telephone Users,” AT&T Labs, Research, Oct. 3, 2000, at <http://web.mitedu/bentley/www/mobile/papers/presencecues.pdf>, 9 pages. |
Nakanishi et al., “iCAMS: A Mobile Communication Tool Using Location and Schedule Information,” PERVASIVE computing, published by IEEE CS and IEEE ComSoc, Jan.-Mar. 2004, pp. 82-88, copyright 2004, IEEE, 7 pages. |
“Polar Bear Farm—iPhone Apps,” at <http://www2.polarbearfarm.com/telegram.html>, copyright 2008, Polar Bear Farm Ltd, printed Apr. 27, 2011, 2 pages. |
Scotsman.com, “City to showcase Typetalk phone system for deaf,” Dec. 3, 2008, at <http://www.scotsman.com/news/city—to—showcase—typetalk—phone—system—for—deaf—1—1280979>, printed Oct. 13, 2011, 1 page. |
“Slydial situations,” originally found at <http://slydial.com/>, printed Apr. 27, 2011, 2 pages. |
“User-Centric Implications | RebelVox Technology,” User Benefits, found at <http://www.rebelvox.com/en/technology/user-benefits.php> on the Internet Archive, dated Mar. 1, 2009, copyright 2009, RebelVox, printed Nov. 11, 2011, 1 page. |
Number | Date | Country | |
---|---|---|---|
20120136529 A1 | May 2012 | US |
Number | Date | Country | |
---|---|---|---|
61289120 | Dec 2009 | US |