IP Library › Granted Patent US 10,983,836
Granted Patent B2
US 10,983,836 · App. 16/102,621 · Granted Apr 20, 2021

Transaction optimization during periods of peak activity

Inventors: Lokesh M. Gupta (Tucson, AZ); Matthew G. Borlick (Tucson, AZ); John C. Elliott (Tucson, AZ)
Assignee: International Business Machines Corporation
G06F9/5077G06F9/4887G06F9/505
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,983,836
App. No.
16/102,621
Granted
Apr 20, 2021
Kind
B2
Abstract

A method includes establishing, for a transaction processing system, a maximum number of transactions that the transaction processing system can optimally handle at a time, as well as an optimal transaction rate. The method monitors a current number of transactions being processed by the transaction processing system. Incoming transactions that would cause the current number to exceed the maximum number are received into a queue, and transactions are released from the queue in accordance with the optimal transaction rate. The method further monitors a number of transactions waiting in the queue. When the number reaches an upper threshold, the method declines to admit additional transactions into the queue. When the number reaches a lower threshold, the method begins to admit additional transactions into the queue. A corresponding system and computer program product are also disclosed.

Claims (43)

1. A method to prevent overloading of a transaction processing system, the method comprising:

establishing, for a transaction processing system, a maximum number of transactions that the transaction processing system can optimally handle at a time, as well as an optimal transaction rate;

monitoring a current number of transactions being processed by the transaction processing system;

when the current number exceeds the maximum number, diverting incoming transactions into a queue;

releasing transactions from the queue to the transaction processing system in accordance with the optimal transaction rate;

monitoring a number of transactions waiting in the queue;

establishing an upper threshold by multiplying the optimal transaction rate by a timeout value associated with the transactions;

when the number reaches the upper threshold, declining to admit additional transactions into the queue; and

when the number reaches a lower threshold, admitting additional transactions into the queue.

2. The method of claim 1 , wherein declining to admit additional transactions into the queue further comprises returning the additional transactions for retry at a later time.

3. The method of claim 1 , wherein the queue resides outside of the transaction processing system.

4. The method of claim 1 , wherein the lower threshold is set by subtracting a constant from the upper threshold.

5. The method of claim 1 , wherein releasing transactions from the queue to the transaction processing system comprises releasing x transactions from the queue when x transactions are completed by the transaction processing system.

6. The method of claim 1 , further comprising determining at least one of the maximum number and the optimal transaction rate by running tests on the transaction processing system.

7. A computer program product to prevent overloading of a transaction processing system, the computer program product comprising a computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code configured to perform the following when executed by at least one processor:

establish, for a transaction processing system, a maximum number of transactions that the transaction processing system can optimally handle at a time, as well as an optimal transaction rate;

monitor a current number of transactions being processed by the transaction processing system;

when the current number exceeds the maximum number, divert incoming transactions into a queue;

release transactions from the queue to the transaction processing system in accordance with the optimal transaction rate;

monitor a number of transactions waiting in the queue;

establish an upper threshold by multiplying the optimal transaction rate by a timeout value associated with the transactions;

when the number reaches the upper threshold, decline to admit additional transactions into the queue; and

when the number reaches a lower threshold, admit additional transactions into the queue.

8. The computer program product of claim 7 , wherein declining to admit additional transactions into the queue further comprises returning the additional transactions for retry at a later time.

9. The computer program product of claim 7 , wherein the queue resides outside of the transaction processing system.

10. The computer program product of claim 7 , wherein the lower threshold is set by subtracting a constant from the upper threshold.

11. The computer program product of claim 7 , wherein releasing transactions from the queue to the transaction processing system comprises releasing x transactions from the queue when x transactions are completed by the transaction processing system.

12. The computer program product of claim 7 , wherein the computer-usable program code is further configured to determine at least one of the maximum number and the optimal transaction rate by running tests on the transaction processing system.

13. A system to prevent overloading of a transaction processing system, the system comprising:

at least one processor; and

at least one memory device operably coupled to the at least one processor and storing instructions for execution on the at least one processor, the instructions causing the at least one processor to:

establish, for a transaction processing system, a maximum number of transactions that the transaction processing system can optimally handle at a time, as well as an optimal transaction rate;

monitor a current number of transactions being processed by the transaction processing system;

when the current number exceeds the maximum number, divert incoming transactions into a queue;

release transactions from the queue to the transaction processing system in accordance with the optimal transaction rate;

monitor a number of transactions waiting in the queue;

establish an upper threshold by multiplying the optimal transaction rate by a timeout value associated with the transactions;

when the number reaches the upper threshold, decline to admit additional transactions into the queue; and

when the number reaches a lower threshold, admit additional transactions into the queue.

14. The system of claim 13 , wherein declining to admit additional transactions into the queue further comprises returning the additional transactions for retry at a later time.

15. The system of claim 13 , wherein the queue resides outside of the transaction processing system.

16. The system of claim 13 , wherein the lower threshold is set by subtracting a constant from the upper threshold.

17. The system of claim 13 , wherein releasing transactions from the queue to the transaction processing system comprises releasing x transactions from the queue when x transactions are completed by the transaction processing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2018
From: GUPTA, LOKESH M.; BORLICK, MATTHEW G.; ELLIOTT, JOHN C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046632/0492 →
Continuity (1)
Related Publication 20200051045A1 · Feb 13, 2020