Method and system for provisioning portable desktops

A method is disclosed for provisioning of a peripheral portable desktop device. The peripheral portable desktop device is coupled with a workstation. A data file relating to an image for being stored within the peripheral portable desktop device is provided. The image includes secured data that is other than accessible absent user authorization data of a virtual user. Within the peripheral portable desktop device is stored data reflective of the image. A first user is then authorized to the peripheral portable desktop device by providing first user authorization data. For the first user is created a user account secured based on the first user authorization data. The account of the virtual user is accessed via the user account and the user account is configured to access the account of the virtual user upon access to the user account.

FIELD OF THE INVENTION

The present invention generally relates to the field of provisioning of electronic devices and more particularly to provisioning of devices supporting portable personalized desktop functionality.

BACKGROUND

The concept of a portable desktop is well known in the field of data processing systems and data processing networks. A portable desktop generally refers to personal desktop that a user can recreate on any of a number of computers, for example connected to a network. Implied by the term personal desktop is the private data associated with each user including, for example, email, appointments, personal files, and the like. By enabling users to use a greater number of devices without sacrificing the benefits of a familiar and personalized interface, portable desktops have the potential to expand mobility and convenience, greatly. Typically, portable desktops are achieved by storing within a network a personalized file system or directory for each user. In order to enable a user's desktop, files and home directory to be portable, the user's file system or disk is networked within the network. This model, unfortunately, can lead to security lapses in which, for example, a root system administrator snoops and reads a user's personal email, files, etc.

One attempt to address this problem contemplates distributing a personal data device drive to each user. The user's personal directory is stored on the personal drive. When the user connects to the network using a particular computer, the personal drive is inserted into an appropriate slot of the machine. After “hot plugging” the drive into the machine, a network workstation mounts the personal directory on the personal drive and provides a personalized interface to the user. It will be appreciated, however, that the cost and inconvenience associated with requiring users to perform field installs and disk drive configurations every time they wish to access their portable disks makes this solution impractical. Further, the software for each computer supporting the personal desktop application is custom and therefore limits use of the personal desktop and all data associated therewith.

In order to overcome this, it is presently proposed to store the portable desktop application and data on a portable peripheral storage device. Though this addresses issues of portability and usability, it is difficult to manage such a system when many users are being managed under a single management.

For example, if 10,000 users were each to be provided with portable desktops for their work at a same company, the portable desktop operating system and data must be installed 10,000 times. Each install will occupy a host computer and hours of time. Even if 30 computers were executing installs in parallel and it only took 1 hour to install the Operating System (O/S) and software, the resulting provisioning would require 333 man hours or 8 weeks of someone only doing provisioning. In reality, the installation process takes longer as many portable devices are limited in data access rates relative to for example, internal hard drive data access rates. This leaves an IT department's resources heavily burdened with supporting provisioning and is therefore impractical.

It would be desirable, therefore, to provide a system and method supporting benefits of personalized and portable desktops without sacrificing security and without incurring the cost and inconvenience of the prior art.

SUMMARY OF EMBODIMENTS OF THE INVENTION

In accordance with the invention there is provided a method of pre-provisioning a plurality of peripheral portable desktop devices comprising: providing the plurality of peripheral portable desktop devices; providing a data file relating to an image for being stored within the peripheral portable desktop devices, the image including secured data that is other than accessible absent user authorization data of a virtual user; and, storing in parallel within each of the plurality of peripheral portable desktop devices approximately same data reflective of the image.

In accordance with another aspect of the invention there is provided a peripheral portable desktop device comprising: a housing; a port for coupling with a host computer; a data storage medium having portable desktop data stored therein comprising secured data for a user account of a virtual user, the secured data other than accessible absent user authorization data of a virtual user, the user authorization data of the virtual user for use in a final process for provisioning of the portable desktop device, wherein the portable desktop is executable only once provisioned to a first user other than the virtual user.

In accordance with another embodiment of the invention there is provided a method of provisioning a peripheral portable desktop device comprising: receiving a pre-provisioned peripheral portable desktop device, the peripheral portable desktop device having data stored therein including secured data within a virtual user account that is other than accessible absent user authorization data of a virtual user; authorizing a first user to the peripheral portable desktop device; and modifying an account of the virtual user such that the virtual user account is secured based on the authorization data.

In accordance with another embodiment of the invention there is provided a method of provisioning a peripheral portable desktop device comprising: receiving a pre-provisioned peripheral portable desktop device, the peripheral portable desktop device having data stored therein including secured data that is other than accessible absent user authorization data of a virtual user; authorizing a first user to the peripheral portable desktop device by providing first user authorization data; creating a user account for the first user, the user account secured based on the first user authorization data; accessing the account of the virtual user via the user account; and, configuring the user account to access the account of the virtual user upon access to the user account.

In accordance with another embodiment of the invention there is provided a method of provisioning a peripheral portable desktop device comprising: providing the peripheral portable desktop device; storing within the peripheral portable desktop device data reflective of an image including secured data that is other than accessible absent user authorization data of a virtual user; authorizing a first user to the peripheral portable desktop device by providing first user authorization data; creating a user account for the first user, the user account secured based on the first user authorization data; accessing the account of the virtual user via the user account; and, configuring the user account to access the account of the virtual user upon access to the user account.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Referring toFIG. 1, shown is a prior art portable peripheral memory storage device100. The device comprises a USB connector101and a housing102. When the USB connector101is coupled to a mating connector on a host computer in the form of a personal computer (not shown), data is exchanged between the portable peripheral memory storage device100and the host computer. The USB communication circuit103communicates with another USB communication circuit within the host computer. The USB communication circuit103further communicates with processor104in the form of a microcontroller. The processor in turn communicates with static random access memory (static RAM)105within the portable peripheral memory storage device100.

When powered on, the prior art peripheral memory storage device commences interactions with a host computer system from which it draws power. The interactions allow the host computer system to mount the portable peripheral memory storage device100for access as a memory storage device by the host computer system. Thus, the portable peripheral memory storage device100, for example, appears as a storage device listed with other storage devices of the host computer. It is known to then store data on or retrieve data from the portable peripheral memory storage device100. Removing the portable peripheral memory storage device100from the host computer system allows for portability of any of the data stored therein to another host computer either locally or wherever the portable peripheral memory storage device100is taken.

Such a portable peripheral memory storage device100can be used for supporting a portable desktop. In this regard, when inserted prior to booting of the host computer, upon booting thereof, the local hard disk drive is disabled and the host computer is booted from the peripheral memory storage device100. Thus, the desktop—operating system and user interface—that a user is provided is portable.

Referring toFIG. 2, a method of provisioning the portable peripheral memory storage device100is shown. The device is coupled with a host computer system at201. At202, an optical disk comprising a portable desktop operating system, for example Windows® for portable desktops, is inserted into an optical disk reader coupled with the host computer system. A user of the host computer system then at203executes an installer application to install the portable desktop operating system onto the peripheral memory storage device100. The installation process for operating system software is well known and will not be described in detail except to say that it is time consuming and often requires the user of the computer system to respond to queries.

Once the portable desktop operating system is installed, at204the host computer system is rebooted and at205the portable desktop operating system is executed. On first execution, the portable desktop operating system provides the user of the host computer system with an opportunity to customize the operating system at206. For example, the user sets up their own account and password. Once the first execution of the portable desktop operating system is completed, the user is then able to install software on the device at207.

As is evident to anyone who has installed an operating system on a computer, this is a time consuming process which often requires more than 30 minutes when performed to a hard disk drive and would require significantly more time if installed to a static random access memory (RAM) device via a serial bus interface. The installation of software onto the device will also require time.

Further, when provisioning for a large enterprise it is also important to track software licenses and use which is difficult if each user provisions their own portable desktop. As such, it is often desired to have a central group provision all operating system and application software. This, of course, does not address the issue of how time consuming provisioning is.

A further complication exists when security is an issue. If the IT department provisions each peripheral portable desktop device, then it would be advantageous if those devices were secured until they were allocated and provided to each user. It would be unfortunate if someone tampered with the devices thereby compromising security of an organization.

Referring toFIG. 3, a simplified memory block diagram of a pre-provisioned peripheral memory storage device300is shown. The peripheral memory storage device300comprises a user account data space302provisioned and installed. The user account data space302is associated with a portable desktop operating system memory space304and an application memory space306. Thus, the user account data space is functional to operate the portable desktop.

The user account data stored within the peripheral memory storage device300is for a virtual user—a user that does not necessarily exist. The user account, however, is secured to the virtual user and, therefore, not prone to simple security attacks. Thus, the peripheral memory storage device300is not usable by any generic user since it is secured to the virtual user.

Referring toFIG. 4, a simplified flow diagram of a final provisioning process is shown. A new pre-provisioned peripheral memory storage device300is coupled to a host computer at402. The host computer is then booted at404and a first user who is to receive the peripheral memory storage device300provides authentication data in the form of fingerprint information thereto at406. Alternatively, other authentication data such as a password, a voiceprint, a retinal scan, etc. is provided to the peripheral memory storage device300. The peripheral memory storage device300then at408creates a user account for the first user secured by the authentication data provided. Data for accessing the account of the virtual user is stored within the user account at410and secured by the authentication data. Thus, by authenticating to the device at412, the first user—the real user—has access to the preinstalled operating system and applications of the virtual user. At414, the first user then customizes the applications and operating system for themselves and the peripheral memory storage device300is set up. Alternatively, the customization is automated as part of the final process for provisioning the peripheral memory storage device300.

In order to access the user data of the virtual user, a password is provided from the host system to the peripheral memory storage device300. Alternatively, the password is provided automatically by the authentication process. Further alternatively, the password is manually provided by an administrator.

For example, the password is a same password across all pre-provisioned peripheral memory storage devices such that a software application can unlock the virtual user account and change the virtual user password. Alternatively, the password is an encoded version of an identifier of the peripheral memory storage device300, for example a hash of a serial number thereof. When this is the case, knowledge of the encoding process allows for the password to be determined by retrieving the serial number from the peripheral memory storage device300, for example, by a software process in execution on the host computer system. Further alternatively, the password is determined by a secure device such as a dongle or by a key escrow service or key database.

Once the first user account is set up, typically the password for the virtual user is changed to a long random or difficult to predict and somewhat unique password. Thus, even the provisioning software or device no longer has access to the peripheral memory storage device300via the pre-provisioning password.

Optionally, the new password is stored in the peripheral memory storage device300within an administrative memory space accessible by an administrator in case the first user access authorization information is forgotten or damaged or in case the first user is no longer available. Alternatively, the new password is provided to a password database or to a password escrow service.

For example, when the portable desktop data is stored within the virtual user account and if the first user is no longer available, the device can be re-provisioned by setting up another account that accesses the virtual user account so long as the administrator has access to the password for the virtual user account.

When a single portable desktop is to be shared, multiple user accounts are set up each accessing a same virtual user account. As such, all changes are shared between users of a same portable desktop device. Alternatively, when the users do not share any aspect of the portable desktop, pre-provisioning optionally provides numerous virtual user accounts within same device or alternatively, numerous separate portable desktop memory partitions within a same device. During the final provisioning process, each partition or each virtual user account is separately associated with different authentication data.

Referring toFIG. 5, a simplified flow diagram of a provisioning method is shown for pre-provisioning many devices within a short timeframe. At501, the devices are inserted in parallel to a device data writer. An image of the pre-provisioned operating system and applications with the virtual user data is provided for storage within the device at502. The image is then stored within all of the devices in parallel at503.

Once the data is stored in parallel, each device is optionally customized by writing therein a new password for the virtual user account at504. For example, a password relating to the serial number of each device is stored. Alternatively, the devices all are pre-provisioned with an identical password. The devices are then be removed at505having a pre-provisioned version of the operating system and application data stored thereon in a secure fashion with a secure user account. What would have taken hours before for each peripheral memory storage device now takes little time for many devices. Optionally, the data is stored within the static RAM of the peripheral memory storage device directly either before or after manufacturing such that the computer interface, for example the universal serial bus (USB) interface, is bypassed. Since the static RAM in each device is capable of being written in parallel in the first pass, the integrated circuits can be programmed before manufacturing of the peripheral memory storage device therewith.

The pre-provisioned device is optionally at any desired stage of installation. In an embodiment, the pre-provisioned device has an image of the virtual user account having already been executed for a first time such that all the application data and installation data is ready for execution. Alternatively, the device is pre-provisioned with an image before the first operating system execution allowing each user to execute their portable desktop for the first time. Further alternatively, the device is pre-provisioned with software for installing the portable desktop and applications in response to a user authenticating to the device during the final process of provisioning.

Referring toFIG. 6, a simplified flow diagram of another method of performing the final process of provisioning is shown. Here the peripheral memory storage device300is powered other than by a host computer at601. The peripheral memory storage device300is pre-provisioned with pre-provision authentication data for the virtual user that is accessible to the administrative user who provisions the device. For example, an administrator of the organization has the devices pre-provisioned with virtual user security secured by their fingerprint. Alternatively, another biometric, a password, or a secure hardware device is used to secure the virtual user security. The first user provides their authentication information in the form of a fingerprint to the device at602. At603, the device forms an account for the first user secured by the authentication information. The administrative user at604provides the pre-provision authentication data or information for accessing the pre-provision authentication data to the device, and at605the first user account is then provided access to the virtual user account. The password for the virtual user account is then changed at606and the changed password is stored at607within the first user account data to provide access to the account of the virtual user whenever the first user authenticates to the device. Optionally as shown at608, the changed password is stored in association with the pre-provision authentication data.

By securing the pre-provisioned portable desktop device, it is contemplated that secure or sensitive data can be stored therein during pre-provisioning such that once the final process of provisioning is completed, access to the secure or sensitive data is supported. For example, the passwords and access information for each of a company's servers for remotely accessing same are stored within the image written to the device and secured within the virtual user account. Once the final process of provisioning is completed, the first user is capable of accessing the company's servers. Advantageously, the secure or sensitive data is stored in a secure fashion within the device both before and after the final process of provisioning is performed. This enhances flexibility of the pre-provisioning to allow for secure data to be included therein.

Numerous other embodiments may be envisaged without departing from the spirit or scope of the invention.