UNIQUE DEVICE IDENTIFICATION AMONG LARGE POPULATIONS OF HOMOGENOUS DEVICES

A digital fingerprint identifying a device includes characteristics of a user of the device in addition to characteristics of the device itself. The personal characteristics used to form the digital fingerprint of the device are those that are likely to not change over time or to change in predictable ways. The personal characteristics are gathered from sources external to the device, such as profiles of the user stored remotely at a social networking site. Each constituent characteristic of a digital fingerprint is associated with extraction logic and comparison logic.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description

This application claim priority to U.S. Provisional Application No. 61/734,455, filed Dec. 7, 2012, which is fully incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to computer systems and, more particularly, to methods of and systems for uniquely identifying computing devices. More specifically, the invention relates to uniquely identifying a computing device by combining device data with personal information of a user of the computing device to form a personalized device fingerprint.

2. Description of the Related Art

Device identification through digital fingerprints has proven to be invaluable in recent years to such technologies as security and digital rights management. In security, authentication of a person can be restricted to a limited number of previously authorized devices that are recognized by their digital fingerprints. In digital rights management, use of copyrighted or otherwise proprietary subject matter can be similarly restricted to a limited number of previously authorized devices that are recognized by their digital fingerprints.

Digital fingerprints are particularly useful in uniquely identifying computing devices that are historically known as “IBM PC compatible”. Such devices have an open architecture in which various computer components are easily interchangeable with compatible but different components. There are two primary effects of such an open architecture that facilitate device identification through digital fingerprints.

The first facilitating effect is diversity of device components. Since numerous components of IBM PC compatible devices are interchangeable with comparable but different components, generation of a digital fingerprint from data associated with the respective components of the device is more likely to result in a unique digital fingerprint.

The second facilitating effect is discoverability of details of the various components of IBM PC compatible devices. Since the particular combination of components that make up a given device can vary widely and can come from different manufacturers, the components and the operating system of the device cooperate to provide access to detailed information about the components. Such information can include serial numbers, firmware version and revision numbers, model numbers, etc. This detailed information can be used to distinguish identical components from the same manufacturer and therefore improves uniqueness of digital fingerprints of such devices.

Laptop computing devices evolved from desktop computing devices such as IBM PC compatible devices and share much of the architecture of desktop computing devices, albeit in shrunken form. Accordingly, while users are much less likely to replace graphics circuitry in a laptop device and components therefore vary less in laptop devices, laptop devices still provide enough detailed and unique information about the components of the laptop device to ensure uniqueness of digital fingerprints.

However, the world of computing devices is rapidly changing. Smart phones that fit in one's pocket now include processing resources that were state of the art just a few years ago. In addition, smart phones are growing wildly in popularity. Unlike tablet computing devices of a decade ago, which were based on laptop device architectures, tablet devices available today are essentially larger versions of smart phones.

Smart phones are much more homogeneous than older devices. To make smart phones so small, the components of smart phones are much more integrated, including more and more functions within each integrated circuit (IC) chip. For example, while a desktop computing device can include graphics cards and networking cards that are separate from the CPU, smart phones typically have integrated graphics and networking circuitry within the CPU. Furthermore, while desktop and laptop devices typically include hard drives, which are devices rich with unique and detailed information about themselves, smart phones often include non-volatile solid-state memory, such as flash memory, integrated within the CPU or on the same circuit board as the CPU. Flash memory rarely includes information about the flash memory, such as the manufacturer, model number, etc.

Since these components of smart phones are generally tightly integrated and not replaceable, the amount and variety of unique data within a smart phone that can be used to generate a unique digital fingerprint is greatly reduced relative to older device architectures. In addition, since it is not expected that smart phone components will ever be replaced, there is less support for access to detailed information about the components of smart phones even if such information exists.

Accordingly, it is much more difficult to assure that digital fingerprints of smart phones and similar portable personal computing devices such as tablet devices are unique. What is needed is a way to uniquely identify individual devices in large populations of homogeneous devices.

SUMMARY OF THE INVENTION

In accordance with the present invention, a digital fingerprint identifying a device includes characteristics of a user of the device. Accordingly, the device can be distinguished from other computing devices that are not readily distinguished by hardware characteristics alone. In effect, characteristics of respective users of homogeneous devices help distinguish the devices from one another.

Digital fingerprints are best when they are unique, stable, and difficult to spoof. Accordingly, the personal characteristics used to form the digital fingerprint of the device are those that are likely not to change over time or to change in predictable ways. Examples of such personal characteristics are personal characteristics of the user that can be gathered from publicly available information from social networking sites, such as first and last name, city of residence, employer, relationship status, number of friends, age, etc.

In addition, the personal characteristics are gathered from sources external to the device, such as profiles of the user stored remotely at a social networking site. As a result, it is difficult for one person to spoof characteristics of another person without also having the ability to modify the profile of the other person that is maintained externally to the device.

Each constituent characteristic of a digital fingerprint is associated with extraction logic and comparison logic. The extraction logic of a given characteristic specifies the manner in which the substantive data of the characteristic is retrieved for incorporation into a digital fingerprint. To retrieve a characteristic, such as the number of friends of the user at a social networking site, the extraction logic can specify (i) the manner in which a user identifier for the social networking site is extracted from browser personal information such as browsing history, bookmarks, form filling data, and user identifiers; (ii) the manner in which a publicly available profile associated with the extracted user identifier is retrieved; and (iii) the manner in which the characteristic is parsed from the retrieved profile.

While it is preferred that characteristics used to form digital fingerprints are stable and do not change over time, characteristics of a human user can and do change over time. The personal characteristics that are selected for use in forming digital fingerprints are those that are relatively stable and change primarily in predictable, expected ways. For example, a person's first name generally does not change, a person's last name changes rarely, a person's age increases by one each year, and a person's number of friends tends to only increase, and to increase at a modest rate. The comparison logic for each of these characteristics considers the way in which such characteristics can be expected to change over time and estimates a likelihood that two digital fingerprints identify one and the same device according to how well changes in each characteristic over time follows the expected pattern.

BRIEF DESCRIPTION OF THE DRAWINGS

Other systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims. Component parts shown in the drawings are not necessarily to scale, and may be exaggerated to better illustrate the important features of the invention. In the drawings, like reference numerals may designate like parts throughout the different views, wherein:

FIG. 1 is a diagram showing a computing device and a server that cooperate to identify the device in accordance with one embodiment of the present invention.

FIG. 2 is a transaction flow diagram illustrating the manner in which the device and server computer of FIG. 1 cooperate to identify the device.

FIG. 3 is a block diagram of a digital fingerprint specification used by the server to manage generation of the digital fingerprint of the device of FIG. 1 and comparison of the digital fingerprint to another digital fingerprint.

FIGS. 4 and 5 are each a logic flow diagram of an illustrative example of extraction logic by which a part of a digital fingerprint is generated.

FIG. 6 is a logic flow diagram illustrating the manner in which the device generates its digital fingerprint in a step of the transaction flow diagram of FIG. 2 in greater detail.

FIG. 7 is a logic flow diagram illustrating the manner in which the server compares the digital fingerprint to another digital fingerprint in a step of the transaction flow diagram of FIG. 2 in greater detail.

FIGS. 8 and 9 are each a logic flow diagram of an illustrative example of comparison logic by which a part of a digital fingerprint is compared to a corresponding part of another digital fingerprint.

FIG. 10 is a block diagram showing in greater detail the server of FIG. 1.

FIG. 11 is a block diagram showing in greater detail the device of FIG. 1.

DETAILED DESCRIPTION

In accordance with the present invention, a computing device 102 (FIG. 1) is identified by a digital fingerprint incorporating a combination of hardware characteristics of device 102 and personal characteristics of a user of device 102. Accordingly, device 102 can be distinguished from other computing devices that are not readily distinguished by hardware characteristics alone.

Digital fingerprints are best when they are unique, stable, and difficult to spoof. Accordingly, the personal characteristics used to form the digital fingerprint of device 102 are those that are likely to not change over time or to change in predictable ways. In addition, the personal characteristics are gathered from sources external to device 102. Examples of such personal characteristics are personal characteristics of the user that can be gathered from publicly available information from social networking sites, such as first and last name, city of residence, employer, relationship status, number of friends, age, etc.

Device 102 can be any of a number of types of networked computing devices, including smart phones, tablets, netbook computers, laptop computers, and desktop computers. Device 102 communicates with a server 106 through a computer network 104, which is the Internet in this illustrative embodiment. Server 106 is configured to recognize devices with which server 106 has previously interacted. Such recognition can be part of an authentication process or to provide customized content based on previous interaction with recognized devices, as illustrative examples.

Transaction flow diagram 200 (FIG. 2) represents the manner in which device 102 identifies itself to server 106 with a digital fingerprint and server 106 compares the digital fingerprint to digital fingerprints of known devices in accordance with the present invention.

In step 202, device 102 sends a request for a web page to server computer 106. The request can be in the form of a URL specified by the user of device 102 using a web browser 1120 (FIG. 11) executing in device 102 and conventional user interface techniques involving physical manipulation of user input devices 1108. Web browser 1120 and user input devices 1108 and other components of device 102 are described in greater detail below.

In step 204 (FIG. 2), server 106 sends the web page that is identified by the request received in step 202. The web page sent to device 102 includes content that causes web browser 1120 (FIG. 11) of device 102 to generate a digital fingerprint for device 102, e.g., digital fingerprint 1140. In one embodiment, a web browser plug-in 1122C installed in client device 102 and, invoked by web browser 1120, processes the content of the web page to generate the digital fingerprint. In other embodiments, the digital fingerprint of device 102 can be generated by other forms of logic of device 102, such as software installed in device 102. The various elements of device 102 and their interaction are described more completely below. In addition, step 206 is described more completely below with respect to logic flow diagram 206 (FIG. 6).

In step 208 (FIG. 2), device 102 sends the digital fingerprint that was generated in step 206 to server 106.

In step 210, server 106 compares the digital fingerprint of device 102 received in step 208 to digital fingerprints of known devices. Step 210 is described in greater detail below in conjunction with logic flow diagram 210 (FIG. 7).

In step 212, server 106 continues the interaction with device 102 if device 102 is recognized by its digital fingerprint. Alternatively, server 106 can continue interaction with device 102 regardless of whether device 102 is recognized by its digital fingerprint but modifies the interaction with device 102 according to whether device 102 is recognized.

As described above, device 102 generates a digital fingerprint to identify itself in step 206 (FIG. 2), and step 206 is shown in greater detail as logic flow diagram 206 (FIG. 6). In this illustrative embodiment, step 206 is performed by web browser plug-in 1122C (FIG. 11).

The generation and comparison of digital fingerprints are defined by a digital fingerprint specification 300 (FIG. 3) stored in digital fingerprint specifications 1032 (FIG. 10) of server 106. Digital fingerprint specification 300 (FIG. 3) includes a number of digital fingerprint elements 302, each of which defines a data element to be included in digital fingerprint 1140 (FIG. 11).

Each digital fingerprint element 302 (FIG. 3) includes an identifier 304, extraction logic 306, and comparison logic 308. In the context of FIG. 3, the particular element represented by digital fingerprint element 302 is sometimes referred to as “the subject element.”

Identifier 304 identifies the subject element to enable direct comparison of corresponding elements of digital fingerprints. In an alternative embodiment, elements of a digital fingerprint are arranged in a predetermined sequence and specific elements of the digital fingerprint are identified by their position within the sequence, obviating identifier 304.

Extraction logic 306 specifies the manner in which the subject element is extracted by device 102 in generating the digital fingerprint. Logic flow diagrams 306A (FIG. 4) and 306B (FIG. 5) are illustrative examples of extraction logic 306 and are described below in greater detail.

Comparison logic 308 specifies the manner in which the subject element is compared to a corresponding element of another digital fingerprint to determine whether digital fingerprints match one another. Logic flow diagrams 308A (FIG. 8) and 308B (FIG. 9) are illustrative examples of comparison logic 308 and are described below in greater detail.

Loop step 602 (FIG. 6) and next step 610 define a loop in which web browser plug-in 1122C processes each of digital fingerprint elements 302 (FIG. 3) according to steps 604-608. During a particular iteration of the loop of steps 602-610, the particular digital fingerprint element 302 processed by web browser plug-in 1122C is sometimes referred to as the subject element.

In step 604, web browser plug-in 1122C executes extraction logic 306 of the subject element to extract data representing the subject element. The particular manner in which web browser plug-in 1122C extracts the data depends on the particular details of extraction logic 306. Logic flow diagram 306A (FIG. 4) is an illustrative example of extraction logic for data regarding a hardware characteristic of device 102.

In step 402, web browser plug-in 1122C retrieves detailed information about a hard disk drive of device 102. For example, in an embodiment in which device 102 includes the known Linux operating system, web browser plug-in 1122C can retrieve detailed information about a hard disk drive by executing the command, “hdparm -I /dev/sda”. To enhance efficiency, web browser plug-in 1122C can cache the results of that command to extract data for other elements related to detailed information about the hard disk drive.

In step 404, web browser plug-in 1122C parses the serial number of the hard disk drive from the detailed information retrieved in step 402. Parsing of the serial number is a straight forward process of pattern recognition, using regular expressions for example.

Logic flow diagram 306B (FIG. 5) is an illustrative example of extraction logic for data regarding a personal characteristic of a user of device 102. In step 502, web browser plug-in 1122C retrieves a user identifier for a social networking site from browser personal information 1130 (FIG. 11). Browser personal information 1130 includes various types of personal information stored by web browser 1120 regarding browsing activity of the user of device 102. Examples include browsing history, form data, user identifiers and passwords, and bookmarks.

In step 504, web browser plug-in 1122C retrieves public information about the user from the social networking user identifier retrieved in step 502. Many social networking sites support URLs that are derived from user identifiers in a deterministic manner. For example, if the user has an account for the social networking site at http://twitter.com and the user identifier is “xyz”, a URL to a public page regarding the user can be retrieved at http://twitter.com/#!/xyz. To enhance efficiency, web browser plug-in 1122C can cache the retrieved web page to extract data for other elements related to same social networking profile.

In step 506, web browser plug-in 1122C parses a particular item of information from the web page retrieved in step 504. In this illustrative example, the particular item of information is a number of friends the user has at the social networking site. Parsing of the number of friends is a straight forward process of pattern recognition, using regular expressions for example.

In step 606, web browser plug-in 1122C forms a reversible hash of the subject element, including identifier 304 (FIG. 3) and the data retrieved in step 604 (FIG. 6). The subject element is hashed by web browser plug-in 1122C to obscure the particular form and content of the digital fingerprint during transport through wide area network 104 (FIG. 1).

In step 608, web browser plug-in 1122C adds the hash created in step 606 to an accumulation of element hashes. The accumulation of element hashes is the digital fingerprint sent to server 106 in step 208.

Once all of digital fingerprint elements 302 (FIG. 3) have been processed by web browser plug-in 1122C according to the loop of steps 602-610 (FIG. 6), processing according to logic flow diagram 206, and therefore step 206 (FIG. 2), completes. The resulting digital fingerprint is an accumulation of hashes that represents multiple items of system information of device 102 and personal information of a user of device 102. In this respect, the resulting digital fingerprint comprises a personalized digital fingerprint.

As described above, server 106 (FIG. 1) compares the digital fingerprint of device 102 to digital fingerprints of known devices, e.g., known digital fingerprints 1030 (FIG. 10), in step 208 (FIG. 2). Logic flow diagram 210 (FIG. 7) illustrates comparison of the digital fingerprint of device 102 to another digital fingerprint, sometimes referred to as “the reference digital fingerprint” in the context of logic flow diagram 210.

In step 702, digital fingerprint management logic 1024 parses individual reversible hashes representing individual elements of the digital fingerprint of device 102.

In step 704, digital fingerprint management logic 1024 initializes a match score that represents a degree of similarity between the digital fingerprint of device 102 and the reference digital fingerprint. In this illustrative embodiment, digital fingerprint management logic 1024 initializes the match score to a value of 1.0, indicating a perfect match.

Loop step 706 and next step 710 define a loop in which digital fingerprint management logic 1024 processes each digital fingerprint element 302 (FIG. 3) according to step 708. During each iteration of the loop of steps 706-710, the particular digital fingerprint element processed by digital fingerprint management logic 1024 is sometimes referred to as “the subject element” in the context of logic flow diagram 210.

In step 708, digital fingerprint management logic 1024 executes comparison logic 308 (FIG. 3) of the subject element. Execution of comparison logic 308 adjusts the match score initialized in step 704 in a manner specified within comparison logic 308.

Logic flow diagram 308A (FIG. 8) is an illustrative example of comparison logic for data regarding a hardware characteristic of device 102. In test step 802, digital fingerprint management logic 1024 (FIG. 10) compares data representing the serial number of a hard disk drive of digital fingerprint 1140 (FIG. 11) to data representing the serial number of a hard disk drive of the reference digital fingerprint. If the respective serial numbers are not the same, processing transfers to step 804 in which digital fingerprint management logic 1024 reduces the match score by 30%, by multiplication of the match score by 0.7, in step 804. Conversely, if the respective serial numbers are the same, digital fingerprint management logic 1024 does not reduce the match score in step 806. Step 806 shows that digital fingerprint management logic 1024 multiplies the match score by 1.0 only to explicitly show that the match score remains unchanged.

Thus, according to logic flow diagram 308A (FIG. 8), a mismatch in the serial number of a hard disk drive suggests that digital fingerprint 1140 (FIG. 11) and the reference digital fingerprint do not represent one and the same device and the suggestion is reflected in the match score. Such suggestions accumulate as comparison logic for other digital fingerprints can further reduce the match score.

Logic flow diagram 308B (FIG. 9) is an illustrative example of comparison logic for data regarding a personal characteristic of a user of device 102. In case step 902, digital fingerprint management logic 1024 evaluates a change in the number of friends of the user per month since the generation of the reference digital fingerprint. Logic flow diagram 308B illustrates comparison of personal characteristics that can change over time but tend to change in a predictable way. Such is true of the number of friends one has through a social networking site. Case step 902 directs processing by digital fingerprint management logic 1024 to one of steps 906, 910, 914, 918, and 920 according to the test values of test steps 904, 908, 912, and 916.

If digital fingerprint 1140 does not include a number of friends, e.g., because the user of device 102 does not have a profile at the social networking site, and the reference digital fingerprint does include a number of friends, processing by digital fingerprint management logic 1024 transfers through test step 904 to step 906 in which digital fingerprint management logic 1024 reduces the match score by 30%, by multiplication of the match score by 0.7. It is rare that people remove profiles from social network sites. Accordingly, the absence of a profile for the user of device 102 when the profile exists for the reference digital fingerprint is relatively strongly indicative of a mismatch between digital fingerprint 1140 and the reference digital fingerprint.

If digital fingerprint 1140 and the reference digital fingerprint show a reduction in the number of friends over time, processing by digital fingerprint management logic 1024 transfers through test step 908 to step 910 in which digital fingerprint management logic 1024 reduces the match score by 30%, by multiplication of the match score by 0.7. It is rare that people remove friends in social network sites. Accordingly, the reduction in the number of friends is relatively strongly indicative of a mismatch between digital fingerprint 1140 and the reference digital fingerprint.

If digital fingerprint 1140 and the reference digital fingerprint show no change in the number of friends over time, processing by digital fingerprint management logic 1024 transfers through test step 912 to step 914 in which digital fingerprint management logic 1024 does not reduce the match score at all. The number of friends of a given user at a social networking site tends to be stable and, to the extent the number changes, the number tends only to increase. Accordingly, equivalence in the number of friends is relatively strongly indicative of a match between digital fingerprint 1140 and the reference digital fingerprint.

If digital fingerprint 1140 and the reference digital fingerprint show an increase in the number of friends over time of no more than three (3) friends per month, processing by digital fingerprint management logic 1024 transfers through test step 916 to step 918 in which digital fingerprint management logic 1024 reduces the match score by 5%, by multiplication of the match score by 0.95. To the extent the number of friends of a user of a social networking site increases, the number tends to increase relatively slowly over time once the profile is established. Accordingly, the relatively slow increase in the number of friends is relatively weakly indicative of a mismatch between digital fingerprint 1140 and the reference digital fingerprint.

If digital fingerprint 1140 and the reference digital fingerprint show an increase in the number of friends over time of more than three (3) friends per month, processing by digital fingerprint management logic 1024 transfers through test step 916 to step 920 in which digital fingerprint management logic 1024 reduces the match score by 20%, by multiplication of the match score by 0.8. To the extent the number of friends of a user of a social networking site increases, the number tends to increase relatively slowly over time once the profile is established. Accordingly, the relatively rapid increase in the number of friends is moderately indicative of a mismatch between digital fingerprint 1140 and the reference digital fingerprint.

Thus, according to logic flow diagram 308B (FIG. 9), a mismatch in the number of friends the user has at a social networking site can suggest that digital fingerprint 1140 (FIG. 11) and the reference digital fingerprint do not represent one and the same device and the suggestion is reflected in the match score. The degree to which such is suggested depends upon how changes in the number of friends follow an expected pattern.

After all digital fingerprint elements 302 (FIG. 3) have been processed according to the loop of steps 706-708 (FIG. 7), the match score reflects cumulative reductions of mismatches in the corresponding elements of digital fingerprint 1140 and the reference digital fingerprint. In this illustrative embodiment, digital fingerprint management logic 1024 determines that digital fingerprint 1140 and the reference digital fingerprint match only when the final matching score is at least a predetermined threshold. In addition, upon determination that the digital fingerprints match, digital fingerprint management logic 1024 supersedes the reference digital fingerprint with digital fingerprint 1140 in this illustrative embodiment since digital fingerprint 1140 is the more recent digital fingerprint of device 102.

Server computer 106 is shown in greater detail in FIG. 10. Server 106 includes one or more microprocessors 1002 (collectively referred to as CPU 1002) that retrieve data and/or instructions from memory 1004 and execute retrieved instructions in a conventional manner. Memory 1004 can include generally any computer-readable medium including, for example, persistent memory such as magnetic and/or optical disks, ROM, and PROM and volatile memory such as RAM.

CPU 1002 and memory 1004 are connected to one another through a conventional interconnect 1006, which is a bus in this illustrative embodiment and which connects CPU 1002 and memory 1004 to network access circuitry 1012. Network access circuitry 1012 sends and receives data through computer networks such as wide area network 104 (FIG. 1).

A number of components of server 106 are stored in memory 1004. In particular, web server logic 1020 and web application logic 1022, including digital fingerprint management logic 1024, are all or part of one or more computer processes executing within CPU 1002 from memory 1004 in this illustrative embodiment but can also be implemented using digital logic circuitry.

Web server logic 1020 is a conventional web server. Web application logic 1022 is content that defines one or more pages of a web site and is served by web server logic 1020 to client devices such as device 102. Digital fingerprint management logic 1024 is a part of web application logic 1022 that causes client devices to generate digital fingerprints and to compare digital fingerprints in the manner described above.

Device 102 is a personal computing device and is shown in greater detail in FIG. 11. Device 102 includes one or more microprocessors 1102 (collectively referred to as CPU 1102) that retrieve data and/or instructions from memory 1104 and execute retrieved instructions in a conventional manner. Memory 1104 can include generally any computer-readable medium including, for example, persistent memory such as magnetic and/or optical disks, ROM, and PROM and volatile memory such as RAM.

CPU 1102 and memory 1104 are connected to one another through a conventional interconnect 1106, which is a bus in this illustrative embodiment and which connects CPU 1102 and memory 1104 to one or more input devices 1108, output devices 1110, and network access circuitry 1112. Input devices 1108 can include, for example, a keyboard, a keypad, a touch-sensitive screen, a mouse, a microphone, and one or more cameras. Output devices 1110 can include, for example, a display —such as a liquid crystal display (LCD) —and one or more loudspeakers. Network access circuitry 1112 sends and receives data through computer networks such as wide area network 104 (FIG. 1).

A number of components of client device 102 are stored in memory 1104. In particular, web browser 1120 is all or part of one or more computer processes executing within CPU 1102 from memory 1104 in this illustrative embodiment but can also be implemented using digital logic circuitry. As used herein, “logic” refers to (i) logic implemented as computer instructions and/or data within one or more computer processes and/or (ii) logic implemented in electronic circuitry. Web browser plug-ins 1122A-C are each all or part of one or more computer processes that cooperate with web browser 1120 to augment the behavior of web browser 1120. The manner in which behavior of a web browser is augmented by web browser plug-ins is conventional and known and is not described herein.

Browser personal information 1130 and digital fingerprint 1140 are data stored persistently in memory 1104. Browser personal information 1130 can be organized as all or part of one or more databases.

As described above, web browser plug-in 1122C generates digital fingerprint 1140 according to extraction logic 306 (FIG. 3) of each of digital fingerprint elements 302. In one embodiment, digital fingerprint management logic 1024 (FIG. 10) sends identifier 304 (FIG. 3) and extraction logic 306 for all digital fingerprint elements 302 to web browser plug-in 1122C (FIG. 11) in step 204 (FIG. 2). In an alternative embodiment, identifier 304 (FIG. 3) and extraction logic 306 for all digital fingerprint elements 302 are included within web browser plug-in 1122C (FIG. 11) and device 102 downloads web browser plug-in 1122C from server 106 with all the extraction logic already included.

The above description is illustrative only and is not limiting. The present invention is defined solely by the claims which follow and their full range of equivalents. It is intended that the following appended claims be interpreted as including all such alterations, modifications, permutations, and substitute equivalents as fall within the true spirit and scope of the present invention.

Claims

1. A method for identifying a remotely located device, the method comprising:

sending characteristic extraction logic to the remotely located device, wherein the characteristic extraction logic causes the remotely located device to retrieve characteristics of the device and at least one characteristic of a user of the device from a publicly available profile of the user of the device;
receiving a digital fingerprint of the device from the device, wherein the digital fingerprint includes data representing the characteristics of the device and at least the characteristic of the user of the device; and
comparing the digital fingerprint of the device to a reference digital fingerprint to determine whether the digital fingerprint of the device and the reference digital fingerprint identify one and the same device.

2. The method of claim 1 wherein the characteristic extraction logic causes the remotely located device to retrieve the characteristic of the user of the device by at least:

identifying the publicly available profile of the user of the device from browser personal information stored in the device.

3-15. (canceled)

16. The method of any one of claim 1 or 2, wherein the characteristic extraction logic causes the remotely located device to retrieve the characteristic of the user of the device by at least also:

retrieving the publicly available profile through a computer network.

17. The method of any one of claim 1 or 3, wherein comparing comprises:

retrieving comparison logic associated with each of the characteristics of the device and the characteristic of the user of the device; and
executing the comparison logic to determine a degree of similarity between the digital fingerprint of the device to a reference digital fingerprint.

18. The method of claim 4 wherein the comparison logic associated with the characteristic of the user of the device considers changes in the characteristic of the user of the device over time relative to expected changes in the characteristic of the user of the device over time.

19-24. (canceled)

Patent History
Publication number: 20140164418
Type: Application
Filed: Dec 2, 2013
Publication Date: Jun 12, 2014
Inventor: Craig S. Etchegoyen (Plano, TX)
Application Number: 14/094,637
Classifications
Current U.S. Class: Record, File, And Data Search And Comparisons (707/758)
International Classification: G06F 17/30 (20060101);