This invention relates generally to portability, and more particularly to a method and system for sharing profiles to enable substantially seamless operation.
Seamless mobility in the contexts of today's electronic devices seem to fail to address beyond content and session handling. A personal digital assistant can synchronize its data among several computers, but each such a device typical fails to account for a user's unique preferences and habits over a different context in terms of time, location, availability of user devices or presence of other devices/user, or device capabilities.
A user of a mobile device can be engaged in various different contexts in relation to other devices or in relation to other users of devices within a proximity of the user. Although devices exist that can merely transfer data from one device to another, such devices usually fail to account for a new context or environment in which the user can be set in.
Embodiments in accordance with the present invention can provide a means to create an enhanced universal access and experience by learning from users and their interaction with devices.
In a first embodiment of the present invention, a method of collectively setting preferences among at least two electronic devices can include the steps of collecting user preference data independently by the at least two electronic devices, exchanging the user preference data among the at least two electronic devices when such devices are within a predetermined proximity, forming a user profile from the user data exchanged, and setting parameters in at least one among the electronic devices in accordance with the user profile. User preference data can include user content preferences, user habit preferences, user source preferences, and user device feature preferences such as movie preferences, video series preferences, actor or actress preferences, movie producer preferences, movie studio preferences, volume preferences, network preferences, user taste preferences, song preferences, radio station preferences, singer preferences, band preferences, music style preferences, web site preferences, temperature preferences, alarm setting preferences, chat buddies, and email list preferences. The method can further include the steps of authenticating the at least two electronic devices before the step of exchanging the user preference data and registering users. The method can further include the step of interchanging capabilities and settings among the at least two devices. Optionally, the method can further include the step of forming a master and slave relationship among the at least two electronic devices to enable a master device among the at least two electronic devices to request and receive a profile from a slave device among the at least two electronic devices. The master device can be selected from among the electronic devices in a number of ways including determining which device collected more profiles or determining which device is in contact with a greater number of devices. These factors can be used to give a particular device greater priority over other devices in an automatic request to become a master device. With respect to the master and slave relationship, the method can further include the step of determining a difference in user preferences and settings between the master device and the slave device and sending the difference to the slave device. Note, the step of forming a user profile can include the step of creating a common virtual profile for the at least two electronic devices containing a table having information regarding which devices handle a type of information, when the information was created, where the information was stored, and what information is relevant in a current environment in view of resources available. The method can further optionally include the step of maintaining information regarding which among the at least two electronic devices contains a full version of the common virtual profile and a partial version of the common virtual profile. Further note, the step of setting parameters can include the step of setting parameters in each of the at least two electronic devices in accordance with the user profile.
In a second embodiment of the present invention, a profile manager used in an electronic device can include an interface module for abstracting data to a remaining portion of the profile manager, a device identifier coupled to the interface module that identifies a remote device and identifies data that can be shared between the electronic device and the remote device and a profile generator coupled to the device identifier for creating a user profile based on user interactions with the electronic device. The profile manager can further include a storage medium for storing the user profile including a local profile and a interchangeable profile and an update engine for detecting what needs to be updated on at least one among the electronic device and the remote device. The profile manager can further include an input device filter coupled between the device identifier and the profile generator for filtering data to match data recognizable by the electronic device and an output device filter coupled between the storage medium and update engine for filtering data to match data recognizable by the remote device. The profile manager can further include a decision engine coupled to the update engine for directing at least one among the electronic device and the remote device to alter at least one setting in accordance with the update engine. Optionally, the profile generator can create a common virtual profile for the electronic device, the remote device, and any other remote device using the common virtual profile, wherein the common virtual profile contains a table having information regarding which devices handle a type of information, when the information was created, where the information was stored, and what information is relevant in a current environment in view of resources available.
Other embodiments, when configured in accordance with the inventive arrangements disclosed herein, can include a system for performing and a machine readable storage for causing a machine to perform the various processes and methods disclosed herein.
While the specification concludes with claims defining the features of embodiments of the invention that are regarded as novel, it is believed that the invention will be better understood from a consideration of the following description in conjunction with the figures, in which like reference numerals are carried forward.
Embodiments in accordance with the present invention enable a framework for collecting user preferences and habits within each context from multiple electronic devices used by a user. The capabilities of the device (in use) in conjunction with preferences and habit information are used to create enhanced access and experience for the user. Embodiments herein focus on collecting & sharing learning from multiple devices and using this new shared learning to enhance an overall experience on all devices and user surroundings.
The learning at each device can include a myriad of types of information including:
Referring to
Referring to
The first area 32 can include a interface module 36 that abstracts all types of short range communications (Bluetooth, WLAN, Zigbee™ or IEEE 802.15.4, etc) to the rest of the profile manager, a device identifier 38 that identifies a remote device 31 and identifies the data that can be shared (not necessarily betweenjust the local device and the remote device, but amongst many or all devices in the framework 10). The first area 32 can further include an input device data filter 40 that filters and sends appropriate information (filtered to match the local device) to a profile generator 42. The profile generator 42 creates a user profile 35, habits (list) 39, favorites (list) 37, and other information that can be used in a profile. The first area 32 can also include an output device filter 46 that sends appropriate information (filtered to match the local device) to a Update module 48. The Update module 48 detects what needs to be updated (what is new to be updated on the remote device). Coupled between the profile generator 42 and the output device filter 46 and included in the first area 32 is a profile storage 44 having for a local profile 41 and an interchangeable profile 43.
The second area 34 also includes and shares with the first area 32 the interface module 36 and the Update module 48. The update module 48 in this regard can be used in controlling both the local (or local device parameter controls 49) and remote device 31 in conjunction with a decision module 47. For example, the update module 48 can update a temperature reading from the remote device 31 to the local device (or another hremote device). The decision module 47 indicates to remote device 31 and/or local device to take action (i.e., change volume settings, change temperature settings, etc.). The second area 34 can further include a temporary storage 45 that stores only the data interchanged and generally not data that is part ofthe profile (latest temperature readings, etc). The data in the temporary storage 45 generally expires (particularly if the local device did not find any other remote device that takes the temperature for example).
In one embodiment of the invention, all the data collected and profiles generated for each individual device in a framework 80 follow a common standard or a common virtual profile 82 as illustrated in
More specifically, each device can create user profiles based on learning occurring on its own and via interchanging parameters and profiles with other user devices. However, there are instances of user environments where multiple user devices are present. Also, using the common virtual profile 82 can alleviates the need for storing all profiles and/or parameters on all devices in this multiple device environment. In such a multiple device scenario, the common virtual profile 82 can further optimize memory utilization for storing new profiles/parameters in this new environment. The common virtual profile 82 can complement the independent profiles in each of the devices in the framework 80. Each device would not necessarily need to store a shared profile and rather each profile/parameter can be used or shared from the common virtual profile 82 when needed.
In one embodiment, each device in the framework 80 can know what device carries what information and a table can be created on each unit containing for example, what device carries what type of information, when it was created, where it was collected, and what is relevant in this environment. Each device can also aware as to what device carries a full profile or/and a partial profile. In this manner, there is no need to have any individual device serving as a master profile keeper. All the devices in the framework 80 can use this common virtual profile to have an expanded version of the profile collected/generated/used in a distributed or local fashion. In the event any of the devices are removed or moved out, an attempt can be made to update useful information (parameters/profiles) on a device in the framework 80 that has for example the most storage available, or the most capability to further update that information. In the event such an update is not possible then the entry or relevant information for a removed device can be deleted from a table that all devices can share or alternatively individually maintain.
To further illustrate an embodiment in this regard, USER A in an example use case can come home and bring with him his mobile device/devices, which can include a cell phone, a laptop, or a health monitoring accessory he has been wearing. The new home environment has (besides what he brought home) an air-conditioning system, an entertainment system, a cooking system, and other system common to a home. After multiple user devices are discovered, a common virtual profile can be created or activated. In this manner, the air-conditioning system does not necessarily need to download and locally store USER A's health information, but can rather use this information from a common virtual profile to determine and/ or assist USER A with a home temperature setting. The common virtual profile in an environment of multiple user devices can create a table on each devices with respect to what is available and where it is available and use the common virtual profile as and when needed with the further ability to change and/or update the table when any of the device moves out or is turned off or even in cases where parameters are significantly different between devices.
Note, not all the devices share the same information and not all devices necessarily care about all the information generated by other devices. But the common virtual profile allows the device to “only” read/write what is interesting or of use for each device. For example, a set top box system primarily uses or cares about viewing media and does not care about location sensitive profiles. So, a home theater system can interchange information with a mobile phone, but the information interchanged between those devices is only media favorites, media related profiles and other pertinent information of common interest between the devices. The mobile device has generated a whole lot more information that it likely not of interest to the set-top box. The devices can cooperatively build a bigger profile based on every device. The new profile created as a result will be richer since all the information created belongs to a more diverse set of devices (from a diverse set of environments).
Below are examples of tables and information that can be used in a profile (whether a virtual common profile or otherwise):
With the collection of above, the following information can be classified: Entertainment favorites:
User's Habits:
User Interface:
From the learning in the form of collected data in tables as illustrated above, user profiles corresponding to location and time, interaction sensitive profiles are created. The information collected, , the profile generated as well as favorite lists can be interchanged upon device request.
The manner in which information or profiles are interchanged is further illustrated with reference to the data flow diagram 50 of
In one alternative embodiment though, the data received by each of the devices can be used to make a decision. Part of the data received can be marked as immediate which means that the device needs to act instantly on such marked data. If data is not marked immediate, then it can be stored and used to enhance the device profile. Referring to
Note, the profile interchange could take place in many different ways. In a one to one interchange, it should be noted that certain devices have multiple owners or users (TVs, set-top boxes, etc.). In such instance, then the authentication can be created for each user to enable a data interchange only when the user of the user device is present (the user must do a manual configuration on the TV before using this feature, unless the TV can automatically discover the particular user from the user device). For example, a user leaves home wearing his or her cell phone and gets into their car. The car updates all the profile, tunes the radio to the same radio station as the user was listening on the radio (either on the cell phone or on a home entertainment system), or sets up the music based on the user profile. Before leaving the house, all the devices setup the recording times for the most watched TV networks on a recording device (DVR/VCR).
In a conditional interchange, data can be interchanged as requested. For example, in an interchange profile between husband and wife profile, upon the husband and wife coming within proximity of each other, they can share the profile information stored on both handheld devices if either the husband or wife requested it. The interchange can require a manual authentication from both sides.
In a manual interchange, the user must give his/her feedback to the device before interchanging profile data. For example, when a user buys a new phone, all the information can be transferred from one phone to another where the transfer is requested manually.
There are also instances where interchange with an other device is not possible. The interchange also can be setup to be one way only. In one example, a user rents a car and once he or she gets in, the car updates the profile based on the information carried by the user, but it does not share the cars profile with the user. In another example, a user visiting their child desires to watch all their favorites sporting events. A set top box at their child's house can download all the user's profile without necessarily storing it. The child's profile (from the set-top box or from other devices at the child's home) does not necessarily get downloaded to the user's (visiting parent's) handheld device.
In a more tailored fashion, a profile can be set up so the user can control what particular information can be shared as well as what to share according to the device or user in a profile level interchange. In one example, a husband and wife coming within proximity with each other can share profile information marked as “interchangeable” on both devices.
In an open interchange, a device will not require ownership; but will accept all profiles. In an open interchange scenario, there are several levels of open authentication. In a first case, the subject device will receive all device profiles, but will not interchange the learned capabilities with other devices (e.g., handheld device approaching a rental car). For example, when a user rents a car and once he or she gets in, the car updates the profile based on the information carried by the user, but it does not share the car's profile with the user. In a second case, the subject device will receive all device profiles, but will only interchange the learned capabilities since the last time that the particular owner of the subject device registered (e.g., the user travels to the same location and wants to learn the radio stations so next time that user travels to the same location all the information can be retrieved again with minimal or no user interaction). In a third case of an open interchange, there can be a limited interchange when a user gets in range, (e.g., when the user goes to visit relatives and logs into a set top box, the user might want to share his or her profile with respect to information useful for the set top box only). For example, a user visiting his daughter and desiring to watch the all his favorite sporting events can have a set top box at his daughter's house download his profile without necessarily storing it while his daughter's profile does not get downloaded to his handheld device.
In yet another example illustrating the seamless portability aspects herein, a user using an MP3 player on a mobile device can have a play list selected and activated in a session on the mobile device. When the mobile device comes within range of a different device (e.g., a home entertainment system) that can take a similar session, then the profile is interchanged (immediate data is interchanged with the profile). The profile is stored on the second device and the immediate data is acted upon at the new or different (or second) device. The second device takes the play list (immediate data) and selects this list and starts playing the play list or the particular song that was playing on the mobile device (e.g., by searching on a CD database at the home entertainment system and selecting the songs included on the play list). The immediacy data transfer is processed with or without local device storage. It is used to transfer the information related to the session that the user is involved on (Multimedia session—play list, songs playing, etc) to keep the experience going and hopefully seamless in most embodiments. The seamless profile portability helps a user to take the same radio station, media favorites, music or other desired characteristic when going from home to the car and to the office or among other environments. Using this method, the user devices can use a diverse set of user devices and environments for building user profiles overtime. Thereby, each user device becomes capable of providing and enhanced interface and experience in different contexts.
In light of the foregoing description, it should be recognized that embodiments in accordance with the present invention can be realized in hardware, software, or a combination of hardware and software. A network or system according to the present invention can be realized in a centralized fashion in one computer system or processor, or in a distributed fashion where different elements are spread across several interconnected computer systems or processors (such as a microprocessor and a DSP). Any kind of computer system, or other apparatus adapted for carrying out the functions described herein, is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the functions described herein.
In light of the foregoing description, it should also be recognized that embodiments in accordance with the present invention can be realized in numerous configurations contemplated to be within the scope and spirit of the claims. Additionally, the description above is intended by way of example only and is not intended to limit the present invention in any way, except as set forth in the following claims.