# US 9,218,179 B2 · Software automated data and data model upgrade system

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

- Number: US 9,218,179 B2
- Document ID: US9218179B2
- Status: Granted
- Kind: B2
- Application number: 14/241,425
- Filed: 2012-07-12
- Published: 2014-10-09
- Granted: 2015-12-22
- Earliest claimed: 2011-07-15
- Assignees: Integware, Inc.
- Applicants: Max Ray Huff, II; Gary Lewis Poole; Douglas Robert Borg; Thomas Guenter Bartz
- Inventors: Max Ray Huff, II; Gary Lewis Poole; Douglas Robert Borg; Thomas Guenter Bartz
- Web page: https://patentgrep.com/patent/US9218179B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/658: Incremental updates; Differential updates
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A set of software upgrade tools that perform automated software data model and data upgrades to a first software data model already having customizations to produce a target software data model which includes updates included in a second software data model without loss of the customizations made to the first software data model.

## Claims

### Claim 1

A computer system for upgrading a software data model and data, comprising:
a processing unit in communication with a memory element, said memory element containing a software data model repository which stores a plurality of software data models and a software data model comparator which compares:
a first software data model;
a second software data model, said second software data model comprising an upgrade delta applied to said first software data model; and
a third software data model, said third software data model comprising a customization delta applied to said first software data model, said customization delta including schema differences not included in said first software data model and said second software data model, said second software data model applied to said third software data model upon installation results in loss of said customization delta;
a delta module which returns:
upgrade deltas based on comparison of said second software data model to said first software data model; and
customization deltas based on comparison of said third software data model to said first software data model; and
a command generator which generates upgrade commands applied to said first software data model to produce a target software data model which includes said upgrade deltas and said customization deltas.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein said delta module further returns merged deltas relating to conflicts between said upgrade deltas and said customization deltas.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein said command generator further generates command rules applied to said merged deltas to resolve conflicts between said upgrade deltas and said customization deltas.

### Claim 4 (depends on 3)

The computer system of claim 3, wherein said command generator further generates command options selectable to apply one or more administrator command rules to said merged deltas to resolve conflicts between said upgrade deltas and said customization deltas.

### Claim 5 (depends on 4)

The computer system of claim 4, wherein said command generator further generates migration rules to allow data to migrate from said first software data model to said target software data model.

### Claim 6 (depends on 1)

The computer system of claim 1, wherein said software data model comparator further compares:
each incremental pair of said first software data model and said second software data model across a series of software data models; and
each incremental pair of said first software data model and said third software data model across said series of software data models.

### Claim 7 (depends on 6)

The computer system of claim 6, wherein said delta module serially returns said upgrade deltas, said customization deltas, and merged deltas for each incremental pair across said series of software data models.

### Claim 8 (depends on 7)

The computer system of claim 7, wherein said command generator applies said upgrade commands based on said returned upgrade deltas, said returned customization deltas, and said returned merged deltas for each incremental pair across said series of software data models to generate serially said target software data model to serially produce said target software data model.

### Claim 9 (depends on 1)

The computer system of claim 1, wherein said software data model comparator further discretely compares a first layer of a plurality of separate layers between each of said first software data model, said second software data model, and said third software data model to return said upgrade deltas, said customization deltas, and said merged deltas for said first layer of said plurality of separate layers.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein said command generator further generates upgrade commands based on mapping rules of said upgrade deltas, said customization deltas, and said merged deltas of said first layer of said plurality of separate layers.

### Claim 11 (depends on 10)

The computer system of claim 10, wherein said command generator further generates upgrade commands to produce a target software data model including said upgrade deltas and said customization deltas for said first layer of said plurality of separate layers without affecting a second layer of said plurality of separate layers.

### Claim 12 (depends on 11)

The computer system of claim 11, further comprising a dependency detector which detects one or more dependent elements of said second layer of said plurality of separate layers based on changes made in said first layer of said plurality of separate layers.

### Claim 13 (depends on 1)

The computer system of claim 1, wherein said software data model comparator further uninstalls said upgrade deltas from said target software data model including said customization deltas.

### Claim 14 (depends on 1)

The computer system of claim 1, wherein said software data model comparator further uninstalls said upgrade deltas from said target software data model while retaining said customization deltas.
