Abstract:
An event dependent notification system and method presents a message to a user of a mobile device suggesting the user to perform an action during and/or after an event is detected. The event is detected by an accelerometer or another sensor. In some embodiments, instead of or in addition to a message being presented, the action is automatically taken. The message is able to encourage users to perform actions they do not typically perform or enroll in programs/services they are not currently utilizing, ultimately providing better and/or more secure functionality of the mobile device.

Description:
FIELD OF THE INVENTION 
     The present invention relates to the field of computing. More specifically, the present invention relates to the field of notifying mobile device users based on events. 
     BACKGROUND OF THE INVENTION 
     Wireless communication devices, such as mobile telephones, have expanded beyond merely mechanisms for communication. Many telephones include features enabling personal productivity, games and even digital cameras. Devices which include personal productivity applications may include data storage for storing the owner&#39;s personal information within the storage devices. In addition, phones now have the ability to run application programs specifically designed for phone-based runtime environments. 
     All of an individual&#39;s personal information operated on and stored by a user can be considered within that user&#39;s “personal information space.” In this context, a “personal information space” is a data store of information customized by, and on behalf of the user which contains both public data the user puts into their personal space, private events in the space, and other data objects such as text files or data files which belong to the user and are manipulated by the user. The personal information space is defined by the content which is specific to and controlled by an individual user, generally entered by or under the control of the individual user, and which includes “public” events and data, those generally known to others, and “private” events and data which are not intended to be shared with others. It should be recognized that each of the aforementioned criteria is not exclusive or required, but defines characteristics of the term “personal information space” as that term is used herein. In this context, such information includes electronic files such as databases, text files, word processing files, and other application specific files, as well as contact information in personal information managers, PDAs and cellular phones. 
     One difficulty users face is that it can be time consuming to enter information into a telephone, and once entered, the information is subject to loss. If the phone is damaged or simply lost by the user, the time and effort spent to enter the information into the phone is lost. Also, the data itself is lost. Some phones come with software and data connection cables allowing users to enter and backup information stored on a telephone by physically connecting the telephone to a personal computer. Many of these applications are provided by the manufacturer of the phone and are customized to interact directly with the phone. That is, the application program is generally specifically designed for the telephone to retrieve data from the telephone and store it in the application on a personal computer. In addition, some third party vendors have attempted to make more universal synchronization systems that interact with phones through the physical cable. Moreover, Mighty Backup or SIM backup to a server/remote service. 
     The trouble with these physical connection mechanisms is that the user must consciously remember to physically connect the phone to the computer on a regular basis in order to ensure that the information backed up on the computer is accurate. In addition, the computer itself is subject to volatility. The data on the computer may be lost or damaged due to hardware and software failures. 
     While phone users generally desire increased functionality in phone based applications, they also desire the applications be relatively easy to use. Even general computer based utility applications, such as data back-up applications, are advantageous if they are set to run without significant user intervention. Furthermore, users may not even be aware of data back-up applications available for use on/with the phone. Therefore, a solution is needed to further ensure users do not lose their data. 
     SUMMARY OF THE INVENTION 
     An acceleration, pressure, altitude, temperature, moisture and/or other event dependent notification system and method presents a message to a user of a mobile device suggesting the user to perform an action during and/or after an event is detected. The event is detected by an accelerometer or another sensor. In some embodiments, instead of or in addition to a message being presented, the action is automatically taken. The message is able to encourage users to perform actions they do not typically perform or enroll in programs/services they are not currently utilizing, ultimately providing better and/or more secure functionality of the mobile device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a device of an embodiment according to the present invention. 
         FIG. 2  illustrates a system of an embodiment according to the present invention. 
         FIG. 3  illustrates a phone of an embodiment according to the present invention. 
         FIG. 4  illustrates a phone of an embodiment according to the present invention. 
         FIG. 5  illustrates a phone of an embodiment according to the present invention. 
         FIG. 6  illustrates a phone of an embodiment according to the present invention. 
         FIG. 7  illustrates a flowchart of an embodiment of the present invention. 
         FIG. 8  illustrates a flowchart of an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     An acceleration event dependent notification system and method operates so that when an event occurs, a notification is presented suggesting the user to perform an action such as to back up data. In some embodiments, the action is performed automatically when the event occurs. In some embodiments, the notification is presented a first time, and then in subsequent times, the action is performed automatically. 
     The event is able to be any event, including but not limited to, an accelerometer-detected event, a moisture-detected event, a shock-detected event, an electrical surge-detected event, a heat-detected event, a camera-detected event, determining when a data update occurs such as n number of contacts are entered, determining when m number of days have passed and detection of health of mobile device internal components. Furthermore, a single mobile device is able to implement detection of any one or more of these events. 
     It is becoming increasingly important to back up mobile device data since a significant amount of contact information and other data is able to be input/acquired/stored as described in U.S. patent application Ser. No. 11/128,121, filed on May 12, 2005 and entitled “ADVANCED CONTACT IDENTIFICATION SYSTEM” and U.S. patent application Ser. No. 12/856,327, filed on Aug. 13, 2010 and entitled “LIVING ADDRESS BOOK” which are both hereby incorporated by reference. In some embodiments, backup of data is performed using the system and method described in U.S. patent application Ser. No. 10/789,816, filed on Feb. 27, 2004 and entitled “WIRELESS TELEPHONE DATA BACKUP SYSTEM” which is herein incorporated by reference. 
       FIG. 1  illustrates a device of an embodiment according to the present invention. A wireless communication device, such as a mobile/wireless phone  100  is able to be provided with a system agent/client application  140 . The client application  140  can include a SyncML communication client designed to interact with the SyncML server  195  in accordance with approved and proposed versions of the SyncML OMA DS specification, including proposed extensions (available at http://www.openmobilealliance.org). Alternatively, the client application  140  can be an application designed to communicate with an advanced ID service server  160  using an existing SyncML client  132  on the phone  100  provided by the phone&#39;s manufacturer (as well as any custom extensions supported by such SyncML client  132 ), or an application specifically designed to communicate with the advanced ID service server  160  via another protocol, including a proprietary protocol. In some embodiments, the client application  140  has a fully implemented SyncML communication client and the advanced ID service server  160  includes a SyncML server  195 . In some embodiments, the application is a client application device sync agent such as that disclosed in U.S. Pat. No. 6,671,757, which is herein incorporated by reference. Various embodiments of the client application  140  are set forth below. 
     In accordance with the present invention, the phone  100  includes a system memory  122  which is able to further include an operating system (OS)  125  having operating system services including telephony and linking services, networking services, multimedia and graphics display services all provided to a user interface (UI)  120 . The OS  125  is able to be the phone&#39;s proprietary OS, BREW, or any other device or operating system suitable for a phone (such as the Symbian Operating system). Additional base services  135  and operating system kernel services are able to also be provided. The operating system  125  is able to additionally provide an SMS client  145  built into the operating system  125  allowing short messages to be provided across the wireless communications link  150  to other users. Still further, the SyncML client  132  is able to be provided and supported by the operating system services. The phone  100  includes a native phone data store  170  which contains an address book of contacts and other information which is able to be provided by a subscriber. Such information can further include ringtones, pictures, sounds, and movies, all dependent on the functional capabilities of the phone  100 , the space allowed in the system memory  122 , and the services provided by the operating system  125 . 
     The client application  140 , various embodiments of which are discussed herein, is also loaded into the phone  100 . As will be well understood by one of average skill in the art, the client application  140  can be provided by the phone manufacturer, network operator or downloaded by a user at a later time. To download and install the client application  140 , the user selects a download area of the phone operating system  125 , selects the client application  140  from offerings provided by the service provider or carrier who maintains the wireless communications link  150 , or an enterprise service provider who maintains the advanced ID service server  160 , and installs the client application  140  onto the phone  100 . In an alternative embodiment, the client application  140  is a self-supporting application designed to run as a JAVA or BREW agent, or any other device or operating system specific agent (such as an agent operable on the Symbian Operating system). This client application  140  can either include its own SyncML communication client, or interact with the existing SyncML client  132  on the phone  100 . Changes can occur at field level or byte level. Alternative embodiments can communicate via alternative protocols via the wireless communications link  150  to store information in the user info store  106 . 
     The phone  100  includes at least the user interface (UI)  120 , the client application  140  having a communication or sync engine and data store manager, the SyncML client  132  and the phone data store  170 . The client application  140  provides an appropriate graphical user interface to the UI  120  which provides the user an alternative point of interaction with the system and service provided by the enterprise service provider. Interaction with the system can be via this phone user interface  120  or via an interface provided by the web server  180  ( FIG. 2 ). The sync engine and data store manager are responsible for maintaining user settings and options in the phone&#39;s persistent storage as well as automatically pushing and retrieving changes to and from the advanced ID service server  160  ( FIG. 2 ). The phone data store  170  includes account information, persona data, buddy information, data for other users who have true links with the subscriber, and multimedia content. 
     The phone  100  also includes one or more sensors to determine if an event occurs. The sensors are able to be implemented in hardware, software or a combination of the two. 
     An accelerometer  102  is a device for measuring the total specific force on the device which is sometimes referred to as acceleration. The accelerometer  104  is able to be used to determine if a person drops the phone  100 . The concern with a dropped phone is that the phone  100  and internal components are able to be damaged from the impact thus rendering the phone  100  inoperable, resulting in a loss of data stored in the phone&#39;s memory. A moisture sensor  104  detects moisture which is able to short out or otherwise damage components of the phone. A shock sensor  106  detects shocks or an electrical surge which is able to destroy internal components of the phone. A heat sensor  108  detects heat which is able to melt or damage internal components of the phone. Additional/other sensors are able to be included and implemented to monitor other events. 
     A monitor application  110  receives information from the sensors and utilizes the information to take action such as displaying a message. The monitor application  110  is also able to monitor events such as elapsed time, the number of database entries, the percent of memory used to store data, the number of changes in the data and other events that affect the data. For example, every 7 days, a message pops up asking a user if he/she would like to backup his/her contact list. In another example, after a user inputs 10 contacts, the user is presented a message asking if a backup of the data is desired. In yet another example, when the percent of memory used surpasses a threshold such as 50%, a message is presented asking if the user would like to perform a backup. In another example, after data has been changed a certain number of times, such as 10 changes, the user is able to be queried about backup. 
     As described above, the backup is able to occur automatically instead of presenting a question to the user. For example, instead of popping up a message every 7 days, the user&#39;s data is able to be automatically backed up every 7 days. In some embodiments, after asking a user to subscribe, future backups are automatic. Furthermore, backup is not the only action that is able to occur during and/or after an event happens. For example, to ensure the memory of the phone  100  does not become full, a message is able to be presented when the memory reaches a threshold, for instance 80% used, to delete data. In another example, if a user drops the mobile device, another possible message is to suggest that the user purchase a protective case. 
     The monitor application  110  or a separate application is able to monitor system components or environments for events. For example, the monitor application  110  is able to monitor the internal temperature of the phone  100 , and when the temperature surpasses a threshold, the phone  100  is able to perform an action such as present a message to the user and/or automatically back up the user&#39;s data. Other components to be monitored include, but are not limited to, the screen, battery, processor, memory and so on, such as an inoperable screen or keyboard triggers backup. 
     Additional/other applications are able to be included and implemented to monitor other events. 
       FIG. 2  illustrates a system of an embodiment according to the present invention. A phone  100  is coupled to a server  160  through a network  150  such as a Wide Area Network/Local Area Network (WAN/LAN) or wireless communications link. The phone  100  is coupled to the network  150  to transmit voice and data communications to other devices coupling to the wireless network  150 . It will be understood that the network  150  is able to be a wireless internet link or a cellular network maintained by a cellular carrier, a GSM or CDMA network, or some other wireless communications link. The carrier is able to comprise the enterprise service provider or is able to be separate from the enterprise service provider. Data is able to be transmitted over the network in any number of known formats. 
     An advanced ID service server  160  is also provided which communicates with the phone  100  via the wireless network  150  directly over a data connection or via a SyncML server  195 . Various embodiments of the system for implementing the advanced contact ID service are discussed further in U.S. patent application Ser. No. 11/128,121. In some embodiments, the advanced ID service server  160  communicates directly with the phone  100 . In alternative embodiments, the advanced contact ID system is implemented using a synchronization server such as that described in U.S. Pat. Nos. 6,671,757, 6,694,336 or 6,757,696. 
     The advanced ID service server  160  stores user data in the user info store  166  in a manner which associates the data with an individual user of the phone. In some embodiments, the data is stored in bulk—that is all records and information for the individual user are stored in simple text form, (or binary form, depending on the type of data in use). This information is stored in the data store using a unique identifier (UID) associating the personification data with the individual user. The identifier is able to be any randomly selected identifier, so long as the individual user is uniquely identified, and the data is associated with the user. In a further aspect, this user DID is able to be a universally unique identifier (UUID), created in a manner described in the aforementioned U.S. Pat. Nos. 6,671,757, 6,694,336 or 6,757,696 or other manners to create a single ID for a given user. In yet another embodiment, user data and changes to the user data are stored in change logs in a manner described in the aforementioned U.S. Pat. Nos. 6,671,757, 6,694,336 or 6,757,696. 
     The web server  180  allows the user on a computer or other user device  190  having a web browser  192  to configure aspects of the system of the invention. The web server  180  is able to have a hardware configuration similar to the advanced ID service server  160  and is able to comprise one or more physical computers. Additionally, the web server  180  is able to be integrated with the advanced ID service server  160 . 
       FIG. 3  illustrates a phone  100  of an embodiment according to the present invention. In some embodiments, the phone  100  displays a message to the user during and/or after an event is detected. For example, a message is displayed during and/or after an accelerometer  102  ( FIG. 1 ) detects that the user dropped his/her phone  100 . In some embodiments, the user is queried as to whether or not he/she wants to perform an action such as subscribe to a backup application. The user then responds to the query by inputting a response using a touchscreen, buttons or any other input mechanism. In some embodiments, the backup application is pre-downloaded to the phone but not subscribed to, so that when an event occurs, the user is reminded to subscribe to the product/service. In some embodiments, the backup application has to be downloaded and then subscribed to, so the user is suggested to download and subscribe. In some embodiments, the user is already a subscriber, but has not configured the backup application appropriately, and the user is reminded of such. Any type of suggestion, reminder, hint, question, advertisement or similar presentation is possible. 
       FIG. 4  illustrates a phone  100  of an embodiment according to the present invention. In some embodiments, the phone  100  displays a message to the user during and/or after an event is detected and has been automatically responded to by performing an action. For example, a message is displayed during and/or after an accelerometer  102  ( FIG. 1 ) detects that the user dropped his/her phone  100  and an application has begun backing up the data. In some embodiments, the user is given an option to abort the action automatically taken. The user is then able to abort by inputting a response using a touchscreen, buttons or any other input mechanism. 
       FIG. 5  illustrates a phone of an embodiment according to the present invention. In some embodiments, the phone  100  displays an advertisement to the user during and/or after an event is detected. For example, after the user has entered in a tenth contact, a Coke® advertisement is displayed. 
       FIG. 6  illustrates a phone  100  of an embodiment according to the present invention. In some embodiments, the phone  100  presents a sound and/or a voice message to the user during and/or after an event is detected. For example, after the user drops his/her phone, a message is played asking the user if he/she wants to back up his/her data today. The user is provided options to backup the data or not. 
       FIG. 7  illustrates a flowchart of an embodiment of the present invention. In the step  700 , a mobile device is monitored for an event. The event is related to any attribute of the mobile device such as acceleration of a fall, shock, electrical surge, moisture, data storage and/or camera detection, amongst others. The device monitors for these events using hardware such as an accelerometer and/or other sensors and software such as applications which monitor relevant data and components. In the step  702 , the event is detected. Detecting the event is able to be any relevant occurrence such as detecting that the mobile device was dropped, detecting moisture, detecting a shock detecting the passage of a specified number of days and/or detecting a specified number of contacts stored on the mobile device which are detectable using the sensors and/or applications. A threshold is able to be set for each event to determine if it is considered a relevant occurrence. For example, the threshold for moisture is not simply an amount greater than 0, it is an amount that reaches the level of concern for the functionality of the phone. Each sensor, component and/or application is able to have a separate threshold. Furthermore, each sensor, component and/or application is able to have multiple thresholds. In some embodiments, the threshold is set by the user, and in some embodiments, the threshold is set by someone other than the user. After the sensor detects the event, information is sent to an application to process the information and determine what step to take. In the step  704 , it is determined if notification is enabled. If notification is enabled, then in the step  706 , a user is notified that the event has been detected. In some embodiments, the user is notified by a text message being displayed on the screen of the mobile device. In some embodiments, the user is notified in another manner such as an SMS text message, a voice message, a sound alarm, a graphic/icon, an advertisement, a video, a combination of these and/or any other method of informing the user that an event has occurred. After the user is notified, in some embodiments, the user is able to make a selection using the mobile device input such as selecting “yes” to subscribe to a backup service. If notification is not enabled in the step  704  or after the notification is presented in the step  706 , it is determined if automatic action is enabled in the step  708 . If automatic action is enabled, then an action is performed automatically on the mobile device depending on the event detected, in the step  710 . For example, if it is detected that the memory of the mobile device is 80% full which is a set threshold for an automatic backup, then the mobile device automatically begins the backup. If automatic action is not enabled in the step  708 , then no actions are automatically taken. In some embodiments, the steps  704 ,  706  and  708 ,  710  are switched so that the automatic action is able to take place before notification of the user. In some embodiments, one or more steps are able to be skipped or excluded. For example, if notifications are not included in an embodiment, the process goes to determining if an automatic action is to be executed. In some embodiments, some events are able to have automatic actions, and some events are able to have notifications. 
       FIG. 8  illustrates a flowchart of an embodiment of the present invention. In the step  800 , a mobile device is monitored for an event during a call (particularly, when a device is ringing). In the step  802 , the event is detected. The event is related to an attribute of the mobile device and a user indicating that the user is attempting to answer the call. Examples of events include, but are not limited to, detecting a user moving towards the mobile device with a camera or a motion sensor, detecting a user moving the mobile device (e.g. lifting the device to the user&#39;s ear or the device fumbling in the user&#39;s pocket) and detecting the warmth of a user&#39;s hand (indicating that the user is holding the device). In the step  804 , an action is automatically performed. For example, the actions are able to assist a user in answering a phone call in a timely manner. With a mobile device that includes a camera, if the camera detects a user coming towards to the phone, the mobile device is able to elongate the ring cycle before sending the call to voicemail. An accelerometer is able to determine that the user is moving the phone (e.g. struggling to retrieve the phone from the user&#39;s pocket) and elongates the ring cycle. In some embodiments, in addition to or instead of elongating the ring cycle, an indicator is able to be triggered on the calling device that the user is about to answer the call. In some embodiments, a tone, ring tone, music, audio, text and/or other indicators are able to notify the calling user that the call receiving user is about to answer. For example, User A calls User B, and after 5 rings, User B begins approaching the mobile device which usually sends the call to voicemail at 6 rings. Additionally, User A usually hangs up at 6 rings. However, the mobile device&#39;s camera detects User B approaching and elongates the ring cycle as well as causes User A&#39;s device to play the message, “Stay on the line, I&#39;m coming.” Because of the extended ring cycle, User B is able to answer the call before User A hangs up and before the call is sent to voicemail. 
     As described above, the notification is able to be an advertisement. The advertisement is able to be related to the event such as after a user drops his phone, an advertisement for backup software is presented. The advertisement is also able to be unrelated to the event such as an advertisement for Coke® after inputting every tenth contact. 
     In some embodiments, when a backup is performed after an event, the backup only backs up user data. In some embodiments, a backup also includes applications downloaded by a user. 
     In some embodiments, while an event is detected, the mobile device is able to attempt to automatically take precautionary measures to minimize any damage of the event. For example, if a mobile device is falling, a backup to a server is able to occur automatically. If the backup to the server is not possible due to likely time constraints (e.g. a fall typically only lasts a second or two), a backup is possible to apart of memory that is readable even if the mobile device overall becomes inoperable. 
     In some embodiments, other devices are able to implement the acceleration event dependent notification system and method including, but not limited to, a personal computer, laptop computer, computer workstation, a server, mainframe computer, handheld computer, personal digital assistant, cellular/wireless telephone, smart appliance, gaming console or any other suitable computing device. 
     To utilize the acceleration event dependent notification system and method, a user utilizes a mobile device as it would typically be used except when an event occurs and the user has to respond to any action presented during and/or after the event. Once the action is presented, in some embodiments, the user responds to a question or follows a suggestion. In some embodiments, the user is able to cancel/abort an action or otherwise let the action perform automatically. 
     In operation, the acceleration event dependent notification system and method monitors a mobile device using sensors and applications to detect specified events. When an event is detected by a sensor, information is sent to an application which is able to process the information and then act accordingly such as presenting a notification. In some embodiments, the notification includes a question and/or a suggestion about an action to take. In some embodiments, instead of or in addition to the notification, automatic action is taken in relation to the event. 
     The following is an example of a mobile cellular phone implementing the acceleration event dependent notification system and method. A user purchases the phone which has an accelerometer for detecting a dropped phone, a sensor for detecting moisture, an application for backing up data to a server and an application for monitoring the memory remaining on the phone. Although the phone has backup software, the user has not subscribed to the service that provides the backups. Immediately, the user inputs contact information for 67 friends, family, co-workers and other acquaintances. On the third day of owning the phone, the user drops the phone. The drop triggers the accelerometer which sends a signal to an application which displays a message encouraging the user to subscribe to the backup service to prevent data loss. Upon picking up the phone, the user reads the message and subscribes to the service which then backs up his 67 contacts. After taking a few pictures with his phone and downloading several songs, the memory usage of the device surpasses an 80% threshold which triggers the monitoring application to play a voice message suggesting the user to delete some data. The user chooses to ignore the suggestion and does not delete and data. Upon reaching a 90% threshold, the monitoring application presents an image advertisement to purchase additional memory storage which is able to be plugged into the phone. The user purchases additional memory and is only at 10% capacity with the added memory. A week later, on a rainy day, the phone is not properly protected and the moisture sensor is triggered which sends a signal to the application to present a video advertisement to purchase a waterproof case specially made for this phone. The user follows the advertisement&#39;s advice and purchases the waterproof case. From then on, the user&#39;s data is backed up periodically, the user has more memory to store songs, pictures, contacts and additional data and the phone is protected from rain because of the waterproof case. Furthermore, three companies benefit from direct advertising with sales. 
     The present invention has been described in terms of specific embodiments incorporating details to facilitate the understanding of principles of construction and operation of the invention. Such reference herein to specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. It will be readily apparent to one skilled in the art that other various modifications may be made in the embodiment chosen for illustration without departing from the spirit and scope of the invention as defined by the appended claims.