IP Library Granted Patent US 9,058,230
Granted Patent B1
US 9,058,230 · App. 12/127,373 · Granted Jun 16, 2015

Online expert system guided application installation

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,058,230
App. No.
12/127,373
Granted
Jun 16, 2015
Kind
B1
Abstract

An online expert system that can communicate software installation instructions to a remote node through the use of a generic installer executing on the remote node is provided. Embodiments of the online expert system can identify a set of installation instructions configured to install a software product on the remote node, execute the set of installation instructions, record results of the execution of the installation instructions, and, if an error is detected in the results, submit the results for analysis to determine whether a solution to the error is available and execute the solution, if any. Aspects of the online expert system provide for the executing of the installation instructions to include communicating installation-related information to the remote node over a network. Further aspects of the online expert system provide for executing a solution to an error to include communicating solution-related information to the remote node over the network.

Claims (143)

1. A method comprising:

identifying, in response to a request, installation instructions configured to install a product on a remote node, wherein

the identifying is performed by an installation server, and

the installation server is configured to receive the request from an installer program executed by the remote node;

communicating, to the installer program, installation information regarding the installation instructions, wherein

the communicating is performed over a network;

monitoring an installation, wherein

the installation comprises executing the installation instructions,

the installer program causes the installation instructions to be performed by the remote node,

the executing the installation instructions is based, at least in part, on the installation information,

the monitoring is performed by the installation server, and

the monitoring is performed by analyzing status information received from the remote node;

recording results of the installation;

if an error associated with the installation is detected in the results,

determining whether a solution to the error is available by submitting the results for analysis, wherein

the determining whether the solution to the error is available is performed by the installation server, and

the determining whether the solution to the error is available is based, at least in part, on the installation information, and

if the solution to the error is available, communicating solution-related information to the remote node over the network, wherein

the solution-related information describes information regarding the solution to the error;

if no error associated with the installation is detected in the results,

communicating one or more test instructions to the remote node, wherein the test instructions are configured to be executed by the remote node;

receiving one or more test results from the remote node, wherein

the one or more test results indicate execution status of a test, wherein

the test comprises execution of the test instructions; and

if a testing error associated with the test is detected in the one or more test results,

determining whether a solution to the testing error is available by submitting the one or more test results for a test analysis, wherein

the determining whether the solution to the error is available is based, at least in part, on the one or more test results, and

if the solution to the testing error is available, communicating other solution-related information to the remote node over the network, wherein

the other solution-related information describes other information regarding the solution to the testing error.

2. The method of claim 1 , further comprising:

receiving an identification of the product from the remote node, wherein

the receiving the identification is performed prior to the identifying the installation instructions; and

requesting configuration information about a configuration of the remote node, in response to the receiving the identification of the product.

3. The method of claim 2 , wherein the identifying the installation instructions is performed using the identification of the product and the configuration information.

4. The method of claim 3 , wherein the identifying the installation instructions comprises:

searching a database of installation instructions, wherein

the database of installation instructions comprises entries having fields for the identification of the product, the configuration information, and a corresponding location of the installation instructions.

5. The method of claim 2 , further comprising:

identifying the configuration information to request using the identification of the product, wherein

the identification of the product has a corresponding set of configuration information.

6. The method of claim 5 , wherein

the configuration information comprises one or more of an operating system type, an operating system version, identification of disks available, free disk space available on the identified disks, products currently installed, or hardware configuration.

7. The method of claim 2 , wherein the requesting the configuration information comprises:

communicating a second request to an application programming interface (API) installed on the remote node.

8. The method of claim 1 , wherein the communicating the installation information regarding the installation instructions to the remote node comprises:

communicating with an application programming interface (API) installed on the remote node.

9. The method of claim 8 , wherein the installation information comprises one or more of:

downloaded files, copied files, compressed files for extracting, registry values for creation or modification, or executable files for launching.

10. The method of claim 1 , wherein the submitting the results for analysis comprises:

searching a set of solutions associated with corresponding criteria associated with installation-related failures associated with the product for a match to the results associated with an installation-related failure, wherein

the searching is based, at least in part, on the installation information;

providing a solution associated with the match, if the match is found; and

providing identification information to a source of support for the product, if the match is not found.

11. The method of claim 10 , wherein the submitting the results for analysis further comprises:

communicating with an agent, if the match is not found, wherein

the agent is requested to provide a solution to the installation-related failure.

12. An apparatus comprising:

a processor; and

a first memory, coupled to the processor, and storing instructions executable by the processor, the instructions configured to

identify, in response to a request, installation instructions configured to install a product on a remote node, wherein

the first memory is configured to receive the request from an installer program executed by the remote node;

communicate, to the installer program, installation information regarding the installation instructions, wherein

the installation information is configured to be communicated to the remote node over a network;

monitor an installation, wherein

the installation comprises execution of the installation instructions,

the installer program causes the installation instructions to be executed by the remote node,

the execution of the installation instructions is based, at least in part, on the installation information, and

the installation is monitored by analyzing status information received from the remote node;

record results of the installation;

if an error associated with the installation is detected in the results,

make a determination whether a solution to the error is available by submitting the results for analysis, wherein

the determination whether the solution to the error is available is based, at least in part, on the installation information, and

if the solution to the error is available, communicate solution-related information to the remote node over the network, wherein

the solution-related information describes information regarding the solution to the error;

if no error associated with the installation is detected in the results,

communicate one or more test instructions to the remote node,

wherein the test instructions are configured to be executed by the remote node;

receive one or more test results from the remote node, wherein

the one or more test results indicate execution status of a test, wherein

the test comprises execution of the test instructions; and

if a testing error associated with the test is detected in the one or more test results,

make a determination whether a solution to the testing error is available by submitting the one or more test results for a test analysis, wherein

the determination whether the solution to the testing error is available is based, at least in part, on the one or more test results, and

if the solution to the testing error is available, communicate other solution-related information to the remote node over the network, wherein

the other solution-related information is configured to describe other information regarding the solution to the testing error.

13. The apparatus of claim 12 , further comprising instructions configured to:

receive an identification of the product from the remote node, wherein

the identification of the product is received prior to identification of the installation instructions; and

request configuration information about a configuration of the remote node, in response to the receipt of the identification of the product.

14. The apparatus of claim 13 , wherein the instructions to identify the installation instructions are configured to use the identification of the product and the configuration information.

15. The apparatus of claim 13 , further comprising instructions configured to:

identify the configuration information to request using the identification of the product, wherein

the identification of the product has a corresponding set of configuration information.

16. The apparatus of claim 12 , wherein the instructions to communicate the installation information regarding the installation instructions to the remote node further comprise instructions configured to:

communicate with an application programming interface (API) installed on the remote node.

17. The apparatus of claim 12 , wherein the instructions to submit the results for analysis further comprises instructions configured to:

search a set of solutions associated with corresponding criteria associated with installation-related failures associated with the product for a match to the results associated with an installation-related failure, wherein

the search is based, at least in part, on the installation information;

provide a solution associated with the match, if the match is found; and

provide identification information to a source of support for the product, if the match is not found.

18. A non-transitory computer-readable storage medium comprising:

a first set of instructions, executable by a processor, configured to identify, in response to a request, installation instructions configured to install a product on a remote node, wherein

the first set of instructions is configured to receive the request from an installer program executed by the remote node;

a second set of instructions, executable by the processor, configured to communicate, to the installer program, installation information regarding the installation instructions, wherein

the installation information is configured to be communicated to the remote node over a network;

a third set of instructions, executable by the processor, configured to monitor an installation, wherein

the installation comprises an execution of the installation instructions,

the installer program causes the installation instructions to be executed by the remote node,

the execution of the installation instructions is based, at least in part, on the installation information, and

the installation is monitored by analyzing status information received from the remote node;

a fourth set of instructions, executable by the processor, configured to record results of the installation;

a fifth set of instructions, executable by the processor, configured to detect an error associated with the installation in the results, and further configured to

make a determination whether a solution to the error is available by submitting the results for analysis, wherein

the determination whether a solution to the error is available is based, at least in part, on the installation information, and

if the solution to the error is available, communicate solution-related information to the remote node over the network, wherein

the solution-related information describes information regarding the solution to the error; and

a sixth set of instructions, executable by the processor, configured to detect that no error associated with the installation is in the results, and further configured to

communicate one or more test instructions to the remote node, wherein the test instructions are configured to be executed by the remote node;

a seventh set of instructions, executable by the processor, configured to receive one or more test results from the remote node, wherein

the one or more test results indicate execution status of a test, wherein

the test comprises execution of the test instructions; and

an eighth set of instructions, executable by the processor, configured to detect that a testing error associated with the test is in the one or more test results, and further configured to

make a determination whether a solution to the testing error is available by submitting the one or more test results for a test analysis, wherein

the determination whether the solution to the testing error is available is based, at least in part, on the one or more test results, and

if the solution to the testing error is available, communicate other solution-related information to the remote node over the network, wherein

the other solution-related information is configured to describe other information regarding the solution to the testing error.

19. The non-transitory computer-readable storage medium of claim 18 , further comprising:

a ninth set of instructions, executable by the processor, configured to receive an identification of the product from the remote node, wherein

the identification of the product is received prior to identification of the installation instructions; and

a tenth set of instructions, executable by the processor, configured to request configuration information about a configuration of the remote node, in response to the receipt of the identification of the product.

20. The non-transitory computer-readable storage medium of claim 19 , wherein

the first set of instructions are further configured to use the identification of the product and the configuration information.

21. The method of claim 1 , further comprising:

determining the one or more test instructions based, at least in part, on the installation information.

22. The method of claim 21 , wherein

if a testing error associated with the execution of the test is not detected in the one or more test results,

communicating an indication of a successful installation to the remote node.

23. The method of claim 22 ,

if a testing error associated with the execution of the test is detected in the one or more test results,

the determining whether the solution to the testing error is available is performed by the installation server.

24. The method of claim 1 , wherein

the installer program is configured to

execute the installation instructions.

Assignments (6)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036205/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2008
From: VAN RIETSCHOTE, HANS FREDERIK; POOLE, JAMES CABELL
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 021002/0121 →