US 12,445,528 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 Nov. 20, 2023, as Appl. No. 18/515,082.
Application 18/515,082 is a continuation of application No. 17/830,591, filed on Jun. 2, 2022, granted, now 11,863,635.
Application 17/830,591 is a continuation of application No. 17/085,819, filed on Oct. 30, 2020, granted, now 11,375,040, issued on Jun. 28, 2022.
Claims priority of provisional application 62/929,662, filed on Nov. 1, 2019.
Prior Publication US 2024/0098151 A1, Mar. 21, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 67/306 (2022.01); G06F 9/30 (2018.01); G06F 9/48 (2006.01); G06F 9/52 (2006.01); G06F 16/22 (2019.01); G06F 16/25 (2019.01); G06F 16/901 (2019.01); G06Q 30/0201 (2023.01); G06Q 30/0251 (2023.01); G06T 1/20 (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)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
accessing a set of user profiles each user profile of the set of user profiles including one or more tags, each tag of the one or more tags characterizing a user 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 that is a condition to transfer the set of user profiles from a cloud service to a graphical processing unit (GPU);
in response to determining that the offloading condition is satisfied:
transforming, using the GPU, the set of user profiles into a plurality of subsets of user profiles;
storing, for each subset of the plurality of subsets of user profiles, the tags for the subset of user profiles in in a manner that accounts for the tags and a number of threads in a warp of the GPU, wherein a number of threads in the warp of the GPU equals a number of user profiles in the subset of user profiles;
determining, using the warps of the GPU, one or more user profiles of the set of user profiles that satisfy a logic of one or more logic trees, wherein the one or more user profiles are determined based on one or more tags of one or more specialized data structures associated with the subsets of the set of users and one or more operand values of the one or more logic trees; and
outputting the one or more user profiles.