Container Configuration Agent for Cloud Application Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container-based virtualization limits application deployment flexibility due to the requirement that each guest must use the same operating system as the host, and synchronization of configurations for applications running in containers is not efficiently managed, especially in cloud environments.

Innovation Solution

A method and system for configuring applications within containers that involves deploying a container engine and a configuration agent on a machine, where containers send configuration requests to the agent for user-specific information, and plugins within the containers communicate to receive and apply configuration settings, with the agent optionally accessing a server or local database for updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If container-based virtualization is used to improve deployment efficiency and performance, then application deployment speed and resource utilization are improved, but configuration synchronization across containers becomes complex and difficult to manage

Engineering Contradiction:
Improveapplication deployment speedVSAvoidconfiguration management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a configuration management system that acts as an intermediary between containers and configuration sources. This system includes configuration agents deployed on machines that receive containers, configuration plugins within containers that communicate with agents, and configuration servers that store and distribute configuration information. This intermediary layer automates configuration synchronization, eliminating manual management complexity while maintaining fast deployment speeds.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary configuration actions by pre-fetching and caching configuration information locally on machines before containers are fully deployed or activated. When a container is received, the configuration agent proactively retrieves configuration data from servers or databases in advance, so that when the container needs configuration, it is already available locally, enabling rapid automated configuration without manual intervention.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If containers are set up in just-in-time mode to improve resource utilization, then resource efficiency is improved, but configuration initialization time increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidconfiguration initialization time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The configuration system performs preliminary actions by pre-fetching configuration information from remote servers and caching it locally on machines before containers are activated. When a container is deployed in just-in-time mode, the configuration agent already has the configuration data available locally, enabling immediate configuration without network delays. This preliminary caching action reduces initialization time while maintaining efficient resource utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the configuration retrieval and container deployment processes by having the configuration agent integrated on the same machine that receives and manages containers. The agent combines local caching capabilities with remote server communication, merging multiple configuration sources into a unified configuration delivery mechanism that operates seamlessly during just-in-time container deployment.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If configuration information is stored locally on machines to reduce access time, then configuration access speed is improved, but data synchronization and update management become more difficult

Engineering Contradiction:
Improveconfiguration access speedVSAvoiddata synchronization complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The configuration agent implements feedback mechanisms by periodically checking for configuration updates from remote servers and comparing them with locally cached configuration data. When updates are detected, the agent automatically retrieves and applies them. This feedback loop ensures local configurations remain synchronized with central servers, maintaining fast local access speeds while automatically managing data synchronization without manual intervention.

Inventive Principle:
Principle #23Feedback

4Stability of the object's composition

If a centralized configuration server is used to manage all configuration information, then configuration control and consistency are improved, but network dependency and access latency increase

Engineering Contradiction:
Improveconfiguration consistencyVSAvoidconfiguration access speed
Core Design Contradiction:
Stability of the object's compositionVSSpeed

Solution Approach 1:

The patent adds a spatial dimension to configuration storage by implementing a hierarchical configuration architecture. Configuration information exists in multiple dimensions: centrally on remote servers for master control and consistency, and locally cached on individual machines for fast access. This multi-dimensional storage approach allows the system to simultaneously achieve configuration consistency through centralized management and fast access through local caching, eliminating the trade-off between these two requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10901966B2Synchronizing configurations for container hosted applications
Publication Date: 2021.01.26 VMWARE INC
  • US10901966B2 patent drawing
  • US10901966B2 patent drawing
  • US10901966B2 patent drawing

AI summary

An application executing in a containerized environment may be configured at started up by deploying a configuration agent to execute in a container engine. For each container deployed, instantiating a user configuration plugin and one or more applications to execute in the container. The user configuration plugin may send a request to the configuration agent to request for configuration information relating to the application. The configuration plugin may receive configuration information from the configuration agent and used the received configuration information to configure the application.