IP Library Granted Patent US 7,076,480
Granted Patent B2
US 7,076,480 · App. 10/186,442 · Granted Jul 11, 2006

Dynamic adjustment of commit frequency

Assignee: Softbase Systems, Inc.
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 7,076,480
App. No.
10/186,442
Granted
Jul 11, 2006
Kind
B2
Abstract

An interface between a relational database application program and a database management system that reduces application program execution time by reducing the number of commit operations performed by the commit facility of the database management system. Repeatedly, commit statements issued by the application program are suppressed until a time interval based on a time interval parameter has elapsed, and then the next commit statement issued by the application program is passed on to the database management system.

Claims (119)

1. In an interface between a relational database application program and a database management system, the interface selectively passing statements issued by the relational database application program on to the database management system, the relational database application program including commit statements, and the database management system including a commit facility to effect a commit operation to commit pending database changes and release locks, a method of reducing application program execution time by reducing the number of commit operations performed by the commit facility, said method comprising:

based on a frequency parameter, establishing a commit frequency divider value, herein referred to as a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility, as a minimum frequency; and

repeatedly, intercepting and suppressing commit statements issued by the relational database application program until either a time interval based on a time interval parameter has elapsed, or the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system has been issued by the relational database application program, whichever occurs first, and then correspondingly passing either the next commit statement issued by the relational database application program or that nth commit statement on to the database management system.

2. The method of claim 1 , wherein said step of passing on to the database management system the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system comprises:

initializing a counter;

employing the counter to count commit statements issued by the relational database application program;

passing on to the database management system the nth commit statement issued by the relational database application program; and

re-initializing the counter whenever a commit statement is passed on to the database management system.

3. In an interface between a relational database application program and a database management system, the interface selectively passing statements issued by the relational database application program on to the database management system, the relational database application program including commit statements, and the database management system including a commit facility to effect a commit operation to commit pending database changes and release locks, a method of reducing relational database application program execution time by reducing the number of commit operations performed by the commit facility, said method comprising repeatedly suppressing commit statements issued by the relational database application program until a time interval based on a time interval parameter has elapsed, and passing the next commit statement issued by the relational database application program on to the database management system, by:

based on the time interval parameter, determining a commit frequency divider value, herein referred to as a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility; and

passing on to the database management system every nth commit statement issued by the relational database application program.

4. The method of claim 3 , wherein said step of determining the commit frequency divider value n comprises iteratively refining an initial value of n during program execution until commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

5. The method of claim 3 , wherein said step of passing on to the database management system every nth commit statement issued by the relational database application program comprises:

initializing a counter;

employing the counter to count commit statements issued by the relational database application program;

suppressing commit statements issued by the relational database application program until n commit statements have been counted, and then passing on to the database management system the nth commit statement issued by the relational database application program; and

re-initializing the counter.

6. The method of claim 4 , which further comprises periodically refining the commit frequency divider value n during program execution so as to maintain a state in which commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

7. The method of claim 4 , wherein said step of iteratively refining an initial value of n during program execution comprises repeatedly:

determining the actual interval between successive commit statements passed on to the database management system, and comparing the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increasing the value of n, and, in the event the actual interval is longer than the desired interval, decreasing the value of n.

8. The method of claim 4 , wherein said step of passing on to the database management system every nth commit statement issued by the relational database application program comprises:

initializing a counter;

employing the counter to count commit statements issued by the relational database application program;

suppressing commit statements issued by the relational database application program until n commit statements have been counted, and then passing on to the database management system the nth commit statement issued by the relational database application program; and

re-initializing the counter.

9. The method of claim 6 , wherein said step of periodically refining the value of n during program execution comprises repeatedly:

determining the actual interval between successive commit statements passed on to the database management system, and comparing the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increasing the value of n, and, in the event the actual interval is longer than the desired interval, decreasing the value of n.

10. For an interface between a relational database application program and a database management system, the interface selectively passing statements issued by the relational database application program on to the database management system, the relational database application program including commit statements, and the database management system including a commit facility to effect a commit operation to commit pending database changes and release locks, a method comprising providing for:

based on a frequency parameter, establishing a commit frequency divider value, herein referred to as a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility, as a minimum frequency; and

repeatedly, intercepting and suppressing commit statements issued by the relational database application program until either a time interval based on a time interval parameter has elapsed, or the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system has been issued by the relational database application program, whichever occurs first, and then correspondingly passing either the next commit statement issued by the relational database application program or that nth commit statement on to the database management system.

11. The method of claim 10 , wherein passing on to the database management system the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system comprises providing for:

initializing a counter;

employing the counter to count commit statements issued by the relational database application program;

passing on to the database management system the nth commit statement issued by the relational database application program; and

re-initializing the counter whenever a commit statement is passed on to the database management system.

12. For an interface between a relational database application program and a database management system, the interface selectively passing statements issued by the relational database application program on to the database management system, the relational database application program including commit statements, and the database management system including a commit facility to effect a commit operation to commit pending database changes and release locks, a method comprising providing for repeatedly suppressing commit statements issued by the relational database application program until a time interval based on a time interval parameter has elapsed by:

based on the time interval parameter, determining a commit frequency divider value, herein referred to as a the variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility; and

passing on to the database management system every nth commit statement issued by the relational database application program.

13. The method of claim 12 , wherein determining the commit frequency divider value n comprises providing for iteratively refining an initial value of n during program execution until commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

14. The method of claim 12 , wherein passing on to the database management system every nth commit statement issued by the relational database application program comprises:

providing for initializing a counter;

providing for employing the counter to count commit statements issued by the relational database application program;

providing for suppressing commit statements issued by the relational database application program until n commit statements have been counted, and then passing on to the database management system the nth commit statement issued by the relational database application program; and

providing for re-initializing the counter.

15. The method of claim 13 , which further comprises providing for periodically refining the commit frequency divider value n during program execution so as to maintain a state in which commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

16. The method of claim 13 , wherein providing for iteratively refining an initial value of n during program execution comprises providing for repeatedly:

determining the actual interval between successive commit statements passed on to the database management system, and comparing the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increasing the value of n, and, in the event the actual interval is longer than the desired interval, decreasing the value of n.

17. The method of claim 13 , wherein passing on to the database management system every nth commit statement issued by the relational database application program comprises:

providing for initializing a counter;

providing for employing the counter to count commit statements issued by the relational database application program;

providing for suppressing commit statements issued by the application program until n commit statements have been counted, and then passing on to the database management system the nth commit statement issued by the relational database application program; and

re-initializing the counter.

18. The method of claim 15 , wherein providing for periodically refining the value of n during program execution comprises providing for repeatedly:

determining the actual interval between successive commit statements passed on to the database management system, and comparing the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increasing the value of n, and, in the event the actual interval is longer than the desired interval, decreasing the value of n.

19. A computer system for interfacing between a relational database application program that includes commit statements and a database management system that includes a commit facility to effect a commit operation to commit pending database changes and release locks, said computer system comprising

memory for storing program instructions and data; and

a selection component that

based on a frequency parameter, establishes a commit frequency divider value, herein referred to as a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility, as a minimum frequency; and

repeatedly, intercepts and suppresses commit statements issued by the relational database application program either a time interval based on a time interval parameter has elapsed, or the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system has been issued by the relational database application program, whichever occurs first, and then correspondingly passing either the next commit statement issued by the relational database application program or that nth commit statement on to the database management system.

20. The computer system of claim 19 , wherein said selection component:

initializes a counter

employs the counter to count commit statements issued by the relational database application program;

suppresses commit statements issued by the relational database application program until n commit statements have been counted, and then passes on to the database management system the nth commit statement issued by the relational database application program; and

re-initializes the counter whenever a commit statement is passed on to the database management system.

21. A computer system for interfacing between a relational database application program that includes commit statements and a database management system that includes a commit facility to effect a commit operation to commit pending database changes and release locks, said computer system comprising memory for storing program instructions and data, and a selection component that suppresses commit statements issued by the relational database application program until a time interval based on a time interval parameter has elapsed, and passes the next commit statement issued by the relational database application program on to the database management system, wherein

said selection component includes a divisor-determining component that determines, based on a time interval parameter, a commit frequency divider value, herein referred to as a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility; and wherein

said selection component passes on to the database management system every nth commit statement issued by the relational database application program.

22. The computer system of claim 21 , wherein said divisor-determining component iteratively refines an initial value of n during program execution until commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

23. The computer system of claim 22 , wherein said divisor-determining component periodically refines the commit frequency divider value n during program execution so as to maintain a state in which commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

24. The computer system of claim 22 , wherein said divisor-determining component repeatedly:

determines the actual interval between successive commit statements passed on to the database management system, and compares the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increases the value of n, and, in the event the actual interval is longer than the desired interval, decreases the value of n.

25. The computer system of claim 22 , wherein said selection component:

initializes a counter

employs the counter to count commit statements issued by the relational database application program;

suppresses commit statements issued by the relational database application program until n commit statements have been counted, and then passes on to the database management system the nth commit statement issued by the relational database application program; and

re-initializes the counter.

26. The computer system of claim 22 , wherein said selection component:

initializes a counter

employs the counter to count commit statements issued by the relational database application program;

suppresses commit statements issued by the relational database application program until n commit statements have been counted, and then passes on to the database management system the nth commit statement issued by the relational database application program; and

re-initializes the counter.

27. The computer system of claim 23 , wherein said divisor-determining component repeatedly:

determines the actual interval between successive commit statements passed on to the database management system, and compares the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increases the value of n, and, in the event the actual interval is longer than the desired interval, decreases the value of n.

28. An article of manufacture comprising a computer usable medium having computer readable program code means embodied thereon for providing an interface between a relational database application program that includes commit statements and a database management system that includes a commit facility to effect a commit operation to commit pending database changes and release locks, wherein said computer readable program code means in said article of manufacture:

causes to be established, based on a frequency parameter, a commit frequency divider value, herein referred to as a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility, as a minimum frequency; and

repeatedly, causes commit statements issued by the relational database application program to be suppressed and then causes either the next commit statement issued by the relational database application program after a the time interval based on a time interval parameter has elapsed, or the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system, whichever occurs first, to be passed on to the database management system.

29. The article of manufacture of claim 28 , wherein said computer readable program code means that causes the nth commit statement issued by the relational database application program since the last commit statement was passed on to the database management system to be passed on to the database management system:

causes a counter to be initialized;

causes the counter to be employed to count commit statements issued by the relational database application program;

causes commit statements issued by the relational database application program to be suppressed until n commit statements have been counted, and then causes the nth commit statement issued by the relational database application program passing on to the database management system; and

then causes the counter to be-initialized.

30. An article of manufacture comprising

a computer usable medium having computer readable program code means embodied thereon for providing an interface between a relational database application program that includes commit statements and a database management system that includes a commit facility to effect a commit operation to commit pending database changes and release locks, said computer readable program code means in said article of manufacture comprising means for repeatedly causing commit statements issued by the relational database application program to be suppressed until a time interval based on a time interval parameter has elapsed, and causing the next commit statement issued by the relational database application program to be passed on to the database management system by:

causing to be determined, based on the time interval parameter, a commit frequency divider value, herein referred to as the a variable n, by which the frequency at which commit statements are issued during program execution is divided to determine a reduced frequency at which commit operations are actually performed by the commit facility; and

causing every nth commit statement issued by the relational database application program to be passed on to the database management system.

31. The article of manufacture of claim 30 , wherein said computer readable program code means causes the commit frequency divider value n to be determined by causing an initial value of n to be iteratively refined during program execution until commit statements are passed on to the database management system at actual intervals approximating a desired interval specified by the time interval parameter.

32. The article of manufacture of claim 30 , wherein said computer readable program code means causes every nth commit statement issued by the relational database application program to be passed on to the database management system by:

causing a counter to be initialized;

causing the counter to be employed to count commit statements issued by the relational database application program;

causing commit statements issued by the relational database application program to be suppressed until n commit statements have been counted, and then causes the nth commit statement issued by the relational database application program to be passed on to the database management system; and

then causing the counter to be re-initialized.

33. The article of manufacture of claim 31 , wherein said computer readable program code means causes the commit frequency divider value n to be determined by causing the value of n periodically to be iteratively refined during program execution so as to maintain a state in which commit statements are passed on to the database management system at actual intervals, approximating a desired interval specified by the time interval parameter.

34. The article of manufacture of claim 31 , wherein said computer readable program code means causes an initial value of n to be iteratively refined during program execution by repeatedly:

determining the actual interval between successive commit statements passed on to the database management system, and comparing the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increasing the value of n, and, in the event the actual interval is longer than the desired interval, decreasing the value of n.

35. The article of manufacture of claim 31 , wherein said computer readable program code means causes every nth commit statement issued by the relational database application program to be passed on to the database management system by:

causing a counter to be initialized;

causing the counter to be employed to count commit statements issued by the relational database application program;

causing commit statements issued by the relational database application program to be suppressed until n commit statements have been counted, and then causing the nth commit statement issued by the relational database application program to be passed on to the database management system; and

then causing the counter to be re-initialized.

36. The article of manufacture of claim 33 , wherein said computer readable program code means causes the value of n to be iteratively refined during program execution by repeatedly:

determining the actual interval between successive commit statements passed on to the database management system, and comparing the actual interval to the desired interval; and

in the event the actual interval is shorter than the desired interval, increasing the value of n, and, in the event the actual interval is longer than the desired interval, decreasing the value of n.

Assignments (19)
SECURITY AGREEMENT Recorded Jun 21, 2021
From: FRESCHE SOLUTIONS INC.
To: NATIONAL BANK OF CANADA
Reel/Frame 056636/0531 →
RELEASE OF SECURITY INTEREST Recorded Dec 14, 2020
From: NATIONAL BANK OF CANADA
To: FRESCHE SOLUTIONS INC.; FRESCHE SOLUTIONS USA CORPORATION; QUADRANT, LLC; CANDESCENT SOFTBASE LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC
Reel/Frame 054640/0033 →
TERMINATION OF SECURITY INTEREST IN PATENTS Recorded Mar 28, 2018
From: BANK OF MONTREAL; BANK OF MONTREAL D/B/A BMO CAPITAL PARTNERS
To: FRESCHE SOLUTIONS INC.; CANDESCENT SOFTBASE, LLC; QUADRANT, LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC; LOOKSOFTWARE, LLC
Reel/Frame 045758/0262 →
TERMINATION OF SECURITY INTEREST IN PATENTS Recorded Mar 28, 2018
From: EAST WEST BANK
To: CANDESCENT SOFTBASE, LLC
Reel/Frame 045758/0282 →
TERMINATION OF SECURITY INTEREST IN PATENTS Recorded Mar 28, 2018
From: INVESTISSEMENT QUEBEC
To: FRESCHE SOLUTIONS INC.; CANDESCENT SOFTBASE, LLC; QUADRANT, LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC; LOOKSOFTWARE, LLC
Reel/Frame 045759/0986 →
SECURITY INTEREST Recorded Dec 28, 2017
From: FRESCHE SOLUTIONS INC.; FRESCHE SOLUTIONS USA CORPORATION; QUADRANT, LLC; CANDESCENT SOFTBASE LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC
To: NATIONAL BANK OF CANADA
Reel/Frame 044500/0649 →
SECURITY INTEREST Recorded Oct 27, 2016
From: FRESCHE SOLUTIONS INC.
To: BANK OF MONTREAL - D/B/A BMO CAPITAL PARTNERS
Reel/Frame 040148/0393 →
SECURITY INTEREST Recorded Oct 27, 2016
From: FRESCHE SOLUTIONS INC.
To: INVESTISSEMENT QUEBEC
Reel/Frame 040147/0191 →
SECURITY INTEREST Recorded Oct 27, 2016
From: FRESCHE SOLUTIONS INC.
To: BANK OF MONTREAL
Reel/Frame 040147/0262 →
SECURITY INTEREST Recorded Oct 27, 2016
From: FRESCHE SOLUTIONS INC.
To: INVESTISSEMENT QUEBEC
Reel/Frame 040147/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: FRESCHE SOLUTIONS USA CORPORATION
To: FRESCHE SOLUTIONS INC.
Reel/Frame 039934/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: CANDESCENT SOFTBASE LLC
To: FRESCHE SOLUTIONS USA CORPORATION
Reel/Frame 039895/0155 →
SECURITY INTEREST Recorded Jun 6, 2016
From: QUADRANT, LLC; CANDESCENT SOFTBASE LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC; LOOKSOFTWARE, LLC
To: BANK OF MONTREAL - D/B/A BMO CAPITAL PARTNERS
Reel/Frame 038811/0546 →
SECURITY INTEREST Recorded Jun 6, 2016
From: QUADRANT, LLC; CANDESCENT SOFTBASE LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC; LOOKSOFTWARE, LLC
To: INVESTISSEMENT QUEBEC
Reel/Frame 038811/0677 →
SECURITY INTEREST Recorded Jun 6, 2016
From: QUADRANT, LLC; CANDESCENT SOFTBASE LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC; LOOKSOFTWARE, LLC
To: BANK OF MONTREAL
Reel/Frame 038811/0357 →
SECURITY INTEREST Recorded Jun 6, 2016
From: QUADRANT, LLC; CANDESCENT SOFTBASE LLC; QUADRANT SOFTWARE, LLC; BCD SOFTWARE, LLC; ESDI HOLDINGS, LLC; LOOKSOFTWARE, LLC
To: INVESTISSEMENT QUEBEC
Reel/Frame 038811/0444 →
SECURITY AGREEMENT Recorded Feb 4, 2014
From: CANDESCENT SOFTBASE, LLC
To: EAST WEST BANK
Reel/Frame 032161/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2011
From: SOFTBASE SYSTEMS, INC.
To: CANDESCENT SOFTBASE LLC
Reel/Frame 027041/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2002
From: SCARDO, WILLIAM E.; BLAIR, GARY L.
To: SOFTBASE SYSTEMS, INC.
Reel/Frame 013069/0305 →
Continuity (1)
Related Publication 20040002975A1 · Jan 1, 2004