The present invention is a computer-based method and system for managing user preferences for one or more software applications running on a mobile computing device.
Mobile computing devices, such as laptop computers, personal data assistants (PDAs) and pocket computers, are commonly transported from one location to location. Such mobile computing devices are increasingly provided with wireless networking capabilities, allowing the mobile computing devices to look for and connect to wireless devices and networks as they are transported from one location to another location. For example, a user can carry a laptop computer into a new environment, access a local network, and then move files between computing devices or print to available network printers. However, there remain some barriers to efficient operation of mobile computing devices as they transition from one location to another. For example, network settings on the mobile computing device may need to be changed depending on the location, or the default printer may be set for one location, while the user has moved to another location.
In short, there remains a need for effective management of user preferences as a mobile computing device is transported from one location to location.
The present invention is a computer-based method and system for managing user preferences for one or more software applications running on a mobile computing device.
A exemplary method for managing user preferences for one or more software applications running on a mobile computing device commences with the mobile computing device receiving data concerning its location. The mobile computing device further receives data from one or more wireless devices present and/or available for connection in the location. The next step is to query a first database to ascertain optimal user preferences for one or more software applications running on the mobile computing device based on the location of the mobile computing device and the wireless devices present and/or available for connection in the location. When the optimal preferences have been returned from the database, these preferences are communicated to the appropriate software applications running on the mobile computing device.
To carry out the exemplary method described above, the mobile computing device may host a digital computer program that includes appropriate modules for executing the requisite instructions for performing the operational steps of the method: (a) a location determination module for receiving data concerning a location of the mobile computing device; (b) a radio management module for receiving data about each wireless device present and/or available for connection in the location; (c) an analysis module for querying the first database to ascertain optimal user preferences for the one or more software applications running on the mobile computing device based on the location of the mobile computing device and the wireless devices present and/or available for connection in the location; and (d) an application interface for communicating instructions to one or more software applications for changing the user preferences associated with each software application to the optimal user preferences.
As an additional refinement, a further module can be incorporated into the method and system of the present invention for monitoring one or more software applications on the mobile computing device to identify changes to user preferences which are manually implemented. Upon identification of a change to user preferences, that change is stored in a second database, along with the location of the mobile computing device and the wireless devices present and/or available for connection to the mobile computing device at the time of each change. Then, there is a periodic review of the changes to user preferences stored in the second database to identify patterns of changes based on the mobile computing device being in a particular location or on a particular combination of wireless devices present and/or available for connection to the mobile computing device. Based on the identification of such patterns of changes, the first database is then updated.
The present invention is a computer-based method and system for managing user preferences for one or more software applications running on a mobile computing device.
Referring still to
Furthermore, it should be recognized that there is a distinction between wireless devices present in a location and wireless devices that are available for connection in a given location. For example, the mobile computing device may receive data from and identify an access point to a secure network in a particular location, but without an appropriate security key or password, the mobile computing device can not connect to that access point. For purposes of the present invention, it is still helpful to know that the access point is present, even if it is not available for connection because it serves to identify and distinguish the current location of the mobile computing device.
Referring still to
The first database 120 can store various types of user preferences for a wide range of software applications, including operating system software. For example, preferences for instant messaging software running on the mobile computing device, including which users can be engaged, can be established and implemented based on the location of the mobile computing device. For another example, with respect to the operating system software, user preferences that can be established and implemented based on the location of the mobile computing device and the wireless devices present and/or available for connection in the location include, but are not limited to: (a) Transmission Control Protocol (TCP) network settings; (b) default printer; (c) mapped file systems; (d) wireless security settings; (e) networking security settings; and/or (f) file sharing settings. For instance, focusing specifically on the TCP network settings, the first database 120 could store relevant user preferences with respect to: (i) whether or not to use Dynamic Host Configuration Protocol (DHCP); (ii) if not, the appropriate settings for the netmask, address, and gateway; (iii) whether or not the Domain Name Server (DNS) is assigned by DHCP; and (iv) if not, the appropriate identification of the DNS servers.
In this exemplary implementation of the method and system of the present invention, each preference is assigned and stored in the database 120 with a unique identifier. For example, Table A provides two different TCP network settings, with the unique identifiers P1 and P2:
The database 120 would then also store the appropriate mapping between each preference and the triggers for each preference, i.e., a location of the mobile computing device, the wireless devices present, or the wireless devices available for connection. Since each location and wireless device also has a unique identification, a canonical preference trigger identification may be created, for example, by concatenating a 1 for a location, a 2 for a present wireless device, and a 3 for a wireless device available for connection. If there were two different locations and three wireless devices, the preference triggers may be as follows:
Therefore, with respect to the querying of the database 120, as indicated by step 106, each preference trigger is representative of a location of the mobile computing device, the wireless devices present, or the wireless devices available for connection, and therefore, querying the database 120 using one or more preference triggers will return the optimal preferences stored in the database and associated with the particular preference trigger or a set of preference triggers. Returning to Table A, for purposes of example, trigger 3_2 (wireless device 3 connected) may be associated with the set of preferences P1, so when the preference trigger 3_2 is passed to the database 120, the set of preferences P1 will be returned. Similarly, when the preference trigger 3_3 is passed to the database 120, the set of preferences P2 will be returned
Returning to the flow chart of
As a further refinement, one of two trigger actions may be associated with each preference trigger or set of preference triggers—“trigger and hold” or “trigger while true.” In the example described above, when the preference trigger 3_2 is passed to the database 120, the set of preferences P1 is returned and implemented. If the “trigger and hold” action was associated with the preference trigger 3_2, the new settings will remain in effect even after the environment represented by preference trigger 3_2 has changed, for example, movement to a different location. If the “trigger while true” action was associated with the preference trigger 3_2, the settings would be returned to the prior state as soon as the environment represented by preference trigger 3_2 had changed.
With respect to
Referring specifically to
Finally, as a further refinement, it is contemplated that the method and system of the present invention could be used not only for managing user preferences for one or more software applications running on the mobile computing device, but also for managing user preferences for one or more software applications running on a remote device that is connected to the mobile computing device. For example, and as discussed above with reference to
One of ordinary skill in the art will recognize that additional embodiments are also possible without departing from the teachings of the present invention or the scope of the claims which follow. This detailed description, and particularly the specific details of the exemplary implementation disclosed, is given primarily for clarity of understanding, and no unnecessary limitations are to be understood therefrom, for modifications will become obvious to those skilled in the art upon reading this disclosure and may be made without departing from the spirit or scope of the claimed invention.
The present application claims priority to U.S. Provisional Patent Application Ser. No. 60/883,622 filed on Jan. 5, 2007, the entire disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60883622 | Jan 2007 | US |