IP Library Granted Patent US 12,393,585
Granted Patent B2
US 12,393,585 · App. 18/737,543 · Granted Aug 19, 2025

Systems and methods for intelligent database report generation

Inventors: Parker Rouse Conrad (San Francisco, CA); Kyle Michael Boston (San Carlos, CA); Nikunj Aggarwal (Secaucus, NJ); Siddhartha Gunda (Milpitas, CA); Chewei Hu (Mill Valley, CA); Himanshu Nanda (Firozpur, IN); VenuMadhav Kattagoni (Telangana, IN); Jhalak Gupta (Madhya Pradesh, IN); Utkarsh Bhatia (Uttar Pradesh, IN); Sanket Ketkar (Karnataka, IN)
Assignee: People Center, Inc.
G06F16/24544G06Q10/105
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,393,585
App. No.
18/737,543
Granted
Aug 19, 2025
Kind
B2
Abstract

Systems, devices, computer-implemented methods, and tangible non-transitory computer-readable media for generating reports from one or more databases that store disparate datasets are provided. Specifically, the proposed systems enable the intelligent generation of reports from multiple datasets by automatically determining a proposed set of join configurations for combination of the multiple datasets. The proposed set of join configurations can be executed as proposed and/or can be edited or customized by the user to generate reports from the multiple datasets. Thus, the proposed systems and methods can provide intuitive and user-friendly tools for generating data reports that accurately synthesize and summarize data contained in multiple different datasets.

Claims (50)

1. A computing system for intelligent generation of data reports, the computing system comprising:

one or more processors;

one or more databases that store a set of organizational data, wherein the set of organizational data comprises a plurality of different datasets, and wherein each of the plurality of different datasets comprises a number of respective data elements; and

one or more non-transitory computer-readable media that collectively store instructions that, when executed by the one or more processors cause the computing system to perform operations, the operations comprising:

receiving a request for generation of a report, wherein the report comprises a plurality of requested data elements;

identifying two or more of the plurality of different datasets that collectively contain the plurality of requested data elements;

automatically generating one or more join configurations for combination of the two or more of the plurality of different datasets, wherein each of the one or more join configurations comprises a join key that comprises one or more specified data elements used as one or more joining points for the two or more of the plurality of different datasets, and automatically generating the one or more join configurations comprises:

determining, based at least in part on a number of matching entries between a first data element of a first dataset of the two or more of the plurality of different datasets and a second data element of a second dataset of the two or more of the plurality of different datasets, the join key of at least one of the one or more join configurations;

executing the one or more join configurations to generate a combined dataset from the two or more of the plurality of different datasets; and

generating the report based on the combined dataset.

2. The computing system of claim 1 , wherein at least one of the two or more of the plurality of different datasets comprises third party application data acquired from a third party application that is separate from the computing system.

3. The computing system of claim 1 , wherein at least one of the two or more of the plurality of different datasets comprises a plurality of employee data elements that correspond to a plurality of employees of an organization.

4. The computing system of claim 1 , wherein automatically generating the one or more join configurations comprises:

automatically inferring, using a machine-learned model, a data type for each data element contained in each of the two or more of the plurality of different datasets; and

identifying pairs of data elements in the two or more of the plurality of different datasets that have matching data types.

5. The computing system of claim 1 , wherein automatically generating the one or more join configurations comprises determining a default join configuration that has been previously specified for the two or more of the plurality of different datasets.

6. The computing system of claim 1 , wherein the join key is determined based at least in part on a sparsity of a data element of the two or more of the plurality of different datasets.

7. The computing system of claim 1 , wherein the join key is determined based at least in part on a scoring function.

8. The computing system of claim 7 , wherein the scoring function is based at least in part on at least one of:

a sparsity of a data element of the two or more of the plurality of different datasets;

a degree of matching between a first data element of a first dataset of the two or more of the plurality of different datasets and a second data element of a second dataset of the two or more of the plurality of different datasets; and

a pre-defined prioritization associated with one or more data elements of the two or more of the plurality of different datasets.

9. The computing system of claim 1 , wherein the operations further comprise:

providing a graphical user interface that displays the one or more join configurations.

10. The computing system of claim 9 , wherein the graphical user interface enables a user to edit the one or more join configurations.

11. The computing system of claim 10 , wherein:

the graphical user interface enables a user to edit the join key for each of the one or more join configurations; and

the graphical user interface displays at least one of:

a sparsity associated with the join key; and

a matching score associated with the join key.

12. The computing system of claim 9 , wherein the graphical user interface enables a user to add an additional join configuration.

13. The computing system of claim 1 , wherein the operations further comprise, prior to executing the one or more join configurations to generate the combined dataset:

sampling a subset of entries from each of the two or more of the plurality of different datasets;

combining sampled subsets of entries according to the one or more join configurations to generate a set of preview data; and

providing a graphical user interface that displays at least a portion of the set of preview data.

14. The computing system of claim 13 , wherein providing the graphical user interface that displays at least the portion of the set of preview data comprises selecting for display a subgroup of the set of preview data that has a reduced sparsity relative to the set of preview data as a whole.

15. The computing system of claim 1 , wherein the report comprises a custom report and the plurality of requested data elements are specified by a user.

16. The computing system of claim 1 , wherein the report comprises a pre-defined template report and the plurality of requested data elements are pre-defined but modifiable by a user.

17. The computing system of claim 1 , wherein at least one of the plurality of requested data elements comprises a custom field that provides a value calculated according to query expression written in a query language.

18. A computer-implemented method for intelligent generation of data reports, the method comprising:

receiving, by a computing system comprising one or more computing devices, a request for generation of a report, wherein the report comprises a plurality of requested data elements;

identifying, by the computing system, two or more of a plurality of different datasets that collectively contain the plurality of requested data elements;

automatically generating, by the computing system, one or more join configurations for combination of the two or more of the plurality of different datasets wherein each of the one or more join configurations comprises a join key that comprises one or more specified data elements used as one or more joining points for the two or more of the plurality of different datasets, and automatically generating the one or more join configurations comprises:

determining, based at least in part on a number of matching entries between a first data element of a first dataset of the two or more of the plurality of different datasets and a second data element of a second dataset of the two or more of the plurality of different datasets, the join key of at least one of the one or more join configurations;

executing, by the computing system, the one or more join configurations to generate a combined dataset from the two or more of the plurality of different datasets; and

generating, by the computing system, the report based on the combined dataset.

19. The computer-implemented method of claim 18 , wherein the join key is determined based at least in part on a sparsity of a data element of the two or more of the plurality of different datasets.

20. The computer-implemented method of claim 18 , wherein automatically generating the one or more join configurations comprises:

automatically inferring, using a machine-learned model, a data type for each data element contained in each of the two or more of the plurality of different datasets; and

identifying pairs of data elements in the two or more of the plurality of different datasets that have matching data types.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Jun 16, 2026
From: PEOPLE CENTER, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 075922/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2024
From: CONRAD, PARKER ROUSE; BOSTON, KYLE MICHAEL; AGGARWAL, NIKUNJ; GUNDA, SIDDHARTHA; HU, CHEWEI; NANDA, HIMANSHU; KATTAGONI, VENUMADHAV; GUPTA, JHALAK; BHATIA, UTKARSH; KETKAR, SANKET
To: PEOPLE CENTER, INC.
Reel/Frame 068508/0324 →
Continuity (2)
Continuation 18074198 · Dec 2, 2022
Related Publication 20240320218A1 · Sep 26, 2024
References Cited (12)
US 20040113945A1 · Park et al. · 2004 [cited by applicant]
US 20040267700A1 · Dumais et al. · 2004 [cited by applicant]
US 20090024940A1 · Zeringue et al. · 2009 [cited by applicant]
US 20160232457A1 · Gray et al. · 2016 [cited by applicant]
US 20170076113A1 · McNamara et al. · 2017 [cited by applicant]
US 20170116552A1 · Deodhar · 2017 [cited by examiner]
US 20200233905A1 · Williams et al. · 2020 [cited by applicant]
US 20200278977A1 · Halstead et al. · 2020 [cited by applicant]
US 20200409944A1 · Nguyen et al. · 2020 [cited by applicant]
US 20220083978A1 · Weindling · 2022 [cited by applicant]
US 20220091707A1 · Meriaz et al. · 2022 [cited by applicant]
Almotairi et al., “Challenges of Comparing and Matching Roads from Different Spatial Datasets”, Proceedings of the 12th Pervasive Technologies Related to Assistive Environments Conference (PETRA), ACM Jun. 2019, https:/… [cited by applicant]