Software Behavior Detection via Clustering and Function Ranking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise software systems exhibit complex operational behaviors that are difficult to characterize and model effectively, leading to challenges in understanding and optimizing their performance.
Innovation Solution
A system and method for automatically detecting and characterizing software system behaviors by incrementally summarizing data using various functions, determining the optimal number of behaviors, and ranking aspects that separate these behaviors, utilizing techniques like k-means clustering and data partitioning to identify and rank operational characteristics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional performance monitoring approaches are used to track software system metrics, then data collection is straightforward, but the complexity of characterizing and modeling multiple operational behaviors increases significantly
Solution Approach 1:
The patent segments the continuous operational data into distinct behavioral modes using clustering algorithms. Each mode represents a specific operational characteristic (e.g., different response time patterns under varying workload conditions). This segmentation transforms the complex continuous data into discrete, manageable behavior categories that are easier to characterize and model.
Solution Approach 2:
The patent introduces an intermediary processing layer that automatically detects and characterizes behavioral modes between raw data collection and performance analysis. This intermediary layer uses unsupervised learning algorithms to identify patterns and create behavioral summaries, acting as a mediator that simplifies the complexity of direct behavior characterization.
2Measurement precision
If multiple functions are used to summarize behavioral data, then characterization accuracy improves, but the computational complexity and time required for analysis increases
Solution Approach 1:
The patent applies partial action by using a limited set of representative functions (e.g., linear, quadratic, exponential) to summarize behavioral data within each detected mode. Instead of attempting to model all possible behaviors with complex functions, the system selectively applies appropriate simple functions to capture the essential characteristics of each behavioral mode, achieving sufficient accuracy with reduced computational effort.
Solution Approach 2:
The system employs self-service through automatic function selection and parameter optimization. The algorithm automatically determines which function type best fits each behavioral mode and adjusts parameters without requiring manual intervention or extensive computational searching, thereby reducing analysis time while maintaining characterization accuracy.
3Loss of information
If comprehensive behavioral analysis is performed to identify all operational characteristics, then system understanding improves, but the difficulty of detecting and measuring behaviors increases
Solution Approach 1:
The patent implements feedback mechanisms where the detected behavioral modes inform subsequent data collection and analysis. The system continuously monitors operational data, detects behavioral changes, and adjusts its analysis focus based on identified patterns. This feedback loop improves system understanding over time while reducing the difficulty of detection by concentrating resources on relevant behavioral aspects.
Solution Approach 2:
The system performs preliminary action by pre-defining a set of potential behavioral modes and characteristics to look for in the data. Rather than attempting to detect all possible behaviors simultaneously, the system prepares targeted detection strategies for known operational patterns, making the detection and measurement process more manageable while still achieving comprehensive system understanding.
Data Source
AI summary
Systems and methods are described for efficiently detecting an optimal number of behaviors to model software system performance data and the aspects of the software systems that best separate the behaviors. The behaviors may be ranked according to how well fitting functions partition the performance data.


