Pre-call Thresholds for Cascading Failure Prevention in Service Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network services, excessive resource usage can occur when external calls hang or subservices are in a bad state, leading to inefficient resource sharing and potential system instability, as services wait for replies that may never come.
Innovation Solution
Implementing pre-call thresholds to evaluate and limit the number of simultaneous external calls and adjust load shedding based on subservice reliability, failing external calls that do not meet these thresholds to prevent resource exhaustion and notify services promptly of failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If services make external calls to subservices without limits, then service functionality is maintained, but system resources are exhausted and stability deteriorates
Solution Approach 1:
The patent implements pre-call threshold evaluation that checks resource availability and subservice reliability before external calls are made. This preliminary assessment prevents services from initiating calls that would lead to resource exhaustion, thereby maintaining system stability while controlling resource consumption.
Solution Approach 2:
The system proactively prevents harmful external calls by evaluating thresholds before calls are made. When thresholds indicate potential resource exhaustion or subservice unreliability, the system blocks the calls in advance, counteracting the harmful effect of excessive resource usage before it occurs.
2Productivity
If services wait for external call replies, then call completion is achieved, but resource exhaustion occurs when calls hang
Solution Approach 1:
The patent performs pre-call threshold evaluation to assess whether resources are available before initiating external calls. This ensures that only calls with sufficient resource support are made, preventing resource exhaustion from hung calls while maintaining productivity for calls that are permitted to proceed.
Solution Approach 2:
The system continuously monitors resource usage and subservice reliability, using this feedback to dynamically adjust threshold evaluations. This feedback mechanism ensures that call completion rates are maintained when resources are available, while automatically preventing calls that would lead to resource exhaustion.
3Ease of operation
If external calls are sent without evaluation, then service operations proceed smoothly, but cascading failures occur across layers
Solution Approach 1:
The patent implements pre-call threshold evaluation that assesses subservice reliability and resource availability before external calls are made. This preliminary check prevents calls to unreliable subservices, avoiding cascading failures while maintaining service operation continuity for calls that pass the evaluation.
Solution Approach 2:
The system prepares threshold evaluations and resource assessments in advance, creating a protective buffer against potential failures. By evaluating calls before they are made, the system cushions against cascading failures that would otherwise propagate through the service layer.
4Speed
If concurrency is unlimited, then service responsiveness is maintained, but resource exhaustion occurs
Solution Approach 1:
The patent evaluates concurrency thresholds before external calls are initiated, assessing whether sufficient resources are available to maintain responsiveness. This preliminary check allows high-concurrency operations when resources permit, while preventing resource exhaustion by blocking calls when thresholds are exceeded.
Data Source
AI summary
The handling of external calls from one or more services to one or more subservices is described. Upon detecting that a service has made an external call to a subservice and prior to allowing the external call to be sent to the subservice, a system evaluates the external call against one or more pre-call thresholds to determine whether or not the one or more pre-call thresholds are met. If the determination is that a pre-call threshold of the one or more pre-call thresholds is not met, the external call is failed without sending the external call to the subservice. This failing might include communicating to the service that placed the external call that the external call has failed. Otherwise, the system sends the external call to the subservice. By applying these thresholds, the service is kept from using too many resources.


