IP Library Granted Patent US 12,423,278
Granted Patent B2
US 12,423,278 · App. 18/237,562 · Granted Sep 23, 2025

Systems and methods for resolving relationships within data sets

Inventor: Bryan Streu (Arlington Heights, IL)
Assignee: WALGREEN CO.
G06F16/215G06F9/466G06F9/52G06F16/2457G06F16/288G06F16/908
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,423,278
App. No.
18/237,562
Granted
Sep 23, 2025
Kind
B2
Abstract

Techniques for fully or comprehensively resolving relationships within and among different data sets are disclosed. The techniques evaluate identification tags of respective transaction records to resolve transitive relationships between and among the identification tags, which vary across the different data sets. Based on this resolving, the techniques comprehensively sort the identification tags into mutually exclusive sets of related identification tags. Additionally, the techniques resolve and sort identification tags that are transitively unrelated to every other identification tag. At least these features enable comprehensive identification and intelligent sorting of related/unrelated transaction records, provide enhanced transaction tracking and security, more efficient and accurate transaction record storage (and in particular, of composite records), and enhanced tracking accuracy of accounts or types of units as compared to known techniques. The techniques utilize recursive resolution to comprehensively and accurately resolve all data relationships among the different data sets.

Claims (58)

1. A computer-implemented method for resolving relationships within data sets, the method comprising:

evaluating, by one or more processors, whether a transitive relationship exists between unique pairs of identification tags in a plurality of identification tags;

based on the evaluating, sorting, by the one or more processors, the plurality of identification tags into one or more mutually exclusive sets of related identification tags at least in part by assigning a unique identifier to each mutually exclusive set of the one or more mutually exclusive sets, and wherein each identification tag included in the plurality of identification tags and to which a respective identification tag is transitively related is sorted into a respective mutually exclusive set corresponding to the respective identification tag;

removing, based on a removal indication, a respective identification tag from a respective mutually exclusive set that is not transitively related with any other identification tag in the respective mutually exclusive set;

re-evaluating, by the one or more processors, whether each remaining pair of identification tags in the respective mutually exclusive set are transitively related;

dividing, based on the re-evaluating, the respective mutually exclusive set into at least two mutually exclusive subsets each including a different, mutually exclusive subset of identification tags from the respective mutually exclusive set; and

sorting, by the one or more processors, the respective identification tag into another mutually exclusive set of the one or more mutually exclusive sets that is different from the at least two mutually exclusive subsets.

2. The computer-implemented method of claim 1 , wherein sorting the plurality of identification tags further comprises:

sorting, by the one or more processors, the plurality of identification tags into a plurality of candidate sets;

identifying, by the one or more processors, a respective candidate set of the plurality of candidate sets including a respective reflective identification tag; and

comparing, by the one or more processors, the respective candidate set including the respective reflective identification tag to each candidate set of the plurality of candidate sets to perform a corrective action with respect to the respective candidate set including the respective reflective identification tag when the respective reflective identification tag is included in another candidate set of the plurality of candidate sets.

3. The computer-implemented method of claim 1 , further comprising:

responsive to determining a respective identification tag is transitively unrelated to every other identification tag in the plurality of identification tags, identifying, by the one or more processors, the respective identification tag as a respective lone member; and

wherein sorting the plurality of identification tags into the one or more mutually exclusive sets is further based on the identification of the respective identification tag as the respective lone member.

4. The computer-implemented method of claim 1 , wherein each identification tag of the plurality of identification tags includes a respective customer identification string, and determining whether the transitive relationship exists between each unique pair of identification tags includes determining whether respective customer identification strings of each unique pair of identification tags each identifies a same customer.

5. The computer-implemented method of claim 1 , wherein at least one mutually exclusive set includes a respective lone member, and the respective lone member is a reflective identification tag.

6. The computer-implemented method of claim 1 ,

further comprising sorting, by the one or more processors, the one or more mutually exclusive sets into a sequential order based on the respective identification tags included in each mutually exclusive set of the one or more mutually exclusive sets; and

sorting, by the one or more processors, the each mutually exclusive set of the one or more mutually exclusive sets into two data sections, a first data section including the unique identifier and a second data section including each identification tag of the respective identification tags included in the each mutually exclusive set, and

wherein the unique identifier of the each mutually exclusive set of the one or more mutually exclusive sets is based on a relative position of the each mutually exclusive set within the sequential order.

7. A system for resolving relationships within data sets, the system comprising:

one or more processors; and

one or more non-transitory memories,

wherein the one or more non-transitory memories store computer-readable instructions that specially configure the system such that, when executed by the one or more processors, the one or more non-transitory memories cause the system to:

evaluate whether a transitive relationship exists between unique pairs of identification tags in a plurality of identification tags,

based on the evaluation, sort the plurality of identification tags into one or more mutually exclusive sets of related identification tags at least in part by assigning a unique identifier to each mutually exclusive set of the one or more mutually exclusive sets, and wherein each identification tag included in the plurality of identification tags and to which a respective identification tag is transitively related is sorted into a respective mutually exclusive set corresponding to the respective identification tag,

remove, based on a removal indication, a respective identification tag from a respective mutually exclusive set that is not transitively related with any other identification tag in the respective mutually exclusive set,

re-evaluate whether each remaining pair of identification tags in the respective mutually exclusive set are transitively related,

divide, based on the re-evaluation, the respective mutually exclusive set into at least two mutually exclusive subsets each including a different, mutually exclusive subset of identification tags from the respective mutually exclusive set, and

sort the respective identification tag into another mutually exclusive set of the one or more mutually exclusive sets that is different from the at least two mutually exclusive subsets.

8. The system of claim 7 , wherein the instructions, when executed, further cause the system to:

sort the plurality of identification tags into a plurality of candidate sets;

identify a respective candidate set of the plurality of candidate sets including a respective reflective identification tag; and

compare the respective candidate set including the respective reflective identification tag to each candidate set of the plurality of candidate sets to perform a corrective action with respect to the respective candidate set including the respective reflective identification tag when the respective reflective identification tag is included in another candidate set of the plurality of candidate sets.

9. The system of claim 7 , wherein the instructions, when executed, further cause the system to:

responsive to determining a respective identification tag is transitively unrelated to every other identification tag in the plurality of identification tags, identify the respective identification tag as a respective lone member; and

sort the plurality of identification tags into the one or more mutually exclusive sets based on the identification of the respective identification tag as the respective lone member.

10. The system of claim 7 , wherein the instructions, when executed, further cause the system to:

obtain a new identification tag;

determine whether the transitive relationship exists between the new identification tag and at least one identification tag from each of the one or more mutually exclusive sets of related identification tags; and

based on the determination, sort the new identification tag into a respective mutually exclusive set.

11. The system of claim 10 , wherein the one or more mutually exclusive sets includes a plurality of mutually exclusive sets, the new identification tag is transitively related to a respective identification tag in two or more of the plurality of mutually exclusive sets, and the instructions, when executed, further cause the system to:

sort the new identification tag into the respective mutually exclusive set by concatenating the two or more of the plurality of mutually exclusive sets.

12. A non-transitory computer-readable storage medium having stored thereon a set of instructions, executable by a processor, for resolving relationships within data sets, the instructions comprising:

instructions for evaluating whether a transitive relationship exists between unique pairs of identification tags in a plurality of identification tags;

instructions for, based on the evaluating, sorting the plurality of identification tags into one or more mutually exclusive sets of related identification tags at least in part by assigning a unique identifier to each mutually exclusive set of the one or more mutually exclusive sets, and each identification tag included in the plurality of identification tags and to which a respective identification tag is transitively related is sorted into a respective mutually exclusive set corresponding to the respective identification tag;

instructions for removing a respective identification tag from a respective mutually exclusive set that is not transitively related with any other identification tag in the respective mutually exclusive set;

instructions for re-evaluating whether each remaining pair of identification tags in the respective mutually exclusive set are transitively related;

instructions for dividing, based on the re-evaluating, the respective mutually exclusive set into at least two mutually exclusive subsets each including a different, mutually exclusive subset of identification tags from the respective mutually exclusive set; and

instructions for sorting the respective identification tag into another mutually exclusive set of the one or more mutually exclusive sets that is different from the at least two mutually exclusive subsets.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further comprise:

instructions for sorting the plurality of identification tags into a plurality of candidate sets;

instructions for identifying a respective candidate set of the plurality of candidate sets including a respective reflective identification tag; and

instructions for comparing the respective candidate set including the respective reflective identification tag to each candidate set of the plurality of candidate sets to perform a corrective action with respect to the respective candidate set including the respective reflective identification tag when the respective reflective identification tag is included in another candidate set of the plurality of candidate sets.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further comprise:

instructions for, responsive to determining a respective identification tag is transitively unrelated to every other identification tag in the plurality of identification tags, identifying the respective identification tag as a respective lone member; and

wherein instructions for sorting the plurality of identification tags into the one or more mutually exclusive sets is further based on the identification of the respective identification tag as the respective lone member.

15. The non-transitory computer-readable storage medium of claim 12 , wherein at least one mutually exclusive set includes a respective lone member, and the respective lone member is a reflective identification tag.

Assignments (3)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 28, 2025
From: WALGREEN CO.
To: SIXTH STREET LENDING PARTNERS, AS COLLATERAL AGENT
Reel/Frame 072606/0878 →
SECURITY INTEREST Recorded Aug 28, 2025
From: WALGREEN CO.; DUANE READE; WALGREENS SPECIALTY PHARMACY LLC; WALGREENS BOOTS ALLIANCE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 072679/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: STREU, BRYAN
To: WALGREEN CO.
Reel/Frame 064725/0257 →
Continuity (3)
Continuation 16938906 · Jul 24, 2020
Provisional Application 63052299 · Jul 15, 2020
Related Publication 20230394046A1 · Dec 7, 2023
References Cited (24)
US 6707989B1 · Ka'ahumanu · 2004 [cited by examiner]
US 7912842B1 · Bayliss · 2011 [cited by examiner]
US 8836480B2 · Wilfred · 2014 [cited by examiner]
US 8837954B2 · Primm · 2014 [cited by examiner]
US 9135669B2 · Roemerman · 2015 [cited by examiner]
US 9934486B2 · Vargas · 2018 [cited by examiner]
US 10127289B2 · Manning · 2018 [cited by examiner]
US 10964299B1 · Estes · 2021 [cited by examiner]
US 20010010333A1 · Han · 2001 [cited by examiner]
US 20020066418A1 · Fearing · 2002 [cited by examiner]
US 20020145050A1 · Jayaratne · 2002 [cited by examiner]
US 20070035383A1 · Roemerman et al. · 2007 [cited by applicant]
US 20070133164A1 · Xu et al. · 2007 [cited by applicant]
US 20080012714A1 · Furutani et al. · 2008 [cited by applicant]
US 20090309733A1 · Moran · 2009 [cited by examiner]
US 20110318013A1 · Primm · 2011 [cited by examiner]
US 20120078919A1 · Mineno · 2012 [cited by examiner]
US 20120166372A1 · Ilyas · 2012 [cited by examiner]
US 20140104039A1 · Wilfred · 2014 [cited by examiner]
US 20160202702A1 · Bruemmer · 2016 [cited by examiner]
US 20210357183A1 · Maier · 2021 [cited by examiner]
Yan et al., Entity Matching in the Wild: A Consistent and Versatile Framework to Unify Data in Industrial Applications; ACM 2020. [cited by examiner]
Yan et al., Entity matching in the wild: A consistent and versatile framework to unify data in industrial applications, SIGMOD 20, Jun. 14-19, 2020, Portland, Oregon, US. [cited by applicant]
European Patent Application No. 21175546.7, Extended European Search Report, dated Nov. 29, 2021. [cited by applicant]