Techniques for transmitting messages subject to multiple rate limits
AssigneeIterable, Inc.
InventorGregory M. Methvin
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for transmitting electronic messages subject to multiple rate limits. In some embodiments, a send-side rate limiter employs a sliding log or other rate limiting technique to determine whether requests to transmit messages comply with rate limits associated with those messages. When the transmission of a message does not comply with associated rate limits, a negative acknowledgment message is sent to a queuing system, causing the message to be reinserted into a queue for later transmission. In addition, delivery rate limits are established for each queue in the queuing system to throttle the delivery of messages to a send service that makes requests to transmit messages to the send-side rate limiter.
Claims20
A computer-implemented method for transmitting messages, the method comprising:
- storing a first plurality of messages in a queue;
- retrieving, based on a first rate limit associated with the queue, one or more messages included in the first plurality of messages from the queue;
- for each message included in the one or more messages:
- matching a first plurality of attributes associated with the message to a first plurality of rate limits;
- and
- transmitting the message based on the first plurality of rate limits.
One or more non-transitory computer-readable storage media including instructions that, when executed by at least one processor, cause the at least one processor to perform steps for transmitting messages, the steps comprising:
- storing a plurality of messages in a queue;
- retrieving, based on a first rate limit associated with the queue, one or more messages included in the plurality of messages from the queue;
- for each message included in the one or more messages:
- matching a first plurality of attributes associated with the message to a first plurality of rate limits;
- and
- transmitting the message based on the first plurality of rate limits.
A system, comprising:
- one or more memories storing instructions;
- and
- one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to:
- store a plurality of messages in a queue,
- retrieve, based on a first rate limit associated with the queue, one or more messages included in the plurality of messages from the queue,
- for each message included in the one or more messages:
- match a first plurality of attributes associated with the message to a first plurality of rate limits;
- and
- transmit the message based on the first plurality of rate limits.
Dependencies are inferred from the claim text.