Patent ID: 8601109

Claim:
A method for generating a browser-based fingerprint for a computing device, the method embodied in device-identification code executing from a website in response to the website receiving a resource request through a web browser running on the computing device, the device-identification code when executed performing steps of the method comprising: (a) querying browser-based storage of the requesting web browser for a permanent device identifier indicator; (b) in response to returning no permanent device identifier indicator, retrieving from the requesting web browser a subset of a complete set of device configuration metrics; (c) generating a partial device fingerprint from all device configuration metrics previously retrieved from the requesting web browser; (d) generating a temporary device identifier from the partial device fingerprint; (e) generating a temporary device identifier indicator identifying all device configuration metrics previously retrieved from the requesting web browser; (f) writing the temporary device identifier and the temporary device identifier indicator to the browser-based storage; (g) re-performing the steps beginning at step (a) to retrieve device configuration metrics not previously retrieved until the requesting web browser exits the web page or until the complete set of device configuration metrics has been retrieved; (h) when the complete set of device configuration metrics has been retrieved, generating a complete device fingerprint from the complete set of device configuration metrics; (i) generating a permanent device identifier from the full device fingerprint; (j) writing the permanent device identifier to device-based storage on the computing device; and (k) writing a permanent device identifier indicator to the browser-based storage.