IP Library Granted Patent US 9,043,269
Granted Patent B2
US 9,043,269 · App. 12/127,532 · Granted May 26, 2015

Systems and methods for automatically identifying data dependencies for reports

Inventors: Jerry Zheng (Santa Barbara, CA); Paul Kmiec (Portland, OR); James Herzberg (Portland, OR); Klaus Schauser (Goleta, CA)
Assignee: APPFOLIO, INC.
G06Q10/06
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 9,043,269
App. No.
12/127,532
Granted
May 26, 2015
Kind
B2
Abstract

Systems and methods for automatically identifying data dependencies for reports are described. In one embodiment, a method includes: instructing a first reporting utility to generate a first report according to a set of parameters, the first report based on data stored in a database; modifying, directly or indirectly, at least one data element in the database; instructing the first reporting utility to generate a second report according to the set of parameters, the second report based on data stored in the database; comparing the first report to the second report; and identifying, based on the comparison, at least one field within the database used by the first reporting utility to generate the first and second reports.

Claims (48)

1. A method for automatically identifying data dependencies for reports, the method comprising:

a. instructing a first reporting utility to generate a first report according to a set of parameters, the first report based on data stored in a first database;

b. modifying a data element stored in a field within the first database;

c. instructing the first reporting utility to generate a second report according to the set of parameters, the second report based on data stored in the first database;

d. comparing data in the first report to data in the second report;

e. identifying, based on the comparison, data in the first report that is different from data in the second report using one of the following techniques:

i. a binary different of the first and second report;

ii. parsing the first and second reports into a plurality of same-value pairs and comparing the respective values of the same-value pairs; and

iii. evaluating the first and second reports in comma separated value format;

f. identifying a field within the first database used by the first reporting utility to generate the data identified as different in the first and second reports by identifying and analyzing at least one function used on a plurality of fields by the first reporting utility to generate the data identified as different in the first and second reports; and

g. inserting data derived from the first report into at least one field within a second database corresponding to the identified field of the first database.

2. The method of claim 1 , wherein step (f) comprises identifying, a plurality of fields within the first database used by the first reporting utility to generate the data in the first and second reports.

3. The method of claim 1 , wherein step (f) comprises identifying, by a program independent of the first reporting utility, a field within the first database used by the first reporting utility to generate the data in the first and second reports.

4. The method of claim 3 , further comprising identifying, by the program independent of the first reporting utility, the set of database parameters used by the first reporting utility to generate the first and second reports.

5. The method of claim 1 , further comprising identifying an SQL statement function used by the first reporting utility to generate the data in the first and second reports.

6. The method of claim 1 , further comprising identifying a visual format of the first and second reports.

7. Non-transitory computer readable media having executable code for automatically identifying data dependencies for reports, the computer readable media comprising:

executable code for instructing a first reporting utility to generate a first report according to a set of parameters, the first report based on data stored in a first database;

executable code for modifying a data element stored in a field within the first database;

executable code for instructing the first reporting utility to generate a second report according to the set of parameters, the second report based on data stored in the first database;

executable code for comparing data in the first report to the second report;

executable code for identifying, based on the comparison, data in the first report that is different from data in the second report using one of the following techniques:

i. a binary different of the first and second report;

ii. parsing the first and second reports into a plurality of same-value pairs and comparing the respective values of the same-value pairs; and

iii. evaluating the first and second reports in comma separated value format;

executable code for identifying a field within the first database used by the first reporting utility to generate the data identified as different in the first and second reports by identifying and analyzing at least one function used on a plurality of fields by the first reporting utility to generate the data identified as different in the first and second reports; and

executable code for inserting data derived from the first report into at least one field within a second database corresponding to the identified field of the first database.

8. The computer readable media of claim 7 , further comprising executable code for identifying, based on the comparison, a plurality of fields within the first database used by the first reporting utility to generate the data in the first and second reports.

9. The computer readable media of claim 7 , further comprising executable code for identifying, by a program independent of the first reporting utility, a field within the first database used by the first reporting utility to generate the data in the first and second reports.

10. The computer readable media of claim 9 , further comprising executable code for identifying, by the program independent of the first reporting utility, the set of database parameters used by the first reporting utility to generate the first and second reports.

11. The computer readable media of claim 7 , further comprising executable code for identifying an SQL statement function used by the first reporting utility to generate the data in the first and second reports.

12. The computer readable media of claim 7 , further comprising executable code for identifying a visual format of the first and second reports.

13. A system for automatically identifying data dependencies for reports, the system comprising:

means for instructing a first reporting utility to generate a first report according to a set of parameters, the first report based on data stored in a first database;

means for modifying a data element stored in a field within the first database;

means for instructing the first reporting utility to generate a second report according to the set of parameters, the second report based on data stored in the first database;

means for comparing data in the first report to data in the second report;

means for identifying, based on the comparison data in the first report that is different from data in the second report using one of the following techniques:

i. a binary different of the first and second report;

ii. parsing the first and second reports into a plurality of same-value pairs and comparing the respective values of the same-value pairs; and

iii. evaluating the first and second reports in comma separated value format;

means for identifying a field within the first database used by the first reporting utility to generate the data identified as different in the first and second reports by identifying and analyzing at least one function used on a plurality of fields by the first reporting utility to generate the data identified as different in the first and second reports; and

means for inserting data derived from the first report into at least one field within a second database corresponding to the identified field of the first database.

14. The system of claim 13 , wherein the means for identifying the field within the first database are means for identifying a plurality of fields within the first database used by the first reporting utility to generate the data in the first and second reports.

15. The system of claim 13 , wherein the means for identifying the field within the first database are means for identifying, by a program independent of the first reporting utility, a field within the first database used by the first reporting utility to generate the data in the first and second reports.

16. The system of claim 15 , further comprising means for identifying, by the program independent of the first reporting utility, the set of database parameters used by the first reporting utility to generate the first and second reports.

17. The system of claim 13 , further comprising means for identifying an SQL statement function used by the first reporting utility to generate the data in the first and second reports.

18. The system of claim 13 , further comprising means for identifying a visual format of the first and second reports.

Assignments (4)
SECURITY INTEREST Recorded Oct 2, 2025
From: APPFOLIO, INC.
To: PNC BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 072452/0322 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 035203/0844 Recorded Sep 30, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: APPFOLIO, INC.
Reel/Frame 053947/0173 →
SECURITY INTEREST Recorded Mar 19, 2015
From: APPFOLIO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 035203/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2009
From: ZHENG, JERRY; KMIEC, PAUL; HERZBERG, JAMES; SCHAUSER, KLAUS
To: APPFOLIO, INC.
Reel/Frame 022395/0875 →
Continuity (1)
Related Publication 20090300044A1 · Dec 3, 2009