US 11,863,635 B2
Enhanced processing of user profiles using data structures specialized for graphical processing units (GPUs)
David Lawrence Rager, Austin, TX (US); Andrew Edward Brownsword, Bowen Island (CA); and Guy Lewis Steele, Jr., Lexington, MA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jun. 2, 2022, as Appl. No. 17/830,591.
Application 17/830,591 is a continuation of application No. 17/085,819, filed on Oct. 30, 2020, granted, now 11,375,040.
Claims priority of provisional application 62/929,662, filed on Nov. 1, 2019.
Prior Publication US 2022/0303351 A1, Sep. 22, 2022
Int. Cl. H04L 67/306 (2022.01); G06T 1/20 (2006.01); G06F 16/901 (2019.01); G06F 16/22 (2019.01); G06F 16/25 (2019.01); G06F 9/48 (2006.01); G06Q 30/0201 (2023.01); G06Q 30/0251 (2023.01); G06F 9/30 (2018.01); G06F 9/52 (2006.01); G06Q 50/00 (2012.01)
CPC H04L 67/306 (2013.01) [G06F 9/3009 (2013.01); G06F 9/4881 (2013.01); G06F 9/52 (2013.01); G06F 16/2237 (2019.01); G06F 16/2246 (2019.01); G06F 16/258 (2019.01); G06F 16/9027 (2019.01); G06Q 30/0201 (2013.01); G06Q 30/0269 (2013.01); G06T 1/20 (2013.01); G06Q 50/01 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
accessing a set of user profiles stored in a user profile database, each user profile of the set of user profiles including a one or more interest tags, each interest tag of the one or more interest tags characterizing an interest of a user detected based on an interaction between a user device and a web server or an application server;
determining that one or more characteristics of each user profile of the set of user profiles satisfies an offloading condition, wherein the offloading condition is a condition for transferring processing the set of the user profiles from a cloud service to a graphical processing unit (GPU);
pre-processing, in response to determining that the offloading condition is satisfied and with the graphical processing unit (GPU), the set of user profiles by:
segmenting the set of user profiles into a plurality of subsets of user profiles, wherein a number of user profiles in each subset of user profiles of the subsets of user profiles equals a number of threads in a warp of the GPU; and
for each subset of user profiles of the plurality of subsets of user profiles, creating at least one array, the at least one array storing interest tags for the respective subset of user profiles; and
for each subset of user profiles of the plurality of subsets of user profiles, storing the at least one array in a specialized data structure;
determining, using warps of the GPU, one or more user profiles of the set of user profiles that satisfy logic of one or more campaign logic trees of a marketing campaign, wherein the one or more user profiles are determined based on the one or more interest tags of the specialized data structures and one or more operand values of the one or more campaign logic trees; and
returning, in response to a query for user profiles, the one or more user profiles to the marketing campaign.