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 for sequentially distributing an electronic message to a plurality of recipients in series, one after the other, the method comprising the steps of:
- generating a routing map, the routing map comprising a low-level description of a route of the electronic message and 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
referencing a plurality of executable scripts in the routing map and associating the plurality of executable scripts with the series of operations of the routing map, wherein the plurality of executable scripts are stored separately from the routing map and are called when a corresponding portion of the route of the electronic message is executed, each referenced executable script, when executed, performing 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.
-
Citations
38 Claims
-
1. In a messaging system, a method of defining a route for sequentially distributing an electronic message to a plurality of recipients in series, one after the other, the method comprising the steps of:
-
generating a routing map, the routing map comprising a low-level description of a route of the electronic message and 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 referencing a plurality of executable scripts in the routing map and associating the plurality of executable scripts with the series of operations of the routing map, wherein the plurality of executable scripts are stored separately from the routing map and are called when a corresponding portion of the route of the electronic message is executed, each referenced executable script, when executed, performing 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 for sequentially distributing an electronic message 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, the routing map comprising a low-level description of a route of the electronic message and 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; referencing the plurality of executable scripts in the routing map and associating the series of operations of the routing map with the plurality of executable scripts, wherein the plurality of executable scripts are stored separately from the routing map and are called when a corresponding portion of the route of the electronic message is executed by the plurality of executable scripts, a referenced executable script, when executed, performing 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 providing a low-level description of a route of the electronic message and defining a route over 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, the routing map further referencing a plurality of executable scripts and associating the plurality of scripts with steps in the route over which the electronic message is to be sequentially distributed, the plurality of executable scripts being stored separately from the routing map and being called when a corresponding portion of the route of the electronic message is executed; in response to a first event provided by the event service, executing a first executable script referenced by and associated with the routing map, the first executable script transmitting 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 executable script referenced by and associated with the routing map, the first executable script transmitting 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, obtaining a routing map, the routing map comprising a low-level description of a route of an electronic message 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, the routing map further including references to a plurality of executable scripts which are stored separately from the routing map and are called when a corresponding portion of the route of the electronic message is executed; at the server system, associating the routing map with an electronic message folder, wherein upon associating the routing map with the electronic message folder, the routing map is associated with each electronic document in the folder; and in response to the electronic message being placed in the electronic message folder, routing the electronic message along the route defined in the routing map, wherein the plurality of executable scripts referenced in the routing map sequentially transmit the electronic message to the recipients in series, one after the other in the designated order as defined by the route in the routing map. - View Dependent Claims (25, 26, 27)
-
-
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, a routing map for distributing the electronic message in series to a plurality of recipients, one after the other in the designated order, the routing map including a low-level description of a route an electronic message is to follow, the routing map further referencing and being associated with a plurality of executable scripts stored separately from the routing map, the plurality of executable scripts, when executed, causing a message to be transmitted and received as defined by the route in the routing map; 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, the electronic message being transmitted without also transmitting route information from the routing map 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, the electronic message being transmitted without also transmitting route information from the routing map 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 storage medium encoded with 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, the routing map comprising a low-level description of a route of the electronic message and 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; a plurality of executable scripts referenced in and associated with the routing map, and stored separately from the routing map, wherein an executable script, when called from a corresponding portion of the routing map and 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, 36, 37)
-
38. 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 scripts 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, the routing map comprising a low-level description of a route of the electronic message, and 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 a plurality of executable scripts referenced in the routing map and associated with operations of the series of operations, the plurality of executable scripts being stored separately from the routing map and called when a corresponding operation of the series of operations is executed; in response to a first event generated by the event service; transitioning the routing map to a first state; and executing a first executable script of the plurality of executable scripts in which a first operation of the series of operations is implemented, the first operation including at least sending the electronic message to a first recipient; and in response to a second event generated by the event service; transitioning the routing map to a second state; and executing a second executable script script in which a second operation of the series of operations is implemented, the second operation including at least sending the electronic message to a second recipient.
-
Specification