Dynamic Docker Pool Recycling for SaaS Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of maintaining high service performance and user experience in web services, particularly in distributed systems, is exacerbated by the difficulty in monitoring and managing data across disparate systems, tools, and layers, and ensuring account level isolation while efficiently managing multiple accounts of monitored data in a Software as a Service (SaaS) environment.

Innovation Solution

A dynamic Docker pool recycling system that uses a processor and memory to manage monitored data from agents across a network, generates a model to estimate Docker container pool capacity, dynamically allocates Docker containers based on performance alerts, and updates the model using simulations and additional usage data, integrating parameters like launching and killing times, throughput, and historical data to maintain account level isolation while reducing the number of Docker containers used.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a large number of Docker containers are allocated to service multiple accounts, then service quality and account level isolation are maintained, but resource costs increase and underused containers are wasted

Engineering Contradiction:
Improveservice qualityVSAvoidnumber of Docker containers
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic allocation of Docker containers based on real-time performance monitoring and predictive modeling. The system continuously adjusts the number of containers allocated to each account according to actual usage patterns, transforming the static resource allocation into a dynamic process that adapts to changing demands, thereby reducing waste while maintaining service quality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs performance monitoring agents that collect data from Docker containers and feed it back to the management system. This feedback loop enables the system to detect performance degradation, adjust container allocation accordingly, and maintain service quality thresholds while optimizing resource utilization through continuous monitoring and adjustment.

Inventive Principle:
Principle #23Feedback

2Productivity

If Docker containers are recycled immediately when idle, then resource utilization improves, but service response time may be degraded due to container launching time

Engineering Contradiction:
Improveresource utilizationVSAvoidcontainer launching time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a predictive modeling system that analyzes performance data and forecast future resource demands before they occur. By predicting when containers will be needed based on historical patterns and current trends, the system can pre-allocate or pre-warm containers in advance, eliminating launch delays when actual demand arises while maintaining high resource utilization during low-demand periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the idle timeout parameter for container recycling based on predicted demand patterns. Instead of using a fixed recycling threshold, the model modifies the idle time parameter in response to changing workload patterns, account priorities, and predicted future demands, allowing flexible optimization between resource utilization and response time.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If performance monitoring is implemented across distributed systems, then service quality is maintained, but system complexity increases

Engineering Contradiction:
Improveservice qualityVSAvoidmonitoring system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal performance monitoring agent that can be deployed across diverse distributed systems regardless of platform or application type. This single multi-functional agent handles multiple monitoring tasks including performance metric collection, anomaly detection, and data transmission, eliminating the need for separate monitoring solutions for different system components and reducing overall system complexity.

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

Data Source

PatentUS10419553B2Dynamic docker pool recycling
Publication Date: 2019.09.17 CISCO TECHNOLOGY INC
  • US10419553B2 patent drawing
  • US10419553B2 patent drawing
  • US10419553B2 patent drawing

AI summary

In one aspect, a system for dynamically recycling a pool of Docker containers is disclosed. The system includes a processor; a memory; and one or more modules stored in the memory and executable by a processor to perform operations. The operations include operations to manage for multiple accounts, monitored data received from agents installed at machines connected over a network, wherein the managed monitored data are associated with applications running over the machines for the multiple accounts; generate a model to estimates a Docker container pool capacity that can service the multiple accounts; receive performance alert action requests associated with the managed monitored data for at least a subset of the multiple accounts; based on the model, dynamically allocate a number of Docker containers in the pool that satisfies the estimated capacity; and update the model by performing simulations that uses additional data of Docker container usage.