Detecting and managing flooding of multi-tenant message queues
First Claim
1. A computer-implemented method for managing message queues in a database system having a message queue system that includes queues shared by multiple message types and tenants, the method comprising:
- estimating an enqueue rate of new messages coming from a sender in the message queue system;
based on the estimated enqueue rate exceeding a predetermined enqueue rate threshold value—
identifying the sender as a flooder;
allocating a dedicated message queue to the flooder;
diverting the flooder'"'"'s message traffic to the dedicated message queue; and
responsive to the flooding condition subsiding, de-allocating the dedicated message queue and discontinue said diverting the flooder'"'"'s message traffic.
2 Assignments
0 Petitions
Accused Products
Abstract
A messaging system implements messaging among application servers and databases, utilizing other servers that implement messaging brokers. A large flood of incoming messages can bring down messaging brokers by overflowing the message queues, negatively impacting performance of the overall system. This disclosure in some embodiments detects and identifies “flooders” in a timely manner and isolates their message traffic to dedicated queues to avoid impacting other system users. Subsequently, a preferred system de-allocates the queues and returns the messaging system to normal operation when flooding conditions subside, and “sweeps” up any remaining orphan messages.
189 Citations
20 Claims
-
1. A computer-implemented method for managing message queues in a database system having a message queue system that includes queues shared by multiple message types and tenants, the method comprising:
-
estimating an enqueue rate of new messages coming from a sender in the message queue system; based on the estimated enqueue rate exceeding a predetermined enqueue rate threshold value— identifying the sender as a flooder; allocating a dedicated message queue to the flooder; diverting the flooder'"'"'s message traffic to the dedicated message queue; and responsive to the flooding condition subsiding, de-allocating the dedicated message queue and discontinue said diverting the flooder'"'"'s message traffic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a database; a plurality of application servers configured for communication with the database; a message framework interconnecting the database and the application servers; the message framework including a plurality of message brokers implemented on message queue (MQ) host servers, each MQ host server having access to a local message queue, and a flood detector component arranged to detect flooding on the message framework; wherein the flood detector is arranged to estimate an enqueue rate of new messages coming from a sender in the message queue system, and based on the estimated enqueue rate exceeding a predetermined enqueue rate threshold value, identify the sender as a flooder; and wherein the flood detector component is arranged to divert message traffic on the message framework from the identified flooder to a secondary message storage element in the database to relieve flooding on the message framework. - View Dependent Claims (12, 13, 14)
-
-
15. A computer program stored on a tangible medium for a database system for managing a message queue system to prevent message flooding from impacting system performance, the computer program comprising a set of instructions operable to:
-
detect a message flooding condition in the message queue system based on estimating an enqueue rate of messages; identify a source of the message flooding condition as a flooder; allocate a dedicated message queue to the flooder; divert the flooder'"'"'s message traffic to the dedicated message queue to avoid impacting other message traffic; and responsive to the flooding condition subsiding, de-allocate the dedicated message queue. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification