IP Library Granted Patent US 7,562,356
Granted Patent B2
US 7,562,356 · App. 10/947,676 · Granted Jul 14, 2009

Automatically resolving patch dependencies for a path bundle

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 7,562,356
App. No.
10/947,676
Granted
Jul 14, 2009
Kind
B2
Abstract

A method for automatically resolving patch dependencies for a patch bundle is disclosed. The method includes recursively performing steps a) through b) until there are no more required dependencies to be added. Step a) includes ascertaining a first plurality of patches, the first plurality of patches representing patches currently in the patch bundle. Step b) includes adding patches that are required dependencies of the first plurality of patches to the first plurality of patches, the adding excluding any of the required dependencies that is already in the first plurality of patches prior to the adding or superseded by any patch in the first plurality of patches prior to the adding.

Claims (58)

1. A computer-implemented method for automatically resolving patch dependencies for a patch bundle, comprising:

recursively performing steps a) through b) until there are no more required dependencies to be added automatically:

a) ascertaining a first plurality of patches, said first plurality of patches representing patches currently in said patch bundle; and

b) adding patches that are required dependencies of said first plurality of patches to said first plurality of patches, said adding excluding any of said required dependencies that is already in said first plurality of patches prior to said adding or superseded by any patch in said first plurality of patches prior to said adding,

wherein the adding comprises:

removing, from a list of required dependencies of said patches currently in said first plurality of patches, any patch that is one of said patches currently in said first plurality of patches;

removing from said list of required dependencies any patch that is one of said patches that are superseded by patches currently in said first plurality of patches; and

adding patches in said list of required dependencies to said first plurality of patches.

2. The method of claim 1 wherein said ascertaining said first plurality of patches includes extracting documentation pertaining to said first plurality of patches.

3. The method of claim 1 wherein said step b) includes for each recursion:

if said list of required dependencies is not empty adding patches in said list of required dependencies to said first plurality of patches, thereby increasing a membership of said first plurality of patches.

4. The method of claim 3 further comprising extracting patch documentation for said patches in said list of required dependencies if said list of required dependencies is not empty.

5. The method of claim 4 further comprising:

removing, if said list of required dependencies is empty, from said first plurality of patches any patch that is in said list of cumulative supersedes.

6. The method of claim 5 further comprising:

automatically obtaining patches from a data store; said patches representing patches identified in said first plurality of patches;

automatically creating a resultant patch bundle from said patches obtained from said data store.

7. The method of claim 5 further comprising:

presenting a human operator with a list of optional dependencies, said list of optional dependencies representing patches that are optionally dependent on said first plurality of patches;

adding any selected optionally dependent patch of said list of optional dependencies that is desired by said human operator to said first plurality of patches.

8. The method of claim 7 further comprising:

automatically obtaining patches from a data store; said patches representing patches identified in said first plurality of patches;

automatically creating a resultant patch bundle from said patches obtained from said data store.

9. A computer-implemented method for automatically resolving patch dependencies for a patch bundle, comprising:

a) ascertaining a first plurality of patches, said first plurality of patches representing patches in said patch bundle;

b) adding a set of superseded patches to a list of supersedes, said set of superseded patches representing patches that are superseded by said first plurality of patches and not already in said list of supersedes;

c) ascertaining a second plurality of patches, said second plurality of patches represent required dependencies of said first plurality of patches that are neither in said first plurality of patches nor in said list of supersedes; and

d) if said second plurality of patches has at least one member, automatically adding said second plurality of patches to said first plurality of patches, thereby increasing a number of members in said first plurality of patches and repeating step b), step c) and step d);

e) if said second plurality of patches has no members, removing superseded patches, if any, from said first plurality of patches, said superseded patches representing patches in said first plurality of patches that are also in said list of supersedes.

10. The computer-implemented method of claim 9 further comprising:

automatically obtaining patches from a data store; said patches representing patches identified in said first plurality of patches; and

automatically creating said patch bundle from said patches obtained from said data store.

11. The computer-implemented method of claim 9 wherein said ascertaining said second plurality of patches includes extracting patch documentation from patches added to said first plurality of patches in an immediately preceding step d).

12. The computer-implemented method of claim 9 further comprising:

if said second plurality of patches has no members, presenting a human operator with a list of optional dependencies, said list of optional dependencies representing patches that are optionally dependent on said first plurality of patches; and adding any selected optionally dependent patch of said list of optional dependencies that is desired by said human operator to said first plurality of patches.

13. An article of manufacture comprising a program storage medium having computer readable code embodied therein, said computer readable code being configured to automatically resolve patch dependencies for a patch bundle, comprising:

computer readable code for recursively executing computer readable code section (a) through computer readable code section (b) until there are no more required dependencies to be added automatically,

said computer readable code section (a) includes computer readable code for ascertaining a first plurality of patches, said first plurality of patches representing patches currently in said patch bundle, and said computer readable code section (b) includes computer readable code for adding patches that are required dependencies of said first plurality of patches to said first plurality of patches, said adding excluding any of said required dependencies that is already in said first plurality of patches prior to said adding or superseded by any patch in said first plurality of patches prior to said adding;

wherein said computer readable code for adding comprises:

computer readable code for removing, from a list of required dependencies of said patches currently in said first plurality of patches, any patch that is one of said patches currently in said first plurality of patches;

computer readable code for removing from said list of required dependencies any patch that is one of said patches that are superseded by patches currently in said first plurality of patches; and

computer readable code for adding patches in said list of required dependencies to said first plurality of patches.

14. The article of manufacture of claim 13 wherein said computer readable code section (a) includes computer readable code for extracting documentation pertaining to said first plurality of patches.

15. The article of manufacture of claim 13 wherein said computer readable code section (b) includes

computer readable code for

computer readable code for adding, if said list of required dependencies is not empty, patches in said list of required dependencies to said first plurality of patches, thereby increasing a membership of said first plurality of patches.

16. The article of manufacture of claim 15 further comprising computer readable code for extracting patch documentation for said patches in said list of required dependencies if said list of required dependencies is not empty.

17. The article of manufacture of claim 16 further comprising:

computer readable code for removing, if said list of required dependencies is empty, from said first plurality of patches any patch that is in said list of cumulative supersedes.

18. The article of manufacture of claim 17 further comprising:

computer readable code for automatically obtaining patches from a data store; said patches representing patches identified in said first plurality of patches;

computer readable code for automatically creating a resultant patch bundle from said patches obtained from said data store.

19. The article of manufacture of claim 18 further comprising:

computer readable code for presenting a human operator with a list of optional dependencies, said list of optional dependencies representing patches that are optionally dependent on said first plurality of patches;

computer readable code for adding any selected optionally dependent patch of said list of optional dependencies that is desired by said human operator to said first plurality of patches.

20. The article of manufacture of claim 19 further comprising:

computer readable code for automatically obtaining patches from a data store; said patches representing patches identified in said first plurality of patches;

computer readable code for automatically create a resultant patch bundle from said patches obtained from said data store.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2004
From: DEFOLO, DANIEL
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 015828/0521 →