Occasionally-connected application server
First Claim
1. An occasionally-connected application server comprising:
- a synchronization unit that synchronizes a set of data nodes being stored on the occasionally-connected application server with data nodes stored on a mobile client for an application provided by the server, the application employing an occasionally-connected data model that indicates the mobile client'"'"'s anticipated usage of said data nodes before said data nodes are requested by the mobile client; and
a conduit manager that translates between data from external systems and the 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 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 data nodes for the client;
wherein the 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 data nodes on the server with the data nodes on the mobile client, such that update operations performed on the 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 data nodes.
2 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.
-
Citations
22 Claims
-
1. An occasionally-connected application server comprising:
-
a synchronization unit that synchronizes a set of data nodes being stored on the occasionally-connected application server with data nodes stored on a mobile client for an application provided by the server, the application employing an occasionally-connected data model that indicates the mobile client'"'"'s anticipated usage of said data nodes before said data nodes are requested by the mobile client; and a conduit manager that translates between data from external systems and the 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 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 data nodes for the client; wherein the 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 data nodes on the server with the data nodes on the mobile client, such that update operations performed on the 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 data nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
at a server, synchronizing data nodes with a client for an application including an occasionally-connected data model; and at the server, translating between data from external systems and the data nodes defined by the occasionally-connected data model, wherein the occasionally-connected data model indicates the client'"'"'s anticipated usage of said data nodes before said data nodes are requested by the client; wherein the conduit manager employs conduits that define transforms between 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 data nodes for the client; wherein the data nodes have associated synchronization states wherein the synchronization states are passed between the server and the client as a background process to synchronize the data nodes on the server with the data nodes on the client, such that update operations performed on the data nodes during periods where the client is disconnected from the server are reflected on the server when the connection is reestablished by employing the synchronization states associated with the data nodes. - View Dependent Claims (11, 12)
-
-
13. An apparatus comprising:
-
memory to store an occasionally-connected data model; and a cache to store data nodes as defined by the occasionally-connected data model, wherein the occasionally-connected application server caches data nodes in the cache as indicated by metadata in the occasionally-connected data model, wherein the occasionally-connected data model indicates a mobile client'"'"'s anticipated usage of said data nodes before said data nodes are requested by the mobile client; wherein the 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 data nodes on the server with the data nodes on the mobile client, such that update operations performed on the 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 data nodes. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A system including:
-
an occasionally-connected application server configured to provide an application to a client, the application allowing a client to read and update application data without requiring current access to the occasionally-connected application server, the occasionally-connected application server adapted to obtain application data from an external system to send to the client, wherein the occasionally-connected application server is adapted to translate data from the external system into data nodes; wherein the occasionally-connected application server employs an occasionally-connected data model, wherein the occasionally-connected data model indicates a mobile client'"'"'s anticipated usage of said data nodes before said data nodes are requested by the mobile client; wherein the 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 data nodes on the server with the data nodes on the mobile client, such that update operations performed on the 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 data nodes. - View Dependent Claims (21, 22)
-
Specification