Modular distributed mobile data applications
First Claim
1. A computer-implemented, incremental process for executing an application servo in a client device based on a specified set of matching criteria, the process comprising the steps of:
- selecting a servo to provide services;
identifying a datasource associated with the selected servo;
initializing an execution context tree structure by creating a root node of the context tree associated with an initial instruction of the servo;
choosing a context of the context tree that satisfies the matching criteria;
executing an instruction of the servo associated with the chosen context;
responsive to said executing step, creating zero or more new child contexts in the context tree, each new child context including content defining a current internal evaluation state of the process; and
repeating said choosing, executing and creating steps over subsequent instructions of the servo until no context satisfies the matching criteria.
1 Assignment
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
40 Claims
-
1. A computer-implemented, incremental process for executing an application servo in a client device based on a specified set of matching criteria, the process comprising the steps of:
-
selecting a servo to provide services;
identifying a datasource associated with the selected servo;
initializing an execution context tree structure by creating a root node of the context tree associated with an initial instruction of the servo;
choosing a context of the context tree that satisfies the matching criteria;
executing an instruction of the servo associated with the chosen context;
responsive to said executing step, creating zero or more new child contexts in the context tree, each new child context including content defining a current internal evaluation state of the process; and
repeating said choosing, executing and creating steps over subsequent instructions of the servo until no context satisfies the matching criteria. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A servo definition language for defining a distributed application that supports disconnected operation, the language comprising the following types of rules:
-
application data schema;
transformation rules;
transaction handling rules; and
interface object specifications. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A servo for realizing a predetermined function on a mobile client device having a user interface and utilizing at least intermittent communication with a server environment, the servo comprising:
-
a series of transformation elements expressed in a predetermined servo description language (SDL) consistent with a predetermined SDL schema;
the servo transformation elements including a data schema declaration for defining a data type on which the servo can be executed;
and the servo transformation elements further including at least two transformation rules, each rule for transforming selected elements of the data type defined by the data schema from an input document so as to provide output to the client device user interface; and
further whereinthe servo transformation elements include at least one view declaration for selecting a group of the said transformation rules so as to define at least a part of an output interface realizable on the client device user interface. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. 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 for at least one servo, data and schema; 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 (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification