Kubernetes Light Switch Module for Scheduled Application Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Kubernetes platform lacks built-in functionality to schedule the turning on and off of applications, leading to increased costs due to unnecessary resource usage and power consumption.

Innovation Solution

A Kubernetes-based light switch module is implemented, which creates a filesystem with a script that interacts with the Kubernetes API to automatically control the operating state of applications by scaling replicas to zero or one based on a predefined schedule, allowing for automatic turning off and on of deployments and stateful sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications are kept running continuously in Kubernetes, then application availability is maintained, but resource consumption and operational costs increase

Engineering Contradiction:
Improveapplication availabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic action by scheduling applications to run only during specific time periods when they are needed. The system uses Kubernetes CronJobs to automatically start applications at predetermined times and shut them down when their scheduled time expires, ensuring applications are available when required while avoiding continuous operation and associated resource consumption.

Inventive Principle:
Principle #19Periodic action

2Loss of energy

If applications are automatically shut down when not in use, then cost savings are achieved, but manual reactivation is required

Engineering Contradiction:
Improvecost savingsVSAvoidmanual reactivation effort
Core Design Contradiction:
Loss of energyVSEase of operation

Solution Approach 1:

The patent applies self-service by enabling applications to automatically reactivate themselves when needed. The system monitors for events such as pod creation or deployment updates, and when detected, automatically restarts the application without requiring manual user intervention. This maintains ease of operation while achieving cost savings through automatic shutdown during idle periods.

Inventive Principle:
Principle #25Self-service

3Productivity

If a scheduling system is implemented to automatically control application states, then resource optimization is achieved, but system complexity increases

Engineering Contradiction:
Improveresource optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the scheduling functionality with existing Kubernetes native components. Instead of introducing a completely separate scheduling system, the solution integrates with Kubernetes CronJobs for scheduling and utilizes existing Kubernetes event mechanisms for automatic reactivation. This approach achieves resource optimization while minimizing the increase in system complexity by leveraging already-present infrastructure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11900119B2System and method for automatically controlling operating state of an application
Publication Date: 2024.02.13 JPMORGAN CHASE BANK NA
  • US11900119B2 patent drawing
  • US11900119B2 patent drawing
  • US11900119B2 patent drawing

AI summary

Various methods, apparatuses/systems, and media for automatically controlling operating state of one or more applications in a distributed operating system are disclosed. A processor creates a filesystem that contains a script configured for interacting with a distributed operating system application programming interface (API); and integrates the filesystem with a scheduler module to be run on a predefined schedule. The processor also creates a container, in response to the predefined schedule, in the distributed operating system, the container having the script installed therein; calls the distributed operating system API to obtain a list of applications in the distributed operating system based on the script; automatically controls the operating state of the corresponding one or more applications in the distributed operating system in response to the predefined schedule and the script; and destroys the container after controlling the operating state of the corresponding one or more applications.