Patent ID: 7665094

Claim:
A system for providing access between an application at a mobile device, and a web service at a server, comprising: a processor; a server comprising the processor, database, provisioning service, store and forward manager, web service, and one or more interface plugins for use by different types of mobile devices; the mobile device comprising a memory, processor, and software application executing thereon, wherein the mobile device further comprises a runtime environment program, which displays software applications provisioned by the provisioning service, wherein the runtime environment program interacts with the server via an interface to receive provisioned applications and asynchronously update application data between the mobile device and the database, a software application, which is provided by the provisioning service in a markup language and which is displayable on the mobile device by the runtime environment program, wherein each independent instance of the software application receives a unique incarnation ID, which is used by the runtime environment program to uniquely associate data received from the server with a particular instance of the software application on the mobile device, an application data store, residing in the memory of the mobile device, which is used to store the application data for use by the software application, and templates for use by the runtime environment program in displaying the software application and the application data therein, and wherein the application data at the mobile device is persisted locally with the database at the server when a connection between the mobile device and the server is available, including when the software application is either running or not running; wherein, while the software application executes on the mobile device, the runtime environment program sends messages to the server through its interface, in a lower level message transport format associated with that mobile device type, to retrieve, use, or update the application data; and wherein the server receives the messages, through an interface plugin configured for that mobile device type, and converts the messages received from the runtime environment program into messages that are independent of mobile device type, for subsequent communication to the web service, and provides responses accordingly, including using the store and forward manager to store the responses at the server until the connection between the mobile device and the server is available.