MOBILE APPLICATIONS
0 Assignments
0 Petitions
Accused Products
Abstract
Providing a framework for developing, deploying and managing sophisticated mobile solutions, with a simple Web-like programming model that integrates with existing enterprise components. Mobile applications may consist of a data model definition, user interface templates, a client side controller, which includes scripts that define actions, and, on the server side, a collection of conduits, which describe how to mediate between the data model and the enterprise. In one embodiment, the occasionally-connected application server assumes that data used by mobile applications is persistently stored and managed by external systems. The occasionally-connected data model can be a METAdata description of the mobile application'"'"'s anticipated usage of this data, and be optimized to enable the efficient traversal and synchronization of this data between occasionally connected devices and external systems.
84 Citations
34 Claims
-
1-14. -14. (canceled)
-
15. An occasionally-connected application server comprising:
-
a synchronization unit that synchronizes a first set of data nodes stored on the occasionally-connected application server with a second set of data nodes stored on a mobile client for an application provided by the server, the application employing an occasionally-connected data model whereby a mobile application running on the mobile client is enabled to utilize data in the second set of data nodes to run while disconnected from the occasionally-connected application server; a conduit manager that translates between data from external systems and the first set of data nodes defined by the occasionally-connected data model stored on the server; wherein the conduit manager employs a set of conduits that define transforms between first set of data nodes defined by the occasionally-connected data model and requests and responses for a specific external web service; wherein the occasionally-connected application server interacts with the specific external web service to produce and update the first set of data nodes for the client; wherein the first set of data nodes have associated synchronization states, wherein the synchronization states are passed between the server and the mobile client as a background process to synchronize the first set of data nodes on the server with the second set of data nodes on the mobile client, such that update operations performed on the first set of data nodes during periods where the mobile client is disconnected from the server are reflected on the server when the connection is reestablished by employing the synchronization states associated with the first set of data nodes. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 24, 31)
-
-
25. A method for operating an occasionally-connected application server comprising:
-
synchronizing a first set of data nodes stored on the occasionally-connected application server with a second set of data nodes stored on a mobile client for an application provided by the occasionally-connected application server, the application employing an occasionally-connected data model whereby a mobile application running on the mobile client is enabled to utilize data in the second set of data nodes to run while disconnected from the occasionally-connected application server; translating between data from external systems and the first set of data nodes stored on the occasionally-connected application server; employing conduits which define transforms between requests and responses for a specific external web service and the first set of data nodes stored on the occasionally-connected application server; interacting with the specific external web service to produce and update the first set of data nodes stored on the occasionally-connected application server; maintaining synchronization states associated with the first set of data nodes stored on the occasionally-connected application server; and passing the synchronization states associated with the first set of data nodes between the occasionally-connected application server and the mobile client as a background process to synchronize the first set of data nodes on the occasionally-connected application server with the second set of data nodes on the mobile client, such that update operations performed on the first set of data nodes during periods where the mobile client is disconnected from the occasionally-connected application server are reflected on the mobile client when the connection is reestablished. - View Dependent Claims (26, 27, 28, 29, 30, 32, 33)
-
-
34. A non-transitory computer-readable storage medium storing a set of instructions for operating an occasionally-connected application server, said instructions, when executed by one or more processors, causing the one or more processors to perform the steps comprising:
-
synchronizing a first set of data nodes stored on the occasionally-connected application server with a second set of data nodes stored on a mobile client for an application provided by the occasionally-connected application server, the application employing an occasionally-connected data model whereby a mobile application running on the mobile client is enabled to utilize data in the second set of data nodes to run while disconnected from the occasionally-connected application server; translating between data from external systems and the first set of data nodes stored on the occasionally-connected application server; employing conduits which define transforms between requests and responses for a specific external web service and the first set of data nodes stored on the occasionally-connected application server; interacting with the specific external web service to produce and update the first set of data nodes stored on the occasionally-connected application server; maintaining synchronization states associated with the first set of data nodes stored on the occasionally-connected application server; and passing the synchronization states associated with the first set of data nodes between the occasionally-connected application server and the mobile client as a background process to synchronize the first set of data nodes on the occasionally-connected application server with the second set of data nodes on the mobile client, such that update operations performed on the first set of data nodes during periods where the mobile client is disconnected from the occasionally-connected application server are reflected on the mobile client when the connection is reestablished.
-
Specification