Container-Based Server Environment Seamless Updates
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If separate servers are used for different functions, then service reliability is improved, but device complexity and management difficulty increase
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.
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.
2Reliability
If separate servers are used for different functions, then service reliability is improved, but resource utilization efficiency decreases
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.
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.
3Productivity
If containers are used for software modules, then resource utilization efficiency is improved, but ease of operation and upgrading complexity increases
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.
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.
4Productivity
If containers are used for software modules, then resource utilization efficiency is improved, but service availability during updates may be affected
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.
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.
Data Source
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.


