IP Library › Granted Patent US 12,417,237
Granted Patent B2
US 12,417,237 · App. 18/108,015 · Granted Sep 16, 2025

Determining relationships of historical data records

Inventors: Anne Gillespie Mitchell (Fremont, CA); Kaleb Benjamin White (Herriman, UT); Matt Landon Rasmussen (Orem, UT); Rey Robert Furner (Lindon, UT); Douglas Garry Earl (Orem, UT); Bryce Damon Ririe (Highland, UT); Donald Bernard Curtis (Highland, UT)
Assignee: Ancestry.com Operations Inc.
G06F16/285A61B17/00A61B34/25A61B34/30A61B90/06A61B90/25G06F16/248A61B2017/00203A61B2090/067
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,417,237
App. No.
18/108,015
Granted
Sep 16, 2025
Kind
B2
Abstract

A computing server may receive genealogical records that include historical records of deceased individuals. The computing server may normalize the genealogical records into normalized genealogical records. Normalizing the genealogical records may include converting a text string of a genealogical record into a standardized format. The computing server may stitch the normalized genealogical records into a plurality of clusters. Each cluster corresponds to an individual and includes one or more genealogical records associated with the individual. The computing server may identify a life-event record that is commonly associated with a subset of clusters, the life-event record indicating that a plurality of deceased individuals are connected through a non-familial relationship in a life event documented by the life-event record. The computing server may cause a graphical user interface to display a representation of a historical network among the plurality of deceased individuals that are connected through the non-familial relationship.

Claims (83)

1. A computer-implemented method, comprising:

receiving a plurality of genealogical records, at least a subset of the plurality of genealogical records being historical records of deceased individuals;

normalizing the plurality of genealogical records into normalized genealogical records, normalizing the plurality of genealogical records comprising converting a text string of at least one of the plurality of genealogical records into a standardized format;

stitching the normalized genealogical records into a plurality of clusters, each cluster estimated to be corresponding to an individual and comprising one or more genealogical records associated with the individual, wherein stitching the normalized genealogical records into the plurality of clusters comprises:

generating tokens representing the plurality of clusters in a plurality of stitch runs;

generating identifiers for the plurality of clusters, the identifiers being unique across the plurality of stitch runs and being different from the tokens, wherein an identifier uniquely represents the individual; and

linking a first token corresponding to a first stitch run and a second token corresponding to a second stitch run to the identifier that uniquely represents the individual;

generating a stitched tree comprising nodes that represent tree individuals, the nodes being connected via edges specifying relationships among the tree individuals, wherein at least one node represents a tree individual that has a cluster of normalized genealogical records that are estimated to be belong to the individual;

detecting, utilizing a relationship generation engine to process a database of genealogical records, a life-event record that is commonly associated with a subset of clusters, the life-event record indicating that a set of deceased individuals are connected through a non-familial relationship in a life event documented by the life-event record;

adding, to the stitched tree, edges to the nodes representing the set of deceased individuals, the added edges representing that the set of deceased individuals are connected through the non-familial relationship in the life event;

generating a historical network among the set of deceased individuals that are connected through the non-familial relationship in the life event, the historical network comprising the edges added to the nodes representing the set of deceased individuals and comprising one or more genealogical records that are stitched as part of the subset of clusters;

generating, within the historical network, a historical organization profile for a historical organization through which the non-familial relationship connects the set of deceased individuals; and

causing a graphical user interface to display a representation of the historical network comprising the historical organization profile.

2. The computer-implemented method of claim 1 , wherein the plurality of genealogical records comprise genealogical records from a genealogical tree database, wherein stitching the normalized genealogical records comprises searching for related records from the genealogical tree database.

3. The computer-implemented method of claim 2 , further comprising generating the historical organization profile to include information from the one or more genealogical records that are stitched as part of the subset of clusters, wherein the one or more genealogical records are navigable within the historical organization profile displayed in the graphical user interface.

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

assigning a first token for each cluster in a first plurality of clusters generated in a first stitch run, the first token for each cluster representing a set of genealogical records that are identified to be stitched as a cluster in the first stitch run;

assigning an identifier to each cluster in the plurality of clusters, the identifier being used by a genealogy server as the identifier of the individual corresponding to a respective cluster;

assigning a second token for each cluster in a second plurality of clusters generated in a second stitch run, the second token for each cluster representing a set of genealogical records that are identified to be stitched as a cluster in the second stitch run; and

matching the second token with the identifier.

5. The computer-implemented method of claim 1 , wherein the life-event record is a record of a military unit and the life event is joining the military unit together, and wherein the representation of the historical network indicates that the set of deceased individuals were in the military unit.

6. The computer-implemented method of claim 1 , further comprising: organizing the normalized genealogical records based on a database schema of a graph database.

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

generating, within the historical network, a sub-unit organization profile for a sub-unit of the historical organization through which the non-familial relationship connects the set of deceased individuals; and

causing the graphical user interface to display a representation of the sub-unit organization profile within the representation of the historical network.

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

extracting, from refined data obtained from at least one data source, contextual data comprising data pertaining to events relevant to the historical organization utilizing an extraction model; and

causing the graphical user interface to display the contextual data within the historical organization profile.

9. The computer-implemented method of claim 1 , further comprising generating a plurality of sections within the historical organization profile through which a user may navigate to derive information within the graphical user interface.

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

generating, within the historical network, a plurality of member profiles for individual members of the historical organization through which the non-familial relationship connects the set of deceased individuals; and

causing the graphical user interface to display representations of the plurality of member profiles within the representation of the historical network.

11. The computer-implemented method of claim 1 , further comprising: causing the graphical user interface to display roles of one or more deceased individuals in the non-familial relationship.

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

connecting at least one deceased individual in the set of deceased individuals in the historical network to a family tree, the family tree comprising one or more descendants of the at least one deceased individual; and

causing the graphical user interface to display the family tree in response to a user selecting the at least one deceased individual in the historical network.

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

determining that two users of a genealogy server are descendants of two deceased individuals in the historical network; and

causing the graphical user interface to send a notification indicating the two users are connected through the historical network.

14. A system, comprising:

a computing server comprising one or more processors and memory in communication with the one or more processors, the memory configured to store code comprising instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform steps comprising:

receiving a plurality of genealogical records, at least a subset of the plurality of genealogical records being historical records of deceased individuals;

normalizing the plurality of genealogical records into normalized genealogical records, normalizing the plurality of genealogical records comprising converting a text string of at least one of the plurality of genealogical records into a standardized format;

stitching the normalized genealogical records into a plurality of clusters, each cluster estimated to be corresponding to an individual and comprising one or more genealogical records associated with the individual, wherein stitching the normalized genealogical records into the plurality of clusters comprises:

generating tokens representing the plurality of clusters in a plurality of stitch runs;

generating identifiers for the plurality of clusters, the identifiers being unique across the plurality of stitch runs and being different from the tokens, wherein an identifier uniquely represents the individual; and

linking a first token corresponding to a first stitch run and a second token corresponding to a second stitch run to the identifier that uniquely represents the individual;

generating a stitched tree comprising nodes that represent tree individuals, the nodes being connected via edges specifying relationships among the tree individuals, wherein at least one node represents a tree individual that has a cluster of normalized genealogical records that are estimated to be belong to the individual;

generating a stitched tree comprising nodes that represent tree individuals, the nodes being connected via edges specifying relationships among the tree individuals, wherein at least one node represents a tree individual that has a cluster of normalized genealogical records that are estimated to be belong to the individual;

detecting, utilizing a relationship generation engine to process a database of genealogical records, a life-event record that is commonly associated with a subset of clusters, the life-event record indicating that a set of deceased individuals are connected through a non-familial relationship in a life event documented by the life-event record;

adding, to the stitched tree, edges to the nodes representing the set of deceased individuals, the added edges representing that the set of deceased individuals are connected through the non-familial relationship in the life event;

generating a historical network among the set of deceased individuals that are connected through the non-familial relationship in the life event, the historical network comprising the edges added to the nodes representing the set of deceased individuals and comprising one or more genealogical records that are stitched as part of the subset of clusters;

generating, within the historical network, a historical organization profile for a historical organization through which the non-familial relationship connects the set of deceased individuals; and

causing a graphical user interface to display a representation of the historical network comprising the historical organization profile.

15. The system of claim 14 , wherein the steps further comprise:

assigning a first token for each cluster in a first plurality of clusters generated in a first stitch run, the first token for each cluster representing a set of genealogical records that are identified to be stitched as a cluster in the first stitch run;

assigning an identifier to each cluster in the plurality of clusters, the identifier being used by a genealogy server as the identifier of the individual corresponding to a particular cluster;

assigning a second token for each cluster in a second plurality of clusters generated in a second stitch run, the second token for each cluster representing a set of genealogical records that are identified to be stitched as a cluster in the second stitch run; and

matching the second token with the identifier.

16. The system of claim 14 , wherein the life-event record is a record of a military unit and the life event is joining the military unit together, and wherein the representation of the historical network indicates that the set of deceased individuals were in the military unit.

17. The system of claim 14 , wherein the steps further comprise:

extracting, from refined data obtained from at least one data source, contextual data comprising data pertaining to events relevant to the historical organization utilizing an extraction model; and

causing the graphical user interface to display the contextual data within the historical organization profile.

18. The system of claim 14 , wherein the steps further comprise:

connecting at least one deceased individual in the set of deceased individuals in the historical network to a family tree, the family tree comprising one or more descendants of the at least one deceased individual; and

causing the graphical user interface to display the family tree in response to a user selecting the at least one deceased individual in the historical network.

19. The system of claim 14 , wherein the steps further comprise:

determining that two users of a genealogy server are descendants of two deceased individuals in the historical network; and

causing the graphical user interface to send a notification indicating the two users are connected through the historical network.

20. A non-transitory computer readable medium configured to store code comprising instructions, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:

receiving a plurality of genealogical records, at least a subset of the plurality of genealogical records being historical records of deceased individuals;

normalizing the plurality of genealogical records into normalized genealogical records, normalizing the plurality of genealogical records comprising converting a text string of at least one of the plurality of genealogical records into a standardized format;

stitching the normalized genealogical records into a plurality of clusters, each cluster estimated to be corresponding to an individual and comprising one or more genealogical records associated with the individual, wherein stitching the normalized genealogical records into the plurality of clusters comprises:

generating tokens representing the plurality of clusters in a plurality of stitch runs;

generating identifiers for the plurality of clusters, the identifiers being unique across the plurality of stitch runs and being different from the tokens, wherein an identifier uniquely represents the individual; and

linking a first token corresponding to a first stitch run and a second token corresponding to a second stitch run to the identifier that uniquely represents the individual;

generating a stitched tree comprising nodes that represent tree individuals, the nodes being connected via edges specifying relationships among the tree individuals, wherein at least one node represents a tree individual that has a cluster of normalized genealogical records that are estimated to be belong to the individual;

determining, utilizing a relationship generation engine to process the plurality of clusters, a subset of clusters corresponding to contextual data defining a life event extracted from the plurality of genealogical records;

detecting a life-event record that is commonly associated with the subset of clusters determined utilizing the relationship generation engine, the life-event record indicating that a set of deceased individuals are connected through a non-familial relationship in a life event documented by the life-event record;

adding, to the stitched tree, edges to the nodes representing the set of deceased individuals, the added edges representing that the set of deceased individuals are connected through the non-familial relationship in the life event;

generating a historical network among the set of deceased individuals that are connected through the non-familial relationship in the life event, the historical network comprising the edges added to the nodes representing the set of deceased individuals and comprising one or more genealogical records that are stitched as part of the subset of clusters;

generating, within the historical network, a historical organization profile for a historical organization through which the non-familial relationship connects the set of deceased individuals; and

causing a graphical user interface to display a representation of the historical network comprising the historical organization profile.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Aug 3, 2026
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 076116/0447 →
PATENT SECURITY AGREEMENT Recorded Aug 3, 2026
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 076144/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2024
From: MITCHELL, ANNE GILLESPIE; WHITE, KALEB BENJAMIN; RASMUSSEN, MATT LANDON; FURNER, REY ROBERT; EARL, DOUGLAS GARRY; CURTIS, DONALD BERNARD; RIRIE, BRYCE DAMON
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 067252/0809 →
Continuity (2)
Provisional Application 63308659 · Feb 10, 2022
Related Publication 20230252052A1 · Aug 10, 2023
References Cited (15)
US 20100049736A1 · Rolls · 2010 [cited by examiner]
US 20110246494A1 · Adair et al. · 2011 [cited by applicant]
US 20160179806A1 · Mortensen et al. · 2016 [cited by applicant]
US 20210043319A1 · Lequeux · 2021 [cited by examiner]
Rolls et al., WO 2008/053493 A2, PCT /IL2007/001341, Nov. 4, 2007 (Year: 2007). [cited by examiner]
Kennard, Douglas J., William B. Lund, and Bryan S. Morse. “Improving historical research by linking digital library information to a global genealogical database.” Proceedings of the 9th ACM/IEEE-CS joint conference on … [cited by examiner]
Kononenko, Oleksii, et al. “Mining modern repositories with elasticsearch.” Proceedings of the 11th working conference on mining software repositories. 2014. (Year: 2014). [cited by examiner]
Allgaier et al., WO 2015/195959 A1, PCT /US2015/036496, Jun. 18, 2015 (Year: 2015). [cited by examiner]
Peleg et al., WO 2022/015730 A1, PCT/US2021/041428, Jul. 13, 2021 (Year: 2021). [cited by examiner]
Dan Rolls et al., WO 2009/010948 A1, PCT /IL2007 /000909, Jul. 18, 2007 (Year: 2007). [cited by examiner]
Wetherell, Charles. “Historical social network analysis.” International review of social history 43.S6 (1998): 125-144. (Year: 1998). [cited by examiner]
Wilson, D. Randall. “Beyond probabilistic record linkage: Using neural networks and complex features to improve genealogical record linkage.” The 2011 international joint conference on neural networks. IEEE, 2011. (Year… [cited by examiner]
Kennard, Douglas J., Andrew M. Kent, and William A. Barrett. “Linking the past: discovering historical social networks from documents and linking to a genealogical database.” Proceedings of the 2011 Workshop on Historic… [cited by examiner]
Folkman, T. et al. “GenERes: A Genealogical Entity Resolution System.” Abstract, 2018 IEEE International Conference on Data Mining Workshops (ICDMW), Nov. 17-20, 2018, pp. 1. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/IB2023/051194, Apr. 17, 2023, nine pages. [cited by applicant]