IP Library Granted Patent US 10,649,836
Granted Patent B2
US 10,649,836 · App. 15/978,800 · Granted May 12, 2020

Detecting an error message and automatically presenting links to relevant solution pages

Inventors: Susobhit Panigrahi (Midnapur, IN); Shourya Pratap Singh (Bhopal, IN); Sarthak Mahapatra (Khorda, IN); Arundhati Mahapatro (Alipore, IN); Joydeep Mishra (Bhubaneswar, IN)
Assignee: Dell Products L.L.P.
G06F11/079G06F11/0751G06F11/0793G06F16/248G06F16/24578
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 10,649,836
App. No.
15/978,800
Granted
May 12, 2020
Kind
B2
Abstract

In some examples, a server may receive, from a computing device, an error message generated by an executable file that is being executed by the computing device. The server may create, based at least in part on the error message, a search query and perform a search of one or more resources, such as, for example, knowledgebase(s), coding-related forum(s), and the like. The server may receive search results associated with the search query and rank the search results based on one or more criteria to create ranked results. For example, a particular result of the ranked results may include (1) a link to a page that includes a potential solution to an error that caused the error message to be generated and (2) a rank identifying a relevancy of the potential solution to the error. The server may send the ranked results to the computing device.

Claims (99)

1. A method comprising:

receiving, by one or more processors and from a computing device, an error message generated by either a compiler or a runtime environment being executed by the computing device;

creating, by the one or more processors and based at least in part on the error message, a search query;

performing, by the one or more processors and using the search query, a search of one or more resources comprising at least one of a knowledgebase or a forum;

receiving, by the one or more processors, one or more search results associated with the search query;

ranking, by the one or more processors, the one or more search results based on one or more criteria to create ranked results, wherein a particular result of the ranked results comprises:

a link to a page that includes a potential solution to an error that caused the error message to be generated; and

a rank identifying a relevancy of the potential solution to the error;

sending the ranked results to the computing device;

creating, based at least in part on the error message, an additional search query; and

performing, using the additional search query, an additional search of one or more additional resources.

2. The method of claim 1 , wherein the error message is sent by an error handler being executed by the computing device that intercepts the error message sent from the compiler or the runtime environment.

3. The method of claim 1 , wherein creating the search query comprises:

parsing the error message;

extracting, based at least in part on the parsing, keywords from the error message; and

creating the search query based at least in part on the keywords.

4. The method of claim 1 , wherein ranking the search results based on the one or more criteria to create the ranked results comprises:

determining a positive feedback number associated with a particular search result of the one or more search results;

determining a negative feedback number associated with the particular search result of the one or more search results;

subtracting the negative feedback number from the positive feedback number to create a net feedback number; and

determining a rank of the particular search result based at least in part on the net feedback number.

5. The method of claim 1 , further comprising:

determining a relevancy score associated with individual resources of a plurality of resources, wherein the relevancy score associated with an individual resource comprises a numerical representation of a relevancy of the individual resource to the error message; and

selecting, based at least in part on the relevancy score associated with the individual resources, the one or more resources of the plurality of resources.

6. The method of claim 1 , further comprising:

receiving additional search results associated with the additional search query;

ranking the additional search results based on the one or more criteria to create additional ranked results; and

sending the additional ranked results to the computing device.

7. The method of claim 1 , wherein:

the one or more resources are hosted by an enterprise server that is accessible using a corporate intranet; and

the one or more additional resources are hosted by a server that is external to the corporate intranet.

8. A server comprising:

one or more processors; and

one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising:

receiving, from a computing device, an error message generated by an executable file that is being executed by the computing device;

parsing the error message;

extracting, based at least in part on the parsing, keywords from the error message;

creating, based at least in part on the keywords from the error message, a search query;

performing a search of one or more resources comprising at least one of a knowledgebase or a forum;

receiving one or more search results associated with the search query;

ranking the one or more search results based on one or more criteria to create ranked results, wherein a particular result of the ranked results comprises:

a link to a page that includes a potential solution to an error that caused the error message to be generated; and

a rank identifying a relevancy of the potential solution to the error; and

sending the ranked results to the computing device.

9. The server of claim 8 , wherein ranking the search results based on the one or more criteria to create the ranked results comprises:

determining a positive feedback number associated with a particular search result of the one or more search results;

determining a negative feedback number associated with the particular search result of the one or more search results;

subtracting the negative feedback number from the positive feedback number to create a net feedback number; and

determining a rank of the particular search result based at least in part on the net feedback number.

10. The server of claim 8 , the operations further comprising:

determining a relevancy score associated with individual resources of a plurality of resources, wherein the relevancy score associated with an individual resource comprises a numerical representation of a relevancy of the individual resource to the error message; and

selecting, based at least in part on the relevancy score associated with the individual resources, the one or more resources of the plurality of resources.

11. The server of claim 8 , the operations further comprising:

creating, based at least in part on the error message, an additional search query; and

performing an additional search of one or more additional resources.

12. The server of claim 11 , the operations further comprising:

receiving additional search results associated with the additional search query;

ranking the additional search results based on the one or more criteria to create additional ranked results; and

sending the additional ranked results to the computing device.

13. The server of claim 11 , wherein:

the one or more additional resources are hosted by an enterprise server that is accessible using a corporate intranet; and

the one or more resources are hosted by a server that is external to the corporate intranet.

14. One or more non-transitory computer readable media storing instructions executable by one or more processors to perform operations comprising:

receiving an instruction to execute, using the one or more processors, an executable file;

executing the executable file;

determining that an error message was generated in response to executing the executable file;

sending the error message to a server;

receiving a response from the server that includes ranked results, wherein a particular result of the ranked results comprises:

a link to a page that includes information associated with the error message; and

a rank identifying a relevancy of the information to the error message;

displaying at least a portion of the ranked results;

receiving a selection of a particular ranked result of the ranked results;

navigating, based on a particular link associated with the particular ranked result, to a browser to the page that includes the information associated with the error;

opening a source code file in an editing application; and

automatically performing a modification to contents of the source code file to create modified source code, the modification based on the information associated with the error.

15. The one or more non-transitory computer readable media of claim 14 , wherein:

the executable file comprises one of a compiler or a previously compiled executable file.

16. The one or more non-transitory computer readable media of claim 14 , wherein:

the error message is generated by one of:

a compiler that is compiling a source code file; or

a runtime environment in which the executable file is executing.

17. The one or more non-transitory computer readable media of claim 14 , further comprising:

creating, based at least in part on the error message, an additional search query; and

performing, using the additional search query, an additional search of one or more additional resources.

18. The one or more non-transitory computer readable media of claim 17 , the operations further comprising:

receiving an instruction to compile the modified source code to create a modified executable file;

executing the modified executable file;

determining that an additional error message was generated in response to executing the modified executable file;

sending the additional error message to the server;

receiving an additional response from the server that includes additional ranked results;

displaying at least a portion of the additional ranked results;

receiving a selection of an additional link included in the additional ranked results; and

navigating the browser to an additional solution page associated with the additional link, the additional solution page including solution information associated with the additional error message.

19. The one or more non-transitory computer readable media of claim 14 , wherein the ranked results include a particular page from at least one of:

a knowledgebase that includes information about the error message; or

a forum that includes a discussion about the error message.

20. The one or more non-transitory computer readable media of claim 14 , wherein the ranked results include a particular page from at least one of:

an internal resource hosted by an enterprise server that is accessible using a corporate intranet; or

an external resource hosted by a server that is external to the corporate intranet.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2018
From: PANIGRAHI, SUSOBHIT; SINGH, SHOURYA PRATAP; MAHAPATRA, SARTHAK; MAHAPATRO, ARUNDHATI; MISHRA, JOYDEEP
To: DELL PRODUCTS L.P.
Reel/Frame 045798/0082 →
Continuity (1)
Related Publication 20190347149A1 · Nov 14, 2019
Cited By (1)
US 12,572,403