Net change notification based cached views with linked attributes
First Claim
1. A method executed at least in part in a computing device for caching view data with linked attributes based on net change notification, the method comprising:
- submitting a query to a server for the view data, the query including;
combining conditions on related table columns of server-side view data with an “
and”
operation;
applying the combined conditions on timestamp attributes of the related table columns;
retrieving query results in batches and returning a minimum active row version associated with a first batch from the batches;
merging the query results by applying a “
sort by ID”
filter on “
ID”
attributes that are unique and immutable for objects corresponding to an entity type;
updating a client-side view data cache based on the merged results;
in response to at least one of the objects in the server-side view data satisfying a “
viewDefinition”
filter for a predetermined period depending on a frequency of updating the client-side view data cache, providing a guarantee that the at least one of the objects coincide with at least one corresponding row in the client-side view data cache; and
picking up a possible missed row between the batches on a subsequent update of the client-side view data cache.
2 Assignments
0 Petitions
Accused Products
Abstract
Local data caching for views with linked attributes are optimized based on net change notifications. Data requests may be made periodically to a server, each request with a specific set of constraints on timestamps of entity types involved in a view and each ordered by a primary item'"'"'s identifier (ID). Applying the results of these requests to a client-side cache of the view results enables the client-side cache to stay “relatively fresh” with respect to the server'"'"'s data. The server may handle view data requests where all conditions on related tables'"'"' columns are applied with an “and” operation, and the specific set of conditions on the timestamps of the related items are applied to get the net changes with minimum redundancy. The server may also handle stateless view data requests limited by the number of results, and a “sort by ID” may be applied to ensure consistent results over time.
20 Citations
20 Claims
-
1. A method executed at least in part in a computing device for caching view data with linked attributes based on net change notification, the method comprising:
-
submitting a query to a server for the view data, the query including; combining conditions on related table columns of server-side view data with an “
and”
operation;applying the combined conditions on timestamp attributes of the related table columns; retrieving query results in batches and returning a minimum active row version associated with a first batch from the batches; merging the query results by applying a “
sort by ID”
filter on “
ID”
attributes that are unique and immutable for objects corresponding to an entity type;updating a client-side view data cache based on the merged results; in response to at least one of the objects in the server-side view data satisfying a “
viewDefinition”
filter for a predetermined period depending on a frequency of updating the client-side view data cache, providing a guarantee that the at least one of the objects coincide with at least one corresponding row in the client-side view data cache; andpicking up a possible missed row between the batches on a subsequent update of the client-side view data cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device for executing a client application capable of caching view data with linked attributes based on net change notification, the computing device comprising:
-
a memory storing instructions; and a processor coupled to the memory, the processor executing the client application in conjunction with the stored instructions, wherein the client application is configured to; submit periodic queries to a server for the view data, each query arranged to; combine conditions on related table columns of server-side view data with an “
and”
operation;apply the combined conditions on timestamp attributes of the related table columns; retrieve query results in batches and return a minimum active row version associated with a first batch from the batches; merge the query results by applying a “
sort by ID”
filter on a primary key “
ID”
attribute for each entity type, wherein the server-side view data is stored in a relational database whose data model includes a set of entity types;update a client-side view data cache based on the merged results in an iterative manner; in response to objects in the server-side view data satisfying a “
viewDefinition”
filter for a predetermined period depending on a frequency of update iterations, provide a guarantee that the objects coincide with corresponding rows in the client-side view data cache and indicate a “
cache freshness”
binary property as true to show the corresponding rows as fresh data andpick up a possible missed row between the batches on a subsequent update of the client-side view data cache. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable storage device with instructions stored thereon for caching view data with linked attributes based on net change notification, the instructions comprising:
-
submitting periodic stateless queries to a server for the view data, each query including; combining conditions on related table columns of server-side view data with an “
and”
operation;applying the combined conditions on timestamp attributes of the related table columns; retrieving query results in batches and returning a minimum active row version associated with a first batch from the batches; merging the query results by applying a “
sort by ID”
filter on a unique and immutable primary key “
ID”
attribute for each entity type, wherein the server-side view data is stored in a relational database whose data model includes a set of entity types;updating a client-side view data cache based on the merged results; in response to objects in the server-side view data satisfying a “
viewDefinition”
filter for a predetermined period depending on a frequency of updating the client-side view data cache, providing a guarantee that the objects coincide with corresponding rows in the client-side view data cache and indicating a “
cache freshness”
property as true value to show the corresponding rows as fresh data; andpicking up a possible missed row between the batches on a subsequent update of the client-side view data cache. - View Dependent Claims (19, 20)
-
Specification