Managing a software-patch submission queue

US2016306618A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016306618-A1
Application numberUS-201514742566-A
CountryUS
Kind codeA1
Filing dateJun 17, 2015
Priority dateApr 16, 2015
Publication dateOct 20, 2016
Grant date

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.

Queued software patches are analyzed before one patch is chosen as the next patch to be integrated into a working build. The chosen patch might not be next in chronological order of arrival at the queue. Instead, an illustrative build server applies a number of priority factors to every patch awaiting integration in the patch queue, specifically by analyzing one or more relevant attributes of the patch. The patch that receives the highest priority score in the course of the evaluation is then extracted for integration. After the patch has been integrated, the build server (e.g., using an illustrative patch queue manager module) circles back and again evaluates all the patches in the current queue, which may have queued new patches that were submitted while the previous patch was being integrated. Relative to a default chronological order, a given patch may receive a boost in priority or, conversely, may have its priority reduced.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method for managing software patch submissions for a working build, the method comprising executing on a first computing device the steps of: receiving, by the first computing device, a plurality of submissions of software patches from one or more second computing devices, wherein each software patch comprises one or more executable software files and is submitted for integration into a first set of executable software files that collectively defines a working build; queueing, by the first computing device, the plurality of submitted software patches into a queue; assigning, by the first computing device, to each software patch in the queue, a respective priority score based on: (i) a default value based on the time that the respective software patch arrived at the queue; and (ii) at least one priority factor that may change the respective default value based on one or more attributes of the respective software patch; selecting, by the first computing device, a first patch from the queue as the next patch to be integrated into the working build, wherein first patch has the highest priority score among the software patches in the queue, and wherein the first patch is not the earliest software patch to arrive at the queue; and integrating the first patch into the working build, resulting in an updated working build that comprises the functionality of the first patch. 2 . The computer-implemented method of claim 1 wherein at least one of the attributes of the first software patch indicates the functional content of the software patch. 3 . The computer-implemented method of claim 1 wherein at least one of the attributes of the first software patch associates the respective software patch with another software patch also in the queue. 4 . The computer-implemented method of claim 1 wherein at least one of the attributes of the first software patch indicates a dependency between the respective software patch and another software patch currently or previously in the queue. 5 . The computer-implemented method of claim 1 wherein at least one of the attributes of the first software patch indicates a geographical location from which the first software patch was submitted. 6 . The computer-implemented method of claim 1 wherein at least one of the attributes of the first software patch associates the first software patch with a preferred feature. 7 . The computer-implemented method of claim 1 wherein the at least one priority factor performs one or more of the following operations: (a) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch fixes a problem with an earlier software patch which partially failed integration into the working build; (b) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch depends from an antecedent software patch that has been successfully integrated into the working build; (c) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch depends from an antecedent software patch that has been successfully integrated into the working build, and also indicate that the given software patch previously had its priority score lowered before the antecedent software patch had been integrated into the working build; (d) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch has been successfully tested with one or more customers before being submitted to the queue; (e) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch has been given a higher importance; (f) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch comprises preferred content; (g) raises the priority score of a given software patch whose one or more attributes indicate that the given software patch is associated with a functionality that has been given a higher importance; (h) raises the priority score of a given software patch that has been in the queue for longer than a predefined period of time; (i) raises the priority score of a given software patch that has been in the queue for more than a predefined number of integration cycles; (j) raises the priority score of a given software patch based on the geographic location from which it has been submitted; and (k) raises the priority score of a given software patch based on the geographic location from which it has been submitted and the time of day at the geographic location. 8 . A system for managing software patch submissions for a working build, the system comprising: a first computing device that comprises at least one processor and non-transitory computer memory; a plurality of second computing devices for generating and submitting one or more respective software patches; a storage device for storing at least one version of the working build generated by the first computing device; and wherein the first computing device is programmed to: receive a plurality of submissions of software patches from the one or more second computing devices, wherein each software patch comprises one or more executable software files and is submitted for integration into a first set of executable software files that collectively defines the working build; queue the plurality of submitted software patches into a queue; assign a respective priority score to each software patch in the queue, wherein each respective priority score is based on: (i) a default value based on the time that the respective software patch arrived at the queue; and (ii) at least one priority factor based on one or more attributes of the respective software patch; select a first patch from the queue as the next patch to be integrated into the working build, wherein first patch has the highest priority score among the software patches in the queue, and wherein the first patch is not the earliest software patch to arrive at the queue; and integrate the first patch into the working build, resulting in an updated working build that comprises the functionality of the first patch. 9 . The system of claim 8 wherein the at least one priority factor raises the priority score of a given software patch whose one or more attributes indicate that the given software patch fixes a problem with an earlier software patch which partially failed integration into the working build. 10 . The system of claim 8 wherein the at least one priority factor raises the priority score of a given software patch whose one or more attributes indicate that the given software patch depends from an antecedent software patch that has been successfully integrated into the working build. 11 . The system of claim 8 wherein the at least one priority factor raises the priority score of a given software patch whose one or more attributes indicate that the given software patch depends from an antecedent software patch that has been successfully integrated into the working build, and also indicate that the given software patch previously had its priority score lowered before the antecedent software patch had been integrated into the working build. 12 . The system of claim 8 wherein the at least one priority factor raises the priority score of a given software patch whose one or more attributes indicate that the given software patch has been successfully tested with one or more customers before being submitted to the queue.

Assignees

Inventors

Classifications

  • G06F8/65Primary

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

  • Compilation · 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 US2016306618A1 cover?
Queued software patches are analyzed before one patch is chosen as the next patch to be integrated into a working build. The chosen patch might not be next in chronological order of arrival at the queue. Instead, an illustrative build server applies a number of priority factors to every patch awaiting integration in the patch queue, specifically by analyzing one or more relevant attributes of t…
Who is the assignee on this patent?
Commvault Systems 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 Thu Oct 20 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).