×

Framework for managing client application data in offline and online environments

  • US 7,996,493 B2
  • Filed: 03/10/2005
  • Issued: 08/09/2011
  • Est. Priority Date: 03/10/2005
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method performed in a client application program in a computerized environment, wherein the client application is configured to work in an online mode with a target application service, and in an offline mode, the method being for handling data produced through the client application so that the data is communicated with the target application service in an efficient manner, and the method comprising the acts of:

  • receiving data from a user;

    identifying a logic component to be associated with the data, the logic component including one or more rule elements that indicate how a synchronization framework is to determine whether a target application is effectively online for purposes of the data, wherein the target application is effectively offline when it does not meet determined criteria, regardless of whether the target application is actually offline, and regardless of whether the client application is online;

    associating the data received from the user with the logic component by creating a single object that includes not only the data received from the user, but also the logic component that is associated with the data, such that the object includes the data encapsulated with one or more rule elements providing logic describing how the synchronization framework is to determine whether the target application is effectively online for purposes of the data, and before sending a service request based on the data to the target application;

    passing the object, including the data and the encapsulated one or more rule elements, to the synchronization framework, such that the synchronization framework communicates the service request based on the object to the target application service in an efficient manner; and

    receiving a response from the synchronization framework;

    wherein the logic component includes logic elements corresponding to;

    a local execution phase, wherein the logic element of the local execution phase specifies how the synchronization framework will receive data from the client application into an object, where to store the object once it is created, and what values to use for other logic elements corresponding to the object, and how to recognize local state for the object at the computing system running the client application;

    a synchronization phase, wherein the logic element of the synchronization phase includes parameters of how to treat certain types of connections with the target application service, including how to determine whether the target application service is effectively offline, wherein the parameters of how to treat certain types of connections are based at least in part on a size of the object; and

    a commit phase, wherein the commit phase includes logic for confirming tentative state changes made for the object during the local execution phase, deferring the commit phase when the object is not processed successfully, rolling back tentative state changes when a request fails, and requiring re-association of a new set of object logic when data is unsuccessfully processed, wherein the local execution phase, the synchronization phase, and the commit phase are all phases of the synchronization framework.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×