ARCHITECTURAL PATTERN FOR PERSISTENT WEB APPLICATION DESIGN
First Claim
1. A computer system for operating a web application with offline capabilities, comprising:
- a client device having a computer processor and a computer memory;
a web browser configured to execute on the client device;
a local web application that is configured to operate within the web browser;
a web interface configured to manage communications between the local web application and a server system associated with the web application;
a write queue maintained in the memory;
a persistent local database maintained in the memory containing a plurality of data items, each being associated with an identifier that enables each respective data item to be uniquely identified on the client device and on the server system;
wherein;
when the web application needs to perform an operation on a data item, the web application issues a database request to determine if the data item is in the local database;
if the data item is not in the local database, the web application issues the data request to the server system via the web interface;
if the data item is in the local database and the operation involves updating the data item, the web application performs the operation on the data item stored in the database and writes information characterizing the operation to the write queue along with the identifier of the data item;
when a network connection exits between the client device and the server system, the web interface drains the write queue to the server system.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system operating a web application with offline capabilities, including a web browser, a local web application, a write queue maintained in the local memory and a persistent local database. When the web application needs to perform an operation on a data item, the web application issues a database request to determine if the data item is in the local database. If the data item is not in the local database, the web application issues the data request to the server system. If the data item is in the local database, the web application performs the operation on the data item stored in the database and writes the operation to the write queue along with the identifier of the data item. When a network connection exits between the client device and the server system, the web interface drains the write queue to the server system.
60 Citations
18 Claims
-
1. A computer system for operating a web application with offline capabilities, comprising:
-
a client device having a computer processor and a computer memory; a web browser configured to execute on the client device; a local web application that is configured to operate within the web browser; a web interface configured to manage communications between the local web application and a server system associated with the web application; a write queue maintained in the memory; a persistent local database maintained in the memory containing a plurality of data items, each being associated with an identifier that enables each respective data item to be uniquely identified on the client device and on the server system; wherein; when the web application needs to perform an operation on a data item, the web application issues a database request to determine if the data item is in the local database; if the data item is not in the local database, the web application issues the data request to the server system via the web interface; if the data item is in the local database and the operation involves updating the data item, the web application performs the operation on the data item stored in the database and writes information characterizing the operation to the write queue along with the identifier of the data item; when a network connection exits between the client device and the server system, the web interface drains the write queue to the server system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for operating a web application with offline capabilities at a client device having a computer processor and a computer memory, comprising:
-
executing a web browser on the client device; executing a local web application that is configured to operate within the web browser, managing communications between the local web application and a server system associated with the web application with a web interface; maintaining a write queue in the memory; maintaining a persistent local database in the memory containing a plurality of data items, each being associated with an identifier that enables each respective data item to be uniquely identified on the client device and on the server system; wherein; when the web application needs to perform an operation on a data item, the web application issues a database request to determine if the data item is in the local database; if the data item is not in the local database, the web application issues the data request to the server system via the web interface; if the data item is in the local database and the operation involves updating the data item, the web application performs the operation on the data item stored in the database and writes information characterizing the operation to the write queue along with the identifier of the data item; when a network connection exits between the client device and the server system, the web interface drains the write queue to the server system. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer readable storage medium storing one or more programs for execution by one or more processors of a client device, the one or more programs comprising instructions to:
-
execute a web browser on the client device; execute a local web application within the web browser; manage communications between the local web application and a server system associated with the web application using a web interface; maintain a write queue in the memory; maintain a persistent local database in the memory containing a plurality of data items, each being associated with an identifier that enables each respective data item to be uniquely identified on the client device and on the server system; wherein; when the web application needs to perform an operation on a data item, the web application issues a database request to determine if the data item is in the local database; if the data item is not in the local database, the web application issues the data request to the server system via the web interface; if the data item is in the local database and the operation involves updating the data item, the web application performs the operation on the data item stored in the database and writes information characterizing the operation to the write queue along with the identifier of the data item; when a network connection exits between the client device and the server system, the web interface drains the write queue to the server system. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification