US 12,248,458 B1
Offline structured data navigation on a mobile device
Jonathan Williamson, Cambridge, MA (US); and Siddhant Benadikar, Cambridge, MA (US)
Assigned to QUICKBASE INC., Cambridge, MA (US)
Filed by QuickBase, Inc., Cambridge, MA (US)
Filed on Nov. 19, 2020, as Appl. No. 16/952,562.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/23 (2019.01); G06F 9/451 (2018.01); G06F 16/25 (2019.01); G06F 40/174 (2020.01); H04L 67/01 (2022.01)
CPC G06F 16/2379 (2019.01) [G06F 9/451 (2018.02); G06F 16/2372 (2019.01); G06F 16/252 (2019.01); G06F 40/174 (2020.01); H04L 67/01 (2022.05)] 12 Claims
OG exemplary drawing
 
1. A method of remote app execution comprising the steps of
A. executing a remote app on a client digital data processor that is adapted to be intermittently connected for communications with a server digital data processor,
B. with any of the remote app and a proxy executing on the client digital data device, requesting from the server digital data processor a schema for a table that is used by the app, and utilizing that schema to prefetch from the server digital data processor data for the table, and
C. with the remote app, utilizing that schema
(i) to facilitate user navigation of records in that table by presenting a view of records in the table, where the format and content of that view is defined in the schema, generating a report of records in the table, where the format and content of that report is defined in the schema, and selecting records for presentation in the view or report based on a query defined in that schema, and
(ii) to respond to user input during execution of the application to generate requests to obtain table records from the server,
D. with the client digital data device,
(i) during intervals when there is connectivity between the client digital data processor and the server digital data processor, passing to the server digital data processor said requests, even if data requested by those requests has previously been fetched to and cached on the client digital data device,
(ii) during intervals when connectivity between the client digital data processor and the server digital data processor is lacking, responding directly to the remote app in response to those requests, using previously fetched data without, first, passing those requests to the server digital data processor, and
(iii) caching data prefetched from the server in step (B) and data fetched from the server in step (D)(i).