IP Library › Patent Application 14305322
Patent Application
App. No. 14/305,322

SYSTEMS AND METHODS FOR CLUSTERING TRACE MESSAGES FOR EFFICIENT OPAQUE RESPONSE GENERATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/305,322
Abstract

In a method of service emulation, ones of a plurality of messages communicated between a system under test and a target system for emulation are clustered into message clusters. A request is received from the system under test, and one of the message clusters is identified as corresponding to the request based on a distance measure. A response to the request is generated using the one of the message clusters that was identified. Related computer systems and computer program products are also discussed.

Claims (63)

1 . A method of service emulation, the method comprising:

clustering ones of a plurality of messages communicated between a system under test and a target system for emulation into message clusters;

receiving a request from the system under test;

identifying one of the message clusters as corresponding to the request based on a distance measure; and

generating a response to the request using the one of the message clusters that was identified,

wherein the clustering, the receiving, the identifying, and the generating comprise operations performed by a processor.

2 . The method of claim 1 , wherein the distance measure is independent of a message structure of the request, and wherein the identifying the one of the message clusters is performed without calculating respective similarities of the request to the ones of the messages thereof.

3 . The method of claim 1 , further comprising:

determining respective cluster prototypes for the message clusters,

wherein the identifying comprises:

calculating a similarity of the request to the respective cluster prototypes based on the distance measure; and

identifying the one of the message clusters as corresponding to the received request based on the similarity of the received request to a corresponding one of the cluster prototypes.

4 . The method of claim 3 , wherein the determining the respective cluster prototypes comprises, for the respective message clusters:

calculating relative distances between the ones of the messages thereof based on sequence matching; and

selecting a representative message among the ones of the messages thereof as a cluster prototype therefor based on the relative distances.

5 . The method of claim 3 , wherein the determining the respective cluster prototypes comprises, for the respective message clusters:

identifying a respective commonality among the ones of the messages thereof; and

generating a cluster prototype therefor to include the respective commonality.

6 . The method of claim 5 , wherein, for the respective message clusters, the respective commonality comprises a substring sequence that is common to ones of the messages thereof.

7 . The method of claim 5 , wherein, for the respective message clusters, the respective commonality is based on a frequency of characters at respective positions in the ones of the messages thereof.

8 . The method of claim 5 , wherein, for the respective message clusters, the respective commonality comprises a common character at a particular position in the ones of the messages thereof.

9 . The method of claim 3 , further comprising:

identifying respective sections of the cluster prototypes as containing respective information types based on a relative variability of respective character positions therein; and

assigning different weightings to the respective sections of the cluster prototypes according to the respective information types contained therein,

wherein the distance measure is weighted according to the different weightings assigned to the respective sections of the cluster prototypes.

10 . The method of claim 3 , wherein the distance measure comprises an edit distance, and wherein calculating the similarity comprises:

comparing a sequence of characters in the request with a sequence of characters in the respective cluster prototypes;

aligning the received request with ones of the respective cluster prototypes based on a subsequence that is common to the sequence of characters thereof; and

computing respective edit distances between the sequence of characters of the request and the sequence of characters of the ones of the respective cluster prototypes based on the aligning.

11 . The method of claim 1 , wherein the ones of the messages of the message clusters comprise respective requests and responses associated therewith communicated between the system under test and the target system, and wherein generating the response comprises:

selecting one of the respective requests of the one of the message clusters that was identified;

identifying respective fields in the one of the respective requests and in one of the responses associated therewith as comprising a common subsequence; and

populating a field in the one of the responses with a subsequence from the received request based on the respective fields that were identified.

12 . The method of claim 1 , wherein the messages are stored in a transaction library and comprise respective requests and responses thereto communicated between the system under test and the target system, wherein the clustering comprises:

calculating relative distances between the respective requests and responses thereto based on a clustering distance measure; and

partitioning the transaction library based on the relative distances such that the message clusters respectively comprise ones of the respective requests and responses thereto having similar relative distances.

13 . The method of claim 12 , wherein the clustering distance measure is weighted according to different weightings assigned to respective sections of the messages based on a relative variability thereof as an indicator of respective information types contained therein, and wherein the message clusters respectively comprise the ones of the messages having similar information types.

14 . A computer system, comprising:

a processor; and

a memory coupled to the processor, the memory comprising computer readable program code embodied therein that, when executed by the processor, causes the processor to:

cluster ones of a plurality of messages communicated between a system under test and a target system for emulation into message clusters;

identify one of the message clusters as corresponding to a received request from the system under test based on a distance measure; and

generate a response to the request using the one of the message clusters that was identified.

15 . The computer system of claim 14 , wherein the distance measure is independent of a message structure of the request, and wherein the computer readable program code causes the processor to identify the one of the message clusters without calculating respective similarities of the received request to the ones of the messages thereof.

16 . The computer system of claim 14 , wherein the computer readable program code further causes the processor to:

determine respective cluster prototypes for the message clusters;

calculate a similarity of the received request to the respective cluster prototypes based on the sequence matching; and

identify the one of the message clusters as corresponding to the received request based on the similarity of the received request to a corresponding one of the cluster prototypes.

17 . The computer system of claim 16 , wherein, to determine the respective cluster prototypes, the computer readable program code further causes the processor to, for the respective message clusters:

calculate relative distances for the ones of the messages thereof based on sequence matching; and

select a representative message among the ones of the messages thereof as a cluster prototype therefor based on the relative distances.

18 . The computer system of claim 16 , wherein, to determine the respective cluster prototypes, the computer readable program code further causes the processor to, for the respective message clusters:

identify a respective commonality among the ones of the messages thereof; and

generate a cluster prototype therefor to include the respective commonality.

19 . The computer system of claim 16 , wherein the computer readable program code further causes the processor to:

identify respective sections of the cluster prototypes as containing respective information types based on a relative variability of respective character positions therein; and

assign different weightings to the respective sections of the cluster prototypes according to the respective information types contained therein,

wherein the distance measure is weighted according to the different weightings assigned to the respective sections of the cluster prototypes.

20 . A computer program product comprising:

a computer readable storage medium having computer readable program code embodied in the medium, the computer readable program code comprising:

computer readable code to cluster ones of a plurality of messages communicated between a system under test and a target system for emulation into message clusters;

computer readable code to identify one of the message clusters as corresponding to a received request from the system under test based on a distance measure; and

computer readable code to generate a response to the request using the one of the message clusters that was identified.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2014
From: DU, MIAO; VERSTEEG, STEVEN CORNELIS; SCHNEIDER, JEAN-GUY; HAN, JUN; GRUNDY, JOHN COLLIS
To: CA, INC.
Reel/Frame 033109/0613 →