On-Demand Development Environment Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of provisioning, administering, and managing physical computing resources in large-scale data centers has increased, making it difficult for users to launch and manage development environments without domain-specific knowledge of the underlying infrastructure.

Innovation Solution

A provider network offers an on-demand development environment where users can launch and manage development environments without knowing the specific computer systems or configurations, using virtualization techniques to provide compute and data resources, and services like identity and access management, editor manager services, and instance pool management to handle provisioning and configuration automatically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtualization technologies are used to share physical computing resources among multiple users, then resource utilization efficiency is improved, but the complexity of provisioning and managing the underlying infrastructure increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidinfrastructure management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an on-demand development environment service as an intermediary layer between users and the virtualized infrastructure. This service automatically provisions, configures, and manages development environments on top of the virtualized computing resources, shielding users from the underlying complexity while enabling efficient resource sharing through virtualization

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If users directly manage physical computing resources in large-scale data centers, then control and customization are improved, but the difficulty of provisioning and administering resources increases

Engineering Contradiction:
Improveresource control flexibilityVSAvoidresource provisioning ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements a self-service model where users can automatically provision and manage development environments through automated service interfaces. The system handles resource allocation, environment configuration, and lifecycle management automatically, reducing operational difficulty while maintaining flexibility through programmable interfaces and API-driven workflows

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If comprehensive virtualization technologies are deployed to span multiple physical resources, then resource sharing capability is improved, but the complexity of administering the virtualized environment increases

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidvirtualization management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal development environment service that works across multiple virtualized physical resources. This service provides a standardized interface and unified management approach that can provision and manage development environments on diverse underlying hardware platforms, enabling broad resource sharing while simplifying administration through a single service model

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10938641B1On-demand development environment
Publication Date: 2021.03.02 AMAZON TECH INC
  • US10938641B1 patent drawing
  • US10938641B1 patent drawing
  • US10938641B1 patent drawing

AI summary

Techniques for providing an on-demand development environment are described. A service of a provider network receives a request to launch a development environment, such as a notebook, from an electronic device. The service obtains an identification of a computing cluster hosted by the provider network. The service obtains an identification of a compute instance hosted within the provider network, the compute instance executing a software environment to host one or more development environments. The service causes the compute instance to launch a development environment. The service sends a message to configure the launched development environment to execute a computer program written in the development environment using the computing cluster. The service generates a token to secure communications between the electronic device and the development environment and sends the token to an originator of the request.