# US 11,030,071 B2 · Continuous software deployment

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

- Number: US 11,030,071 B2
- Document ID: US11030071B2
- Status: Granted
- Kind: B2
- Application number: 16/385,534
- Filed: 2019-04-16
- Published: 2019-10-17
- Granted: 2021-06-08
- Earliest claimed: 2018-04-16
- Assignees: Armory, Inc.
- Applicants: Armory, Inc.
- Inventors: Isaac Mosquera; Ben Mappen; Andrew Backes; Alex Bello; Daniel R. Odio
- Web page: https://patentgrep.com/patent/US11030071B2

## CPC

- G06Q 10/06316: {Sequencing of tasks or work}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 8/77: Software metrics
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3409: {for performance assessment}
- G06F 11/3419: {by assessing time}
- G06F 11/3495: {for systems}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- H04L 41/5003: Managing SLA; Interaction between SLA and QoS
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 43/16: Threshold monitoring
- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- G06F 11/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/321: {Display for diagnostics, e.g. diagnostic result display, self-test user interface}
- G06F 2201/81: Threshold
- G06F 2201/835: Timestamp
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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 and systems may be used to deploy software more quickly from development to a production environment. The methods and systems may speed up the process of developing and deploying new code. Integrations may be provided to monitor aspects of the system to provide statistics and metrics for better understanding and to automatically optimize certain aspects of the software development cycle.

## Claims

### Claim 1

A computer-implemented method for automated canary deployment, the method comprising:
providing a first production hardware infrastructure running a first production code;
receiving a code update in a development environment;
launching a second production hardware infrastructure running a second production code that incorporates the code update;
directing a first portion of user traffic to the first production hardware infrastructure and a second portion of user traffic to the second production hardware infrastructure;
monitoring the performance of the first production code and the second production code in serving user traffic;
determining whether the performance of the second production code falls below a threshold performance on one or more metrics;
when the second production code does not fall below the threshold performance on the one or more metrics for a period of time, redirecting the first portion of user traffic from the first production hardware infrastructure to the second production hardware infrastructure.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
when the second production code does not fall below the threshold performance on the one or more metrics for a period of time, disabling the first production hardware infrastructure.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
when the second production code falls below the threshold performance on the one or more metrics, redirecting the second portion of user traffic to the first production hardware infrastructure and disabling the second production hardware infrastructure.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
monitoring the second production code for adverse events;
when a threshold number of adverse events is exceeded, redirecting the second portion of user traffic to the first production hardware infrastructure and disabling the second production hardware infrastructure.

### Claim 5 (depends on 1)

The method of claim 1, wherein the performance monitoring of the first production code and the second production code includes monitoring of one or more of the uptime, response time, latency and error rate.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
providing a chat bot that interactively responds to requests to perform an automated canary deployment;
the chat bot triggering an automated canary deployment in response to a user request.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
performing the automated canary deployment in response to activation of a one-click application creation process.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
automatically computing a service level agreement for the second production code based on the monitoring the performance of the second production code in serving user traffic.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
generating performance metrics based on monitoring the performance of the first production code and the second production code in serving user traffic;
displaying the performance metrics in a dashboard.

### Claim 10 (depends on 9)

The method of claim 9, wherein the performance metrics include the percentage compliance with a service level agreement over time.

### Claim 11 (depends on 9)

The method of claim 9, wherein the performance metrics include the number of deployments over time.

### Claim 12 (depends on 9)

The method of claim 9, wherein the performance metrics include the average duration of open pull requests over time.

### Claim 13 (depends on 9)

The method of claim 9, wherein the performance metrics include a measure of the amount of time spent in a plurality of stages of the software development life cycle.
