Service Emulation via Message Clustering Prototypes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In enterprise software environments, ensuring the quality of systems interacting with third-party services is challenging due to the complexity of recreating production-like conditions for testing, as traditional testing techniques are inadequate for simulating the behavior of heterogeneous and large-scale systems, especially when access to real services is restricted or costly.

Innovation Solution

A method of service emulation that records and clusters messages between a system under test and a target system, generating cluster prototypes to identify matching requests and responses, allowing for the synthesis of protocol-conformant responses without prior knowledge of the service protocol, using clustering algorithms like Needleman-Wunsch and entropy-weighted message matching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual protocol specification is used for service emulation, then accuracy of response generation is improved, but time consumption and complexity increase significantly

Engineering Contradiction:
Improveaccuracy of response generationVSAvoidtime consumption for protocol specification
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system automatically generates service protocols by analyzing recorded message interactions between the system under test and target services. The protocol is derived self-service style from actual runtime messages without requiring manual specification, thereby eliminating time consumption while maintaining accuracy through real interaction data

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary recording of actual message interactions between the system under test and target services before emulation begins. These recorded messages are stored and analyzed to automatically generate the service protocol in advance, preparing the emulation environment without manual intervention during the testing phase

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If complete message clustering is performed for all recorded messages, then response generation accuracy is improved, but processing time increases

Engineering Contradiction:
Improveresponse generation accuracyVSAvoidresponse generation speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system segments the message clustering process by first identifying and extracting common prefixes from message groups. This segmentation allows the system to process only the variable suffix portions of messages, significantly reducing processing time while maintaining clustering accuracy through hierarchical organization of common and variable elements

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and separates the common prefix portion from each message in the cluster. By taking out the invariant prefix elements and processing only the variable suffix portions, the system reduces the computational burden of complete message comparison while preserving the accuracy needed for correct response generation

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If service virtualization is implemented without access to real services, then testing independence is improved, but realism of test environment decreases

Engineering Contradiction:
Improvetesting independenceVSAvoidrealism of test environment
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system creates virtual copies of target services by recording actual message interactions with real services and using these recordings to generate emulated service responses. The copying approach captures real service behavior patterns, message formats, and interaction sequences, providing testing independence while maintaining realism through faithful replication of actual service dynamics

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10031836B2Systems and methods for automatically generating message prototypes for accurate and efficient opaque service emulation
Publication Date: 2018.07.24 CA TECH INC
  • US10031836B2 patent drawing
  • US10031836B2 patent drawing
  • US10031836B2 patent drawing

AI summary

In a method of service emulation, a plurality of messages communicated between a system under test and a target system for emulation are recorded in a computer-readable memory. Ones of the messages are clustered to define a plurality of message clusters, and respective cluster prototypes are generated for the message clusters. The respective cluster prototypes include a commonality among the ones of the messages of the corresponding message clusters. One of the message clusters is identified as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes, and a response to the request for transmission to the system under test is generated based on the one of the message clusters that was identified. Related computer systems and computer program products are also discussed.