# US 10,871,962 B2 · Zero downtime maintenance in constrained systems

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

- Number: US 10,871,962 B2
- Document ID: US10871962B2
- Status: Granted
- Kind: B2
- Application number: 15/167,746
- Filed: 2016-05-27
- Published: 2017-11-30
- Granted: 2020-12-22
- Earliest claimed: 2016-05-27
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Erwin Burkhardt; Steffen Meissner; Martin Mayer; Christoph Luettge; Juergen Specht; Volker Driesen
- Web page: https://patentgrep.com/patent/US10871962B2

## CPC

- G06F 8/656: while running
- G06F 9/451: Execution arrangements for user interfaces
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and computer-readable storage media for deploying upgrade packages during zero downtime upgrade of production systems include actions of receiving an upgrade package, the upgrade package defining one or more changes to be deployed to a system that has already undergone partial deployment during a zero downtime upgrade, and including one or more objects having respective object types, receiving a deployment configuration, the deployment configuration providing a plurality of lists of object types for respective constraints and, for each list of object types, specifying a deployment option for object types in the respective list of object types, determining a set of object types included in the upgrade package, the set of object types comprising one or more object types, and selectively permitting deployment of the upgrade package to execute the one or more changes based on the set of object types and the plurality of lists of object types.

## Claims

### Claim 1

A computer-implemented method for deploying upgrade packages during a zero downtime upgrade of a database system in production use, the method being executed using one or more processors and comprising:
executing the zero downtime upgrade, during which the database system is in production use and one or more tables of a database are accessed through a bridge schema;
receiving, by the one or more processors, an upgrade package, the upgrade package defining one or more changes to be deployed to a target version of the database system that has already undergone partial deployment during a zero downtime upgrade, and comprising one or more objects having respective object types, the partial deployment altering a state of the target database system and at least partially constraining subsequent changes to the target version of the database system;
receiving, by the one or more processors, a deployment configuration, the deployment configuration providing a plurality of lists of object types for respective constraints, each object type indicating a component of the target version of the database system to be affected by the deployment configuration, and, for each list of object types, specifying a deployment option for the object types in the respective list of object types, deployment options comprising a standard deployment procedure, and an extended deployment procedure;
determining, by the one or more processors, a set of object types included in the upgrade package, the set of object types comprising one or more object types; and
selectively permitting, by the one or more processors, deployment of the upgrade package using the extended deployment procedure to execute at least one change corresponding to a grey-listed object type before switching the target version of the database system to production.

### Claim 2 (depends on 1)

The method of claim 1, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes the grey-listed object type; and
deploying the grey-listed object type using the extended deployment procedure.

### Claim 3 (depends on 2)

The method of claim 2, wherein the extended deployment procedure comprises cloning a table of the database system to include a target structure.

### Claim 4 (depends on 1)

The method of claim 1, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes one or more white-listed object types; and
deploying the one or more white-listed object types using the standard deployment procedure.

### Claim 5 (depends on 1)

The method of claim 1, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes at least one black-listed object type, and in response, rejecting the upgrade package for deployment.

### Claim 6 (depends on 1)

The method of claim 1, wherein the upgrade package is received in response to a test indicating one or more corrections are to be deployed to the system.

### Claim 7 (depends on 1)

The method of claim 1, wherein the zero downtime upgrade procedure is conducted to upgrade a production system, while the production system remains in production use.

### Claim 8

A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for deploying upgrade packages during a zero downtime upgrade of a database system in production use, the operations comprising:
executing the zero downtime upgrade, during which the database system is in production use and one or more tables of a database are accessed through a bridge schema;
receiving an upgrade package, the upgrade package defining one or more changes to be deployed to a target version of the database system that has already undergone partial deployment during a zero downtime upgrade, and comprising one or more objects having respective object types, the partial deployment altering a state of the target database system and at least partially constraining subsequent changes to the target version of the database system;
receiving a deployment configuration, the deployment configuration providing a plurality of lists of object types for respective constraints, each object type indicating a component of the target version of the database system to be affected by the deployment configuration, and, for each list of object types, specifying a deployment option for the object types in the respective list of object types, deployment options comprising a standard deployment procedure, and an extended deployment procedure;
determining a set of object types included in the upgrade package, the set of object types comprising one or more object types; and
selectively permitting deployment of the upgrade package using the extended deployment procedure to execute at least one change corresponding to a grey-listed object type before switching the target version of the database system to production.

### Claim 9 (depends on 8)

The computer-readable storage medium of claim 8, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes the grey-listed object type; and
deploying the grey-listed object type using the extended deployment procedure.

### Claim 10 (depends on 9)

The computer-readable storage medium of claim 9, wherein the extended deployment procedure comprises cloning a table of the database system to include a target structure.

### Claim 11 (depends on 8)

The computer-readable storage medium of claim 8, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes one or more white-listed object types; and
deploying the one or more white-listed object types using the standard deployment procedure.

### Claim 12 (depends on 8)

The computer-readable storage medium of claim 8, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes at least one black-listed object type, and in response, rejecting the upgrade package for deployment.

### Claim 13 (depends on 8)

The computer-readable storage medium of claim 8, wherein the upgrade package is received in response to a test indicating one or more corrections are to be deployed to the system.

### Claim 14 (depends on 8)

The computer-readable storage medium of claim 8, wherein the zero downtime upgrade procedure is conducted to upgrade a production system, while the production system remains in production use.

### Claim 15

A system, comprising:
a computing device; and
a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for deploying upgrade packages during a zero downtime upgrade of a database system in production use, the operations comprising:
executing the zero downtime upgrade, during which the database system is in production use and one or more tables of a database are accessed through a bridge schema;
receiving an upgrade package, the upgrade package defining one or more changes to be deployed to a target version of the database system that has already undergone partial deployment during a zero downtime upgrade, and comprising one or more objects having respective object types, the partial deployment altering a state of the target database system and at least partially constraining subsequent changes to the target version of the database system;
receiving a deployment configuration, the deployment configuration providing a plurality of lists of object types for respective constraints, each object type indicating a component of the target version of the database system to be affected by the deployment configuration, and, for each list of object types, specifying a deployment option for the object types in the respective list of object types, deployment options comprising a standard deployment procedure, and an extended deployment procedure;
determining a set of object types included in the upgrade package, the set of object types comprising one or more object types; and
selectively permitting deployment of the upgrade package using the extended deployment procedure to execute at least one change corresponding to a grey-listed object type before switching the target version of the database system to production.

### Claim 16 (depends on 15)

The system of claim 15, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes the grey-listed object type; and
deploying the grey-listed object type using the extended deployment procedure.

### Claim 17 (depends on 16)

The system of claim 16, wherein the extended deployment procedure comprises cloning a table of the database system to include a target structure.

### Claim 18 (depends on 15)

The system of claim 15, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes one or more white-listed object types; and
deploying the one or more white-listed object types using the standard deployment procedure.

### Claim 19 (depends on 15)

The system of claim 15, wherein selectively permitting deployment of the upgrade package comprises:
determining that the upgrade package includes at least one black-listed object type, and in response, rejecting the upgrade package for deployment.

### Claim 20 (depends on 15)

The system of claim 15, wherein the upgrade package is received in response to a test indicating one or more corrections are to be deployed to the system.
