System and method for dynamic throttling during bulk message delivery
First Claim
1. A server-based method for dynamic message throttling, the server-based method comprising:
- identifying, using a processor in communication with a memory, a message pool to be processed, the message pool comprising a plurality of messages stored in the memory;
partitioning the message pool into a plurality of subdivisions; and
performing a plurality of processing steps while a delivery window is open, including at least;
(a) opening a first subdivision for processing, yielding an open subdivision,(b) selecting a message from the open subdivision, yielding a selected message,(c) performing one or more processing steps on the selected message,(d) dispatching through a gateway aspects of the selected message for subsequent delivery to a message recipient, and(e) pausing zero or more units of time,wherein the steps of (b) selecting a message from the open subdivision and (c) performing one or more processing steps on the selected message are based on whether a predetermined number of messages from the open subdivision have been sent, and when the predetermined number of messages from the open subdivision have been sent, opening a second subdivision and performing steps (b)-(d) on messages in the second subdivision.
1 Assignment
0 Petitions
Accused Products
Abstract
An flexible, extensible, and dynamically configurable intelligent throttling capability that among other things can support the bulk processing of a wide range of information (including inter alia Short Message Service, Multimedia Message Service, IP Multimedia Subsystem, etc. messages; E-Mail messages; Instant Messaging communications; Session Initiation Protocol-addressed artifacts; signaling, command-and-control, application, etc. data; etc.) that may result following for example service interruptions, system outages, bursts of traffic (for example in response to a tele-voting initiative, from a mass broadcast of alert or information messages in response to a news item or an emergency situation, etc.), equipment failures, etc.
5 Citations
12 Claims
-
1. A server-based method for dynamic message throttling, the server-based method comprising:
-
identifying, using a processor in communication with a memory, a message pool to be processed, the message pool comprising a plurality of messages stored in the memory; partitioning the message pool into a plurality of subdivisions; and performing a plurality of processing steps while a delivery window is open, including at least; (a) opening a first subdivision for processing, yielding an open subdivision, (b) selecting a message from the open subdivision, yielding a selected message, (c) performing one or more processing steps on the selected message, (d) dispatching through a gateway aspects of the selected message for subsequent delivery to a message recipient, and (e) pausing zero or more units of time, wherein the steps of (b) selecting a message from the open subdivision and (c) performing one or more processing steps on the selected message are based on whether a predetermined number of messages from the open subdivision have been sent, and when the predetermined number of messages from the open subdivision have been sent, opening a second subdivision and performing steps (b)-(d) on messages in the second subdivision. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processor-based system on a server configured for dynamic message throttling, the processor-based system comprising:
-
a memory; a processor communicatively coupled to the memory; workflow modules, in the form of computer control logic stored in the memory, configured to perform, in combination with the processor communicatively coupled to the memory, a plurality of processing steps including at least; (a) identifying a message pool to be processed, the message pool comprising a plurality of messages, (b) partitioning the message pool into a plurality of subdivisions, and (c) performing one or more processing steps while a delivery window is open, including at least; (i) opening a first subdivision for processing, yielding an open subdivision, (ii) selecting a message from the open subdivision, yielding a selected message, (iii) performing a plurality of processing steps on the selected message, and (iv) pausing zero or more units of time; wherein the steps of (ii) selecting a message from the open subdivision and (iii) performing a plurality of processing steps on the selected message are based on whether a predetermined number of messages from the open subdivision have been sent, and when the predetermined number of messages from the open subdivision have been sent, opening a second subdivision and performing steps (ii)-(iii) on messages in the second subdivision; an interface configured to dispatch aspects of the selected message for subsequent delivery to a message recipient; a repository configured to preserve aspects of the results of the plurality of processing steps; and an administrator. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification