Apple is working on ways to make your user account truly portable, per a patent (number 7925712) at the US Patent & Trademark Office. The invention relates generally to multi-user computer systems and, more particularly, user account management for multi-user computer systems.
Improved approaches for enabling user accounts to be portable across different multi-user computer systems are disclosed in the patent. A user account created at a multi-user computer can be stored to an external, portable data store, thereby rendering the user account portable. The multi-user computer system, e.g., through its operating system, locates user accounts on not only in local storage of the multi-user computer system, but also in any removable data storage attached to the multi-user computer system. Hence, by coupling the external, portable data store to another multi-user computer, a user is able to login to any supporting multi-user computer and be presented with their user configuration and user directory.
Since the data store that stores the user account is not only external but also portable, a user can simply tote the data store to the location of different multi-user computers. In one embodiment, the external, portable data store can not only store the user account but can also provide general data storage. In another embodiment, the external, portable data store can be a portion of a portable computing device (e.g., media player) that provides other functionality besides data storage. The inventors are Robert T. Bowers and Steve Ko.
Here's Apple's background and summary of the invention: "Multi-user computer systems allow a single computer to support one of a number of different users. In particular, when a user desires to utilize the computer system, the computer system requires that the user login to the computer system. The login process enables the computer system to determine whether the user that is requesting to use the computer system is able to authenticate themselves as an authorized user of the computer system.
"If the login is successful, the user is able to use the computer system to gain access to various resources either stored locally or on a network to which the computer system is coupled as permitted by a user account. For each user account, the multi-user computer system can provide a separate environment such that different preferences, directories etc. are used for different users such that restrictions on accessing other user's personal space can be imposed.
"Conventionally, a user account is stored locally within the multi-user computer and a user's personal space (e.g., user directory) for the user is also stored locally. Hence, one problem associated with such conventional approaches is that the user accounts and user directories are provided on local storage of the multi-user computer. While such provides for multi-user support, the user accounts are thus specific to the multi-user computer and stored thereon. Consequently, the user accounts are not portable. For example, a conventional operating system, such as Mac OS X, provides for multi-user support but all user accounts that are created are stored locally in a netinfo database and also have a default user directories hosted on local storage.
"A few sophisticated users have modified operation of existing operating systems, such as Mac OS X, to provide some portability to their user account from a work computer to a home computer. This requires specialized software tools to manipulate and modify the data structures for a user account in a database (e.g., netinfo database). Armed with such specialized tools, a very sophisticated user would first establish a local user account on the multi-user computer (work computer), and then use the specialized tools to edit the location of the default user directory, such that it is made to reside on an external storage device.
"Then, at the other location where a multi-user computer (home computer) is to be used by the same user, a user account would be again established on such a machine, and then using special tools to render the user identifier the same as that which the work computer used when creating the user account at the work computer. These modifications to the multi-user computers are not intended modifications and thus tend to compromise the reliability of the operation of the multi-user computers. Further, the required specialized tools, although available, are neither well documented nor user-friendly.
"Thus, there is a need for improved techniques to enable user accounts to be portable such that a user can carry their user account with them and login to any multi-user computer system that supports portable user accounts.
"The invention relates to improved approaches for enabling user accounts to be portable across different multi-user computer systems. A user account can be stored to an external, portable data store, and thus the user account becomes portable. Hence, by coupling the external, portable data store to another multi-user computer system, a user is able to login to any supporting multi-user computer system and be presented with their user configuration and user directory. Since the data store that stores the user account is not only external but also portable, a user can simply tote the data store to the location of the multi-user computer system. In one embodiment, the external, portable data store is able to be coupled to the multi-user computer system for data transfer there between.
"The external, portable data store can merely provide data storage or can be a portion of a portable computing device that provides other functionality besides data storage. One example of a portable computing device is a media player.
"The invention can be implemented in numerous ways, including as a method, system, device, apparatus, or computer readable medium. Several embodiments of the invention are discussed below.
"As a method for configuring a multi-user computer system for use by a registered user, the multi-user computer system including at least a processor, an operating system, a display device and a local data store, one embodiment of the invention includes at least the acts of: retrieving available user accounts pertaining to registered users, at least one of the available user accounts being from the local data store that is within the multi-user computer system and at least another of the available user accounts being from an external data store that is external to the multi-user computer system; presenting a representation of the retrieved available user accounts on the display device of the multi-user computer system; receiving a selection of one of the retrieved available user accounts by the registered user; authenticating the registered user as authorized for use of the selected one of the retrieved available user accounts; and configuring the multi-user computer system in accordance with the selected one of the retrieved available user accounts for use by the registered user.
"As a method for establishing a portable user account for a user on a multi-user computer system, one embodiment of the invention includes at least: receiving account information for the user; producing an account record based on at least the account information; storing the account record to a portable data store, the portable data store being separate and apart from the multi-user computer system yet operatively connectable with the multi-user computer system; and creating a default folder for the user on the external data store.
"As a method for establishing a user account for a user on a multi-user computer system, one embodiment includes at least the acts of: receiving account information for the user; displaying a list of available data stores on which the user account can be created, the list of available data stores including at least one internal data store and at least one external data store; receiving a selection of one of the available data stores; producing an account record based on at least the account information; and storing the account record to the selected one of the available data stores.
"As a computer readable medium including at least computer program code for configuring a multi-user computer system for use by a registered user, the multi-user computer system including at least a processor, an operating system, a display device and a local data store, one embodiment of the invention includes at least: computer program code for retrieving available user accounts pertaining to registered users, at least one of the available user accounts being from the local data store that is within the multi-user computer system and at least another of the available user accounts being from a portable data store that is connectable to the multi-user computer system; computer program code for presenting a representation of the retrieved available user accounts on the display device of the multi-user computer system; computer program code for receiving a selection of one of the retrieved available user accounts by the registered user; computer program code for authenticating the registered user as authorized for use of the selected one of the retrieved available user accounts; and computer program code for configuring the multi-user computer system in accordance with the selected one of the retrieved available user accounts for use by the registered user.
"As a computer readable medium including at least computer program code for establishing a portable user account for a user on a multi-user computer system, one embodiment of the invention includes at least: computer program code for receiving account information for the user; computer program code for producing an account record based on at least the account information; computer program code for storing the account record to a portable data store, the portable data store being separate and apart from the multi-user computer system yet operatively connectable with the multi-user computer system; and computer program code for creating a default folder for the user on the external data store.
"As a computer readable medium including at least computer program code for establishing a user account for a user on a multi-user computer system, one embodiment of the invention includes at least: computer program code for receiving account information for the user; computer program code for displaying a list of available data stores on which the user account can be created, the list of available data stores including at least one local data store and at least one portable data store; computer program code for receiving a selection of one of the available data stores; computer program code for producing an account record based on at least the account information; and computer program code for storing the account record to the selected one of the available data stores.
"As a multi-user computer system, one embodiment of the invention includes at least an external data storage device and a multi-user computer. The external data storage device is removable from the multi-user computer and portable. The multi-user computer has an operating system that includes at least an account creation module and a login module. The account creation module permits new user accounts to be created and stored to the external storage device. The login module permits login with respect to users having their user accounts stored to the external data storage device."
-- Dennis Sellers