IP Library › Granted Patent US 9,483,248
Granted Patent B2
US 9,483,248 · App. 14/332,205 · Granted Nov 1, 2016

Automatic generation and execution of server update processes

Inventor: Karthikeyan Ramasamy (Palani, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F8/65G06F8/67G06F8/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,483,248
App. No.
14/332,205
Granted
Nov 1, 2016
Kind
B2
Abstract

A method of updating a plurality of servers may include receiving a plurality of patch requests, receiving a selection of a computing environment from a plurality of computing environments, and selecting patch requests from the plurality of patch requests that are associated with the selected computing environment. The method may also include accessing a configuration for the selected computing environment, and generating patch command scripts for each of the selected patch requests. The patch command scripts may be generated based on the configuration of the selected computing environment and a respective selected patch request. The method may additionally include executing each of the patch command scripts to update the plurality of servers.

Claims (84)

1. A method of updating a plurality of servers, the method comprising:

receiving, by a computer system, a plurality of patch requests;

receiving, by the computer system, a selection of a computing environment from a plurality of computing environments, wherein the selected computing environment comprises a plurality of servers;

determining a plurality of software applications operating on the plurality of servers in the first computing environment;

selecting, by the computer system, patch requests from the plurality of patch requests that are associated with the plurality of software applications operating in the selected computing environment;

accessing, by the computer system, a configuration for the selected computing environment;

generating, by the computer system, and in response to receiving the selection of the computing environment, patch command scripts for each of the selected patch requests, wherein the patch command scripts comprise information copied from the configuration of the selected computing environment;

causing, by the computer system, each of the plurality of servers in the selected computing environment to stop execution;

executing, by the computer system, each of the patch command scripts on the selected computing environment while the plurality of servers have stopped execution; and

causing, by the computer system, each of the plurality of servers in the selected computing environment to restart execution after each of the patch command scripts have been executed.

2. The method of claim 1 , further comprising:

selecting, by the computer system, a first patch request from the selected patch requests, wherein the first patch request replaces a software module present in a first application running in the selected computing environment;

determining, by the computer system, additional applications in the selected computing environment that also include the software module;

automatically, by the computer system, generating additional patch command scripts for the first patch request, wherein the additional patch command scripts target the additional applications in the selected computing environment; and

executing each of the additional patch command scripts to update the plurality of servers.

3. The method of claim 1 , further comprising:

querying, by the computer system, each of the plurality of servers to determine a server status for each of the plurality of servers prior to executing each of the patch command scripts to update the plurality of servers.

4. The method of claim 1 , wherein the selected computing environment comprises web services within an Enterprise Software System.

5. The method of claim 1 , further comprising:

recording, by the computer system, over time, a pattern of patch requests for the selected computing environment;

determining, by the computer system, that a first patch request in the selected patch requests deviates from the pattern of patch requests for the selected computing environment; and

automatically changing, by the computer system, a patch command script to be consistent with the pattern of patch requests instead of the first patch request.

6. The method of claim 1 , further comprising:

receiving, by the computer system, user credentials from an administrator; and

logging, by the computer system, into a plurality of computers using the user credentials, wherein the plurality of computers are involved in executing the patch command scripts.

7. The method of claim 6 , further comprising:

encrypting, by the computer system, the user credentials;

storing, by the computer system, the encrypted user credentials locally on the computer system; and

automatically decrypting, by the computer system, and using the user credentials during a subsequent patch session.

8. The method of claim 1 , further comprising:

identifying, by the computer system, software modules in the selected computing environment that will be affected by the execution of the patch command scripts; and

saving, by the computer system, a copy of each of the software modules prior to executing each of the patch command scripts.

9. The method of claim 8 , wherein the copy of each of the software modules includes a timestamp indicating when the software module was affected by the execution of the patch command scripts.

10. The method of claim 1 , further comprising writing, by the computer system, details associated with the execution of each of the patch command scripts to a log file.

11. The method of claim 1 , wherein each of the plurality of patch requests is associated with a .JAR file to be replaced in applications running in the selected computing environment.

12. The method of claim 1 , wherein the configuration comprises:

paths for software modules that are affected by the patch command scripts; and

a path for a backup storage location.

13. A non-transitory computer-readable medium comprising instructions which, when executed by one or more processors, causes the one or more processors to perform operations comprising:

receiving a plurality of patch requests;

receiving a selection of a computing environment from a plurality of computing environments, wherein the selected computing environment comprises a plurality of servers;

determining a plurality of software applications operating on the plurality of servers in the first computing environment;

selecting patch requests from the plurality of patch requests that are associated with the plurality of software applications operating in the selected computing environment;

accessing a configuration for the selected computing environment;

generating, in response to receiving the selection of the computing environment, patch command scripts for each of the selected patch requests, wherein the patch command scripts comprise information copied from the configuration of the selected computing environment;

causing each of the plurality of servers in the selected computing environment to stop execution;

executing each of the patch command scripts on the selected computing environment while the plurality of servers have stopped execution; and

causing each of the plurality of servers in the selected computing environment to restart execution after each of the patch command scripts have been executed.

14. The non-transitory computer-readable medium according to claim 13 wherein the instructions cause the one or more processors to perform additional operations comprising:

selecting a first patch request from the selected patch requests, wherein the first patch request replaces a software module present in a first application running in the selected computing environment;

determining additional applications in the selected computing environment that also include the software module;

automatically generating additional patch command scripts for the first patch request, wherein the additional patch command scripts target the additional applications in the selected computing environment; and

executing each of the additional patch command scripts to update the plurality of servers.

15. The non-transitory computer-readable medium according to claim 13 wherein the instructions cause the one or more processors to perform additional operations comprising:

recording, over time, a pattern of patch requests for the selected computing environment;

determining that a first patch request in the selected patch requests deviates from the pattern of patch requests for the selected computing environment; and

automatically changing a first patch command script to be consistent with the pattern of patch requests instead of the first patch request.

16. The non-transitory computer-readable medium according to claim 13 wherein the instructions cause the one or more processors to perform additional operations comprising:

identifying software modules in the selected computing environment that will be affected by the execution of the patch command scripts; and

saving a copy of each of the software modules prior to executing each of the patch command scripts.

17. The non-transitory computer-readable medium according to claim 13 wherein the configuration comprises:

paths for software modules that are affected by the patch command scripts; and

a path for a backup storage location.

18. A system comprising:

one or more processors; and

one or more memory devices comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a plurality of patch requests;

receiving a selection of a computing environment from a plurality of computing environments, wherein the selected computing environment comprises a plurality of servers;

determining a plurality of software applications operating on the plurality of servers in the first computing environment;

selecting patch requests from the plurality of patch requests that are associated with the plurality of software applications operating in the selected computing environment;

accessing a configuration for the selected computing environment;

generating, in response to receiving the selection of the computing environment, patch command scripts for each of the selected patch requests, wherein the patch command scripts comprise information copied from the configuration of the selected computing environment;

causing each of the plurality of servers in the selected computing environment to stop execution;

executing each of the patch command scripts on the selected computing environment while the plurality of servers have stopped execution; and

causing each of the plurality of servers in the selected computing environment to restart execution after each of the patch command scripts have been executed.

19. The system of claim 18 wherein the instructions further cause the one or more processors to perform additional operations comprising:

selecting a first patch request from the selected patch requests, wherein the first patch request replaces a software module present in a first application running in the selected computing environment;

determining additional applications in the selected computing environment that also include the software module;

automatically generating additional patch command scripts for the first patch request, wherein the additional patch command scripts target the additional applications in the selected computing environment; and

executing each of the additional patch command scripts to update the plurality of servers.

20. The system of claim 18 wherein the instructions further cause the one or more processors to perform additional operations comprising:

recording, over time, a pattern of patch requests for the selected computing environment;

determining that a first patch request in the selected patch requests deviates from the pattern of patch requests for the selected computing environment; and

automatically changing a first patch command script to be consistent with the pattern of patch requests instead of the first patch request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2014
From: RAMASAMY, KARTHIKEYAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 033317/0867 →
Continuity (1)
Related Publication 20160019043A1 · Jan 21, 2016