Microservice Context Propagation for Stateful Re-initiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud-based information processing systems, managing microservices is challenging due to the lack of efficient mechanisms for re-initiating services that fail, often resulting in the loss of processing data and increased overhead, as current approaches typically require restarting from the beginning and rolling back changes.

Innovation Solution

The implementation of context information transmission via service calls, allowing microservices to persist and communicate their state, enabling the orchestrator microservice to re-initiate them from the precise point of failure, thereby avoiding data loss and reducing processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If microservices are re-initiated using current approaches, then service failure recovery is achieved, but processing data is lost and overhead increases

Engineering Contradiction:
Improveservice failure recoveryVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by capturing and storing context information (processing state, data, metadata) before microservice failure occurs. This pre-captured context is then reused during re-initiation, eliminating the need to re-execute failed tasks and avoiding duplicate processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the microservice's execution context (state, data, metadata) that can be transmitted and stored separately. This context copy enables the microservice to resume execution without losing processing state, reducing the overhead of complete re-initialization.

Inventive Principle:
Principle #26Copying

2Productivity

If microservices transmit context information via service calls, then re-initiation efficiency is improved, but service call complexity increases

Engineering Contradiction:
Improvere-initiation efficiencyVSAvoidservice call structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the context information transmission with existing service call mechanisms. Context data is embedded within standard service call structures (headers, payloads, or metadata fields), allowing efficient context transfer without creating entirely new communication protocols or increasing structural complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes service calls multi-functional by enabling them to carry both traditional service requests/responses and context information simultaneously. This universal approach allows the same service call infrastructure to handle multiple purposes without increasing complexity.

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

3Loss of information

If microservices persist state information, then data loss is avoided, but memory usage increases

Engineering Contradiction:
Improveprocessing data retentionVSAvoidmemory consumption
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts state information from the running microservice memory and stores it externally in persistent storage systems. This separation allows the microservice to maintain minimal in-memory state while preserving processing context externally, avoiding excessive memory consumption during normal operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by storing context information with the specific microservice instance that generated it, rather than maintaining global state. This localized approach ensures that only the necessary context for each individual microservice is retained, optimizing memory usage at both local and system levels.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11599387B2Re-initiation of microservices utilizing context information provided via service calls
Publication Date: 2023.03.07 DELL PROD LP
  • US11599387B2 patent drawing
  • US11599387B2 patent drawing
  • US11599387B2 patent drawing

AI summary

An apparatus comprises a processing device configured to identify, at a first microservice, a service call that is to be transmitted to a second microservice, and to modify the service call to include context information, the context information characterizing a current state of execution of one or more tasks by one of the first microservice and the second microservice. The processing device is further configured to provide, from the first microservice to the second microservice, the modified service call including the context information. The context information enables re-initiation of said one of the first microservice and the second microservice to continue execution of the one or more tasks from the current state.