METHOD AND SYSTEM FOR PROVIDING MULTIPLE CONFIGURATION PROFILES WITHIN AN ELECTRONIC DEVICE
TECHNICAL FIELD
The present invention is generally directed towards user interfaces in electronic devices and, more particularly, relates to providing multiple configuration profiles in an electronic device to accomplish custom or various user interfaces based on activating a particular profile.
BACKGROUND OF THE INVENTION
Man is a creature of many preferences. No where is this more evident than in modern day electronic devices, such as cellular telephones, which offer a plethera of personalization settings for each user. While Mother may like the medium range audio, dim rose colored backlighting, and quiet ringing alert to the
one another, even when only one cellular telephone is involved, or more generally, any shared electronic device including, but not limited to, personal data assistants (PDA's), cellular telephones, electronic games, or the like.
The current state of the art does not provide for such personalization and privacy between users. Although electronic devices such as cellular telephones are commonly used by more than one user, nothing allows each user to restore his or her personalized settings, such as ring tone, ring volume, or email address. Each user could reprogram his or her individual settings each time he or she uses the electronic device, but this is time consuming. Not only does this take time, but when personal email addresses are involved, the user who currently has their email programmed into the electronic device will have his or her email account vulnerable to misuse when in the hands of the next user, until that user programs his or her personal email address into the electronic device.
Therefore, there is a need to provide for the configuration profiles of multiple users on a single electronic device. This would allow each user to operate the electronic device according to their personal preferences. Also, each user would be able to access their personal email account while logged into the electronic device.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a system diagram that illustrates an exemplary environment suitable for implementing various embodiments of the present invention.
Fig. 2 is a flow diagram illustrating the operation of one embodiment of the present invention.
Fig. 3 is a simplified diagram illustrating the roles and duties of an administrator aspect of an exemplary embodiment of the present invention.
SUMMARY OF THE INVENTION
The present invention is directed towards a method and system for providing multiple configuration profiles in an electronic device, each user profile being associated with a set of personalized settings stored in memory. Briefly described, the invention provides for configuration profiles in an electronic device, such as a cellular telephone, with an identification code assigned to each user profile. The identification code is entered into the electronic device to enable or activate a configuration profile. After the code is entered, the settings associated with that identification code are retrieved from memory. The electronic device is then configured to conform with the settings retrieved from memory, such as adjustment to volume, backlighting color, wakeup display, email address or the like. These settings remain active until another identification code is entered into the electronic device. At that time, the electronic device will retrieve the settings associated with the newly entered identification code and configure itself in accordance with the retrieved profile. Thus, multiple users of a single electronic device can operate the device in accordance with their personal profile preferences.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring now to the figures in which like numerals refer to like elements throughout the several views, various embodiments and aspects of the present invention are described. Although the present invention is described as embodied within a telephone device, such as a cellular telephone, those skilled in the art will appreciate that the present invention may be used in conjunction with a telephone, computer, or any other electronic device which can be used by multiple users.
Fig. 1 is a system diagram that illustrates an exemplary environment suitable for implementing various embodiments of the present invention. Fig. 1 and the following discussion provide a general overview of a platform onto which the invention may be integrated or implemented. Although in the context of the exemplary environment the invention will be described as consisting of instructions within a software program being executed by a processing unit, those skilled in the art will understand that portions of the invention, or the entire invention itself may also be implemented by using hardware components, state machines, or a combination of any of these techniques.
In addition, a software program implementing an embodiment of the invention may run as a stand-alone program or as a software module, routine, or function call, operating in conjunction with an operating system, another program, system call, interrupt routine, library routine, or the like. The term program module will be used to refer to software programs, routines, functions, macros, data, data structures, or any set of machine readable instructions or object code, or software instructions that can be compiled into such, and executed by a processing unit.
Those skilled in the art will appreciate that the system illustrated in Fig. 1 may take on many forms and may be directed towards performing a variety of functions. Examples of such forms and functions include mainframe computers, mini computers, servers, work stations, personal computers, hand-held devices such as personal data assistants and calculators, consumer electronics, notebook
computers, lap-top computers, and a variety of other applications, each of which may serve as an exemplary environment for embodiments of the present invention. The invention may also be practiced in a distributed computing environment where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
The exemplary system illustrated in Fig. 1 includes a computing device 110 that is made up of various components including, but not limited to a processing unit 112, non-volatile memory 114, volatile memory 116, and a system bus 118 that couples the non- volatile memory 114 and volatile memory 116 to the processing unit 112. The non- volatile memory 114 may include a variety of memory types including, but not limited to, read only memory (ROM), electronically erasable read only memory (EEROM), electronically erasable and programmable read only memory (EEPROM), electronically programmable read only memory (EPROM), electronically alterable read only memory (EAROM), and battery backed random access memory (RAM). The non- volatile memory 114 provides storage for power on and reset routines (bootstrap routines) that are invoked upon applying power or resetting the computing device 110. In some configurations the non-volatile memory 114 provides the basic input/output system (BIOS) routines that are utilized to perform the transfer of information between elements within the various components of the computing device 110.
The volatile memory 116 may include, but is not limited to, a variety of memory types and devices including, but not limited to, random access memory (RAM), dynamic random access memory (DRAM), FLASH memory, EEROM, bubble memory, registers, or the like. The volatile memory 116 provides temporary storage for routines, modules, functions, macros, data etc. that are being or may be executed by, or are being accessed or modified by the processing unit 112. In general, the distinction between non-volatile memory 114 and volatile memory 116 is that when power is removed from the computing device 110 and
then reapplied, the contents of the non-volatile memory 114 remain in tact, whereas the contents of the volatile memory 116 are lost, corrupted, or erased.
The computing device 110 may access one or more external display devices 130 such as a CRT monitor, LCD panel, LED panel, electro-luminescent panel, or other display device, for the purpose of providing information or computing results to a user. The processing unit 112 interfaces to each display device 130 through a video interface 120 coupled to the processing unit over system bus 118.
The computing device 110 may have access to one or more external storage devices 132 such as a hard disk drive, a magnetic disk drive for the purpose of reading from or writing to a removable disk, and an optical disk drive for the purpose of reading a CD-ROM disk or to read from or write to other optical media, as well as devices for reading from and or writing to other media types including but not limited to FLASH memory cards, Bernoulli drives, magnetic cassettes, magnetic tapes, or the like. The processing unit 112 interfaces to each storage device 132 through a storage interface 122 coupled to the processing unit 112 over system bus 118. The storage devices 132 provide non-volatile storage for the computing device 110.
The computing device 110 may receive input or commands from one or more input devices 134 such as a keyboard, keypad, voice activated decoder, pointing device, mouse, modem, RF or infrared receiver, microphone, joystick, track ball, light pen, game pad, scanner, camera, or the like. The processing unit 112 interfaces to each input device 134 through an input interface 124 coupled to the processing unit 112 over the system bus 118. The input interface may include one or more of a variety of interfaces, including but not limited to, an RS-232 serial port interface or other serial port interface, a parallel port interface, a universal serial bus (USB), an optical interface such as infrared or IRDA, an RF or wireless interface such as Bluetooth, or other interface.
The computing device 110 may send output information, in addition to the display 130, to one or more output devices 136 such as a speaker, modem, printer, plotter, facsimile machine, RF or infrared transmitter, or any other of a variety of
devices that can be controlled by the computing device 110. The processing unit 112 interfaces to each output device 136 through an output interface 126 coupled to the processing unit 112 over system bus 118. The output interface may include one or more of a variety of interfaces, including but not limited to, an RS-232 serial port interface or other serial port interface, a parallel port interface, a universal serial bus (USB), an optical interface such as infrared or IRDA, an RF or wireless interface such as Bluetooth, or other interface.
The computing device 110 may operate in a networked environment using logical connections to a communications system 130, such as a cellular or wireless communications system, the public switched telephone network, trunked radio systems, or the like. When used in a networking environment, the computing device 110 is connected to the communications system 138 over a network interface 128. The connection between the communications system 138 and the network interface 128 depicted in Fig. 1 may include a local area network (LAN), a wide area network (WAN), a telephone connection, a radio frequency link, or the like.
It will be appreciated that various program modules implementing various embodiments of the present invention may be stored in the storage device 132, the non-volatile memory 114, the volatile memory 116, or in a networked environment, in a remote memory storage device of the communications system 138. The program modules may include an operating system, application programs, and other program modules, as well as program data. The processing unit 112 may access various portions of the program modules in response to the various instructions contained therein, as well as under the direction of events occurring or being received over the input interface 124 and the network interface 128.
Fig. 2 is a flow diagram illustrating the operation of one embodiment of the present invention. Initially, the electronic device including an embodiment of the present invention is in a default state. In one embodiment, the default state may be a locked mode requiring the entry of an unlock code or ID code to enable
operation and select a configuration profile. In another embodiment, the default state may be a factory selected configuration profile. To enable a configuration profile, several techniques may be used. In one embodiment, an identification code associated with a desired configuration profile is entered. The identification code may be entered into the device through an input device, such as a keypad, in response to a prompt, a function key, or as a menu item selection. In another embodiment, a menu selection may allow a desired configuration profile to be activated. In yet another embodiment, a voice activated detection device may be used to activate a desired configuration profile. This could involve a voice activated decoder receiving an audible command. Other techniques may also be used such as electronic keys, smart cards, or the like.
Regardless of the technique, as Fig. 2 illustrates, once the identification code is entered into the electronic device or the configuration profile is selected 200, then the electronic device retrieves the stored settings (i.e. a configuration profile) from memory that are associated with the identification code 201. The electronic device then configures itself to operate according to the configuration profile retrieved from the memory 202. The configuration profile can include a variety of settings, including but not limited to, backlight settings, stored telephone numbers, alert indicators, auto power off features, default display screens, speed dial memories, call blocking, timers, etc. Once configured, the electronic device operates in accordance with the active configuration profile until a log out occurs at 203. A log out may include cycling of the power of the device, enabling a different configuration profile, activating a default profile, entering a locked state, or the like. If log out occurs, the operation of the electronic device returns to step 200 and awaits the entry of another identification code or selection of a configuration profile. If a log out does not occur, then the electronic device continues to operate with the currently active configuration profile 202.
In an exemplary embodiment of the present invention, an administrator function is utilized for configuring and managing the multiple configuration
profiles. Fig. 3 is a functional diagram illustrating the roles and duties of the administrator. The administrator 300 is a configuration profile of the electronic device which, when active, allows limitations or freedoms to be activated for the other configuration profiles of the electronic device.
In this embodiment, the administrator profile is used to create, remove, or modify other configuration profiles. When the administrative profile is active, a special set of menu functions may be accessible to the user. Alternatively, activation of the administrator profile may simply enable additional commands or keystrokes. Once the administrator is active, a configuration profile may be created, removed or modified 303. In creating or modifying a configuration profile, several general functions may be enabled or disabled. For instance, a particular storage area for a private telephone book may be enabled for a first configuration profile 301. This private telephone book can then only be accessed when the first configuration profile is active, and thus, is excluded from read and write accesses when other configuration profiles are active.
The electronic device may include a public telephone number directory. While the administrator profile 300 is active, the access to this public telephone directory may be defined 302. For instance, some configuration profiles may be enabled to allow the entries of the public telephone number directory to be read, modified, or deleted. Other configuration profiles may only be enabled to allow reads while others may be denied any type of access. When the administrator profile 300 is active, the call capabilities of the configuration profiles may be defined 304. For example, some configuration profiles may be enabled to make and receive calls. Other configuration profiles may be restricted to only receive calls or place calls, but not both. Another option is to restrict placement of long distance calls.
The administrator profile 300 also may make the determination of accesses to short messaging services (SMS) 305. Whether a write to SMS is allowed or not, or whether a read from the SMS is allowed or not in various configuration profiles is determined when the administrator profile 300 is active. Those skilled
in the art will understand that the described configuration categories are simply examples and that the present invention may be used to control and configure a wide variety of features and functions, including but not limited to backlighting configuration, ring volume, key tones, ring type, volume setting, display setting, vibrator control, etc.
When a configuration profile is active, including the administrator profile, a user may alter the settings of the configuration profile. For instance, a user may change the call alert technique, back lighting operation, or the like. In one embodiment, these settings will automatically be incorporated into the definition of that configuration profile. In another embodiment, a user may be required to perform a save operation to override the new settings with the previous settings for the configuration profile. In addition, a user may be able to reset the active configuration profile to a default setting.
The present invention may be conveniently implemented in one or more program modules. No particular programming language has been indicated for carrying out the various tasks described above because it is considered that the operation, steps, and procedures described in the specification and illustrated in the accompanying drawings are sufficiently disclosed to permit one of ordinary skill in the art to practice the instant invention. Moreover, in view of the many different types of electronic devices and program modules that can be used to practice the present invention, it is not practical to provide a representative example of a program that would be applicable to these many different systems. Each user of a particular computer would be aware of the language and tools which are more useful for that user's needs and purposes to implement the instant invention.
The present invention has been described in relation to the particular embodiments which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will understand that the principles of the present invention may be applied to, and embodied in, various program modules for execution on differing types of electronic devices, regardless of their application.
Alternative embodiments will become apparent to those skilled in the art to which the present invention pertains without departing from its spirit and scope. Accordingly, the scope of the present invention is described by the appended claims and supported by the foregoing description.