US2009043745A1PendingUtilityA1

Query Execution and Optimization with Autonomic Error Recovery from Network Failures in a Parallel Computer System with Multiple Networks

53
Assignee: BARSNESS ERIC LPriority: Aug 7, 2007Filed: Aug 7, 2007Published: Feb 12, 2009
Est. expiryAug 7, 2027(~1.1 yrs left)· nominal 20-yr term from priority
G06F 16/24549G06F 11/2023G06F 16/24547G06F 16/2453
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus and method for a database query execution monitor determines if an network error or low performance condition exists and then where possible modifies the query. The query execution monitor then determines an alternate query execution plan to continue execution of the query. The query optimizer can re-optimize the query to use a different network or node. Thus, the query execution monitor allows autonomic error recovery for network failures using an alternate query execution. The alternate query execution could also be determined at the initial optimization time and then this alternate plan used to execute a query in the case of a particular network failure.

Claims

exact text as granted — not AI-modified
1 ) A computer apparatus comprising:
 a plurality of nodes each having a memory and at least one processor;   a database residing in the memory;   a plurality of networks connecting the plurality of nodes;   a query optimizer and a query to the database residing in the memory; and   a query execution monitor residing in the memory and executed by the at least one processor, wherein the query execution monitor detects a network failure during execution of the query and invokes the query optimizer to re-optimize the query to use a different network resource to execute the query.   
   
   
       2 ) The computer apparatus of  claim 1  wherein the query execution monitor determines part of the query executed prior to the network failure and then modifies the query to utilize data from the part of the query that executed prior to the network failure. 
   
   
       3 ) The computer apparatus of  claim 1  further comprising a network file that is used by the query execution monitor and wherein the network file contains network file information selected from the following: network ID, a timestamp, current utilization, future utilization, availability, latency and retransmits. 
   
   
       4 ) The computer apparatus of  claim 3  further comprising a network monitor that stores information about the plurality of networks in the network file. 
   
   
       5 ) The computer apparatus of  claim 4  wherein the query execution monitor determines the network failure based on the information in the network file indicating a network resource is below a threshold. 
   
   
       6 ) The computer apparatus of  claim 1  further comprising a service node connected to the plurality of nodes that controls the plurality of nodes, and a network monitor that periodically monitors the plurality of networks to determine network loading. 
   
   
       7 ) The computer apparatus of  claim 1  wherein the query optimizer re-optimizes the query for a potential failure and stores an alternate access plan to be used when the query execution monitor detects the occurrence of the potential failure. 
   
   
       8 ) A computer implemented method for optimizing a query on a parallel computer system comprising the steps of:
 receiving a query to a database;   optimizing the query;   initiating the query execution;   monitoring the query execution;   detecting a network failure; and   in response to the detected network failure, optimizing to re-optimize the query to use a different network resource to execute the query.   
   
   
       9 ) The computer implemented method of  claim 8  further comprising the step of determining that part of the query executed prior to the network failure and then modifying the query to utilize data from the part of the query that executed prior to the network failure, where the modifying the query step is done prior to re-optimizing the query. 
   
   
       10 ) The computer implemented method of  claim 8  further comprising the step of creating a network file that is used contains network file information selected from the following: network ID, a timestamp, current utilization, future utilization, availability, latency and retransmits. 
   
   
       11 ) The computer implemented method of  claim 10  further comprising the step of determining the network failure based on the information in the network file indicating a network resource is below a threshold. 
   
   
       12 ) The computer implemented method of  claim 8  wherein the step of monitoring the query is done on a service node connected to a plurality of nodes of a massively parallel computer system with a plurality of network, and a network monitor in the service node periodically monitors the plurality of networks to determine the network failure. 
   
   
       13 ) The computer implemented method of  claim 8  wherein the query optimizer re-optimizes the query for a potential failure and stores an alternate access plan to be used when the query execution monitor detects the occurrence of the potential failure. 
   
   
       14 ) An article of manufacture for executing on a parallel computer system with a plurality of compute nodes comprising:
 a query execution monitor performing the steps of:
 receiving a query to a database; 
 optimizing the query; 
 initiating the query execution; 
 monitoring the query execution; 
 detecting a network failure; 
 in response to the detected network failure, re-optimizing the query to use a different network resource to execute the query; and 
   computer-readable medium in which computer instructions are stored, which instructions, when read by a computer, cause the computer to perform the steps of the query execution monitor.   
   
   
       15 ) The article of manufacture of  claim 14  wherein the query execution monitor further performs the steps of: determining that part of the query executed prior to the network failure and then modifying the query to utilize data from the part of the query that executed prior to the network failure, where the modifying the query step is done prior to re-optimizing the query. 
   
   
       16 ) The computer apparatus of  claim 14  further comprising the step of creating a network file that is used contains network file information selected from the following: network ID, a timestamp, current utilization, future utilization, availability, latency and retransmits. 
   
   
       17 ) The computer apparatus of  claim 16  further comprising the step of determining the network failure based on the information in the network file indicating a network resource is below a threshold 
   
   
       18 ) The article of manufacture of  claim 14  wherein the step of monitoring the query is done on a service node connected to a plurality of nodes of a massively parallel computer system with a plurality of network, and a network monitor in the service node periodically monitors the plurality of networks to determine the network failure. 
   
   
       19 ) The article of manufacture of  claim 14  wherein the query optimizer re-optimizes the query for a potential failure and stores an alternate access plan to be used when the query execution monitor detects the occurrence of the potential failure.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.