Maintenance of a persistent master identifier for clusters of user identifiers across a plurality of devices
Abstract
A method for maintaining a persistent master identifier includes receiving a first plurality of clusters including a first plurality of user device identifiers and at least one first cluster attribute associated with the first plurality of identifiers. The first plurality of user device identifiers is stored as separate entries in a master table. Each entry includes at least a persistent master identifier, a user device identifier contained within the identified cluster, and the at least one attribute associated with the identifier. A second plurality of clusters including a second plurality of user device identifiers and at least one attribute associated with the second plurality of identifiers is received. Persistence of each entry in the master table is determined based on a comparison between the second plurality of clusters and the master table. The second plurality of clusters is selectively associated with a persistent master identifier based on the comparison.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method comprising using at least one hardware processor to:
store a plurality of stored clusters in a master table in a memory, wherein each stored cluster comprises a persistent master identifier that is associated with a plurality of user device identifiers; receive, from one or more servers, one or more received clusters, wherein each received cluster comprises a plurality of user device identifiers; and, for each of the one or more received clusters,
compare the plurality of user device identifiers in the received cluster with the plurality of user device identifiers in the plurality of stored clusters to match any overlapping user device identifiers between the received cluster and any stored clusters, and,
in response to matching one or more overlapping user device identifiers,
when all of the matching one or more overlapping user device identifiers are in only a single stored cluster, update the master table to associate the persistent master identifier of the single stored cluster with the plurality of user device identifiers in the received cluster, and,
when the matching one or more overlapping user device identifiers are matched across two or more stored clusters,
when one of the two or more stored clusters has more overlapping user device identifiers than any other of the two or more stored clusters, update the master table to associate the persistent master identifier of the one stored cluster with the plurality of user device identifiers in the received cluster, and,
when none of the two or more stored clusters has more overlapping user device identifiers than any other of the two or more stored clusters,
apply one or more heuristics to select one of the two or more stored clusters, and
update the master table to associate the persistent master identifier of the selected stored cluster with the plurality of user device identifiers in the received cluster.
2 . The method of claim 1 , wherein applying one or more heuristics comprises weighting the matched one or more overlapping user device identifiers differently according to the one or more heuristics.
3 . The method of claim 2 , wherein applying one or more heuristics comprises weighting overlapping user device identifiers that are based on a device identifier, application identifier, or system identifier higher than overlapping user device identifiers that are based on a cookie identifier.
4 . The method of claim 2 , wherein applying one or more heuristics comprises weighting overlapping user device identifiers that are located in a same geographic area higher than overlapping user device identifiers that are not located in a same geographic area.
5 . The method of claim 2 , wherein applying one or more heuristics comprises weighting a stored cluster that comprises more user device identifiers over a stored cluster that comprises fewer user device identifiers.
6 . The method of claim 1 , wherein applying one or more heuristics comprises, when the one or more heuristics are unable to differentiate between the two or more stored clusters, randomly selecting one of the two or more stored clusters.
7 . The method of claim 1 , wherein each of the plurality of user device identifiers, in each of the plurality of stored clusters and each of the one or more received clusters, is associated with one or more attributes, and wherein the method further comprises using the at least one hardware processor to, for each of the one or more received clusters, in response to not identifying any overlapping user device identifiers:
compare the attributes in the received cluster with the attributes in plurality of stored clusters to match any overlapping attributes between the received cluster and any stored clusters; and, in response to matching one or more overlapping attributes,
when all of the matching one or more overlapping attributes are in only a single stored cluster, update the master table to associate the persistent master identifier of the single stored cluster with the plurality of user device identifiers in the received cluster, and,
when the matching one or more overlapping attributes are matched across two or more stored clusters,
when one of the two or more stored clusters has more overlapping attributes than any other of the two or more stored clusters, update the master table to associate the persistent master identifier of the one stored cluster with the plurality of user device identifiers in the received cluster, and,
when none of the two or more stored clusters has more overlapping attributes than any other of the two or more stored clusters, select one of the two or more stored clusters based on additional criteria, and update the master table to associate the persistent master identifier of the selected stored cluster with the plurality of user device identifiers in the received cluster.
8 . The method of claim 7 , further comprising using the at least one hardware processor to, for each of the one or more received clusters, in response to not identifying any overlapping user device identifiers and any overlapping attributes:
generate a new unique persistent master identifier; and store the received cluster as a new stored cluster in the memory, wherein the new stored cluster comprises the new unique persistent master identifier in association with the plurality of user device identifiers in the received cluster.
9 . The method of claim 7 , wherein the one or more attributes comprise a device model.
10 . The method of claim 7 , wherein the one or more attributes comprise a visited Internet Protocol (IP) address.
11 . The method of claim 7 , wherein the one or more attributes comprise a frequency of an occurrence of at least one of the one or more attributes.
12 . The method of claim 11 , wherein selecting one of the two or more stored clusters based on additional criteria comprises selecting the one of the two or more stored clusters with a highest frequency in the one or more attributes associated with its plurality of user device identifiers.
13 . The method of claim 7 , wherein the one or more attributes comprise a time of an occurrence of at least one of the one or more attributes.
14 . The method of claim 13 , wherein selecting one of the two or more stored clusters based on additional criteria comprises selecting the one of the two or more stored clusters with a most recent time in the one or more attributes associated with its plurality of user device identifiers.
15 . The method of claim 7 , wherein the one or more attributes comprise a user agent string.
16 . The method of claim 7 , wherein selecting one of the two or more stored clusters based on additional criteria comprises, when the additional criteria are unable to differentiate between the two or more stored clusters, randomly selecting one of the two or more stored clusters.
17 . The method of claim 1 , wherein the plurality of user device identifiers in one or more of the plurality of stored clusters or one or more received clusters comprise at least one of a media access control (MAC) address, a serial number, an open device identification number (ODIN), a unique device identifier (UDID), a globally unique identifier (GUID), and an international mobile equipment identity (IMEI).
18 . The method of claim 1 , wherein updating the master table to associate the persistent master identifier of a stored cluster with the plurality of user device identifiers in the received cluster comprises deleting any user device identifiers in the stored cluster that do no overlap with user device identifiers in the received cluster.
19 . A system comprising:
a memory; at least one hardware processor; and one or more software modules that are configured to, when executed by the at least one hardware processor,
store a plurality of stored clusters in a master table in a memory, wherein each stored cluster comprises a persistent master identifier that is associated with a plurality of user device identifiers,
receive, from one or more servers, one or more received clusters, wherein each received cluster comprises a plurality of user device identifiers, and,
for each of the one or more received clusters,
compare the plurality of user device identifiers in the received cluster with the plurality of user device identifiers in the plurality of stored clusters to match any overlapping user device identifiers between the received cluster and any stored clusters, and,
in response to matching one or more overlapping user device identifiers,
when all of the matching one or more overlapping user device identifiers are in only a single stored cluster, update the master table to associate the persistent master identifier of the single stored cluster with the plurality of user device identifiers in the received cluster, and,
when the matching one or more overlapping user device identifiers are matched across two or more stored clusters,
when one of the two or more stored clusters has more overlapping user device identifiers than any other of the two or more stored clusters, update the master table to associate the persistent master identifier of the one stored cluster with the plurality of user device identifiers in the received cluster, and,
when none of the two or more stored clusters has more overlapping user device identifiers than any other of the two or more stored clusters,
apply one or more heuristics to select one of the two or more stored clusters, and
update the master table to associate the persistent master identifier of the selected stored cluster with the plurality of user device identifiers in the received cluster.
20 . A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause the processor to:
store a plurality of stored clusters in a master table in a memory, wherein each stored cluster comprises a persistent master identifier that is associated with a plurality of user device identifiers; receive, from one or more servers, one or more received clusters, wherein each received cluster comprises a plurality of user device identifiers; and, for each of the one or more received clusters,
compare the plurality of user device identifiers in the received cluster with the plurality of user device identifiers in the plurality of stored clusters to match any overlapping user device identifiers between the received cluster and any stored clusters, and,
in response to matching one or more overlapping user device identifiers,
when all of the matching one or more overlapping user device identifiers are in only a single stored cluster, update the master table to associate the persistent master identifier of the single stored cluster with the plurality of user device identifiers in the received cluster, and,
when the matching one or more overlapping user device identifiers are matched across two or more stored clusters,
when one of the two or more stored clusters has more overlapping user device identifiers than any other of the two or more stored clusters, update the master table to associate the persistent master identifier of the one stored cluster with the plurality of user device identifiers in the received cluster, and,
when none of the two or more stored clusters has more overlapping user device identifiers than any other of the two or more stored clusters,
apply one or more heuristics to select one of the two or more stored clusters, and
update the master table to associate the persistent master identifier of the selected stored cluster with the plurality of user device identifiers in the received cluster.Join the waitlist — get patent alerts
Track US2020259895A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.