# US 2014/0157251 A1 · Software version management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157251 A1
- Document ID: US20140157251A1
- Status: Published application
- Kind: A1
- Application number: 14/093,661
- Filed: 2013-12-02
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Michael D. Hocker; Michael J. Jordan; Tamas Visegrady; Klaus Werner
- Web page: https://patentgrep.com/patent/US20140157251A1

## CPC

- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/654: using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
- G06F 9/44536: {Selecting among different versions}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A software version management system comprising a host driver and at least one software module. The host driver comprises migration means to start, stop and replace the software modules on a computer system in response to replacement actions. The system is characterized by the software module being a downgradable software module comprising a compatibility database specifying dependencies between different versions of the software module; the migration means further comprising i) at least a status means to retrieve temporal information from the downgradable software module; ii) at least a downgrading means responsive to a replacement action to downgrade the downgradable software module to a particular downgrade version and to the status means, the downgrading means identifying an intermediate version of the downgradable software module; the host driver comprising restarting means responsive to the report of the completion of the intermediate version to load and start the downgrade version of the software module.

## Claims

### Claim 1

A software version management system to start, stop and replace one or more software modules on a computer system based on replacement actions, said software version management system comprising:
a memory; and
a processor in communications with the memory, wherein the software version management system is configured to perform a method, said method comprising:
retrieving temporal information from a downgradable software module, the downgradable software module comprising a compatibility database specifying dependencies between different versions of the software module;
downgrading, based on a replacement action to downgrade, the downgradable software module to a particular downgrade version, the downgrading identifying an intermediate version of the downgradable software module; and
restarting, based on a report of completion of the intermediate version, loading and starting the downgrade version of the software module.

### Claim 2 (depends on 1)

The software version management system according to claim 1, wherein the compatibility database specifies temporal dependencies between persistent data of the particular version of the software module and other versions of the software module.

### Claim 3 (depends on 2)

The software version management system according to claim 2, wherein the intermediate version of the downgradable software module is identified from the retrieved temporal dependencies and the downgrade version and is reported to the downgradable software module, wherein the intermediate version comprises logic to convert the compatibility database to the downgrade version of the downgradable software module.

### Claim 4 (depends on 1)

The software version management system according to claim 1, wherein the downgrading is based on the report of the intermediate version, and stops activities of the downgradable software module and subsequently loads and executes the intermediate version and reports the completion of the intermediate version to a host driver.

### Claim 5 (depends on 1)

The software version management system according to claim 1, wherein the downgradable software module is started after completion of the conversion of the compatibility database to the downgrade version of the downgradable software module.

### Claim 6 (depends on 1)

The software version management system according to claim 1, wherein the downgrading of the software modules is performable without service interruption.

### Claim 7 (depends on 1)

The software version management system according to claim 1, wherein the system is extendable to combine multiple databases describing compatibilities between software modules from multiple sources.

### Claim 8

A computer program product to start, stop and replace one or more software modules on a computer system based on replacement actions, said computer program product comprising:
a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
retrieving temporal information from a downgradable software module, the downgradable software module comprising a compatibility database specifying dependencies between different versions of the software module;
downgrading, based on a replacement action to downgrade, the downgradable software module to a particular downgrade version, the downgrading identifying an intermediate version of the downgradable software module; and
restarting, based on a report of completion of the intermediate version, loading and starting the downgrade version of the software module.

### Claim 9 (depends on 8)

The computer program product according to claim 8, wherein the compatibility database specifies temporal dependencies between persistent data of the particular version of the software module and other versions of the software module.

### Claim 10 (depends on 9)

The computer program product according to claim 9, wherein the intermediate version of the downgradable software module is identified from the retrieved temporal dependencies and the downgrade version and is reported to the downgradable software module, wherein the intermediate version comprises logic to convert the compatibility database to the downgrade version of the downgradable software module.

### Claim 11 (depends on 8)

The computer program product according to claim 8, wherein the downgrading is based on the report of the intermediate version, and stops activities of the downgradable software module and subsequently loads and executes the intermediate version and reports the completion of the intermediate version to a host driver.

### Claim 12 (depends on 8)

The computer program product according to claim 8, wherein the downgradable software module is started after completion of the conversion of the compatibility database to the downgrade version of the downgradable software module.

### Claim 13 (depends on 8)

The computer program product according to claim 8, wherein the downgrading of the software modules is performable without service interruption.

### Claim 14 (depends on 8)

The computer program product according to claim 8, wherein the system is extendable to combine multiple databases describing compatibilities between software modules from multiple sources.

### Claim 15

A method for starting, stopping and replacing one or more software modules on a computer system based on replacement actions, said method comprising:
retrieving temporal information from a downgradable software module, the downgradable software module comprising a compatibility database specifying dependencies between different versions of the software module;
downgrading, based on a replacement action to downgrade, the downgradable software module to a particular downgrade version, the downgrading identifying an intermediate version of the downgradable software module; and
restarting, based on a report of completion of the intermediate version, loading and starting the downgrade version of the software module.

### Claim 16 (depends on 15)

The method according to claim 15, wherein the compatibility database specifies temporal dependencies between persistent data of the particular version of the software module and other versions of the software module.

### Claim 17 (depends on 16)

The method according to claim 16, wherein the intermediate version of the downgradable software module is identified from the retrieved temporal dependencies and the downgrade version and is reported to the downgradable software module, wherein the intermediate version comprises logic to convert the compatibility database to the downgrade version of the downgradable software module.

### Claim 18 (depends on 15)

The method according to claim 15, wherein the downgrading is based on the report of the intermediate version, and stops activities of the downgradable software module and subsequently loads and executes the intermediate version and reports the completion of the intermediate version to a host driver.

### Claim 19 (depends on 15)

The method according to claim 15, wherein the downgradable software module is started after completion of the conversion of the compatibility database to the downgrade version of the downgradable software module.

### Claim 20 (depends on 15)

The method according to claim 15, wherein the downgrading of the software modules is performable without service interruption.
