Entropy weighted message matching for opaque service virtualization
US-9582399-B2 · Feb 28, 2017 · US
US10031836B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10031836-B2 |
| Application number | US-201414535950-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 7, 2014 |
| Priority date | Jun 16, 2014 |
| Publication date | Jul 24, 2018 |
| Grant date | Jul 24, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
The invention claimed is: 1. A method of service emulation, the method comprising: recording a plurality of messages communicated between a system under test and a target system for emulation in a computer-readable memory; clustering ones of the recorded plurality of messages to define a plurality of message clusters; generating respective cluster prototypes for the plurality of message clusters with respect to the plurality of message clusters, the respective cluster prototypes comprising a commonality among the ones of the recorded plurality of messages of the corresponding message clusters, wherein the generating the respective cluster prototypes comprises: aligning the ones of the recorded plurality of messages of the corresponding message clusters according to respective positions of the ones of the recorded plurality of messages of the corresponding message clusters; identifying common characters based on a frequency of occurrence at the respective positions indicated by the aligning; and extracting a sequence comprising the common characters from the ones of the messages of the corresponding message clusters responsive to the aligning, wherein extracting the sequence comprises: determining a lack of consensus based on the frequency of occurrence at the respective positions; and inserting wildcard characters into the sequence responsive to determining the lack of consensus; automatically identifying one of the message clusters as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes; and automatically generating a response to the request for transmission to the system under test based on the one of the message clusters that was identified and transmitting the response to the system under test, wherein the recording, the clustering, the generating the respective cluster prototypes, the identifying, and the generating the response comprise operations performed by a processor coupled to the memory. 2. The method of claim 1 , wherein, for the respective cluster prototypes, the commonality comprises common characters that are selected based on a frequency of occurrence at respective positions of the ones of the messages of the corresponding message clusters. 3. The method of claim 2 , wherein: the aligning further comprises inserting gap characters among the ones of the messages of the corresponding message clusters to align the common characters at the respective positions. 4. The method of claim 1 , wherein for the respective cluster prototypes, the extracting the sequence further comprises: inserting the common characters into the sequence based on the frequency of occurrence at the respective positions being above a threshold; and inserting the wildcard characters into the sequence based on the frequency of occurrence at the respective positions being below the threshold. 5. The method of claim 4 , wherein the sequence comprising the common characters further comprises ones of the gap characters, and wherein for the respective cluster prototypes, the extracting the sequence further comprises: deleting the ones of the gap characters from the sequence. 6. The method of claim 1 , further comprising: identifying respective positions of the respective cluster prototypes as corresponding to respective information types based on a relative variability of the respective positions of the ones of the messages of the corresponding message clusters; and assigning different weightings to the respective positions of the respective cluster prototypes according to the respective information types. 7. The method of claim 6 , wherein ones of the respective positions of the respective cluster prototypes having a lower relative variability are assigned higher ones of the different weightings. 8. The method of claim 6 , wherein the identifying the one of the message clusters as corresponding to the request from the system under test comprises: calculating a similarity of the request to the respective cluster prototypes based on the different weightings assigned to the respective positions thereof and a runtime distance measure that is independent of a message structure of the request; and identifying the one of the message clusters as corresponding to the request based on the similarity of the request to a corresponding one of the cluster prototypes. 9. The method of claim 7 , wherein the runtime distance measure is normalized to account for alignment of respective positions of the request with the wildcard characters in the respective cluster prototypes. 10. The method of claim 7 , 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 requests of the one of the message clusters that was identified; identifying respective fields in the one of the 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 request from the system under test based on the respective fields that were identified. 11. 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: record a plurality of messages communicated between a system under test and a target system for emulation in a computer-readable memory; cluster ones of the plurality of messages to define a plurality of message clusters; generate respective cluster prototypes for the plurality of message clusters with respect to the plurality of message clusters, the respective cluster prototypes comprising a commonality among the ones of the plurality of messages of the corresponding message clusters wherein, to generate the respective cluster prototypes, the computer readable program code, when executed by the processor, further causes the processor to: align the ones of the messages of the corresponding message clusters according to respective positions of the ones of the recorded plurality of messages of the corresponding message clusters; identify common characters based on the frequency of occurrence at the respective positions indicated by alignment thereof; and extract a sequence comprising the common characters from the ones of the messages of the corresponding message clusters responsive to the aligning, wherein to extract the sequence, the computer readable program code, when executed by the processor, further causes the processor to: determine a lack of consensus based on the frequency of occurrence at the respective positions; and insert wildcard characters into the sequence responsive to determining the lack of consensus; automatically identify one of the message clusters as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes; and automatically generate a response to the request for transmission to the system under test based on the one of the message clusters that was identified and to transmit the response to the system under test. 12. The computer system of claim 11 , wherein, for the respective cluster prototypes, the commonality comprises common characters that are selected based on a frequency of occurrence at respective positions of the ones of the messages of the corresponding message clusters. 13. The computer system of claim 11 , wherein: to align the on
for test design, e.g. generating new test cases · CPC title
Physics · mapped topic
Environments for analysis, debugging or testing of software · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.