US8799437B1ActiveUtility

Dynamic optimization of device management command for bulk retrieval of configuration data

Assignee: KUMBHARI UDAY KISHOREPriority: Jan 15, 2010Filed: Jan 15, 2010Granted: Aug 5, 2014
Est. expiryJan 15, 2030(~3.5 yrs left)· nominal 20-yr term from priority
H04L 41/0213H04L 41/0853
85
PatentIndex Score
13
Cited by
26
References
39
Claims

Abstract

Techniques are described for dynamically optimizing a device management command for bulk retrieval of configuration information. A network management device is described in which a programmable processor is configured to issue a bulk data retrieval command to direct the managed network device to retrieve configuration information variables stored within a set of columns of a table within the managed device, receive a response from the managed network device in response to the managed network device querying the table a first number of repetitions, analyze the response, and update an estimate of the number of variables expected to be received from the managed network device in a single response based on the analysis of the response.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method comprising:
 predicting, with a management device, an initial value for a repetition parameter of a bulk data retrieval command to specify a first number of repetitions for a managed network device to internally query a set of columns of a table of the managed device when processing the bulk data retrieval command, and wherein predicting the initial value is based on a number of rows included in a different table of the managed network device; 
 issuing, with the management device, the bulk data retrieval command to direct the managed network device to retrieve configuration variables stored within the set of columns of the table, wherein the repetition parameter is set to the predicted initial value; 
 receiving, with the management device, a response from the managed network device in response to the managed network device querying the table the first number of repetitions; 
 analyzing, with the management device, the response; and 
 updating an estimate of a number of variables expected to be received from the managed network device in a single response based on the analysis of the response by the management device. 
 
     
     
       2. The method of  claim 1 , further comprising issuing a second bulk data retrieval command to direct the managed network device to retrieve the configuration variables stored within the table, wherein the second bulk data retrieval command includes a repetition parameter that specifies a number of repetitions for the managed device to internally query the set of columns of the table when processing the second bulk data retrieval command, and wherein the repetition parameter of the second bulk data retrieval command is set based on the updated estimate of the number of the variables expected to be received from the managed network device in a single response. 
     
     
       3. The method of  claim 2 , further comprising
 receiving a second response from the managed network device in response to the second bulk data retrieval command; 
 analyzing the second response; 
 updating the estimate of the number of variables expected to be received from the managed network device in a single response based on the analysis of the second response by the management device. 
 
     
     
       4. The method of  claim 2 , wherein the repetition parameter of the second bulk data retrieval command is set based on the number of rows received in the response incremented by an amount. 
     
     
       5. The method of  claim 2 , wherein the repetition parameter of the second bulk data retrieval command is set based on a maximum number of rows expected to be included in a single response from the managed network device less the number of rows received in the response, incremented by an amount. 
     
     
       6. The method of  claim 2 , wherein the repetition parameter of the second bulk data retrieval command is set based on an estimated number of rows expected to be received in a single response from the managed network device based on an estimated number of variables that may be stored in the response and the number of rows received in the response, incremented by an amount. 
     
     
       7. The method of  claim 1 , further comprising prior to issuing the bulk data retrieval command, determining, with the management device, whether configuration information of the managed network device includes the table by issuing a non-iterative data retrieval command to the managed device for retrieving a single row from the table. 
     
     
       8. The method of  claim 1 , further comprising
 analyzing the response to determine a total number of results contained in the response received by the management device from the managed network device; and 
 updating the estimate of the number of variables expected to be received from the managed network device in a single response based on the total number of results. 
 
     
     
       9. The method of  claim 1 ,
 wherein predicting the initial value for the repetition parameter is further based on: (1) an expected row count for the table, (2) a minimum number of rows of the variables expected to be received in a single response to the bulk data retrieval command, and (3) a maximum number of rows of the variables expected to be received in a single response to the bulk data retrieval command. 
 
     
     
       10. The method of  claim 9 ,
 wherein analyzing the response further comprises determining an actual number of rows received in the response based on a number of results contained in the response that correspond to the set of columns of the table; and 
 updating the maximum number of rows of the variables expected to be received from the managed network device in a single response based on the analysis of the response by the management device. 
 
     
     
       11. The method of  claim 1 , wherein analyzing the response further comprises:
 determining whether the response includes results outside the set of columns of the table; and 
 when the response does not include results outside the set of columns of the table, setting the repetition parameter as a function of the estimate of the number of variables expected to be received from the managed network device in a single response and an application-defined increment value prior to issuing a subsequent bulk data retrieval command to retrieve additional ones of the configuration variables stored within the set of columns of the table. 
 
     
     
       12. The method of  claim 1 , wherein the repetition parameter is set by dividing the estimate of the number of the variables expected to be received from the managed network device in a single response to the bulk data retrieval command by the number of columns in the set of columns. 
     
     
       13. The method of  claim 1 ,
 wherein predicting the initial value for the repetition parameter is further based on the estimate of the number of the variables expected to be received from the managed network device in a single response to the bulk data retrieval command and a predicted number of rows in the table. 
 
     
     
       14. The method of  claim 1 , wherein predicting the initial value for the repetition parameter is further based on an estimated row count of the table incremented by an amount. 
     
     
       15. The method of  claim 14 , wherein predicting the initial value for the repetition parameter is further based on a minimum number of rows expected to be included in a single response from the managed network device, incremented by an amount. 
     
     
       16. The method of  claim 1 , wherein predicting the initial value for the repetition parameter is further based on a maximum number of rows expected to be included in a single response from the managed network device, incremented by an amount. 
     
     
       17. The method of  claim 1 , wherein predicting the initial value for the repetition parameter is further based on an estimated number of variables expected to be included in the response, incremented by an amount. 
     
     
       18. The method of  claim 1 , wherein predicting the initial value for the repetition parameter of the bulk retrieval command is further based on the smallest value of:
 an estimated row count of the table incremented by an amount, 
 a minimum number of rows expected to be included in the single response from the managed network device, incremented by an amount, 
 a maximum number of rows expected to be included in the single response from the managed network device, incremented by an amount, and 
 an estimated number of rows expected to be received in the single response from the managed network device, incremented by an amount. 
 
     
     
       19. The method of  claim 1 ,
 wherein analyzing the response comprises calculating a number of rows received in the response, and 
 where in updating the estimate of the number of variables expected to be received in a single response is based on the smallest value of:
 an estimated row count of the table minus the number of rows received in the response, incremented by an amount, 
 a maximum number of rows expected to be included in the single response from the managed network device, incremented by an amount, and 
 an estimated number of rows expected to be received in the single response from the managed network device, incremented by an amount. 
 
 
     
     
       20. A network management device comprising:
 a programmable hardware processor, 
 wherein the programmable hardware processor is configured to:
 predict an initial value of a repetition parameter for a bulk data retrieval command to specify a first number of repetitions for a managed network device to internally query a set of columns of a table of the managed device when processing the bulk data retrieval command, and wherein predicting the initial value is based on a number of rows included in a different table of the managed network device; 
 issue the bulk data retrieval command to direct the managed network device to retrieve configuration information variables stored within the set of columns of the table, wherein the repetitions parameter is set based on the predicted initial value; 
 receive a response from the managed network device in response to the managed network device querying the table a first number of repetitions; 
 analyze the response; and 
 update an estimate of a number of variables expected to be received from the managed network device in a single response based on the analysis of the response. 
 
 
     
     
       21. The network management device of  claim 20 , wherein the programmable hardware processor is further configured to:
 issue a second bulk data retrieval command to direct the managed network device to retrieve the configuration variables stored within the table, wherein the second bulk data retrieval command includes a repetition parameter that specifies a number of repetitions for the managed device to internally query the set of columns of the table when processing the second bulk data retrieval command, and wherein the repetition parameter of the second bulk data retrieval command is set based on the updated estimate of the number of the variables expected to be received from the managed network device in a single response. 
 
     
     
       22. The network management device of  claim 21 , wherein the programmable hardware processor is further configured to:
 receive a second response from the managed network device in response to the second bulk data retrieval command; 
 analyze the second response; and 
 update the estimate of the number of variables expected to be received from the managed network device in a single response based on the analysis of the second response. 
 
     
     
       23. The network management device of  claim 21 , wherein the repetition parameter of the second bulk data retrieval command is set based on the number of rows received in the response incremented by an amount. 
     
     
       24. The network management device of  claim 21 , wherein the repetition parameter of the second bulk data retrieval command is set based on a maximum number of rows expected to be included in a single response from the managed network device less the number of rows received in the response, incremented by an amount. 
     
     
       25. The network management device of  claim 21 , wherein the repetition parameter of the second bulk data retrieval command is set based on an estimated number of rows expected to be received in a single response from the managed network device based on an estimated number of variables that may be stored in the response and the number of rows received in the response, incremented by an amount. 
     
     
       26. The network management device of  claim 20 , wherein the programmable hardware processor is further configured to:
 determine a total number of results contained in the response; and 
 update the estimate of the number of variables expected to be received from the managed network device in a single response based on the total number of results. 
 
     
     
       27. The network management device of  claim 20 , wherein the programmable hardware processor configured to issue the bulk data retrieval command is configured to:
 predict the initial value of the repetition parameter based on: (1) an expected row count for the table, (2) a minimum number of rows of the variables expected to be received in a single response to the bulk data retrieval command, and (3) a maximum number of rows of the variables expected to be received in a single response to the bulk data retrieval command. 
 
     
     
       28. The network management device of  claim 27 , wherein the programmable hardware processor is further configured to:
 determine an actual number of rows received in the response based on a number of results contained in the response that correspond to the set of columns of the table; and 
 update the maximum number of rows of the variables expected to be received from the managed network device in a single response based on the analysis of the response by the management device. 
 
     
     
       29. The network management device of  claim 20 , wherein the programmable hardware processor configured to analyze the response is further configured to:
 determine whether the response includes results outside the set of columns of the first table; and 
 when the response does not include results outside the set of columns of the table, set the repetition parameter as a function of the estimate of the number of variables expected to be received from the managed network device in a single response and an application-defined increment value prior to issuing a subsequent bulk data retrieval command to retrieve additional ones of the configuration variables stored within the set of columns of the table. 
 
     
     
       30. The network management device of  claim 20 , wherein the initial value is predicted by at least dividing the estimate of the number of the variables expected to be received from the managed network device in a single response to the bulk data retrieval command by the number of columns in the set of columns. 
     
     
       31. The network management device of  claim 20 , wherein the initial value is predicted based on the estimate of the number of the variables expected to be received from the managed network device in a single response to the bulk data retrieval command and a predicted number of rows in the table. 
     
     
       32. The network management device of  claim 20 , wherein the initial value is predicted based on an estimated row count of the table incremented by an amount. 
     
     
       33. The network management device of  claim 20 , wherein the initial value is predicted based on a minimum number of rows expected to be included in a single response from the managed network device, incremented by an amount. 
     
     
       34. The network management device of  claim 20 , wherein the initial value is predicted based on a maximum number of rows expected to be included in a single response from the managed network device, incremented by an amount. 
     
     
       35. The network management device of  claim 20 , wherein the initial value is predicted based on an estimated number of variables expected to be included in the response, incremented by an amount. 
     
     
       36. The network management device of  claim 20 , wherein the initial value is predicted based on the smallest value of:
 an estimated row count of the table incremented by an amount, 
 a minimum number of rows expected to be included in the single response from the managed network device, incremented by an amount, 
 a maximum number of rows expected to be included in the single response from the managed network device, incremented by an amount, and 
 an estimated number of rows expected to be received in the single response from the managed network device, incremented by an amount. 
 
     
     
       37. The network management device of  claim 20 ,
 wherein the programmable hardware processor configured to analyze the response is further configured to calculate a number of rows received in the response, and 
 wherein the updated estimate of the number of variables expected to be received from the managed network device in a single response is set based upon the smallest value of:
 an estimated row count of the table minus the number of rows received in the response, incremented by an amount, 
 a maximum number of rows expected to be included in the single response from the managed network device, incremented by an amount, and 
 an estimated number of rows expected to be received in the single response from the managed network device, incremented by an amount. 
 
 
     
     
       38. A system comprising:
 a managed network device; and 
 a management device, wherein the management device comprises a programmable hardware processor configured to:
 predict an initial value for a repetition parameter of a bulk data retrieval command to specify a first number of repetitions for the managed network device to internally query a set of columns of a table of the managed device when processing the bulk data retrieval command, and wherein predicting the initial value is based on a number of rows included in a different table of the managed network device; 
 issue the bulk data retrieval command to direct the managed network device to retrieve configuration information variables stored within the set of columns of the table, wherein the repetitions parameter is set based on the predicted initial value; 
 receive a response from the managed network device in response to the managed network device querying the table the number of repetitions; 
 analyze the response; and 
 update a number of variables expected to be received from the managed network device in a single response based on the analysis of the response. 
 
 
     
     
       39. A non-transitory computer-readable medium comprising instructions for causing one or more programmable processors to:
 predict an initial value for a repetition parameter of a bulk data retrieval command to specify a first number of repetitions for a managed network device to internally query a set of columns of a table of the managed device when processing the bulk data retrieval command, and wherein predicting the initial value is based on a number of rows included in a different table of the managed network device; 
 issue a bulk data retrieval command to direct the managed network device to retrieve configuration information variables stored within a set of columns of the table wherein the repetitions parameter is set based on the predicted initial value; 
 receive a response from the managed network device in response to the managed network device querying the table the number of repetitions; 
 analyze the response; and 
 update a number of variables expected to be received from the managed network device in a single response based on the analysis of the response.

Join the waitlist — get patent alerts

Track US8799437B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.