JP5561182B2 - System analysis support program, system analysis support device, and system analysis support method - Google Patents
System analysis support program, system analysis support device, and system analysis support method Download PDFInfo
- Publication number
- JP5561182B2 JP5561182B2 JP2011010294A JP2011010294A JP5561182B2 JP 5561182 B2 JP5561182 B2 JP 5561182B2 JP 2011010294 A JP2011010294 A JP 2011010294A JP 2011010294 A JP2011010294 A JP 2011010294A JP 5561182 B2 JP5561182 B2 JP 5561182B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- messages
- protocol
- period
- batch processing
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、ネットワークシステムの分析を支援するシステム分析支援プログラム、システム分析支援装置、およびシステム分析支援方法に関する。 The present invention relates to a system analysis support program, a system analysis support apparatus, and a system analysis support method for supporting analysis of a network system.
近年、大規模化、複雑化するネットワークシステムの運用状況や性能問題などを的確に把握することが難しくなっている。例えば、複数のアプリケーションが連携して動作するネットワークシステムでは、性能劣化や障害の原因を突き止めるために、各サーバの挙動だけでなくシステム全体の性能を観測、分析するため、運用状況や性能問題を把握することが難しい。 In recent years, it has become difficult to accurately grasp the operating status and performance problems of network systems that are becoming larger and more complex. For example, in a network system in which multiple applications operate in cooperation, in order to determine the cause of performance degradation or failure, not only the behavior of each server but also the performance of the entire system is observed and analyzed. Difficult to grasp.
関連する先行技術としては、例えば、複数のプロセッサから構成される並列データベースシステムの動作解析を行う技術がある。従来の動作解析方法は、複数のプロセッサの各々についてデータベースアクセス処理の開始時刻と終了時刻の履歴情報を収集し、同一プロセッサについてデータベースアクセス処理の開始時刻と終了時刻とを対応付ける。そして、動作解析方法は、各プロセッサについて対応付けた終了時刻と開始時刻から処理時間を計算し、該処理時間が規定時間を超えているかどうかを判定する。 As a related prior art, for example, there is a technique for performing an operation analysis of a parallel database system including a plurality of processors. The conventional operation analysis method collects history information of the start time and end time of the database access process for each of a plurality of processors, and associates the start time and end time of the database access process for the same processor. Then, the operation analysis method calculates a processing time from the end time and the start time associated with each processor, and determines whether or not the processing time exceeds a specified time.
また、先行技術として、データベースに対する操作履歴を管理する技術がある。従来の管理装置は、バッチ処理の実行中を除き、データベースの操作を行うごとに操作内容を示す操作履歴をログ記憶手段に格納する。また、管理装置は、バッチ処理要求に応じてバッチ処理が実行されたときには、バッチ処理実行中の操作履歴を格納することなく、バッチ処理の実行を示すチェックポイントログをログ記憶手段に格納する。 As a prior art, there is a technique for managing an operation history for a database. A conventional management apparatus stores an operation history indicating operation contents in a log storage unit every time a database operation is performed, except during batch processing. Further, when the batch processing is executed in response to the batch processing request, the management device stores the checkpoint log indicating the execution of the batch processing in the log storage unit without storing the operation history during the execution of the batch processing.
また、先行技術として、システムの稼働状況を分析する技術がある。従来のシステム分析装置は、モデル生成指示が入力されると、処理間の呼出関係の確からしさに基づく選択基準に従って選択されたメッセージ集合に基づきサーバ間の呼出の制約条件を満たすトランザクションモデルを生成する。また、システム分析装置は、分析指示が入力されると、トランザクションモデルに合致するプロトコルログによりトランザクションの処理状態を分析する。 Further, as a prior art, there is a technique for analyzing the operation status of the system. When a model generation instruction is input, a conventional system analysis apparatus generates a transaction model that satisfies a call restriction condition between servers based on a message set selected according to a selection criterion based on the probability of a call relation between processes. . Further, when an analysis instruction is input, the system analysis apparatus analyzes the transaction processing state using a protocol log that matches the transaction model.
しかしながら、従来技術は、ネットワークシステムにおいてオンライン処理とバッチ処理が混在して行われる場合、システム内のサーバ間で送受信されるメッセージがオンライン処理またはバッチ処理のいずれのものかを判別することが難しいという問題がある。この結果、例えば、オンライン処理にかかる各サーバの処理時間を正確に求めることが難しくなり、ネットワークシステムの分析精度の低下を招くという問題がある。 However, in the conventional technology, when online processing and batch processing are performed together in a network system, it is difficult to determine whether a message transmitted / received between servers in the system is either online processing or batch processing. There's a problem. As a result, for example, it is difficult to accurately obtain the processing time of each server related to online processing, and there is a problem that the analysis accuracy of the network system is lowered.
1つの側面では、本発明は、バッチ処理にかかるメッセージを判別することができるシステム分析支援プログラム、システム分析支援装置、およびシステム分析支援方法を提供することを目的とする。 In one aspect, an object of the present invention is to provide a system analysis support program, a system analysis support apparatus, and a system analysis support method that can determine a message related to batch processing.
1つの態様では、プロトコルの階層構造が定義されたシステム内で受け渡されたメッセージ群の中から、前記システム内のデータベースを操作するためのプロトコルの直上層のプロトコルのリクエストとレスポンスのペアを検出し、前記メッセージ群の中から、所定期間内に送信された、前記データベースに対する所定の操作に関するメッセージの集合を選択し、選択されたメッセージの集合のうち、検出された1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージの割合を表す第1の指標値を算出し、前記所定期間のうち、前記1以上のペアのリクエスト時刻からレスポンス時刻までの期間が占める割合を表す第2の指標値を算出し、算出された第1および第2の指標値に基づいて、前記所定の操作がバッチ処理の操作か否かを判定し、判定された判定結果を出力する。 In one aspect, a request / response pair of a protocol immediately above a protocol for operating a database in the system is detected from a group of messages passed in the system in which the hierarchical structure of the protocol is defined. And selecting a set of messages related to a predetermined operation on the database transmitted within a predetermined period from the group of messages, and request time of one or more pairs detected from the selected set of messages. A first index value representing a ratio of messages transmitted between the response time and a response time, and a second ratio representing a ratio of a period from the request time to the response time of the one or more pairs in the predetermined period And the predetermined operation is performed based on the calculated first and second index values. To determine work or not, and outputs the determined determination result.
1態様によれば、バッチ処理にかかるメッセージを判別することができるという効果を奏する。 According to one aspect, there is an effect that a message related to batch processing can be determined.
以下に添付図面を参照して、この発明にかかるシステム分析支援プログラム、システム分析支援装置、およびシステム分析支援方法の好適な実施の形態を詳細に説明する。 Exemplary embodiments of a system analysis support program, a system analysis support apparatus, and a system analysis support method according to the present invention will be explained below in detail with reference to the accompanying drawings.
(ネットワークシステムのシステム構成)
図1は、実施の形態にかかるネットワークシステムの一実施例を示すシステム構成図である。図1において、ネットワークシステム100は、システム分析支援装置101と、Webサーバ102と、AP(アプリケーション)サーバ103と、DB(データベース)サーバ104と、クライアント端末105と、を含む構成である。
(System configuration of network system)
FIG. 1 is a system configuration diagram illustrating an example of a network system according to an embodiment. In FIG. 1, a
ネットワークシステム100において、Webサーバ102、APサーバ103、DBサーバ104およびクライアント端末105は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク110を介して相互に通信可能に接続されている。
In the
ここで、ネットワークシステム100は、プロトコルの階層構造が定義されたシステムである。プロトコルとは、ネットワーク110を介してコンピュータ(Webサーバ102、APサーバ103、DBサーバ104)同士が通信を行う際の通信規約である。ここでは、最上位の第1階層には、HTTP(HyperText Transfer Protocol)が定義されている。このHTTPは、クライアント端末105とWebサーバ102との通信に用いられるプロトコルである。
Here, the
第2階層には、IIOP(Internet Inter−ORB Protocol)が定義されている。このIIOPは、Webサーバ102とAPサーバ103との通信に用いられるプロトコルである。最下位の第3階層には、SQL(Structured Query Language)が定義されている。このSQLは、APサーバ103とDBサーバ104との通信に用いられるプロトコルである。
In the second layer, IIOP (Internet Inter-ORB Protocol) is defined. This IIOP is a protocol used for communication between the
また、ネットワークシステム100は、オンライン処理とバッチ処理が混在するシステムである。オンライン処理は、クライアント端末105からの要求に応じて処理を行う処理方式である。バッチ処理は、例えば、一定期間収集したデータを一括処理、または、複数の手順からなる処理を予め決められた手順に従って連続処理する処理方式である。
The
システム分析支援装置101は、ネットワークシステム100のシステム分析を支援するコンピュータである。Webサーバ102は、クライアント端末105に搭載されたブラウザからの要求に応じて、HTML(HyperText Markup Language)文書を送信するコンピュータである。
The system analysis support
APサーバ103は、Webサーバ102とDBサーバ104との橋渡しをおこない、データベース120に対する処理(例えば、検索処理、更新処理、削除処理など)を制御するコンピュータである。DBサーバ104は、データ群を格納するデータベース120を備え、データベース120に対する処理を実行するコンピュータである。
The
クライアント端末105は、ブラウザを備え、Webサーバ102と通信するコンピュータである。クライアント端末105は、例えば、パーソナル・コンピュータ、スマートフォン、携帯電話端末などである。
The
ここで、ネットワークシステム100内で受け渡されたメッセージ群の一例について説明する。メッセージとは、HTTP、IIOP、SQLのいずれかのプロトコルを用いて、ネットワークシステム100内のコンピュータ間で送受信される電文である。
Here, an example of a message group delivered in the
図2は、ネットワークシステム内のメッセージ群の一例を示す説明図(その1)である。図2において、ネットワークシステム100内のコンピュータ(Webサーバ102、APサーバ103、DBサーバ104)間で送受信されたメッセージM1〜M16が時系列に示されている。図2中、右向矢印はリクエストメッセージを表し、左向矢印はレスポンスメッセージを表している。
FIG. 2 is an explanatory diagram (part 1) illustrating an example of a message group in the network system. In FIG. 2, messages M1 to M16 transmitted and received between computers (
メッセージM1〜M10は、クライアント端末105からの要求に応じて、各コンピュータ間で送受信されたメッセージの集合である。具体的には、メッセージM1〜M10は、クライアント端末105のブラウザにより「URL1」が指定されたことで発生したオンライン処理のトランザクションを示している。
The messages M <b> 1 to M <b> 10 are a set of messages transmitted / received between the computers in response to a request from the
また、メッセージM11〜M16は、APサーバ103からの要求に応じて、APサーバ103とDBサーバ104との間で送受信されたメッセージの集合である。具体的には、メッセージM11〜M16は、バッチ処理のメッセージの集合である。すなわち、オンライン処理のメッセージM1〜M10が、バッチ処理のメッセージM11〜M16と混在している。
Messages M11 to M16 are a set of messages transmitted and received between the
例えば、メッセージ群M1〜M16を解析して、オンライン処理にかかる各コンピュータの処理時間を計算する場合、メッセージ群M1〜M16の中からバッチ処理のメッセージM11〜M16を除外する必要がある。ところが、各メッセージM1〜M16には、オンライン処理またはバッチ処理のいずれの処理のものかを判別するための情報が含まれていない。 For example, when analyzing the message groups M1 to M16 and calculating the processing time of each computer for online processing, it is necessary to exclude the batch processing messages M11 to M16 from the message groups M1 to M16. However, the messages M1 to M16 do not include information for determining whether the processing is online processing or batch processing.
そこで、本実施の形態にかかるシステム分析支援装置101は、バッチ処理のメッセージが有する特徴を利用して、ネットワークシステム100内で受け渡されるメッセージ群の中からバッチ処理のメッセージを判別するための情報を作成する。つぎに、図3を用いて、バッチ処理のメッセージが有する特徴について説明する。
Therefore, the system
なお、以下の説明において、本明細書では、上位階層のプロトコル(例えば、IIOP)のリクエストメッセージの送信時刻とレスポンスメッセージの送信時刻との間に送信された下位階層のプロトコル(例えば、SQL)のメッセージを「親が存在するメッセージ」という。一方、上位階層のプロトコルのリクエストメッセージの送信時刻とレスポンスメッセージの送信時刻との間に送信されたものではない下位階層のプロトコルのメッセージを「親が存在しないメッセージ」という。 In the following description, in this specification, the lower layer protocol (for example, SQL) transmitted between the request message transmission time and the response message transmission time of the upper layer protocol (for example, IIOP) is described. The message is referred to as a “message with a parent”. On the other hand, a message of a lower layer protocol that is not transmitted between the transmission time of the request message of the upper layer protocol and the transmission time of the response message is referred to as a “message having no parent”.
図3は、ネットワークシステム内のメッセージ群の一例を示す説明図(その2)である。図3において、メッセージM11〜M16は、APサーバ103とDBサーバ104との間で送受信されるバッチ処理のメッセージである。バッチ処理のメッセージM11〜M16は、プロトコル「SQL」のメッセージである。
FIG. 3 is an explanatory diagram (part 2) illustrating an example of a message group in the network system. In FIG. 3, messages M <b> 11 to M <b> 16 are batch processing messages transmitted and received between the
ここで、バッチ処理のメッセージM11〜M16は、直上層のプロトコル「IIOP」のメッセージと親子関係を有さない。親子関係とは、上位階層のプロトコルのコンピュータへの処理要求に伴って、下位階層のプロトコルのコンピュータへの処理要求が発生する呼出関係を表している。 Here, the messages M11 to M16 of the batch processing do not have a parent-child relationship with the message of the protocol “IIOP” in the immediately upper layer. The parent-child relationship represents a call relationship in which a processing request to a lower-layer protocol computer is generated in accordance with a processing request to a higher-layer protocol computer.
バッチ処理のメッセージは直上層のプロトコルのメッセージと親子関係を有さないため、第3階層のプロトコル「SQL」のメッセージうち、親が存在しないメッセージはバッチ処理のメッセージであるといえる。ところが、オンライン処理のメッセージとバッチ処理のメッセージとが混在すると、バッチ処理のメッセージであっても親が存在する場合がある。 Since the message of the batch process does not have a parent-child relationship with the message of the protocol immediately above, it can be said that the message having no parent among the messages of the protocol “SQL” in the third layer is the message of the batch process. However, when online processing messages and batch processing messages are mixed, there may be a parent even for batch processing messages.
図3の例では、バッチ処理のメッセージM11〜M16のうちメッセージM11,M12,M16は、親が存在するメッセージである。このため、オンライン処理とバッチ処理とが混在するネットワークシステム100では、親子関係の有無だけを判断して、バッチ処理のメッセージを判別することは難しい。
In the example of FIG. 3, messages M11, M12, and M16 among the messages M11 to M16 for batch processing are messages that have a parent. For this reason, in the
ここで、バッチ処理のメッセージに親が存在する傾向は、集計期間Tに対する、直上層のプロトコルのリクエストメッセージの送信時刻とレスポンスメッセージの送信時刻との間の期間(以下、「占有期間」という)が占める割合が増加するに伴って顕著になる。 Here, the tendency of the parent to exist in the batch processing message is that the period between the request message transmission time and the response message transmission time of the protocol immediately above the aggregation period T (hereinafter referred to as “occupation period”). As the proportion of occupies increases, it becomes more prominent.
図3の例では、集計期間Tにおいて、直上層のプロトコル「IIOP」のリクエストメッセージM2の送信時刻とレスポンスメッセージM9との間の占有期間は、『t1』である。また、集計期間Tにおいて、直上層のプロトコル「IIOP」のリクエストメッセージM17の送信時刻とレスポンスメッセージ(不図示)との間の占有期間は、『t2』である。 In the example of FIG. 3, in the counting period T, the occupation period between the transmission time of the request message M2 of the protocol “IIOP” of the immediately higher layer and the response message M9 is “t1”. Further, in the counting period T, the occupation period between the transmission time of the request message M17 of the protocol “IIOP” immediately above and the response message (not shown) is “t2”.
換言すれば、集計期間Tに対する占有期間(例えば、『t1+t2』)が占める割合(以下、「占有率」という)の増加に伴って、親が存在する割合が増加するメッセージは、バッチ処理のメッセージであるといえる。 In other words, a message in which the ratio of the presence of a parent increases with an increase in the ratio of the occupation period (for example, “t1 + t2”) to the aggregation period T (hereinafter referred to as “occupancy ratio”) is a message for batch processing. You can say that.
そこで、システム分析支援装置101は、直上層のプロトコルの占有率の増加に伴って親が存在する割合が増加するという特徴を利用して、バッチ処理のメッセージを判別するための情報を作成する。具体的には、例えば、システム分析支援装置101は、第3階層のプロトコル「SQL」のメッセージをオブジェクト単位で分類する。
Therefore, the system
オブジェクトとは、メッセージを分類するためのものである。第3階層のプロトコル「SQL」のメッセージの場合、該メッセージに含まれるデータベース120に対する操作を表す命令文の一部または全部によって表現される。なお、オブジェクトの具体例については後述する。
An object is for classifying messages. In the case of a message of the protocol “SQL” in the third layer, it is expressed by a part or all of a command statement representing an operation on the
つぎに、システム分析支援装置101は、プロトコル「SQL」のメッセージのオブジェクトごとに、該オブジェクトの集計期間T内のメッセージのうち親が存在するメッセージの出現率を求める。そして、システム分析支援装置101は、集計期間Tに対する直上層のプロトコル「IIOP」の占有期間の占有率と、オブジェクトごとの出現率とに基づいて、バッチ処理のオブジェクトを判断する。
Next, the system
これにより、システム分析時に、処理対象となるネットワークシステム100内のメッセージデータ群の中からバッチ処理のオブジェクトのメッセージを判別して除去することができ、分析精度の向上を図ることができる。
Thus, during system analysis, messages of batch processing objects can be determined and removed from the message data group in the
(システム分析支援装置101のハードウェア構成)
図4は、実施の形態にかかるシステム分析支援装置のハードウェア構成の一例を示すブロック図である。図4において、システム分析支援装置101は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、ディスプレイ408と、I/F(Interface)409と、キーボード410と、マウス411と、スキャナ412と、プリンタ413と、を備えている。また、各構成部はバス400によってそれぞれ接続されている。
(Hardware configuration of system analysis support apparatus 101)
FIG. 4 is a block diagram of an example of a hardware configuration of the system analysis support apparatus according to the embodiment. In FIG. 4, a system
ここで、CPU401は、システム分析支援装置101の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
Here, the
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータのリード/ライトを制御する。光ディスク407は、光ディスクドライブ406の制御で書き込まれたデータを記憶したり、光ディスク407に記憶されたデータをコンピュータに読み取らせたりする。
The
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ408は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
The
I/F409は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク110に接続され、このネットワーク110を介して他のコンピュータに接続される。そして、I/F409は、ネットワーク110と内部のインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。I/F409には、例えば、モデムやLANアダプタなどを採用することができる。
The I /
キーボード410は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス411は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
The
スキャナ412は、画像を光学的に読み取り、システム分析支援装置101内に画像データを取り込む。なお、スキャナ412は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ413は、画像データや文書データを印刷する。プリンタ413には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
The
なお、図1に示したWebサーバ102、APサーバ103、DBサーバ104およびクライアント端末105についても、上述したシステム分析支援装置101と同様のハードウェア構成によって実現することができる。
Note that the
(メッセージDB500の記憶内容)
つぎに、図5を用いて、システム分析支援装置101が用いるメッセージDB500について説明する。メッセージDB500は、例えば、図4に示したRAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。
(Contents stored in message DB 500)
Next, the
図5は、メッセージDBの記憶内容の一例を示す説明図である。図5において、メッセージDB500は、メッセージID、タイムスタンプ、プロトコル、メッセージ種別およびオブジェクトのフィールドを有する。各フィールドに情報を設定することで、メッセージのメッセージデータ(例えば、メッセージデータ500−1〜500−12)がレコードとして記憶されている。
FIG. 5 is an explanatory diagram showing an example of the contents stored in the message DB. In FIG. 5, the
メッセージIDは、ネットワークシステム100内で送受信されたメッセージの識別子である。ペアとなる一対のメッセージには、同一のメッセージIDが付与される。タイムスタンプは、メッセージの送信時刻である。なお、各メッセージデータは、送信時刻の早い順にソートされてメッセージDB500に記憶されている。プロトコルは、メッセージのプロトコルである。
The message ID is an identifier of a message transmitted / received in the
メッセージ種別は、リクエストメッセージまたはレスポンスメッセージを示す情報である。以下、リクエストメッセージはメッセージ種別「リクエスト」のメッセージを示し、レスポンスメッセージはメッセージ種別「レスポンス」のメッセージを示す。オブジェクトは、各メッセージを分類するための識別子である。図5の例では、第3階層のプロトコル「SQL」のリクエストメッセージについてのオブジェクトのみ表記されている。 The message type is information indicating a request message or a response message. Hereinafter, the request message indicates a message of the message type “request”, and the response message indicates a message of the message type “response”. The object is an identifier for classifying each message. In the example of FIG. 5, only the object for the request message of the protocol “SQL” in the third layer is shown.
ここで、第3階層のプロトコル「SQL」のリクエストメッセージについてのオブジェクトについて説明する。例えば、オブジェクトSQL1は、リクエストメッセージS1に含まれるDB120に対する操作を表す命令文から抽出された文字列である。
Here, an object about the request message of the protocol “SQL” in the third layer will be described. For example, the object SQL1 is a character string extracted from a command statement representing an operation on the
より具体的には、例えば、リクエストメッセージS1に含まれるDB120に対する操作を表す命令文を「SELECT ID, Name FROM Customer WHERE ID=100」とする。この命令文は、DB120内の「Customer」テーブルの中から、「ID=100」の「ID」および「Name」を取得するためのものである。この場合、例えば、命令文に含まれる「SELECT … FROM Customer WHERE …」をオブジェクト「SQL1」とすることができる。なお、オブジェクト「SQL1」に含まれる「…」は任意の文字列を示している。
More specifically, for example, a command statement representing an operation on the
また、命令文を「DELETE FROM Customer WHERE ID=100」とする。この命令文は、DB120内の「Customer」テーブルの中から、「ID=100」のレコードを削除するためのものである。この場合、例えば、命令文に含まれる「DELETE FROM Customer WHERE …」をオブジェクト「SQL1」とすることができる。
Also, the command statement is “DELETE FROM Customer WHERE ID = 100”. This statement is for deleting the record of “ID = 100” from the “Customer” table in the
また、命令文を「UPDATE Customer SET ID=100」とする。この命令文は、DB120内の「Customer」テーブルの中から、「ID=100」のレコードを更新するためのものである。この場合、例えば、命令文に含まれる「UPDATE Customer SET …」をオブジェクト「SQL1」とすることができる。
The command statement is “UPDATE Customer SET ID = 100”. This statement is for updating the record of “ID = 100” from the “Customer” table in the
このように、オブジェクトは、リクエストメッセージに含まれる命令文の一つ以上の句や文節の組合せによって表現することができる。プロトコル「HTTP」のリクエストメッセージの場合、オブジェクトとして、例えば、URL(Uniform Resource Locator)を用いることができる。また、プロトコル「IIOP」のリクエストメッセージの場合、オブジェクトとして、例えば、ある機能を実現するためのプログラムの名称を用いることができる。 As described above, an object can be expressed by a combination of one or more phrases or clauses included in a request message. In the case of a request message of the protocol “HTTP”, for example, a URL (Uniform Resource Locator) can be used as an object. In the case of a request message of the protocol “IIOP”, for example, the name of a program for realizing a certain function can be used as an object.
ここで、メッセージデータ500−4を例に挙げると、送信時刻「00:00:00.003」にプロトコル「SQL」のリクエストメッセージS1が、APサーバ103からDBサーバ104に送信されたことを認識できる。また、リクエストメッセージS1のオブジェクト「SQL1」を認識することができる。
Here, taking the message data 500-4 as an example, it is recognized that the request message S1 of the protocol “SQL” is transmitted from the
メッセージの送信元および送信先のコンピュータは、プロトコルとメッセージ種別から特定することができる。例えば、プロトコル「HTTP」、メッセージ種別「リクエスト」の場合、送信元のコンピュータはクライアント端末105であり、送信先のコンピュータはWebサーバ102である。なお、上述した説明では、タイムスタンプをメッセージの送信時刻と定義したが、タイムスタンプをメッセージの受信時刻と定義してもよい。
The message source and destination computers can be identified from the protocol and the message type. For example, in the case of the protocol “HTTP” and the message type “request”, the transmission source computer is the
(階層構造定義情報600の具体例)
つぎに、ネットワークシステム100のプロトコルの階層構造を定義する階層構造定義情報の具体例について説明する。
(Specific example of hierarchical structure definition information 600)
Next, a specific example of the hierarchical structure definition information that defines the hierarchical structure of the protocol of the
図6は、階層構造定義情報の具体例を示す説明図である。図6において、階層構造定義情報600には、ネットワークシステム100の3階層のプロトコルが定義されている。具体的には、階層構造定義情報600には、最上位の第1階層にHTTPが定義され、第2階層にIIOPが定義され、最下位の第3階層にSQLが定義されている。
FIG. 6 is an explanatory diagram of a specific example of hierarchical structure definition information. In FIG. 6, the hierarchical
(分析支援装置101の機能的構成)
図7は、実施の形態にかかるシステム分析支援装置の機能的構成の一例を示すブロック図である。図7において、システム分析支援装置101は、取得部701と、検出部702と、特定部703と、選択部704と、第1の算出部705と、第2の算出部706と、判定部707と、出力部708と、削除部709と、を含む構成である。各機能部(取得部701〜削除部709)は、具体的には、例えば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F409により、その機能を実現する。また、各機能部の処理結果は、特に指定する場合を除いて、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶される。
(Functional configuration of the analysis support apparatus 101)
FIG. 7 is a block diagram of an example of a functional configuration of the system analysis support apparatus according to the embodiment. 7, the system
取得部701は、ネットワークシステム100のプロトコルの階層構造が定義された階層構造定義情報600(図6参照)を取得する機能を有する。具体的には、例えば、取得部701が、階層構造定義情報600を、図4に示したキーボード410やマウス411を用いたユーザの操作入力により取得してもよく、また、外部のコンピュータから階層構造定義情報600を受信してもよい。階層構造定義情報600によれば、ネットワークシステム100のプロトコルの階層構造を認識することができる。
The
また、取得部701は、ネットワークシステム100内で受け渡されたメッセージ群を取得する機能を有する。メッセージは、例えば、メッセージID、タイムスタンプ、プロトコルおよびメッセージ種別を含む電文である。また、リクエストメッセージには、オブジェクトが含まれている。
The
具体的には、例えば、取得部701が、ネットワークシステム100内に設けられたスイッチ(不図示)を介して、ネットワークシステム100内のコンピュータ間で送受信されるパケットをキャプチャする。そして、システム分析支援装置101において、キャプチャしたパケット群をメッセージ解析して各メッセージを再構成することにより、メッセージ群を取得する。
Specifically, for example, the
また、取得部701が、例えば、メッセージ群を、キーボード410やマウス411を用いたユーザの操作入力により取得してもよく、さらに、外部のコンピュータからメッセージ群を受信してもよい。取得されたメッセージのメッセージID、タイムスタンプ、プロトコルおよびメッセージ種別は、例えば、図5に示したメッセージDB500に記憶される。
For example, the
検出部702は、取得されたメッセージ群の中から、ネットワークシステム100内のデータベース120を操作するためのプロトコルの直上層のプロトコルのリクエストメッセージとレスポンスメッセージのペアを検出する機能を有する。
The
ここで、データベース120を操作するためのプロトコルは、ネットワークシステム100の第3階層に定義されている「SQL」である。また、プロトコル「SQL」の直上層のプロトコルは、ネットワークシステム100の第2階層に定義されている「IIOP」である。
Here, the protocol for operating the
具体的には、例えば、まず、検出部702が、メッセージDB500の中から、プロトコル「IIOP」の任意のメッセージデータを検出する。つぎに、検出部702が、メッセージDB500の中から、選択したメッセージデータとメッセージIDが同一かつプロトコル「IIOP」のメッセージデータを検出する。これにより、プロトコル「IIOP」のリクエストメッセージとレスポンスメッセージのペアを検出することができる。
Specifically, for example, the
一例として、検出部702が、メッセージDB500の中からメッセージデータ500−3を検出した場合を想定する。この場合、検出部702が、メッセージDB500の中からメッセージID「I1」かつプロトコル「IIOP」のメッセージデータ500−7を検出する。これにより、プロトコル「IIOP」のリクエストメッセージI1とレスポンスメッセージI1とのペアを検出することができる。
As an example, it is assumed that the
検出部702は、例えば、メッセージDB500の中から検出されていないプロトコル「IIOP」のメッセージデータがなくなるまで、ペアを検出する処理を繰り返し行う。これにより、メッセージDB500の中からプロトコル「IIOP」のリクエストメッセージとレスポンスメッセージのすべてのペアを検出することができる。
For example, the
また、検出部702は、検出したペアごとに、該ペアのリクエストメッセージの送信時刻をリクエスト時刻として特定し、該ペアのレスポンスメッセージの送信時刻をレスポンス時刻として特定する。一例として、プロトコル「IIOP」かつメッセージID「I1」のペアが検出された場合を想定する。この場合、メッセージデータ500−3のタイムスタンプ「00:00:00.002」をリクエスト時刻とし、メッセージデータ500−7のタイムスタンプ「00:00:00.006」をレスポンス時刻として特定する。
Further, for each detected pair, the
検出された検出結果は、例えば、図8に示すペア情報テーブル800に記憶される。ペア情報テーブル800は、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。ここで、ペア情報テーブル800について説明する。
The detected detection result is stored in, for example, the pair information table 800 shown in FIG. The pair information table 800 is realized by a storage device such as the
図8は、ペア情報テーブルの記憶内容の一例を示す説明図である。図8において、ペア情報テーブル800は、ペアID、メッセージID、リクエスト時刻およびレスポンス時刻のフィールドを有する。各フィールドに情報を設定することで、検出されたペアごとのペア情報(例えば、ペア情報800−1,800−2)がレコードとして記憶されている。 FIG. 8 is an explanatory diagram showing an example of the stored contents of the pair information table. In FIG. 8, a pair information table 800 has fields for a pair ID, a message ID, a request time, and a response time. By setting information in each field, pair information (for example, pair information 800-1 and 800-2) for each detected pair is stored as a record.
ここで、ペアIDは、プロトコル「IIOP」のリクエストメッセージとレスポンスメッセージとのペアの識別子である。メッセージIDは、ペアのメッセージIDである。リクエスト時刻は、ペアのリクエストメッセージの送信時刻である。レスポンス時刻は、ペアのレスポンスメッセージの送信時刻である。 Here, the pair ID is an identifier of a pair of a request message and a response message of the protocol “IIOP”. The message ID is a paired message ID. The request time is the transmission time of the pair request message. The response time is the transmission time of the pair response message.
例えば、ペア情報800−1によれば、リクエスト時刻「00:00:00.002」にペアP1のリクエストメッセージI1が送信され、レスポンス時刻「00:00:00.006」にペアP1のレスポンスメッセージI1が送信されたことを認識できる。 For example, according to the pair information 800-1, the request message I1 of the pair P1 is transmitted at the request time “00: 00: 00.002”, and the response message of the pair P1 at the response time “00: 00: 00.006”. It can be recognized that I1 has been transmitted.
図7の説明に戻り、特定部703は、取得されたメッセージ群のうち、ネットワークシステム100内のデータベース120を操作するためのプロトコルのメッセージのオブジェクトを特定する機能を有する。
Returning to the description of FIG. 7, the specifying
具体的には、例えば、まず、特定部703が、プロトコル「SQL」のリクエストメッセージのオブジェクトを特定する。より具体的には、例えば、特定部703が、取得されたプロトコル「SQL」のリクエストメッセージの中から、予め規定された抽出ルールに従って命令文の一部または全部を抽出することによりオブジェクトを特定する。
Specifically, for example, first, the specifying
例えば、取得されたリクエストメッセージS1に含まれる命令文を「SELECT ID, Name FROM Customer WHERE ID=100」とする。この場合、例えば、特定部703が、リクエストメッセージS1の中から、「SELECT … FROM Customer WHERE …」を抽出することにより、オブジェクト「SQL1」を特定する。
For example, the command statement included in the acquired request message S1 is “SELECT ID, Name FROM Customer WHERE ID = 100”. In this case, for example, the identifying
特定されたリクエストメッセージのオブジェクトは、メッセージDB500内の該当するメッセージデータのオブジェクトフィールドに設定される。例えば、特定されたリクエストメッセージS1のオブジェクト「SQL1」は、メッセージDB500内のメッセージデータ500−4のオブジェクトフィールドに設定される。
The specified request message object is set in the object field of the corresponding message data in the
つぎに、特定部703が、プロトコル「SQL」のレスポンスメッセージのオブジェクトを特定する。具体的には、例えば、まず、特定部703が、メッセージDB500の中から、プロトコル「SQL」かつメッセージ種別「リクエスト」のメッセージデータを選択する。そして、特定部703が、選択したメッセージデータのオブジェクトを特定する。
Next, the identifying
このあと、特定部703が、メッセージDB500の中から、選択したメッセージデータとメッセージIDが同一かつプロトコル「SQL」のメッセージデータを検索する。ここで、メッセージデータが検索された場合、特定部703が、メッセージDB500内の該メッセージデータのオブジェクトフィールドに、特定したオブジェクトを設定する。
Thereafter, the specifying
これにより、プロトコル「SQL」のレスポンスメッセージのオブジェクトを特定することができる。なお、プロトコル「SQL」のレスポンスメッセージのオブジェクトの特定例については、図11を用いて後述する。 Thereby, the object of the response message of the protocol “SQL” can be specified. A specific example of the response message object of the protocol “SQL” will be described later with reference to FIG.
選択部704は、取得されたメッセージ群の中から、所定期間T内に送信された、データベース120に対する所定の操作に関するメッセージの集合を選択する機能を有する。データベース120に対する所定の操作に関するメッセージとは、データベース120に対する所定の操作を表す命令文を含むリクエストメッセージおよび該リクエストメッセージと同一メッセージIDのレスポンスメッセージである。
The
すなわち、所定の操作に関するメッセージの集合は、プロトコル「SQL」の同一オブジェクトのメッセージの集合である。具体的には、例えば、選択部704が、メッセージDB500のオブジェクトフィールドを参照して、プロトコル「SQL」のオブジェクトごとに、所定期間T内に送信された同一オブジェクトのメッセージの集合を抽出する。
That is, a set of messages related to a predetermined operation is a set of messages of the same object of the protocol “SQL”. Specifically, for example, the
一例として、所定期間Tを「00:00:00.000〜00:00:00.011」とする。この場合、選択部704が、例えば、メッセージDB500のオブジェクトフィールドを参照して、所定期間T内に送信されたオブジェクト「SQL1」のリクエストメッセージS1およびレスポンスメッセージS1を選択する。
As an example, the predetermined period T is set to “00: 00: 00.000 to 00: 00: 00.011”. In this case, for example, the
なお、所定期間Tは、任意に設定可能であり、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。具体的には、例えば、所定期間Tは、例えば、10分単位や1時間単位の期間である。
The predetermined period T can be arbitrarily set, and is stored in a storage device such as the
第1の算出部705は、選択されたメッセージの集合のうち、検出部702によって検出された1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージの割合を表す指標値を算出する機能を有する。
The
ここで、選択されたメッセージは、プロトコル「SQL」のメッセージである。検出されたペアは、プロトコル「IIOP」のメッセージのペアである。すなわち、検出された1つ以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージとは、親が存在するメッセージである。 Here, the selected message is a message of the protocol “SQL”. The detected pair is a message pair of the protocol “IIOP”. That is, the message transmitted between the request time and the response time of one or more detected pairs is a message having a parent.
具体的には、例えば、第1の算出部705が、プロトコル「SQL」のオブジェクトごとに、選択された該オブジェクトのメッセージの集合のうち、親が存在するメッセージの割合を表す指標値(以下、「出現率」という)を算出する。なお、第1の算出部705の具体的な処理内容については、図12を用いて後述する。
Specifically, for example, for each object of the protocol “SQL”, the
以下説明のため、プロトコル「SQL」の任意のオブジェクトを「オブジェクトSQLi」と表記する。 For the sake of explanation, an arbitrary object of the protocol “SQL” is expressed as “object SQLi”.
第2の算出部706は、所定期間Tのうち、検出された1以上のペアのリクエスト時刻からレスポンス時刻までの期間(以下、「占有期間」という)が占める割合を表す指標値(以下、「占有率」という)を算出する機能を有する。ここで、占有期間とは、所定期間Tのうち多重度が1以上の期間の合計である。多重度とは、データベース120を操作するためのプロトコルの直上層のプロトコルのペアのリクエスト時刻からレスポンス時刻までの期間が重なっている数である。
The
具体的には、例えば、第2の算出部706が、所定期間Tのうち、多重度が1以上の期間の合計を表すプロトコル「IIOP」の占有期間を算出する。そして、第2の算出部706が、所定期間Tのうち、プロトコル「IIOP」の占有期間が占める割合を表す占有率を算出する。なお、第2の算出部706の具体的な処理内容は、図13を用いて後述する。
Specifically, for example, the
判定部707は、算出された出現率および占有率に基づいて、データベース120に対する所定の操作がバッチ処理の操作か否かを判定する。具体的には、例えば、判定部707が、プロトコル「SQL」のオブジェクトSQLiの出現率(以下、「出現率Ai」という)および所定期間Tの占有率(以下、「占有率P」という)に基づいて、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定する。
The
より具体的には、例えば、判定部707が、オブジェクトSQLiの出現率Aiが閾値α以下かつ所定期間Tの占有率Pが閾値β以下の場合、オブジェクトSQLiがバッチ処理のオブジェクトであると判定する。閾値α、βは、予め設定されてROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
More specifically, for example, when the appearance rate Ai of the object SQLi is equal to or less than the threshold value α and the occupation rate P of the predetermined period T is equal to or less than the threshold value β, the
ここで、オブジェクトSQLiの出現率Aiが低ければ低いほど、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる。また、所定期間Tの占有率Pが低ければ低いほど、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる。 Here, the lower the appearance rate Ai of the object SQLi, the higher the possibility that the object SQLi is an object for batch processing. In addition, the lower the occupation ratio P of the predetermined period T, the higher the possibility that the object SQLi is an object for batch processing.
すなわち、上記閾値α、βを小さい値に設定するほど、バッチ処理のオブジェクトを正確に判定することができる。一方、上記閾値α、βの値が小さすぎると、バッチ処理のオブジェクトであると判定される基準が厳しくなり、オブジェクトSQLiがバッチ処理のオブジェクトであっても判定されない場合がある。 That is, the smaller the thresholds α and β are set, the more accurately the batch processing object can be determined. On the other hand, if the threshold values α and β are too small, the criterion for determining that the object is a batch process becomes strict, and the object SQLi may not be determined even if it is a batch process object.
このため、閾値αは、シミュレーションを行うなどして、オブジェクトSQLiの出現率Aiが閾値α以下の場合、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる適切な値(例えば、10[%])に設定される。同様に、閾値βは、シミュレーションを行うなどして、所定期間Tの占有率Pが閾値β以下の場合、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる適切な値(例えば、10[%])に設定される。 For this reason, the threshold value α is an appropriate value (for example, 10 [%] that increases the possibility that the object SQLi is an object of batch processing when the appearance rate Ai of the object SQLi is equal to or less than the threshold value α by performing a simulation or the like. ]). Similarly, the threshold value β is an appropriate value (for example, 10 [], for example, when the occupation rate P of the predetermined period T is equal to or less than the threshold value β by performing a simulation or the like. %]).
また、選択部704は、複数の所定期間の各々の所定期間ごとに、メッセージ群の中から、各々の所定期間内に送信された、オブジェクトSQLiのメッセージの集合を選択することにしてもよい。ここで、複数の所定期間は、例えば、メッセージ群の集計期間全体を所定期間Tで区切って分割された期間の集合である。
The
以下説明のため、複数の所定期間を「集計期間T1〜Tm」と表記し、集計期間T1〜Tmのうち任意の集計期間を「集計期間Tj」と表記する(j=1,2,…,m)。 For the following description, a plurality of predetermined periods are denoted as “aggregation periods T1 to Tm”, and an arbitrary aggregation period among the aggregation periods T1 to Tm is denoted as “aggregation period Tj” (j = 1, 2,... m).
また、第1の算出部705は、集計期間Tjごとに、集計期間Tjごとに選択されたオブジェクトSQLiのメッセージの集合のうち、親が存在するメッセージの割合を表す出現率Aiを算出することにしてもよい。また、第2の算出部706は、集計期間Tjごとに、集計期間Tjのうち占有期間が占める割合を表す占有率Pを算出することにしてもよい。
In addition, the
以下説明のため、集計期間TjにおけるオブジェクトSQLiの出現率Aiを「出現率Aji」と表記する。また、集計期間Tjのうち占有期間が占める割合を表す占有率Pを「占有率Pj」と表記する。 For the sake of explanation, the appearance rate Ai of the object SQLi in the aggregation period Tj is expressed as “appearance rate A j i”. Further, the occupation rate P representing the proportion of the occupation period in the total period Tj is expressed as “occupancy rate Pj”.
算出された集計期間TjにおけるオブジェクトSQLiの出現率Ajiおよび占有率Pjは、例えば、図9に示す出現率/占有率テーブル900に記憶される。出現率/占有率テーブル900は、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。ここで、出現率/占有率テーブル900について説明する。
The appearance rate A j i and the occupation rate Pj of the object SQLi in the calculated total period Tj are stored in, for example, the appearance rate / occupancy rate table 900 illustrated in FIG. The appearance rate / occupancy rate table 900 is realized by a storage device such as the
図9は、出現率/占有率テーブルの記憶内容の一例を示す説明図である。図9において、出現率/占有率テーブル900は、集計期間ID、オブジェクトID、出現率および占有率のフィールドを有する。各フィールドに情報を設定することで、集計期間Tjごとの出現率/占有率情報(例えば、出現率/占有率情報900−1,900−2)がレコードとして記憶されている。 FIG. 9 is an explanatory diagram of an example of the contents stored in the appearance rate / occupancy rate table. In FIG. 9, the appearance rate / occupancy rate table 900 has fields of a total period ID, an object ID, an appearance rate, and an occupation rate. By setting information in each field, appearance rate / occupancy rate information (for example, appearance rate / occupancy rate information 900-1 and 900-2) for each aggregation period Tj is stored as a record.
集計期間IDは、集計期間Tjの識別子である。オブジェクトIDは、プロトコル「SQL」のオブジェクトの識別子である。出現率は、集計期間TjにおけるオブジェクトSQLiの出現率Ajiである。占有率は、集計期間Tjのうち占有期間が占める割合を表す占有率Pjである。 The aggregation period ID is an identifier of the aggregation period Tj. The object ID is an identifier of an object of the protocol “SQL”. The appearance rate is the appearance rate A j i of the object SQLi in the total period Tj. The occupation ratio is an occupation ratio Pj that represents the ratio of the occupation period to the total period Tj.
一例として出現率/占有率情報900−1を例に挙げると、集計期間T1におけるオブジェクトSQL1の出現率A11、オブジェクトSQL2の出現率A12、オブジェクトSQL3の出現率A13、および集計期間T1の占有率P1が設定されている。
Taking the appearance rate / occupancy rate information 900-1 as an example, the
図7の説明に戻り、また、判定部707は、集計期間Tjごとに算出されたオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づいて、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定することにしてもよい。なお、判定部707の具体的な処理内容については、図16および図17を用いて後述する。
Returning to the description of FIG. 7, the
出力部708は、判定された判定結果を出力する機能を有する。具体的には、例えば、出力部708が、後述の図10に示すような、バッチ処理のオブジェクトSQLiをリスト化して示すオブジェクトリスト1000を出力することにしてもよい。
The
出力形式としては、例えば、ディスプレイ408への表示、プリンタ413への印刷出力、I/F409による外部装置への送信がある。また、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶することとしてもよい。ここで、オブジェクトリスト1000の具体例について説明する。
The output format includes, for example, display on the
図10は、オブジェクトリストの具体例を示す説明図である。図10において、オブジェクトリスト1000は、バッチ処理のオブジェクトSQL3,SQL4,SQL6をリスト化して示す情報である。オブジェクトリスト1000によれば、プロトコル「SQL」のオブジェクトのうち、バッチ処理のオブジェクトであると判定されたオブジェクトSQL3,SQL4,SQL6を判別することができる。 FIG. 10 is an explanatory diagram of a specific example of the object list. In FIG. 10, an object list 1000 is information indicating a list of batch processing objects SQL3, SQL4, and SQL6. According to the object list 1000, it is possible to determine the objects SQL3, SQL4, and SQL6 that are determined to be batch processing objects among the objects of the protocol “SQL”.
図7の説明に戻り、削除部709は、オブジェクトSQLiがバッチ処理のオブジェクトであると判定された場合、ネットワークシステム100内で受け渡されたメッセージ群の中から、オブジェクトSQLiのメッセージを削除する機能を有する。
Returning to the description of FIG. 7, the
具体的には、例えば、削除部709が、メッセージ群の中から、オブジェクトSQLiを表す文字列を含むリクエストメッセージを特定する。つぎに、削除部709が、メッセージ群の中から、特定したリクエストメッセージと同一メッセージIDのレスポンスメッセージを検索する。
Specifically, for example, the
そして、削除部709が、メッセージ群の中から、特定したリクエストメッセージおよびレスポンスメッセージを削除する。これにより、ネットワークシステム100内で受け渡されたメッセージ群の中から、バッチ処理のオブジェクトSQLiのメッセージを削除することができる。なお、メッセージの削除例については、図18を用いて後述する。
Then, the
また、出力部708は、ネットワークシステム100内で受け渡されたメッセージ群の中から、バッチ処理のオブジェクトSQLiのメッセージが削除された削除後のメッセージ群を出力することにしてもよい。これにより、バッチ処理のオブジェクトSQLiのメッセージを除く残余のメッセージ群を用いて、ネットワークシステム100内の各コンピュータの処理時間を求めることが可能となり、システム分析の分析精度を向上させることができる。
Further, the
なお、上述した説明では、HTTP、IIOPおよびSQLの3階層のネットワークシステム100を例に挙げて説明したが、これに限らない。例えば、ネットワークシステム100内のデータベース120を操作するためのプロトコルを含む多階層システム(例えば、2階層、4階層など)であればよい。
In the above description, the three-
(レスポンスメッセージのオブジェクトの特定例)
つぎに、図11を用いて、プロトコル「SQL」のレスポンスメッセージのオブジェクトSQLiの特定例について説明する。
(Specific example of response message object)
Next, a specific example of the object SQLi of the response message of the protocol “SQL” will be described with reference to FIG.
図11は、レスポンスメッセージのオブジェクトの特定例を示す説明図である。図11の(11−1)において、メッセージDB500には、プロトコル「SQL」のリクエストメッセージS1,S2,S3のオブジェクトSQL1,SQL2,SQL3が設定されている。
FIG. 11 is an explanatory diagram of a specific example of the response message object. In (11-1) of FIG. 11, objects SQL1, SQL2, and SQL3 of request messages S1, S2, and S3 of the protocol “SQL” are set in the
以下、リクエストメッセージS1,S2,S3と同一メッセージIDのレスポンスメッセージS1〜S3のオブジェクトSQLiを特定する場合を例に挙げて説明する。 Hereinafter, a case where the objects SQLi of the response messages S1 to S3 having the same message ID as the request messages S1, S2, and S3 are specified will be described as an example.
・レスポンスメッセージS1のオブジェクトSQLi
まず、特定部703が、メッセージDB500の中から、プロトコル「SQL」かつメッセージ種別「リクエスト」のメッセージデータ500−4を選択する。そして、特定部703が、メッセージデータ500−4のオブジェクトSQL1を特定する。つぎに、特定部703が、メッセージDB500の中から、メッセージデータ500−4とメッセージIDが同一かつプロトコル「SQL」のメッセージデータを検索する。
-Object SQLi of response message S1
First, the specifying
ここでは、メッセージデータ500−6が検索される。そして、特定部703が、メッセージDB500内のメッセージデータ500−6のオブジェクトフィールドに、特定したオブジェクトSQL1を設定する(図11中、(11−2)参照)。これにより、レスポンスメッセージS1のオブジェクトSQL1を特定することができる。
Here, message data 500-6 is searched. Then, the specifying
・レスポンスメッセージS2のオブジェクトSQLi
まず、特定部703が、メッセージDB500の中から、プロトコル「SQL」かつメッセージ種別「リクエスト」のメッセージデータ500−8を選択する。そして、特定部703が、メッセージデータ500−8のオブジェクトSQL2を特定する。つぎに、特定部703が、メッセージDB500の中から、メッセージデータ500−8とメッセージIDが同一かつプロトコル「SQL」のメッセージデータを検索する。
-Object SQLi of response message S2
First, the identifying
ここでは、メッセージデータ500−9が検索される。そして、特定部703が、メッセージDB500内のメッセージデータ500−9のオブジェクトフィールドに、特定したオブジェクトSQL2を設定する(図11中、(11−2)参照)。これにより、レスポンスメッセージS2のオブジェクトSQL2を特定することができる。
Here, message data 500-9 is searched. Then, the specifying
・レスポンスメッセージS3のオブジェクトSQLi
まず、特定部703が、メッセージDB500の中から、プロトコル「SQL」かつメッセージ種別「リクエスト」のメッセージデータ500−11を選択する。そして、特定部703が、メッセージデータ500−11のオブジェクトSQL3を特定する。つぎに、特定部703が、メッセージDB500の中から、メッセージデータ500−11とメッセージIDが同一かつプロトコル「SQL」のメッセージデータを検索する。
-Object SQLi of response message S3
First, the identifying
ここでは、メッセージデータ500−12が検索される。そして、特定部703が、メッセージDB500内のメッセージデータ500−12のオブジェクトフィールドに、特定したオブジェクトSQL3を設定する(図11中、(11−2)参照)。これにより、レスポンスメッセージS3のオブジェクトSQL3を特定することができる。
Here, message data 500-12 is searched. Then, the specifying
(第1の算出部705の具体的な処理内容)
つぎに、図12を用いて、集計期間TjにおけるオブジェクトSQLiの出現率Ajiを算出する第1の算出部705の具体的な処理内容について説明する。
(Specific processing contents of the first calculation unit 705)
Next, specific processing contents of the
第1の算出部705は、例えば、下記式(1)を用いて、集計期間TjにおけるオブジェクトSQLiの出現率Ajiを算出する。ただし、Ajiは、集計期間TjにおけるオブジェクトSQLiの出現率である。Yは、集計期間TjにおけるオブジェクトSQLiのメッセージの総数である。Xは、集計期間Tjにおける親が存在するオブジェクトSQLiのメッセージの総数である。
The
Aji=X/Y ・・・(1) A j i = X / Y (1)
図12は、ネットワークシステム内のメッセージ群の一例を示す説明図(その3)である。図12において、メッセージm1〜m3は、集計期間Txにおいて、Webサーバ102とAPサーバ103との間で送受信されたプロトコル「IIOP」のメッセージである。また、メッセージm4〜m17は、集計期間TxにおいてAPサーバ103とDBサーバ104との間で送受信されたプロトコル「SQL」のメッセージである。なお、集計期間Txは、集計期間T1〜Tmのいずれかの集計期間である。
FIG. 12 is an explanatory diagram (part 3) illustrating an example of a message group in the network system. In FIG. 12, messages m1 to m3 are messages of the protocol “IIOP” transmitted and received between the
ここで、プロトコル「IIOP」のメッセージm1,m2は、メッセージIDが同一のペアp1である。時刻t1は、プロトコル「IIOP」のメッセージm1(リクエスト)の送信時刻である。時刻t2は、プロトコル「IIOP」のメッセージm2(レスポンス)の送信時刻である。 Here, the messages m1 and m2 of the protocol “IIOP” are the pair p1 having the same message ID. Time t1 is the transmission time of the message m1 (request) of the protocol “IIOP”. Time t2 is the transmission time of the message m2 (response) of the protocol “IIOP”.
また、プロトコル「IIOP」のメッセージm3,m18は、メッセージIDが同一のペアp2である。時刻t3は、プロトコル「IIOP」のメッセージm3(リクエスト)の送信時刻である。時刻t5は、プロトコル「IIOP」のメッセージm18(レスポンス)の送信時刻である。ただし、メッセージm18(レスポンス)の送信時刻は集計期間Tx外となっている。時刻t4は、集計期間Txの終期の時刻である。 The messages m3 and m18 of the protocol “IIOP” are the pair p2 having the same message ID. Time t3 is a transmission time of the message m3 (request) of the protocol “IIOP”. Time t5 is the transmission time of the message m18 (response) of the protocol “IIOP”. However, the transmission time of the message m18 (response) is outside the total period Tx. Time t4 is the final time of the counting period Tx.
また、メッセージm4,m5,m8,m10,m16,m17は、オブジェクトSQL1のメッセージの集合である。メッセージm6,m7は、オブジェクトSQL2のメッセージの集合である。メッセージm9,m11,m12,m13,m14,m15は、オブジェクトSQL3のメッセージの集合である。 Messages m4, m5, m8, m10, m16, and m17 are a set of messages of the object SQL1. The messages m6 and m7 are a set of messages of the object SQL2. Messages m9, m11, m12, m13, m14, and m15 are a set of messages of the object SQL3.
・オブジェクトSQL1の出現率Ax1
ここで、集計期間TxにおけるオブジェクトSQL1の出現率Ax1を算出する第1の算出部705の具体的な処理内容の一例について説明する。まず、第1の算出部705は、集計期間TxにおけるオブジェクトSQL1のメッセージm4,m5,m8,m10,m16,m17の総数Yを計数する。ここでは、総数Yは「Y=6」である。計数された総数Yは、例えば、後述の図13に示す中間テーブル1300に記憶される。
-
Here, an example of specific processing contents of the
つぎに、第1の算出部705は、集計期間Txにおけるプロトコル「IIOP」の1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたオブジェクトSQL1のメッセージの総数を計数する。すなわち、第1の算出部705が、集計期間Txにおける親が存在するオブジェクトSQL1のメッセージの総数Xを計数する。
Next, the
ここで、オブジェクトSQL1のメッセージm4,m5,m8,m10,m16,m17のうち、メッセージm4,m5,m8,m10は、プロトコル「IIOP」のペアp1のリクエスト時刻t1とレスポンス時刻t2の間に送信されたメッセージである。すなわち、メッセージm4,m5,m8,m10は、親が存在するメッセージである。 Here, among the messages m4, m5, m8, m10, m16, and m17 of the object SQL1, the messages m4, m5, m8, and m10 are transmitted between the request time t1 and the response time t2 of the pair p1 of the protocol “IIOP”. Message. That is, the messages m4, m5, m8, and m10 are messages that have a parent.
また、オブジェクトSQL1のメッセージm4,m5,m8,m10,m16,m17のうち、メッセージm16,m17は、プロトコル「IIOP」のペアp2のリクエスト時刻t3と、レスポンス時刻t5前の時刻t4の間に送信されたメッセージである。すなわち、メッセージm16,m17は、親が存在するメッセージである。 Of the messages m4, m5, m8, m10, m16, and m17 of the object SQL1, the messages m16 and m17 are transmitted between the request time t3 of the pair p2 of the protocol “IIOP” and the time t4 before the response time t5. Message. That is, the messages m16 and m17 are messages having a parent.
したがって、メッセージm4,m5,m8,m10,m16,m17は、すべて親が存在するメッセージである。このため、集計期間Txにおける親が存在するオブジェクトSQL1のメッセージの総数Xは「X=6」となる。計数された総数Xは、例えば、後述の図13に示す中間テーブル1300に記憶される。 Accordingly, the messages m4, m5, m8, m10, m16, and m17 are all messages having a parent. For this reason, the total number X of messages of the object SQL1 in which the parent exists in the total period Tx is “X = 6”. The counted total number X is stored, for example, in an intermediate table 1300 shown in FIG.
この場合、第1の算出部705は、上記式(1)に「X=6」および「Y=6」を代入することにより、集計期間TxにおけるオブジェクトSQL1の出現率Ax1を算出する。ここでは、出現率Ax1は「Ax1=6/6=1」となる。
In this case, the
・オブジェクトSQL2の出現率Ax2
つぎに、集計期間TxにおけるオブジェクトSQL2の出現率Ax2を算出する第1の算出部705の具体的な処理内容の一例について説明する。まず、第1の算出部705は、集計期間TxにおけるオブジェクトSQL2のメッセージm6,m7の総数Yを計数する。ここでは、総数Yは「Y=2」である。
-
Next, an example of specific processing contents of the
つぎに、第1の算出部705は、集計期間Txにおける親が存在するオブジェクトSQL2のメッセージの総数Xを計数する。ここで、メッセージm6,m7は、プロトコル「IIOP」のペアp1のリクエスト時刻t1とレスポンス時刻t2の間に送信されたメッセージである。
Next, the
すなわち、オブジェクトSQL2のメッセージm6,m7は、すべて親が存在するメッセージである。このため、集計期間Txにおける親が存在するオブジェクトSQL2のメッセージの総数Xは「X=2」となる。この場合、第1の算出部705は、上記式(1)に「X=2」および「Y=2」を代入することにより、集計期間TxにおけるオブジェクトSQL2の出現率Ax2を算出する。ここでは、出現率Ax2は「Ax2=2/2=1」となる。
That is, the messages m6 and m7 of the object SQL2 are all messages having a parent. For this reason, the total number X of messages of the object SQL2 in which the parent exists in the total period Tx is “X = 2”. In this case, the
・オブジェクトSQL3の出現率Ax3
つぎに、集計期間TxにおけるオブジェクトSQL3の出現率Ax3を算出する第1の算出部705の具体的な処理内容の一例について説明する。まず、第1の算出部705は、集計期間TxにおけるオブジェクトSQL3のメッセージm9,m11,m12,m13,m14,m15の総数Yを計数する。ここでは、総数Yは「Y=6」である。
-
Next, an example of specific processing contents of the
つぎに、第1の算出部705は、集計期間Txにおける親が存在するオブジェクトSQL3のメッセージの総数Xを計数する。ここで、オブジェクトSQL3のメッセージm9,m11,m12,m13,m14,m15のうち、メッセージm9,m11は、プロトコル「IIOP」のペアp1のリクエスト時刻t1とレスポンス時刻t2の間に送信されたメッセージである。すなわち、メッセージm9,m11は、親が存在するメッセージである。
Next, the
また、オブジェクトSQL3のメッセージm9,m11,m12,m13,m14,15のうち、メッセージm15は、プロトコル「IIOP」のペアp2のリクエスト時刻t3と、レスポンス時刻t5前の時刻t4の間に送信されたメッセージである。すなわち、メッセージm15は、親が存在するメッセージである。 Of the messages m9, m11, m12, m13, m14, and 15 of the object SQL3, the message m15 is transmitted between the request time t3 of the pair p2 of the protocol “IIOP” and the time t4 before the response time t5. Message. That is, the message m15 is a message having a parent.
一方、オブジェクトSQL3のメッセージm9,m11,m12,m13,m14,m15のうち、メッセージm12,m13,m14は、プロトコル「IIOP」のペアp1,p2のいずれのペアのリクエスト時刻とレスポンス時刻の間に送信されていないメッセージである。すなわち、メッセージm12,m13,m14は、親が存在しないメッセージである。 On the other hand, among the messages m9, m11, m12, m13, m14, and m15 of the object SQL3, the messages m12, m13, and m14 are between the request time and the response time of any pair p1 and p2 of the protocol “IIOP”. The message has not been sent. That is, the messages m12, m13, and m14 are messages that do not have a parent.
このため、集計期間Txにおける親が存在するオブジェクトSQL3のメッセージの総数Xは「X=3」となる。この場合、第1の算出部705は、上記式(1)に「X=3」および「Y=6」を代入することにより、集計期間TxにおけるオブジェクトSQL3の出現率Ax3を算出する。ここでは、出現率Ax3は「Ax3=3/6=0.5」となる。
Therefore, the total number X of messages of the object SQL3 in which the parent exists in the total period Tx is “X = 3”. In this case, the
上述した第1の算出部705の一連の処理の途中で計数される集計期間TxにおけるオブジェクトSQL1のメッセージの総数Y、および親が存在するオブジェクトSQLiのメッセージの総数Xは、例えば、図13に示す中間テーブル1300に記憶される。中間テーブル1300は、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。ここで、中間テーブル1300について説明する。
For example, FIG. 13 shows the total number Y of messages of the object SQL1 and the total number X of messages of the object SQLLi in which the parent exists during the counting period Tx counted during the series of processes of the
図13は、中間テーブルの記憶内容の一例を示す説明図である。図13において、中間テーブル1300は、集計期間ID、オブジェクトID、メッセージ数および親有メッセージ数のフィールドを有する。各フィールドに情報を設定することで、中間データ1300−1〜1300−3がレコードとして記憶されている。 FIG. 13 is an explanatory diagram of an example of the contents stored in the intermediate table. In FIG. 13, the intermediate table 1300 includes fields for a total period ID, an object ID, a message count, and a parent message count. By setting information in each field, intermediate data 1300-1 to 1300-3 are stored as records.
集計期間IDは、集計期間Tjの識別子である。オブジェクトIDは、プロトコル「SQL」のオブジェクトSQLiの識別子である。メッセージ数は、集計期間TjにおけるオブジェクトSQLiのメッセージの総数Yである。親有メッセージ数は、集計期間Tjにおける親が存在するオブジェクトSQLiのメッセージの総数Xである。 The aggregation period ID is an identifier of the aggregation period Tj. The object ID is an identifier of the object SQLi of the protocol “SQL”. The number of messages is the total number Y of messages of the object SQLi in the aggregation period Tj. The number of parent messages is the total number X of messages of the object SQLi in which the parent exists in the aggregation period Tj.
中間データ1300−1を例に挙げると、集計期間TxにおけるオブジェクトSQL1のメッセージの総数「Y=6」、および集計期間Tjにおける親が存在するオブジェクトSQL1のメッセージの総数「X=6」が示されている。ここでは、集計期間Txを例に挙げて、中間テーブル1300の記憶内容について説明したが、中間テーブル1300は集計期間T1〜Tmごとに作成される。 Taking the intermediate data 1300-1 as an example, the total number “Y = 6” of messages of the object SQL1 in the counting period Tx and the total number of messages “X = 6” of the object SQL1 in which the parent exists in the counting period Tj are shown. ing. Here, the storage period of the intermediate table 1300 has been described by taking the aggregation period Tx as an example, but the intermediate table 1300 is created for each of the aggregation periods T1 to Tm.
(第2の算出部706の具体的な処理内容)
つぎに、図14を用いて、集計期間Tjのうち占有期間が占める割合を表す占有率Pjを算出する第2の算出部706の具体的な処理内容について説明する。
(Specific processing contents of the second calculation unit 706)
Next, specific processing contents of the
第2の算出部706は、例えば、下記式(2)を用いて、集計期間Tjのうち占有期間が占める割合を表す占有率Pjを算出する。ただし、Lは、集計期間Tjのうち、プロトコル「IIOP」の1以上のペアのリクエスト時刻からレスポンス時刻までの占有期間(時間長)である。Tjは、集計期間(時間長)である。Pjは、集計期間Tjのうち占有期間Lが占める割合を表す占有率である。
The
Pj=L/Tj ・・・(2) Pj = L / Tj (2)
図14は、ネットワークシステム内のメッセージ群の一例を示す説明図(その4)である。図14において、メッセージm19〜m23は、集計期間Tyにおいて、Webサーバ102とAPサーバ103との間で送受信されたプロトコル「IIOP」のメッセージである。また、メッセージm24〜m37は、集計期間TyにおいてAPサーバ103とDBサーバ104との間で送受信されたプロトコル「SQL」のメッセージである。なお、集計期間Tyは、集計期間T1〜Tmのいずれかの集計期間である。
FIG. 14 is an explanatory diagram (part 4) illustrating an example of a message group in the network system. In FIG. 14, messages m19 to m23 are messages of the protocol “IIOP” transmitted / received between the
ここで、プロトコル「IIOP」のメッセージm19,m21は、メッセージIDが同一のペアp3である。時刻t6は、プロトコル「IIOP」のメッセージm19(リクエスト)の送信時刻である。時刻t8は、プロトコル「IIOP」のメッセージm21(レスポンス)の送信時刻である。 Here, the messages m19 and m21 of the protocol “IIOP” are the pair p3 having the same message ID. Time t6 is the transmission time of the message m19 (request) of the protocol “IIOP”. Time t8 is a transmission time of the message m21 (response) of the protocol “IIOP”.
また、プロトコル「IIOP」のメッセージm20,m22は、メッセージIDが同一のペアp4である。時刻t7は、プロトコル「IIOP」のメッセージm20(リクエスト)の送信時刻である。時刻t9は、プロトコル「IIOP」のメッセージm22(レスポンス)の送信時刻である。 Further, the messages m20 and m22 of the protocol “IIOP” are the pair p4 having the same message ID. Time t7 is a transmission time of the message m20 (request) of the protocol “IIOP”. Time t9 is a transmission time of the message m22 (response) of the protocol “IIOP”.
また、プロトコル「IIOP」のメッセージm23,m38は、メッセージIDが同一のペアp5である。時刻t10は、プロトコル「IIOP」のメッセージm23(リクエスト)の送信時刻である。時刻t12は、プロトコル「IIOP」のメッセージm38(レスポンス)の送信時刻である。ただし、メッセージm38(レスポンス)の送信時刻は集計期間Ty外となっている。時刻t11は、集計期間Tyの終期の時刻である。また、メッセージm24〜m37は、プロトコル「SQL」のメッセージである。 Further, the messages m23 and m38 of the protocol “IIOP” are the pair p5 having the same message ID. Time t10 is a transmission time of the message m23 (request) of the protocol “IIOP”. Time t12 is a transmission time of the message m38 (response) of the protocol “IIOP”. However, the transmission time of the message m38 (response) is outside the counting period Ty. Time t11 is the final time of the counting period Ty. The messages m24 to m37 are messages of the protocol “SQL”.
まず、第2の算出部706は、集計期間Tyにおけるプロトコル「IIOP」の多重度を算出する。具体的には、例えば、第2の算出部706が、集計期間Tyに送信されたプロトコル「IIOP」のメッセージm19〜m23の送信時刻t6〜t10ごとの多重度を時系列に算出する。
First, the
より具体的には、例えば、第2の算出部706が、集計期間Tyにおいて、リクエストメッセージが送信されるごとに多重度をインクリメントし、リクエストメッセージが送信されるごとに多重度をデクリメントする。ただし、多重度の初期値は「0」である。これにより、メッセージm19〜m23の送信時刻t6〜t10ごとの多重度を算出することができる。
More specifically, for example, in the counting period Ty, the
図14の例では、まず、第2の算出部706が、送信時刻t6において、リクエストメッセージm19が送信されたため、多重度をインクリメントする。この結果、送信時刻t6の多重度は「1」となる。つぎに、第2の算出部706が、送信時刻t7において、リクエストメッセージm20が送信されたため、多重度をインクリメントする。この結果、送信時刻t7の多重度は「2」となる。
In the example of FIG. 14, first, the
つぎに、第2の算出部706が、送信時刻t8において、レスポンスメッセージm21が送信されたため、多重度をデクリメントする。この結果、送信時刻t8の多重度は「1」となる。つぎに、第2の算出部706が、送信時刻t9において、レスポンスメッセージm22が送信されたため、多重度をデクリメントする。この結果、送信時刻t9の多重度は「0」となる。
Next, since the response message m21 is transmitted at the transmission time t8, the
つぎに、第2の算出部706が、送信時刻t10において、リクエストメッセージm23が送信されたため、多重度をインクリメントする。この結果、送信時刻t10の多重度は「1」となる。
Next, since the request message m23 is transmitted at the transmission time t10, the
算出された送信時刻t6〜t10ごとの多重度は、例えば、図15に示す多重度テーブル1500に記憶される。多重度テーブル1500は、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。ここで、多重度テーブル1500について説明する。
The calculated multiplicity for each transmission time t6 to t10 is stored, for example, in a multiplicity table 1500 shown in FIG. The multiplicity table 1500 is realized by a storage device such as the
図15は、多重度テーブルの記憶内容の一例を示す説明図である。図15において、多重度テーブル1500は、集計期間Tyにおける送信時刻t6〜t10ごとの多重度を記憶している。ここでは、集計期間Tyを例に挙げて、多重度テーブル1500の記憶内容について説明したが、多重度テーブル1500は集計期間T1〜Tmごとに作成される。 FIG. 15 is an explanatory diagram of an example of the contents stored in the multiplicity table. In FIG. 15, the multiplicity table 1500 stores the multiplicity for each transmission time t6 to t10 in the counting period Ty. Here, the storage period of the multiplicity table 1500 has been described by taking the aggregation period Ty as an example, but the multiplicity table 1500 is created for each of the aggregation periods T1 to Tm.
このあと、第2の算出部706は、例えば、多重度テーブル1500を参照して、集計期間Tyのうち多重度が1以上の期間の合計を求めることにより占有期間Lを算出する。具体的には、例えば、まず、第2の算出部706が、集計期間Tyのうち多重度が1以上の期間L1,L2を算出する。
Thereafter, the
期間L1は、送信時刻t6から送信時刻t9までの期間である。期間L2は、送信時刻t10から送信時刻t11までの期間である。つぎに、第2の算出部706が、集計期間Tyのうち多重度が1以上の期間L1,L2の合計を求めることにより占有期間L(=L1+L2)を算出する。
The period L1 is a period from the transmission time t6 to the transmission time t9. The period L2 is a period from the transmission time t10 to the transmission time t11. Next, the
そして、第2の算出部706は、上記式(2)に集計期間Ty(時間長)および占有期間L(時間長)を代入することにより、集計期間Tyのうち占有期間Lが占める割合を表す占有率Pyを算出する。
And the
なお、集計期間Tjの終期における多重度は、集計期間Tjに時系列に連続する集計期間(例えば、集計期間T(j+1))に持ち越すことにしてもよい。これにより、プロトコル「IIOP」のリクエストメッセージとレスポンスメッセージのペアが複数の集計期間に跨る場合にも、多重度を適切に算出することができる。 Note that the multiplicity at the end of the counting period Tj may be carried over to a counting period (for example, the counting period T (j + 1)) that is continuous in time series with the counting period Tj. Thereby, the multiplicity can be appropriately calculated even when the request message and response message pair of the protocol “IIOP” spans a plurality of aggregation periods.
(判定部707の具体的な処理内容)
つぎに、図16および図17を用いて、集計期間Tjごとに算出されたオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づいて、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定する判定部707の具体的な処理内容について説明する。
(Specific processing contents of the determination unit 707)
Next, using FIG. 16 and FIG. 17, a determination is made as to whether or not the object SQLi is an object of batch processing based on the appearance rate A j i and the occupation rate Pj of the object SQLi calculated for each aggregation period Tj. Specific processing contents of the
<判定例1>
図16は、バッチ処理のオブジェクトの判定例を示す説明図(その1)である。図16において、集計期間Tjの占有率Pjを表すX軸と、集計期間TjのオブジェクトSQLiの出現率Ajiを表すY軸とからなる座標系1600が示されている。座標系1600において、点f1〜f27は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQLiの出現率Ajiの組合せを示している。
<Judgment example 1>
FIG. 16 is an explanatory diagram (part 1) of an example of determining a batch processing object. FIG. 16 shows a coordinate
具体的には、点f1〜f9は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQL1の出現率Aj1の組合せを示している。点f10〜f18は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQL2の出現率Aj2の組合せを示している。点f19〜f27は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQL3の出現率Aj3の組合せを示している。
Specifically, points f1 to f9 indicate combinations of the occupation rate Pj calculated for each aggregation period Tj and the
より具体的には、例えば、点f1は、集計期間T1〜Tmのいずれかの集計期間Tzの占有率Pzと、集計期間TzのオブジェクトSQL1の出現率Az1の組合せを示している。すなわち、点f1の座標位置は、「(X,Y)=(Pz,Az1)」である。また、点f10は、集計期間Tzの占有率Pzと、集計期間TzのオブジェクトSQL2の出現率Az2の組合せを示している。すなわち、点f10の座標位置は、「(X,Y)=(Pz,Az2)」である。また、点f19は、集計期間Tzの占有率Pzと、集計期間TzのオブジェクトSQL3の出現率Az3の組合せを示している。すなわち、点f19の座標位置は、「(X,Y)=(Pz,Az3)」である。
More specifically, for example, the point f1 indicates a combination of the occupation rate Pz of the aggregation period Tz in any of the aggregation periods T1 to Tm and the appearance rate A z1 of the object SQL1 in the aggregation period Tz. That is, the coordinate position of the point f1 is “(X, Y) = (Pz, A z 1)”. A point f10 indicates a combination of the occupation rate Pz of the counting period Tz and the appearance rate A z2 of the object SQL2 in the counting period Tz. That is, the coordinate position of the point f10 is “(X, Y) = (Pz, A z 2)”. A point f19 indicates the occupancy Pz aggregation period Tz, a combination of
判定部707は、集計期間T1〜Tmのうち占有率が最小となる集計期間Tjの占有率Pjが閾値β以下、かつ、該集計期間TjのオブジェクトSQLiの出現率Ajiが閾値α以下の場合、オブジェクトSQLiがバッチ処理のオブジェクトであると判定する。
The
具体的には、例えば、まず、判定部707が、集計期間T1〜Tmのうち占有率が最小となる集計期間Tjの占有率Pjを特定する。図16の例では、占有率が最小となる集計期間Tzの占有率Pzが特定される。つぎに、判定部707が、占有率が最小となる集計期間Tzの占有率Pzが閾値β以下となるか否かを判断する。
Specifically, for example, first, the
ここで、占有率が最小となる集計期間Tzの占有率Pzが閾値βより大きい場合、判定部707が、オブジェクトSQL1,SQL2,SQL3がバッチ処理のオブジェクトではないと判定する。図16の例では、集計期間Tzの占有率Pzが閾値β以下のため、判定部707はつぎの処理に移行する。
Here, when the occupation rate Pz of the total period Tz in which the occupation rate is minimum is larger than the threshold value β, the
つぎに、判定部707が、オブジェクトSQLiごとに、集計期間TzのオブジェクトSQLiの出現率Aziが閾値α以下となるか否かを判断する。ここで、オブジェクトSQLiの出現率Aziが閾値α以下の場合、判定部707が、オブジェクトSQLiがバッチ処理のオブジェクトであると判定する。一方、オブジェクトSQLiの出現率Aziが閾値αより大きい場合、判定部707が、オブジェクトSQLiがバッチ処理のオブジェクトではないと判定する。
Next, the
図16の例では、集計期間TzのオブジェクトSQL1の出現率Az1は閾値αより大きい。このため、判定部707が、オブジェクトSQL1がバッチ処理のオブジェクトではないと判定する(点f1に相当)。また、集計期間TzのオブジェクトSQL2の出現率Az2は閾値αより大きい。このため、判定部707が、オブジェクトSQL2がバッチ処理のオブジェクトではないと判定する(点f10に相当)。
In the example of FIG. 16, the
一方、集計期間TzのオブジェクトSQL3の出現率Az3は閾値α以下である。このため、判定部707が、オブジェクトSQL3がバッチ処理のオブジェクトであると判定する。これにより、プロトコル「SQL」のオブジェクトSQL1,SQL2,SQL3のうち、オブジェクトSQL3がバッチ処理のオブジェクトであると判別することができる。
On the other hand, the
なお、図16において、オブジェクトSQL1は、オンライン処理のみに用いられるオブジェクトである。オブジェクトSQL2は、オンライン処理およびバッチ処理の両方に用いられるオブジェクトである。オブジェクトSQL3は、バッチ処理のみに用いられるオブジェクトである。すなわち、上記判定によれば、オンライン処理およびバッチ処理のオブジェクトが混在するネットワークシステム100において、バッチ処理のみに用いられるオブジェクトSQL3を判別することができる。
In FIG. 16, an object SQL1 is an object used only for online processing. The object SQL2 is an object used for both online processing and batch processing. The object SQL3 is an object used only for batch processing. That is, according to the above determination, the
<判定例2>
図17は、バッチ処理のオブジェクトの判定例を示す説明図(その2)である。図17において、集計期間Tjの占有率Pjを表すX軸と、集計期間TjのオブジェクトSQLiの出現率Ajiを表すY軸とからなる座標系1700が示されている。座標系1700において、点f28〜f42は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQLiの出現率Ajiの組合せを示している。
<Judgment example 2>
FIG. 17 is an explanatory diagram (part 2) of an example of determining a batch processing object. FIG. 17 shows a coordinate
具体的には、点f28〜f32は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQL1の出現率Aj1の組合せを示している。点f33〜f37は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQL2の出現率Aj2の組合せを示している。点f38〜f42は、集計期間Tjごとに算出された占有率PjおよびオブジェクトSQL3の出現率Aj3の組合せを示している。
Specifically, points f28 to f32 indicate combinations of the occupation rate Pj calculated for each aggregation period Tj and the
判定部707は、集計期間Tjごとに算出されたオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づいて、座標系1700におけるオブジェクトSQLiの回帰直線Diの傾きaiを算出する。具体的には、例えば、判定部707が、最小二乗法により、集計期間Tjごとに算出されたオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づいて、回帰直線Diの傾きaiを求める。
The
例えば、回帰直線D1を「Y=a1×X+b1」とする。ただし、a1は回帰直線D1の傾き、b1は回帰直線D1の切片である。この場合、判定部707が、最小二乗法により、座標系1700の各点28〜f32と回帰直線D1との距離の2乗を足し合わせた値が最小となる傾きa1および切片b1を算出する。
For example, the regression line D1 is “Y = a1 × X + b1”. However, a1 is the inclination of the regression line D1, and b1 is the intercept of the regression line D1. In this case, the
そして、判定部707は、算出したオブジェクトSQLiの回帰直線Diの傾きaiが所定の閾値γ以上か否かを判断する。ここで、回帰直線Diの傾きaiが閾値γ以上の場合、判定部707は、オブジェクトSQLiがバッチ処理のオブジェクトであると判定する。
Then, the
一方、回帰直線Diの傾きaiが閾値γ未満の場合、判定部707は、オブジェクトSQLiがバッチ処理のオブジェクトではないと判定する。閾値γは、予め設定されてROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
On the other hand, when the slope ai of the regression line Di is less than the threshold γ, the
ここで、オブジェクトSQLiの出現率Ajiが低ければ低いほど、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる。また、集計期間Tjの占有率Pjが低ければ低いほど、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる。 Here, the lower the appearance rate A j i of the object SQLi, the higher the possibility that the object SQLi is an object of batch processing. Further, the lower the occupation rate Pj of the total period Tj, the higher the possibility that the object SQLi is an object for batch processing.
換言すれば、バッチ処理のオブジェクトSQLiは、占有率Pjが高くなると出現率Ajiが高くなる傾向が強い。このため、バッチ処理のオブジェクトSQLiの回帰直線Diは、オンライン処理のオブジェクトの回帰直線に比べて傾きaiが大きくなる。 In other words, the batch processing object SQLi has a strong tendency that the appearance rate A j i increases as the occupation rate Pj increases. For this reason, the regression line Di of the batch processing object SQLi has a larger slope ai than the regression line of the online processing object.
したがって、上記閾値γを大きい値に設定するほど、バッチ処理のオブジェクトを正確に判定することができる。一方、上記閾値γの値が大きすぎると、バッチ処理のオブジェクトであると判定される基準が厳しくなり、オブジェクトSQLiがバッチ処理のオブジェクトであっても判定されない場合がある。 Therefore, the larger the threshold γ is set, the more accurately the batch processing object can be determined. On the other hand, if the threshold value γ is too large, the criterion for determining that the object is a batch process becomes strict, and the object SQLi may not be determined even if it is a batch process object.
このため、閾値γは、シミュレーションを行うなどして、オブジェクトSQLiの回帰直線Diの傾きaiが閾値γ以上の場合、オブジェクトSQLiがバッチ処理のオブジェクトである可能性が高くなる適切な値(例えば、0.7)に設定される。 For this reason, the threshold value γ is an appropriate value (for example, when the slope ai of the regression line Di of the object SQLi is greater than or equal to the threshold value γ, for example, by performing a simulation). 0.7).
図17において、回帰直線Dは、傾きが上記閾値γの直線である。図17の例では、オブジェクトSQL1の回帰直線D1の傾きa1は閾値γ未満である。また、オブジェクトSQL2の回帰直線D2の傾きa2は閾値γ未満である。このため、判定部707は、オブジェクトSQL1,SQL2がバッチ処理のオブジェクトではないと判定する。
In FIG. 17, the regression line D is a straight line whose slope is the threshold γ. In the example of FIG. 17, the slope a1 of the regression line D1 of the object SQL1 is less than the threshold γ. Further, the slope a2 of the regression line D2 of the object SQL2 is less than the threshold value γ. For this reason, the
一方、オブジェクトSQL3の回帰直線D3の傾きa3は閾値γ以上である。このため、判定部707は、オブジェクトSQL3がバッチ処理のオブジェクトであると判定する。これにより、プロトコル「SQL」のオブジェクトSQL1,SQL2,SQL3のうち、オブジェクトSQL3がバッチ処理のオブジェクトであると判別することができる。
On the other hand, the slope a3 of the regression line D3 of the object SQL3 is equal to or greater than the threshold value γ. For this reason, the
(メッセージの削除例)
つぎに、図18を用いて、ネットワークシステム100内で受け渡されたメッセージ群の中から、バッチ処理のオブジェクトであると判定されたオブジェクトSQLiのメッセージを削除する削除部709の具体的な処理内容について説明する。
(Message deletion example)
Next, referring to FIG. 18, the specific processing contents of the
まず、取得部701は、ネットワークシステム100内で受け渡された処理対象となるメッセージ群を取得する。取得された処理対象となるメッセージ群は、例えば、図18に示す処理対象テーブル1800に記憶される。処理対象テーブル1800は、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。ここで、処理対象テーブル1800について説明する。
First, the
図18は、処理対象テーブルの記憶内容の一例を示す説明図である。図18において、処理対象テーブル1800は、メッセージID、タイムスタンプ、プロトコル、メッセージ種別および削除フラグのフィールドを有する。各フィールドに情報を設定することで、処理対象となるメッセージのメッセージデータ1800−1〜1800−12がレコードとして記憶されている。 FIG. 18 is an explanatory diagram of an example of the contents stored in the processing target table. In FIG. 18, the processing target table 1800 has fields for message ID, time stamp, protocol, message type, and deletion flag. By setting information in each field, message data 1800-1 to 1800-12 of a message to be processed is stored as a record.
メッセージIDは、ネットワークシステム100内で送受信されたメッセージの識別子である。タイムスタンプは、メッセージの送信時刻である。メッセージ種別は、リクエストメッセージまたはレスポンスメッセージを示す情報である。削除フラグは、削除対象となるメッセージを示すフラグである。ここでは、削除フラグが「1」のメッセージが削除対象となる。削除フラグは、初期状態は「0」である。
The message ID is an identifier of a message transmitted / received in the
図18の(18−1)の処理対象テーブル1800において、取得された処理対象となるメッセージ群のメッセージデータ1800−1〜1800−12が記憶されている。なお、図示は省略するが、処理対象テーブル1800には、各メッセージデータ1800−1〜1800−12に対応するメッセージが関連付けられて記憶されている。 In the processing target table 1800 of (18-1) in FIG. 18, message data 1800-1 to 1800-12 of the acquired message group to be processed are stored. Although illustration is omitted, in the processing target table 1800, messages corresponding to the message data 1800-1 to 1800-12 are stored in association with each other.
以下、プロトコル「SQL」のオブジェクトSQL3がバッチ処理のオブジェクトであると判定された場合を例に挙げて説明する。 Hereinafter, a case where it is determined that the object SQL3 of the protocol “SQL” is an object of batch processing will be described as an example.
まず、削除部709が、処理対象テーブル1800の中から、プロトコル「SQL」の任意のメッセージデータを選択する。つぎに、削除部709が、選択したメッセージデータのメッセージ種別フィールドに「リクエスト」が設定されているか否かを判断する。ここで、「リクエスト」が設定されている場合、削除部709が、選択したメッセージデータに対応するメッセージからオブジェクトSQLiを抽出する。
First, the
そして、削除部709が、抽出したオブジェクトSQLiがオブジェクトSQL3か否かを判断する。ここで、オブジェクトSQLiがオブジェクトSQL3の場合、選択したメッセージデータの削除フラグに「1」を設定する。図18の(18−2)の例では、メッセージデータ1800−11の削除フラグに「1」が設定されている。
Then, the
また、選択したメッセージデータのメッセージ種別フィールドに「レスポンス」が設定されている場合、削除部709が、処理対象テーブル1800の中から、選択したメッセージデータと同一メッセージIDのメッセージデータを検索する。ここで、検索された場合、削除部709が、検索したメッセージデータに対応するメッセージからオブジェクトSQLiを抽出する。
If “response” is set in the message type field of the selected message data, the
そして、削除部709が、抽出したオブジェクトSQLiがオブジェクトSQL3か否かを判断する。ここで、オブジェクトSQLiがオブジェクトSQL3の場合、選択したメッセージデータの削除フラグに「1」を設定する。図18の(18−2)の例では、メッセージデータ1800−12の削除フラグに「1」が設定されている。
Then, the
削除部709は、例えば、処理対象テーブル1800の中から選択されていない未選択のメッセージデータがなくなるまで、上述した一連の処理を繰り返す。最後に、削除部709が、処理対象テーブル1800の中から削除フラグに「1」が設定されているメッセージデータを削除する。
For example, the
図18の(18−3)の例では、処理対象テーブル1800の中からメッセージデータ1800−11,1800−12が削除されている。これにより、処理対象となるメッセージ群の中から、バッチ処理のオブジェクトSQLiのメッセージを除去することができる。 In the example of (18-3) in FIG. 18, message data 1800-11 and 1800-12 are deleted from the processing target table 1800. Thereby, the message of the batch processing object SQLi can be removed from the message group to be processed.
なお、図18に示した例では、バッチ処理のオブジェクトSQLiのメッセージを削除する場合を例に挙げて説明したが、バッチ処理のオブジェクトSQLiのメッセージを除く残余のメッセージを削除することにしてもよい。これにより、処理対象となるメッセージ群の中からバッチ処理のオブジェクトSQLiのメッセージを抽出することができる。 In the example illustrated in FIG. 18, the case where the message of the batch processing object SQLi is deleted has been described as an example. However, the remaining messages other than the message of the batch processing object SQLi may be deleted. . Thereby, it is possible to extract the message of the batch processing object SQLi from the message group to be processed.
(システム分析支援装置101のシステム分析支援処理手順)
つぎに、実施の形態にかかるシステム分析支援装置101のシステム分析支援処理手順について説明する。
(System analysis support processing procedure of the system analysis support apparatus 101)
Next, a system analysis support processing procedure of the system
図19は、実施の形態にかかるシステム分析支援装置のシステム分析支援処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、取得部701により、ネットワークシステム100内で受け渡されたメッセージ群を取得したか否かを判断する(ステップS1901)。
FIG. 19 is a flowchart illustrating an example of a system analysis support processing procedure of the system analysis support apparatus according to the embodiment. In the flowchart of FIG. 19, first, the
ここで、取得部701により、メッセージ群を取得するのを待つ(ステップS1901:No)。そして、メッセージ群が取得された場合(ステップS1901:Yes)、検出部702により、取得されたメッセージ群の中から、プロトコル「IIOP」のリクエストメッセージとレスポンスメッセージのペアを検出する(ステップS1902)。
Here, the
つぎに、特定部703により、取得されたメッセージ群のうち、プロトコル「SQL」のメッセージのオブジェクトSQLiを特定する(ステップS1903)。このあと、選択部704により、集計期間Tjの「j」を「j=1」とする(ステップS1904)。
Next, the identifying
そして、第1の算出部705により、集計期間TjにおけるオブジェクトSQLiの出現率Ajiを算出する出現率算出処理を実行する(ステップS1905)。つぎに、第2の算出部706により、集計期間Tjのうち占有期間Lが占める割合を表す占有率Pjを算出する占有率算出処理を実行する(ステップS1906)。
Then, the
このあと、選択部704により、集計期間Tjの「j」をインクリメントして(ステップS1907)、「j」が「m」より大きいか否かを判断する(ステップS1908)。ここで、「j」が「m」以下の場合(ステップS1908:No)、ステップS1905に戻る。
Thereafter, the
一方、「j」が「m」より大きい場合(ステップS1908:Yes)、判定部707により、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定する判定処理を実行する(ステップS1909)。そして、出力部708により、バッチ処理のオブジェクトSQLiをリスト化して示すオブジェクトリスト1000を出力して(ステップS1910)、本フローチャートによる一連の処理を終了する。
On the other hand, when “j” is larger than “m” (step S1908: Yes), the
これにより、プロトコル「SQL」のオブジェクトのうち、バッチ処理のオブジェクトSQLiを判別することができる。 As a result, among the objects of the protocol “SQL”, the batch processing object SQLi can be determined.
<出現率算出処理の具体的な処理手順>
つぎに、図19に示したステップS1905の出現率算出処理の具体的な処理手順について説明する。
<Specific processing procedure of appearance rate calculation processing>
Next, a specific processing procedure of the appearance rate calculation processing in step S1905 shown in FIG. 19 will be described.
図20は、ステップS1905の出現率算出処理の具体的な処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、選択部704により、図19に示したステップS1901において取得されたメッセージ群の中から、集計期間Tj内に送信された、オブジェクトSQLiのメッセージの集合を選択する(ステップS2001)。
FIG. 20 is a flowchart illustrating an example of a specific processing procedure of the appearance rate calculation processing in step S1905. In the flowchart of FIG. 20, first, the
つぎに、第1の算出部705により、選択されたメッセージの集合のオブジェクトSQLiのオブジェクトIDを集計期間Tjの中間テーブル1300に登録する(ステップS2002)。このあと、第1の算出部705により、選択されたメッセージの集合の中から任意のメッセージを選択する(ステップS2003)。
Next, the
そして、第1の算出部705により、中間テーブル1300内のオブジェクトSQLiのメッセージ数をインクリメントする(ステップS2004)。なお、中間テーブル1300内のオブジェクトSQLiのメッセージ数の初期値は「0」である。
Then, the
つぎに、第1の算出部705により、選択されたメッセージに親が存在するか否かを判断する(ステップS2005)。ここで、親が存在しない場合(ステップS2005:No)、ステップS2007に移行する。
Next, the
一方、親が存在する場合(ステップS2005:Yes)、第1の算出部705により、中間テーブル1300内のオブジェクトSQLiの親有メッセージ数をインクリメントする(ステップS2006)。なお、中間テーブル1300内のオブジェクトSQLiの親有メッセージ数の初期値は「0」である。
On the other hand, when a parent exists (step S2005: Yes), the
つぎに、第1の算出部705により、ステップS2001において選択されたメッセージの集合の中から選択されていない未選択のメッセージがあるか否かを判断する(ステップS2007)。ここで、未選択のメッセージがある場合(ステップS2007:Yes)、ステップS2003に戻る。
Next, the
一方、未選択のメッセージがない場合(ステップS2007:No)、選択部704により、メッセージ群の中から選択されていない未選択のオブジェクトSQLiのメッセージの集合があるか否かを判断する(ステップS2008)。ここで、未選択のメッセージの集合がある場合(ステップS2008:Yes)、ステップS2001に戻る。
On the other hand, if there is no unselected message (step S2007: No), the
一方、未選択のメッセージの集合がない場合(ステップS2008:No)、第1の算出部705により、中間テーブル1300を参照して、オブジェクトSQLiごとの出現率Ajiを算出して(ステップS2009)、図19に示したステップS1906に移行する。なお、算出されたオブジェクトSQLiごとの出現率Ajiは、図9に示した出現率/占有率テーブル900に記憶される。
On the other hand, if there is no set of unselected messages (step S2008: No), the
これにより、集計期間TjにおけるオブジェクトSQLiごとの出現率Ajiを算出することができる。 Thereby, the appearance rate A j i for each object SQLi in the total period Tj can be calculated.
<占有率算出処理の具体的な処理手順>
つぎに、図19に示したステップS1906の占有率算出処理の具体的な処理手順について説明する。
<Specific processing procedure of occupation rate calculation processing>
Next, a specific processing procedure of the occupation ratio calculation processing in step S1906 shown in FIG. 19 will be described.
図21は、ステップS1906の占有率算出処理の具体的な処理手順の一例を示すフローチャートである。図21のフローチャートにおいて、まず、第2の算出部706により、図19に示したステップS1901において取得されたメッセージ群の中から、集計期間Tj内に送信された、プロトコル「IIOP」のメッセージの集合を抽出する(ステップS2101)。
FIG. 21 is a flowchart illustrating an example of a specific processing procedure of the occupation ratio calculation processing in step S1906. In the flowchart of FIG. 21, first, a set of messages of protocol “IIOP” transmitted by the
つぎに、第2の算出部706により、抽出したメッセージの集合の中から、送信時刻が最古の未選択のメッセージを選択する(ステップS2102)。そして、第2の算出部706により、選択したメッセージのメッセージ種別が「リクエスト」であるか否かを判断する(ステップS2103)。
Next, the
ここで、メッセージ種別が「リクエスト」の場合(ステップS2103:Yes)、第2の算出部706により、集計期間Tjの多重度をインクリメントして(ステップS2104)、ステップS2106に移行する。なお、集計期間Tjの多重度の初期値は「0」である。
If the message type is “request” (step S2103: Yes), the
一方、メッセージ種別が「レスポンス」の場合(ステップS2103:No)、第2の算出部706により、集計期間Tjの多重度をデクリメントする(ステップS2105)。そして、第2の算出部706により、集計期間Tjの多重度、および、選択したメッセージの送信時刻を、集計期間Tjの多重度テーブル1500に登録する(ステップS2106)。
On the other hand, when the message type is “response” (step S2103: No), the
このあと、第2の算出部706により、ステップS2101において抽出したメッセージの集合の中から選択されていない未選択のメッセージがあるか否かを判断する(ステップS2107)。ここで、未選択のメッセージがある場合(ステップS2107:Yes)、ステップS2102に戻る。
Thereafter, the
一方、未選択のメッセージがない場合(ステップS2107:No)、第2の算出部706により、多重度テーブル1500を参照して、集計期間Tjのうち多重度が1以上の期間の合計を求めることにより占有期間Lを算出する(ステップS2108)。
On the other hand, when there is no unselected message (step S2107: No), the
そして、第2の算出部706により、上記式(2)に集計期間Tjおよび占有期間Lを代入することで、集計期間Tjの占有率Pjを算出して(ステップS2109)、図19に示したステップS1907に移行する。
Then, the
これにより、集計期間Tjの占有率Pjを算出することができる。なお、上述した説明では、集計期間Tjの多重度の初期値を「0」としたが、集計期間T(j−1)の終期における多重度を集計期間Tjの多重度の初期値としてもよい。 Thereby, the occupation rate Pj of the total period Tj can be calculated. In the above description, the initial value of the multiplicity of the total period Tj is “0”. However, the multiplicity at the end of the total period T (j−1) may be the initial value of the multiplicity of the total period Tj. .
<判定処理の具体的な処理手順(その1)>
つぎに、図19に示したステップS1909の判定処理の具体的な処理手順について説明する。ここでは、まず、上述した<判定例1>に対応する判定処理の具体的な処理手順について説明する。
<Specific Processing Procedure of Determination Processing (Part 1)>
Next, a specific processing procedure of the determination processing in step S1909 shown in FIG. 19 will be described. Here, first, a specific processing procedure of determination processing corresponding to the above-described <determination example 1> will be described.
図22は、ステップS1909の判定処理の具体的な処理手順の一例を示すフローチャート(その1)である。図22のフローチャートにおいて、まず、判定部707により、出現率/占有率テーブル900を参照して、集計期間T1〜Tmのうち占有率が最小となる集計期間Tjの占有率Pjを特定する(ステップS2201)。
FIG. 22 is a flowchart (part 1) illustrating an example of a specific processing procedure of the determination processing in step S1909. In the flowchart of FIG. 22, first, the
このあと、判定部707により、特定した集計期間Tjの占有率Pjが閾値β以下となるか否かを判断する(ステップS2202)。ここで、占有率Pjが閾値β以下の場合(ステップS2202:Yes)、判定部707により、出現率/占有率テーブル900を参照して、集計期間Tjの任意のオブジェクトSQLiを選択する(ステップS2203)。
Thereafter, the
このあと、判定部707により、出現率/占有率テーブル900を参照して、選択したオブジェクトSQLiの出現率Aziが閾値α以下となるか否かを判断する(ステップS2204)。ここで、出現率Aziが閾値αより大きい場合(ステップS2204:No)、ステップS2207に移行する。
Thereafter, the
一方、出現率Aziが閾値α以下の場合(ステップS2204:Yes)、判定部707により、選択したオブジェクトSQLiがバッチ処理のオブジェクトであると判定する(ステップS2205)。そして、判定部707により、オブジェクトリスト1000に、バッチ処理のオブジェクトであると判定されたオブジェクトSQLiのオブジェクトIDを登録する(ステップS2206)。
On the other hand, when the appearance rate A z i is equal to or less than the threshold value α (step S2204: Yes), the
このあと、判定部707により、出現率/占有率テーブル900を参照して、選択されていない未選択のオブジェクトSQLiがあるか否かを判断する(ステップS2207)。ここで、未選択のオブジェクトSQLiがある場合(ステップS2207:Yes)、ステップS2203に戻る。一方、未選択のオブジェクトSQLiがない場合(ステップS2207:No)、図19に示したステップS1910に移行する。
Thereafter, the
また、ステップS2202において、占有率Pjが閾値βより大きい場合(ステップS2202:No)、判定部707により、すべてのオブジェクトSQLiがバッチ処理のオブジェクトではないと判定して(ステップS2208)、図19に示したステップS1910に移行する。
In step S2202, if the occupation ratio Pj is larger than the threshold β (step S2202: No), the
これにより、閾値αおよび閾値βを、バッチ処理のオブジェクトである可能性が高くなる任意の値にそれぞれ設定して、バッチ処理のオブジェクトの判定を行うことができる。 Thereby, the threshold value α and the threshold value β can be set to arbitrary values that are highly likely to be batch processing objects, and batch processing objects can be determined.
<判定処理の具体的な処理手順(その2)>
つぎに、上述した<判定例2>に対応する判定処理の具体的な処理手順について説明する。
<Specific Processing Procedure of Determination Processing (Part 2)>
Next, a specific processing procedure of the determination process corresponding to <determination example 2> described above will be described.
図23は、ステップS1909の判定処理の具体的な処理手順の一例を示すフローチャート(その2)である。図23のフローチャートにおいて、まず、判定部707により、出現率/占有率テーブル900を参照して、任意のオブジェクトSQLiを選択する(ステップS2301)。
FIG. 23 is a flowchart (part 2) illustrating an example of a specific processing procedure of the determination processing in step S1909. In the flowchart of FIG. 23, first, the
このあと、判定部707により、出現率/占有率テーブル900を参照して、選択したオブジェクトSQLiの回帰直線Diの傾きaiを算出する(ステップS2302)。そして、判定部707により、算出した回帰直線Diの傾きaiが閾値γ以上か否かを判断する(ステップS2303)。
Thereafter, the
ここで、回帰直線Diの傾きaiが閾値γ以上の場合(ステップS2303:Yes)、判定部707により、オブジェクトSQLiがバッチ処理のオブジェクトであると判定する(ステップS2304)。そして、判定部707により、オブジェクトリスト1000に、バッチ処理のオブジェクトであると判定されたオブジェクトSQLiのオブジェクトIDを登録する(ステップS2305)。
If the slope ai of the regression line Di is greater than or equal to the threshold γ (step S2303: Yes), the
このあと、判定部707により、出現率/占有率テーブル900を参照して、選択されていない未選択のオブジェクトSQLiがあるか否かを判断する(ステップS2306)。ここで、未選択のオブジェクトSQLiがある場合(ステップS2306:Yes)、ステップS2301に戻る。一方、未選択のオブジェクトSQLiがない場合(ステップS2306:No)、図19に示したステップS1910に移行する。
Thereafter, the
また、ステップS2303において、回帰直線Diの傾きaiが閾値γ未満の場合(ステップS2303:No)、判定部707により、オブジェクトSQLiがバッチ処理のオブジェクトではないと判定して(ステップS2307)、ステップS2306に移行する。
In step S2303, when the slope ai of the regression line Di is less than the threshold γ (step S2303: No), the
これにより、プロトコル「SQL」のオブジェクトのうち、集計期間Tjの占有率Pjの増加に伴って出現率Ajiが増加する傾向が大きいオブジェクトSQLiをバッチ処理のオブジェクトとして判定することができる。 Thereby, among the objects of the protocol “SQL”, the object SQLi in which the appearance rate A j i tends to increase with the increase in the occupation rate Pj of the aggregation period Tj can be determined as the object of batch processing.
<メッセージ削除処理手順>
つぎに、バッチ処理のオブジェクトであると判定されたオブジェクトSQLiのメッセージを削除する削除処理の具体的な処理手順について説明する。
<Message deletion process>
Next, a specific processing procedure of the deletion processing for deleting the message of the object SQLi determined to be an object of batch processing will be described.
図24は、メッセージ削除処理の具体的な処理手順の一例を示すフローチャートである。図24のフローチャートにおいて、まず、取得部701により、ネットワークシステム100内で受け渡された処理対象となるメッセージ群を取得したか否かを判断する(ステップS2401)。
FIG. 24 is a flowchart illustrating an example of a specific processing procedure of message deletion processing. In the flowchart of FIG. 24, first, the
ここで、処理対象となるメッセージ群を取得するのを待って(ステップS2401:No)、取得した場合(ステップS2401:Yes)、取得部701により、取得したメッセージ群を処理対象テーブル1800に登録する(ステップS2402)。
Here, waiting for acquiring a message group to be processed (step S2401: No), and when acquired (step S2401: Yes), the acquiring
つぎに、削除部709により、処理対象テーブル1800の中から、プロトコル「SQL」の任意のメッセージデータを選択する(ステップS2403)。そして、削除部709により、選択したメッセージデータのメッセージ種別フィールドに「リクエスト」が設定されているか否かを判断する(ステップS2404)。
Next, the
ここで、メッセージ種別フィールドに「レスポンス」が設定されている場合(ステップS2404:No)、削除部709により、処理対象テーブル1800の中から、選択したメッセージデータと同一メッセージIDのメッセージデータを検索する(ステップS2405)。
If “response” is set in the message type field (step S2404: No), the
ここで、メッセージデータが検索された場合(ステップS2406:Yes)、削除部709により、検索したメッセージデータに対応するメッセージからオブジェクトSQLiを抽出する(ステップS2407)。一方、メッセージデータが検索されなかった場合(ステップS2406:No)、ステップS2410に移行する。
If the message data is searched (step S2406: YES), the
また、ステップS2404において、メッセージ種別フィールドに「リクエスト」が設定されている場合(ステップS2404:Yes)、削除部709により、ステップS2403において選択したメッセージデータに対応するメッセージからオブジェクトSQLiを抽出する(ステップS2407)。
If “request” is set in the message type field in step S2404 (step S2404: Yes), the
このあと、削除部709により、抽出したオブジェクトSQLiのオブジェクトIDがオブジェクトリスト1000に含まれるか否かを判断する(ステップS2408)。ここで、オブジェクトリスト1000に含まれない場合(ステップS2408:No)、ステップS2410に移行する。
Thereafter, the
一方、オブジェクトリスト1000に含まれる場合(ステップS2408:Yes)、削除部709により、ステップS2403において選択したメッセージデータの処理対象テーブル1800内の削除フラグを「0」から「1」に変更する(ステップS2409)。そして、削除部709により、処理対象テーブル1800の中から選択されていない未選択のプロトコル「SQL」のメッセージデータがあるか否かを判断する(ステップS2410)。
On the other hand, if it is included in the object list 1000 (step S2408: Yes), the
ここで、未選択のメッセージデータがある場合(ステップS2410:Yes)、ステップS2403に戻る。一方、未選択のメッセージデータがない場合(ステップS2410:No)、削除部709により、処理対象となるメッセージ群の中から、処理対象テーブル1800内の削除フラグが「1」のメッセージデータに対応するメッセージを削除する(ステップS2411)。
If there is unselected message data (step S2410: YES), the process returns to step S2403. On the other hand, when there is no unselected message data (step S2410: No), the
そして、出力部708により、処理対象となるメッセージ群の中から削除フラグが「1」のメッセージデータに対応するメッセージが削除された削除後のメッセージ群を出力して(ステップS2412)、本フローチャートによる一連の処理を終了する。
Then, the
これにより、ネットワークシステム100のシステム分析を行う際に、処理対象となるメッセージ群の中からバッチ処理のオブジェクトSQLiのメッセージを除去することができる。
Thereby, when the system analysis of the
以上説明したように、本実施の形態にかかるシステム分析支援装置101によれば、集計期間TjにおけるオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づいて、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定することができる。これにより、ネットワークシステム100内で受け渡されたメッセージ群の中から、バッチ処理のオブジェクトSQLiのメッセージを判別することができる。
As described above, according to the system
また、システム分析支援装置101によれば、集計期間TjにおけるオブジェクトSQLiの出現率Ajiが閾値α以下かつ占有率Pjが閾値β以下の場合、オブジェクトSQLiがバッチ処理のオブジェクトであると判定することができる。これにより、閾値αおよび閾値βを、バッチ処理のオブジェクトである可能性が高くなる任意の値にそれぞれ設定して、バッチ処理のオブジェクトの判定を行うことができる。
Further, according to the system
また、システム分析支援装置101によれば、集計期間Tjごとに算出されたオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づいて、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定することができる。これにより、オブジェクトSQLiがバッチ処理のオブジェクトか否かの判定を統計的に行って、判定精度を向上させることができる。
Further, according to the system
また、システム分析支援装置101によれば、集計期間T1〜Tmのうち占有率が最小となる集計期間Tjの占有率Pjが閾値β以下、かつ、オブジェクトSQLiの出現率Ajiが閾値α以下の場合、オブジェクトSQLiがバッチ処理のオブジェクトであると判定することができる。
Further, according to the system
また、システム分析支援装置101によれば、集計期間TjごとのオブジェクトSQLiの出現率Ajiおよび占有率Pjに基づく回帰直線Diの傾きaiに基づいて、オブジェクトSQLiがバッチ処理のオブジェクトか否かを判定することができる。これにより、プロトコル「SQL」のオブジェクトのうち、集計期間Tjの占有率Pjの増加に伴って出現率Ajiが増加する傾向が大きいオブジェクトSQLiをバッチ処理のオブジェクトとして判定することができる。
Further, according to the system
また、システム分析支援装置101によれば、ネットワークシステム100内で受け渡されたメッセージ群の中から、バッチ処理のオブジェクトであると判定されたオブジェクトSQLiのメッセージを削除することができる。これにより、ネットワークシステム100のシステム分析を行う際に、処理対象となるメッセージ群の中からバッチ処理のオブジェクトSQLiのメッセージを除去することができる。この結果、ネットワークシステム100内の各コンピュータの処理時間を精度よく求めることができ、システム分析の分析精度を向上させることができる。
Further, according to the system
なお、本実施の形態で説明したシステム分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本システム分析支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本システム分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。 The system analysis support method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The system analysis support program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The system analysis support program may be distributed via a network such as the Internet.
100 ネットワークシステム
101 システム分析支援装置
102 Webサーバ
103 APサーバ
104 DBサーバ
500 メッセージDB
701 取得部
702 検出部
703 特定部
704 選択部
705 第1の算出部
706 第2の算出部
707 判定部
708 出力部
709 削除部
800 ペア情報テーブル
900 出現率/占有率テーブル
1000 オブジェクトリスト
1300 中間テーブル
1500 多重度テーブル
1800 処理対象テーブル
DESCRIPTION OF
701
Claims (8)
前記メッセージ群の中から、所定期間内に送信された、前記データベースに対する所定の操作に関するメッセージの集合を選択する選択工程と、
前記選択工程によって選択されたメッセージの集合のうち、前記検出工程によって検出された1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージの割合を表す第1の指標値を算出する第1の算出工程と、
前記所定期間のうち、前記1以上のペアのリクエスト時刻からレスポンス時刻までの期間が占める割合を表す第2の指標値を算出する第2の算出工程と、
前記第1および第2の算出工程によって算出された第1および第2の指標値に基づいて、前記所定の操作がバッチ処理の操作か否かを判定する判定工程と、
前記判定工程によって判定された判定結果を出力する出力工程と、
をコンピュータに実行させることを特徴とするシステム分析支援プログラム。 A detection step of detecting a request and response pair of a protocol immediately above the protocol for operating the database in the system from among a group of messages passed in the system in which the hierarchical structure of the protocol is defined;
A selection step of selecting a set of messages relating to a predetermined operation on the database transmitted within a predetermined period from the message group;
A first index value representing a ratio of messages transmitted between the request time and the response time of one or more pairs detected by the detection step in the set of messages selected by the selection step; 1 calculation step;
A second calculation step of calculating a second index value representing a ratio of a period from the request time to the response time of the one or more pairs in the predetermined period;
A determination step of determining whether or not the predetermined operation is a batch processing operation based on the first and second index values calculated by the first and second calculation steps;
An output step for outputting the determination result determined by the determination step;
A system analysis support program characterized by causing a computer to execute.
前記第1の指標値が第1の閾値以下かつ前記第2の指標値が第2の閾値以下の場合、前記所定の操作がバッチ処理の操作であると判定することを特徴とする請求項1に記載のシステム分析支援プログラム。 The determination step includes
2. The predetermined operation is determined to be a batch processing operation when the first index value is equal to or smaller than a first threshold value and the second index value is equal to or smaller than a second threshold value. System analysis support program described in 1.
複数の所定期間の各々の所定期間ごとに、前記メッセージ群の中から、前記各々の所定期間内に送信された、前記データベースに対する所定の操作に関するメッセージの集合を選択し、
前記第1の算出工程は、
前記各々の所定期間ごとに、前記各々の所定期間ごとに選択された前記メッセージの集合のうち、前記1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージの割合を表す第1の指標値を算出し、
前記第2の算出工程は、
前記各々の所定期間ごとに、前記各々の所定期間のうち、前記1以上のペアのリクエスト時刻からレスポンス時刻までの期間が占める割合を表す第2の指標値を算出し、
前記判定工程は、
前記各々の所定期間ごとに算出された第1および第2の指標値に基づいて、前記所定の操作がバッチ処理の操作か否かを判定することを特徴とする請求項1または2に記載のシステム分析支援プログラム。 The selection step includes
For each predetermined period of a plurality of predetermined periods, a set of messages relating to a predetermined operation on the database, transmitted within the predetermined period, is selected from the message group,
The first calculation step includes:
For each of the predetermined periods, a first value representing a ratio of messages transmitted between the request time and the response time of the one or more pairs of the set of messages selected for each of the predetermined periods. Calculate the index value,
The second calculation step includes:
For each of the predetermined periods, a second index value representing a ratio of the period from the request time to the response time of the one or more pairs in each predetermined period is calculated,
The determination step includes
3. The method according to claim 1, wherein whether or not the predetermined operation is a batch processing operation is determined based on the first and second index values calculated for each predetermined period. System analysis support program.
前記複数の所定期間のうち前記第2の指標値が最小となる所定期間の前記第2の指標値が前記第2の閾値以下、かつ、前記第2の指標値が最小となる所定期間の前記第1の指標値が前記第1の閾値以下の場合、前記所定の操作がバッチ処理の操作であると判定することを特徴とする請求項3に記載のシステム分析支援プログラム。 The determination step includes
Among the plurality of predetermined periods, the second index value in a predetermined period in which the second index value is minimum is equal to or less than the second threshold value, and the predetermined period in which the second index value is minimum The system analysis support program according to claim 3, wherein when the first index value is equal to or less than the first threshold value, the predetermined operation is determined to be a batch processing operation.
前記各々の所定期間ごとに算出された第1および第2の指標値に基づいて、前記第1の指標値を表す軸と前記第2の指標値を表す軸とからなる座標系における回帰直線の傾きを算出する第3の算出工程を実行させ、
前記判定工程は、
前記第3の算出工程によって算出された前記回帰直線の傾きが第3の閾値以上の場合、前記所定の操作がバッチ処理の操作であると判定することを特徴とする請求項3に記載のシステム分析支援プログラム。 In the computer,
Based on the first and second index values calculated for each predetermined period, a regression line in a coordinate system including an axis representing the first index value and an axis representing the second index value A third calculation step for calculating the inclination is executed,
The determination step includes
The system according to claim 3, wherein when the slope of the regression line calculated by the third calculation step is equal to or greater than a third threshold, the predetermined operation is determined to be a batch processing operation. Analysis support program.
前記判定工程によって前記所定の操作がバッチ処理の操作であると判定された場合、前記メッセージ群の中から、前記所定の操作に関するメッセージを削除する削除工程と、
前記削除工程によって前記所定の操作に関するメッセージが削除された削除後の前記メッセージ群を出力するメッセージ出力工程と、
を実行させることを特徴とする請求項1〜5のいずれか一つに記載のシステム分析支援プログラム。 In the computer,
If the determination step determines that the predetermined operation is a batch processing operation, a deletion step of deleting a message related to the predetermined operation from the message group;
A message output step of outputting the message group after deletion in which the message related to the predetermined operation is deleted by the deletion step;
The system analysis support program according to claim 1, wherein the system analysis support program is executed.
前記メッセージ群の中から、所定期間内に送信された、前記データベースに対する所定の操作に関するメッセージの集合を選択する選択部と、
前記選択部によって選択されたメッセージの集合のうち、前記検出部によって検出された1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージの割合を表す第1の指標値を算出する第1の算出部と、
前記所定期間のうち、前記1以上のペアのリクエスト時刻からレスポンス時刻までの期間が占める割合を表す第2の指標値を算出する第2の算出部と、
前記第1および第2の算出部によって算出された第1および第2の指標値に基づいて、前記所定の操作がバッチ処理の操作か否かを判定する判定部と、
前記判定部によって判定された判定結果を出力する出力部と、
を備えることを特徴とするシステム分析支援装置。 A detection unit for detecting a request and response pair of a protocol immediately above the protocol for operating the database in the system from among a group of messages passed in the system in which the hierarchical structure of the protocol is defined;
A selection unit that selects a set of messages related to a predetermined operation on the database, transmitted from the message group within a predetermined period;
A first index value representing a ratio of messages transmitted between the request time and the response time of one or more pairs detected by the detection unit in the set of messages selected by the selection unit; 1 calculation unit;
A second calculation unit that calculates a second index value representing a ratio of a period from the request time to the response time of the one or more pairs in the predetermined period;
A determination unit that determines whether or not the predetermined operation is a batch processing operation based on the first and second index values calculated by the first and second calculation units;
An output unit that outputs a determination result determined by the determination unit;
A system analysis support apparatus comprising:
プロトコルの階層構造が定義されたシステム内で受け渡されたメッセージ群の中から、前記システム内のデータベースを操作するためのプロトコルの直上層のプロトコルのリクエストとレスポンスのペアを検出し、
前記メッセージ群の中から、所定期間内に送信された、前記データベースに対する所定の操作に関するメッセージの集合を選択し、
選択したメッセージの集合のうち、検出した1以上のペアのリクエスト時刻とレスポンス時刻の間に送信されたメッセージの割合を表す第1の指標値を算出し、
前記所定期間のうち、前記1以上のペアのリクエスト時刻からレスポンス時刻までの期間が占める割合を表す第2の指標値を算出し、
算出した第1および第2の指標値に基づいて、前記所定の操作がバッチ処理の操作か否かを判定し、
判定した判定結果を出力する、
処理を実行することを特徴とするシステム分析支援方法。 Computer
From a group of messages passed in the system in which the protocol hierarchy is defined, a protocol request and response pair immediately above the protocol for operating the database in the system is detected,
From the group of messages, select a set of messages related to a predetermined operation on the database transmitted within a predetermined period,
Calculating a first index value representing a ratio of messages transmitted between the request time and the response time of one or more detected pairs of the selected set of messages;
A second index value representing a ratio of a period from the request time to the response time of the one or more pairs in the predetermined period is calculated;
Based on the calculated first and second index values, it is determined whether the predetermined operation is a batch processing operation,
Output the result of the judgment.
A system analysis support method characterized by executing processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011010294A JP5561182B2 (en) | 2011-01-20 | 2011-01-20 | System analysis support program, system analysis support device, and system analysis support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011010294A JP5561182B2 (en) | 2011-01-20 | 2011-01-20 | System analysis support program, system analysis support device, and system analysis support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012150733A JP2012150733A (en) | 2012-08-09 |
JP5561182B2 true JP5561182B2 (en) | 2014-07-30 |
Family
ID=46792905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011010294A Active JP5561182B2 (en) | 2011-01-20 | 2011-01-20 | System analysis support program, system analysis support device, and system analysis support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5561182B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6273866B2 (en) * | 2014-01-29 | 2018-02-07 | 富士通株式会社 | Control program, control device, and control method |
US9992232B2 (en) | 2016-01-14 | 2018-06-05 | Cisco Technology, Inc. | Policy block creation with context-sensitive policy line classification |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4416626B2 (en) * | 2004-11-02 | 2010-02-17 | 富士通株式会社 | Processing time calculation program |
US7996515B2 (en) * | 2005-06-15 | 2011-08-09 | Bmc Software, Inc. | Network transaction discovery |
US20100017486A1 (en) * | 2008-07-16 | 2010-01-21 | Fujitsu Limited | System analyzing program, system analyzing apparatus, and system analyzing method |
-
2011
- 2011-01-20 JP JP2011010294A patent/JP5561182B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012150733A (en) | 2012-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672255B2 (en) | Social media impact assessment | |
EP2289007B1 (en) | Search results ranking using editing distance and document information | |
WO2020164276A1 (en) | Webpage data crawling method, apparatus and system, and computer-readable storage medium | |
EP3566191A1 (en) | Master view of tasks | |
WO2013183115A1 (en) | Log management system and program | |
WO2014107441A2 (en) | Social media impact assessment | |
US9164980B2 (en) | Name identification rule generating apparatus and name identification rule generating method | |
US20100017486A1 (en) | System analyzing program, system analyzing apparatus, and system analyzing method | |
TW201421395A (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
JP2010515996A (en) | Method for providing search results and system for performing the method | |
CN108475320A (en) | Query pattern and associated aggregate statistics are identified in search inquiry | |
JP2016100005A (en) | Reconcile method, processor and storage medium | |
JP2007193685A (en) | Program for displaying personal connection information, recording medium with the program recorded thereon, device for displaying personal connection information, and method for displaying personal connection information | |
JP2009069899A (en) | Object document creation system | |
JP2012073812A (en) | Data analysis support system and method | |
Lee et al. | An adaptive website system to improve efficiency with web mining techniques | |
JP5561182B2 (en) | System analysis support program, system analysis support device, and system analysis support method | |
Macgregor | Improving the discoverability and web impact of open repositories: techniques and evaluation | |
JP2008176758A (en) | System, method, and program for displaying group relationship | |
US8326977B2 (en) | Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method | |
Yu et al. | Prediction of web user behavior by discovering temporal relational rules from web log data | |
JP5315726B2 (en) | Information providing method, information providing apparatus, and information providing program | |
US9824140B2 (en) | Method of creating classification pattern, apparatus, and recording medium | |
Li et al. | Discovering associations between news and contents in social network sites with the D-Miner service framework | |
JP5031416B2 (en) | Search method and search device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140418 |
|
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: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140526 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5561182 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |