# US 2023/0058477 A1 · Managing and distributing patches for multi-tenant applications

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

- Number: US 2023/0058477 A1
- Document ID: US20230058477A1
- Status: Published application
- Kind: A1
- Application number: 17/408,564
- Filed: 2021-08-23
- Published: 2023-02-23
- Earliest claimed: 2021-08-23
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Peng Hui Jiang; Jun Su; Hong Qing Zhou; Zhang Li; Yan Lin Ren
- Web page: https://patentgrep.com/patent/US20230058477A1

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3692: {for test results analysis}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects include applying a patch to a first instance of software code and verifying that the first instance of the software code with the patch applied is operating as expected. The verifying includes sending a request to the first instance of the software code and sending the request to a second instance of the software code where the patch was previously applied. The verifying also includes comparing a first result received from the first instance of the software code in response to the request and a second result received from the second instance of the software code in response to the request. The verifying further includes determining that the first instance of the software code with the patch applied is operating as expected based on the first result being within a similarity threshold of the second result.

## Claims

### Claim 1

A computer-implemented method comprising:
applying a patch to a first instance of software code; and
verifying that the first instance of the software code with the patch applied is operating as expected, the verifying comprising:
sending a request to the first instance of the software code and sending the request to a second instance of the software code, wherein the patch was previously applied to the second instance of the software code;
comparing a first result received from the first instance of the software code in response to the request and a second result received from the second instance of the software code in response to the request; and
determining that the first instance of the software code with the patch applied is operating as expected based on the first result being within a similarity threshold of the second result.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein a first operational log including the first result is written to cache storage and a second operational log including the second result is written to persistent storage.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the first instance of the software code and the second instance of the software code are included in a group of instances of the software code, and the patch is applied to the instances of the software code in the group in an order that is determined based least in part on a patch deployment plan.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first instance of the software code is executing in a first container and the second instance of the software code is executing in a second container.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein any one or more of multiple tenants are configured to send the request to the first instance of the software code.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising determining that the first instance of the software code with the patch applied is not operating as expected based on the first result not being within the similarity threshold of the second result.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, further comprising backing out the patch from the first instance of the software code in response to determining that the first instance of the software code with the patch applied is not operating as expected.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the similarity threshold is generated based at least in part on defined rules that include levels of similarity.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the similarity threshold is based at least in part on a similarity ratio.

### Claim 10

A system comprising:
one or more processors for executing computer-readable instructions, the computer-readable instructions controlling the one or more processors to perform operations comprising:
applying a patch to a first instance of software code; and
verifying that the first instance of the software code with the patch applied is operating as expected, the verifying comprising:
sending a request to the first instance of the software code and sending the request to a second instance of the software code, wherein the patch was previously applied to the second instance of the software code;
comparing a first result received from the first instance of the software code in response to the request and a second result received from the second instance of the software code in response to the request; and
determining that the first instance of the software code with the patch applied is operating as expected based on the first result being within a similarity threshold of the second result.

### Claim 11 (depends on 10)

The system of claim 10, wherein a first operational log including the first result is written to cache storage and a second operational log including the second result is written to persistent storage.

### Claim 12 (depends on 10)

The system of claim 10, wherein the first instance of the software code and the second instance of the software code are included in a group of instances of the software code, and the patch is applied to the instances of the software code in the group in an order that is determined based least in part on a patch deployment plan.

### Claim 13 (depends on 10)

The system of claim 10, wherein the first instance of the software code is executing in a first container and the second instance of the software code is executing in a second container.

### Claim 14 (depends on 10)

The system of claim 10, wherein any one or more of multiple tenants are configured to send the request to the first instance of the software code.

### Claim 15 (depends on 10)

The system of claim 10, wherein the operations further comprise determining that the first instance of the software code with the patch applied is not operating as expected based on the first result not being within the similarity threshold of the second result.

### Claim 16 (depends on 15)

The system of claim 15, wherein the operations further comprise backing out the patch from the first instance of the software code in response to determining that the first instance of the software code with the patch applied is not operating as expected.

### Claim 17 (depends on 10)

The system of claim 10, wherein the similarity threshold is generated based at least in part on defined rules that include levels of similarity.

### Claim 18 (depends on 10)

The system of claim 10, wherein the similarity threshold is based at least in part on a similarity ratio.

### Claim 19

A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:
applying a patch to a first instance of software code; and
verifying that the first instance of the software code with the patch applied is operating as expected, the verifying comprising:
sending a request to the first instance of the software code and sending the request to a second instance of the software code, wherein the patch was previously applied to the second instance of the software code;
comparing a first result received from the first instance of the software code in response to the request and a second result received from the second instance of the software code in response to the request; and
determining that the first instance of the software code with the patch applied is operating as expected based on the first result being within a similarity threshold of the second result.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein a first operational log including the first result is written to cache storage and a second operational log including the second result is written to persistent storage.
