1. A computer-implemented method comprising the steps of: receiving a first product key, a first Machine Access Control address and a first installation identification number for an update request associated with an installed copy of software, the update request being associated with a first timestamp; storing the first product key, the first Machine Access Control address, the first installation identification number and the first timestamp in a first table of a data repository; retrieving a second product key, a second Machine Access Control address, a second installation identification number and a second timestamp from a second table of the data repository, the second product key, the second Machine Access Control address, the second installation identification number and the second timestamp being associated with a most-recent installed copy of software; comparing the first product key, the first Machine Access Control address and the first installation identification number with the second product key, the second Machine Access Control address and the second installation identification number; if the first product key, the first Machine Access Control address and the first installation identification number does not match the second product key, the second Machine Access Control address and the second installation identification number, retrieving a third timestamp related to entries recorded earliest in the first table with respect to the first product key, the first Machine Access Control address and the first installation identification number; comparing the third timestamp to the second timestamp; and if the third timestamp predates the second timestamp, granting the update request and further overwriting the second product key, the second Machine Access Control address, the second installation identification number and the second timestamp with the first product key, the first Machine Access Control address, the first installation identification number and the first timestamp in the second table.