Patent ID: 7143419

Claim:
A device capable of running applications offline comprising: a computer to process program logic and data including: a web server; a programming model, said programming model being used to run said applications; an offline application, said offline application being related to an application resident on a separate computer system; applications data; an API layer, said API layer providing an interface between said programming model and said applications data; and a synchronization layer, said synchronization layer being capable of performing a synchronization of applications data upon said device and upon said separate computer system, the synchronization including the transmission of data generated offline by said offline application to said separate computer system; and said synchronization layer to preserve a synchronization data container on said device in the event of a synchronization error, a synchronization error including a lost connection to said separate computer system; said synchronization layer to further send from an outgoing container database of said separate computer system any data container of a same class as a data container received from said device, and to send an acknowledgement to said device of said received container, said device writing a container identification referred to by said acknowledgement into a history table and deleting a container corresponding to said identification; and said synchronization layer to further, at said separate computer system, map data from an incoming data container from said device and generate a responsive outgoing data container, said responsive outgoing data container being one of sent to said device in a same synchronization event as said incoming data containers are received, or in a subsequent synchronization event.