IP Library Granted Patent US 8,230,329
Granted Patent B2
US 8,230,329 · App. 11/688,857 · Granted Jul 24, 2012

Enterprise-level transaction analysis and reporting

Assignee: Rivet Software, Inc.
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 8,230,329
App. No.
11/688,857
Granted
Jul 24, 2012
Kind
B2
Abstract

Systems and methods for a multi-level advanced caching engine that is designed for processing a high-volume of transaction data and ensuring high performance query processing is provided. A folio is interactively updated on-demand for an organizational hierarchy with aggregated information from pre-summarized balances. Responsive to user-generated folio-level queries which depend upon balance values not currently stored within the financial transaction system, multiple instances of balances are dynamically created and populated with new balance values based on the user-generated folio-level query. Responsive to new transaction data, clean balance values are maintained within the dependent balances by regenerating the associated balance values. Responsive to a user-generated folio-level query, an instance of a cube is dynamically created and populated having dimensions defined by parameters of the user-generated folio-level query and which aggregates the balance values of the balances into appropriate slices of the cube.

Claims (37)

1. A computer-implemented method comprising:

hierarchically representing financial data within a financial transaction system by way of a fact data structure, a balance data structure and a cube data structure, the fact data structure storing fact values each of which aggregate multiple transactions, the balance data structure storing balance values each of which aggregate a plurality of transactions and the cube data structure storing cube slices each of which summarize balance values for a reporting unit of a plurality of reporting units of an organizational hierarchy;

interactively updating a folio on-demand for the organizational hierarchy with aggregated information from pre-summarized balances by

responsive to user-generated folio-level queries which depend upon balance values not currently stored within the financial transaction system, dynamically creating and populating, by a balance manager, a plurality of instances of balance data structures (balances) with the new balance values based on transactions encompassed by the user-generated folio-level query;

responsive to availability of new transaction data upon which one or more of the balance values of the balances depend, maintaining, by the balance manager, clean balance values within the one or more balances by regenerating the one or more balance values; and

responsive to a user-generated folio-level query, dynamically creating and populating, by a cube manager, an instance of a cube data structure (a cube) having dimensions defined by parameters of the user-generated folio-level query and which aggregates the balance values of the balances into appropriate slices of the cube; and

wherein the balance manager and the cube manager are implemented in one or more processors of one or more computer systems and one or more computer-readable storage media of the one or more computer systems, the one or more computer-readable storage media having instructions tangibly embodied therein representing the balance manager and the cube manager that are executable by the one or more processors.

2. The method of claim 1 , wherein the balances are stored in an in-process memory store of the balance manager.

3. The method of claim 2 , wherein the in-process memory store comprises Address Windowing Extensions (AWE) memory.

4. The method of claim 1 , wherein the cube is stored in an in-process memory store of the cube manager.

5. The method of claim 4 , wherein the in-process memory store comprises Address Windowing Extensions (AWE) memory.

6. The method of claim 1 , wherein a transaction of the plurality of transactions represents a line item in a financial reporting instance document.

7. The method of claim 6 , wherein the financial reporting instance document comprises an Extensible Business Reporting Language (XBRL) instance document.

8. The method of claim 6 , wherein the folio comprises a spreadsheet.

9. The method of claim 6 , wherein the spreadsheet comprises a Microsoft® Excel spreadsheet including a separate worksheet for each reporting unit of the plurality of reporting units.

10. The method of claim 8 , wherein the user-generated folio-level queries comprise refresh data requests initiated from within a toolbar or menu option of the spreadsheet.

11. The method of claim 6 , wherein the financial transaction system comprises:

an analytical aggregation unit (AAU) computer system within which the balance manager and the cube manager are executing; and

an analytical access point (AAP) computer system operable to convey the user-generated folio-level queries to the AAU computer system.

12. The method of claim 11 , wherein the AAP computer system supports a plurality of users each running a spreadsheet application.

13. The method of claim 11 , wherein the AAP computer system is logically interposed between a plurality of client computer systems each running a spreadsheet application, and the AAU computer system.

14. The method of claim 13 , wherein the AAP computer is located remote from the AAU computer system.

15. A non-transitory program storage device readable by a computer system, tangibly embodying a program of instructions executable by one or more processors of the computer system to perform a method of interactively updating a folio on-demand for an organizational hierarchy, said method comprising:

hierarchically representing financial data within a financial transaction system by way of a fact data structure, a balance data structure and a cube data structure, the fact data structure storing fact values each of which aggregate multiple transactions, the balance data structure storing balance values each of which aggregate a plurality of transactions and the cube data structure storing cube slices each of which summarize balance values for a reporting unit of a plurality of reporting units of the organizational hierarchy;

interactively updating the folio on-demand for the organizational hierarchy with aggregated information from pre-summarized balances by

responsive to user-generated folio-level queries which depend upon balance values not currently stored within the financial transaction system, dynamically creating and populating, by a balance manager, a plurality of instances of balance data structures (balances) with the new balance values based on transactions encompassed by the user-generated folio-level query;

responsive to availability of new transaction data upon which one or more of the balance values of the balances depend, maintaining, by the balance manager, clean balance values within the one or more balances by regenerating the one or more balance values; and

responsive to a user-generated folio-level query, dynamically creating and populating, by a cube manager, an instance of a cube data structure (a cube) having dimensions defined by parameters of the user-generated folio-level query and which aggregates the balance values of the balances into appropriate slices of the cube.

16. The program storage device of claim 15 , wherein the balances are stored in an in-process memory store of the balance manager.

17. The program storage device of claim 16 , wherein the in-process memory store comprises Address Windowing Extensions (AWE) memory.

18. The program storage device of claim 15 , wherein the cube is stored in an in-process memory store of the cube manager.

19. The program storage device of claim 18 , wherein the in-process memory store comprises Address Windowing Extensions (AWE) memory.

20. The program storage device of claim 15 , wherein a transaction of the plurality of transactions represents a line item in a financial reporting instance document.

21. The program storage device of claim 20 , wherein the financial reporting instance document comprises an Extensible Business Reporting Language (XBRL) instance document.

22. The program storage device of claim 20 , wherein the folio comprises a spreadsheet.

23. The program storage device of claim 20 , wherein the spreadsheet comprises a Microsoft® Excel spreadsheet including a separate worksheet for each reporting unit of the plurality of reporting units.

24. The program storage device of claim 22 , wherein the user-generated folio-level queries comprise refresh data requests initiated from within a toolbar or menu option of the spreadsheet.

Assignments (9)
SECURITY INTEREST Recorded Apr 2, 2021
From: CERTENT, INC.
To: GOLUB CAPITAL LLC
Reel/Frame 055810/0424 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL/FRAME NO.: 039054/0492 Recorded Dec 24, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: CERTENT, INC.
Reel/Frame 054849/0893 →
MERGER Recorded Dec 11, 2017
From: CERTENT, INC.
To: CERTENT, INC.
Reel/Frame 044355/0572 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2016
From: WESTERN ALLIANCE BANK AS SUCCESSOR IN INTEREST TO BRIDGE BANK, NATIONAL ASSOCIATION
To: CERTENT, INC.
Reel/Frame 039057/0825 →
SECURITY INTEREST Recorded Jun 30, 2016
From: CERTENT, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 039054/0492 →
CHANGE OF NAME Recorded Feb 2, 2015
From: EQUITY ADMINISTRATION SOLUTIONS, INC.
To: CERTENT, INC.
Reel/Frame 034891/0451 →
SECURITY INTEREST Recorded Jan 31, 2015
From: CERTENT, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 034860/0417 →
MERGER Recorded Jan 29, 2015
From: RIVET SOFTWARE, INC.
To: EQUITY ADMINISTRATION SOLUTIONS, INC.
Reel/Frame 034848/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2007
From: ROHAN, MICHAEL L.; BLAKE, ROB; HUANG, EMILY
To: RIVET SOFTWARE, INC.
Reel/Frame 019087/0910 →
Continuity (2)
Provisional Application 60785250 · Mar 22, 2006
Related Publication 20070239476A1 · Oct 11, 2007