Predictive Pod Failure Recovery in Distributed Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, particularly in Kubernetes, the recovery of incomplete transactions after pod failures is delayed due to the need for new pods to be created before recovery can begin, leading to unrecovered transactions and resource lockups.

Innovation Solution

Integrating a transaction manager and pod health checker into pods to record historical failure data, predict pod failures, and route recovery calls to a load balancer, allowing for immediate recovery of inflight transactions without waiting for new pod creation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If new pods are created before recovery can begin, then transaction recovery is ensured, but recovery time is delayed and resource lockups occur

Engineering Contradiction:
Improvetransaction recoveryVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The pod health checker performs preliminary actions by monitoring pod health metrics and predicting potential failures before they occur. When a pod is predicted to fail, the system proactively initiates recovery processes and redirects traffic through the load balancer before the actual failure happens, eliminating the waiting time for new pod creation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load balancer serves as an intermediary that redirects traffic away from pods predicted to fail and routes recovery calls to appropriate pods. This mediator approach allows seamless transaction recovery without requiring new pod creation, as the load balancer dynamically routes requests to healthy pods that can handle the recovery.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If pod health monitoring and failure prediction are implemented, then transaction recovery is improved, but system complexity increases

Engineering Contradiction:
Improvetransaction recoveryVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The pod health checker is integrated into the existing pod infrastructure and performs multiple functions: monitoring pod health metrics, collecting historical failure data, predicting potential failures, and triggering recovery processes. This multi-functional component reduces the need for separate specialized systems, thereby limiting the increase in system complexity while improving transaction recovery.

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

Solution Approach 2:

The system implements feedback loops where the pod health checker continuously monitors pod performance and feeds this information back to the load balancer and transaction manager. This feedback mechanism enables proactive failure prediction and automatic recovery initiation, improving reliability through a relatively simple feedback-based control system rather than complex manual intervention processes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11550672B1Machine learning to predict container failure for data transactions in distributed computing environment
Publication Date: 2023.01.10 KYNDRYL INC
  • US11550672B1 patent drawing
  • US11550672B1 patent drawing
  • US11550672B1 patent drawing

AI summary

Inflight transactions having predictable pod failure in distributed computing environments are managed by integrating a transaction manager into pods having containers running applications in a distributed computing environment, wherein the transaction manager records a transaction log having data indicative of historical pod failure. A pod health check that is also integrated into the pods determines predictive pod failure scenarios from the data of historical pod failure in the transaction log. Pod health can be tracked using the pod health checker by matching the predictive pod failure scenarios to transaction calls. Calls may be sent to a load balancer for recovery of pod failure for transaction calling match the predictive pod failure scenarios. Pods can be configured recover for the predictive pod failure.