Service Addressing via Failure Database Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed environments, existing service addressing strategies for failure isolation are computationally costly and resource-intensive, especially during high concurrency, as they require real-time monitoring and statistics for load and concurrency, leading to inefficiencies in service invocation.

Innovation Solution

A method that involves maintaining a failure database with statistical failure times for servers, sorting and isolating failed servers based on these statistics, and randomly selecting a target server from a filtered list to reduce computational burden and improve efficiency, allowing for retry mechanisms and periodic reset of failure counts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If real-time load monitoring and statistics are performed for each service invocation, then service failure isolation is improved, but computing resources and network transmission resources are excessively occupied

Engineering Contradiction:
Improveservice failure isolationVSAvoidcomputing resources and network transmission resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent pre-calculates and stores historical load data and concurrency statistics in a database before service invocations occur. When a service invocation fails, the addressing strategy directly queries this pre-stored data to identify failed servers, avoiding the need for real-time monitoring and statistics collection during each invocation attempt.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If real-time statistics on concurrent invocation amount are performed for each service invocation, then service failure isolation is improved, but computing burden is increased

Engineering Contradiction:
Improveservice failure isolationVSAvoidcomputing burden
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-calculates and stores historical concurrency statistics in a database before service invocations occur. When a service invocation fails, the addressing strategy directly queries this pre-stored data to identify failed servers, avoiding the need for real-time statistics collection during each invocation attempt.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If weight calculation is performed for each service invocation, then service failure isolation is improved, but computing cost is increased

Engineering Contradiction:
Improveservice failure isolationVSAvoidcomputing cost
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-calculates and stores server weights in a database before service invocations occur. When a service invocation fails, the addressing strategy directly queries this pre-stored weight data to identify failed servers, avoiding the need for weight calculation during each invocation attempt.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3221795B1Service addressing in distributed environment
Publication Date: 2020.01.01 ALIBABA GROUP HOLDING LTD
  • EP3221795B1 patent drawingFigure 1
  • EP3221795B1 patent drawingFigure 2
  • EP3221795B1 patent drawingFigure 3

AI summary

An example service addressing method in a distributed environment includes: generating a service querying request, the service querying request including a querying condition; acquiring a first server address list of a target service corresponding to the querying condition; acquiring a failed server address list; deleting the failed server address list from the first server address list to obtain a second server address list; selecting a target server address from the second server address list; and initiating an invocation of the target service to the target server address. The techniques of the present disclosure improve the efficiency of the service invocation.