Automated Containerized Server Instance Creation in IDEs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in automatically creating instances of containerized servers within Integrated Development Environments (IDEs), particularly when deploying code to docker containers, due to the lack of standardized methods and intricacies specific to each server type.

Innovation Solution

A method and system that registers containerized servers in a framework, creates docker images with metadata, and automatically generates instances of containerized servers by executing a wrapper class corresponding to the project runtime ID, facilitating seamless server instance creation within the IDE.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a user manually configures each containerized server type individually, then the server can be deployed to the docker container, but the user must spend significant time investigating and understanding each server's specific intricacies and connection methods

Engineering Contradiction:
Improveserver deployment capabilityVSAvoidtime spent investigating server connection
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary layer (the framework with wrapper classes) between the user and the diverse containerized servers. This intermediary automatically handles the complexity of different server types, protocols, and connection methods, allowing users to deploy servers without investigating each server's specific intricacies while maintaining reliable deployment capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The framework provides universal server creation functionality that works across multiple containerized server types (Liberty, Node.js, Glassfish, Node-RED, etc.). Instead of requiring separate manual configuration for each server type, the universal framework handles all server types through standardized wrapper classes, eliminating the need for users to learn server-specific connection methods

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

2Adaptability or versatility

If the IDE provides manual server creation tools, then users can create docker containers, but there is no standardized or generic way to create instances of different server types

Engineering Contradiction:
Improveserver type compatibilityVSAvoidlack of standardized creation method
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The framework implements universal server creation functionality through a standardized API that works across all containerized server types. The createServer() method provides a consistent interface for creating Liberty, Node.js, Glassfish, Node-RED, and other server instances, eliminating the need for server-type-specific creation procedures while maintaining broad adaptability

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

Solution Approach 2:

The framework uses parameter-based differentiation to handle diverse server types. Instead of requiring different creation methods for each server type, the system accepts a standardized set of parameters (serverType, dockerContainer, host, port, etc.) and automatically configures the appropriate server instance, providing both standardization and versatility

Inventive Principle:
Principle #35Parameter changes

3Extent of automation

If users manually configure server connections in the IDE, then specific server instances can be created, but the process lacks automation and requires user intervention for each server type

Engineering Contradiction:
Improveautomatic server instance creationVSAvoiduser effort in server configuration
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The framework enables self-service automation where the system automatically creates server instances based on standardized parameters. The createServer() method autonomously handles server initialization, configuration, and connection establishment without requiring user intervention for each server type, achieving high automation while maintaining ease of operation through a simple API

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The framework performs preliminary configuration actions by pre-defining wrapper classes for different server types with their specific protocols and connection methods. When createServer() is called, the framework has already prepared the necessary configuration templates, allowing automatic server instance creation without requiring users to perform manual configuration steps

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11733974B2Method and system for automatically creating instances of containerized servers
Publication Date: 2023.08.22 HCL AMERICA INC
  • US11733974B2 patent drawing
  • US11733974B2 patent drawing
  • US11733974B2 patent drawing

AI summary

Method and system of automatically creating an instance of a containerized server within an Integrated Development Environment (IDE) is provided. The method includes registering a containerized server in a framework, upon a request from a server developer and creating a docker image from within IDE upon a first request from an end user. The docker image includes metadata corresponding to a project and includes project runtime ID and list of exposed ports. The method includes creating a docker container from within IDE upon a second request from end user, using docker image and based on metadata. The method further includes automatically creating and upon creating the docker container, an instance of the containerized server within the IDE by executing a wrapper class corresponding to the project runtime ID and to the containerized server. The containerized server corresponds to the docker container and wrapper class may be executed by the framework.