Building message relationships for offline operation of an enterprise application
First Claim
1. A method for offline operation of a client application on a client device using a client-local database of online activity records, the method comprising:
- receiving, from a networked component, computer code comprising at least a portion of an emulator processing entity to execute on the client device, the emulator processing entity comprising;
a capture module that allocates memory on the client device that stores a relationship associating at least one online request and at least one online response into a client-local database,wherein the relationship comprises at least a timestamp column corresponding to an indicator of a freshness of data of the relationship between the at least one online request and respective at least one online response, and at least a data row corresponding to the online response generated from the online request, andan emulator module that receives an offline request from the client application and delivers an offline response to the client application when the client device is disconnected from the networked component, the offline response retrieved from the client-local database based at least in part on the relationship associated between the at least one online request and the at least one online response;
sending one or more online requests from the client application on the client device to the networked component;
receiving one or more online responses from the networked component, the one or more online responses to the client application being responsive to at least one of the one or more online requests;
storing, into the client-local database of online activity records, one or more relationships between the one or more online requests and respective one or more online responses, at least one of an entirety of the online requests from the client device and online responses from the networked component, and a relationship between a second online request and first online request;
retrieving, by the emulator module on the client device, stored instances of the respective one or more online responses from the client-local database based at least in part on the one or more relationships associated to one or more offline requests received from the client application;
receiving instructions for deploying a crawler processing entity to the client device, wherein the crawler processing entity is configured to generate a set of simulated online requests when the client device is connected to the networked component, the set of simulated online requests producing a wide range of request-response pairs, wherein the wide range of request-response pairs depend from one or more previous request-response pairs;
storing, into the client-local database, the set of simulated online requests, wherein the simulated online requests generate additional online activity records and are accessible when the client device is disconnected from the networked component; and
operating the client application in an offline mode when the client device is disconnected from the networked component by delivering the respective one or more online responses from the client-local database to the client application as one or more offline responses.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and computer program product for building JSON message relationships for offline operation of an enterprise application is presented. The claimed embodiments address the problem of mobile application behavior during periods of limited access to backend application services and data. More specifically, some embodiments are directed to approaches for capturing request and response information communicated between a client device and application server when connected by a network, and storing respective relationships using the captured information. The stored requests and responses and respective relationships are used to emulate the backend services provided by the application server when the client device is disconnected from the network. In one or more embodiments, a crawler on the client device can generate simulated online requests to build a set of information for use by the emulator when the client device is disconnected from the application server.
19 Citations
21 Claims
-
1. A method for offline operation of a client application on a client device using a client-local database of online activity records, the method comprising:
-
receiving, from a networked component, computer code comprising at least a portion of an emulator processing entity to execute on the client device, the emulator processing entity comprising; a capture module that allocates memory on the client device that stores a relationship associating at least one online request and at least one online response into a client-local database, wherein the relationship comprises at least a timestamp column corresponding to an indicator of a freshness of data of the relationship between the at least one online request and respective at least one online response, and at least a data row corresponding to the online response generated from the online request, and an emulator module that receives an offline request from the client application and delivers an offline response to the client application when the client device is disconnected from the networked component, the offline response retrieved from the client-local database based at least in part on the relationship associated between the at least one online request and the at least one online response; sending one or more online requests from the client application on the client device to the networked component; receiving one or more online responses from the networked component, the one or more online responses to the client application being responsive to at least one of the one or more online requests; storing, into the client-local database of online activity records, one or more relationships between the one or more online requests and respective one or more online responses, at least one of an entirety of the online requests from the client device and online responses from the networked component, and a relationship between a second online request and first online request; retrieving, by the emulator module on the client device, stored instances of the respective one or more online responses from the client-local database based at least in part on the one or more relationships associated to one or more offline requests received from the client application; receiving instructions for deploying a crawler processing entity to the client device, wherein the crawler processing entity is configured to generate a set of simulated online requests when the client device is connected to the networked component, the set of simulated online requests producing a wide range of request-response pairs, wherein the wide range of request-response pairs depend from one or more previous request-response pairs; storing, into the client-local database, the set of simulated online requests, wherein the simulated online requests generate additional online activity records and are accessible when the client device is disconnected from the networked component; and operating the client application in an offline mode when the client device is disconnected from the networked component by delivering the respective one or more online responses from the client-local database to the client application as one or more offline responses. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor causes the processor to execute a process for offline operation of a client application on a client device using a client-local database of online activity records, the process comprising:
-
receiving, from a networked component, computer code comprising at least a portion of an emulator processing entity to execute on the client device, the emulator processing entity comprising; a capture module that allocates memory on the client device that stores a relationship associating at least one online request and at least one online response into a client-local database, wherein the relationship comprises at least a timestamp column corresponding to an indicator of a freshness of data of the relationship between the at least one online request and respective at least one online response, and at least a data row corresponding to the online response generated from the online request, and an emulator module that receives an offline request from the client application and delivers an offline response to the client application when the client device is disconnected from the networked component, the offline response retrieved from the client-local database based at least in part on the relationship associated between the at least one online request and the at least one online response; sending one or more online requests from the client application on the client device to the networked component; receiving one or more online responses from the networked component, the one or more online responses to the client application being responsive to at least one of the one or more online requests; storing, into the client-local database of online activity records, one or more relationships between the one or more online requests and respective one or more online responses, at least one of an entirety of the online requests from the client device and online responses from the networked component, and a relationship between a second online request and first online request; retrieving, by the emulator module on the client device, stored instances of the respective one or more online responses from the client-local database based at least in part on the one or more relationships associated to one or more offline requests received from the client application; receiving instructions for deploying a crawler processing entity to the client device, wherein the crawler processing entity is configured to generate a set of simulated online requests when the client device is connected to the networked component, the set of simulated online requests producing a wide range of request-response pairs, wherein the wide range of request-response pairs depend from one or more previous request-response pairs; storing, into the client-local database, the set of simulated online requests, wherein the simulated online requests generate additional online activity records and are accessible when the client device is disconnected from the networked component; and operating the client application in an offline mode when the client device is disconnected from the networked component by delivering the respective one or more online responses from the client-local database to the client application as one or more offline responses. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for offline operation of a client application on a client device using a client-local database of online activity records, the system comprising:
-
a networked component comprising; a backend system comprising an application server, and a database engine storing application data; and a client device comprising; a computer processor to execute a set of program code instructions, and a memory to hold the set of program code instructions, in which the set of program code instructions comprises program code to perform; receiving, from a networked component, computer code comprising at least a portion of an emulator processing entity to execute on the client device, the emulator processing entity comprising; a capture module that allocates memory on the client device that stores a relationship associating at least one online request and at least one online response into a client-local database, wherein the relationship comprises at least a timestamp column corresponding to an indicator of a freshness of data of the relationship between the at least one online request and respective at least one online response, and at least a data row corresponding to the online response generated from the online request, and an emulator module that receives an offline request from the client application and delivers an offline response to the client application when the client device is disconnected from the networked component, the offline response retrieved from the client-local database based at least in part on the relationship associated between the at least one online request and the at least one online response; sending one or more online requests from the client application on the client device to the networked component; receiving one or more online responses from the networked component, the one or more online responses to the client application being responsive to at least one of the one or more online requests; storing, into the client-local database of online activity records, one or more relationships between the one or more online requests and respective one or more online responses, at least one of an entirety of the online requests from the client device and online responses from the networked component, and a relationship between a second online request and first online request; retrieving, by the emulator module on the client device, stored instances of the respective one or more online responses from the client-local database based at least in part on the one or more relationships associated to one or more offline requests received from the client application; receiving instructions for deploying a crawler processing entity to the client device, wherein the crawler processing entity is configured to generate a set of simulated online requests when the client device is connected to the networked component, the set of simulated online requests producing a wide range of request-response pairs, wherein the wide range of request-response pairs depend from one or more previous request-response pairs; storing, into the client-local database, the set of simulated online requests, wherein the simulated online requests generate additional online activity records and are accessible when the client device is disconnected from the networked component; and operating the client application in an offline mode when the client device is disconnected from the networked component by delivering the respective one or more online responses from the client-local database to the client application as one or more offline responses. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification