Adaptive Workload Generation via Personality-Based User Cohorts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current load testing methods fail to accurately simulate the unpredictable and adaptive behavior of real-world users, leading to unrealistic indications of service reliability and performance under varying user behaviors, especially in microservice-based systems with complex resource allocation needs.

Innovation Solution

The method divides simulated users into cohorts with distinct personality types, using probabilistic user behavior models to determine responses to different service states, allowing for adaptive and speculative workload generation that mimics real-world user interactions, thereby identifying and addressing issues like network latency and bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional static load testing methods are used, then the testing process is simple and fast, but the testing accuracy and realism are insufficient because they cannot simulate unpredictable user behavior

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms static load testing into dynamic testing by implementing user agents with personality types that adapt their behavior based on service states. The user agents dynamically adjust their actions (retry, abandon, switch task) based on probabilistic models responding to service performance, making the load testing realistic and unpredictable like real user behavior.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of load testing by introducing personality types with different behavioral characteristics (risk tolerance, patience, task completion tendency). Each personality type has configurable probability distributions for responding to service states, allowing the testing system to simulate diverse user behaviors through parameter variation rather than fixed scripts.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If cohorts with different personality types are introduced to simulate diverse user behavior, then the realism of load testing improves, but the complexity of managing and configuring multiple user models increases

Engineering Contradiction:
Improvebehavior simulation versatilityVSAvoiduser model management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the user population into distinct cohorts, each representing a personality type with specific behavioral characteristics. This segmentation allows the system to manage complexity by grouping users with similar behaviors together, where each cohort is controlled by a single user agent instance that represents multiple users with identical personality traits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copying by creating user agent templates that represent personality types. Instead of managing individual user models, the system creates copies of user agents for each cohort, where each user agent copy inherits the behavioral parameters and probability distributions from its template, simplifying management through template-based replication.

Inventive Principle:
Principle #26Copying

3Reliability

If probabilistic user behavior models are used to determine user responses, then the simulation of real-world user adaptability improves, but the computational overhead and processing time increase

Engineering Contradiction:
Improveservice reliability indicationVSAvoidtesting execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by having user agents evaluate only the necessary service states relevant to their current task and personality type, rather than monitoring all possible service parameters. The probabilistic models compute only the specific responses needed for the current context, reducing unnecessary computational overhead while maintaining realistic behavior simulation.

Inventive Principle:
Principle #16Partial or excessive action

4Adaptability or versatility

If the system monitors and responds to service states in real-time, then the adaptability of load testing to actual service performance improves, but the computational resources and system overhead increase

Engineering Contradiction:
Improvereal-time adaptation capabilityVSAvoidcomputational resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent merges the monitoring and response functions into a unified user agent architecture. The same user agent that generates load also monitors service states and determines its next actions based on observed performance. This merging eliminates the need for separate monitoring systems and integrates adaptation directly into the load generation process, reducing overall system overhead.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11704225B2Adaptive, speculative, agent-based workload generation
Publication Date: 2023.07.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11704225B2 patent drawing
  • US11704225B2 patent drawing
  • US11704225B2 patent drawing

AI summary

Load testing a service having a plurality of different states is provided. A multitude of simulated users accessing the service are divided into a plurality of cohorts. Simulated users within a given cohort share a similar personality type. A load test of the service is performed by applying a set of service requests from each respective cohort to the service. In response to a percentage of simulated users of each cohort encountering a particular state in the service, a user response is determined for the percentage of simulated users within each cohort at that particular state based on a probabilistic user behavior model corresponding to a personality type of each cohort such that user responses at that particular state are distributed in accordance with the probabilistic user behavior model. Distributed user responses at that particular state are applied to the load test in accordance with the probabilistic user behavior model.