Patent ID: 8239852

Claim:
A system for remotely updating a program configuration, comprising a client device and an update server wherein: (a) the client device is configured to execute a computer program to perform a remote update of a program configuration on the client device, the client device comprising: a first processor coupled to a memory storing the computer program which, when executed by the first processor, (i) performs physical device recognition on the client device to determine machine parameters including account information for a user of the client device and features of software that the user of the client device is entitled to use, (ii) generates a unique device identifier for the client device, the unique device identifier is generated based at least in part on the determined machine parameters, and (iii) collects a unique software identifier for the software on the client device, the unique software identifier being unique to a particular copy of the software and to a particular user of the software; and a first transceiver configured to send the unique device identifier and the unique software identifier to the update server via the Internet; and (b) the update server is configured to receive the unique device identifier and the unique software identifier from the client device, the update server comprising: a second processor coupled to a memory and configured to analyze the unique device identifier and the unique software identifier at the update server, and to determine, based on the analyzed unique device identifier and the analyzed unique software identifier, an updated program configuration if the user associated with the unique device identifier is entitled to use features of the updated program configuration according to a license associated with the unique software identifier; and a second transceiver configured to deliver, via the Internet, data representing the updated program configuration to the client device for storage therein.