Service Container Dependency Manager for Parallel Startup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions fail to manage service container dependencies effectively during the initialization phase in distributed systems, leading to service consumer containers failing or waiting indefinitely when dependent service provider containers are not up and running.

Innovation Solution

A computer-implemented method using a service container dependency manager that determines dependencies between service containers and responds to requests using stub data, allowing service containers to start simultaneously by forwarding requests or providing stub data if the dependent container is not running.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If service containers are started in traditional sequential order with dependency waiting, then service reliability is maintained, but deployment time increases and productivity decreases

Engineering Contradiction:
Improveservice reliabilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a service container dependency manager as an intermediary component that mediates between service consumer containers and service provider containers. The dependency manager intercepts service requests, determines whether the target service container is running, and either forwards requests directly or responds with stub data. This intermediary mechanism enables parallel startup of service containers while maintaining proper dependency handling, thus improving deployment speed without sacrificing reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by having the dependency manager pre-establish stub data for service provider containers before they are actually running. When a service consumer container starts, it can immediately send requests to the dependency manager, which has already prepared stub responses. This eliminates the need for service consumer containers to wait for service provider containers to initialize, enabling simultaneous startup while maintaining the appearance of proper service interaction.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If service consumer containers wait for service provider containers to be up and running, then service correctness is ensured, but service initialization time increases

Engineering Contradiction:
Improveservice correctnessVSAvoidservice initialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The dependency manager acts as an intermediary that eliminates the need for service consumer containers to directly wait for service provider containers. It intercepts requests, checks the running status of target containers, and either forwards to running containers or provides stub responses for non-running containers. This maintains service correctness while eliminating initialization waiting time.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses stub data as a copy or placeholder representation of the actual service provider container. Instead of requiring the real service container to be running, the dependency manager provides stub responses that mimic the expected service behavior. This copying approach allows service consumer containers to initialize immediately without waiting for the actual service provider, thus reducing initialization time while maintaining operational correctness.

Inventive Principle:
Principle #26Copying

3Productivity

If service containers are decoupled during initialization using stub data, then deployment speed improves, but system complexity increases

Engineering Contradiction:
Improvedeployment speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dependency manager serves as a centralized intermediary that handles all dependency resolution logic. Rather than implementing complex dependency management within each service container, the system introduces a single dependency manager that coordinates all interactions. This concentrates complexity in one manageable component while keeping individual service containers simple, thus improving deployment speed without excessively increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The dependency manager performs multiple functions: it acts as a service registry, a request router, a status monitor, and a stub data provider. By consolidating these diverse functions into a single universal component, the system achieves efficient service container decoupling and rapid deployment without proportionally increasing complexity. The multi-functional design allows one component to handle various aspects of dependency management.

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

Data Source

PatentUS10394599B2Breaking dependence of distributed service containers
Publication Date: 2019.08.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10394599B2 patent drawing
  • US10394599B2 patent drawing
  • US10394599B2 patent drawing

AI summary

Managing service container dependency is provided. A notification that a first service container is running on a host environment is received. It is determined whether the first service container is dependent on a second service container being up and running on the host environment. In response to determining that the first service container is dependent on a second service container being up and running on the host environment, it is determined whether the second service container is running on the host environment. In response to determining that the second service container is not running on the host environment, service requests from the first service container to the second service container are responded to using stub data that corresponds to the second service container.