EFFICIENT TRANSACTIONAL MESSAGING BETWEEN LOOSELY COUPLED CLIENT AND SERVER OVER MULTIPLE INTERMITTENT NETWORKS WITH POLICY BASED ROUTING
First Claim
1. A method for reducing the cost of sending messages over intermittent networks via one or more communication channels, the method comprising:
- (a) creating a first message on a server, the message intended to be sent to a mobile device over multiple intermittent networks;
(b) applying a first policy containing one or more rules to determine whether to send the first message to the mobile device, each rule being a function of one or more messaging attributes of messages, channels or system environment; and
(c) dynamically updating the first policy by sending a second message to the mobile device, the second message being a system message that results in the addition, deletion or other modification of the rules contained in the policy.
0 Assignments
0 Petitions
Accused Products
Abstract
The KonaWare Framework is a collection of software components that provide bi-directional transactions between wireless/mobile devices and enterprise server applications. Transactions are achieved between client and server by breaking up the sequence such that the client does not have to wait until the transaction is completed before relinquishing the network connection. By using asynchronous messaging, the message is persisted at every step and can be handed off to the next stage without waiting. The reply from the server comes back to the client as an asynchronous message and completes the transaction. Bi-directional messaging is achieved using server-initiated push techniques such as modem signaling, http listener, SMS or polling using an efficient decaying algorithm. Messages are sent via communication channels that can be a combination of a physical network and a service provider. Networks are automatically detected by observing changes in the TCP/IP route table and configured by altering the default route. Service providers are determined by using identification servers accessible only in specific networks; if reachable, then it is that network. Transmission rules are formed using regular expressions to combine system, message and channel parameters. These are changed at any time and sent dynamically as system messages to target devices. Loosely coupled client-server applications are developed without coding by declarative programming using relating business objects and graphical objects and mapping them into messages using properties sheets. Conflict-free database synchronization is achieved by assigning a master database and making the others slave databases whose updates are considered pending until confirmed by the master database. A lightweight LUCID (Logic Up, Consistent Information Down) model works by sending acknowledgement messages instead of the entire reply record.
158 Citations
20 Claims
-
1. A method for reducing the cost of sending messages over intermittent networks via one or more communication channels, the method comprising:
-
(a) creating a first message on a server, the message intended to be sent to a mobile device over multiple intermittent networks; (b) applying a first policy containing one or more rules to determine whether to send the first message to the mobile device, each rule being a function of one or more messaging attributes of messages, channels or system environment; and (c) dynamically updating the first policy by sending a second message to the mobile device, the second message being a system message that results in the addition, deletion or other modification of the rules contained in the policy.
-
-
2. A method for implementing efficient guaranteed transactional messaging on an intermittent network of computing devices, the method comprising the steps of:
-
(a) creating a first transaction on a first device, the first transaction including one or more messages intended to be exchanged with a second device over the network; (b) creating a first device queue on the first device, the first device queue reflecting the current status of the first transaction, including which messages of the first transaction have been successfully or unsuccessfully sent or received; (c) creating a second device queue on the second device, the second device queue reflecting the current status of the first transaction, including which messages of the first transaction have been successfully or unsuccessfully sent or received; and (d) guaranteeing receipt by the first device of a notification that a message of the first transaction sent by the first device was successfully or unsuccessfully received by the second device, even in the event that the first device or the second device loses network connectivity prior to the first device receiving such notification. - View Dependent Claims (3, 4)
-
-
5. A system, comprising:
-
a server; a plurality of wireless networks coupled to the server; and one or more mobile devices coupled to the wireless networks with intermittent access to the wireless networks, the plurality of wireless networks providing messaging between client and server applications over multiple intermittent connections. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification