IP Library Granted Patent US 9,189,317
Granted Patent B1
US 9,189,317 · App. 13/050,808 · Granted Nov 17, 2015

Software sustaining system

Inventor: Venkadesan Marimuthu (Tamil Nadu, IN)
Assignee: Extreme Networks, Inc.
G06F11/0778G06F11/3065G06F11/366G06F11/079H04L41/0631
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,189,317
App. No.
13/050,808
Granted
Nov 17, 2015
Kind
B1
Abstract

A method comprising detecting an problem with a software product, capturing debugging information corresponding to the detected problem, searching for the detected problem in a repository of a set of known issues corresponding to the software product to identify a root cause of the detected problem. If the detected problem is a known issue in the set of known issues corresponding to the software product, automatically applying a corresponding solution to the detected problem. If the detected problem is not a known issue in the set of known issues corresponding to the software product, analyzing the user input describing an occurrence of the problem with the software product, as well as the captured debugging information. Based on the analysis, the repository of the set of known issues is updated to include the detected problem as a new known issue and a corresponding solution to the detected problem.

Claims (54)

1. A method comprising:

detecting a problem with a software product;

searching for a problem signature relating to the detected problem in a repository of a set of known issues corresponding to the software product to identify a sequence of debug steps to execute to capture debugging information corresponding to the detected problem, and to identify a root cause of the detected problem;

capturing debugging information corresponding to the detected problem by executing the sequence of debug steps identified in the problem signature relating to the detected problem when the problem signature relating to the detected problem is found in the repository;

capturing debugging information automatically from the software product when the problem signature relating to the detected problem is not found in the repository;

indicating the detected problem is a known issue in the set of known issues corresponding to the software product, and automatically applying a corresponding solution to the detected problem, when the problem signature relating to the detected problem is found in the repository, and

when the problem signature relating to the detected problem is not found in the repository indicating the detected problem is not a known issue in the set of known issues corresponding to the software product:

providing as output user input describing an occurrence of the problem with the software product, and the debugging information captured automatically from the software product for analysis;

updating the repository of the set of known issues to include a troubleshooting task signature comprising a troubleshooting task identifier, a troubleshooting task description, a description of debugging information to be collected, and a sequence of debugging steps to be performed to collect the debugging information to be collected, the troubleshooting task signature to be used by a debugging system to collect debugging information for troubleshooting the detected problem, responsive to the analysis;

triggering debugging with the troubleshooting task identifier in response to the updating; and

responsive to the triggering debugging, completing the analysis and updating the repository of the set of known issues to include a new problem signature relating to the detected problem as a new known issue and a corresponding solution to the detected problem.

2. The method of claim 1 , wherein detecting the problem comprises receiving the user input describing an occurrence of the problem with the software product.

3. The method of claim 2 , wherein detecting the problem further comprises receiving user input regarding circumstances associated with the occurrence of the problem with the software product.

4. The method of claim 1 , wherein detecting the problem comprises automatically detecting the problem during execution of the software product.

5. The method of claim 1 , wherein detecting the problem comprises reading information regarding the problem written to one or more of a log file, an audit file, and a database, associated with execution of the software product.

6. The method of claim 1 , wherein the captured debugging information whether a problem signature is found or not found comprises one or more of a version of the software product, a software patch level associated with the software product, a status of a computing system on which the software product is executing, other software products executing on the computing system, configuration information associated with the software product or the computing system on which the software product is executing.

7. The method of claim 1 , wherein searching for the problem signature relating to the detected problem comprises searching for the problem signature relating to the detected problem in the repository of a set of known issues corresponding to a specific version of the software product.

8. The method of claim 1 , further comprising:

when the problem signature relating to the detected problem is found in the repository:

sorting the plurality of possible known issues by their respective weights, wherein the weight for a particular possible known issue in the plurality is based on a number of times the particular possible known issue has been reported as occurring in executions of the software product, and providing as output the sorted plurality of possible known issues;

obtaining additional information as may be needed to identify one of the plurality of possible known issues as the detected problem, starting with the particular possible known issue having the greatest weight and repeating obtaining the additional information until one of the plurality of possible known issues is identified.

9. The method of claim 1 , wherein when the problem signature relating to the detected problem is found in the repository, further comprising:

providing output describing the detected problem;

providing output describing the corresponding solution to the detected problem; and

wherein automatically applying a corresponding solution to the detected problem comprises applying the corresponding solution based on input providing approval to apply the corresponding solution,

providing as output resolution of the detected problem by application of the corresponding solution to a vendor of the software product,

and adjusting the weight of the known issue corresponding to the detected problem.

10. The method of claim 1 , wherein, when the problem signature relating to the detected problem is not found in the repository indicating the detected problem is not a known issue in the set of known issues corresponding to the software product, updating the repository of the set of known issues to include the new problem signature relating to the detected problem as a new known issue comprises including a description of one or more symptoms associated with the detected problem, and a description of one or more conditions associated with the occurrence of the detected problem.

11. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to:

detect a problem with a software product;

search for a problem signature relating to the detected problem in a repository of a set of known issues corresponding to the software product to identify a sequence of debug steps to execute to capture debugging information corresponding to the detected problem, and to identify a root cause of the detected problem;

capture debugging information corresponding to the detected problem by executing the sequence of debug steps identified in the problem signature relating to the detected problem when the problem signature relating to the detected problem is found in the repository;

capture debugging information automatically from the software product when the problem signature relating to the detected problem is not found in the repository;

indicate the detected problem is a known issue in the set of known issues corresponding to the software product, and automatically apply a corresponding solution to the detected problem when the problem signature relating to the detected problem is found in the repository, and,

when the problem signature relating to the detected problem is not found in the repository indicating the detected problem is not a known issue in the set of known issues corresponding to the software product,

provide as output user input describing an occurrence of the problem with the software product;

provide as output the debugging information captured automatically from the software product, for analysis;

update the repository of the set of known issues to include a troubleshooting task signature comprising a troubleshooting task identifier, a troubleshooting task description, a description of debugging information to be collected, and a sequence of debugging steps to be performed to collect the debugging information to be collected, the troubleshooting task signature to be used by a debugging system to collect debugging information for troubleshooting the detected problem, responsive to the analysis;

trigger debugging with the troubleshooting task identifier in response to the update; and

responsive to the triggered debugging, complete the analysis and update the repository of the set of known issues to include a new problem signature relating to the detected problem as a new known issue and a corresponding solution to the detected problem.

12. The non-transitory machine-readable storage medium of claim 11 , wherein to detect the problem comprises to receive user input describing an occurrence of the problem with the software product.

13. The non-transitory machine-readable storage medium of claim 12 , wherein to detect the problem further comprises to receive user input regarding circumstances associated with the occurrence of the problem with the software product.

14. The non-transitory machine-readable storage medium of claim 11 , wherein to detect the problem comprises to automatically detect the problem during execution of the software product.

15. The non-transitory machine-readable storage medium of claim 11 , wherein to detect the problem comprises to read information regarding the problem written to one or more of a log file, an audit file, and a database, associated with execution of the software product.

16. The non-transitory machine-readable storage medium of claim 11 , wherein the captured debugging information, whether a problem signature is found or not found, comprises one or more of a version of the software product, a software patch level associated with the software product, a status of a computing system on which the software product is executing, other software products executing on the computing system, configuration information associated with the software product or the computing system on which the software product is executing.

17. The non-transitory machine-readable storage medium of claim 11 , wherein to search for the problem signature relating to the detected problem in a repository of a set of known issues corresponding to the software product comprises to search for the problem signature relating to the detected problem in the repository of a set of known issues corresponding to a specific version of the software product.

18. The non-transitory machine-readable storage medium of claim 11 , further comprising:

when the problem signature relating to the detected problem is one of a plurality of possible known issues in the set of known issues:

sort the plurality of possible known issues by their respective weights, wherein the weight for a particular possible known issue in the plurality is based on a number of times the particular possible known issue has been reported as occurring in executions of the software product, and provide as output the sorted plurality of possible known issues;

additional information as may be needed to identify one of the plurality of possible known issues as the detected problem, starting with the particular possible known issue having the greatest weight and repeating obtaining the additional information until one of the plurality of possible known issues is identified.

19. The non-transitory machine-readable storage medium of claim 11 , wherein when the problem signature relating to the detected problem is found in the repository indicating the detected problem is a known issue in the set of known issues corresponding to the software product, further comprising:

output a description of, and the corresponding solution to, the detected problem; and

wherein to automatically apply a corresponding solution to the detected problem comprises applying the corresponding solution based on user input providing approval to apply the corresponding solution, to output resolution of the detected problem by application of the corresponding solution to a vendor of the software product, and adjust the weight of the known issue corresponding to the detected problem.

20. The non-transitory machine-readable storage medium of claim 11 , wherein, when the problem signature relating to the detected problem is not found in the repository indicating the detected problem is not a known issue in the set of known issues comprises when the detected problem is not a known issue in the set of known issues corresponding to the software product, to update the repository of the set of known issues to include the problem signature relating to detected problem as a new known issue, including a description of one or more symptoms associated with the detected problem, and a description of one or more conditions associated with the occurrence of the detected problem.

Assignments (10)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2011
From: MARIMUTHU, VENKADESAN
To: EXTREME NETWORKS, INC.
Reel/Frame 026111/0618 →