METHOD AND APPARATUS FOR A REPORT CACHE IN A NEAR REAL-TIME BUSINESS INTELLIGENCE SYSTEM
2 Assignments
0 Petitions
Accused Products
Abstract
A method of optimizing the delivery of a set of data elements from a first device to a second device. The method includes retrieving from a data source the set of data elements, including a first subset of the set of data elements, a second subset of the set of data elements, and a third subset of the set of data elements. The method also includes transferring the first subset of the set of data elements to the second device. The method further includes selecting a fourth subset of the set of data elements wherein the fourth subset can be comprised of data elements from the first subset and the second subset, or wherein the fourth subset can be comprised of data elements from the second subset and the third subset. The method also includes transferring a fourth subset of the set of data elements to the second device.
170 Citations
21 Claims
-
1. (Canceled)
-
2. An apparatus for facilitating presentation of data on at least one client device, the apparatus comprising:
-
a first cache configured to provide one or more datasets and one or more viewsets;
a second cache coupled to the first cache and configure to receive and store the one or more viewsets; and
a server coupled to the first cache and second cache, the server configured to receive the one or more datasets from the first cache and to receive the one or more viewsets from the second cache, the server further configured to convert at least a portion of the one or more datasets and the one or more viewsets into formatted data, the formatted data being formatted to the at least one client device, wherein the one or more datasets represent one or more dynamic de-normalized representations of at least a first portion of the data, and the one or fore viewsets represent one or more static de-normalized representations of at least a second portion of the data.
-
-
12. An method for facilitating presentation of data on at least one client device, the apparatus comprising:
-
transmitting one or more datasets from a first cache to a server;
transmitting one or more viewsets from the first cache to a second cache;
storing the one or more viewsets in the second cache;
transmitting the one or more viewsets from the second cache to the server;
converting at least a portion of the one or more datasets and the one or more viewsets into formatted data; and
transmitting the formatted data to the at least one client device, wherein the one or more datasets represent one or more dynamic de-normalized representations of at least a first portion of the data, and the one or more viewsets represent one or more static de-normalized representations of at least a second portion of the data.
-
-
13. The method of claim 30 wherein the one or more datasets include an initial snapshot of a recordset and a plurality of periodic data updates.
-
14. The method of claim 30 wherein the one or more datasets include an initial snapshot of a recordset and a plurality of periodic data updates.
-
15. The method of claim 30 further comprising coupling the first cache to a plurality of data sources.
-
16. The method of claim 30 wherein the viewsets are stored as memory-mapped files.
-
17. The method of claim 30 further comprising scaling the second cache according to a number of simultaneously opened viewsets on the at least one client device.
-
18. The method of claim 30 further comprising scaling the server according to a number of users of the at least one client device.
-
19. The method of claim 30 further comprising:
-
implementing the first cache using a forward-moving cursor scheme; and
configuring the second cache for random access.
-
- 20. The method of claim 30 further comprising implementing the second cache using an asynchronous I/O scheme.
-
21. The method of claim 30 further comprising storing at least of the one or more datasets and the one or more viewsets in files of a fixed size.
Specification