Partial data model exposure through client side caching
First Claim
1. A computer-implemented method for using a system that includes a client device and a server device described by a plurality of system parameters in building queries against a database represented by a data abstraction model, the method comprising:
- receiving, from a user interacting with the client device, 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;
displaying the one or more logical fields to the user;
receiving, from the user, a second request to display one or more logical fields of the data abstraction model;
determining if there is sufficient available space in the cache to store the one or more logical fields specified by the second request;
in response to determining there is insufficient available space in the cache 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.
1 Assignment
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
13 Claims
-
1. A computer-implemented method for using a system that includes a client device and a server device described by a plurality of system parameters in building queries against a database represented by a data abstraction model, the method comprising:
-
receiving, from a user interacting with the client device, 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; displaying the one or more logical fields to the user; receiving, from the user, a second request to display one or more logical fields of the data abstraction model; determining if there is sufficient available space in the cache to store the one or more logical fields specified by the second request; in response to determining there is insufficient available space in the cache 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. A method for accessing a hierarchical tree structure of nodes, the method 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, the 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; determining if there is sufficient available space in the cache to store the logical fields identified by the node specified by the second request; if not, 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 (7, 8, 9, 10, 11, 12, 13)
-
Specification