Adaptive Function Call Sequence Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale data processing systems face inefficiencies in processing sequences of function calls, leading to high processing costs and resource consumption due to the generation of millions of intermediate results, many of which are invalid and do not contribute to the final output, and existing methods lack adaptive optimization strategies to minimize these costs.

Innovation Solution

A method and system that process a sequence of function calls on a processor, where each call is associated with an abort probability and processing cost, updating these values dynamically and rearranging the sequence based on costs to optimize processing, utilizing a monitor and optimizer to adaptively optimize the order of function calls for early invalidation and minimize processing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If function calls are processed in a fixed sequence without optimization, then the processing logic is simple, but processing costs and resource consumption are high due to generation of millions of intermediate results

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessing logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the function call sequence adaptive rather than fixed. The optimizer dynamically determines the processing order of function calls based on real-time monitoring of abort probabilities and processing costs. This allows the system to adapt to changing data characteristics and invalidate intermediate results earlier, reducing overall processing costs while maintaining manageable complexity through automated optimization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where a monitor continuously tracks the abort probabilities and processing costs of function calls during execution. This feedback information is fed back to the optimizer, which uses it to adjust and optimize the function call sequence. The feedback loop enables the system to learn from actual execution patterns and improve processing efficiency without requiring complex manual configuration.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If all intermediate results are processed through the complete function call sequence, then completeness is ensured, but resource consumption and processing time increase significantly

Engineering Contradiction:
ImproveCPU resource consumptionVSAvoidprocessing completeness
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent applies preliminary action by optimizing the sequence of function calls to perform invalidation checks as early as possible in the processing pipeline. By analyzing abort probabilities and positioning high-abort-function calls earlier in the sequence, the system invalidates intermediate results before they consume significant computational resources. This preliminary invalidation reduces overall CPU consumption while maintaining processing completeness for valid results.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements discarding and recovering by systematically identifying and discarding invalid intermediate results through the optimized function call sequence. The monitor detects when intermediate results are invalidated (aborted), and these discarded results are not further processed. This selective discarding of invalid results while preserving valid ones reduces resource consumption without compromising the completeness of final output generation.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of time

If the function call sequence is rearranged based on abort probabilities and processing costs, then processing costs are reduced, but the system complexity increases due to monitoring and optimization requirements

Engineering Contradiction:
Improveprocessing timeVSAvoidsystem architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing an automated optimization system where the monitor and optimizer components work autonomously to analyze function call characteristics and determine optimal processing sequences. The system monitors its own execution patterns, calculates abort probabilities, and rearranges function calls without external intervention. This self-service capability reduces processing time while managing system complexity through automation rather than manual configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent segments the data processing system into distinct functional components: the monitor that collects execution data, the optimizer that analyzes and determines optimal sequences, and the execution engine that processes function calls. This segmentation allows each component to specialize in its function, reducing overall system complexity while enabling sophisticated optimization. The modular architecture makes the system more manageable despite the added complexity of dynamic optimization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11157308B2Function call sequence processing
Publication Date: 2021.10.26 AMADEUS SAS
  • US11157308B2 patent drawing
  • US11157308B2 patent drawing
  • US11157308B2 patent drawing

AI summary

Methods, systems and computer program products for processing an input sequence of a plurality of function calls on at least one processor. Each function call of the plurality of function calls is associated with an abort probability, and each function call is also associated with a processing cost per function call on the basis of a number of processor instructions of the respective function call and the abort probability of the respective function calls. During processing of the function calls according to an input sequence, the abort probability for at least some of the function calls may be updated taking into consideration whether or not the processing of the respective function call caused an abort. The processing cost per function may be updated during processing, and an updated input sequence may be determined by rearranging the order of the function calls based on the processing cost.