IP Library Granted Patent US 9,251,485
Granted Patent B2
US 9,251,485 · App. 14/715,329 · Granted Feb 2, 2016

Data abstraction layer for interfacing with reporting systems

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,251,485
App. No.
14/715,329
Granted
Feb 2, 2016
Kind
B2
Abstract

A data transformation system receives data from one or more external source systems and stores and transforms the data for providing to reporting systems. The data transformation system maintains multiple versions of data received from an external source system. The data transformation system can combine data from different versions of data and provide to the reporting system. As a result, external source systems that do not maintain data in a format appropriate for reporting systems and/or do not maintain sufficient historical data to generate different types of reports are able to generate these reports. The data transformation system can also enhance older versions of data stored in the system or exclude portions of data from reports. The data transformation system can purge older versions of data so that older data that is less frequently requested is maintained at a lower frequency than recent data.

Claims (73)

1. A computer implemented method performed by a computing device comprising at least one electronic processor, the method comprising:

maintaining, by a multi-tenant system, data for each of a plurality of customers, each customer associated with an external source system, the maintaining comprising, for each external source system:

receiving, by the multi-tenant system, a plurality of versions of data, each version of data associated with a time interval associated with the external source system, the versions of data represented in a format associated with the external source system; and

storing, by the multi-tenant system, the data received from the external source system along with metadata describing each version of data;

receiving a request to generate a report associated with a first external source system associated with a first customer, the report based on a set of versions of data obtained from the first external source system, wherein the data of the first external source system is stored in a first format;

transforming the data of the set of versions of data from the first format to a second format associated with the report;

generating a report based on the transformed data; and

sending the report for presentation via a user interface associated with the first customer.

2. The method of claim 1 , wherein the request to generate the report is from a user associated with the first customer, and wherein the report is sent for presentation to the user via the user interface.

3. The method of claim 2 , further comprising:

responsive to receiving the request to generate the report from the user, determining, by the multi-tenant system, the customer associated with the user.

4. The method of claim 1 , further comprising:

receiving a request to generate a report associated with a second external source system associated with a second customer, the report based on a set of versions of data obtained from the second external source system, wherein the data of the first external source system is stored in a third format;

transforming the data of the set of versions of data from the third format to a fourth format associated with the report; and

generating a report based on the transformed data.

5. The method of claim 1 , wherein the first format of the versions of data represents data as one of: row based changes, column based changes, a full snapshot, or information identifying deleted rows.

6. The method of claim 1 , wherein the second format associated with the requested report represents data as one of: a full snapshot, aggregation of data, change logs, or change logs for a particular column.

7. The method of claim 1 , wherein the second format comprises an aggregation of information across two or more versions of data, the method further comprising:

retrieving data from the two or more versions of data of the external source system; and

determining requested aggregation of data over the two or more versions of data.

8. The method of claim 1 , further comprising:

receiving a request to modify data previously loaded from the external source system;

identifying a version of data stored comprising the data to be modified; and

modifying the identified data in conformance with the received request.

9. The method of claim 1 , further comprising:

receiving a request to exclude data previously loaded from the external source system;

identifying a version of data stored comprising the data to be excluded; and

excluding the identified data from the data used for generating the requested report.

10. A non-transitory computer-readable storage medium containing instructions for execution on a computing device comprising at least one processor, the instructions for:

maintaining, by a multi-tenant system, data for each of a plurality of customers, each customer associated with an external source system, the maintaining comprising, for each external source system:

receiving, by the multi-tenant system, a plurality of versions of data, each version of data associated with a time interval associated with the external source system, the versions of data represented in a format associated with the external source system; and

storing, by the multi-tenant system, the data received from the external source system along with metadata describing each version of data;

receiving a request to generate a report associated with a first external source system associated with a first customer, the report based on a set of versions of data obtained from the first external source system, wherein the data of the first external source system is stored in a first format;

transforming the data of the set of versions of data from the first format to a second format associated with the report;

generating a report based on the transformed data; and

sending the report for presentation via a user interface associated with the first customer.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the request to generate the report is from a user associated with the customer, and wherein the report is sent for presentation to the user via the user interface.

12. The non-transitory computer-readable storage medium of claim 11 , further comprising:

responsive to receiving the request to generate the report from the user, determining, by the multi-tenant system, the customer associated with the user.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the first format of the versions of data represents data as one of: row based changes, column based changes, a full snapshot, or information identifying deleted rows.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the second format associated with the requested report represents data as one of: a full snapshot, aggregation of data, change logs, or change logs for a particular column.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the second format comprises an aggregation of information across two or more versions of data, further comprising instructions for:

retrieving data from the two or more versions of data of the external source system; and

determining requested aggregation of data over the two or more versions of data.

16. The non-transitory computer-readable storage medium of claim 10 , further comprising instructions for:

receiving a request to modify data previously loaded from the external source system;

identifying a version of data stored comprising the data to be modified; and

modifying the identified data in conformance with the received request.

17. The non-transitory computer-readable storage medium of claim 10 , further comprising instructions for:

receiving a request to exclude data previously loaded from the external source system;

identifying a version of data stored comprising the data to be excluded; and

excluding the identified data from the data used for generating the requested report.

18. A computer system comprising:

a computer processor; and

a non-transitory computer-readable storage medium containing instructions for execution on the computer processor, the instructions for:

maintaining, by a multi-tenant system, data for each of a plurality of customers, each customer associated with an external source system, the maintaining comprising, for each external source system:

receiving, by the multi-tenant system, a plurality of versions of data, each version of data associated with a time interval associated with the external source system, the versions of data represented in a format associated with the external source system; and

storing, by the multi-tenant system, the data received from the external source system along with metadata describing each version of data;

receiving a request to generate a report associated with a first external source system associated with a first customer, the report based on a set of versions of data obtained from the first external source system, wherein the data of the first external source system is stored in a first format;

transforming the data of the set of versions of data from the first format to a second format associated with the report;

generating a report based on the transformed data; and

sending the report for presentation via a user interface associated with the first customer.

19. The computer system of claim 18 , wherein:

the first format of the versions of data represents data as one of: row based changes, column based changes, a full snapshot, or information identifying deleted rows, and

the second format associated with the requested report represents data as one of: a full snapshot, aggregation of data, change logs, or change logs for a particular column.

20. The computer system of claim 18 , wherein the non-transitory computer-readable storage medium, further stores instructions for:

receiving a request to modify data previously loaded from the external source system;

identifying a version of data stored comprising the data to be modified; and

modifying the identified data in conformance with the received request.

21. The computer system of claim 18 , wherein the non-transitory computer-readable storage medium, further stores instructions for:

receiving a request to exclude data previously loaded from the external source system;

identifying a version of data stored comprising the data to be excluded; and

excluding the identified data from the data used for generating the requested report.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jan 20, 2022
From: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
To: GOODDATA CORPORATION
Reel/Frame 058710/0111 →
RELEASE OF SECURITY INTEREST Recorded Jan 20, 2022
From: WF FUND V LIMITED PARTNERSHIP
To: GOODDATA CORPORATION
Reel/Frame 058710/0450 →
SECURITY INTEREST Recorded Jun 1, 2021
From: GOODDATA CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056403/0849 →
RELEASE OF SECURITY INTEREST Recorded Jan 31, 2020
From: COMERICA BANK
To: GOODDATA CORPORATION
Reel/Frame 051689/0786 →
SECURITY INTEREST Recorded Jan 30, 2020
From: GOODDATA CORPORATION
To: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
Reel/Frame 051670/0173 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTERESTS Recorded Jan 9, 2018
From: WF FUND V LIMITED PARTNERSHIP, C/O/B/ AS WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND V
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 045028/0880 →
SECURITY INTEREST Recorded Jul 6, 2017
From: GOODDATA CORPORATION
To: COMERICA BANK
Reel/Frame 042914/0765 →
SECURITY INTEREST Recorded Jun 29, 2017
From: GOODDATA CORPORATION
To: WF FUND V LIMITED PARTNERSHIP
Reel/Frame 042870/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2015
From: KOLESNIKOV, PAVEL
To: GOODDATA CORPORATION
Reel/Frame 035663/0056 →