PARTIAL DATA MODEL EXPOSURE THROUGH CLIENT SIDE CACHING
First Claim
1. A computer-readable storage medium containing a program which, when executed by a processor, performs operations for building queries against a database represented by a data abstraction model, in a system that includes a client device and a server device, the operations comprising:
- receiving, from a user interface for building a query against the database, a first request to display one or more logical fields of the data abstraction model, wherein the data abstraction model includes a plurality of logical field fields representative of physical fields of the database, wherein each logical field includes a logical field definition specifying at least a name and an access method for accessing physical data elements stored in physical fields of the database corresponding to a respective logical field, and wherein each logical field provides a query element available for inclusion in an abstract query;
selectively retrieving, in response to the request, a portion of the data abstraction model that includes the one or more logical fields, based on system parameters that limit accessibility to the data abstraction model by the client device;
storing the retrieved portion of the data abstraction model in a cache available on the client device;
outputting for display the one or more logical fields on the user interface;
receiving, from the user interface, a second request to display one or more logical fields of the data abstraction model;
upon determining that the cache has insufficient available space to store the one or more logical fields specified by the second request, selectively removing portions of the data abstraction model from the cache to make sufficient available space for the retrieved portion of the data abstraction model; and
displaying the one or more logical fields specified by the second request.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention generally provides methods, articles of manufacture and systems for exposing, on a client device, fields of a data model representing an underlying database for use in building queries against the database. For some embodiments, the client device may be a device having limited resources, such as a handheld computing device. Therefore, rather than load and expose the entire data model on the client at once, a limited portion of the data model may be exposed on a client in a “just in time” (JIT) basis. The limited portion may be determined, for example, based on input received from a user and system parameters, such as the system memory and network bandwidth available to the client device.
-
Citations
16 Claims
-
1. A computer-readable storage medium containing a program which, when executed by a processor, performs operations for building queries against a database represented by a data abstraction model, in a system that includes a client device and a server device, the operations comprising:
-
receiving, from a user interface for building a query against the database, a first request to display one or more logical fields of the data abstraction model, wherein the data abstraction model includes a plurality of logical field fields representative of physical fields of the database, wherein each logical field includes a logical field definition specifying at least a name and an access method for accessing physical data elements stored in physical fields of the database corresponding to a respective logical field, and wherein each logical field provides a query element available for inclusion in an abstract query; selectively retrieving, in response to the request, a portion of the data abstraction model that includes the one or more logical fields, based on system parameters that limit accessibility to the data abstraction model by the client device; storing the retrieved portion of the data abstraction model in a cache available on the client device; outputting for display the one or more logical fields on the user interface; receiving, from the user interface, a second request to display one or more logical fields of the data abstraction model; upon determining that the cache has insufficient available space to store the one or more logical fields specified by the second request, selectively removing portions of the data abstraction model from the cache to make sufficient available space for the retrieved portion of the data abstraction model; and displaying the one or more logical fields specified by the second request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium containing a program which, when executed by a processor, performs operations for accessing a hierarchical tree structure of nodes, the operations comprising:
-
receiving a first request from a user to access a first node of the hierarchical tree structure of nodes, wherein each node identifies a respective plurality of logical field fields representative of physical fields of a database, wherein each logical field includes a logical field definition specifying at least a name and an access method for accessing physical data elements stored in physical fields of the database corresponding to a respective logical field, and wherein each logical field provides a query element available for inclusion in an abstract query; in response to the request, selectively retrieving a portion of the plurality of logical fields identified by at least the first node based on a storage capacity of a cache available on a client device; storing the retrieved portion of logical fields in the cache; and presenting, to the user, one or more links to other nodes of the hierarchical tree structure of nodes, associated with the first node; receiving a second request to access one of the nodes linked to by the first node; upon determining that there is insufficient available space in the cache to store the logical fields identified by the node specified by the second request, selectively removing one or more of the logical fields stored in the cache to free available space sufficient to store the logical fields of the node specified by the second request; and presenting, to the user, the one or more logical fields specified by the second request. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A data processing system, comprising:
-
a processor; a cache containing a limited portion of a data abstraction model defining a plurality of logical field definitions defining a respective logical field, and wherein each logical field definition specifies at least a name and an access method for accessing physical data elements stored in physical fields of a database corresponding to a respective logical field, and wherein each logical field provides a query element available for inclusion in an abstract query; a graphical user interface, through which a selected category of logical fields of the data abstraction model is received and through which one or more of the logical fields maintained in the cache are exposed; and a content manager which, when executed by the processor, is configured to manage the limited portion of the data abstraction model in the cache by selectively removing portions of the data abstraction model from the cache prior to storing a retrieved portion of the data abstraction model in the cache;
wherein managing the limited portion comprises;receiving, from the graphical user interface, a request to display one or more logical fields of the data abstraction model; and upon determining that the cache has insufficient available space to store the one or more logical fields specified by the request, selectively removing portions of the data abstraction model from the cache to make sufficient available space for the retrieved portion of the data abstraction model. - View Dependent Claims (16)
-
Specification