IP Library Granted Patent US 8,341,617
Granted Patent B2
US 8,341,617 · App. 11/951,369 · Granted Dec 25, 2012

Scheduling software updates

Assignee: International Business Machines Corporation
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 8,341,617
App. No.
11/951,369
Filed
Dec 6, 2007
Granted
Dec 25, 2012
Kind
B2
Art Unit
2199
USPC
717/168
Abstract

A system and method for scheduling software updates on data processing systems. In an embodiment, software updates are scheduled on a data processing system by identifying a list of software updates; scheduling at least one primary software update for execution within a scheduled outage time based on an estimated execution time and an estimated rollback time for the at least one primary software update; executing the at least one primary software update during the scheduled outage time; and ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates. The list of software updates may also be ordered in further dependence upon evaluation of relative priorities between the software updates, any prerequisite software updates, and a performance scaling factor for the data processing system.

Claims (33)

1. A method of scheduling software updates for software on a data processing system, comprising:

identifying a list of software updates;

scheduling at least one primary software update for execution within a scheduled outage time based on an estimated execution time of the at least one primary software update, wherein the estimated execution time is determined based on actual execution times recorded from other data processing systems when performing the software update, and an estimated rollback time for the at least one primary software update to be rolled back to a previous state of the software prior to an execution of the at least one primary software update, wherein the estimated rollback time is part of a risk analysis for performing an automated rollback in an event of a failure;

executing the at least one primary software update during the scheduled outage time; and

ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates.

2. The method of claim 1 , further comprising ordering the list of software updates in dependence upon evaluation of relative priorities between the software updates, and any prerequisite software updates.

3. The method of claim 2 , further comprising adjusting the estimated execution times and rollback times with an estimated performance scaling factor in dependence upon the type of data processing system.

4. The method of claim 3 , further comprising recording metrics for executing the software updates and storing the metrics in a knowledge base, the recorded metrics including at least one of actual execution time, actual rollback time, and configuration information for the type of data processing system on which the software update was executed.

5. The method of claim 4 , further comprising:

evaluating the metrics stored in the knowledge base; and

in dependence upon the evaluation, updating at least one of the estimated execution time, rollback time, and performance scaling factor for subsequent evaluation and ordering of the software updates.

6. A system for scheduling software updates for software on a data processing system by performing a method, the method comprising:

identifying a list of software updates;

scheduling, using a computing device, at least one primary software update for execution within a scheduled outage time based on an estimated execution time of the at least one primary software update, wherein the estimated execution time is determined based on actual execution times recorded from other data processing systems when performing the software update, and an estimated rollback time for the at least one primary software update to be rolled back to a previous state of the software prior to an execution of the at least one primary software update, wherein the estimated rollback time is part of a risk analysis for performing an automated rollback in an event of a failure;

executing the at least one primary software update during the scheduled outage time; and

ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates.

7. The system of claim 6 , the method further comprising ordering the list of software updates in dependence upon evaluation of relative priorities between the software updates, and any prerequisite software updates.

8. The system of claim 7 , the method further comprising adjusting the estimated execution times and rollback times with an estimated performance scaling factor in dependence upon the type of data processing system.

9. The system of claim 8 , the method further comprising recording metrics for executing the software updates and storing the metrics in a knowledge base, the recorded metrics including at least one of actual execution time, actual rollback time, and configuration information for the type of data processing system on which the software update was executed.

10. The system of claim 9 , the method further comprising:

evaluating the metrics stored in the knowledge base; and

updating at least one of the estimated execution time, rollback time, and performance scaling factor in dependence upon the evaluation, for subsequent evaluation and ordering of the software updates.

11. A non-transitory data processor readable medium storing data processor code that when loaded into data processing device adapts the device to schedule software updates for software, the data processor readable medium comprising code for:

identifying a list of software updates;

scheduling at least one primary software update for execution within a scheduled outage time based on an estimated execution time of the at least one primary software update, wherein the estimated execution time is determined based on actual execution times recorded from other data processing systems when performing the software update, and an estimated rollback time for the at least one primary software update to be rolled back to a previous state of the software prior to an execution of the at least one primary software update, wherein the estimated rollback time is part of a risk analysis for performing an automated rollback in an event of a failure;

executing the at least one primary software update during the scheduled outage time; and

ordering the list of software updates for possible execution of at least one secondary software update in any remaining outage time, in dependence upon the estimated execution times and estimated rollback times for each of the remaining software updates.

12. The data processor readable medium of claim 11 , further comprising code for ordering the list of software updates in dependence upon evaluation of relative priorities between the software updates, and any prerequisite software updates.

13. The data processor readable medium of claim 12 , further comprising code for adjusting the estimated execution times and rollback times with an estimated performance scaling factor in dependence upon the type of data processing system.

14. The data processor readable medium of claim of claim 13 , further comprising code for recording metrics for executing the software updates and storing the metrics in a knowledge base, the recorded metrics including at least one of actual execution time, actual rollback time, and configuration information for the type of data processing system on which the software update was executed.

15. The data processor readable medium of claim 14 , further comprising code for:

evaluating the metrics stored in the knowledge base; and

modifying at least one of the estimated execution time, rollback time, and performance scaling factor in dependence upon the evaluation, for subsequent evaluation and ordering of the software updates.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2007
From: BUNN, NEIL L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020233/0495 →
Priority Claims (1)
CA 2579266 · Feb 21, 2007 · national
Continuity (1)
Related Publication 20080201702A1 · Aug 21, 2008