# US 8,751,593 B2 · System and method for dynamic throttling during bulk message delivery

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,593 B2
- Document ID: US8751593B2
- Status: Granted
- Kind: B2
- Application number: 13/432,269
- Filed: 2012-03-28
- Published: 2012-10-04
- Granted: 2014-06-10
- Earliest claimed: 2011-03-30
- Assignees: Sybase 365, Inc.
- Applicants: Tan Chuan Chuan; Clarence Ng Ching Wah
- Inventors: Tan Chuan Chuan; Clarence Ng Ching Wah
- Web page: https://patentgrep.com/patent/US8751593B2

## CPC

- H04L 65/1016: IP multimedia subsystem [IMS]
- H04L 51/58: Message adaptation for wireless communication
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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.

## Claims

### 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.

### Claim 2 (depends on 1)

The server-based method of claim 1 wherein the message is one of (a) a Short Message Service message, (b) a Multimedia Message Service message, (c) an Internet Protocol Multimedia Subsystem message, or (d) an Unstructured Supplementary Service Data-based message.

### Claim 3 (depends on 1)

The server-based method of claim 1 wherein the partitioning step employs one of (a) a uniform means, (b) a random means, or (c) an algorithmic means.

### Claim 4 (depends on 1)

The server-based method of claim 1 wherein the delivery window is open based on one or more of (a) a day of week, (b) a time of day, and (c) one or more quiet periods.

### Claim 5 (depends on 1)

The server-based method of claim 1 wherein the unit of time is seconds.

### Claim 6 (depends on 1)

The server-based method of claim 1 wherein the gateway employs one or both of (a) an Internet Protocol-based communication protocol or (b) Signaling System 7.

### Claim 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.

### Claim 8 (depends on 7)

The processor-based system of claim 7 wherein the message is one of (a) a Short Message Service message, (b) a Multimedia Message Service message, (c) an Internet Protocol Multimedia Subsystem message, or (d) an Unstructured Supplementary Service Data-based message.

### Claim 9 (depends on 7)

The processor-based system of claim 7 wherein the partitioning step employs one of (a) a uniform means, (b) a random means, or (c) an algorithmic means.

### Claim 10 (depends on 7)

The processor-based system of claim 7 wherein the delivery window is open based on one or more of (a) a day of week, (b) a time of day, and (c) one or more quiet periods.

### Claim 11 (depends on 7)

The processor-based system of claim 7 wherein the unit of time is seconds.

### Claim 12 (depends on 7)

The processor-based system of claim 7 wherein the interface employs one or both of (a) an Internet Protocol-based communication protocol or (b) Signaling System 7.
