# Patent

## Title
Software key control for mobile devices

## Abstract

A software key control system and method for mobile devices. When a customer orders a software product, the seller issues a temporary activation key which is posted to a key registration web server. The customer then locates the mobile device's unique device ID and accesses the web server to provide the temporary activation key. The web server creates a registration key based on the customer's temporary activation key and device ID. The registration key is transferred to the customer's mobile device and the customer can then register the ordered software product. The system and method of the present invention thereby automate the sale and distribution of keys for mobile devices.

## Background
RELATED APPLICATION
This application is a continuation of U.S. application Ser. No. 11/653,500, entitled SOFTWARE KEY CONTROL FOR MOBILE DEVICES, filed Jan. 16, 2007 now U.S. Pat. No. 7,792,522 which claims the benefit of U.S. Provisional Application No. 60/758,752, filed Jan. 13, 2006, each of which is incorporated herein by reference in its entirety.


FIELD OF THE INVENTION
The present invention relates generally to software registration for mobile devices, and more particularly to an automated software key control for mobile devices.
BACKGROUND OF THE INVENTION
Mobile devices such as personal digital assistants (PDAs), handheld computers, and portable data terminals have operating systems that can be loaded into the hardware and run in a manner similar to a MICROSOFT WINDOWS® operating system a desktop or network computer. Examples of such systems are WINDOWS® MOBILE, WINDOWS® CE, and POCKET PC.
Because mobile devices are typically battery operated and all software and files may be completely removed, control and protection of application software installed on these devices rely on the device's hardware serial number in order to tie the application software to a particular device. Distributing software to a large number of devices by obtaining these serial numbers and integrating them into software “keys,” however, is time consuming and requires serial number information prior to issuing a key, and can also require human intervention. Accordingly, there is a need for a system that simplifies software registration for mobile devices.
SUMMARY OF THE INVENTION
The present invention substantially addresses the aforementioned and other needs by providing a software key control system and method for mobile devices. The system and method of the invention automate the sale and distribution of keys for mobile devices.
In one embodiment, when a customer orders a software product from a seller, the seller issues a temporary activation key which is posted to a key registration web server. The customer then locates the mobile device's unique device ID and accesses the web server to provide the temporary activation key. The web server creates a registration key based on the customer's temporary activation key and device ID. The registration key is transferred to the customer's mobile device and the customer can then register the ordered software product, thus enabling the product.
The above summary of the invention is not intended to describe each illustrated embodiment or every implementation of the present invention. The figures and the detailed description that follow more particularly exemplify these embodiments.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention may be more completely understood from the following detailed description of various embodiments in connection with the accompanying drawings, in which:
FIG. 1 is a diagram of a software key control system according to one embodiment of the invention.
FIG. 2 is a flowchart of a software key control system and method according to one embodiment of the present invention.



While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
DETAILED DESCRIPTION OF THE DRAWINGS
Referring to FIG. 1, one embodiment of a software key control system 100 comprises a customer mobile device 102, a customer computer system 104, a key registration web server 106, and a seller computer system 108, all communicatively coupled to the Internet 110. In the embodiment of FIG. 1, mobile device 102 is communicatively coupled to computer system 104, which is in turn communicatively coupled, directly or via an intermediary network, to the Internet 110 and can transfer information to and from mobile device 102. Alternatively, mobile device 102 can be directly coupled to the Internet 110 or an intermediary network, omitting computer system 104 in another embodiment.
Mobile device 102 may be a cell phone, PDA, handheld computer, portable data terminal, or other similar computer and/or communication device, typically operating with a WINDOWS®.NET compact framework operating system. Operating systems can include, for example, WINDOWS® CE, POCKET PC, MOBILE 2003, and other similar systems.
Referring also to FIG. 2, a method of the invention is initiated when a customer orders a software product for the customer's mobile device 102 from the seller. The seller, via seller computer system 108, accepts and processes the software order at step 112. Upon accepting the order, the seller issues a temporary activation key at step 114. Each temporary activation key is unique to a customer order and will later allow the customer to obtain a registration key for the software product. Customer information and software version information denoting which versions of the software can be registered are included within each temporary activation key. The temporary activation key corresponding to the order is then sent via the Internet 110 from seller computer system 108 to a registration key list stored on registration key web server 106, where the customer will be able to access it. Registration key web server 106 is a server or web service that communicates with the key registration application software installed on customer mobile device 102, or on computer 104 in one embodiment, to allow registration keys to be obtained. Once the temporary activation key is posted on web server 106, a notice is sent to the customer indicating that the customer's key, or keys if multiple products are ordered, is available.
Before a customer can use a temporary activation key to obtain a registration key, the customer first locates mobile device 102's device ID at step 116. A device ID is generally a unique serial number or alphanumeric code stored in each mobile device 102 by the manufacturer that identifies that particular device and can be obtained electronically by software. The customer can locate the device ID by using key registration application software on device 102, or computer system 104, which then writes the device ID to a file in mobile device 102.
Next, the customer uses the key registration application software operating on computer system 104 or device 102 to access key registration web server 106 at step 118. The customer selects which temporary activation key to use from a list of keys for all products which the customer has ordered. Computer system 104 then transmits the device ID for mobile device 102 to web server 106. In another embodiment, mobile device 102 directly transmits the device ID to web server 106.
Using the temporary activation key and its associated customer and software version information, and the device ID, key registration web server 106 creates a permanent registration key at step 120 and stores the permanent key in the registration key list on server 106. The registration key is created using a key encryption algorithm selected by the seller and includes such information as the customer's ID, the version number of the software that can be upgraded to, and the device ID.
The key registration application software receives the permanent registration key from the registration key list and stores the permanent registration key on mobile device 102 at step 122, either directly or by first downloading to the customer's computer 104. After the registration key is stored in the customer's mobile device, the key registration application software or the software product itself will allow the user to register the product at step 124.
In addition to creating registration keys for newly purchased products, registration keys can also be created when devices, software, or other products are updated. This may be necessary because the temporary activation keys generally only allow registration keys to be issued for certain versions of a product. When a new version is released, the registration key will not allow access to the updated version. Accordingly, when the seller releases a new version of a software product, a code is put into the registration key list indicating the version number a customer is qualified to receive. When the customer connects to the key registration web service and requests an updated key, a new key is generated by the web service based on this code and is provided to the customer. The customer may then use the new key to register the new version of the software.
Registration keys can also be created for trial versions of a product. These trial keys may activate a software product for a specific period of time, and then disallow access upon expiration of that time period. Alternatively, a trial key may allow operation of the software only at a reduced capacity level, such as by disabling certain software functions.
The system also allows for the issuance of replacement keys. Replacement keys may be necessary when a customer damages the mobile device on which the software is located and needs to obtain a new device. Because the old registration key was keyed to the unique device ID of the customer's damaged mobile device, it will not work with a new device. A replacement key can be obtained by accessing the key registration web server and selecting the same temporary activation code as before. The key registration application software transmits the new device ID, and a new registration key is issued. Because this could be done with any number of devices even where there is no damaged device, this activity is noted in a report sent to the seller so that it can monitor replacement key activity for abuse.
The disclosure has been described with reference to various specific and preferred embodiments and techniques. However, it should be understood that many variations and modifications can be made while remaining within the spirit and scope of the disclosure.

## Claims

1. A computer-implemented method to manage software activation keys for mobile devices comprising the steps of:
receiving a request from a mobile device to purchase a software product for use on the mobile device, wherein the request includes an identifier of the mobile device;
creating a temporary activation key associated with the software product and the purchase, wherein the temporary activation key is unique to the purchase of the software product for the mobile device and comprises software product information and purchase information, including information associated with a customer of the mobile device;
storing the temporary activation key;
receiving a request to access the stored temporary activation key, wherein the request includes the identifier of the mobile device;
creating a permanent registration key associated with the software product using the temporary activation key and the identifier of the mobile device;
transmitting the permanent registration key to the mobile device; and
registering the software product for use on the mobile device using the permanent registration key.

2. The method of claim 1, further comprising the step of transmitting a notification message to the mobile device indicating that the temporary activation key has been created.

3. The method of claim 1, wherein the step of creating a permanent registration key further comprises selecting a key encryption algorithm and using the key encryption algorithm to generate the permanent registration key.

4. The method of claim 1, further comprising the step of activating a full version of the software product for use on the mobile device after registering the software product.

5. The method of claim 1, further comprising the step of temporarily activating the software product for use on the mobile device after registering the software product.

6. The method of claim 1, further comprising the step of partially activating the software product for use on the mobile device after registering the software product.

7. The method of claim 1, further comprising the steps of
receiving a request to issue a replacement registration key, wherein the request includes a new device identifier;
creating a new permanent registration key associated with the software product using the new device identifier;
transmitting the new permanent registration key to the mobile device; and
registering the software product for use on the mobile device using the new permanent registration key.

8. The method of claim 7, further comprising the step of notifying the vendor of the software product of the issuance of the replacement registration key.

9. The method of claim 7, further comprising the step of revoking the permanent registration key.

10. A software key control system for mobile devices comprising:
means for receiving a request from a mobile device to purchase a software product for use on the mobile device, wherein the request includes an identifier of the mobile device;
computer-implemented means for creating a unique temporary activation key, wherein the temporary activation key is unique to the purchase of the software product for the mobile device and comprises software product information and purchase information, including information associated with a customer of the mobile device;
computer-implemented means for storing the temporary activation key;
computer-implemented means for receiving a request to access the stored temporary activation key, wherein the request includes the identifier of the mobile device;
computer-implemented means for creating a permanent registration key associated with the software product using the temporary activation key, the software product information, the purchase information, and the identifier of the mobile device; and
computer-implemented means for transmitting the permanent registration key to the mobile device.

11. The system of claim 10, further comprising computer-implemented means for transmitting a notification message indicating that the temporary activation key has been created, wherein the notification message includes a network location at which the temporary activation key is stored.

12. The system of claim 10, wherein the computer-implemented means for creating a permanent registration key further comprises means for selecting a key encryption algorithm and means for using the key encryption algorithm to generate the permanent registration key.

13. The system of claim 10, further comprising computer-implemented means for registering the software product for use on the mobile device.

14. The system of claim 13, further comprising computer-implemented means for activating a full version of the software product for use on the mobile device after registering the software product.

15. The system of claim 13, further comprising computer-implemented means for temporarily activating the software product for use on the mobile device after registering the software product.

16. The system of claim 13, further comprising computer-implemented means for partially activating the software product for use on the mobile device after registering the software product.

17. The system of claim 10, further comprising computer-implemented means for issuing a replacement registration key using a new device ID.

18. The system of claim 17, further comprising means for notifying the provider of the software product of the issuance of the replacement registration key.

19. The system of claim 17, further comprising means for revoking the permanent registration key.

20. A non-transitory computer-readable storage medium encoded with computer-executable instructions to cause a computer system to manage software activation keys for mobile devices, the computer-readable storage medium comprising:
computer-executable instructions to respond to a request to purchase a software product for use on a mobile device, wherein the request includes an identifier of the mobile device;
computer-executable instructions to create a unique temporary activation key, wherein the temporary activation key is unique to the purchase of the software product for the mobile device and comprises software product information and purchase information, including information associated with a customer of the mobile device;
computer-executable instructions to store the temporary activation key;
computer-executable instructions to respond to a request to access the stored temporary activation key, wherein the request includes the identifier of the mobile device;
computer-executable instructions to create a permanent registration key associated with the software product using the temporary activation key, the software product information, the purchase information, and the identifier of the mobile device;
computer-executable instructions to send the permanent registration key to the mobile device; and
computer-executable instructions to register the software product for use on the mobile device using the permanent registration key.