US 12,073,437 B2
Tunable statistical ids
Man Chan, Cupertino, CA (US); Abe Taha, Sunnyvale, CA (US); Kendra Mariko Chen, Shoreline, WA (US); Guohan Gao, San Jose, CA (US); and Aleksandar Mastilovic, San Jose, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Mar. 23, 2022, as Appl. No. 17/702,676.
Application 17/702,676 is a continuation of application No. 17/076,552, filed on Oct. 21, 2020, granted, now 11,568,447.
Application 17/076,552 is a continuation of application No. 14/791,074, filed on Jul. 2, 2015, granted, now 10,878,457, issued on Dec. 29, 2020.
Claims priority of provisional application 62/040,185, filed on Aug. 21, 2014.
Prior Publication US 2022/0215437 A1, Jul. 7, 2022
Int. Cl. G06Q 30/0251 (2023.01); G06Q 30/0241 (2023.01)
CPC G06Q 30/0269 (2013.01) [G06Q 30/0277 (2013.01)] 18 Claims
OG exemplary drawing
 
10. A computer-implemented method comprising:
identifying a sequence of mapping functions that is (i) configured to generate a plurality of identification codes from a set of characteristics associated with a plurality of user devices, and (ii) includes, each of the mapping functions in the sequence, a hashing function corresponding to a respective characteristic of the set of characteristics, each identification code of the plurality of identification codes corresponding to a user device of the plurality of user devices,
wherein the sequence of mapping functions includes at least a first mapping function and a last mapping function, and wherein identifying the sequence of mapping functions comprises:
identifying the first mapping function that generates a first plurality of user identification codes using a first subset of the set of characteristics, and
identifying the last mapping function that generates a second plurality of user identification codes based at least in part on a second subset of the set of characteristics;
receiving, from one or more computing devices, a third subset of the set of characteristics, such that one or more characteristics of the third subset of the set of characteristics are based at least in part on a user interaction with a computing device of the one or more computing devices;
generating an incremental mapping function using at least one characteristic of the second subset of the set of characteristics and the third subset of the set of characteristics, the incremental mapping function using at least some inputs different from the last mapping function;
generating, based on the incremental mapping function, a collision metric that estimates a number of user devices of the plurality of user devices that have been assigned a same identification code;
generating, based on the incremental mapping function, a fragmentation metric that provides an estimation of a number of identification codes assigned to a user device of the plurality of user devices;
generating, based on the collision metric and the fragmentation metric, a new sequence of mapping functions by:
removing, from the sequence of mapping functions, the first mapping function; and
adding, to the sequence of mapping functions, the incremental mapping function each time the computing device is upgraded or the user interaction with the computing device is updated based on a new keyword input during the user interaction;
receiving, from a particular user device of the plurality of user devices, one or more characteristics corresponding to the particular user device, wherein the one or more characteristics were generated based at least in part on user interaction with the particular user device;
generating an identification code for the particular user device using the one or more characteristics corresponding to the particular user device and the new sequence of mapping functions; and
transmitting, to a remote server, a request for content, wherein the request includes the identification code corresponding to the particular user device.