Patent ID: 8239274

Claim:
A method for providing features of a software product for purchase on a feature-by-feature basis, the method comprising: receiving, by a second processing device via a network, a purchase request from a first processing device for adding a feature associated with a software product installed on the first processing device, the purchase request including identifying information, the identifying information including information identifying the software product, information identifying the feature associated with the software product, information identifying the first processing device, and information identifying a user; and; validating, at the second processing device, a payment for the feature associated with the software product; storing, by a product activation processing device, the identifying information; sending first enabling information to the first processing device to enable the feature associated with the software product; receiving, from the first processing device, a deactivation request with respect to the feature associated with the software product, the deactivation request including the information identifying the user, the information identifying the software product, the information identifying the feature associated with the software product, and the information identifying the first processing device; disassociating the stored information identifying the first processing device from the stored identifying information in response to the receiving a deactivation request with respect to the feature associated with the software product; receiving an activation request from a third processing device to activate the feature associated with the software product, the activation request including the information identifying the user, the information identifying the software product, the information identifying the feature associated with the software product, and information identifying the third processing device; causing the information identifying the third processing device to be stored and to associate the information identifying the third processing device with the feature associated with the software product; and sending second enabling information to the third processing device to enable the feature associated with the software product.