IP Library Granted Patent US 8,495,612
Granted Patent B2
US 8,495,612 · App. 13/278,784 · Granted Jul 23, 2013

Systems and methods for upgrading a version of software

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,495,612
App. No.
13/278,784
Granted
Jul 23, 2013
Kind
B2
Abstract

Described are systems and methods for upgrading a software program between sequential or non-sequential versions. An interface definition file of a first version of the software program is stored. The software program is upgraded from the first version to a second version. The second version of the software program is stored in the memory. A determination is made regarding the availability of a difference tool. The difference tool determines according to a static comparison one or more differences between the interface definition file of the first version and an interface definition file of the second version, and generates a results file that displays the determined differences.

Claims (38)

1. A method of upgrading a software program from a first version thereof to a second version, comprising:

storing at least one interface definition file of a first version of a software program in a memory;

upgrading the software program from the first version to a second version, wherein upgrading the software program includes installing the second version of the software program in the memory;

determining an availability of a difference tool at the software program or at an installer module;

wherein in response to a determination of the availability of the difference tool, the method further comprises:

determining from the difference tool according to a static comparison one or more differences between the at least one interface definition file of the first version and at least one interface definition file of the second version; and

generating a results file that displays the determined differences.

2. The method of claim 1 , wherein the software program includes a command line interface (CLI) definition file or an application programming interface (API) definition file.

3. The method of claim 1 , wherein the first version and the second version are separated from each other by at least one other version.

4. The method of claim 1 , wherein in response to a determination of the availability of the difference tool, the method further comprises:

providing a path to the results file.

5. The method of claim 1 , wherein in response to a determination of the unavailability of the difference tool, the method further comprises:

providing a first path to the first version; and

providing a second path to the second version.

6. The method of claim 1 , wherein the files being compared are ASCII or other text files.

7. The method of claim 1 , further comprising: applying the determined differences to a configuration file or a script.

8. The method of claim 1 , wherein the installer module installs the second version of the software program in the memory, and wherein determining from the difference tool one or more differences between the first version and the second version includes comparing contents of source files of the first version and the second version, respectively, by the installer module.

9. The method of claim 1 , wherein storing a first version of a software program at a memory comprises caching the first version at an installer cache.

10. A system that generates a set of differences between software versions in response to an upgrade, comprising:

a storage repository that stores at least one interface definition file of a first version of a software program;

an installer module that upgrades the software program from the first version to a second version, and installs the second version of the software program in the memory; and

a difference tool that determines according to a static comparison one or more differences between the at least one interface definition file of the first version of the software program and at least one interface definition file of the second version of the software program, and generates a results file that displays the determined differences.

11. The system of claim 10 , wherein the installer module is configured to include the difference tool.

12. The system of claim 10 , wherein the software program is configured to include the difference tool.

13. The system of claim 10 , wherein the software program includes a command line interface (CLI) definition file or an application programming interface (API) definition file.

14. The system of claim 10 , wherein the first version and the second version are separated from each other by at least one other version.

15. The system of claim 10 , wherein the installer module provides a path to the results file.

16. The system of claim 10 , wherein the installer generates and displays a first path to the first version and a second path to the second version, and wherein the difference tool is invoked against the first version and the second version.

17. The system of claim 10 , wherein the files being compared are ASCII or other text files.

18. The system of claim 10 , wherein the installer applies the determined differences to a configuration file or a script.

19. A computer program product for upgrading a software program from a first version thereof to a second version, the computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code;

embodied therewith, the computer readable program code comprising;

computer readable program code configured to store at least one interface definition file of a first version of a software program in a memory;

computer readable program code configured to upgrade the software program from the first version to a second version, wherein upgrading the software program includes installing the second version of the software program in the memory;

computer readable program code configured to determine an availability of a difference tool at the software program or at an installer module;

computer readable program code configured to, in response to a determination of an availability of a difference tool, determining from the difference tool according to a static comparison one or more differences between the at least one interface definition file of the first version and at least one interface definition file of the second version; and

computer readable program code configured to generate a results file that displays the determined differences.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE 1ST ASSIGNEE NAME 50% INTEREST PREVIOUSLY RECORDED AT REEL: 043418 FRAME: 0692. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 1, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044348/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.
Reel/Frame 043418/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2011
From: BERTRAND, STEPHEN CHRISTOPHER; HEHIR, SALLY ANN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027113/0016 →