IP Library Granted Patent US 12,650,968
Granted Patent B2
US 12,650,968 · App. 19/286,118 · Granted Jun 9, 2026

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,650,968
App. No.
19/286,118
Filed
Jul 30, 2025
Granted
Jun 9, 2026
Kind
B2
Art Unit
2165
USPC
707/741
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 (47)

1 . A computer-implemented method for grouping a plurality of account records, the method comprising:

storing, by at least one processor, a plurality of account records, each account record comprising at least a name, address, and account identifier;

partitioning a set of grouping rules into at least two subsets according to attribute type;

applying, by the at least one processor, a different normalization algorithm to each rule subset according to a corresponding attribute type;

identifying, for each account record, other account records that satisfy at least one grouping rule subset after normalization;

synthesizing identified account records into a group based on the identified account records sharing a common account record that satisfies grouping rule subsets corresponding to different attribute types;

comparing a number of account records identified as satisfying at least one grouping rule subset to a predefined threshold for the at least one grouping rule subset, and responsive to the number exceeding the predefined threshold, removing group associations from the identified account records;

linking the account records in each synthesized group to an entity profile by inserting an entity identifier into an entity attribute-value pair of each account record;

assigning each identified group a group identifier; and

updating each account record in an identified group to include the corresponding group identifier in a group attribute-value pair of each account record, whereby group membership is verifiable by examination of the records.

2 . The method of claim 1 , wherein the normalization algorithm applied to rules related to the name attribute comprises phonetic hashing or edit distance matching.

3 . The method of claim 1 , wherein the rule subset assigned to address attributes applies a minimum similarity threshold based on edit distance or substring matching.

4 . The method of claim 1 , further comprising, upon detecting a change to any attribute in any account record, re-applying only affected rule subsets to update group assignments and corresponding group identifiers.

5 . The method of claim 1 , further comprising, upon determining that any group exceeds a predefined group size threshold, removing the group identifier from all account records of said group.

6 . The method of claim 1 , wherein each group identifier is a globally unique alphanumeric code generated by hashing normalized values of the attributes on which grouping is based.

7 . The method of claim 1 , further comprising storing, for each group identifier, metadata indicating date of creation and number of account records associated with the group.

8 . The method of claim 1 , wherein the account records and group identifiers are maintained within a relational database, with the group identifier corresponding to a foreign key column.

9 . The method of claim 1 , further comprising, prior to group assignment, applying at least one exclusion rule requiring absence of a specified attribute value to prevent an account record from joining a group.

10 . The method of claim 1 , wherein group membership for any account record is detectable by querying the account records for a presence of the group identifier.

11 . A system for grouping account records, comprising:

a memory storing a plurality of account records, each account record comprising at least a name, address, and account identifier; and at least one processor configured to:

partition a set of grouping rules into at least two subsets according to attribute type;

apply a different normalization algorithm to each rule subset according to a corresponding attribute type;

identify, for each account record, other account records that satisfy at least one grouping rule subset after normalization;

synthesize identified account records into a group based on the identified account records sharing a common account record that satisfies grouping rule subsets corresponding to different attribute types;

compare a number of account records identified as satisfying at least one grouping rule subset to a predefined threshold for the at least one grouping rule subset, and responsive to the number exceeding the predefined threshold, remove group associations from the identified account records;

link the account records in each synthesized group to an entity profile by inserting an entity identifier into an entity attribute-value pair of each account record;

assign each identified group a group identifier; and

update each account record in an identified group to include the corresponding group identifier in a group attribute-value pair of each account record, whereby group membership is verifiable by examination of the account records.

12 . The system of claim 11 , wherein the at least one processor is further configured such that the normalization algorithm applied to rules related to the name attribute comprises phonetic hashing or edit distance matching.

13 . The system of claim 11 , wherein the at least one processor is further configured such that the rule subset assigned to address attributes applies a minimum similarity threshold based on edit distance or substring matching.

14 . The system of claim 11 , wherein the at least one processor is further configured, upon detecting a change to any attribute in any account record, to re-apply only affected rule subsets to update group assignments and corresponding group identifiers.

15 . The system of claim 11 , wherein the at least one processor is further configured, upon determining that any group exceeds a predefined group size threshold, to remove the group identifier from all account records of said group.

16 . A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the processor to perform a method comprising:

storing a plurality of account records, each account record comprising at least a name, address, and account identifier;

partitioning a set of grouping rules into at least two subsets according to attribute type;

applying a different normalization algorithm to each rule subset according to a corresponding attribute type;

identifying, for each account record, other account records that satisfy at least one grouping rule subset after normalization;

synthesizing identified account records into a group based on the identified account records sharing a common account record that satisfies grouping rule subsets corresponding to different attribute types;

comparing a number of account records identified as satisfying at least one grouping rule subset to a predefined threshold for the at least one grouping rule subset, and responsive to the number exceeding the predefined threshold, removing group associations from the identified account records;

linking the account records in each synthesized group to an entity profile by inserting an entity identifier into an entity attribute-value pair of each account record;

assigning each identified group a group identifier; and

linking the account records in each synthesized group to an entity profile by inserting an entity identifier into an entity attribute-value pair of each account record.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the instructions for applying a normalization algorithm to rules related to the name attribute cause the processor to perform phonetic hashing or edit distance matching.

18 . The non-transitory computer-readable storage medium of claim 16 , wherein the instructions for the rule subset assigned to address attributes cause the processor to apply a minimum similarity threshold based on edit distance or substring matching.

19 . The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the processor, upon detecting a change to any attribute in any account record, to re-apply only affected rule subsets to update group assignments and corresponding group identifiers.

20 . The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the processor, upon determining that any group exceeds a predefined group size threshold, to remove the group identifier from all account records of said group.

Continuity (4)
Continuation 18824702 · Sep 4, 2024
Continuation 17696641 · Mar 16, 2022
Continuation In Part 17409262 · Aug 23, 2021
Related Publication 20250355852A1 · Nov 20, 2025
References Cited (38)
US 7627550B1 · Adams · 2009 [cited by examiner]
US 8037075B2 · Millett · 2011 [cited by examiner]
US 8364708B1 · Braytenbaum et al. · 2013 [cited by applicant]
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 et al. · 2019 [cited by applicant]
US 10983983B2 · Kallas et al. · 2021 [cited by applicant]
US 11474987B1 · Stein et al. · 2022 [cited by applicant]
US 11755559B1 · Tankersley · 2023 [cited by examiner]
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 20110093467A1 · Sharp · 2011 [cited by examiner]
US 20120330947A1 · Huenemann · 2012 [cited by examiner]
US 20140358932A1 · Brown · 2014 [cited by examiner]
US 20160070790A1 · Bhat et al. · 2016 [cited by applicant]
US 20170098245A1 · Palanciuc et al. · 2017 [cited by applicant]
US 20170199872A1 · Krasadakis · 2017 [cited by examiner]
US 20170308557A1 · Cassidy et al. · 2017 [cited by applicant]
US 20170374093A1 · Dhar · 2017 [cited by examiner]
US 20190278855A1 · Kallas et al. · 2019 [cited by applicant]
US 20190361845A1 · Faith · 2019 [cited by examiner]
US 20200320146A1 · Macadaan et al. · 2020 [cited by applicant]
US 20210084097A1 · Whitcher et al. · 2021 [cited by applicant]
US 20210117868A1 · Sriharsha · 2021 [cited by examiner]
US 20210357378A1 · Urdiales et al. · 2021 [cited by applicant]
US 20230055163A1 · McCreight · 2023 [cited by examiner]
DE 202017007212U1 · 2020 [cited by examiner]
WO WO2016016734A1 · 2016 [cited by examiner]
WO WO2016205286A9 · 2017 [cited by examiner]
WO WO2023276288A1 · 2023 [cited by examiner]
“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]