IP Library › Granted Patent US 9,489,189
Granted Patent B2
US 9,489,189 · App. 13/773,478 · Granted Nov 8, 2016

Dynamically generate and execute a context-specific patch installation procedure on a computing system

Inventors: Vijay N. Sriram (Bangalore, IN); Mack S. Ningombam (Bangalore, IN); Girish K. Balachandran (Mountain View, CA); Weishi Liu (Shenzhen, CN); Timothy C. Misner (Palo Alto, CA)
Assignee: Oracle International Corporation
G06F8/65G06F8/60G06F8/61
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,489,189
App. No.
13/773,478
Granted
Nov 8, 2016
Kind
B2
Abstract

A patch installation procedure may be generated and executed that is specific both to the patch and the configuration of the target computing system. Configuration data may be received that indicates the configuration of the target computing system. Installation metadata for the patch, describing the operations to be performed for installing the patch may also be received. A patch installation procedure may be generated that is based on both the configuration data and the installation metadata. This patch installation procedure may then be executed to automatically install the patch on the target computing system. In at least some embodiments, the target computing system may a distributed computing system including multiple nodes.

Claims (65)

1. A method, comprising:

performing, by one or more computing devices:

receiving configuration data indicating a configuration of a computing system that is a target for installation of a patch;

receiving installation metadata for the patch to be installed on the computing system, wherein said installation metadata describes operations to be performed for installing the patch;

based on both the configuration data and the installation metadata, generating a plurality of installation instructions for the patch specific to the patch and the configuration of the computing system indicated by the configuration data;

accessing a patch mapping data store to obtain automation mapping data linking the installation instructions to a plurality of components configured to carry out the installation instructions, wherein the automation mapping data links individual ones of the plurality of installation instructions to respective ones of the plurality of components;

generating, based at least in part on the automation mapping data linking the installation instructions to the components configured to carry out the one or more installation instructions, a patch installation procedure for automatically installing the patch on the computing system, wherein the patch installation procedure is specific to the patch and a configuration of the computing system indicated by the configuration data; and

executing the patch installation procedure to automatically install the patch on the computing system.

2. The method of claim 1 , further comprising:

receiving an indication of an installation option; and

modifying the patch installation procedure for execution in accordance with the installation option.

3. The method of claim 1 , wherein the computing system is a distributed computing system comprising a plurality of nodes, and wherein the configuration data comprises a configuration model that indicates a configuration of the plurality of nodes of the distributed computing system.

4. A system, comprising:

one or more computer processors and associated memory; and

a patch installation procedure generator implemented by the one or more computer processors of the system, configured to:

receive configuration data indicating a configuration of a computing system that is a target for installation of a patch;

receive installation metadata for the patch to be installed on the computing system, wherein said installation metadata describes operations to be performed for installing the patch;

based on both the configuration data and the installation metadata, generate a plurality of installation instructions for the patch specific to the patch and the configuration of the computing system indicated by the configuration data;

access a patch mapping data store to obtain automation mapping data linking the installation instructions to a plurality of components configured to carry out the installation instructions, wherein the automation mapping data links individual ones of the plurality of installation instructions to respective ones of the plurality of components;

generate, based at least in part on the automation mapping data linking the installation instructions to the components configured to carry out the installation instructions, a patch installation procedure for automatically installing the patch on the computing system, wherein the patch installation procedure is specific to the patch and the configuration of the computing system indicated by the configuration data;

a patch installation module implemented by the one or more computer processors of the system, configured to:

receive as input the patch installation procedure; and

execute the patch installation procedure to automatically install the patch on the computing system.

5. The system of claim 4 , wherein the computing system is a distributed computing system comprising a plurality of nodes.

6. The system of claim 5 , wherein the configuration data comprises a configuration model that indicates a configuration of the plurality of nodes of the distributed computing system, and wherein the system further comprises:

a configuration model generator, configured to:

access configuration data for each of the plurality of nodes; and

generate the configuration model based on the accessed configuration data.

7. The system of claim 4 , wherein at least one or more of the plurality of installation instructions is an abstract instruction type, and wherein, to build the patch installation procedure from the plurality of installation instructions, the patch installation procedure generator is further configured to:

for the one or more installation instructions of the abstract installation type, generate one or more directly executable installation instructions to be performed in place of the one or more installation instructions.

8. The system of claim 4 , wherein the patch installation module is further configured to:

receive an indication of an installation option; and

modify the patch installation procedure for execution in accordance with the installation option.

9. The system of claim 8 , wherein the installation option is one of a plurality of different installation options, and wherein the plurality of different installation options comprise at least one of:

in-place patch installation;

out-of-place patch installation;

rolling patch installation; or

parallel patch installation.

10. The system of claim 4 , wherein said patch is one of a set of patches, and wherein the patch installation procedure generator is configured to repeat said receiving installation metadata and said generating a patch installation procedure for each other patch of the set of patches, and wherein the patch installation module is configured to repeat said executing the patch installation procedure to install each other patch of the set of patches.

11. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices implement:

a patch installation procedure generator, configured to:

receive configuration data indicating a configuration of a computing system that is a target for installation of a patch;

receive installation metadata for the patch to be installed on the computing system, wherein said installation metadata describes operations to be performed for installing the patch;

based on both the configuration data and the installation metadata, generate a plurality of installation instructions for the patch specific to the patch and the configuration of the computing system indicated by the configuration data;

access a patch mapping data store to obtain automation mapping data linking the installation instructions to a plurality of components configured to carry out the installation instructions, wherein the automation mapping data links individual ones of the plurality of installation instructions to respective ones of the plurality of components;

generate, based at least in part on the automation mapping data linking the installation instructions to the components configured to carry out the installation instructions, a patch installation procedure for automatically installing the patch on the computing system, wherein the patch installation procedure is specific to the patch and a configuration of the computing system indicated by the configuration data;

a patch installation module, configured to:

receive as input the patch installation procedure; and

execute the patch installation procedure to automatically install the patch on the computing system.

12. The non-transitory, computer-readable storage medium of claim 11 , wherein the computing system is a distributed computing system comprising a plurality of nodes.

13. The non-transitory, computer-readable storage medium of claim 12 , wherein the configuration data comprises a configuration model that indicates a configuration of the plurality of nodes of the distributed computing system, and wherein the program instructions when executed by the one or more computing devices further implement:

a configuration model generator, configured to:

access configuration data for each of the plurality of nodes; and

generate the configuration model based on the accessed configuration data.

14. The non-transitory, computer-readable storage medium of claim 11 , wherein at least one or more of the plurality of installation instructions is an abstract instruction type, and wherein, to build the patch installation procedure from the plurality of installation instructions, the patch installation procedure generator is further configured to:

for the one or more installation instructions of the abstract installation type, generate one or more directly executable installation instructions to be performed in place of the one or more installation instructions.

15. The non-transitory, computer-readable storage medium of claim 11 , wherein the patch installation module is further configured to:

receive an indication of an installation option; and

modify the patch installation procedure for execution in accordance with the installation option.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein the installation option is one of a plurality of different installation options, and wherein the plurality of different installation options comprise at least one of:

in-place patch installation;

out-of-place patch installation;

rolling patch installation; or

parallel patch installation.

17. The non-transitory, computer-readable storage medium of claim 11 , wherein a different target computing system is the target of the same patch, and wherein the patch installation procedure generator is configured to perform said receiving the configuration data, said receiving installation metadata, and said generating a patch installation procedure for the different target computing system, and wherein the patch installation procedure generated for the different target computing system is different than the patch installation procedure generated for the computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2013
From: SRIRAM, VIJAY N.; NINGOMBAM, MACKS S.; BALACHANDRAN, GIRISH K.; LIU, WEISHI; MISNER, TIMOTHY C.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 029897/0626 →
Continuity (1)
Related Publication 20140237463A1 · Aug 21, 2014