Automated software maintenance based on forecast usage

US9483247B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9483247-B2
Application numberUS-201414165273-A
CountryUS
Kind codeB2
Filing dateJan 27, 2014
Priority dateJan 27, 2014
Publication dateNov 1, 2016
Grant dateNov 1, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various embodiments illustrated and described herein schedule a software upgrade as part of normal workload assignment and management. In one embodiment, a workload automation system evaluates the projected workload on a system affected by a software upgrade. Policies may determine requirements that should be met during the software upgrade, such as jobs that may or may not be postponed, preferred times of software upgrade, etc. The software upgrade may also have constraints associated with it, such as a time by which the upgrade must be completed, the order of upgrade if multiple systems are involved, etc. These constraints may be part of the policies or may be separate. Based on forecasted workload automation, policies, and any other constraints a time slot for software upgrade is selected and the upgrade is scheduled for the time slot as part of a work queue.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method comprising: determining a software upgrade to be performed for a first system; forecasting utilization of the first system based, at least in part, on a schedule of a plurality of jobs to be executed on the first system and historical data of the first system; determining a first policy associated with a first job of the plurality of jobs, wherein the first job cannot be postponed based on the first policy; determining a second policy associated with a second job of the plurality of jobs, wherein the second job can be postponed based on the second policy; determining that the software upgrade has to be completed by a deadline; determining that the first job prevents the software upgrade from being completed by the deadline; in response to determining that the first job prevents the software upgrade from being completed by the deadline, assigning the first job to be executed on a second system; determining that the second job prevents the software upgrade from being completed by the deadline; in response to determining that the second job prevents the software upgrade from being completed by the deadline, postponing execution of the second job to after the deadline; selecting a time before the deadline for the software upgrade based, at least in part, on the schedule of the plurality of jobs, the reassignment of execution of the first job, the postponement of execution of the second job, the deadline, and the forecasted utilization; and scheduling the software upgrade to be executed at the selected time. 2. The method of claim 1 further comprising: selecting a plurality of times for the software upgrade based, at least in part, on the schedule of the plurality of jobs, the deadline, and the forecasted utilization, wherein the plurality of times include the selected time; and generating a report that indicates the plurality of times. 3. The method of claim 1 , wherein said forecasting utilization of the first system based, at least in part, on a schedule of a plurality of jobs to be executed on the first system and historical data of the first system comprises forecasting utilization of the first system for a period of time based, at least in part, on a schedule of a plurality of jobs to be executed on the first system and historical data of the first system, wherein the period of time complies with the deadline. 4. The method of claim 1 further comprising generating a report including the selected time. 5. The method of claim 1 further comprising delegating selecting a time for the software upgrade to a third system. 6. A first system comprising: a processor; a memory device; a computer readable storage medium having computer readable program code, the program code executable by the processor to cause the first system to: determine a software upgrade to be performed for a second system; forecast utilization of the second system based, at least in part, on a schedule of a plurality of jobs to be executed on the second system and historical data of the second system; determine a first policy associated with a first job of the plurality of jobs, wherein the first job cannot be postponed based on the first policy; determine a second policy associated with a second job of the plurality of jobs, wherein the second job can be postponed based on the second policy; determine that the software upgrade has to be completed by a deadline; determine whether the first job prevents the software upgrade from being completed by the deadline; in response to a determination that the first job prevents the software upgrade from being completed by the deadline, assign the first job to be executed on a third system; determine whether the second job prevents the software upgrade from being completed by the deadline; in response to a determination that the second job prevents the software upgrade from being completed by the deadline, postpone execution of the second job to after the deadline; select a time before the deadline for the software upgrade based, at least in part, on the schedule of the plurality of jobs, the reassignment of execution of the first job, the postponement of execution of the second job, the deadline, and the forecasted utilization; and schedule the software upgrade to be executed at the selected time. 7. The first system of claim 6 , wherein the program code executable by the processor to cause the first system to forecast utilization of the second system based, at least in part, on a schedule of a plurality of jobs to be executed on the second system and historical data of the second system comprises program code executable by the processor to cause the first system to forecast utilization of the second system for a period of time based, at least in part, on a schedule of a plurality of jobs to be executed on the second system and historical data of the second system, wherein the period of time complies with the deadline. 8. The first system of claim 6 further comprising program code executable by the processor to cause the first system to delegate selecting a time for the software upgrade to the second system. 9. The system of claim 6 further comprising program code executable by the processor to cause the first system to generate a report including the selected time. 10. The first system of claim 6 further comprising program code executable by the processor to cause the first system to: select a plurality of times for the software upgrade based, at least in part, on the schedule of the plurality of jobs, the deadline, and the forecasted utilization, wherein the plurality of times include the selected time; and generate a report that indicates the plurality of times. 11. A computer product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code to: determine a software upgrade to be performed for a first system; forecast utilization of the first system based, at least in part, on a schedule of a plurality of jobs to be executed on the first system and historical data of the first system; determine a first policy associated with a first job of the plurality of jobs, wherein the first job cannot be postponed based on the first policy; determine a second policy associated with a second job of the plurality of jobs, wherein the second job can be postponed based on the second policy; determine that the software upgrade has to be completed by a deadline; determine whether the first job prevents the software upgrade from being completed by the deadline; in response to a determination that the first job prevents the software upgrade from being completed by the deadline, assign the first job to be executed on a second system; determine whether the second job prevents the software upgrade from being completed by the deadline; in response to a determination that the second job prevents the software upgrade from being completed by the deadline, postpone execution of the second job to after the deadline; select a time before the deadline for the software upgrade based, at least in part, on the schedule of the plurality of jobs, the reassignment of execution of the first job, the postponement of execution of the second job, the deadline, and the forecasted utilization; and schedule the software upgrade to be executed at the selected time. 12. The computer program product of claim 11 , wherein the computer readable program code to schedule the software upgrade at the selected time comprises computer readable program code to schedule the software upgrade at the selected time as a wor

Assignees

Inventors

Classifications

  • considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title

  • resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence) · CPC title

  • by assessing time · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Task transfer initiation or dispatching · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9483247B2 cover?
Various embodiments illustrated and described herein schedule a software upgrade as part of normal workload assignment and management. In one embodiment, a workload automation system evaluates the projected workload on a system affected by a software upgrade. Policies may determine requirements that should be met during the software upgrade, such as jobs that may or may not be postponed, prefer…
Who is the assignee on this patent?
Ca Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).