JP5733103B2 - Analysis device, analysis method, and analysis method - Google Patents

Analysis device, analysis method, and analysis method Download PDF

Info

Publication number
JP5733103B2
JP5733103B2 JP2011180901A JP2011180901A JP5733103B2 JP 5733103 B2 JP5733103 B2 JP 5733103B2 JP 2011180901 A JP2011180901 A JP 2011180901A JP 2011180901 A JP2011180901 A JP 2011180901A JP 5733103 B2 JP5733103 B2 JP 5733103B2
Authority
JP
Japan
Prior art keywords
message
transaction
model
access
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011180901A
Other languages
Japanese (ja)
Other versions
JP2013045179A (en
Inventor
横山 乾
乾 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011180901A priority Critical patent/JP5733103B2/en
Publication of JP2013045179A publication Critical patent/JP2013045179A/en
Application granted granted Critical
Publication of JP5733103B2 publication Critical patent/JP5733103B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本明細書は、ネットワーク上で伝達されるメッセージについての分析処理技術に関する。   The present specification relates to an analysis processing technique for a message transmitted on a network.

最近のIT(情報通信技術)を利用したコンピュータシステムは大規模かつ複雑な構成であることが多い。例えば、オンラインバンキングの入金や振込み処理など、各種業務サービスがWebサーバ/アプリケーションサーバ/データベース(DB)サーバからなるWeb3階層システムにて提供される例が増えている。こういったシステムは、業務の効率化やセキュリティ対策などの理由から大規模で複雑な構成である。また、即時性を要求される業務サービスが多く、サービス停止やレスポンス悪化は問題である。そのため、大規模システムに対する運用状況の詳細な把握や性能問題の迅速な解決が求められる。   Computer systems using recent IT (information and communication technology) often have large-scale and complicated configurations. For example, an increasing number of business services such as online banking payment and transfer processing are provided by a Web three-tier system including a Web server / application server / database (DB) server. Such a system has a large-scale and complicated configuration for reasons such as operational efficiency and security measures. In addition, there are many business services that require immediacy, and service stoppage and response deterioration are problems. For this reason, detailed understanding of the operation status for large-scale systems and quick resolution of performance problems are required.

しかも、複数のアプリケーションが連携して動作する複雑なシステム(Web3階層システムなど)で、性能劣化や障害の原因を突き止めるためには、サーバそれぞれの挙動だけでなくシステム全体としての性能を観測・分析することが必要である。例えば、Web3階層システムにおいては、Webサーバへの処理要求に伴ってアプリケーションサーバへの処理要求が発生する場合がある。アプリケーションサーバ・DBサーバ間についても同様である。こういったアプリケーション間における処理の呼出関係は、性能問題のシステム内への波及を調べる上で必要である。   In addition, in a complex system (such as a Web three-tier system) in which multiple applications work together, in order to determine the cause of performance degradation and failure, not only the behavior of each server but also the performance of the entire system is observed and analyzed. It is necessary to. For example, in a Web three-tier system, a processing request to an application server may occur with a processing request to a Web server. The same applies to the application server / DB server. Such a process call relationship between applications is necessary to investigate the spread of performance problems into the system.

そこで、複数のサーバが接続されたネットワークの運用形態をコンピュータで分析するためのシステム分析方法として次の技術がある。
まず、メッセージ観測手段が、ネットワークを介して受け渡されるメッセージを収集する。メッセージ解析手段が、収集したメッセージの内容を解析して、メッセージで要求されている処理種別、及びリクエストメッセージかレスポンスメッセージかを判別し、判別された情報をプロトコルログとしてプロトコルログ記憶手段に格納する。モデル生成指示が入力されると、モデル生成手段は、プロトコルログ記憶手段に格納されたプロトコルログにおける処理種別毎のリクエストメッセージとレスポンスメッセージとの対応関係により、処理種別に対応する各処理を識別する。そして、モデル生成手段は、処理間の呼出関係の確からしさに基づく選択基準に従って選択されたメッセージ集合に基づき、処理間の呼出関係に関する制約条件を満たすトランザクションモデルを生成する。それから、モデル生成手段は、生成した前記トランザクションモデルをトランザクションモデル記憶手段に格納する。分析指示が入力されると、分析手段はトランザクションモデル記憶手段に格納されたトランザクションモデルで示される呼出関係に合致するプロトコルログをプロトコルログ記憶手段から抽出する。分析手段は、抽出されたプロトコルログに示されるメッセージで構成されるトランザクションの処理状態を分析する。
Therefore, there is the following technique as a system analysis method for analyzing the operation mode of a network to which a plurality of servers are connected by a computer.
First, the message observation means collects messages passed through the network. The message analysis means analyzes the contents of the collected message to determine the processing type requested by the message and whether it is a request message or a response message, and stores the determined information as a protocol log in the protocol log storage means . When a model generation instruction is input, the model generation unit identifies each process corresponding to the process type based on the correspondence between the request message and the response message for each process type in the protocol log stored in the protocol log storage unit. . Then, the model generation means generates a transaction model that satisfies the constraint condition regarding the call relationship between processes based on the message set selected according to the selection criteria based on the probability of the call relationship between processes. Then, the model generation unit stores the generated transaction model in the transaction model storage unit. When the analysis instruction is input, the analysis unit extracts from the protocol log storage unit a protocol log that matches the call relationship indicated by the transaction model stored in the transaction model storage unit. The analysis unit analyzes the processing state of the transaction configured by the message indicated in the extracted protocol log.

特開2006−011683号公報JP 2006-011683 A 特開2010−198322号公報JP 2010-198322 A 特開平5−327878号公報JP-A-5-327878

サーバのオペレーティングシステム(OS)やミドルウェアをアップデートした場合、既存のシステムが従来通り動くかどうかを確認するための検証テストを行う必要がある。ここで、一例として、Web3階層システムをテスト対象システムとして、テスト対象システムの検証テストについて以下に説明する。Web3階層システムは、Webサーバ、アプリケーション(AP)サーバ、データベース(DB)サーバを含む。Webサーバ、APサーバ、及びDBサーバは、スイッチと接続されている。また、スイッチはパーソナルコンピュータ(クライアント)と分析装置に接続されている。   When the server operating system (OS) or middleware is updated, it is necessary to perform a verification test to confirm whether the existing system works as usual. Here, as an example, a verification test of a test target system will be described below using a Web three-tier system as a test target system. The Web three-tier system includes a Web server, an application (AP) server, and a database (DB) server. The Web server, AP server, and DB server are connected to the switch. The switch is connected to a personal computer (client) and an analyzer.

スイッチは、自身を通過するデータをミラーリングする機能を有している。ミラーリングとは、あるポートに出力されるデータと同じデータを、他のポートからも出力する機能である。分析装置は、Webサーバ、APサーバ、及びDBサーバが互いにやり取りするパケットをスイッチのミラーリング機能を用いて受信することができる。   The switch has a function of mirroring data passing through the switch. Mirroring is a function for outputting the same data as data output to a certain port from other ports. The analysis apparatus can receive packets exchanged between the Web server, the AP server, and the DB server using the mirroring function of the switch.

例えば、クライアントからの要求に応じて、Webサーバ、APサーバ、及びDBサーバが連動してサービスを提供する場合を想定する。この場合の検証テストでは、まず、クライアントからWebサーバに対してパケット(例えば、HTTP(HyperText Transfer Protocol)のパケット)が送信される。このとき、HTTPパケットと同じ内容のパケットが分析装置に入力される。   For example, it is assumed that a Web server, an AP server, and a DB server provide services in conjunction with a request from a client. In the verification test in this case, first, a packet (for example, an HTTP (HyperText Transfer Protocol) packet) is transmitted from the client to the Web server. At this time, a packet having the same content as the HTTP packet is input to the analyzer.

次に、WebサーバからAPサーバへパケット(例えば、IIOP(Internet Inter-ORB Protocol)のパケット。以下、IIOPパケット)が送信されると、IIOPパケットと同じ内容のパケットが分析装置に入力される。さらに、APサーバからDBサーバ4へ、パケット(例えば、SQLパケット)が送信されると、SQLパケットと同じ内容のパケットが分析装置に入力される。   Next, when a packet (for example, an IIOP (Internet Inter-ORB Protocol) packet, hereinafter referred to as an IIOP packet) is transmitted from the Web server to the AP server, a packet having the same content as the IIOP packet is input to the analyzer. Further, when a packet (for example, an SQL packet) is transmitted from the AP server to the DB server 4, a packet having the same content as the SQL packet is input to the analyzer.

分析装置は、受信したパケットに基づいてメッセージを解析し、上記のシステム可視化技術を用いてWeb3階層システムの稼働状態を分析する。ここでは、分析装置は事前に作成したトランザクションモデルで示される呼出関係に合致するプロトコルログを、受信したパケットのログから抽出する。分析装置は、抽出されたプロトコルログに示されるメッセージで構成されるトランザクションの処理状態を分析する。これにより、クライアントからの要求に対する一連のシステム(Webサーバ、APサーバ、及びDBサーバ)の処理(トランザクション)を分析することができる。   The analysis device analyzes the message based on the received packet, and analyzes the operating state of the Web three-tier system using the above-described system visualization technology. Here, the analysis apparatus extracts the protocol log that matches the call relationship indicated by the transaction model created in advance from the log of the received packet. The analysis device analyzes the processing state of the transaction including the message indicated in the extracted protocol log. This makes it possible to analyze a series of system (Web server, AP server, and DB server) processes (transactions) in response to a request from a client.

しかしながら、性能テストのように、複数のトランザクションが並行して実行される場合、後段のメッセージがどのトランザクションモデルに属するか区別するのが難しい。これについて、図1を用いて説明する。   However, when a plurality of transactions are executed in parallel as in the performance test, it is difficult to distinguish which transaction model the subsequent message belongs to. This will be described with reference to FIG.

図1は、Web3階層システムにおいて複数のトランザクションが並行して実行される場合のメッセージの呼び出し関係を説明する図である。図1では、HTTP−aのメッセージで開始するトランザクションのModel 1と、HTTP−bのメッセージで開始するトランザクションのModel 2がある。   FIG. 1 is a diagram for explaining message calling relationships when a plurality of transactions are executed in parallel in a Web three-tier system. In FIG. 1, there is a Model 1 of a transaction that starts with an HTTP-a message and a Model 2 of a transaction that starts with an HTTP-b message.

しかしながら、Model 1とModel 2のトランザクションが並行して実行された場合、Webサーバ−APサーバ間及びAPサーバ−DBサーバ間を流れるメッセージが、どちらのモデルに属するメッセージか区別をつけるのが難しい。   However, when transactions of Model 1 and Model 2 are executed in parallel, it is difficult to distinguish which model the message flowing between the Web server and the AP server and between the AP server and the DB server belongs.

そのため、OS)やミドルウェアをアップデート前後のテスト結果を比較するだけでは、システムに問題が発生しているかどうかを正確に検証することは難しい。また、もし問題が発生していることが分かっても、どこでその問題が発生しているかを特定することは難しい。   Therefore, it is difficult to accurately verify whether or not a problem has occurred in the system only by comparing the test results before and after updating the OS) and middleware. Also, even if it is known that a problem has occurred, it is difficult to identify where the problem has occurred.

このように、テスト対象システムのOSやミドルウェアのアップデート後の検証テストでは、その検証結果を解析するのに手間がかかったり、また、正確な解析結果を得ることが難しい。   As described above, in the verification test after updating the OS and middleware of the test target system, it takes time to analyze the verification result, and it is difficult to obtain an accurate analysis result.

そこで、本実施形態では、OSやミドルウェアのアップデート後の検証テストにおいて、問題が発生した場合の原因分析作業の効率化を図る分析技術を提供する。   Therefore, the present embodiment provides an analysis technique for improving the efficiency of cause analysis work when a problem occurs in a verification test after updating the OS or middleware.

分析装置は、照合部、不良モデル抽出部、部分トランザクション抽出部を含む。照合部は、コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合する。そして、照合部は、モデルに合致するトランザクションと、トランザクションを構成するメッセージ以外の不一致メッセージとを取得する。不良モデル抽出部は、第2のアクセにおいて実行されたモデルから、取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出する。部分トランザクション抽出部は、不一致メッセージから、不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する。 The analysis device includes a collation unit, a defective model extraction unit, and a partial transaction extraction unit. The collating unit collates the model of the transaction generated using the message obtained by the first access between the computers and the message obtained by the second access. Then, the collation unit acquires a transaction that matches the model and a mismatch message other than the messages that make up the transaction. Defect model extraction unit, from the model that is executed in the second access, and extracts the defect model indicating the models except the model that matches the acquired transaction. The partial transaction extraction unit extracts a partial transaction including a message partially matching the defective model from the mismatch message.

分析装置は、収集部、モデル生成部、対応情報生成部、照合部、不一致メッセージ取得部、不良モデル抽出部、仮親子関係構築部、部分トランザクション探索部、残りメッセージ抽出部、不良トランザクション確定部を含む。   The analysis device includes a collection unit, a model generation unit, a correspondence information generation unit, a verification unit, a mismatch message acquisition unit, a defective model extraction unit, a temporary parent-child relationship construction unit, a partial transaction search unit, a remaining message extraction unit, and a defective transaction determination unit. Including.

収集部は、ネットワークで接続されたコンピュータ間で送受されるメッセージを収集する。
モデル生成部は、第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、第1の処理時間帯を解析する。第1の処理時間帯は、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される。モデル生成部は、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析する。モデル生成部は、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとする。モデル生成部は、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとする。この場合、モデル生成部は、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとする。
The collection unit collects messages sent and received between computers connected via a network.
The model generation unit analyzes the first processing time zone by using the first message collected when the first access is made from the first computer to the second computer. The first processing time zone is indicated by the difference between the collection times of the request message and the response message that are paired for each communication protocol. The model generation unit analyzes the request message and the response message that form a pair having the second processing time zone included in the first processing time zone. The model generation unit uses the request message and response message corresponding to the first processing time zone as a caller message. The model generation unit uses a request message and a response message corresponding to the second processing time zone as a call destination message. In this case, the model generation unit analyzes a message group constituting one transaction and sets the analyzed message group as a transaction model.

対応情報生成部は、前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成する。   The correspondence information generation unit associates the first access log including the location information of the first access destination obtained when the first access is made and the first access time with the transaction model. Generate correspondence information.

照合部は、前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合する。照合部は、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得する。   The collation unit collates the second message collected when the second access is made from the first computer to the second computer and the transaction model. The collation unit acquires a transaction that matches the transaction model from the second message.

不一致メッセージ取得部は、前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得する。   The mismatch message acquisition unit acquires a mismatch message other than a message constituting a transaction that matches the transaction model from the second message as a result of the collation.

不良モデル抽出部は、前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出する。不良モデル抽出部は、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出する。 The defective model extraction unit obtains the second access log including the location information of the second access destination obtained when the second access is made and the second access time and the correspondence information from the second access log. extracting the executed transaction model in the access. Defect model extraction unit, from the transaction model performed in the second access, to extract the failure transaction model showing the transaction model of non-transactional model that matches the acquired transaction.

仮親子関係構築部は、前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析する。仮親子関係構築部は、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析する。仮親子関係構築部は、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とする。仮親子関係構築部は、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築する。   The temporary parent-child relationship construction unit analyzes the third processing time zone indicated by the difference between the request message and the response message collection time for each communication protocol, using the mismatch message. The temporary parent-child relationship construction unit analyzes the request message and the response message that form a pair having the fourth processing time zone included in the third processing time zone. The temporary parent-child relationship construction unit sets the request message and response message corresponding to the third processing time zone as parent message candidates, and sets the request message and response message corresponding to the fourth processing time zone as child message candidates. The temporary parent-child relationship constructing unit constructs a temporary parent-child relationship using the parent message candidate and the child message candidate.

部分トランザクション探索部は、前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合する。部分トランザクション探索部は、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索する。   The partial transaction search unit collates the inconsistent message in which the temporary parent-child relationship is established with the bad transaction model. The partial transaction search unit searches for a partial transaction indicating a transaction including a message partially matching the bad transaction model.

残りメッセージ抽出部は、前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出する。   The remaining message extraction unit extracts a remaining message indicating a mismatch message other than the messages constituting the partial transaction from the mismatch message in which the temporary parent-child relationship is established.

不良トランザクション確定部は、前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出する。不良トランザクション確定部は、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する。   The bad transaction determination unit calculates a call probability represented by a reciprocal of the number of the partial transactions having the remaining message as a child message candidate. The bad transaction determination unit selects a combination of the partial transaction having the highest call probability and the remaining message, and determines a transaction indicated by the combination as a bad transaction.

本明細書に記載の分析装置によれば、OSやミドルウェアのアップデート後の検証テストにおいて、問題が発生した場合の原因分析作業の効率化を図ることができる。   According to the analysis device described in the present specification, it is possible to improve the efficiency of cause analysis work when a problem occurs in a verification test after updating the OS or middleware.

Web3階層システムにおいて複数のトランザクションが並行して実行される場合のメッセージの呼び出し関係を説明する図である。It is a figure explaining the calling relationship of a message in case a some transaction is performed in parallel in Web 3 layer system. 本実施形態における分析装置の一例を示す。An example of the analyzer in this embodiment is shown. 本実施形態におけるネットワークの構成例を示す。The structural example of the network in this embodiment is shown. テスト対象システムの一例を示す。An example of a test object system is shown. 本実施形態における分析装置21の構成の一例を示す。An example of the structure of the analyzer 21 in this embodiment is shown. 本実施形態で用いるデータの構造の一例を示す。An example of the data structure used in the present embodiment will be shown. 本実施形態で用いるデータの構造の一例を示す。An example of the data structure used in the present embodiment will be shown. 本実施形態におけるテスト対象システム31のアップデート前の全体の処理フローを示す。The whole processing flow before the update of the test object system 31 in this embodiment is shown. テスト対象システム31のアップデート前の各種データの一例を示す。An example of various data before the update of the test target system 31 is shown. トランザクションモデル生成処理(S2)の詳細を示す。Details of the transaction model generation process (S2) will be described. テスト対象システム31のアップデート前のテスト実行例を示す。An example of test execution before the update of the test target system 31 is shown. トランザクションモデルの階層関係のイメージ図である。It is an image figure of the hierarchical relationship of a transaction model. 本実施形態におけるテスト対象システム31のアップデート後の全体の処理フローを示す。The whole processing flow after the update of the test object system 31 in this embodiment is shown. マッチング処理(S12)の詳細フローを示す。The detailed flow of a matching process (S12) is shown. マッチング処理(S12)に関する各種データの一例を示す。An example of the various data regarding a matching process (S12) is shown. 不良モデル抽出処理(S13)の詳細フローを示す。The detailed flow of a defect model extraction process (S13) is shown. 不良モデル抽出処理(S13)に関する各種データの一例を示す。An example of the various data regarding a defect model extraction process (S13) is shown. 部分マッチング処理(S14)の詳細フローを示す。The detailed flow of a partial matching process (S14) is shown. 図14(C)の不一致メッセージのシーケンス図である。FIG. 15 is a sequence diagram of the mismatch message in FIG. リクエスト・レスポンスの内包関係を説明するための図である。It is a figure for demonstrating the inclusion relation of a request and a response. 図18の不一致メッセージのシーケンスについて、上記の内包関係を用いて、メッセージの親子関係候補を図式化した図である。FIG. 19 is a diagram schematically showing message parent-child relationship candidates for the mismatch message sequence of FIG. S14−1の詳細フローを示す。The detailed flow of S14-1 is shown. 子メッセージ候補の一例を示す。An example of a child message candidate is shown. S14−2の詳細フローを示す。The detailed flow of S14-2 is shown. 部分モデル探索を説明するための図である。It is a figure for demonstrating a partial model search. S14−2の処理に関する各種データの一例を示す。An example of the various data regarding the process of S14-2 is shown. 部分トランザクション候補の抽出・確定を説明するための図である。It is a figure for demonstrating extraction and confirmation of a partial transaction candidate. 部分トランザクションと残りの不一致メッセージの親子関係候補の抽出を説明するための図である。It is a figure for demonstrating extraction of the parent-child relationship candidate of a partial transaction and the remaining mismatch message. S14−3の詳細フローを示す。The detailed flow of S14-3 is shown. S14−3の処理に関する各種データの一例を示す。An example of the various data regarding the process of S14-3 is shown. 呼び出し確率の算出について説明するための図である。It is a figure for demonstrating calculation of a call probability. S14−4の詳細フローを示す。The detailed flow of S14-4 is shown. S14−4の処理に関する各種データの一例を示す。An example of the various data regarding the process of S14-4 is shown. 呼び出し確率が最も大きい部分トランザクションとメッセージの組み合わせを選択し、不良トランザクションを確定することについて説明する図である。It is a figure explaining selecting the combination of the partial transaction and message with the largest call probability, and confirming a bad transaction. S14−5の詳細フローを示す。The detailed flow of S14-5 is shown. 不良トランザクションの一例を示す。An example of a bad transaction is shown. 正解トランザクション及び不良トランザクションの出力イメージを示す。The output image of a correct transaction and a bad transaction is shown. 分析装置21のハードウェア構成の一例を示す。An example of the hardware configuration of the analyzer 21 is shown.

上記「システム可視化技術」では、収集したメッセージと、事前に作成したトランザクションモデルとマッチングすることにより、トランザクション(メッセージの集合)が抽出されて出力される。トランザクションモデルにマッチしなかったメッセージ(不一致メッセージ)は別に出力されるが、従来の「システム可視化技術」は不一致メッセージを活用していなかった。   In the “system visualization technology”, a transaction (a set of messages) is extracted and output by matching a collected message with a transaction model created in advance. Messages that do not match the transaction model (mismatch messages) are output separately, but the conventional “system visualization technology” did not utilize mismatch messages.

本実施形態では、アップデートの差分の確認するために不一致メッセージを利用することで、機能検証テストの影響の特定を支援することができる。トランザクションモデルに変更がなければ、この不一致メッセージはOSやミドルウェアの変更による影響と考えることができるためである。   In this embodiment, it is possible to support the identification of the influence of the function verification test by using the mismatch message for confirming the update difference. This is because, if there is no change in the transaction model, this mismatch message can be considered as an influence of changes in the OS and middleware.

上述の通り、性能テストのように複数のトランザクションが並行して実行される場合、後段のメッセージがどのトランザクションモデルに属するか区別がつかないため、単純に比較することができない。そこで、本実施形態では、不一致メッセージとトランザクションモデルを部分的にマッチングし、不良トランザクションを抽出する。   As described above, when a plurality of transactions are executed in parallel as in the performance test, since it is not possible to distinguish which transaction model the subsequent message belongs to, it cannot be simply compared. Therefore, in this embodiment, the mismatch message and the transaction model are partially matched to extract a bad transaction.

本実施形態における分析装置は、照合部、不良モデル抽出部、部分トランザクション抽出部を含む。
照合部は、コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合する。そして、照合部は、モデルに合致するトランザクションと、トランザクションを構成するメッセージ以外の不一致メッセージとを取得する。照合部5の一例として、マッチング部55が挙げられる。
The analysis apparatus in the present embodiment includes a collation unit, a defective model extraction unit, and a partial transaction extraction unit.
The collating unit collates the model of the transaction generated using the message obtained by the first access between the computers and the message obtained by the second access. Then, the collation unit acquires a transaction that matches the model and a mismatch message other than the messages that make up the transaction. An example of the matching unit 5 is a matching unit 55.

不良モデル抽出部は、第2のアクセにおいて実行されたモデルから、取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出する。不良モデル抽出部7の一例として、不良モデル抽出部56が挙げられる。 Defect model extraction unit, from the model that is executed in the second access, and extracts the defect model indicating the models except the model that matches the acquired transaction. As an example of the defective model extracting unit 7, a defective model extracting unit 56 is cited.

部分トランザクション抽出部は、不一致メッセージから、不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する。部分トランザクションの一例として、部分マッチング部57が挙げられる。   The partial transaction extraction unit extracts a partial transaction including a message partially matching the defective model from the mismatch message. An example of the partial transaction is a partial matching unit 57.

本実施形態について、以下に詳述する。
図2は、本実施形態における分析装置の一例を示す。分析装置1は、収集部2、モデル生成部3、対応情報生成部4、照合部5、不一致メッセージ取得部6、不良モデル抽出部7、仮親子関係構築部8、部分トランザクション探索部9、残りメッセージ抽出部10、不良トランザクション確定部11を含む。
This embodiment will be described in detail below.
FIG. 2 shows an example of the analyzer in the present embodiment. The analysis device 1 includes a collection unit 2, a model generation unit 3, a correspondence information generation unit 4, a collation unit 5, a mismatch message acquisition unit 6, a defective model extraction unit 7, a temporary parent-child relationship construction unit 8, a partial transaction search unit 9, and the rest A message extraction unit 10 and a bad transaction determination unit 11 are included.

収集部2は、ネットワークで接続されたコンピュータ間で送受されるメッセージを収集する。収集部2の一例として、パケット取得部51、メッセージ解析部52が挙げられる。   The collection unit 2 collects messages transmitted and received between computers connected via a network. Examples of the collecting unit 2 include a packet acquisition unit 51 and a message analysis unit 52.

モデル生成部3は、第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、第1の処理時間帯を解析する。第1の処理時間帯は、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される。モデル生成部3は、第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析する。モデル生成部3は、第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとする。また、モデル生成部3は、第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとする。モデル生成部3は、1つのトランザクションを構成するメッセージ群を解析し、解析したメッセージ群をトランザクションモデルとする。モデル生成部3の一例として、モデル生成部53が挙げられる。   The model generation unit 3 analyzes the first processing time zone by using the first message collected when the first access is made from the first computer to the second computer. The first processing time zone is indicated by the difference between the collection times of the request message and the response message that are paired for each communication protocol. The model generation unit 3 analyzes a request message and a response message that form a pair having a second processing time zone included in the first processing time zone. The model generation unit 3 uses the request message and response message corresponding to the first processing time zone as the caller message. Further, the model generation unit 3 uses a request message and a response message corresponding to the second processing time zone as a call destination message. The model generation unit 3 analyzes a message group constituting one transaction and sets the analyzed message group as a transaction model. An example of the model generation unit 3 is a model generation unit 53.

対応情報生成部4は、第1のアクセスがあった場合に得られる第1のアクセス先の所在情報とアクセス時刻とを含む第1のアクセスログと、トランザクションモデルとを関係付けた対応情報を生成する。対応情報生成部4の一例として、モデル対応表生成部54が挙げられる。   The correspondence information generation unit 4 generates correspondence information that associates the first access log including the location information of the first access destination obtained when there is a first access and the access time with the transaction model. To do. An example of the correspondence information generation unit 4 is a model correspondence table generation unit 54.

照合部5は、第1のコンピュータから第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、トランザクションモデルとを照合する。それから、照合部5は、第2のメッセージからトランザクションモデルに合致するトランザクションを取得する。照合部5の一例として、マッチング部55が挙げられる。   The collation unit 5 collates the second message collected when the second access is made from the first computer to the second computer and the transaction model. Then, the collation unit 5 acquires a transaction that matches the transaction model from the second message. An example of the matching unit 5 is a matching unit 55.

不一致メッセージ取得部6は、照合の結果、第2のメッセージから、トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得する。不一致メッセージ取得部6の一例として、マッチング部55が挙げられる。   As a result of the collation, the mismatch message acquisition unit 6 acquires a mismatch message other than the messages constituting the transaction that matches the transaction model from the second message. An example of the mismatch message acquisition unit 6 is a matching unit 55.

不良モデル抽出部7は、第2のアクセスがあった場合に得られる第2のアクセス先の所在情報とアクセス時刻とを含む第2のアクセスログと対応情報とから、第2のアクセにおいて実行されたトランザクションモデルを抽出する。それから、不良モデル抽出部7は、第2のアクセにおいて実行されたトランザクションモデルから、取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出する。不良モデル抽出部7の一例として、不良モデル抽出部56が挙げられる。 Defect model extraction unit 7, and a second access log and the corresponding information including the second access destination location information and access time obtained when there is a second access, performed in the second access Extracted transaction model. Then, the defective model extraction unit 7, from the transaction model that is executed in the second access, to extract the failure transaction model showing the transaction model of non-transactional model that matches the acquired transaction. As an example of the defective model extracting unit 7, a defective model extracting unit 56 is cited.

仮親子関係構築部8は、不一致メッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析する。仮親子関係構築部8は、第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析する。仮親子関係構築部8は、第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とする。また、仮親子関係構築部8は、第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とする。仮親子関係構築部8は、親メッセージ候補と子メッセージ候補とを用いて、仮の親子関係を構築する。仮親子関係構築部8の一例として、部分マッチング部57(S14−1)が挙げられる。   The temporary parent-child relationship construction unit 8 analyzes the third processing time zone indicated by the difference between the request message and the response message collection time for each communication protocol using the mismatch message. The temporary parent-child relationship building unit 8 analyzes the request message and the response message that form a pair having the fourth processing time zone included in the third processing time zone. The temporary parent-child relationship building unit 8 sets the request message and response message corresponding to the third processing time zone as parent message candidates. Further, the temporary parent-child relationship building unit 8 sets the request message and response message corresponding to the fourth processing time zone as child message candidates. The temporary parent-child relationship construction unit 8 constructs a temporary parent-child relationship using the parent message candidate and the child message candidate. An example of the temporary parent-child relationship building unit 8 is a partial matching unit 57 (S14-1).

部分トランザクション探索部9は、仮の親子関係が構築された不一致メッセージと不良トランザクションモデルとを照合する。それから、部分トランザクション探索部9は、不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索する。部分トランザクション探索部9の一例として、部分マッチング部57(S14−2)が挙げられる。   The partial transaction search unit 9 collates the mismatch message in which the temporary parent-child relationship is established with the bad transaction model. Then, the partial transaction search unit 9 searches for a partial transaction indicating a transaction constituted by a message partially matching the bad transaction model. An example of the partial transaction search unit 9 is a partial matching unit 57 (S14-2).

残りメッセージ抽出部10は、仮の親子関係が構築された不一致メッセージから、部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出する。残りメッセージ抽出部10の一例として、部分マッチング部57(S14−3)が挙げられる。   The remaining message extraction unit 10 extracts a remaining message indicating a mismatch message other than the messages constituting the partial transaction from the mismatch message in which the temporary parent-child relationship is established. An example of the remaining message extraction unit 10 is a partial matching unit 57 (S14-3).

不良トランザクション確定部11は、残りメッセージを子メッセージ候補とする部分トランザクションの数の逆数で示される呼び出し確率を算出する。不良トランザクション確定部11は、呼び出し確率が最も大きい部分トランザクションと残りメッセージとの組み合わせを選択し、組み合わせで示されるトランザクションを不良トランザクションとして確定する。不良トランザクション確定部11の一例として、部分マッチング部57(S14−4,S14−5)が挙げられる。   The bad transaction determination unit 11 calculates a call probability represented by the reciprocal of the number of partial transactions whose remaining messages are child message candidates. The bad transaction determination unit 11 selects a combination of the partial transaction having the highest call probability and the remaining message, and determines the transaction indicated by the combination as a bad transaction. As an example of the defective transaction determination unit 11, a partial matching unit 57 (S14-4, S14-5) is cited.

このように構成することにより、OSやミドルウェアのアップデート後の検証テストにおいて、問題が発生した場合の原因分析作業を効率化することができる。
また、部分トランザクション探索部9は、部分トランザクションモデルに一致したメッセージのうち、メッセージが重複しない部分トランザクションの組み合わせを部分トランザクション候補として抽出する。ここで、部分トランザクションモデルは、不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す。それから、部分トランザクション抽出部9は、部分トランザクション候補の中から、部分トランザクション候補に含まれるメッセージ数の総和が最も多くなる部分トランザクション候補を部分トランザクションとして選択する。
With this configuration, it is possible to improve the efficiency of the cause analysis work when a problem occurs in the verification test after updating the OS and middleware.
Further, the partial transaction search unit 9 extracts a combination of partial transactions in which messages do not overlap among the messages that match the partial transaction model as partial transaction candidates. Here, the partial transaction model indicates a transaction including a message partially matching the bad transaction model. Then, the partial transaction extraction unit 9 selects a partial transaction candidate having the largest total number of messages included in the partial transaction candidates from the partial transaction candidates as a partial transaction.

このように構成することにより、部分トランザクション抽出部9は、部分トランザクション候補の中から、部分トランザクション候補に含まれるメッセージ数の総和が最も多くなる部分トランザクション候補を部分トランザクションとして選択することができる。   With this configuration, the partial transaction extraction unit 9 can select a partial transaction candidate having the largest total number of messages included in the partial transaction candidates from the partial transaction candidates as a partial transaction.

残りメッセージ抽出部10は、部分トランザクションの処理時間帯に内包される処理時間帯を有する残りメッセージを抽出する。このように構成することにより、残りメッセージ抽出部10は、残りメッセージを抽出することができる。   The remaining message extraction unit 10 extracts a remaining message having a processing time zone included in the processing time zone of the partial transaction. By configuring in this way, the remaining message extraction unit 10 can extract the remaining messages.

不良トランザクション確定部11は、第1のコンピュータから第2のコンピュータへのアクセスの度に収集されるメッセージを用いて、次の処理を行う。すなわち、不良トランザクション確定部11は、収集したメッセージ毎に得られる、部分トランザクションモデルと前記残りメッセージについて、残りメッセージを子メッセージ候補とする部分トランザクションの数の逆数で示される呼び出し確率の平均を算出する。不良トランザクション確定部11は、呼び出し確率の平均が最も大きい部分トランザクションと残りメッセージとの組み合わせを選択し、組み合わせで示されるトランザクションを不良トランザクションとして確定する。   The bad transaction determination unit 11 performs the following process using a message collected every time the first computer accesses the second computer. That is, the bad transaction determination unit 11 calculates an average of call probabilities represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate for the partial transaction model and the remaining message obtained for each collected message. . The bad transaction determination unit 11 selects a combination of the partial transaction having the highest call probability and the remaining message, and determines the transaction indicated by the combination as a bad transaction.

このように構成することにより、不良トランザクション確定部11は、残りメッセージを子メッセージ候補とする部分トランザクションの数の逆数を呼び出し回数で平均した値を、呼び出し確率とすることができる。   By configuring in this way, the bad transaction determination unit 11 can set a value obtained by averaging the reciprocal of the number of partial transactions having the remaining message as a child message candidate by the number of calls.

図3は、本実施形態におけるネットワークの構成例を示す。分析装置21は、ネットワーク上にあるスイッチ25を介してパーソナルコンピュータ(クライアント)26、Webサーバ22、アプリケーション(AP)サーバ23、データベース(DB)サーバ24に接続されている。   FIG. 3 shows a configuration example of a network in the present embodiment. The analysis device 21 is connected to a personal computer (client) 26, a Web server 22, an application (AP) server 23, and a database (DB) server 24 via a switch 25 on the network.

スイッチ25は、サーバ間のネットワークを接続するネットワークデバイスの1つである。スイッチ25は、パケットのヘッダに含まれる宛先情報に応じて、情報処理装置間の通信経路をスイッチングし、パケットを中継することができる。パケットとは、通信モデルの1つであるTCP/IP[Transmission Control Protocol/InternetProtocol]モデルの中のインターネットレイヤでの送信単位である。   The switch 25 is one of network devices that connect networks between servers. The switch 25 can switch the communication path between the information processing apparatuses and relay the packet according to the destination information included in the header of the packet. The packet is a transmission unit at the Internet layer in the TCP / IP [Transmission Control Protocol / Internet Protocol] model which is one of communication models.

Webサーバ22、APサーバ23、DBサーバ24は、クライアント26からの要求に応じてサービスを提供する。サービスの提供は、Webサーバ22、APサーバ23、DBサーバ24によって互いに連携して実行される。このとき、分析装置21は、ネットワークを介してWebサーバ22−APサーバ23−DBサーバ24間で送受信されるメッセージを取得し、システムの運用形態を分析する。   The Web server 22, AP server 23, and DB server 24 provide services in response to requests from the client 26. The provision of services is executed in cooperation with each other by the Web server 22, the AP server 23, and the DB server 24. At this time, the analysis device 21 acquires a message transmitted / received between the Web server 22-AP server 23-DB server 24 via the network, and analyzes the operation mode of the system.

図4は、テスト対象システムの一例を示す。本実施形態において、一例として、検証テストの対象となるテスト対象システム31として、Webサーバ22、APサーバ23、DBサーバ24を含むWeb3階層システムを用いる。   FIG. 4 shows an example of a test target system. In the present embodiment, as an example, a Web three-tier system including the Web server 22, the AP server 23, and the DB server 24 is used as the test target system 31 that is the target of the verification test.

Webサーバ22、APサーバ23、DBサーバ24のNIC(Network Interface Card)35,36,37は、スイッチ25のポート35,36,37に接続されている。また、クライアント26、分析装置21のNIC40,41は、スイッチ25のポート38,38に接続されている。   Network interface cards (NICs) 35, 36, and 37 of the Web server 22, AP server 23, and DB server 24 are connected to the ports 35, 36, and 37 of the switch 25. Further, the NICs 40 and 41 of the client 26 and the analyzer 21 are connected to the ports 38 and 38 of the switch 25.

スイッチ25は、自身を通過するデータをミラーリングする機能を有している。ミラーリングとは、あるポートに出力されるデータと同じデータを、他のポートからも出力する機能である。図4の例では、Webサーバ32が接続されたポート35、APサーバ33が接続されたポート36、及びDBサーバ34が接続されたポート37のミラーリング先として、分析装置21が接続されたポート39が指定されている。これにより、各サーバ宛のパケットは宛先となるサーバに入力されるとともに、分析装置21にも入力される。   The switch 25 has a function of mirroring data passing through the switch 25. Mirroring is a function for outputting the same data as data output to a certain port from other ports. In the example of FIG. 4, the port 39 to which the analyzer 21 is connected as a mirroring destination of the port 35 to which the Web server 32 is connected, the port 36 to which the AP server 33 is connected, and the port 37 to which the DB server 34 is connected. Is specified. Thereby, the packet addressed to each server is input to the destination server and also input to the analysis device 21.

例えば、クライアント26からの要求に応じて、Webサーバ22、APサーバ23、及びDBサーバ24が連動してサービスを提供する場合を想定する。この場合の検証テストでは、まず、クライアント26からWebサーバ22に対してパケット(例えば、HTTPパケット)が送信される。このとき、HTTPパケットと同じ内容のパケットが分析装置21に入力される。   For example, it is assumed that the Web server 22, the AP server 23, and the DB server 24 provide services in conjunction with each other in response to a request from the client 26. In the verification test in this case, first, a packet (for example, an HTTP packet) is transmitted from the client 26 to the Web server 22. At this time, a packet having the same content as the HTTP packet is input to the analyzer 21.

次に、Webサーバ22からAPサーバ23へパケット(例えば、IIOPのパケット。以下、IIOPパケット)が送信されると、IIOPパケットと同じ内容のパケットが分析装置21に入力される。さらに、APサーバ23からDBサーバ24へ、パケット(例えば、SQLパケット)が送信されると、SQLパケットと同じ内容のパケットが分析装置21に入力される。   Next, when a packet (for example, an IIOP packet; hereinafter referred to as an IIOP packet) is transmitted from the Web server 22 to the AP server 23, a packet having the same content as the IIOP packet is input to the analyzer 21. Furthermore, when a packet (for example, an SQL packet) is transmitted from the AP server 23 to the DB server 24, a packet having the same content as the SQL packet is input to the analysis device 21.

分析装置21は、受信したパケットに基づいてメッセージを解析し、上記のシステム可視化技術を用いてテスト対象システム31の稼働状態を分析する。ここでは、分析装置21は、テスト対象システム31のアップデート前に作成したトランザクションモデルと、アップデート後に変更されたトランザクションとの差異を検出する。なお、Webサーバ22、APサーバ23、DBサーバ24のうち少なくとも1つのサーバについて、OSまたはミドルウェア等をアップデートすることを、システムのアップデートと称する。   The analysis device 21 analyzes the message based on the received packet, and analyzes the operating state of the test target system 31 using the system visualization technique described above. Here, the analysis device 21 detects a difference between the transaction model created before the update of the test target system 31 and the transaction changed after the update. Note that updating the OS or middleware of at least one of the Web server 22, the AP server 23, and the DB server 24 is referred to as system update.

図5は、本実施形態における分析装置21の構成の一例を示す。分析装置21は、ネットワークを構成するコンピュータが互いにやり取りするパケットをスイッチ25のミラーリング機能を用いて受信し、受信したパケットに基づいてそのコンピュータの稼動状況を監視及び分析を行う。   FIG. 5 shows an example of the configuration of the analyzer 21 in the present embodiment. The analysis device 21 receives packets exchanged between computers constituting the network by using the mirroring function of the switch 25, and monitors and analyzes the operation status of the computers based on the received packets.

分析装置21は、パケット取得部51、メッセージ解析部52、モデル生成部53、モデル対応表生成部54、マッチング部55、不良モデル抽出部56、部分マッチング部57、出力部58、記憶部59を含む。   The analysis device 21 includes a packet acquisition unit 51, a message analysis unit 52, a model generation unit 53, a model correspondence table generation unit 54, a matching unit 55, a defective model extraction unit 56, a partial matching unit 57, an output unit 58, and a storage unit 59. Including.

記憶部59は、テスト実行ログ61、トランザクションモデル(モデル)62、モデル対応表63、トランザクション64、不一致メッセージ65、不良モデル66、その他の作業情報等の情報を格納する。テスト実行ログ61は、クライアント26により実行されたテスト実行のログであり、クライアント26より取得されたものが記憶部59に格納されている。   The storage unit 59 stores information such as a test execution log 61, a transaction model (model) 62, a model correspondence table 63, a transaction 64, a mismatch message 65, a defective model 66, and other work information. The test execution log 61 is a log of test execution executed by the client 26, and what is acquired from the client 26 is stored in the storage unit 59.

システムのアップデート前に、テスト対象システム31の性能テストが実行された場合、パケット取得部51、メッセージ解析部52、モデル生成部53、モデル対応表生成部54による処理を実行する。   When the performance test of the test target system 31 is executed before the system update, processing by the packet acquisition unit 51, the message analysis unit 52, the model generation unit 53, and the model correspondence table generation unit 54 is executed.

パケット取得部51は、Webサーバ22、APサーバ23、DBサーバ24が互いにやり取りするパケットをスイッチ25のミラーリング機能を用いて取得する。
メッセージ解析部52は、取得した複数のパケットからメッセージを組み立て、メッセージを再構成する。
メッセージ解析部52は、収集したメッセージの内容を解析して、次の内容を含むプロトコルログを生成し、収集したメッセージごとのプロトコルログ(不図示)を記憶部59に格納する。そのプロトコルログには、メッセージの収集時の時刻、リクエストメッセージとレスポンスメッセージとのメッセージ対を示す識別子、リクエストメッセージで要求されている処理を実行するサーバの階層、及びリクエストメッセージで要求されている処理種別が含まれる。処理種別は、例えば、メッセージに適用されているプロトコルがHTTPであれば、処理要求で指定されたURL(Uniform Resource Locator)によって判別できる。
The packet acquisition unit 51 acquires packets that the Web server 22, AP server 23, and DB server 24 exchange with each other using the mirroring function of the switch 25.
The message analysis unit 52 assembles a message from the acquired plurality of packets, and reconstructs the message.
The message analysis unit 52 analyzes the content of the collected message, generates a protocol log including the following content, and stores the protocol log (not shown) for each collected message in the storage unit 59. In the protocol log, the message collection time, the identifier indicating the message pair of the request message and the response message, the hierarchy of the server that executes the process requested by the request message, and the process requested by the request message The type is included. For example, if the protocol applied to the message is HTTP, the processing type can be determined by a URL (Uniform Resource Locator) specified in the processing request.

モデル生成部53は、プロトコルログを収集時の時刻によって時系列で並べ、各メッセージ対のリクエストメッセージの収集時の時刻からレスポンスメッセージの収集時の時刻までの時間帯をリクエスト対に対応する処理の処理時間帯とする。それから、モデル生成部53は、階層が最上位のサーバで処理される処理種別のメッセージ対のうち、対応する処理の処理時間帯内に、階層が最上位のサーバで処理される処理種別であって他の識別子を有するメッセージが存在しないメッセージ対を検出する。   The model generation unit 53 arranges the protocol logs in time series according to the time of collection, and processes the time zone from the time of collecting the request message of each message pair to the time of collecting the response message for the request pair. The processing time zone. Then, the model generation unit 53 has a processing type processed by the highest-level server within the processing time zone of the corresponding processing among the message pairs of the processing type processed by the highest-level server. A message pair in which there is no message having another identifier is detected.

モデル生成部53は、検出されたメッセージ対と、メッセージ対に対応する処理の処理時間帯内にあるメッセージで構成される各メッセージ対とを1つのトランザクションに係るメッセージ対と決定する。モデル生成部53は、1つのトランザクションに係る各メッセージ対に基づき、一階層の処理の処理種別と、その処理から呼び出されるその一階層の下位の階層の処理の処理種別との対応関係を示す呼出関係を求める。モデル生成部53は、1つのトランザクションに含まれるメッセージ対に対応する処理の処理時間帯の長さからそのメッセージ対の処理種別に対応する処理に要した処理時間を求める。モデル生成部53は、求めたその呼出関係と求めた処理種別ごとのその処理時間とが定義されたトランザクションモデル62を生成する。   The model generation unit 53 determines the detected message pair and each message pair formed of messages in the processing time zone corresponding to the message pair as a message pair related to one transaction. The model generation unit 53, based on each message pair related to one transaction, calls that indicate the correspondence relationship between the processing type of one layer of processing and the processing type of processing of the lower layer of that one layer called from that processing Seeking a relationship. The model generation unit 53 obtains the processing time required for the processing corresponding to the processing type of the message pair from the length of the processing time zone of the processing corresponding to the message pair included in one transaction. The model generation unit 53 generates a transaction model 62 in which the obtained calling relationship and the obtained processing time for each obtained processing type are defined.

なお、モデル生成部53は、次のようにしてトランザクションモデル62を生成してもよい。すなわち、モデル生成部53は、一階層の処理を呼び出し先とし、その処理の処理時間帯を包含する処理時間帯のその一階層の上位の階層の処理を呼び出し元とする呼び出しが可能であると判断する。この場合、モデル生成部53は、一処理を呼び出し可能な呼び出し元の各処理がその一処理の呼び出しを行う呼び出し確率を、その呼び出し元の各処理に均等に定める。モデル生成部53は、呼び出し可能な処理間の関係ごとに定められた呼び出し確率に基づき、呼び出し元の処理の処理種別と呼び出し先の処理の処理種別との組み合わせごとの平均の呼び出し回数を計算する。モデル生成部53は、その平均の呼び出し回数が所定値以上の処理種別の組み合わせを呼出関係として定義したトランザクションモデル62を生成する。   The model generation unit 53 may generate the transaction model 62 as follows. In other words, the model generation unit 53 can call a process of one layer as a call destination and a process of a higher layer in the process time zone including the process time zone of the process as a call source. to decide. In this case, the model generation unit 53 equally determines the call probability that each process of the caller that can call one process calls that one process for each process of the caller. The model generation unit 53 calculates the average number of calls for each combination of the process type of the caller process and the process type of the callee process based on the call probability determined for each relationship between the callable processes. . The model generation unit 53 generates a transaction model 62 in which a combination of processing types whose average number of calls is equal to or greater than a predetermined value is defined as a call relationship.

また、モデル生成部53は、次のようにしてトランザクションモデル62を生成してもよい。すなわち、モデル生成部53は、一階層の処理を呼び出し先とし、その処理の処理時間帯を包含する処理時間帯のその一階層の上位の階層の処理を呼び出し元とする呼び出しが可能であると判断する。この場合、モデル生成部53は、呼び出しが可能な処理間の組み合わせを示す1以上の処理集合候補を生成する。モデル生成部53は、一処理を呼び出し元とした各処理集合候補の信頼度を均等に定め、処理集合候補に含まれる処理の処理種別により処理種別の組み合わせを示す発生パターンを生成する。モデル生成部53は、発生パターンが同じとなる処理集合候補の信頼度を平均化した値をその処理集合候補から生成された発生パターンの信頼度とする。モデル生成部53は、直前に計算された各発生パターンの信頼度を用いて、一処理を呼び出し元として生成された各処理集合候補の信頼度を定めることで、発生パターンの信頼度の計算を繰り返し行う。モデル生成部53は、信頼度が所定値以上の発生パターンに示される呼出関係が定義されたトランザクションモデル62を生成する。   The model generation unit 53 may generate the transaction model 62 as follows. In other words, the model generation unit 53 can call a process of one layer as a call destination and a process of a higher layer in the process time zone including the process time zone of the process as a call source. to decide. In this case, the model generation unit 53 generates one or more processing set candidates indicating combinations between processes that can be called. The model generation unit 53 equally determines the reliability of each process set candidate with one process as a caller, and generates a generation pattern indicating a combination of process types according to the process types included in the process set candidates. The model generation unit 53 sets a value obtained by averaging the reliability of the processing set candidates having the same generation pattern as the reliability of the generation pattern generated from the processing set candidate. The model generation unit 53 calculates the reliability of the generated pattern by determining the reliability of each processing set candidate generated by using one process as a caller, using the reliability of each generated pattern calculated immediately before. Repeat. The model generation unit 53 generates a transaction model 62 in which a call relationship indicated by an occurrence pattern having a reliability level equal to or higher than a predetermined value is defined.

モデル対応表生成部54は、テスト実行ログ61と生成したトランザクションモデル62とを、URL及び時刻で関係付けて、テストに対するトランザクションの出現モデルの対応表(モデル対応表63)を生成する。モデル対応表生成部54は、生成したモデル対応表63を記憶部59に格納する。   The model correspondence table generation unit 54 associates the test execution log 61 and the generated transaction model 62 with the URL and the time, and generates a correspondence table (model correspondence table 63) of the appearance model of the transaction for the test. The model correspondence table generation unit 54 stores the generated model correspondence table 63 in the storage unit 59.

システムのアップデート後に、テスト対象システム31の性能テストが実行された場合、パケット取得部51、メッセージ解析部52、マッチング部55、不良モデル抽出部56、部分マッチング部57、出力部58による処理を実行する。   When the performance test of the test target system 31 is executed after the system update, processing by the packet acquisition unit 51, the message analysis unit 52, the matching unit 55, the defective model extraction unit 56, the partial matching unit 57, and the output unit 58 is executed. To do.

マッチング部55は、記憶部59に格納されたトランザクションモデル62と、システムのアップデート後に取得されたパケットから組み立てられたメッセージをマッチングする。ここでは、マッチング部55は、トランザクションモデル62で示される呼出関係に合致する処理種別間の呼び出しが可能な処理の組み合わせに対応するメッセージのプロトコルログ(システムのアップデート後に作成されたもの)を記憶部59から抽出する。すなわち、マッチング部55は、そのメッセージが、記憶部59に格納されたトランザクションモデル62で示される呼び出し関係に合致するメッセージであるかを判定する。マッチング部55は、そのマッチングの結果、合致したメッセージをトランザクション64として記憶部59に格納する。また、マッチング部55は、そのマッチングの結果、合致しなかったメッセージを不一致メッセージ65として記憶部59に格納する。   The matching unit 55 matches the transaction model 62 stored in the storage unit 59 with a message assembled from a packet acquired after the system update. Here, the matching unit 55 stores a protocol log (created after system update) of a message corresponding to a combination of processes that can be called between processing types matching the call relationship indicated by the transaction model 62. 59. That is, the matching unit 55 determines whether the message matches the call relationship indicated by the transaction model 62 stored in the storage unit 59. The matching unit 55 stores the matched message as a transaction 64 in the storage unit 59 as a result of the matching. Further, the matching unit 55 stores a message that does not match as a result of the matching in the storage unit 59 as a mismatch message 65.

不良モデル抽出部56は、システムのアップデート後に得られたテスト実行ログ61とモデル対応表63とから、実行されたトランザクションモデルを抽出する。不良モデル抽出部56は、実行されたトランザクションモデルの中からトランザクション64に存在しないトランザクションモデルを不良モデル66として記憶部59に格納する。   The defective model extraction unit 56 extracts an executed transaction model from the test execution log 61 and the model correspondence table 63 obtained after the system update. The defective model extraction unit 56 stores a transaction model that does not exist in the transaction 64 among the executed transaction models as the defective model 66 in the storage unit 59.

部分マッチング部57は、不一致メッセージ65と不良モデル66とを用いて、部分マッチング処理を実行し、不良トランザクションを分析する。
出力部58は、部分マッチングによる分析結果を、表示装置、プリンタ等に出力する。
The partial matching unit 57 performs a partial matching process using the mismatch message 65 and the defective model 66, and analyzes the defective transaction.
The output unit 58 outputs the analysis result by partial matching to a display device, a printer, or the like.

なお、本実施形態では、管理対象となる要素として、「メッセージ」、「オブジェクト」、及び「トランザクション」がある。
「メッセージ」は、TCP(Transmission Control Protocol)セッション上で複数の機器がやりとりするデータの最小単位である。例えば、HTTPでのリクエストやそれに対するレスポンスが、メッセージに該当する。なお、メッセージが複数のセグメントに分割され、各セグメントがそれぞれパケットに格納されて伝送される。
In this embodiment, there are “message”, “object”, and “transaction” as elements to be managed.
The “message” is a minimum unit of data exchanged by a plurality of devices on a TCP (Transmission Control Protocol) session. For example, an HTTP request or a response to the request corresponds to the message. The message is divided into a plurality of segments, and each segment is stored in a packet and transmitted.

「オブジェクト」は、サーバがメッセージを受信してからレスポンスを送信するまでに行う単一又は複数の処理や入力されるデータを仮想的に単一のものとしてまとめたものである。ここで言う処理とは、CPU(Central Processing Unit)での計算、データの入出力とそれぞれに対する待ち時間などが含まれる。
「トランザクション」は、システムに対する要求によって発生するオブジェクト処理の集合である。
The “object” is a virtual collection of single or plural processes performed from when the server receives a message to when a response is transmitted and input data. The processing referred to here includes calculation in a CPU (Central Processing Unit), data input / output, waiting time for each, and the like.
A “transaction” is a set of object processes generated by a request to the system.

図6A及び図6Bは、本実施形態で用いるデータの構造の一例を示す。(A)は、テスト実行ログ61のデータ構造の一例を示す。テスト実行ログ61は、データ項目として、「日時」、「テスト名」、「URL」を含む。「日時」には、テストが実行された日時が設定される。「テスト名」には、性能テストの名称が設定される。「URL」には、HTTPパケットにおいて処理要求で指定されたURLが設定される。   6A and 6B show an example of the data structure used in this embodiment. (A) shows an example of the data structure of the test execution log 61. The test execution log 61 includes “date and time”, “test name”, and “URL” as data items. In “Date and time”, the date and time when the test was executed is set. In the “test name”, the name of the performance test is set. In “URL”, the URL specified in the processing request in the HTTP packet is set.

(B)は、トランザクションモデル62、部分トランザクションモデル82のデータ構造の一例を示す。以下では、トランザクションモデルを「モデル」と称し、部分トランザクションモデルを「部分モデル」と称する。モデル62、部分モデル82には、モデル単位で、オブジェクトの階層情報が設定される。モデル62、部分モデル82は、データ項目として、「モデル名」、「第1階層オブジェクト名」、「第2階層オブジェクト名」、「第3階層オブジェクト名」を含む。なお、本実施形態では、Web3階層システムがテストの対象であるから、オブジェクトの階層は3階層であるが、これに限定されない。すなわち、オブジェクトの階層は、サービスを提供するサーバの階層に応じて変更される。   (B) shows an example of the data structure of the transaction model 62 and the partial transaction model 82. Hereinafter, the transaction model is referred to as “model”, and the partial transaction model is referred to as “partial model”. In the model 62 and the partial model 82, object hierarchy information is set in units of models. The model 62 and the partial model 82 include “model name”, “first layer object name”, “second layer object name”, and “third layer object name” as data items. In this embodiment, since the Web three-tier system is a test target, the object has three layers, but the present invention is not limited to this. That is, the object hierarchy is changed according to the hierarchy of the server providing the service.

(C)は、モデル対応表のデータ構造の一例を示す。モデル対応表は、データ項目として、「テスト名」、「モデル名」を含む。「テスト名」には、性能テストの名称が設定される。「モデル名」には、トランザクションモデルの名称が設定される。   (C) shows an example of the data structure of the model correspondence table. The model correspondence table includes “test name” and “model name” as data items. In the “test name”, the name of the performance test is set. In the “model name”, the name of the transaction model is set.

(D)は、トランザクション64、部分トランザクション83、不良トランザクション89のデータ構造の一例を示す。トランザクション64、部分トランザクション83、不良トランザクション89には、これらのトランザクションに含まれるメッセージIDが設定される。トランザクション64、部分トランザクション83、不良トランザクション89は、データ項目として、「モデル名(メッセージID:メッセージID:・・・)」を含む。メッセージIDは、メッセージを識別するための識別情報である。   (D) shows an example of the data structure of the transaction 64, the partial transaction 83, and the bad transaction 89. In the transaction 64, the partial transaction 83, and the bad transaction 89, message IDs included in these transactions are set. The transaction 64, the partial transaction 83, and the bad transaction 89 include “model name (message ID: message ID:...)” As a data item. The message ID is identification information for identifying the message.

(E)は、不一致メッセージ65、残りメッセージ84のデータ構造の一例を示す。不一致メッセージ、残りメッセージは、データ項目として、「時刻」、「メッセージID」、「オブジェクト名」、「レスポンス時間」を含む。   (E) shows an example of the data structure of the mismatch message 65 and the remaining message 84. The mismatch message and the remaining message include “time”, “message ID”, “object name”, and “response time” as data items.

(F)は、子メッセージ候補情報81のデータ構造の一例を示す。子メッセージ候補81には、各メッセージに対する子メッセージ候補が設定される。子メッセージ候補81は、データ項目として、「メッセージID」、「子メッセージID」、・・・を含む。   (F) shows an example of the data structure of the child message candidate information 81. In the child message candidate 81, a child message candidate for each message is set. The child message candidate 81 includes “message ID”, “child message ID”,... As data items.

(G)は、残りメッセージ候補情報85のデータ構造の一例を示す。残りメッセージ候補85は、データ項目として、「モデル名(メッセージID:・・・)」、「オブジェクト名(メッセージID):・・・」を含む。   (G) shows an example of the data structure of the remaining message candidate information 85. The remaining message candidate 85 includes “model name (message ID:...)” And “object name (message ID):...” As data items.

(H)は、親候補数情報86のデータ構造の一例を示す。親候補数情報86には、親候補数86は、データ項目として、「オブジェクト名(メッセージID)」、「親候補数」を含む。   (H) shows an example of the data structure of the parent candidate number information 86. The parent candidate number information 86 includes “object name (message ID)” and “parent candidate number” as data items.

(I)は、呼び出し確率情報87のデータ構造の一例を示す。呼び出し確率情報87は、データ項目として、「部分モデル名(メッセージID:・・・)」、「オブジェクト名(メッセージID)」、「呼び出し確率」を含む。「部分モデル名(メッセージID:・・・)」には、部分トランザクションモデルに含まれるメッセージのメッセージIDが設定される。「オブジェクト名(メッセージID)」には、部分トランザクションから呼び出されるオブジェクト名が設定される。「呼び出し確率」には、部分トランザクションモデルに対するメッセージの呼び出し確率が設定される。   (I) shows an example of the data structure of the call probability information 87. The call probability information 87 includes “partial model name (message ID:...)”, “Object name (message ID)”, and “call probability” as data items. In “partial model name (message ID:...)”, A message ID of a message included in the partial transaction model is set. In “object name (message ID)”, an object name called from the partial transaction is set. In the “call probability”, the message call probability for the partial transaction model is set.

(J)は、呼び出し確率テーブル88のデータ構造の一例を示す。呼び出し確率テーブル88には、部分トランザクションモデルに対するメッセージの呼び出し確率が設定される。呼び出し確率テーブル88は、データ項目として、「オブジェクト名」、「部分モデル名1の呼び出し確率」、「部分モデル名2の呼び出し確率」等を含む。   (J) shows an example of the data structure of the call probability table 88. In the call probability table 88, message call probabilities for partial transaction models are set. The call probability table 88 includes “object name”, “call probability of partial model name 1”, “call probability of partial model name 2”, and the like as data items.

まずは、図7−図12を用いて、テスト対象システム31のアップデート前における、分析装置21の処理について説明する。
図7は、本実施形態におけるテスト対象システム31のアップデート前の全体の処理フローを示す。図8は、テスト対象システム31のアップデート前の各種データの一例を示す。
First, the processing of the analyzer 21 before the test target system 31 is updated will be described with reference to FIGS.
FIG. 7 shows an overall processing flow before the update of the test target system 31 in the present embodiment. FIG. 8 shows an example of various data before the update of the test target system 31.

テストは、クライアント26を用いて、テスト対象システム31にアクセスすることにより行われる(S1)。クライアント26を用いたテスト対象システム31へのアクセスは、テストツールを用いて自動で行っても良いし、テスト実行者が手動で行っても良い。テストが実行されると、クライアント26からテスト対象システム31へアクセス要求がされ、一連のトランザクションが開始する。すると、Webサーバ22、APサーバ23、DBサーバ24が互いにパケットをやり取りする。分析装置21は、このパケットを収集する。   The test is performed by accessing the test target system 31 using the client 26 (S1). Access to the test target system 31 using the client 26 may be performed automatically using a test tool, or may be performed manually by a test executor. When the test is executed, an access request is made from the client 26 to the test target system 31, and a series of transactions starts. Then, the Web server 22, the AP server 23, and the DB server 24 exchange packets with each other. The analysis device 21 collects this packet.

次に、分析装置21は、テスト実行時にテスト対象のWebサーバ22、APサーバ23、DBサーバ24に接続されたスイッチ25からパケットをキャプチャし、システム可視化技術を用いてテストのトランザクションモデル62を生成する(S2)。S2の処理について、図9を用いて説明する。   Next, the analysis device 21 captures a packet from the switch 25 connected to the test target Web server 22, the AP server 23, and the DB server 24 at the time of executing the test, and generates a test transaction model 62 using the system visualization technology. (S2). The process of S2 will be described with reference to FIG.

それから、モデル対応表生成部54は、テスト実行ログ61のURLおよび時刻と、モデル62のURLおよび時刻を用いて、テスト実行ログ61とトランザクションモデル62とを関係付けて、テストに対するモデル対応表63を作成する(S3)。   Then, the model correspondence table generation unit 54 associates the test execution log 61 and the transaction model 62 using the URL and time of the test execution log 61 and the URL and time of the model 62, and the model correspondence table 63 for the test. Is created (S3).

図9は、トランザクションモデル生成処理(S2)の詳細を示す。パケット取得部51は、Webサーバ22、APサーバ23、DBサーバ24が互いにやり取りするパケットをスイッチ25のミラーリング機能を用いて取得する(S2−1)。   FIG. 9 shows details of the transaction model generation process (S2). The packet acquisition unit 51 acquires a packet exchanged between the Web server 22, the AP server 23, and the DB server 24 using the mirroring function of the switch 25 (S2-1).

メッセージ解析部52は、取得した複数のパケットからメッセージを組み立て、その組み立てたメッセージから、そのメッセージの内容を解析する(S2−2)。メッセージ解析部52は、収集したメッセージの内容を解析して、メッセージで要求されている処理種別、及びリクエストメッセージかレスポンスメッセージか(メッセージの方向)を判別する。   The message analysis unit 52 assembles a message from the acquired plurality of packets, and analyzes the content of the message from the assembled message (S2-2). The message analysis unit 52 analyzes the contents of the collected message to determine the processing type requested by the message and whether it is a request message or a response message (message direction).

モデル生成部53は、呼出元のオブジェクトの処理時間帯に包含された処理時間帯を有する呼出先のオブジェクト(親子関係にあるオブジェクト)を検出する(S2−3)。S2−3の処理について、図10で後述する。モデル生成部53は、図8(B)に示すように、親子関係にあるオブジェクトをトランザクションモデル62として格納する(S2−3)。   The model generation unit 53 detects a call destination object (an object having a parent-child relationship) having a processing time zone included in the processing time zone of the call source object (S2-3). The processing of S2-3 will be described later with reference to FIG. As illustrated in FIG. 8B, the model generation unit 53 stores an object having a parent-child relationship as a transaction model 62 (S2-3).

図10は、テスト対象システム31のアップデート前のテスト実行例を示すものであって、HTTP-aとHTTP-bのURLにアクセスした場合のWebサーバ22、APサーバ23、DBサーバ24間の呼び出し関係を示す。縦軸は、時間を示す。右方向の矢印は、リクエストメッセージを示す。左方向の矢印は、レスポンスメッセージを示す。   FIG. 10 shows an example of a test execution before the update of the test target system 31, and calls between the Web server 22, the AP server 23, and the DB server 24 when accessing URLs of HTTP-a and HTTP-b. Show the relationship. The vertical axis represents time. A right arrow indicates a request message. The left arrow indicates a response message.

このとき、クライアント26は、テスト対象システム31にアクセスしたURLとその時刻を、図8(A)に示すテスト実行ログ61として出力する。図8(A)のテスト実行ログ61は、Test1とTest2の2つのテストが実行され、それぞれHTTP-aとHTTP-bのURLにアクセスしたことを示す。クライアント26より出力されたテスト実行ログ61は、分析装置21の記憶部59に格納される。   At this time, the client 26 outputs the URL accessing the test target system 31 and its time as the test execution log 61 shown in FIG. The test execution log 61 in FIG. 8A indicates that two tests, Test1 and Test2, have been executed, and URLs of HTTP-a and HTTP-b have been accessed, respectively. The test execution log 61 output from the client 26 is stored in the storage unit 59 of the analyzer 21.

図10の場合、符号71で示すオブジェクトの処理時間帯に包含されたオブジェクトは、符号73で示すオブジェクトである。符号73で示すオブジェクトの処理時間帯に包含されたオブジェクトは、符号76で示すオブジェクトである。この場合、符号71,73,76で示すオブジェクトは、親子関係があるから、それぞれ、第1階層オブジェクト、第2階層オブジェクト、第3階層オブジェクトと定義される(図8(B)のModel 1)。   In the case of FIG. 10, the object included in the processing time zone of the object indicated by reference numeral 71 is the object indicated by reference numeral 73. An object included in the processing time zone of the object indicated by reference numeral 73 is an object indicated by reference numeral 76. In this case, since the objects denoted by reference numerals 71, 73, and 76 have a parent-child relationship, they are defined as a first hierarchy object, a second hierarchy object, and a third hierarchy object, respectively (Model 1 in FIG. 8B). .

また、符号72で示すオブジェクトの処理時間帯に包含されたオブジェクトは、符号74,75で示すオブジェクトである。符号74で示すオブジェクトの処理時間帯に包含されたオブジェクトは、符号77,78で示すオブジェクトである。符号75で示すオブジェクトの処理時間帯に包含されたオブジェクトは、符号79で示すオブジェクトである。符号72,74,75,77,78,79で示すオブジェクトは、親子関係がある。この場合、符号72で示すオブジェクトは、第1階層オブジェクトで定義される。符号74,75で示されるオブジェクトは、第2階層オブジェクトで定義される。符号77,78,79で示されるオブジェクトは、第3階層オブジェクトと定義される(図8(B)のModel 2)。   The objects included in the processing time zone of the object indicated by reference numeral 72 are objects indicated by reference numerals 74 and 75. Objects included in the processing time zone of the object indicated by reference numeral 74 are objects indicated by reference numerals 77 and 78. An object included in the processing time zone of the object indicated by reference numeral 75 is an object indicated by reference numeral 79. The objects indicated by reference numerals 72, 74, 75, 77, 78, and 79 have a parent-child relationship. In this case, the object indicated by reference numeral 72 is defined as a first hierarchy object. Objects indicated by reference numerals 74 and 75 are defined as second-layer objects. The objects indicated by reference numerals 77, 78, and 79 are defined as third layer objects (Model 2 in FIG. 8B).

図11は、トランザクションモデルの階層関係のイメージ図である。図11は、図8(B)のトランザクションモデル(Model 1、Model 2)をイメージ化したものである。図8(C)、図11では、Test1でModel 1が実行され、Test2でModel 2が実行されたことを示す。
以上でテスト対象システム31のアップデート前の処理は完了となる。
FIG. 11 is an image diagram of the hierarchical relationship of the transaction model. FIG. 11 is an image of the transaction model (Model 1, Model 2) of FIG. 8B. FIGS. 8C and 11 show that Model 1 is executed in Test 1 and Model 2 is executed in Test 2.
The process before the update of the test target system 31 is completed.

次に、図12−図36を用いて、テスト対象システム31のアップデート後における分析装置21による処理について説明する。
図12は、本実施形態におけるテスト対象システム31のアップデート後の全体の処理フローを示す。クライアント26を用いて、テスト対象システム31に対してアップデート前と同じテストが実行され、同様にテスト実行ログ61’が出力される(S11)。
Next, processing performed by the analysis apparatus 21 after the update of the test target system 31 will be described with reference to FIGS.
FIG. 12 shows the overall processing flow after the update of the test target system 31 in the present embodiment. Using the client 26, the same test as before the update is performed on the test target system 31, and the test execution log 61 ′ is output in the same manner (S11).

分析装置21は、テスト対象システム31の各サーバに接続されたスイッチ25からパケットを収集し、メッセージ解析を行う。分析装置21は、解析したメッセージと、テスト対象システム31のアップデート前のトランザクションモデル62とのマッチングを、システム可視化技術を用いて行う(S12)。マッチングの結果、分析装置21は、トランザクションモデル62に合致したトランザクションをトランザクション64として出力し、合致しなかったメッセージを不一致メッセージ65として出力する。   The analysis device 21 collects packets from the switch 25 connected to each server of the test target system 31 and performs message analysis. The analysis device 21 performs matching between the analyzed message and the transaction model 62 before the update of the test target system 31 by using the system visualization technique (S12). As a result of matching, the analysis apparatus 21 outputs a transaction that matches the transaction model 62 as a transaction 64, and outputs a message that does not match as a mismatch message 65.

分析装置21は、テスト実行ログ61’とトランザクション64を比較し、アップデート前のモデル対応表63で出現しなかった不良モデル66を抽出する(S13)。
分析装置21は、不一致メッセージ65と不良モデル66を部分マッチングすることにより、不良トランザクションを抽出する。部分マッチング処理は、不良モデル66と不一致メッセージ65を部分的にマッチングし、一致した部分トランザクションと残りの不一致メッセージを紐付けることにより、不良トランザクションを確定する(S14)。
The analysis device 21 compares the test execution log 61 ′ and the transaction 64, and extracts a defective model 66 that did not appear in the model correspondence table 63 before the update (S13).
The analysis device 21 extracts a defective transaction by partially matching the mismatch message 65 and the defective model 66. In the partial matching process, the defective model 66 and the mismatch message 65 are partially matched, and the defective transaction is determined by associating the matched partial transaction with the remaining mismatch message (S14).

以下では、S12−S14の各処理について詳述する。
図13は、マッチング処理(S12)の詳細フローを示す。図14は、マッチング処理(S12)に関する各種データの一例を示す。パケット取得部51は、Webサーバ22、APサーバ23、DBサーバ24が互いにやり取りするパケットをスイッチ25のミラーリング機能を用いて取得する(S12−1)。
Below, each process of S12-S14 is explained in full detail.
FIG. 13 shows a detailed flow of the matching process (S12). FIG. 14 shows an example of various data related to the matching process (S12). The packet acquisition unit 51 acquires a packet that the Web server 22, the AP server 23, and the DB server 24 exchange with each other using the mirroring function of the switch 25 (S12-1).

メッセージ解析部52は、取得した複数のパケットからメッセージを組み立て、その組み立てたメッセージから、そのメッセージの内容を解析する(S12−2)。
マッチング部55は、解析したメッセージと、トランザクションモデル62とをマッチングし、トランザクションモデル62に合致するトランザクションをトランザクション64として出力する。一方、マッチング部55は、トランザクションモデル62を構成するメッセージとして一致しなかったメッセージを不一致メッセージ65として出力する。
The message analysis unit 52 assembles a message from the acquired plurality of packets, and analyzes the content of the message from the assembled message (S12-2).
The matching unit 55 matches the analyzed message with the transaction model 62, and outputs a transaction that matches the transaction model 62 as a transaction 64. On the other hand, the matching unit 55 outputs a message that does not match as a message constituting the transaction model 62 as a mismatch message 65.

例えば、解析したメッセージ群が、「HTTP-c -> IIOP-c -> SQL-e,SQL-f」及び「 HTTP-d -> IIOP-d -> SQL-g」であるとする。この場合、マッチング部55は、解析したメッセージと、トランザクションモデル62とをマッチングした結果、図14(A)より、解析したメッセージはトランザクションモデル(Model3、Model4)に合致する。マッチング部55は、図14(B)に示すように、トランザクションモデルModel3,Model4をトランザクション64として出力する。一方、マッチング部55は、トランザクションモデル62を構成するメッセージとして一致しなかったメッセージを、図14(C)に示すように不一致メッセージ65として出力する。   For example, it is assumed that the analyzed messages are “HTTP-c-> IIOP-c-> SQL-e, SQL-f” and “HTTP-d-> IIOP-d-> SQL-g”. In this case, as a result of matching between the analyzed message and the transaction model 62, the matching unit 55 matches the transaction model (Model 3 and Model 4) from FIG. 14A. The matching unit 55 outputs the transaction models Model 3 and Model 4 as a transaction 64 as shown in FIG. On the other hand, the matching unit 55 outputs a message that does not match as a message constituting the transaction model 62 as a mismatch message 65 as shown in FIG.

図15は、不良モデル抽出処理(S13)の詳細フローを示す。図16は、不良モデル抽出処理(S13)に関する各種データの一例を示す。不良モデル抽出部56は、図16(A)に示すテスト実行ログ61と、図16(B)に示すモデル対応表63を「テスト名」をキーとして関係付け、実行されたトランザクションモデル(実行モデル)を抽出する(S13−1)。   FIG. 15 shows a detailed flow of the defect model extraction process (S13). FIG. 16 shows an example of various data related to the defect model extraction process (S13). The defect model extraction unit 56 associates the test execution log 61 shown in FIG. 16A with the model correspondence table 63 shown in FIG. 16B using “test name” as a key, and executes the executed transaction model (execution model). ) Is extracted (S13-1).

不良モデル抽出部56は、抽出した実行モデルの中からトランザクション64にないトランザクションモデルを不良モデル66として抽出する(S13−2)。本実施例では、抽出した実行モデルの中から、図14(B)のトランザクション64(Model3、Model4)にない、Test1のModel 1と、Test2のModel 2が不良モデル(図16(C))となる。   The defective model extraction unit 56 extracts a transaction model not included in the transaction 64 from the extracted execution models as a defective model 66 (S13-2). In this embodiment, among the extracted execution models, Model 1 of Test1 and Model 2 of Test2 which are not in the transaction 64 (Model3, Model4) of FIG. 14B are defective models (FIG. 16C). Become.

図17は、部分マッチング処理(S14)の詳細フローを示す。部分マッチング部57は、不一致メッセージ65の階層間の親子関係候補をリクエスト・レスポンスの内包関係から抽出する(S14−1)。   FIG. 17 shows a detailed flow of the partial matching process (S14). The partial matching unit 57 extracts the parent-child relationship candidate between the hierarchies of the mismatch message 65 from the inclusion relationship of the request and response (S14-1).

部分マッチング部57は、親子関係候補に対し、アップデート前のトランザクションモデルと部分的に一致する部分トランザクションを探索する(S14−2)。
部分マッチング部57は、部分トランザクションと残りの不一致メッセージの親子関係候補を抽出する(S14−3)。
The partial matching unit 57 searches for a partial transaction that partially matches the transaction model before the update with respect to the parent-child relationship candidate (S14-2).
The partial matching unit 57 extracts a parent-child relationship candidate between the partial transaction and the remaining mismatch message (S14-3).

部分マッチング部57は、全テスト期間における部分トランザクションと不一致メッセージの呼び出し確率を算出する(S14−4)。
部分マッチング部57は、呼び出し確率が最も大きい組み合わせを選択し、不良トランザクションを出力する(S14−5)。
The partial matching unit 57 calculates the call probability of the partial transaction and the mismatch message during the entire test period (S14-4).
The partial matching unit 57 selects a combination having the highest call probability and outputs a bad transaction (S14-5).

以下では、S14−1〜S14−5の各処理について詳述する。
まずは、図18〜図22を用いて、S14−1の処理について詳述する。
図18は、図14(C)の不一致メッセージの呼出関係のシーケンス図である。図18において、「ID」とは、メッセージIDを示す。
Below, each process of S14-1-S14-5 is explained in full detail.
First, the process of S14-1 will be described in detail with reference to FIGS.
FIG. 18 is a sequence diagram of the call relationship of the mismatch message of FIG. In FIG. 18, “ID” indicates a message ID.

S14−1では、部分マッチング部57は、不一致メッセージ65の階層間の親子関係候補をリクエスト・レスポンスの内包関係から抽出する。ここで、図19を用いて、内包関係について説明する。   In S <b> 14-1, the partial matching unit 57 extracts a parent-child relationship candidate between the hierarchies of the mismatch message 65 from the inclusion relationship of the request and response. Here, the inclusion relationship will be described with reference to FIG.

図19は、リクエスト・レスポンスの内包関係を説明するための図である。第i階層のメッセージのリクエストとレスポンスの時刻の間の時間帯に、第i+1階層のメッセージのリクエストとレスポンスの時刻の間の時間帯が含まれていることを「内包」という。第i階層のメッセージのリクエストとレスポンスの時刻の間の時間帯に、第i+1階層のメッセージのリクエストとレスポンスの時刻の間の時間帯が内包される場合、それらのメッセージは親子関係の候補となる。   FIG. 19 is a diagram for explaining the inclusion relationship between request and response. The time zone between the request and response times of the i-th layer message includes the time zone between the request and response times of the (i + 1) -th layer message is referred to as “inclusive”. If the time zone between the request and response times of the i-th layer message is included in the time zone between the request and response times of the i-th layer message, these messages are candidates for the parent-child relationship. .

図20は、図18の不一致メッセージのシーケンスについて、上記の内包関係を用いて、メッセージの親子関係候補を図式化した図である。
図21は、S14−1の詳細フローを示す。部分マッチング部57は、不一致メッセージ65の各メッセージから、次の階層の時間的に内包されるメッセージ(リクエストとレスポンス)を探索する。部分マッチング部57は、図22に示すように、その探索されたメッセージを子メッセージ候補81として出力する。
FIG. 20 is a diagram schematically showing message parent-child relationship candidates for the mismatch message sequence of FIG. 18 using the above-described inclusion relationship.
FIG. 21 shows a detailed flow of S14-1. The partial matching unit 57 searches for messages (requests and responses) included in time in the next hierarchy from each message of the mismatch message 65. The partial matching unit 57 outputs the searched message as a child message candidate 81 as shown in FIG.

次に、図23〜図25を用いて、S14−2の処理について詳述する。S14−2では、部分マッチング部57は、親子関係候補から、アップデート前のトランザクションモデルと部分的に一致する部分トランザクションを探索する。   Next, the process of S14-2 will be described in detail with reference to FIGS. In S14-2, the partial matching unit 57 searches for a partial transaction that partially matches the transaction model before the update from the parent-child relationship candidates.

図23は、S14−2の詳細フローを示す。図24は、部分モデル探索を説明するための図である。図25は、S14−2の処理に関する各種データの一例を示す。部分マッチング部57は、部分モデルの探索を行う(S14−2−1)。すなわち、部分マッチング部57は、子メッセージ候補81と、不良モデル66についてのトランザクションモデル62とをマッチングし、部分的に合致したメッセージを部分モデルとして登録する。例えば、図16(C)に示すように、不良モデル66は、mode1 1、model 2であるから、部分マッチング部57は、mode1 1、model 2のトランザクションモデル(図11、図14(A))と、子メッセージ候補81(図20)とをマッチングする。すると、図24に示すように、太線で覆われたメッセージ候補が合致する。部分マッチング部57は、図25(A)に示すように、これらの合致したメッセージを部分モデル82として記憶部59に格納する。   FIG. 23 shows a detailed flow of S14-2. FIG. 24 is a diagram for explaining the partial model search. FIG. 25 shows an example of various data relating to the processing of S14-2. The partial matching unit 57 searches for a partial model (S14-2-1). That is, the partial matching unit 57 matches the child message candidate 81 with the transaction model 62 for the defective model 66 and registers a partially matched message as a partial model. For example, as shown in FIG. 16C, since the defective model 66 is mode1 1 and model 2, the partial matching unit 57 uses the transaction model of mode1 1 and model 2 (FIGS. 11 and 14A). And the child message candidate 81 (FIG. 20) are matched. Then, as shown in FIG. 24, the message candidates covered with a thick line match. The partial matching unit 57 stores these matched messages in the storage unit 59 as a partial model 82 as shown in FIG.

次に、部分マッチング部57は、部分トランザクション候補の抽出を行う(S14−2−2)。すなわち、部分マッチング部57は、部分モデル82に合致したメッセージの中で、メッセージが重複しない部分トランザクションの組み合わせを抽出する。   Next, the partial matching unit 57 extracts partial transaction candidates (S14-2-2). That is, the partial matching unit 57 extracts a combination of partial transactions in which messages do not overlap among messages that match the partial model 82.

それから、部分マッチング部57は、部分トランザクション候補の中から部分トランザクションを確定する(S14−2−3)。すなわち、部分マッチング部57は、部分トランザクション候補の組み合わせの中で、メッセージ数が最も多い組み合わせを部分トランザクションとして確定する。S14−2−2及びS14−2−3については、図26を用いて説明する。   Then, the partial matching unit 57 determines a partial transaction from the partial transaction candidates (S14-2-3). That is, the partial matching unit 57 determines the combination having the largest number of messages as the partial transaction among the partial transaction candidate combinations. S14-2-2 and S14-2-3 will be described with reference to FIG.

図26は、部分トランザクション候補の抽出・確定を説明するための図である。S14−2−1で得られた部分モデル(図24)について、合致したメッセージの中で、メッセージが重複しない部分トランザクションの組み合わせを抽出すると、図26の部分トランザクション候補1,2が得られる。破線で囲んで示すように、複数の組み合わせが存在するので、部分マッチング部57は、合致するメッセージ数が最も多い組み合わせの部分トランザクション候補を選択する。図26において、部分トランザクション候補1のマッチするメッセージ数は6であり、部分トランザクション候補2のマッチするメッセージ数は5である。したがって、部分マッチング部57は、部分トランザクション候補1を選択し、図25(B)に示すように、部分トランザクション83として記憶部59に格納する。   FIG. 26 is a diagram for explaining extraction / determination of partial transaction candidates. For the partial model obtained in S14-2-1 (FIG. 24), the partial transaction candidates 1 and 2 shown in FIG. Since there are a plurality of combinations as indicated by the broken lines, the partial matching unit 57 selects the partial transaction candidate of the combination having the largest number of matching messages. In FIG. 26, the number of matching messages of partial transaction candidate 1 is 6, and the number of matching messages of partial transaction candidate 2 is 5. Therefore, the partial matching unit 57 selects the partial transaction candidate 1 and stores it in the storage unit 59 as the partial transaction 83 as shown in FIG.

次に、部分マッチング部57は、残りメッセージを抽出する(S14−2−4)。すなわち、部分マッチング部57は、部分トランザクションに含まれないメッセージを残りメッセージ84として記憶部59に格納する。図24の場合では、部分モデルとして抽出されなかった、メッセージ(SQL−x,SQL−y)が残りメッセージ84として記憶部59に格納される。   Next, the partial matching unit 57 extracts remaining messages (S14-2-4). That is, the partial matching unit 57 stores a message not included in the partial transaction in the storage unit 59 as the remaining message 84. In the case of FIG. 24, messages (SQL-x, SQL-y) that have not been extracted as partial models are stored in the storage unit 59 as remaining messages 84.

次に、図27〜図29を用いて、S14−3の処理について詳述する。S14−3では、部分マッチング部57は、部分トランザクションと残りの不一致メッセージの親子関係候補を抽出する。これについて、図27を用いて説明する。   Next, the processing of S14-3 will be described in detail with reference to FIGS. In S14-3, the partial matching unit 57 extracts a parent-child relationship candidate between the partial transaction and the remaining mismatch message. This will be described with reference to FIG.

図27は、部分トランザクションと残りの不一致メッセージの親子関係候補の抽出を説明するための図である。図27の左側に示すように、破線で囲まれた部分トランザクションモデル(Model 1-1,Model 2-1)を抽象化して示したものが図27の右側の図である。このとき、残りメッセージSQL−xの親は、Model 1-1の1つである。一方、残りメッセージSQL−yの親は、Model 1-1,Model 2-1の2つである。したがって、S14−3では、これらの親子関係の候補が、図29に示すように、残りメッセージ候補85として抽出される。   FIG. 27 is a diagram for explaining extraction of a parent-child relationship candidate between a partial transaction and the remaining mismatch message. As shown on the left side of FIG. 27, the right side of FIG. 27 shows an abstraction of the partial transaction model (Model 1-1, Model 2-1) surrounded by a broken line. At this time, the parent of the remaining message SQL-x is one of Model 1-1. On the other hand, the parent of the remaining message SQL-y is two models 1-1 and 2-1. Therefore, in S14-3, these parent-child relationship candidates are extracted as remaining message candidates 85 as shown in FIG.

図28は、S14−3の詳細フローを示す。図29は、S14−3の処理に関する各種データの一例を示す。部分マッチング部57は、子メッセージ探の探索を行う(S14−3−1)。すなわち、部分マッチング部57は、部分トランザクションに対し、時間的に内包される残りメッセージを探索し、残りメッセージ候補85として記憶部59に格納する。   FIG. 28 shows a detailed flow of S14-3. FIG. 29 shows an example of various data relating to the processing of S14-3. The partial matching unit 57 searches for a child message search (S14-3-1). That is, the partial matching unit 57 searches for a remaining message included in time with respect to the partial transaction, and stores it in the storage unit 59 as a remaining message candidate 85.

次に、図30〜図33を用いて、S14−4の処理について詳述する。S14−4では、部分マッチング部57は、全テスト期間における部分トランザクションと不一致メッセージの呼び出し確率(メッセージが部分トランザクションの子である確率)を算出する。これについて、図30を用いて説明する。   Next, the process of S14-4 will be described in detail with reference to FIGS. In S14-4, the partial matching unit 57 calculates the call probability of the partial transaction and the mismatch message (probability that the message is a child of the partial transaction) in the entire test period. This will be described with reference to FIG.

図30は、呼び出し確率の算出について説明するための図である。呼び出し確率は、不一致メッセージから見て親となる部分トランザクション数の逆数を呼び出し回数で平均した値である。   FIG. 30 is a diagram for explaining calculation of the call probability. The call probability is a value obtained by averaging the reciprocal of the number of parent partial transactions as seen from the mismatch message by the number of calls.

例えば、テストAにおいて、メッセージ(SQL−x)から見て親は、部分トランザクションModel 1−1の1つである。したがって、部分トランザクション(Model 1-1)に対するメッセージ(SQL−x)の呼び出し確率は、1.0(=1/1)となる。   For example, in the test A, the parent as viewed from the message (SQL-x) is one of the partial transactions Model 1-1. Therefore, the call probability of the message (SQL-x) for the partial transaction (Model 1-1) is 1.0 (= 1/1).

また、テストAにおいて、メッセージ(SQL−y)から見て親は、部分トランザクション(Model 1-1,Model 2-1)の2つなので、呼び出し確率は0.5(=1/2)となる。テストBにおいて、メッセージ(SQL−y)から見て親は、部分トランザクション(Model 2-1)の1つなので、呼び出し確率は1(=1/1)となる。したがって、部分トランザクション(Model 1-1,Model 2-1)に対するメッセージ(SQL−y)の呼び出し確率は、呼び出し確率は0.75(=(0.5+1.0)/2)となる。   In Test A, since there are two parents of partial transactions (Model 1-1, Model 2-1) as seen from the message (SQL-y), the call probability is 0.5 (= 1/2). . In test B, since the parent is one of partial transactions (Model 2-1) as seen from the message (SQL-y), the call probability is 1 (= 1/1). Therefore, the call probability of the message (SQL-y) for the partial transaction (Model 1-1, Model 2-1) is 0.75 (= (0.5 + 1.0) / 2).

図31は、S14−4の詳細フローを示す。図32は、S14−4の処理に関する各種データの一例を示す。部分マッチング部57は、残りメッセージ候補85(図32(A))を用いて、残りメッセージに対し、親となる部分トランザクションの数をカウントし、図32(B)に示すように親候補数86として記憶部59に格納する(S14−4−1)。   FIG. 31 shows a detailed flow of S14-4. FIG. 32 shows an example of various data relating to the processing of S14-4. The partial matching unit 57 uses the remaining message candidates 85 (FIG. 32A) to count the number of parent partial transactions for the remaining messages, and the number of parent candidates 86 as shown in FIG. 32B. Is stored in the storage unit 59 (S14-4-1).

部分マッチング部57は、図32(C)に示すように、部分トランザクションと残りメッセージの組み合わせに対し、呼び出し確率(親候補数の逆数を呼び出し回数で平均した値)87を算出する(S14−4−2)。   As shown in FIG. 32C, the partial matching unit 57 calculates a call probability (value obtained by averaging the reciprocal of the number of parent candidates by the number of calls) 87 for the combination of the partial transaction and the remaining message (S14-4). -2).

部分マッチング部57は、図32(D)に示すように、部分モデルとオブジェクトの組み合わせに対し、呼び出し確率の平均を呼び出し確率テーブル88に出力する(S14−4−3)。   As shown in FIG. 32D, the partial matching unit 57 outputs the average call probability to the call probability table 88 for the combination of the partial model and the object (S14-4-3).

次に、図33〜図35を用いて、S14−5の処理について詳述する。S14−5では、部分マッチング部57は、呼び出し確率が最も大きい部分トランザクションとメッセージの汲み合わせを選択し、不良トランザクションを確定する。これについて、図33を用いて説明する。   Next, the process of S14-5 will be described in detail with reference to FIGS. In S <b> 14-5, the partial matching unit 57 selects a partial transaction and a message that have the highest call probability and determines a bad transaction. This will be described with reference to FIG.

図33は、呼び出し確率が最も大きい部分トランザクションとメッセージの組み合わせを選択し、不良トランザクションを確定することについて説明する図である。図33において、複数の親候補を有するメッセージ(SQL−y)に着目する。部分トランザクション(Model 1-1)に対するメッセージ(SQL−y)の呼び出し確率は、0.5である。部分トランザクション(Model 2-1)に対するメッセージ(SQL−y)の呼び出し確率は、0.75である。この場合、メッセージ(SQL−y)と、呼び出し確率の大きい部分トランザクション(Model 2-1)との組み合わせが選択される。これにより、不良トランザクションが確定する。   FIG. 33 is a diagram for explaining the selection of a combination of a partial transaction and a message with the highest call probability and the determination of a bad transaction. In FIG. 33, attention is focused on a message (SQL-y) having a plurality of parent candidates. The call probability of the message (SQL-y) for the partial transaction (Model 1-1) is 0.5. The call probability of the message (SQL-y) for the partial transaction (Model 2-1) is 0.75. In this case, a combination of a message (SQL-y) and a partial transaction (Model 2-1) having a high call probability is selected. Thereby, the bad transaction is confirmed.

図34は、S14−5の詳細フローを示す。図35は、不良トランザクションの一例を示す。部分マッチング部57は、部分トランザクションと残りメッセージの組み合わせが複数ある場合、残りメッセージ候補85と呼び出し確率テーブルを用いて、呼び出し確率が大きい方の組み合わせを選択する(S14−5−1)。   FIG. 34 shows a detailed flow of S14-5. FIG. 35 shows an example of a bad transaction. When there are a plurality of combinations of partial transactions and remaining messages, the partial matching unit 57 selects a combination having a higher call probability using the remaining message candidates 85 and the call probability table (S14-5-1).

部分マッチング部57は、部分トランザクションに対して、その確定した残りメッセージを追加したものを不良トランザクション89(図35)として記憶部59に記憶する(S14−5−2)。   The partial matching unit 57 stores the partial transaction with the confirmed remaining message added thereto as a bad transaction 89 (FIG. 35) in the storage unit 59 (S14-5-2).

このように、不一致メッセージと不良モデルを部分マッチングすることにより、不良トランザクションを抽出することができる。部分マッチング処理は、不良モデルと不一致メッセージを部分的にマッチングし、一致した部分トランザクションと残りの不一致メッセージを紐付けることにより、不良トランザクションを確定することができる。   In this way, a defective transaction can be extracted by partially matching the mismatch message with the defective model. In the partial matching process, the defective transaction can be confirmed by partially matching the defective model and the mismatch message and associating the matched partial transaction with the remaining mismatch message.

図36は、正解トランザクション及び不良トランザクションの出力イメージを示す。図36の場合、正解トランザクション(アップデート前のトランザクションモデル)と比較すると、不良トランザクション(アップデート後のトランザクション)は、SQL−a、SQL−b、SQL−dが無くなっていることが確認できる。一方で、不良トランザクションに、SQL−x、SQC−yが新たに出現していることが確認できる。テスト実行者は、これらのSQLを比較することにより、アップデートによる影響を調査することが可能である。   FIG. 36 shows an output image of a correct transaction and a bad transaction. In the case of FIG. 36, it can be confirmed that SQL-a, SQL-b, and SQL-d are lost in the bad transaction (transaction after update) compared to the correct transaction (transaction model before update). On the other hand, it can be confirmed that SQL-x and SQL-y have newly appeared in the bad transaction. The test performer can investigate the influence of the update by comparing these SQLs.

図37は、分析装置21のハードウェア構成の一例を示す。分析装置21は、CPU(中央処理演算装置)91、メモリ92、通信制御部93、通信装置94、表示制御部95、表示装置96、入力インターフェース(I/F)97、入力装置98、記憶装置99、読取装置100、バス101を含む。   FIG. 37 shows an example of the hardware configuration of the analyzer 21. The analysis device 21 includes a CPU (central processing unit) 91, a memory 92, a communication control unit 93, a communication device 94, a display control unit 95, a display device 96, an input interface (I / F) 97, an input device 98, and a storage device. 99, a reader 100, and a bus 101.

バス109には、CPU91、メモリ92、通信制御部93、通信装置94、表示制御部95、入力I/F97、入力装置98、記憶装置99、読取装置100等が接続されている。CPU91は、分析装置21の装置全体を制御する。メモリ92は、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)の記憶装置である。読取装置100は、可搬型記録媒体を読み出す装置である。通信制御部93は、テスト対象システム31にアクセス可能なネットワークへ接続され、当該ネットワークについての通信を制御する。通信制御部93は、テスト対象システム31のスイッチ25と接続され、当該スイッチ25との通信を制御する。   To the bus 109, a CPU 91, a memory 92, a communication control unit 93, a communication device 94, a display control unit 95, an input I / F 97, an input device 98, a storage device 99, a reading device 100, and the like are connected. The CPU 91 controls the entire apparatus of the analysis device 21. The memory 92 is a storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory). The reading device 100 is a device that reads a portable recording medium. The communication control unit 93 is connected to a network accessible to the test target system 31, and controls communication with respect to the network. The communication control unit 93 is connected to the switch 25 of the test target system 31 and controls communication with the switch 25.

表示装置96は、表示制御部95に接続されている。表示制御部95は、CPU91からの命令に従って、画像を表示装置96の画面に表示させる。入力装置98は、入力I/F97に接続にされている。   The display device 96 is connected to the display control unit 95. The display control unit 95 displays an image on the screen of the display device 96 according to a command from the CPU 91. The input device 98 is connected to the input I / F 97.

記憶装置99としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。記憶装置99には、例えば、S、本実施形態に係るプログラム等の情報が格納されている。   As the storage device 99, various types of storage devices such as a hard disk drive, a flash memory device, and a magnetic disk device can be used. In the storage device 99, for example, information such as S and a program according to the present embodiment is stored.

CPU91は、記憶装置99から本実施形態に係るプログラムを読み込んで、パケット取得部51、メッセージ解析部52、モデル生成部53、モデル対応表生成部54、マッチング部55、不良モデル抽出部56、部分マッチング部57として機能する。   The CPU 91 reads the program according to the present embodiment from the storage device 99, and obtains a packet acquisition unit 51, a message analysis unit 52, a model generation unit 53, a model correspondence table generation unit 54, a matching unit 55, a defective model extraction unit 56, and a part It functions as the matching unit 57.

また、メモリ92または記憶装置99には、テスト実行ログ61、トランザクションモデル62、モデル対応表63、トランザクション64、不一致メッセージ65、不良モデル66、その他の作業テーブル等の情報が格納されている。その他の作業情報とは、例えば、子メッセージ候補81、部分モデル82、部分トランザクション83、残りメッセージ84、残りメッセージ候補85、親候補数86、呼び出し確率87、呼び出し確率テーブル88、不良トランザクション89を示す。   The memory 92 or the storage device 99 stores information such as a test execution log 61, a transaction model 62, a model correspondence table 63, a transaction 64, a mismatch message 65, a defective model 66, and other work tables. The other work information indicates, for example, a child message candidate 81, a partial model 82, a partial transaction 83, a remaining message 84, a remaining message candidate 85, a parent candidate number 86, a call probability 87, a call probability table 88, and a bad transaction 89. .

本実施形態において説明した分析装置21の動作を実現するプログラムは、プログラム提供者側から通信ネットワークを介して、例えば記憶装置99に格納してもよい。また、後述する実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置100に設定されて、CPU91によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置100によって読み取られる。   The program that realizes the operation of the analysis device 21 described in the present embodiment may be stored, for example, in the storage device 99 from the program provider side via a communication network. In addition, a program that realizes processing described in an embodiment to be described later may be stored in a commercially available portable storage medium. In this case, the portable storage medium may be set in the reading device 100, and the program may be read and executed by the CPU 91. As the portable storage medium, various types of storage media such as a CD-ROM, a flexible disk, an optical disk, a magneto-optical disk, an IC card, and a USB memory device can be used. The program stored in such a storage medium is read by the reading device 100.

また、入力装置98には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。通信ネットワークは、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。   As the input device 98, a keyboard, mouse, electronic camera, web camera, microphone, scanner, sensor, tablet, touch panel, or the like can be used. The communication network may be a communication network such as the Internet, a LAN, a WAN, a dedicated line, a wired line, and a wireless line.

本実施形態によれば、複数のサーバ間でメッセージをやり取りしてサービスを提供するシステムのいずれかのサーバのOSやミドルウェアがアップデートされた場合の検証テストにおいて、アップデート前後のトランザクションの差異を検出することができる。そのため、そのシステムにおいて問題が発生した場合に、問題箇所の特定が容易となり、原因分析作業の効率化を図ることができる。   According to the present embodiment, a difference between transactions before and after an update is detected in a verification test when an OS or middleware of any server in a system that provides services by exchanging messages between a plurality of servers is updated. be able to. Therefore, when a problem occurs in the system, it becomes easy to identify the problem location, and the cause analysis work can be made more efficient.

なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。   The present invention is not limited to the above-described embodiment, and various configurations or embodiments can be taken without departing from the gist of the present invention.

上記実施形態に関し、更に以下の付記を開示する。
(付記1)
ネットワークで接続されたコンピュータ間で送受されるメッセージを収集する収集部と、
第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される第1の処理時間帯を解析し、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとし、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとして、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとするモデル生成部と、
前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成する対応情報生成部と、
前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合し、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得する照合部と、
前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得する不一致メッセージ取得部と、
前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出し、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出する不良モデル抽出部と、
前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析し、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とし、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築する仮親子関係構築部と、
前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合し、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索する部分トランザクション探索部と、
前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出する残りメッセージ抽出部と、
前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出し、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する不良トランザクション確定部と、
を備えることを特徴とする分析装置。
(付記2)
前記部分トランザクション探索部は、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションモデルに一致したメッセージのうち、該メッセージが重複しない部分トランザクションの組み合わせを部分トランザクション候補として抽出し、該部分トランザクション候補の中から、該部分トランザクション候補に含まれるメッセージ数の総和が最も多くなる部分トランザクション候補を前記部分トランザクションとして選択する
ことを特徴とする付記1に記載の分析装置。
(付記3)
前記残りメッセージ抽出部は、
前記部分トランザクションの処理時間帯に内包される処理時間帯を有する残りメッセージを抽出する
ことを特徴とする付記2に記載の分析装置。
(付記4)
前記不良トランザクション確定部は、前記第1のコンピュータから前記第2のコンピュータへのアクセスの度に収集されるメッセージを用いて、収集したメッセージ毎に得られる、前記部分トランザクションと前記残りメッセージについて、前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率の平均を算出し、該呼び出し確率の平均が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
ことを特徴とする付記1に記載の分析装置。
(付記5)
コンピュータに、
ネットワークで接続されたコンピュータ間で送受されるメッセージを収集し、
第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される第1の処理時間帯を解析し、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとし、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとして、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとし、
前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成し、
前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合し、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得し、
前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得し、
前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出し、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出し、
前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析し、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とし、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築し、
前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合し、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索し、
前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出し、
前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出し、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
処理を実行させる分析プログラム。
(付記6)
前記部分トランザクションの探索において、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションモデルに一致したメッセージのうち、該メッセージが重複しない部分トランザクションの組み合わせを部分トランザクション候補として抽出し、該部分トランザクション候補の中から、該部分トランザクション候補に含まれるメッセージ数の総和が最も多くなる部分トランザクション候補を前記部分トランザクションとして選択する
処理をコンピュータに実行させる付記5に記載の分析プログラム。
(付記7)
前記残りメッセージの抽出において、
前記部分トランザクションの処理時間帯に内包される処理時間帯を有する残りメッセージを抽出する
処理をコンピュータに実行させる付記6に記載の分析プログラム。
(付記8)
前記不良トランザクションの確定において、前記第1のコンピュータから前記第2のコンピュータへのアクセスの度に収集されるメッセージを用いて、収集したメッセージ毎に得られる、前記部分トランザクションと前記残りメッセージについて、前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率の平均を算出し、該呼び出し確率の平均が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
処理をコンピュータに実行させる付記5に記載の分析プログラム。
(付記9)
コンピュータが実行する分析方法であって、
前記コンピュータは、
ネットワークで接続されたコンピュータ間で送受されるメッセージを収集し、
第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される第1の処理時間帯を解析し、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとし、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとして、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとし、
前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成し、
前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合し、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得し、
前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得し、
前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出し、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出し、
前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析し、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とし、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築し、
前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合し、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索し、
前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出し、
前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出し、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
処理を実行する分析方法。
(付記10)
前記部分トランザクションの探索において、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションモデルに一致したメッセージのうち、該メッセージが重複しない部分トランザクションの組み合わせを部分トランザクション候補として抽出し、該部分トランザクション候補の中から、該部分トランザクション候補に含まれるメッセージ数の総和が最も多くなる部分トランザクション候補を前記部分トランザクションとして選択する
処理をコンピュータが実行する付記9に記載の分析方法。
(付記11)
前記残りメッセージの抽出において、
前記部分トランザクションの処理時間帯に内包される処理時間帯を有する残りメッセージを抽出する
処理をコンピュータが実行する付記10に記載の分析方法。
(付記12)
前記不良トランザクションの確定において、前記第1のコンピュータから前記第2のコンピュータへのアクセスの度に収集されるメッセージを用いて、収集したメッセージ毎に得られる、前記部分トランザクションと前記残りメッセージについて、前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率の平均を算出し、該呼び出し確率の平均が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
処理をコンピュータが実行する付記9に記載の分析方法。
(付記13)
コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合して、該モデルに合致するトランザクションと、該トランザクションを構成するメッセージ以外の不一致メッセージとを取得する照合部と、
該第2のアクセにおいて実行された前記モデルから、前記取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出する不良モデル抽出部と、
前記不一致メッセージから、前記不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する部分トランザクション抽出部と、
を備えることを特徴とする分析装置。
(付記14)
コンピュータに、
コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合して、該モデルに合致するトランザクションと、該トランザクションを構成するメッセージ以外の不一致メッセージとを取得し、
該第2のアクセにおいて実行された前記モデルから、前記取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出し、
前記不一致メッセージから、前記不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する
処理を実行させる分析プログラム。
(付記15)
コンピュータが実行する分析方法であって、
前記コンピュータは、
コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合して、該モデルに合致するトランザクションと、該トランザクションを構成するメッセージ以外の不一致メッセージとを取得し、
該第2のアクセにおいて実行された前記モデルから、前記取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出し、
前記不一致メッセージから、前記不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する
処理を実行する分析方法。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A collection unit that collects messages sent and received between computers connected via a network;
Using the first message collected when the first access is made from the first computer to the second computer, the difference between the collection times of the request message and the response message that are paired for each communication protocol. Analyzing the indicated first processing time zone, analyzing the paired request message and response message having the second processing time zone included in the first processing time zone, and analyzing the first processing time zone The request message and response message corresponding to the call message is used as the call source message, and the request message and response message corresponding to the second processing time zone is used as the call destination message, and a message group constituting one transaction is analyzed and analyzed. A model generation unit with a message group as a transaction model;
Correspondence for generating correspondence information associating the first access log including the location information of the first access destination obtained when there is the first access and the first access time with the transaction model. An information generator,
The second message collected when there is a second access from the first computer to the second computer is matched with the transaction model, and the transaction model is matched from the second message. A collation part that retrieves the transaction;
As a result of the collation, a mismatch message acquisition unit that acquires a mismatch message other than a message that constitutes a transaction that matches the transaction model, from the second message;
And a second access log and the corresponding information including the second of the second access destination location information obtained when there is an access and a second access time, is performed in the second access It was extracted transaction model, and from the transaction model performed in the second access, the obtained defect model extraction unit for extracting a defective transaction model showing the transaction model of non-transactional model that matches the transaction,
Using the mismatch message, the third processing time zone indicated by the difference between the request message and response message collection time for each communication protocol is analyzed, and included in the third processing time zone. Analyzes the paired request message and response message having the fourth processing time zone, sets the request message and response message corresponding to the third processing time zone as parent message candidates, and supports the fourth processing time zone A request message and a response message to be a child message candidate, and using the parent message candidate and the child message candidate, a temporary parent-child relationship construction unit that constructs a temporary parent-child relationship;
A partial transaction search unit for collating the mismatch message in which the temporary parent-child relationship is constructed with the bad transaction model and searching for a partial transaction indicating a transaction constituted by a message partially matching the bad transaction model;
A remaining message extraction unit that extracts a remaining message indicating a mismatch message other than a message constituting the partial transaction from the mismatch message in which the temporary parent-child relationship is constructed;
A call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest call probability is selected and indicated by the combination A bad transaction committing part that fixes the transaction as a bad transaction;
An analysis apparatus comprising:
(Appendix 2)
The partial transaction search unit extracts, as partial transaction candidates, a combination of partial transactions that do not overlap with each other among messages that match a partial transaction model indicating a transaction composed of messages that partially match the bad transaction model. Then, from among the partial transaction candidates, the partial transaction candidate having the largest total number of messages included in the partial transaction candidates is selected as the partial transaction.
(Appendix 3)
The remaining message extraction unit
The analyzer according to claim 2, wherein a remaining message having a processing time zone included in the processing time zone of the partial transaction is extracted.
(Appendix 4)
The defective transaction confirmation unit uses the message to be collected each time access to the second computer from the first computer, obtained for each collected message, for the partial transaction and the remaining messages, An average call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest average call probability is selected, The analyzer according to appendix 1, wherein a transaction indicated by the combination is determined as a bad transaction.
(Appendix 5)
On the computer,
Collect messages sent and received between computers connected on the network,
Using the first message collected when the first access is made from the first computer to the second computer, the difference between the collection times of the request message and the response message that are paired for each communication protocol. Analyzing the indicated first processing time zone, analyzing the paired request message and response message having the second processing time zone included in the first processing time zone, and analyzing the first processing time zone The request message and response message corresponding to the call message is used as the call source message, and the request message and response message corresponding to the second processing time zone is used as the call destination message, and a message group constituting one transaction is analyzed and analyzed. The message group is a transaction model,
Generating correspondence information associating the first access log including the location information of the first access destination obtained when there is the first access and the first access time with the transaction model;
The second message collected when there is a second access from the first computer to the second computer is matched with the transaction model, and the transaction model is matched from the second message. Get the transaction,
As a result of the collation, a mismatch message other than a message constituting a transaction that matches the transaction model is obtained from the second message,
And a second access log and the corresponding information including the second of the second access destination location information obtained when there is an access and a second access time, is performed in the second access were extracted transaction model, from the transaction model performed in the second access, extract the defective transaction model showing the transaction model of non-transactional model that matches the acquired transaction,
Using the mismatch message, the third processing time zone indicated by the difference between the request message and response message collection time for each communication protocol is analyzed, and included in the third processing time zone. Analyzes the paired request message and response message having the fourth processing time zone, sets the request message and response message corresponding to the third processing time zone as parent message candidates, and supports the fourth processing time zone A request message and a response message to be a child message candidate, and using the parent message candidate and the child message candidate, a temporary parent-child relationship is constructed,
Collating the inconsistent message in which the temporary parent-child relationship is constructed with the bad transaction model, and searching for a partial transaction indicating a transaction constituted by a message that partially matches the bad transaction model;
From the mismatch message in which the temporary parent-child relationship is constructed, a remaining message indicating a mismatch message other than the messages constituting the partial transaction is extracted.
A call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest call probability is selected and indicated by the combination An analysis program that executes a process to determine a transaction as a bad transaction.
(Appendix 6)
In the partial transaction search, a combination of partial transactions in which a message does not overlap is extracted as a partial transaction candidate among messages that match a partial transaction model indicating a transaction composed of messages partially matching the bad transaction model. Then, the analysis program according to appendix 5, which causes the computer to execute a process of selecting, as the partial transaction, a partial transaction candidate having the largest total number of messages included in the partial transaction candidates.
(Appendix 7)
In extracting the remaining messages,
The analysis program according to appendix 6, which causes a computer to execute processing for extracting a remaining message having a processing time zone included in the processing time zone of the partial transaction.
(Appendix 8)
In the determination of the defective transaction, using a message that is collected each time access to the second computer from the first computer, obtained for each collected message, for the partial transaction and the remaining messages, An average call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest average call probability is selected, The analysis program according to appendix 5, which causes a computer to execute processing for determining a transaction indicated by a combination as a bad transaction.
(Appendix 9)
An analysis method performed by a computer,
The computer
Collect messages sent and received between computers connected on the network,
Using the first message collected when the first access is made from the first computer to the second computer, the difference between the collection times of the request message and the response message that are paired for each communication protocol. Analyzing the indicated first processing time zone, analyzing the paired request message and response message having the second processing time zone included in the first processing time zone, and analyzing the first processing time zone The request message and response message corresponding to the call message is used as the call source message, and the request message and response message corresponding to the second processing time zone is used as the call destination message, and a message group constituting one transaction is analyzed and analyzed. The message group is a transaction model,
Generating correspondence information associating the first access log including the location information of the first access destination obtained when there is the first access and the first access time with the transaction model;
The second message collected when there is a second access from the first computer to the second computer is matched with the transaction model, and the transaction model is matched from the second message. Get the transaction,
As a result of the collation, a mismatch message other than a message constituting a transaction that matches the transaction model is obtained from the second message,
And a second access log and the corresponding information including the second of the second access destination location information obtained when there is an access and a second access time, is performed in the second access were extracted transaction model, from the transaction model performed in the second access, extract the defective transaction model showing the transaction model of non-transactional model that matches the acquired transaction,
Using the mismatch message, the third processing time zone indicated by the difference between the request message and response message collection time for each communication protocol is analyzed, and included in the third processing time zone. Analyzes the paired request message and response message having the fourth processing time zone, sets the request message and response message corresponding to the third processing time zone as parent message candidates, and supports the fourth processing time zone A request message and a response message to be a child message candidate, and using the parent message candidate and the child message candidate, a temporary parent-child relationship is constructed,
Collating the inconsistent message in which the temporary parent-child relationship is constructed with the bad transaction model, and searching for a partial transaction indicating a transaction constituted by a message that partially matches the bad transaction model;
From the mismatch message in which the temporary parent-child relationship is constructed, a remaining message indicating a mismatch message other than the messages constituting the partial transaction is extracted.
A call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest call probability is selected and indicated by the combination An analysis method that executes a process to establish a transaction as a bad transaction.
(Appendix 10)
In the partial transaction search, a combination of partial transactions in which a message does not overlap is extracted as a partial transaction candidate among messages that match a partial transaction model indicating a transaction composed of messages partially matching the bad transaction model. The analysis method according to appendix 9, wherein the computer executes a process of selecting, from the partial transaction candidates, a partial transaction candidate having the largest total number of messages included in the partial transaction candidates as the partial transaction.
(Appendix 11)
In extracting the remaining messages,
The analysis method according to appendix 10, wherein the computer executes a process of extracting a remaining message having a processing time zone included in the processing time zone of the partial transaction.
(Appendix 12)
In the determination of the defective transaction, using a message that is collected each time access to the second computer from the first computer, obtained for each collected message, for the partial transaction and the remaining messages, An average call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest average call probability is selected, The analysis method according to appendix 9, wherein the computer executes a process of determining the transaction indicated by the combination as a bad transaction.
(Appendix 13)
The transaction model generated by using the message obtained by the first access between the computers and the message obtained by the second access are collated, and the transaction that matches the model is configured. A collation part for obtaining non-matching messages other than messages,
From the model executed in the access second, and failure model extraction unit for extracting a defect model indicating the models except the model that matches the acquired transaction,
A partial transaction extraction unit that extracts a partial transaction including a message partially matching the defect model from the mismatch message;
An analysis apparatus comprising:
(Appendix 14)
On the computer,
The transaction model generated by using the message obtained by the first access between the computers and the message obtained by the second access are collated, and the transaction that matches the model is configured. Get non-matching messages other than messages,
From the model run in the second access, it extracts the faulty model indicating the models except the model that matches the acquired transaction,
An analysis program for executing a process of extracting a partial transaction including a message partially matching the defective model from the mismatch message.
(Appendix 15)
An analysis method performed by a computer,
The computer
The transaction model generated by using the message obtained by the first access between the computers and the message obtained by the second access are collated, and the transaction that matches the model is configured. Get non-matching messages other than messages,
From the model run in the second access, it extracts the faulty model indicating the models except the model that matches the acquired transaction,
An analysis method for executing a process of extracting a partial transaction including a message that partially matches the defect model from the mismatch message.

1 分析装置
2 収集部
3 モデル生成部
4 対応情報生成部
5 照合部
6 不一致メッセージ取得部
7 不良モデル抽出部
8 仮親子関係構築部
9 部分トランザクション探索部
10 残りメッセージ抽出部
11 不良トランザクション確定部
21 分析装置
22 Webサーバ
23 APサーバ
24 DBサーバ
25 スイッチ
26 クライアント
51 パケット取得部
52 メッセージ解析部
53 モデル生成部
54 モデル対応表生成部
55 マッチング部
56 不良モデル抽出部
57 部分マッチング部
58 出力部
59 記憶部
DESCRIPTION OF SYMBOLS 1 Analyzer 2 Collection part 3 Model generation part 4 Correspondence information generation part 5 Collation part 6 Mismatch message acquisition part 7 Defective model extraction part 8 Temporary parent-child relationship construction part 9 Partial transaction search part 10 Remaining message extraction part 11 Defective transaction determination part 21 Analysis device 22 Web server 23 AP server 24 DB server 25 Switch 26 Client 51 Packet acquisition unit 52 Message analysis unit 53 Model generation unit 54 Model correspondence table generation unit 55 Matching unit 56 Defect model extraction unit 57 Partial matching unit 58 Output unit 59 Storage Part

Claims (9)

コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合して、該モデルに合致するトランザクションと、該トランザクションを構成するメッセージ以外の不一致メッセージとを取得する照合部と、
該第2のアクセにおいて実行された前記モデルから、前記取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出する不良モデル抽出部と、
前記不一致メッセージから、前記不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する部分トランザクション抽出部と、
を備えることを特徴とする分析装置。
The transaction model generated by using the message obtained by the first access between the computers and the message obtained by the second access are collated, and the transaction that matches the model is configured. A collation part for obtaining non-matching messages other than messages,
From the model executed in the access second, and failure model extraction unit for extracting a defect model indicating the models except the model that matches the acquired transaction,
A partial transaction extraction unit that extracts a partial transaction including a message partially matching the defect model from the mismatch message;
An analysis apparatus comprising:
コンピュータ間で送受されるメッセージを収集する収集部と、
第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される第1の処理時間帯を解析し、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとし、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとして、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとするモデル生成部と、
前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成する対応情報生成部と、
前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合し、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得する照合部と、
前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得する不一致メッセージ取得部と、
前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出し、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出する不良モデル抽出部と、
前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析し、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とし、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築する仮親子関係構築部と、
前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合し、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索する部分トランザクション探索部と、
前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出する残りメッセージ抽出部と、
前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出し、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する不良トランザクション確定部と、
を備えることを特徴とする分析装置。
A collection unit that collects messages sent and received between computers;
Using the first message collected when the first access is made from the first computer to the second computer, the difference between the collection times of the request message and the response message that are paired for each communication protocol. Analyzing the indicated first processing time zone, analyzing the paired request message and response message having the second processing time zone included in the first processing time zone, and analyzing the first processing time zone The request message and response message corresponding to the call message is used as the call source message, and the request message and response message corresponding to the second processing time zone is used as the call destination message, and a message group constituting one transaction is analyzed and analyzed. A model generation unit with a message group as a transaction model;
Correspondence for generating correspondence information associating the first access log including the location information of the first access destination obtained when there is the first access and the first access time with the transaction model. An information generator,
The second message collected when there is a second access from the first computer to the second computer is matched with the transaction model, and the transaction model is matched from the second message. A collation part that retrieves the transaction;
As a result of the collation, a mismatch message acquisition unit that acquires a mismatch message other than a message that constitutes a transaction that matches the transaction model, from the second message;
And a second access log and the corresponding information including the second of the second access destination location information obtained when there is an access and a second access time, is performed in the second access It was extracted transaction model, and from the transaction model performed in the second access, the obtained defect model extraction unit for extracting a defective transaction model showing the transaction model of non-transactional model that matches the transaction,
Using the mismatch message, the third processing time zone indicated by the difference between the request message and response message collection time for each communication protocol is analyzed, and included in the third processing time zone. Analyzes the paired request message and response message having the fourth processing time zone, sets the request message and response message corresponding to the third processing time zone as parent message candidates, and supports the fourth processing time zone A request message and a response message to be a child message candidate, and using the parent message candidate and the child message candidate, a temporary parent-child relationship construction unit that constructs a temporary parent-child relationship;
A partial transaction search unit for collating the mismatch message in which the temporary parent-child relationship is constructed with the bad transaction model and searching for a partial transaction indicating a transaction constituted by a message partially matching the bad transaction model;
A remaining message extraction unit that extracts a remaining message indicating a mismatch message other than a message constituting the partial transaction from the mismatch message in which the temporary parent-child relationship is constructed;
A call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest call probability is selected and indicated by the combination A bad transaction committing part that fixes the transaction as a bad transaction;
An analysis apparatus comprising:
前記部分トランザクション探索部は、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションモデルに一致したメッセージのうち、該メッセージが重複しない部分トランザクションの組み合わせを部分トランザクション候補として抽出し、該部分トランザクション候補の中から、該部分トランザクション候補に含まれるメッセージ数の総和が最も多くなる部分トランザクション候補を前記部分トランザクションとして選択する
ことを特徴とする請求項2に記載の分析装置。
The partial transaction search unit extracts, as partial transaction candidates, a combination of partial transactions that do not overlap with each other among messages that match a partial transaction model indicating a transaction composed of messages that partially match the bad transaction model. The analysis apparatus according to claim 2, wherein a partial transaction candidate having the largest total number of messages included in the partial transaction candidates is selected as the partial transaction from the partial transaction candidates.
前記残りメッセージ抽出部は、
前記部分トランザクションの処理時間帯に内包される処理時間帯を有する残りメッセージを抽出する
ことを特徴とする請求項3に記載の分析装置。
The remaining message extraction unit
The analysis apparatus according to claim 3, wherein a remaining message having a processing time zone included in the processing time zone of the partial transaction is extracted.
前記不良トランザクション確定部は、前記第1のコンピュータから前記第2のコンピュータへのアクセスの度に収集されるメッセージを用いて、収集したメッセージ毎に得られる、前記部分トランザクションと前記残りメッセージについて、前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率の平均を算出し、該呼び出し確率の平均が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
ことを特徴とする請求項2に記載の分析装置。
The defective transaction confirmation unit uses the message to be collected each time access to the second computer from the first computer, obtained for each collected message, for the partial transaction and the remaining messages, An average call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest average call probability is selected, The analysis device according to claim 2, wherein a transaction indicated by the combination is determined as a bad transaction.
コンピュータに、
コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合して、該モデルに合致するトランザクションと、該トランザクションを構成するメッセージ以外の不一致メッセージとを取得し、
該第2のアクセにおいて実行された前記モデルから、前記取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出し、
前記不一致メッセージから、前記不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する
処理を実行させる分析プログラム。
On the computer,
The transaction model generated by using the message obtained by the first access between the computers and the message obtained by the second access are collated, and the transaction that matches the model is configured. Get non-matching messages other than messages,
From the model run in the second access, it extracts the faulty model indicating the models except the model that matches the acquired transaction,
An analysis program for executing a process of extracting a partial transaction including a message partially matching the defective model from the mismatch message.
コンピュータに、
コンピュータ間で送受されるメッセージを収集し、
第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される第1の処理時間帯を解析し、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとし、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとして、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとし、
前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成し、
前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合し、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得し、
前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致する
トランザクションを構成するメッセージ以外の不一致メッセージを取得し、
前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出し、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出し、
前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析し、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とし、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築し、
前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合し、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索し、
前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出し、
前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出し、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
処理を実行させる分析プログラム。
On the computer,
Collect messages sent and received between computers,
Using the first message collected when the first access is made from the first computer to the second computer, the difference between the collection times of the request message and the response message that are paired for each communication protocol. Analyzing the indicated first processing time zone, analyzing the paired request message and response message having the second processing time zone included in the first processing time zone, and analyzing the first processing time zone The request message and response message corresponding to the call message is used as the call source message, and the request message and response message corresponding to the second processing time zone is used as the call destination message, and a message group constituting one transaction is analyzed and analyzed. The message group is a transaction model,
Generating correspondence information associating the first access log including the location information of the first access destination obtained when there is the first access and the first access time with the transaction model;
The second message collected when there is a second access from the first computer to the second computer is matched with the transaction model, and the transaction model is matched from the second message. Get the transaction,
As a result of the collation, a mismatch message other than a message constituting a transaction that matches the transaction model is obtained from the second message,
And a second access log and the corresponding information including the second of the second access destination location information obtained when there is an access and a second access time, is performed in the second access were extracted transaction model, from the transaction model performed in the second access, extract the defective transaction model showing the transaction model of non-transactional model that matches the acquired transaction,
Using the mismatch message, the third processing time zone indicated by the difference between the request message and response message collection time for each communication protocol is analyzed, and included in the third processing time zone. Analyzes the paired request message and response message having the fourth processing time zone, sets the request message and response message corresponding to the third processing time zone as parent message candidates, and supports the fourth processing time zone A request message and a response message to be a child message candidate, and using the parent message candidate and the child message candidate, a temporary parent-child relationship is constructed,
Collating the inconsistent message in which the temporary parent-child relationship is constructed with the bad transaction model, and searching for a partial transaction indicating a transaction constituted by a message that partially matches the bad transaction model;
From the mismatch message in which the temporary parent-child relationship is constructed, a remaining message indicating a mismatch message other than the messages constituting the partial transaction is extracted.
A call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest call probability is selected and indicated by the combination An analysis program that executes a process to determine a transaction as a bad transaction.
コンピュータが実行する分析方法であって、
前記コンピュータは、
コンピュータ間において第1のアクセスで得られたメッセージを用いて生成したトランザクションのモデルと、第2のアクセスで得られたメッセージとを照合して、該モデルに合致するトランザクションと、該トランザクションを構成するメッセージ以外の不一致メッセージとを取得し、
該第2のアクセにおいて実行された前記モデルから、前記取得したトランザクションと一致するモデル以外のモデルを示す不良モデルを抽出し、
前記不一致メッセージから、前記不良モデルと部分的に一致するメッセージにより構成される部分トランザクションを抽出する
処理を実行する分析方法。
An analysis method performed by a computer,
The computer
The transaction model generated by using the message obtained by the first access between the computers and the message obtained by the second access are collated, and the transaction that matches the model is configured. Get non-matching messages other than messages,
From the model run in the second access, it extracts the faulty model indicating the models except the model that matches the acquired transaction,
An analysis method for executing a process of extracting a partial transaction including a message that partially matches the defect model from the mismatch message.
コンピュータが実行する分析方法であって、
前記コンピュータは、
コンピュータ間で送受されるメッセージを収集し、
第1のコンピュータから第2のコンピュータへ第1のアクセスがあった場合に収集された第1のメッセージを用いて、通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージとの収集時刻との差で示される第1の処理時間帯を解析し、該第1の処理時間帯に内包される第2の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第1の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し元メッセージとし、該第2の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを呼び出し先メッセージとして、1つのトランザクションを構成するメッセージ群を解析し、該解析したメッセージ群をトランザクションモデルとし、
前記第1のアクセスがあった場合に得られる第1のアクセス先の所在情報と第1のアクセス時刻とを含む第1のアクセスログと、前記トランザクションモデルとを関係付けた対応情報を生成し、
前記第1のコンピュータから前記第2のコンピュータへ第2のアクセスがあった場合に収集された第2のメッセージと、前記トランザクションモデルとを照合し、該第2のメッセージから該トランザクションモデルに合致するトランザクションを取得し、
前記照合の結果、前記第2のメッセージから、前記トランザクションモデルに合致するトランザクションを構成するメッセージ以外の不一致メッセージを取得し、
前記第2のアクセスがあった場合に得られる第2のアクセス先の所在情報と第2のアクセス時刻とを含む第2のアクセスログと前記対応情報とから、該第2のアクセにおいて実行されたトランザクションモデルを抽出し、該第2のアクセにおいて実行されたトランザクションモデルから、前記取得したトランザクションと一致するトランザクションモデル以外のトランザクションモデルを示す不良トランザクションモデルを抽出し、
前記不一致メッセージを用いて、前記通信プロトコル毎の対となるリクエストメッセージとレスポンスメッセージの収集時刻との差で示される第3の処理時間帯を解析し、該第3の処理時間帯に内包される第4の処理時間帯を有する対となるリクエストメッセージとレスポンスメッセージを解析し、該第3の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを親メッセージ候補とし、該第4の処理時間帯に対応するリクエストメッセージとレスポンスメッセージを子メッセージ候補とし、該親メッセージ候補と該子メッセージ候補とを用いて、仮の親子関係を構築し、
前記仮の親子関係が構築された不一致メッセージと前記不良トランザクションモデルとを照合し、前記不良トランザクションモデルと部分的に一致するメッセージにより構成されるトランザクションを示す部分トランザクションを探索し、
前記仮の親子関係が構築された不一致メッセージから、前記部分トランザクションを構成するメッセージ以外の不一致メッセージを示す残りメッセージを抽出し、
前記残りメッセージを子メッセージ候補とする前記部分トランザクションの数の逆数で示される呼び出し確率を算出し、該呼び出し確率が最も大きい前記部分トランザクションと前記残りメッセージとの組み合わせを選択し、該組み合わせで示されるトランザクションを不良トランザクションとして確定する
処理を実行する分析方法。
An analysis method performed by a computer,
The computer
Collect messages sent and received between computers,
Using the first message collected when the first access is made from the first computer to the second computer, the difference between the collection times of the request message and the response message that are paired for each communication protocol. Analyzing the indicated first processing time zone, analyzing the paired request message and response message having the second processing time zone included in the first processing time zone, and analyzing the first processing time zone The request message and response message corresponding to the call message is used as the call source message, and the request message and response message corresponding to the second processing time zone is used as the call destination message, and a message group constituting one transaction is analyzed and analyzed. The message group is a transaction model,
Generating correspondence information associating the first access log including the location information of the first access destination obtained when there is the first access and the first access time with the transaction model;
The second message collected when there is a second access from the first computer to the second computer is matched with the transaction model, and the transaction model is matched from the second message. Get the transaction,
As a result of the collation, a mismatch message other than a message constituting a transaction that matches the transaction model is obtained from the second message,
And a second access log and the corresponding information including the second of the second access destination location information obtained when there is an access and a second access time, is performed in the second access were extracted transaction model, from the transaction model performed in the second access, extract the defective transaction model showing the transaction model of non-transactional model that matches the acquired transaction,
Using the mismatch message, the third processing time zone indicated by the difference between the request message and response message collection time for each communication protocol is analyzed, and included in the third processing time zone. Analyzes the paired request message and response message having the fourth processing time zone, sets the request message and response message corresponding to the third processing time zone as parent message candidates, and supports the fourth processing time zone A request message and a response message to be a child message candidate, and using the parent message candidate and the child message candidate, a temporary parent-child relationship is constructed,
Collating the inconsistent message in which the temporary parent-child relationship is constructed with the bad transaction model, and searching for a partial transaction indicating a transaction constituted by a message that partially matches the bad transaction model;
From the mismatch message in which the temporary parent-child relationship is constructed, a remaining message indicating a mismatch message other than the messages constituting the partial transaction is extracted.
A call probability represented by the reciprocal of the number of partial transactions having the remaining message as a child message candidate is calculated, and a combination of the partial transaction and the remaining message having the highest call probability is selected and indicated by the combination An analysis method that executes a process to establish a transaction as a bad transaction.
JP2011180901A 2011-08-22 2011-08-22 Analysis device, analysis method, and analysis method Expired - Fee Related JP5733103B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011180901A JP5733103B2 (en) 2011-08-22 2011-08-22 Analysis device, analysis method, and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011180901A JP5733103B2 (en) 2011-08-22 2011-08-22 Analysis device, analysis method, and analysis method

Publications (2)

Publication Number Publication Date
JP2013045179A JP2013045179A (en) 2013-03-04
JP5733103B2 true JP5733103B2 (en) 2015-06-10

Family

ID=48009064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011180901A Expired - Fee Related JP5733103B2 (en) 2011-08-22 2011-08-22 Analysis device, analysis method, and analysis method

Country Status (1)

Country Link
JP (1) JP5733103B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248597A (en) * 2002-02-25 2003-09-05 Nec Corp Regression test method and regression test device
JP4610240B2 (en) * 2004-06-24 2011-01-12 富士通株式会社 Analysis program, analysis method, and analysis apparatus
JP4585534B2 (en) * 2007-03-01 2010-11-24 富士通株式会社 System monitoring program, system monitoring method, and system monitoring apparatus
JP5035068B2 (en) * 2008-03-28 2012-09-26 富士通株式会社 Service processing status analysis program, service processing status analysis device, and service processing status analysis method
JP5169614B2 (en) * 2008-08-19 2013-03-27 富士通株式会社 System analysis program, system analysis apparatus, and system analysis method

Also Published As

Publication number Publication date
JP2013045179A (en) 2013-03-04

Similar Documents

Publication Publication Date Title
Zheng et al. Xblock-eth: Extracting and exploring blockchain data from ethereum
US11269859B1 (en) Correlating different types of data of a distributed ledger system
US10489283B2 (en) Software defect reporting
CN110928772B (en) Test method and device
US10135936B1 (en) Systems and methods for web analytics testing and web development
US8656006B2 (en) Integrating traffic monitoring data and application runtime data
US8402131B2 (en) Hierarchy for characterizing interactions with an application
US9483387B1 (en) Tree comparison functionality for services
US7890808B2 (en) Testing software applications based on multiple data sources
US8751184B2 (en) Transaction based workload modeling for effective performance test strategies
US11507562B1 (en) Associating data from different nodes of a distributed ledger system
US11106562B2 (en) System and method for detecting anomalies based on feature signature of task workflows
JP2016192185A (en) Spoofing detection system and spoofing detection method
US10241957B2 (en) Workload patterns for realistic load recreation in performance testing
JP4504346B2 (en) Trouble factor detection program, trouble factor detection method, and trouble factor detection device
JP2018133044A (en) Webapi execution flow generation device and webapi execution flow generation method
US7653742B1 (en) Defining and detecting network application business activities
JP5733103B2 (en) Analysis device, analysis method, and analysis method
CN111800409A (en) Interface attack detection method and device
CN113360363A (en) Test method, device, equipment and computer storage medium for micro service system
JP2014191365A (en) Classification device of processing system included in multi-hierarchical system, classification program of processing system included in multi-hierarchical system, and classification method of processing system included in multi-hierarchical system
Raffety et al. Multi-source log clustering in distributed systems
JP4947218B2 (en) Message classification method and message classification device
JP2013003681A (en) Service operation management device
US11704219B1 (en) Performance monitoring of distributed ledger nodes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R150 Certificate of patent or registration of utility model

Ref document number: 5733103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees