IP Library Granted Patent US 12,399,881
Granted Patent B2
US 12,399,881 · App. 18/824,702 · Granted Aug 26, 2025

Managing hierarchical data structures for entity matching

Inventors: Xiaoqiao Wei (Woodbury, MN); Christopher Kallas (Grafton, WI); Wentao Lu (Minnetonka, MN); Carlos A. Garavito Garzon (Minneapolis, MN); Jon Doyle (Denver, CO); Ding Ma (Thousand Oaks, CA)
Assignee: U.S. BANCORP, NATIONAL ASSOCIATION
G06F16/2246G06F16/288
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,399,881
App. No.
18/824,702
Granted
Aug 26, 2025
Kind
B2
Abstract

A method comprises storing a plurality of accounts and generating a hierarchical data structure from the plurality of accounts by: identifying a first set of accounts and a second set of accounts responsive to the first set of accounts and the second set of accounts satisfying a first set of rules; linking the first set of accounts to a first entity profile and the second set of accounts to a second entity profile; and responsive to the first plurality of profile values and the second plurality of profile values of the second entity profile satisfying a second set of rules, linking the first entity profile and the second entity profile to a group entity profile.

Claims (84)

1. A method for data storage and retrieval from a computer memory, comprising:

storing, by at least one processor, a plurality of accounts in a memory, each of the plurality of accounts associated with a plurality of account values; and

generating, by the at least one processor, a hierarchical data structure from the plurality of accounts by:

identifying, by the at least one processor, a first set of accounts and a second set of accounts responsive to the first set of accounts and the second set of accounts satisfying a first set of rules;

responsive to identifying the first set of accounts and the second set of accounts, generating, by the at least one processor,

a first entity profile separate from the first set of accounts and the second set of accounts and being associated with one or more first account values that are common across the first set of accounts and

a second entity profile separate from the first set of accounts and the second set of accounts and being associated with one or more second account values that are common across the second set of accounts;

linking, by the at least one processor, the first set of accounts to the first entity profile by associating a first entity identifier with each account of the first set of accounts, wherein the first entity profile is associated with a first plurality of profile values;

linking the second set of accounts to the second entity profile by associating a second entity identifier with each account of the second set of accounts, wherein the second entity profile is associated with a second plurality of profile values;

responsive to the first plurality of profile values and the second plurality of profile values satisfying a second set of rules, generating, by the at least one processor, a group entity profile separate from the first entity profile and the second entity profile, the group entity profile being associated with one or more group entity profile values that are common between the first plurality of profile values and the second plurality of profile values; and

linking, by the at least one processor, the first entity profile and the second entity profile to the group entity profile.

2. The method of claim 1 , wherein identifying the first set of accounts and the second set of accounts comprises:

determining, by the at least one processor, each account of the first set of accounts includes first matching account values; and

determining, by the at least one processor, each account of the second set of accounts includes second matching account values.

3. The method of claim 1 , further comprising:

identifying, by the at least one processor, the first entity profile responsive to the first entity profile satisfying a first subset of rules of the second set of rules and the second entity profile responsive to the second entity profile satisfying a second set of rules of the second set of rules; and

determining, by the at least one processor, the first entity profile and the second entity profile are associated with the same group entity responsive to the first entity profile and the second entity profile having a common entity value.

4. The method of claim 1 , wherein the hierarchical data structure is a first hierarchical data structure and the group entity profile is a first group entity profile, and further comprising:

generating, by the at least one processor, a second hierarchical data structure comprising a second group entity profile linked to a plurality of entity profiles, each of the plurality of entity profile linked to a second plurality of account profiles;

determining, by the at least one processor, the first group entity profile and the second group entity profile comprise a common group value; and

linking, by the at least one processor, the first group entity profile and the second group entity profile responsive to determining the first group entity profile and the second group entity profile comprise a common group value.

5. The method of claim 4 , wherein linking the first group entity profile and the second group entity profile comprises inserting a community identifier of a community profile into a community group value of each of the first group entity profile and the second group entity profile.

6. The method of claim 1 , wherein the hierarchical data structure is a first hierarchical data structure and the group entity profile is a first group entity profile, and further comprising:

generating, by the at least one processor, a second hierarchical data structure comprising a third entity profile linked to a second plurality of account profiles;

determining, by the at least one processor, the third entity profile is not linked to a group entity profile;

determining, by the at least one processor, the first household entity profile and the third entity profile comprise a common group value; and

linking, by the processor, the first group entity profile and the third entity profile responsive to determining the first group entity profile and the third entity profile comprise a common group value.

7. The method of claim 6 , further comprising:

responsive to determining the third entity profile is not linked to a group entity profile, inserting, by the at least one processor, a null value in a group entity profile value of the third entity profile,

wherein determining the third entity profile is not linked to a group entity profile comprises identifying the null value.

8. The method of claim 1 , further comprising:

detecting, by the at least one processor, a change in an account value of an account of the first or second sets of accounts; and

responsive to the detection, re-applying, by the at least one processor, the first set of rules to the plurality of accounts and the second set of rules to any entity profiles that are identified based on the re-application of the first set of rules.

9. The method of claim 1 , wherein storing the plurality of accounts in the computer memory comprises:

calculating, by the at least one processor, a number of entity profiles that are linked to the group entity profile; and

responsive to determining the number exceeds a threshold, replacing, by the at least one processor, group identifiers of the group entity profile in the entity profiles that are linked to the group entity profile with null values.

10. The method of claim 1 , further comprising:

storing, by the at least one processor, one or more records for each of the group entity profile, the first entity profile, and the first set of accounts;

receiving, by the at least one processor, a request comprising an identification of the first group entity profile;

identifying, by the at least one processor, the first entity profile, the second entity profile, the first set of accounts, and the second set of accounts based on the identification; and

retrieving, by the at least one processor, data from the one or more records of the first entity profile, the second entity profile, the first set of accounts, and the second set of accounts based on the identification.

11. The method of claim 1 , wherein generating the hierarchical data structure comprises linking, by the at least one processor, a third entity profile with an account of the first set of account.

12. A system, the system comprising:

one or more processors configured by machine-readable instructions to:

store a plurality of accounts in a memory, each of the plurality of accounts associated with a plurality of account values; and

generate a hierarchical data structure from the plurality of accounts by:

identifying a first set of accounts and a second set of accounts responsive to the first set of accounts and the second set of accounts satisfying a first set of rules;

responsive to identifying the first set of accounts and the second set of accounts, generating a first entity profile separate from the first set of accounts and the second set of accounts and comprising one or more first account values that are common across the first set of accounts and a second entity profile comprising one or more second account values that are common across the second set of accounts;

linking the first set of accounts to the first entity profile by inserting a first entity identifier into an entity account attribute-value pair of each account of the first set of accounts and the second set of accounts to the second entity profile by inserting a second entity identifier into an entity account values of each account of the second set of accounts, the first entity profile comprising a first plurality of profile values and the second entity profile comprising a second plurality of profile values;

responsive to the first plurality of profile values and the second plurality of profile values of the second entity profile satisfying a second set of rules, generating a group entity profile separate from the first entity profile and the second entity profile and comprising one or more profile values that are common between the first plurality of profile values and the second plurality of profile values; and

linking the first entity profile and the second entity profile to the group entity profile by inserting a group identifier into a first group value of the first plurality of profile values and a second group value of the second plurality of profile values.

13. The system of claim 12 , wherein the one or more processors are configured to identify the first set of accounts and the second set of accounts by:

determining each account of the first set of accounts includes first matching account values; and

determining each account of the second set of accounts includes second matching account values.

14. The system of claim 12 , wherein the one or more processors are further configured to:

identify the first entity profile responsive to the first entity profile satisfying a first subset of rules of the second set of rules and the second entity profile responsive to the second entity profile satisfying a second set of rules of the second set of rules; and

determine the first entity profile and the second entity profile are associated with the same group entity responsive to the first entity profile and the second entity profile having a common entity value.

15. The system of claim 12 , wherein the hierarchical data structure is a first hierarchical data structure and the household entity profile is a first group entity profile, and wherein the one or more processors are further configured to:

generate a second hierarchical data structure comprising a second group entity profile linked to a plurality of entity profiles, each of the plurality of entity profile linked to a second plurality of account profiles;

determine the first group entity profile and the second group entity profile comprise a common group value; and

link the first group entity profile and the second group entity profile responsive to determining the first group entity profile and the second group entity profile comprise a common household value.

16. The system of claim 15 , wherein the one or more processors are configured to link the first group entity profile and the second group entity profile by inserting a community identifier of a community profile into a community group value of each of the first group entity profile and the second group entity profile.

17. The system of claim 12 , wherein the hierarchical data structure is a first hierarchical data structure and the household entity profile is a first group entity profile, and wherein the one or more processors are further configured to:

generate a second hierarchical data structure comprising a third entity profile linked to a second plurality of account profiles;

determine the third entity profile is not linked to a group entity profile;

determine the first group entity profile and the third entity profile comprise a common value; and

link the first group entity profile and the third entity profile responsive to determining the first group entity profile and the third entity profile comprise a common value.

18. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method, the method comprising:

storing a plurality of accounts in a memory, each of the plurality of accounts associated with a plurality of account values; and

generating a hierarchical data structure from the plurality of accounts by:

identifying a first set of accounts and a second set of accounts responsive to the first set of accounts and the second set of accounts satisfying a first set of rules;

responsive to identifying the first set of accounts and the second set of accounts, generating

a first entity profile separate from the first set of accounts and the second set of accounts and being associated with one or more first account values that are common across the first set of accounts and

a second entity profile separate from the first set of accounts and the second set of accounts and being associated with one or more second account values that are common across the second set of accounts;

linking the first set of accounts to the first entity profile by associating a first entity identifier with each account of the first set of accounts, wherein the first entity profile is associated with a first plurality of profile values;

linking the second set of accounts to the second entity profile by associating a second entity identifier with each account of the second set of accounts, wherein the second entity profile is associated with a second plurality of profile values;

responsive to the first plurality of profile values and the second plurality of profile values satisfying a second set of rules, generating a group entity profile separate from the first entity profile and the second entity profile, the group entity profile being associated with one or more group entity profile values that are common between the first plurality of profile values and the second plurality of profile values; and

linking the first entity profile and the second entity profile to the group entity profile.

19. The non-transitory computer-readable storage medium of claim 18 , wherein identifying the first set of accounts and the second set of accounts comprises:

determining each account of the first set of accounts includes first matching account values; and

determining each account of the second set of accounts includes second matching account values.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the method further comprises:

identifying the first entity profile responsive to the first entity profile satisfying a first subset of rules of the second set of rules and the second entity profile responsive to the second entity profile satisfying a second set of rules of the second set of rules; and

determining the first entity profile and the second entity profile are associated with the same group entity responsive to the first entity profile and the second entity profile having a common entity value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2024
From: WEI, XIAOQIAO; KALLAS, CHRISTOPHER; LU, WENTAO; GARZON, CARLOS A. GARAVITO; DOYLE, JON; MA, DING
To: U.S. BANCORP, NATIONAL ASSOCIATION
Reel/Frame 068489/0558 →
Continuity (3)
Continuation 17696641 · Mar 16, 2022
Continuation In Part 17409262 · Aug 23, 2021
Related Publication 20240427751A1 · Dec 26, 2024
References Cited (25)
US 7627550B1 · Adams et al. · 2009 [cited by applicant]
US 8364708B1 · Braytenbaum · 2013 [cited by examiner]
US 8713414B2 · Kamuf et al. · 2014 [cited by applicant]
US 8799282B2 · Goldenberg et al. · 2014 [cited by applicant]
US 9286332B1 · Roumeliotis et al. · 2016 [cited by applicant]
US 9600563B2 · Ford et al. · 2017 [cited by applicant]
US 10489462B1 · Rogynskyy · 2019 [cited by examiner]
US 10983983B2 · Kallas et al. · 2021 [cited by applicant]
US 11474987B1 · Stein et al. · 2022 [cited by applicant]
US 20050021551A1 · Silva et al. · 2005 [cited by applicant]
US 20070276858A1 · Cushman et al. · 2007 [cited by applicant]
US 20080243885A1 · Harger et al. · 2008 [cited by applicant]
US 20160070790A1 · Bhat et al. · 2016 [cited by applicant]
US 20170098245A1 · Palanciuc et al. · 2017 [cited by applicant]
US 20170308557A1 · Cassidy et al. · 2017 [cited by applicant]
US 20190278855A1 · Kallas · 2019 [cited by examiner]
US 20190361845A1 · Faith et al. · 2019 [cited by applicant]
US 20200320146A1 · Macadaan et al. · 2020 [cited by applicant]
US 20210084097A1 · Whitcher · 2021 [cited by examiner]
US 20210357378A1 · Urdiales et al. · 2021 [cited by applicant]
“Subject Definitions” co-sponsored by US Bureau of Labor Statistics, census.gov/programs-surveys/cps/technical-documentation/subject-definitions.html#household, last revised Sep. 27, 2020, 23 pages. [cited by applicant]
Beaman et al., “Do Household Definitions Matter in Survey Design? Results from a Randomized Survey Experiment in Mali,” (2011) pp. 1-34. [cited by applicant]
Glossary of Statistical Terms, stats.oecd.org/glossary/detail.asp?ID=1255, last updated Jul. 29, 2002, 1 page. [cited by applicant]
HealthCare.gov; “How to Count Income and Household Members”, healthcare.gov/income-and-household-information/household-size/; 5 pages. [cited by applicant]
Li et al., “Linking Temporal Records for Profiling Entities” (2015) Australia. [cited by applicant]