Architectural pattern for persistent web application design
First Claim
1. A client device comprising:
- one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory for execution by the one or more processors, the one or more programs including instructions for;
receiving a request to perform an operation on a respective data item associated with a web application, wherein data items associated with the web application are accessible via a network connection between the client device and a server system;
in response to the request to perform the operation on the respective data item, without regard to an availability of the network connection between the client device and the server system, determining whether the respective data item is stored in a local database in memory of the client device;
sending, to the server system, a request for the respective data item, the sending being responsive to a determination that the respective data item is not stored in the local database; and
performing the operation on the respective data item stored in the local database, the performing being responsive to a determination that the respective data item is stored in the local database.
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.
28 Citations
27 Claims
-
1. A client device comprising:
-
one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory for execution by the one or more processors, the one or more programs including instructions for; receiving a request to perform an operation on a respective data item associated with a web application, wherein data items associated with the web application are accessible via a network connection between the client device and a server system; in response to the request to perform the operation on the respective data item, without regard to an availability of the network connection between the client device and the server system, determining whether the respective data item is stored in a local database in memory of the client device; sending, to the server system, a request for the respective data item, the sending being responsive to a determination that the respective data item is not stored in the local database; and performing the operation on the respective data item stored in the local database, the performing being responsive to a determination that the respective data item is stored in the local database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
performing by a client device, including one or more processors and memory storing one or more programs, the method comprising the following steps; receiving a request to perform an operation on a respective data item associated with a web application, wherein data items associated with the web application are accessible via a network connection between the client device and a server system; in response to the request to perform the operation on the respective data item, without regard to an availability of the network connection between the client device and the server system, determining whether the respective data item is stored in a local database in memory of the client device, sending, to the server system, a request for the respective data item, the sending being responsive to a determination that the respective data item is not stored in the local database; and performing the operation on the respective data item stored in the local database, the performing being responsive to a determination that the respective data item is stored in the local database. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a client device with one or more processors, cause the client device to:
-
receive a request to perform an operation on a respective data item associated with a web application, wherein data items associated with the web application are accessible via a network connection between the client device and a server system; in response to the request to perform the operation on the respective data item, without regard to an availability of the network connection between the client device and the server system, determine whether the respective data item is stored in a local database in memory of the client device send, to the server system, a request for the respective data item, the sending being responsive to a determination that the respective data item is not stored in the local database; and perform the operation on the respective data item stored in the local database, the performing being responsive to a determination that the respective data item is stored in the local database. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification