The importance for the consumer electronic device industry to continuously strive to produce devices that are convenient to use cannot be overstated. No doubt this is one of the reasons for making devices that contain more storage capacity and offer more user options. For example, as flash memory becomes less expensive and more efficient, mobile phones, digital camera, digital camcorders, personal digital assistants (PDAs) and so forth are able to store an increasing amount of digital pictures and/or video clips. Configurable user options for such devices may include options such as configurable ring styles to indicate an incoming call or text message, configuable display menus, and so forth.
Convenience of use for a device may decrease if multiple users use the same device. For example, today digital cameras use flash memory that is capable of storing hundreds of pictures. All pictures are stored in the sequence they are taken. Thus, when multiple users take pictures with the same camera it is difficult for any particular user to maintain his or her pictures and to ensure that no other users delete his or her pictures. Also, if one user configures or changes the settings on a device then the next user has to either conform to the previous user's settings or take the time to reconfigure or change the settings on the device before each use.
The invention may be best understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
A method and system for configuring a device for multiple users are described. Here, at least some of the problems described above may be alievated by configuring a device used by multiple users in such a way that it appears to each indivdual user that the device is only used by him or her. For example, the device may allocate and manage a part or a block of a resource for each user that is not accessible by the other users of the device. Additionally, each time the individual user uses the device the device may be automatically configured with options and/or settings determined by the user. In the following description, for purposes of explanation, numerous specific details are set forth. It will be apparent, however, to one skilled in the art that embodiments of the invention can be practiced without these specific details.
In the following detailed description of the embodiments, reference is made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and structural, logical, and electrical changes may be made without departing from the scope of the present invention.
Referring to
In general, device 100 is any device that is capable of storing a large amount of user data via resource 110 and/or is capable of being configured according to one or more users' settings or options. In an embodiment, device 100 may be an application-specific device. For example, device 100 may include, but is not limited to, a digital camera, a digital camcorder, a personal digital assistant (PDA), a mobile phone, a media center, a digital video disk (DVD) player, a set-top box, a personal video recorder (PVR), a MP3 player and so forth. Examples of user data may include, but are not limited to, Joint Photographic Experts Group (JPEG) pictures, Moving Picture Experts Group (MPEG) video clips, text messages, user settings, music and so forth. Examples of user options include, but are not limited to, different ring styles, different menu display options, and so forth. In an embodiment of the invention, resource 110 is any type of electrical or electro-mechanical storage device capable of storing user data. In an embodiment of the invention, resource 110 is a removable flash memory card, although the invention is not limited in this regard.
User selection button 102 may be a hard button or switch or a soft button, for example, implemented via a liquid crystal display (LCD) touch screen on device 100. Button 102 may include functionality to allow a user to enter information to identify him or herself to device 100, although the invention is not limited in this regard. For example, button 102 may have multiple settings for user 1, user 2, etc. Button 102 may also have the capability of allowing a user to enter a user name and password or to accept biometric information from the user for identification. Button 102 may also be implemented as a menu item where the user may scroll through a menu and select him or herself. These example implementations and/or functions of button 102 are provided as illustrations only and are not meant to limit the invention.
User identification module 104 may include functionality to identify the user via the identification information entered via button 102, although the invention is not necessarily limited in this regard. In an embodiment of the invention, identification module 104 compares identification information entered by a user via button 102 with identification information stored in user profile database 106.
In an embodiment of the invention, user profile database 106 may store user identification information, user specific options, the location of user parts or blocks of resource 110 and so forth for each user configured to use device 100. User configuration module 108 may include functionality to configure device 100 for each user and to allocate and ensure that a specific user only has access to his or her block in resource 110, although the present invention is not limited in this regard. User configuration module 108 may be implemented as a hardware element, as a software element executed by a processor, as a silicon chip encoded to perform the functionality of module 108 described herein, or any combination thereof.
Operations for the above components may be further described with reference to the following
The data stored in database 106 may be entered directly by a user via an input device (not shown in
At processing block 204, user configuration module 108 allocates a block of resource 110 for each user of device 100. The process in
Typically, when a block of resource 110 is allocated to a particular user, only that user may access the block of resource 110. For example in the case where device 100 is a digital camera and resource 110 is flash memory, the allocation of individual blocks of flash memory for each user keeps the users' digital pictures and/or video clips separate from each other's. Thus, users of device 100 are ensured that no other user will delete his or her pictures and/or video clips. This example implementation of device 100 and resource 110 is provided for illustration purposes only and is not meant to limit the device. In a further embodiment of the invention, resource 110 is an array of memory cells. User configuration module 108 may access and/or maintain a linked list where each entry in the linked list indicates where a specific user's memory block starts and ends in resource 110. This example is provided for illustration purposes only and is not meant to limit the invention.
User identification module 104, at processing block 304, utilizes the information entered via user selection button 102 to identify the user. In an embodiment of the invention, module 104 compares information entered via button 102 with information stored in user profile database 106.
If it is determined in decision block 306 that the user cannot be identified by user identification module 104, then the user is denied access to device 100 in processing block 308. Alternatively, if the user is identified by module 104, then user configuration module 108 configures device 100 for the specific user in processing block 310. The process in
At processing block 406, user configuration module 108 determines the specific user's block in resource 110 and allows the user access only to that resource block. The process in
Embodiments of the present invention may be implemented in software, firmware, hardware or by any combination of various techniques. For example, in some embodiments, the present invention may be provided as a computer program product or software which may include a machine or computer-readable medium having stored thereon instructions which may be used to program a computer (or other electronic devices) to perform a process according to the present invention. In other embodiments, steps of the present invention might be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.
Thus, a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). These mechanisms include, but are not limited to, a hard disk, floppy diskettes, optical disks, Compact Disc, Read-Only Memory (CD-ROMs), magneto-optical disks, Read-Only Memory (ROMs), Random Access Memory (RAM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic or optical cards, flash memory, a transmission over the Internet, electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.) or the like.
Some portions of the detailed descriptions above are presented in terms of algorithms and symbolic representations of operations on data bits within a computer system's registers or memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art most effectively. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussions, it is appreciated that discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or the like, may refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.