System and method for caching data for a mobile application
First Claim
1. A method of facilitating the caching of data from a data source, on a mobile computing device coupled to the data source with a discontinuously available communication link, comprising:
- configuring a cache table within a database on the mobile computing device, wherein said cache table includes;
access parameters comprising a first set of columns of a dataset on a data source; and
result columns comprising a second set of columns of the dataset distinct from the first set of columns of the dataset;
generating one or more instances of said cache table within the database, wherein each said cache table instance comprises a set of rows, wherein each said row comprises;
an argument, said argument comprising a value for each column of the access parameters; and
a result set comprising a value for each column of the result columns, wherein each row in a set of rows comprises the same argument.
2 Assignments
0 Petitions
Accused Products
Abstract
A cache table comprises a set of access parameters and a set of data columns. One or more instances of a cache table are stored on a mobile computing device. Each instance includes an argument (a unique set of values for the access parameters) and a result set (a set of values for the data columns). Thus, each result in a result set comprises the argument and corresponding column values. Cached result sets have specified periods of validity, and may or may not be usable after becoming invalid. Valid cached data may be used regardless of whether a connection is available to a data source (e.g., data or application server). Invalid data may be used for a period of time if no connection is available to the data source. Data in a cache table may be selectively updated from a data source without synchronizing the entire local database.
260 Citations
48 Claims
-
1. A method of facilitating the caching of data from a data source, on a mobile computing device coupled to the data source with a discontinuously available communication link, comprising:
-
configuring a cache table within a database on the mobile computing device, wherein said cache table includes;
access parameters comprising a first set of columns of a dataset on a data source; and
result columns comprising a second set of columns of the dataset distinct from the first set of columns of the dataset;
generating one or more instances of said cache table within the database, wherein each said cache table instance comprises a set of rows, wherein each said row comprises;
an argument, said argument comprising a value for each column of the access parameters; and
a result set comprising a value for each column of the result columns, wherein each row in a set of rows comprises the same argument. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of facilitating the caching of data, from a data source, on a mobile computing device coupled to the data source with a less than continuously available communication link, the method comprising:
-
configuring a cache table within a database on the mobile computing device, wherein said cache table includes;
access parameters comprising a first set of columns of a dataset on a data source; and
result columns comprising a second set of columns of the dataset distinct from the first set of columns of the dataset;
generating one or more instances of said cache table within the database, wherein each said cache table instance comprises a set of rows, wherein each said row comprises;
an argument, said argument comprising a value for each column of the access parameters; and
a result set comprising a value for each column of the result columns, wherein each row in a set of rows comprises the same argument.
-
-
17. A method of facilitating data caching on a mobile computing device discontinuously coupled to a data server, the method comprising:
-
identifying one or more logical data tables on the data server;
for each logical data table, maintaining a table data processor configured to provide access to the logical table from the mobile computing device;
receiving an argument at the data server from the mobile computing device, wherein the argument comprises values for one or more columns of a first logical table;
identifying a set of rows of the first logical table, wherein each row in the set of rows contains the argument;
filtering the set of rows, wherein said filtering comprises;
excluding any rows that have not been modified since a last time the argument was received from the mobile computing device; and
removing from the rows the one or more columns corresponding to the argument; and
returning to the mobile computing device, in response to the argument, the filtered set of rows.
-
-
18. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of facilitating data caching on a mobile computing device discontinuously coupled to a data server, the method comprising:
-
identifying one or more logical data tables on the data server;
for each logical data table, maintaining a table data processor configured to provide access to the logical table from the mobile computing device;
receiving an argument at the data server from the mobile computing device, wherein the argument comprises values for one or more columns of a first logical table;
identifying a set of rows of the first logical table, wherein each row in the set of rows contains the argument;
filtering the set of rows, wherein said filtering comprises;
excluding any rows that have not been modified since a last time the argument was received from the mobile computing device; and
removing from the rows the one or more columns corresponding to the argument; and
returning to the mobile computing device, in response to the argument, the filtered set of rows.
-
-
19. A method of caching data on a mobile computing device, wherein the mobile computing device is connectable to a data source via a discontinuously available wireless link, comprising:
-
receiving a first operation involving a first set of data cached on a mobile computing device;
determining whether said first set of data is valid;
if said first set of data is invalid, determining whether said discontinuously available wireless link is available;
if said first set of data is invalid and said less than continuously available wireless link is unavailable, determining whether said first set of data is usable; and
retrieving an update for said first set of data from the data source only if;
said first set of data is invalid; and
said less than continuously available wireless link is available. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of caching data on a mobile computing device, wherein the mobile computing device is connectable to a data source via a discontinuously available wireless link, the method comprising:
-
receiving a first operation involving a first set of data cached on a mobile computing device;
determining whether said first set of data is valid;
if said first set of data is invalid, determining whether said less than continuously available wireless link is available;
if said first set of data is invalid and said discontinuously available wireless link is unavailable, determining whether said first set of data is usable; and
retrieving an update for said first set of data from the data source only if;
said first set of data is invalid; and
said less than continuously available wireless link is available.
-
-
31. A database for caching data on a mobile device, the database comprising:
-
a cache table defined by;
a set of access parameters corresponding to a first set of attributes of a data source accessible through a wireless communication connection; and
a second set of attributes of the data source;
wherein the database is discontinuously connected to the central data source through the wireless communication connection; and
one or more instances of said cache table, wherein each said cache table instance comprises;
an argument, said argument comprising a unique set of values for said access parameters; and
a result set comprising values for said second set of attributes; and
for each said cache table instance, information for determining a period of time during which said result set is usable on the mobile device. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. A system for caching data on a mobile computing device connectable to a central data source through a wireless link, comprising:
-
a database configured to selectively operate in either of an on-line mode and an off-line mode with respect to a central data source;
within the database, a cache table defined by;
a set of access parameters corresponding to a first set of attributes of the data source; and
a second set of attributes of the central data source;
within the database, one or more instances of said cache table, wherein each said cache table instance comprises;
an argument comprising a value for each of said access parameters; and
a set of results, wherein each said result comprises a value for each of said second set of attributes of the data source; and
for each said cache table instance, information for determining whether said result set is usable. - View Dependent Claims (40, 41, 42, 43)
-
-
44. A system for caching data on a mobile computing device, wherein the mobile computing device is configured for connection to a central data source on a discontinuous basis, the system comprising:
-
a cache table configured to cache data, from the central data source, on the mobile computing device;
one or more entries in said cache table, each said entry comprising a set of data from the central data source;
for each entry in said cache table, a validity parameter for determining a period of time during which said set of data is valid;
for each entry in said cache table, a usability parameter for determining whether said set of data is usable after said period of time during which said set of data is valid; and
a communication module configured to connect the mobile computing device to the central data source on a less than continuous basis. - View Dependent Claims (45, 47, 48)
-
-
46. The system of claim 46, wherein said usability parameter is configured to identify a second time at which said set of data becomes stale;
wherein, after said first time and until said second time, said set of data is used for an operation involving said cache table entry, only if the mobile computing device is not connected to the central data source.
Specification