Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
First Claim
1. A computing system, comprising:
- one or more hardware computer processors;
a network interface providing data communication with(1) a first electronic data store configured to store a plurality of matching algorithms associated with a corresponding plurality of online requesting entities, the plurality of matching algorithms each including one or more deterministic matching rule and one or more probabilistic matching rule, and(2) a second electronic data store configured to store a plurality of device profiles, each device profile associated with a different electronic communication device and including at least;
a unique device identifier; and
one or more device identifiers associated with the electronic communication device, each of the one or more device identifiers being associated with a respective identifier type of a plurality of identifier types;
a non-transitory storage device storing executable software instructions that when executed;
receive online event data including a plurality of device identifiers associated with a first device that has interacted with a first online requesting entity;
access, from the first electronic data store, a first matching algorithm associated with the first online requesting entity, the first matching algorithm including a plurality of matching rules;
until either a determination that a particular accessed device profile of the plurality of device profiles matches a selected matching rule of the first matching algorithm, or until all of the matching rules of the first matching algorithm are evaluated with reference to the online event data, in real-time;
select a highest priority matching rule of the first matching algorithm that has not yet been evaluated with reference to the online event data;
determine a selected identifier type indicated in the selected matching rule;
determine a device identifier of the selected identifier type from the plurality of device identifiers of the online event data;
for each of the plurality of device profiles;
access a device profile identifier of the selected identifier type in the device profile;
determine whether the device profile identifier matches the device identifier of the selected identifier type from the online event data;
in response to determination that the device profile identifier matches the device identifier of the selected identifier type from the online event data, provide, to the requesting entity, the unique device identifier associated with the device profile in the second electronic data store;
in response to determination that none of the matching rules of the first matching algorithm match the device profile of the plurality of device profiles;
generate a new device profile associated with a unique device identifier and at least some of the online event data, andprovide, to the requesting entity, the unique device identifier associated with the new device profile; and
wherein the first matching algorithm is executed in real-time in response to receiving the online event data.
1 Assignment
0 Petitions
Accused Products
Abstract
An electronic device identifier mapping and resolution system are disclosed which may be used to analyze various device identifiers associated with an online event initiated by a particular device in applying a matching algorithm to determine a unique device identifier and/or device profile for the device. Device identifiers provided from disparate sources (such as web browser cookies, network IP addresses, device-specific identifiers, application-specific identifiers, custom identifiers, probabilistic identifiers, etc.), including both deterministic and/or probabilistic identifiers, may be analyzed according to the matching algorithm to determine a device identifier associated with the device. Matching algorithms may be customized and configured to a high degree of complexity for respective entities, such as to analyze disparate device identifiers according to a variety of identifier comparison functions and matching tiers. Matching algorithms may include conditional requirements that streamline execution of such algorithms, e.g., which may reduce processor load and increase execution time, such as conditional requirements that bypass portions of the matching algorithm based on particular identifiers associated with the online event that are initially analyzed.
-
Citations
20 Claims
-
1. A computing system, comprising:
-
one or more hardware computer processors; a network interface providing data communication with (1) a first electronic data store configured to store a plurality of matching algorithms associated with a corresponding plurality of online requesting entities, the plurality of matching algorithms each including one or more deterministic matching rule and one or more probabilistic matching rule, and (2) a second electronic data store configured to store a plurality of device profiles, each device profile associated with a different electronic communication device and including at least; a unique device identifier; and one or more device identifiers associated with the electronic communication device, each of the one or more device identifiers being associated with a respective identifier type of a plurality of identifier types; a non-transitory storage device storing executable software instructions that when executed; receive online event data including a plurality of device identifiers associated with a first device that has interacted with a first online requesting entity; access, from the first electronic data store, a first matching algorithm associated with the first online requesting entity, the first matching algorithm including a plurality of matching rules; until either a determination that a particular accessed device profile of the plurality of device profiles matches a selected matching rule of the first matching algorithm, or until all of the matching rules of the first matching algorithm are evaluated with reference to the online event data, in real-time; select a highest priority matching rule of the first matching algorithm that has not yet been evaluated with reference to the online event data; determine a selected identifier type indicated in the selected matching rule; determine a device identifier of the selected identifier type from the plurality of device identifiers of the online event data; for each of the plurality of device profiles; access a device profile identifier of the selected identifier type in the device profile; determine whether the device profile identifier matches the device identifier of the selected identifier type from the online event data; in response to determination that the device profile identifier matches the device identifier of the selected identifier type from the online event data, provide, to the requesting entity, the unique device identifier associated with the device profile in the second electronic data store; in response to determination that none of the matching rules of the first matching algorithm match the device profile of the plurality of device profiles; generate a new device profile associated with a unique device identifier and at least some of the online event data, and provide, to the requesting entity, the unique device identifier associated with the new device profile; and wherein the first matching algorithm is executed in real-time in response to receiving the online event data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
under control of one or more hardware processors; receiving online event data including a plurality of device identifiers associated with a device that has interacted with an online requesting entity; accessing a matching algorithm associated with the online requesting entity, the matching algorithm comprising a plurality of matching rules which comprises one or more deterministic matching rules and one or more probabilistic matching rules; until a determination that at least one device profile of a plurality of device profiles matches a selected matching rule of the matching algorithm or that all of the matching rules of the matching algorithm are evaluated with reference to the online event data, in real-time; selecting a highest priority matching rule of the matching algorithm that has not yet been evaluated with reference to the online event data; determining a selected identifier type indicated in the selected matching rule; determining a device identifier of the selected identifier type from the plurality of device identifiers of the online event data; accessing a device profile identifier of the selected identifier type in the device profile; determining whether the device profile identifier matches the device identifier of the selected identifier type from the online event data; in response to a determination that the device profile identifier matches the device identifier of the selected identifier type from the online event data, providing, to the online requesting entity, the unique device identifier associated with the device profile; in response to determination that none of the matching rules of the matching algorithm match the device profile of the plurality of device profiles; generating a new device profile associated with a unique device identifier and at least some of the online event data, and providing, to the requesting entity, the unique device identifier associated with the new device profile; and wherein the matching algorithm is executed in real-time in response to receiving the online event data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification