Request-driven on-demand processing
View Patent ↗A rendering system is provided. The rendering system includes a rendering component that receives a request to view a data set and provide output to drive a display application. A processing engine generates output data for the rendering component, where the output data is suitable to satisfy a present demand to render a subset of the data set.
1. A method to render data on demand to reduce memory requirements and increase rendering performance, the method performed upon one or more computer processors, the method comprising:
receiving a rendering request from a remote application, the rendering request comprising a request to provide output to drive a display of the remote application;
determining a data subset from a larger data set in response to the rendering request;
determining whether a current instance of a property value has previously been calculated and is currently cached;
when the current instance of the property value has previously been calculated and is cached, retrieving the property value;
when the current instance of the property value is not cached, evaluating an expression to determine the property value;
comparing a current instance path associated with the rendering request with a previous instance path used during evaluation of a previous on-demand request;
when the current instance path is identical to the previous instance path, reusing a previous report model;
providing the property value to a rendering and pagination module for rendering and pagination according to the previous report model; and
outputting the data subset to the remote application.
2. The method of claim 1 , further comprising performing progressive calculations for subsequent requests.
3. The method of claim 2 , further comprising incrementally storing tree data structures.
4. The method of claim 3 , further comprising adding information to the tree data structures upon subsequent requests.