Routing of electronic messages using a routing map and a stateful script engine
First Claim
1. In a messaging system, a method of defining a route whereby an electronic message is to be sequentially distributed to a plurality of recipients in series, one after the other, the method comprising the steps of:
- generating a routing map defining a series of operations that, when executed, result in the electronic message being sequentially distributed to the plurality of recipients in a series specified by the routing map, one after the other in a designated order; and
associating the routing map with an executable script, wherein the executable script, when executed, performs one or more of the series of operations defined by the routing map.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention enables an electronic message to be distributed sequentially to selected recipients. The electronic message is associated with a routing map, which defines the route of the electronic message. The routing map includes a list of operations, at least some of which are implemented in script. A routing engine controls the current state and the state transition of the routing map while predefined routing objects assist in the manipulation and processing of the routing map. Routing maps are associated with folders and any electronic message dropped in the folder is associated with the routing map. The operations of the routing map are executed in a stateful manner in response to events occurring in the messaging system until the electronic message has been sequentially distributed to the intended recipients.
47 Citations
40 Claims
-
1. In a messaging system, a method of defining a route whereby an electronic message is to be sequentially distributed to a plurality of recipients in series, one after the other, the method comprising the steps of:
-
generating a routing map defining a series of operations that, when executed, result in the electronic message being sequentially distributed to the plurality of recipients in a series specified by the routing map, one after the other in a designated order; and
associating the routing map with an executable script, wherein the executable script, when executed, performs one or more of the series of operations defined by the routing map. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In a messaging system including a server system and a plurality of client systems, wherein the server system has an event service providing events in response to activity of the messaging system, a method of defining a route whereby an electronic message is to be sequentially distributed to a plurality of recipients in series, one after the other, the method comprising the steps of:
-
selecting a sequence of recipients who are to receive the electronic message in series, one after the other in a designated order;
generating a routing map defining a series of operations that, when executed, result in the electronic message being sequentially distributed to the recipients in series, one after the other in the designated order;
associating the routing map with an executable script, wherein the executable script, when executed, performs a first operation of the series of operations defined by the routing map; and
associating the routing map with a routing engine, wherein the routing engine is capable of performing a second operation of the series of operations defined by the routing map. - View Dependent Claims (18, 19)
-
-
20. In a server included in a messaging system, wherein the messaging system further includes a plurality of clients and wherein the server has an event service providing events in response to activity of the messaging system, a method for sequentially distributing an electronic message to two or more recipients in series, one after the other, the method comprising the steps of:
-
associating the electronic message with a routing map defining routing logic by which the electronic message is to be sequentially distributed to the two or more recipients in series, one after the other in a designated order;
in response to a first event provided by the event service, executing a first script associated with the routing map, so as to transmit the electronic message to a first recipient of the two or more recipients; and
in response to a second event provided by the event service, executing a second script associated with the routing map, so as to transmit the electronic message to a second recipient of the two or more recipients. - View Dependent Claims (21, 22, 23)
-
-
24. In a messaging system including a server system, a method for sequentially distributing an electronic message to a plurality of recipients in series, one after the other in a designated order, comprising the steps of:
-
at the server system, associating routing logic with an electronic message folder, wherein the routing logic defines a designated order by which the electronic message can be sequentially distributed to the recipients in series, one after the other in the designated order; and
in response to the electronic message being placed in the electronic message folder, executing the routing logic, wherein the routing logic sequentially transmits the electronic message to the recipients in series, one after the other in the designated order. - View Dependent Claims (25, 26, 27, 36)
-
-
28. In a messaging system including a server system and two or more clients connected to the server system, a method for sequentially distributing an electronic message to the two or more clients in series, one after the other in a designated order, comprising the steps of:
-
storing, at the server system, routing logic for distributing the electronic message in series, one after the other in the designated order; and
distributing the electronic message to the two or more recipients according to the routing logic using a hub and spoke model, wherein the server system represents the hub and communication links between the server system and the two or more clients represent spokes, the step of distributing the electronic message comprising the steps of;
transmitting the electronic message from the server system to a first client of the two or more clients without the routing logic being sent to the first client;
receiving at the server system a response from the first client to the electronic message; and
after receiving the response from the first client, transmitting the electronic message from the server system to a second client of the two or more clients without the routing logic being sent to the second client. - View Dependent Claims (29, 30, 31)
-
-
32. In a messaging system including a server system, a computer program product for implementing a method for defining a route for sequentially distributing an electronic message to two or more recipients in series, one after the other in a designated order, the computer program product comprising:
a computer-readable medium carrying computer-executable instructions for implementing the method wherein the computer-executable instructions comprise;
program code means for selecting a sequence of two or more recipients who are to receive the electronic message in series, one after the other in the designated order;
a routing map defining a series of operations that, when executed, result in the electronic message being sequentially distributed to the two or more recipients in series, one after the other in the designated order;
an executable script associated with the routing map, wherein the executable script, when executed, performs a first operation of the series of operations; and
a routing engine that is capable of performing a second operation of the series of operations. - View Dependent Claims (33, 34, 35, 37)
-
38. In a server system included in a messaging system, wherein the messaging system further includes a plurality of client systems and wherein the server system has an event service generating events in response to activity of the messaging system, a computer readable medium having computer-executable components comprising:
-
a plurality of electronic messaging folders, wherein each electronic messaging folder contains a routing map, the routing map having routing logic defining a route by which an electronic message can be sequentially distributed to two or more recipients in series, one after the other in a designated order;
an executable script stored on the server system, wherein the executable script is associated with the routing map and stored separately from the routing map; and
a routing engine configured on a per folder basis, the routing engine being capable of controlling the execution of the routing logic of each routing map in each folder in response to events generated by the event service, whereby the routing logic, when executed, sequentially distributes the electronic message to the two or more recipients in series, one after the other in the designated order. - View Dependent Claims (39)
-
-
40. In a server system included in a messaging system, wherein the messaging system has an event service generating events in response to activity of the messaging system, a method for executing script in a stateful manner to accomplish sequential distribution of an electronic message to a plurality of recipients, one after the other in a designated order, comprising the steps of:
-
storing a routing map at the server system, wherein the routing map defines a series of operations that, when executed, result in the electronic message being sequentially distributed to the plurality of recipients in series, one after the other in the designated order, each operation being representative of a state and at least some of the operations being implemented in script;
in response to a first event generated by the event service;
transitioning the routing map to a first state; and
executing a first script in which a first operation of the series of operations is implemented; and
in response to a second event generated by the event service;
transitioning the routing map to a second state; and
executing a second script in which a second operation of the series of operations is implemented.
-
Specification