Modular distributed mobile data applications
First Claim
1. A distributed mobile computing system for intermittently networked devices, the system comprising:
- a servo for execution on a mobile computing device having a user interface and having at least intermittent communication with a server environment, the execution of the servo to realize a predetermined function on the mobile computing device, the servo defined in a predetermined servo description language (SDL) and configured to be stored in local storage on the mobile computing device, the servo comprising;
a declaration of data storage on the mobile computing device, the declaration including or referencing a schema, anda declaration of a view, the declaration including a transformation rule mapping a schema component to an abstract interface object or concrete interface object;
an interpreter to execute the servo on the mobile computing device to realize the predetermined function by interacting with data and schema in local storage and interacting with a concrete interface object or an abstract interface object to enforce the mapping declared in the transformation rule of the servo;
a synchronizer on the mobile computing device to interact with a server-side synchronizer to synchronize data, schemata, and servos stored in local storage of the mobile computing device with server-side replica storage during periods of network connectivity; and
a server environment including;
storage on a non-transitory computer-readable storage medium for data, schemata, and at least one servo;
replica storage of the local storage on the mobile computing device, wherein the replica storage is on a non-transitory computer-readable storage medium; and
a synchronizer to interact with the synchronizer on the mobile computing device to synchronize data, schemata, and servos stored in local storage of the mobile computing device with the replica storage.
0 Assignments
0 Petitions
Accused Products
Abstract
Computer-implemented system and methods for deploying a distributed client-server system, enabling developers to rapidly create and deploy read-write distributed data interfaces for host database systems. The disclosed system is especially advantageous for mobile clients as connection to the server environment can be intermittent without unduly impeding local (disconnected) operations. One important aspect of the invention is an incremental process for executing an application servo in a client device. This process includes building and incrementally maintaining a logical context tree in which each node expresses a complete current state of the execution process.
-
Citations
21 Claims
-
1. A distributed mobile computing system for intermittently networked devices, the system comprising:
-
a servo for execution on a mobile computing device having a user interface and having at least intermittent communication with a server environment, the execution of the servo to realize a predetermined function on the mobile computing device, the servo defined in a predetermined servo description language (SDL) and configured to be stored in local storage on the mobile computing device, the servo comprising; a declaration of data storage on the mobile computing device, the declaration including or referencing a schema, and a declaration of a view, the declaration including a transformation rule mapping a schema component to an abstract interface object or concrete interface object; an interpreter to execute the servo on the mobile computing device to realize the predetermined function by interacting with data and schema in local storage and interacting with a concrete interface object or an abstract interface object to enforce the mapping declared in the transformation rule of the servo; a synchronizer on the mobile computing device to interact with a server-side synchronizer to synchronize data, schemata, and servos stored in local storage of the mobile computing device with server-side replica storage during periods of network connectivity; and a server environment including; storage on a non-transitory computer-readable storage medium for data, schemata, and at least one servo; replica storage of the local storage on the mobile computing device, wherein the replica storage is on a non-transitory computer-readable storage medium; and a synchronizer to interact with the synchronizer on the mobile computing device to synchronize data, schemata, and servos stored in local storage of the mobile computing device with the replica storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing platform for distributed mobile applications comprising a computer-implemented server environment for interaction with a mobile client machine over a potentially intermittent communication channel, the server environment including:
-
a messaging service for managing potentially intermittent communication between the client machine and the server environment; a location broker component for locating a database associated with an identifier contained in a request communicated from the client machine; a session manager service for managing an interactive session with the client machine; an interpreter instance for processing a request assigned to it in a current session; storage on a non-transitory computer-readable storage medium for at least one servo, data and schema; replica storage of a local storage on the client machine, wherein the replica storage is on a non-transitory computer-readable storage medium, and wherein data and schema in the local storage on the client machine are used and manipulated by an interpreter on the client machine that executes a servo to realize a predetermined function; a synchronizer to interact with a synchronizer on the client machine to synchronize data, schemata, and servos stored in local storage of the client machine with the replica storage; and a registry for managing meta data associated with servos and schemata; wherein both the servo and the data are expressed in a markup language. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification