Method and apparatus for a report cache in a near real-time business intelligence system
First Claim
1. In a network including a first device coupled to a client device, said first device including a first cache and a second cache, a method of optimizing delivery of a set of data elements from said first device to said client device, the method comprising:
- retrieving from a data source within the network said set of data elements, including a first subset of said set of data elements, a second subset of said set of data elements, and a third subset of said set of data elements;
caching in the first cache the retrieved set of data elements, the first cache being optimized for sequential access;
determining a plurality of viewsets based on the retrieved set of data elements, wherein at least one viewset of the plurality of viewsets includes a changelist representing a change to a data element;
transferring said first subset of said set of data elements to said client device;
determining whether the second cache contains the plurality of viewsets;
providing the plurality of viewsets from the first cache to the second cache if the second cache does not contain the plurality of viewsets;
caching the plurality of viewsets in the second cache, the second cache being optimized for non-sequential access;
receiving a request from said client device for a fourth subset of said set of data elements, in response to receiving the request;
selectively retrieving from said second cache a viewset of the plurality of viewsets corresponding to the fourth subset of said set of data elements, wherein said fourth subset is comprised of non-sequential data elements from at least two of said first subset of said set of data elements, said second subset of said set of data elements and said third subset of said set of data elements; and
transferring said viewset corresponding to the requested fourth subset to said client device.
4 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 forth subset of the set of data elements, wherein the forth subset can be comprised of data elements from the first subset and the second subset; or wherein the forth subset can be comprised of data elements from the second subset and the third subset. The method also includes transferring a forth subset of the set of data elements to the second device.
313 Citations
19 Claims
-
1. In a network including a first device coupled to a client device, said first device including a first cache and a second cache, a method of optimizing delivery of a set of data elements from said first device to said client device, the method comprising:
-
retrieving from a data source within the network said set of data elements, including a first subset of said set of data elements, a second subset of said set of data elements, and a third subset of said set of data elements; caching in the first cache the retrieved set of data elements, the first cache being optimized for sequential access; determining a plurality of viewsets based on the retrieved set of data elements, wherein at least one viewset of the plurality of viewsets includes a changelist representing a change to a data element; transferring said first subset of said set of data elements to said client device; determining whether the second cache contains the plurality of viewsets; providing the plurality of viewsets from the first cache to the second cache if the second cache does not contain the plurality of viewsets; caching the plurality of viewsets in the second cache, the second cache being optimized for non-sequential access; receiving a request from said client device for a fourth subset of said set of data elements, in response to receiving the request; selectively retrieving from said second cache a viewset of the plurality of viewsets corresponding to the fourth subset of said set of data elements, wherein said fourth subset is comprised of non-sequential data elements from at least two of said first subset of said set of data elements, said second subset of said set of data elements and said third subset of said set of data elements; and transferring said viewset corresponding to the requested fourth subset to said client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for optimizing delivery of a set of data elements in a network, comprising:
-
a processor for determining a plurality of viewsets based on the set of data elements, wherein at least one viewset of the plurality of viewsets includes a changelist representing a change to a data element, the processor is further configured to determine whether the plurality of viewsets is stored at a second cache; a first device having a first cache for storing a first subset of said set of data elements, a second subset of said set of data elements, and a third subset of said set of data elements, wherein said first subset of said set of data elements, said second subset of said set of data elements, and said third subset of said set of data elements are retrieved from a data source, and the second cache for storing the plurality of viewsets, the first cache optimized for sequential access and the second cache optimized for non-sequential access; a client device; and a network connection for coupling said first device to said client device, wherein upon request by said client device for a fourth subset of the said set of data elements, said first device selectively retrieves from said second cache a viewset of the plurality of viewsets corresponding to the fourth subset of said set of data elements, wherein said fourth subset is comprised of non-sequential data elements from at least two of said first subset of said set of data elements, said second subset of said set of data elements and said third subset of said set of data elements, the plurality of viewsets being retrieved from the first cache to the second cache if the second cache does not contain the plurality of viewsets; and
said first device transfers said viewset corresponding to the requested fourth subset to said client device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of optimizing delivery of a set of non-sequential data elements from a first device to a client device, the first device including a first cache and a second cache, the first device coupled to the client device in a network, the method comprising:
-
receiving from a data source a set of data elements; caching in the first cache the received set of data elements, the first cache being optimized for sequential access; generating, based on the received set of data elements, a plurality of viewsets, wherein each viewset of the plurality of viewsets is a static de-normalized representation of one or more data elements of the set of data elements, and wherein at least one viewset of the plurality of viewsets includes a list of changes to a data element; determining whether the second cache contains the plurality of viewsets; caching the plurality of viewsets in the second cache, the plurality of viewsets being retrieved from the first cache to the second cache if the second cache does not contain the plurality of viewsets, the second cache being optimized for non-sequential access; receiving a request from the client device for the set of non-sequential data elements, in response to receiving the request; selectively retrieving from the second cache a viewset of the plurality of viewsets corresponding to the set of non-sequential data elements; and transferring the viewset corresponding to the set of non-sequential data elements to said client device.
-
Specification