IP Library Granted Patent US 9,069,613
Granted Patent B2
US 9,069,613 · App. 12/242,707 · Granted Jun 30, 2015

Processing batch database workload while avoiding overload

Inventors: Abhay Mehta (Austin, TX); Chetan K. Gupta (Austin, TX); Umeshwar Dayal (Palo Alto, CA)
Assignee: Hewlett-Packard Development Company, L.P.
G06F9/5011G06F9/4881G06F2209/5021
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 9,069,613
App. No.
12/242,707
Granted
Jun 30, 2015
Kind
B2
Abstract

Processing batch database workload while avoiding overload. A method for efficiently processing a database workload in a computer system comprises receiving the workload, which comprises a batch of queries directed toward the database. Each query within the batch of queries is assigned a priority. Resources of the computer system are assigned in accordance with the priority. The batch of queries is executed in unison within the computer system in accordance with the priority of each query thereby resolving a conflict within the batch of queries for the resources of the computer system, hence efficiently processing the database workload and avoiding overload of the computer system.

Claims (40)

1. A method for efficiently processing a database warehouse workload in a computer system, said method comprising:

receiving said workload, which comprises a batch of queries directed toward said database warehouse;

assigning a priority to each query within said batch of queries, wherein said priority is unique within said batch of queries such that no two queries are assigned a same priority, whereby resources of said computer system are assigned in accordance with said priority;

executing said batch of queries in unison within said computer system, using preemptive priority scheduling such that higher priority queries of the batch receive more computing resources for execution thereof than lower priority queries of the batch, in accordance with said priority of said each query, thereby resolving a conflict within said batch of queries for said resources of said computer system, hence efficiently processing said database workload and avoiding overload of said computer system;

upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, reassigning the priority of the first query to the second query to heighten the priority of the second query, such that the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query.

2. The method of claim 1 wherein said assigning a priority to each query within said batch of queries comprises:

assigning one said priority to at least one said query, wherein said priority is unique within said batch of queries.

3. The method of claim 2 wherein said assigning a priority to each query within said batch of queries comprises:

reassigning one said priority to at least one new query, after said query originally assigned said priority has been completed.

4. The method of claim 1 wherein said method further comprises:

coupling with a feed forward method for defining a multi programming level for processing said batch of queries.

5. The method of claim 1 wherein said executing said batch of queries in unison using preemptive priority further comprises:

scheduling said batch of queries using an operating system comprised within said computer system.

6. A computer-readable memory containing executable instructions wherein said instructions when executed effect a method for efficiently processing a database workload in a computer system, said method comprising:

receiving said workload which comprises a batch of queries directed toward said database;

assigning a priority to each query within said batch of queries by which resources of said computer system are assigned in accordance with said priority;

coupling with a feed forward method for defining a multi programming level for processing said batch of queries, wherein said feed forward method employs an accurate estimate of how much memory said database workload is going to use;

executing said batch of queries in unison within said computer system, using preemptive priority scheduling such that higher priority queries of the batch receive more computing resources for execution thereof than lower priority queries of the batch, in accordance with said priority of said each query, thereby resolving a conflict within said batch of queries for said resources of said computer system, hence efficiently processing said database workload and avoiding overload of said computer system; and

upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, reassigning the priority of the first query to the second query to heighten the priority of the second query.

7. The computer readable memory as described in claim 6 wherein said receiving said workload comprises:

receiving said workload directed toward said database comprising a data warehouse.

8. The computer readable memory as described in claim 6 wherein said assigning a priority to each query within said batch of queries comprises:

assigning one said priority to at least one said queries.

9. The computer readable memory as described in claim 6 wherein said executing said batch of queries in unison using preemptive priority further comprises:

scheduling said batch of queries using an operating system comprised within said computer system.

10. The computer readable memory as described in claim 6 wherein said method further comprises, upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, reassigning the priority of the first query to the second query to heighten the priority of the second query.

11. The computer readable memory as described in claim 10 , wherein reassignment of the priority of the first query to the second query is such that the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query.

12. The computer readable memory as described in claim 6 , wherein upon priority reassignment, the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query.

13. A non-transitory computer readable storage medium having computer readable program code embedded thereon that when executed causes a computer system to process a database workload, said program code comprising:

a receiving module for receiving said workload, wherein said workload comprises a batch of queries;

an assigning module for assigning a unique priority to each query within said batch of queries such that no two queries are assigned a same priority and where no two queries can be assigned the same priority, wherein resources of said computer are assigned in accordance with said priority; and

an executing module for executing said batch of queries in unison within said computer in accordance with said priority of said each query, therein resolving a conflict between said queries for said resources of said computer, hence efficiently processing said workload and avoiding overload of said computer,

wherein upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, the assigning module is to reassign the priority of the first query to the second query to heighten the priority of the second query.

14. The non-transitory computer readable storage medium as described in claim 13 wherein said executing module comprises a scheduler for scheduling said batch queries using preemptive priority.

15. The non-transitory computer readable storage medium as described in claim 14 wherein said scheduler is configured to relinquish said resources of said computer by a query having a higher priority, to query having a lower priority, as said resources become available from said query having said higher priority.

16. The non-transitory computer readable storage medium as described in claim 14 wherein said scheduler is configured to relinquish said resources of said computer by a query having a lower priority, to a query having a higher priority, as said resources are required by said query having said higher priority.

17. They non-transitory computer readable storage medium as described in claim 13 wherein said executing module is configured to preemptively schedule said workload using a processor of an operating system disposed within said computer.

18. The non-transitory computer readable storage medium as described in claim 13 wherein upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, said assigning module reassigns the priority of the first query to the second query to heighten the priority of the second query.

19. The non-transitory computer readable storage medium as described in claim 18 wherein said assigning modules reassigns the priority of the first query to the second query such that the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query.

20. The non-transitory computer readable storage medium as described in claim 13 , wherein upon priority reassignment, the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2009
From: MEHTA, ABHAY; GUPTA, CHETAN K; DAYAL, UMESHWAR
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 023019/0374 →
Continuity (1)
Related Publication 20100083264A1 · Apr 1, 2010