IP Library Granted Patent US 8,799,248
Granted Patent B2
US 8,799,248 · App. 13/451,551 · Granted Aug 5, 2014

Real-time transaction scheduling in a distributed database

Inventors: Brian J. Bulkowski (Menlo Park, CA); Venkatachary Srinivasan (Sunnyvale, CA)
G06F17/30575
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 8,799,248
App. No.
13/451,551
Granted
Aug 5, 2014
Kind
B2
Abstract

In one exemplary embodiment, a method of a distributed database system includes the step of receiving a database transaction with a node of the distributed database system. A priority of the database transaction is determined. A load of a transaction queue of the node is determined. The execution of a database transaction is delayed if the load of the transaction queue is greater than a first-water mark. The database transaction is delayed for a specified period. A portion of the database transaction is execution after the specified period. It is determined if the load of the queue is below a second-water mark after the specified period. A remaining portion of the database transaction can be processed if the load of the queue is below the second-water mark.

Claims (43)

1. A method in a distributed database system, the distributed database system comprising a processor, the method comprising:

receiving a database transaction with a node of the distributed database system;

determining a priority of the database transaction;

determining a load of a transaction queue of the node;

delaying execution of the database transaction if the load of the transaction queue is greater than a first-water mark, wherein the database transaction is delayed for a period;

executing a portion of the database transaction after the period of time; and

determining if the load of the queue is below a second-water mark after the period.

2. The method of claim 1 further comprising:

processing a remaining portion of the database transaction if the load of the queue is below the second-water mark.

3. The method of claim 1 further comprising:

delaying execution of the database transaction if the load of the transaction queue for the period if the load of the queue is above the second-water mark.

4. The method of claim 1 , wherein the distributed database system comprises a scalable NoSQL database.

5. The method of claim 4 , wherein the NoSQL database is implemented with a shared-nothing architecture.

6. The method of claim 1 , wherein the first-water mark comprises an upper-limit value.

7. The method of claim 6 , wherein the upper-limit value is determined according to a number of database transactions in the transaction queue.

8. The method of claim 7 , wherein the upper-limit value comprises a classification of each database transaction in the transaction queue.

9. The method of claim 8 , wherein the upper-limit value is dynamically adjusted according to the classification of each database transaction in the transaction queue.

10. The method of claim 9 , wherein the second-water mark comprises a low-water mark.

11. The method of claim 10 , wherein the lower-limit mark is dynamically adjusted according to the classification of each database transaction in the transaction queue.

12. A non-transitory computer readable storage medium containing program instructions for real-time transaction scheduling in a distributed database, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the steps of:

receiving a database transaction with a node of the distributed database system;

determining a priority of the database transaction;

determining a load of a transaction queue of the node;

delaying execution of the database transaction if the load of the transaction queue is greater than a first-water mark, wherein the database transaction is delayed for a period;

executing a portion of the database transaction after the period of time; and

determining if the load of the queue is below a second—water mark after the period.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the distributed database system comprises a scalable NoSQL database.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the NoSQL database is implemented with a shared-nothing architecture.

15. A distributed database system comprising:

a processor;

a distributed database comprising a cluster of server nodes;

a server node comprising a distribution layer that:

receives a database transaction,

determines a priority of the database transaction,

delays execution of the database transaction if the load of the transaction queue is greater than a first-water mark, wherein the database transaction is delayed for a period,

determines a load of a transaction queue of the node,

executes a portion of the database transaction after the period of time, and

determines if the load of the queue is below a second-water mark after the period.

16. The distributed database system of claim 15 , wherein the distributed database system comprises a scalable NoSQL, database.

17. The distributed database system of claim 16 , wherein the NoSQL database is implemented with a shared-nothing architecture.

18. The distributed database system of claim 15 , wherein the first-water mark comprises a high-water mark.

19. The distributed database system of claim 18 , wherein the high-water mark is determined according to a number of database transactions in the transaction queue.

20. The distributed database system of claim 19 , wherein the high-water mark s determined according to a classification of at least one database transaction in the transaction queue.

Assignments (4)
SECURITY INTEREST Recorded Sep 4, 2024
From: AEROSPIKE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS ADMINISTRATIVE AGENT
Reel/Frame 068479/0616 →
RELEASE OF SECURITY INTEREST Recorded Aug 27, 2024
From: ACQUIOM AGENCY SERVICES LLC
To: AEROSPIKE, INC.
Reel/Frame 068408/0094 →
SECURITY INTEREST Recorded Dec 29, 2021
From: AEROSPIKE, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 058502/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: BULKOWSKI, BRIAN J.; SRINIVASAN, VENKATACHARY
To: AEROSPIKE INC.
Reel/Frame 048883/0596 →
Continuity (2)
Provisional Application 61478940 · Apr 26, 2011
Related Publication 20120278293A1 · Nov 1, 2012