Container-Based Server Environment Seamless Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional server environments require separate servers for different functions, leading to complex management and maintenance, and are inefficient in resource utilization compared to container-based systems.

Innovation Solution

A container-based server environment where multiple software modules are run as separate containers that can communicate and scale dynamically, allowing for seamless updates and resource allocation without downtime, using container orchestration engines like Kubernetes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate servers are used for different functions, then service reliability is improved, but device complexity and management difficulty increase

Engineering Contradiction:
Improveservice reliabilityVSAvoidmanagement complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple separate server functions into a unified container-based server environment where database operations, document storage, web serving, and collaboration functions coexist in a single integrated system. This reduces the number of separate servers needed while maintaining service reliability through container isolation and orchestration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The server environment is designed to provide multiple functions through a single multi-functional platform that can host various software modules as containers. This universal server can dynamically allocate resources to different functions based on demand, reducing complexity while maintaining reliability.

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

2Reliability

If separate servers are used for different functions, then service reliability is improved, but resource utilization efficiency decreases

Engineering Contradiction:
Improveservice reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple server functions into a single container-based environment, allowing shared resources such as CPU, memory, and storage to be utilized across all functions. This eliminates resource duplication while maintaining service reliability through container isolation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The server environment dynamically allocates and adjusts resource distribution to different containerized functions based on real-time demand. This dynamic resource management improves overall utilization efficiency while ensuring each function receives adequate resources to maintain reliability.

Inventive Principle:
Principle #15Dynamics

3Productivity

If containers are used for software modules, then resource utilization efficiency is improved, but ease of operation and upgrading complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidupgrading ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by automatically detecting available updated software images before upgrades are needed. The orchestration engine pre-prepares updated container images and validates them, so that when upgrading is required, the process can proceed smoothly with minimal manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The container-based system enables self-service upgrading where the orchestration engine automatically manages the upgrade process. It can self-configure new containers with updated software, perform rolling updates, and manage resource allocation without requiring manual operational intervention, thus improving ease of operation despite the complexity of container management.

Inventive Principle:
Principle #25Self-service

4Productivity

If containers are used for software modules, then resource utilization efficiency is improved, but service availability during updates may be affected

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidservice availability during updates
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements continuous service availability during updates through rolling update mechanisms. While some containers are being updated, other identical containers continue to handle requests, ensuring uninterrupted service. The orchestration engine manages the transition seamlessly, maintaining continuous useful action without service downtime.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system prepares updated container images and validates them before actual deployment. This beforehand cushioning ensures that updates are ready and tested prior to activation, preventing service disruption. The orchestration engine maintains a buffer of updated containers ready to take over if needed, cushioning against potential update failures.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11829742B2Container-based server environments
Publication Date: 2023.11.28 STRATEGY INC
  • US11829742B2 patent drawing
  • US11829742B2 patent drawing
  • US11829742B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for container-based server environments. In some implementations, a server environment is provided using a plurality of containers that provide instances of different software modules. The plurality of containers includes a first container running a first software image of a particular software module. Various operations can be performed in response to determining that an updated software image is available for the particular software module. For example, execution is started for a second container that provides an instance of the updated software image. Incoming requests are to the second container while continuing to process, using the first container, one or more requests that were received before starting execution of the second container. In response to determining that a level of activity of the first container is below a threshold, the execution of the first container is stopped.