# US 11,907,731 B1 · Configurable cloud development environments

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

- Number: US 11,907,731 B1
- Document ID: US11907731B1
- Status: Granted
- Kind: B1
- Application number: 17/364,084
- Filed: 2021-06-30
- Granted: 2024-02-20
- Earliest claimed: 2021-06-30
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Andreas Resios; Ida Mia Olsen; Martin Oliver Rehfeld; Fabian Jakobs; Timir Karia; Jonathan Weiss
- Web page: https://patentgrep.com/patent/US11907731B1

## CPC

- G06F 8/30: Creation or generation of source code
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06Q 10/0631: Resource planning, allocation, distributing or scheduling for enterprises or organisations
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods provide for deployment of an integrated development environment configured to include one or more tools associated with specific code portions being executed within the integrated development environment. A user may provide a request to access one or more projects and definition files associated with the one or more projects may be evaluated to determine one or more tools used for execution of the source code of the one or more projects. The one or more tools may be automatically incorporated into whichever integrated development environment the user selects to ensure proper execution of the code without manual updates or installation by the user.

## Claims

### Claim 1

A computer-implemented method, comprising:
receiving a request to establish a development environment;
determining, based at least in part on the request, at least a portion of source code associated with the request;
determining, from a definition file, one or more tools associated with the portion of source code;
determining an integrated development environment (IDE) for use within the development environment;
determining an equivalent set of one or more tools for the portion of source code corresponding to the determined IDE;
determining, from a second definition file, one or more operating parameters associated with the IDE;
instantiating the development environment having at least the one or more operating parameters; and
providing an IDE connection endpoint, the IDE including the equivalent set of the one or more tools associated with the portion of source code.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
retrieving the second definition file associated with the development environment, the second definition file associated with one or more second operating parameters of the development environment, wherein the development environment is instantiated using the one or more second operating parameters.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining one or more patches or updates associated with the IDE; and
installing the one or more patches or updates.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving a request to edit the definition file;
determining the request is from an authorized user;
receiving a request to add one or more additional tools to the definition file; and
updating the definition file to include the one or more additional tools.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the development environment is provisioned within a container executed within a resource provider environment.

### Claim 6

A computer-implemented method, comprising:
determining a definition file is associated with one or more portions of a project;
identifying, within the definition file, one or more tools for execution with the one or more portions of the project;
determining, from a second definition file, one or more operating parameters associated with an integrated development environment (IDE);
determining an equivalent set of the one or more tools for the portion of source code corresponding to the determined IDE; and
attaching the IDE to a provisioned development environment having at least the one or more operating parameters, the IDE including the equivalent set of the one or more tools from the definition file.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, further comprising:
receiving a request associated with the IDE, the IDE selected from a group of IDEs; and
selecting the IDE associated with the request for the attachment.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, further comprising:
identifying the one or more portions of the project within a storage location; and
checking out the one or more portions of the project.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein the storage location is a persistent storage volume.

### Claim 10 (depends on 6)

The computer-implemented method of claim 6, further comprising:
determining one or more patches associated with the IDE; and
installing the one or more patches.

### Claim 11 (depends on 6)

The computer-implemented method of claim 6, further comprising:
providing, to one or more registered users, the definition file;
receiving a request to modify one or more tools associated with the definition file;
building the definition file, after modifying the one or more tools; and
updating the definition file responsive to modifying the one or more tools.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, further comprising:
receiving confirmation that modifying the one or more tools is successful.

### Claim 13 (depends on 6)

The computer-implemented method of claim 6, further comprising:
receiving activity information associated with the development environment;
determining that an idle time exceeds a threshold; and
suspending the development environment.

### Claim 14 (depends on 6)

The computer-implemented method of claim 6, further comprising:
determining one or more changes within the development environment are associated with non-persistent storage; and
deleting the one or more changes.

### Claim 15

A system, comprising:
at least one processor; and
memory including instructions that, when executed by the at least one processor, cause the system to:
determine a definition file is associated with one or more portions of a project;
identify, within the definition file, one or more tools for execution with the one or more portions of the project;
determine, from a second definition file, one or more operating parameters associated with an integrated development environment (IDE);
determine an equivalent set of the one or more tools for the portion of source code corresponding to the determined IDE; and
attach the IDE to a provisioned development environment having at least the one or more operating parameters, the IDE including the equivalent set of the one or more tools from the definition file.

### Claim 16 (depends on 15)

The system of claim 15, wherein the instructions when executed further cause the system to:
receive a request associated with the IDE, the IDE selected from a group of IDEs; and
select the IDE associated with the request for the attachment.

### Claim 17 (depends on 15)

The system of claim 15, wherein the instructions when executed further cause the system to:
identify the one or more portions of the project within a storage location; and
check out the one or more portions of the project wherein the one or more handlers corresponds to a command to perform at least one of a create action, a delete action, an update action, a read action, or a list action on a resource instance.

### Claim 18 (depends on 17)

The system of claim 17, wherein the storage location is a persistent storage volume.

### Claim 19 (depends on 15)

The system of claim 15, wherein the instructions when executed further cause the system to:
determine one or more patches associated with the IDE; and
prior to deploying the IDE, install the one or more patches.

### Claim 20 (depends on 15)

The system of claim 15, wherein the instructions when executed further cause the system to:
provide, to one or more registered users, the definition file;
receive a request to modify one or more tools associated with the definition file;
build the definition file, after modifying the one or more tools; and
update the definition file responsive to modifying the one or more tools.
