JP4616791B2 - リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法 - Google Patents

リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法 Download PDF

Info

Publication number
JP4616791B2
JP4616791B2 JP2006129385A JP2006129385A JP4616791B2 JP 4616791 B2 JP4616791 B2 JP 4616791B2 JP 2006129385 A JP2006129385 A JP 2006129385A JP 2006129385 A JP2006129385 A JP 2006129385A JP 4616791 B2 JP4616791 B2 JP 4616791B2
Authority
JP
Japan
Prior art keywords
request
request type
type
call
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006129385A
Other languages
English (en)
Other versions
JP2007304647A (ja
Inventor
伸弘 湯上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006129385A priority Critical patent/JP4616791B2/ja
Priority to US11/602,906 priority patent/US7788370B2/en
Publication of JP2007304647A publication Critical patent/JP2007304647A/ja
Application granted granted Critical
Publication of JP4616791B2 publication Critical patent/JP4616791B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

この発明は、リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法に関する。
従来より、Web3階層システム等のように、複数のサーバ間でリクエストを呼び出し合って利用者からの要求を処理するシステムアーキテクチャが登場している。ここで、リクエストとは、個別の処理に係るプロトコル、リクエスト名、IPアドレス、時刻などのデータの集合を意味する。例えば、クライアント(Webブラウザ)、Webサーバ、アプリケーションサーバ、およびデータベースサーバによって構成されるシステムにおいては、クライアントの要求をWebサーバが受け取り、Webサーバが受け取ったクライアントの要求をアプリケーションサーバがWebサーバからリクエストを呼び出し合って受け取り、アプリケーションサーバがこの要求に従ってデータベースサーバにアクセスし、データベースサーバにおける処理をリクエストを呼び出し合って実行するなど、複数のサーバ間でリクエストを呼び出し合ってクライアントの要求を処理している。
ところで、このようなシステムの性能や障害原因を分析することを目的として、利用者からの要求に対する複数のサーバにおける処理をモデル化して分析する手法が知られている。具体的には、特定の要求に対する実際のサーバにおける処理とモデルにおける処理との違いや、特定の時間帯の要求に対する実際のサーバにおける処理とモデルにおける処理との違い、あるいは、モデルの時間的な変化や、負荷との依存関係などを分析することで、性能分析や障害原因分析などを行う。
また、このモデル化を行うにあたっては、複数のサーバ間で送受信されるリクエストを一連の処理単位でまとめたトランザクションを識別する必要があり、その前提として、リクエストを種別する必要がある。例えば、特許文献1で開示されている方法では、トランザクションを識別するために、クライアントからWebサーバに送信されたリクエストのリクエスト名を直接利用してリクエストを種別している。
特開2006−11683号公報
ところで、上記した従来の技術では、リクエストのリクエスト名を直接利用してリクエストを種別するので、トランザクションの識別にあたりリクエストの種別が細かくなりすぎてしまい、本来同一のトランザクションに識別されるべきリクエストが異なる種別のリクエストに分類されてしまう結果、トランザクションの識別が不十分になるという課題がある。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、リクエストのリクエスト名を直接利用してリクエストを種別する手法に比較して、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能なリクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、発明は、複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法をコンピュータに実行させるリクエスト種別プログラムであって、前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持手順と、複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持手順によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出手順と、前記リクエスト種別間呼出関係パターン導出手順によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出手順と、をコンピュータに実行させることを特徴とする。
また、発明は、上記の発明において、前記リクエスト種別規定保持手順によって保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定するリクエスト種別規定変更手順と、前記リクエスト種別規定変更手順によって変更されたリクエスト種別ごとに前記リクエスト種別間呼出関係パターン導出手順によってリクエスト種別間呼出関係パターンを導出し、当該リクエスト種別間呼出関係パターンを用いて前記評価値算出手順によって評価値を算出し、当該評価値と所定の終了条件とを比較して終了条件を判断する終了条件判断手順と、をさらに備えたことを特徴とする。
また、発明は、上記の発明において、前記評価値算出手順は、前記リクエスト種別間呼出関係パターン導出手順によって導出されたリクエスト種別間呼出関係パターンと前記リクエスト種別との相関の強さを評価する相関値を、前記出現頻度を用いて算出することを特徴とする。
また、発明は、上記の発明において、前記リクエスト種別間呼出関係パターン導出手順は、あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられる呼出関係集合を生成してリクエスト種別間呼出関係パターンを導出することを特徴とする。
また、発明は、前記リクエスト種別間呼出関係パターン導出手順は、前記リクエスト種別規定保持手順によって保持されたリクエスト種別規定を用いて、当該リクエスト履歴における出現頻度が高い呼出関係集合のみを生成してリクエスト種別間呼出関係パターンを導出することを特徴とする。
発明によれば、複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法をコンピュータに実行させるリクエスト種別プログラムであって、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定するリクエスト種別規定を保持し、複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴からリクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、保持されたリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、置き換えからリクエスト種別ごとにリクエスト種別を呼び出す呼出元リクエスト種別およびリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンをリクエスト履歴における出現頻度とともに導出し、導出されたリクエスト種別間呼出関係パターンを用いてリクエスト種別を評価するので、リクエストのリクエスト名を直接利用してリクエストを種別する手法に比較して、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定し、かつ、規定したリクエスト種別を評価することから、高い評価値が算出されるようにリクエスト種別規定を改善していくことで、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
また、発明によれば、保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定し、変更されたリクエスト種別ごとにリクエスト種別間呼出関係パターンを導出し、リクエスト種別間呼出関係パターンを用いて評価値を算出し、評価値と所定の終了条件とを比較して終了条件を判断するので、リクエスト種別規定を自動的に変更することから、トランザクションを十分に識別し得る適切なリクエスト種別を簡易に導き出すことが可能になる。
また、発明によれば、導出されたリクエスト種別間呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を、出現頻度を用いて算出するので、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
また、発明によれば、あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられる呼出関係集合を生成してリクエスト種別間呼出関係パターンを導出するので、複数のサーバ間で送受信されるリクエスト間の呼出関係を各サーバにおいて監視していない場合であっても、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
また、発明によれば、保持されたリクエスト種別規定を用いて、リクエスト履歴における出現頻度が高い呼出関係集合のみを生成してリクエスト種別間呼出関係パターンを導出するので、複数のリクエストが複数のリクエストから呼び出されている可能性があるなどリクエスト間の呼出関係の多重度が高い場合であっても、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
以下に添付図面を参照して、この発明に係るリクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法の実施例を詳細に説明する。なお、以下では、実施例で用いる主要な用語、実施例1に係るリクエスト種別装置の概要および特徴、リクエスト種別装置の構成および処理の流れ、リクエスト種別装置による処理の詳細、実施例1の効果を順に説明し、最後に他の実施例を説明する。
[用語の説明]
まず最初に、以下の実施例で用いる主要な用語を説明する。以下の実施例で用いる「リクエスト(特許請求の範囲に記載の「リクエスト」に対応する)」とは、Web3階層システム等のように、複数のサーバが連携して利用者からの要求を処理するシステムアーキテクチャにおいて、複数のサーバ間で送受信される情報のことである。具体的には、個別の処理に係るプロトコル、リクエスト名、IPアドレス、時刻などのデータの集合である。また、リクエストは、例えば、「あるHTTPリクエストを処理するために、別のIIOPリクエストが呼び出されている」といった呼出関係(特許請求の範囲に記載の「呼出関係」に対応する)によって、複数のサーバを連携させている。
このようなリクエストは、通常、各サーバのログにリクエスト履歴として蓄積されており、蓄積されたリクエスト履歴を用いて、システムの性能や障害原因の分析が行われる。分析にあたっては、リクエストを一連の処理単位でまとめたトランザクション(特許請求の範囲に記載の「呼出関係集合」に対応する)を識別する必要がある。すなわち、トランザクションとは、システム外部から与えられたリクエスト、それを処理するために呼び出されている子リクエスト、さらに、子リクエストを処理するためにシステム内部で直接または間接に呼び出されているリクエストの集合を、リクエスト間の呼出関係を含めてまとめたものであり、このようなトランザクションを識別することで、システム内部における挙動を把握することが可能になり、システムの性能や障害原因の分析に役立つ結果となる。
ところで、リクエスト履歴からトランザクションを識別する前提として、リクエストを何らかの手法によってグループに分類するリクエスト種別(特許請求の範囲に記載の「リクエスト種別」)が行われる。これは、多種多様なリクエストから直接トランザクションを識別するよりも、分類されたリクエストからトランザクションを識別する方が、適切かつ効率的な結果を得ることができるからである。
[リクエスト種別装置の概要および特徴]
続いて、図1を用いて、実施例1に係るリクエスト種別装置の概要および特徴を説明する。図1は、実施例1に係るリクエスト種別装置の概要および特徴を説明するための図である。
実施例1に係るリクエスト種別装置は、上記したように、複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいてリクエストを種別することを概要とし、リクエストのリクエスト名を直接利用してリクエストを種別する手法に比較して、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことを特徴とする。
この主たる特徴について簡単に説明すると、図1に示すように、実施例1に係るリクエスト種別装置は、複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴をあらかじめ記憶する。また、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定するリクエスト種別規定を保持する(図1の(1)を参照)。ここで、リクエスト種別規定について具体的に説明すると、例えば、リクエスト履歴におけるリクエスト1およびリクエスト2のリクエスト名がそれぞれ「xxxaaa111」および「xxxaaa222」である場合に、リクエスト種別G01として規定される文字列に係る情報が「xxxaaa*」であると、「*」は任意の文字列を許すことを表すので、リクエスト1およびリクエスト2はリクエスト種別G01に分類されることになる。
まず、実施例1に係るリクエスト種別装置は、リクエスト履歴からリクエスト間の呼出関係で関連づけられる呼出関係集合を生成する(図1の(2)を参照)。例えば、図1に示すリクエスト履歴には、リクエスト1がリクエスト4を呼び出し、リクエスト4がリクエスト5を呼び出し、リクエスト5がリクエスト9を呼び出すという呼出関係が存在するので、リクエスト1、リクエスト4、リクエスト5、およびリクエスト9について呼出関係を含めてまとめ、呼出関係集合とする。同様に、リクエスト2がリクエスト4を呼び出し、リクエスト4がリクエスト5を呼び出し、リクエスト5がリクエスト7を呼び出すという呼出関係、リクエスト3がリクエスト4を呼び出し、リクエスト4がリクエスト5を呼び出し、リクエスト5がリクエスト9を呼び出すという呼出関係についても、呼出関係集合を生成する。なお、実施例1に係るリクエスト種別装置は、あらかじめ定めた所定の規定に基づいてリクエスト履歴から呼出関係を網羅的に推定し、推定された呼出関係で関連づけられる呼出関係集合を生成しているが、図1は、その一部のみを図示したものである。
次に、リクエスト種別装置は、生成された呼出関係集合を、保持しているリクエスト種別規定で規定されるリクエスト種別間の呼出関係集合に置き換える(図1の(3)を参照)。例えば、リクエスト1は、図1の(1)に示すリクエスト種別規定によるとリクエスト種別G01に分類されるので、リクエスト種別G01に置き換えられる。同様に、リクエスト4はリクエスト種別G10に置き換えられ、リクエスト5はリクエスト種別G11に置き換えられ、リクエスト9はリクエスト種別G12に置き換えられる。また、他の呼出関係集合についても同様に置き換えられる。
そして、リクエスト種別装置は、置き換えられたリクエスト種別間の呼出関係集合から、リクエスト種別ごとに、リクエスト種別を呼出す呼出元リクエスト種別およびリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを、リクエスト履歴における出現頻度とともに導出する(図1の(4)を参照)。例えば、リクエスト種別G01、リクエスト種別G10、リクエスト種別G11、およびリクエスト種別G12からなるリクエスト種別間の呼出関係集合は、リクエスト種別G01に着目して呼出関係パターンを導出すると、リクエスト種別G01を呼び出す親リクエスト種別が存在しないことから親リクエスト種別は「なし」に、リクエスト種別G01が呼び出す子リクエスト種別は「G10、G11、G12」になる。
このとき、リクエスト種別装置は、図1の(3)におけるリクエスト種別間の呼出関係集合で、リクエスト種別G02、リクエスト種別G10、リクエスト種別G11、およびリクエスト種別G12からなる呼出関係集合について、リクエスト種別G02に着目して呼出関係パターンを導出すると、リクエスト種別G02を呼び出す親リクエスト種別が存在しないことから親リクエスト種別は「なし」に、リクエスト種別G02が呼び出す子リクエスト種別は「G10、G11、G12」になり、先ほどのリクエスト種別G01に着目して導出された呼出関係パターンと同一の呼出関係パターンを導出する。なお、図1においては、出現頻度を図示していないが、リクエスト種別装置は、各リクエスト種別間呼出関係パターンと出現頻度とを対応づけて導出している。
続いて、実施例1に係るリクエスト種別装置は、導出されたリクエスト種別間呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を、出現頻度を用いて算出する(図1の(5)を参照)。
また、これとは別に、実施例1に係るリクエスト種別装置は、保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定する(図1の(6)を参照)。例えば、上記したように、リクエスト種別G01に着目して導出された呼出関係パターンと、リクエスト種別G02に着目して導出された呼出関係パターンとは、同一の呼出関係パターンである。すなわち、「ある呼出関係パターンで処理されているにも関わらず、異なるリクエスト種別に属している」ことになる。
このため、実施例1に係るリクエスト種別装置は、「ある呼出関係パターンで処理されているにも関わらず、異なるリクエスト種別に属しているリクエストが存在するのであれば、それらのリクエストが同一のリクエスト種別に属するようにリクエスト種別を変更する」方法を用いて、リクエストに含まれる所定の文字列に係る情報を変更する。例えば、リクエスト種別G01およびリクエスト種別G02において同一の呼出関係パターンが導出されることになったリクエストは、リクエスト種別G01におけるリクエスト1およびリクエスト2と、リクエスト種別G02におけるリクエスト3とであるので、リクエスト1またはリクエスト2の一方と、リクエスト3とが同一のリクエスト種別に属するようにリクエスト種別を変更する。具体的に例を挙げると、リクエスト1とリクエスト3とが同一の種別に属するように変更する場合には、リクエストに含まれる所定の文字列に係る情報を「xxx*」に変更して新たにリクエスト種別を規定することで、リクエスト1およびリクエスト3が新たに生成された同一のリクエスト種別G03に属することになる。
続いて、実施例1に係るリクエスト種別装置は、変更されたリクエスト種別ごとに再びリクエスト種別間の呼出関係集合の置き換えを行い(図1の(3)を参照)、置き換えから変更されたリクエスト種別ごとにリクエスト種別間呼出関係パターンを導出する(図1の(4)を参照)。そして、変更されたリクエスト種別間呼出関係パターンと変更されたリクエスト種別との相関の強さを評価する相関値を、出現頻度を用いて算出する(図1の(5)を参照)。
そして、リクエスト種別装置は、このようなリクエスト種別の変更を繰り返し行い、算出された相関値と所定の終了条件とを比較して終了条件を判断し、終了条件を充たす場合に、リクエスト種別を終了する。なお、リクエスト種別を終了した時点において、実施例1に係るリクエスト種別装置が保持するリクエスト種別規定は、リクエスト種別間呼出関係パターンとの相関について高い評価値が算出されたものであるので、このようなリクエスト種別規定によって種別されたリクエストを利用することで、トランザクションを十分に識別することができるようになる。
こうして、実施例1に係るリクエスト種別装置は、複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいてリクエストを種別する場合に、リクエストのリクエスト名を直接利用してリクエストを種別する手法に比較して、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定し、かつ、規定したリクエスト種別を評価することから、高い評価値が算出されるようにリクエスト種別規定を改善していくことで、トランザクションの識別にあたり適切なリクエストの種別をすることが可能になる。
[リクエスト種別装置の構成]
次に、図2を用いて、実施例1に係るリクエスト種別装置の構成を説明する。図2は、実施例1に係るリクエスト種別装置の構成を示すブロック図である。
図2に示すように、リクエスト種別装置10は、入力部11と、出力部12と、入出力制御IF部13と、記憶部20と、制御部30とから主に構成される。
入力部11は、制御部30による各種処理に用いるデータや、各種処理をするための操作指示などを、キーボード、記憶媒体、または通信などによって入力する入力手段である。例えば、複数のサーバ間で実際に送受信されたリクエストや、リクエストに含まれる所定の文字列に係る情報や、リクエスト種別を評価する評価値を算出するための操作指示や、リクエスト種別規定を変更するための操作指示などを入力する。なお、入力部11によって入力されたリクエストは、後述するリクエスト履歴記憶部21に記憶され、入力部11によって入力されたリクエストに含まれる所定の文字列に係る情報は、後述するリクエスト種別規定保持部22に記憶される。
出力部12は、制御部30による各種処理の結果や、各種処理をするための操作指示などを、モニタ、プリンタなどに出力する出力手段である。例えば、入力部11によって入力されたリクエスト履歴や、後述するリクエスト種別規定保持部22によって保持されたリクエスト種別規定や、後述する評価値算出部32によって算出された評価値などを出力する。
入出力制御IF部13は、入力部11および出力部12と、記憶部20および制御部30との間におけるデータ転送を制御する手段である。
記憶部20は、制御部30による各種処理に用いるデータを記憶する記憶手段であり、特にこの発明に密接に関連するものとしては、図2に示すように、リクエスト履歴記憶部21と、リクエスト種別規定保持部22と、呼出関係集合記憶部23と、リクエスト種別間呼出関係集合記憶部24と、リクエスト種別間呼出関係パターン記憶部25と、評価値記憶部26とを備える。なお、リクエスト種別規定保持部22は、特許請求の範囲に記載の「リクエスト種別規定保持手順」に対応する。
かかる記憶部20のなかで、リクエスト履歴記憶部21は、リクエスト種別装置10においてリクエストを種別するために必要となる複数のサーバ間で実際に送受信されたリクエストを記憶する記憶手段である。具体的には、図4に示すように、入力部11によって入力されたリクエストをリクエスト履歴として記憶する。
リクエスト種別規定保持部22は、リクエスト種別装置10においてリクエストの種別を規定するリクエスト種別規定を記憶する記憶手段である。具体的には、図7に示すように、入力部11によって入力されたリクエスト種別規定、または、後述するリクエスト種別規定変更部33によって変更されたリクエスト種別規定を記憶する。
呼出関係集合記憶部23は、リクエスト種別装置10においてリクエスト種別間呼出関係パターンが導出される過程で生成される呼出関係集合を記憶する記憶手段である。具体的には、図6に示すように、後述するリクエスト種別間呼出関係パターン導出部31によってリクエスト種別間呼出関係パターンが導出される過程で生成される呼出関係集合を記憶する。
リクエスト種別間呼出関係集合記憶部24は、リクエスト種別装置10においてリクエスト種別間呼出関係パターンが導出される過程で生成されるリクエスト種別間呼出関係集合を記憶する記憶手段である。具体的には、図8に示すように、後述するリクエスト種別間呼出関係パターン導出部31によってリクエスト種別間呼出関係パターンが導出される過程で生成された呼出関係集合を、リクエスト種別規定保持部22によって保持されたリクエスト種別規定を用いて置き換えたリクエスト種別間呼出関係集合を記憶する。
リクエスト種別間呼出関係パターン記憶部25は、リクエスト種別装置10において導出されたリクエスト種別間呼出関係パターンを記憶する記憶手段である。具体的には、図9に示すように、後述するリクエスト種別間呼出関係パターン導出部31によって置き換えられたリクエスト種別間の呼出関係集合から、リクエスト種別ごとにリクエスト種別を呼び出す呼出元リクエスト種別およびリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを、リクエスト履歴における出現頻度とともに導出して記憶する。
評価値記憶部26は、リクエスト種別装置10においてリクエスト種別が評価された評価値を記憶する記憶手段である。具体的には、後述する評価値算出部32によってリクエスト種別間呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を記憶する。
制御部30は、リクエスト種別装置10を制御して各種処理を実行する制御手段であり、特にこの発明に密接に関連するものとしては、図2に示すように、リクエスト種別間呼出関係パターン導出部31と、評価値算出部32と、リクエスト種別規定変更部33と、終了条件判断部34とを備える。なお、リクエスト種別間呼出関係パターン導出部31は、特許請求の範囲に記載の「リクエスト間呼出関係パターン導出手順」に対応し、評価値算出部32は、特許請求の範囲に記載の「評価値算出手順」に対応し、リクエスト種別規定変更部33は、特許請求の範囲に記載の「リクエスト種別規定変更手順」に対応し、終了条件判断部は、特許請求の範囲に記載の「終了条件判断手順」に対応する。
かかる制御部30のなかで、リクエスト種別間呼出関係パターン導出部31は、複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から、リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、この呼出関係集合をリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、この置き換えからリクエスト種別ごとに、リクエスト種別を呼び出す呼出元リクエスト種別およびリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを、リクエスト履歴における出現頻度とともに導出する手段である。
具体的には、リクエスト履歴記憶部21に記憶されたリクエスト履歴から、リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、呼出関係集合記憶部23に記憶させる。そして、呼出関係集合記憶部23に記憶させた呼出関係集合を、リクエスト種別規定保持部22によって保持されたリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、リクエスト種別間呼出関係集合記憶部24に記憶させる。続いて、リクエスト種別間呼出関係集合記憶部24に記憶させたリクエスト種別間呼出関係集合から、リクエスト種別ごとにリクエスト種別間呼出関係パターンを、リクエスト履歴における出現頻度とともに導出し、リクエスト種別間呼出関係パターン記憶部25に記憶させる。なお、リクエスト種別間呼出関係パターン導出部31の具体的な処理については、後述する[リクエスト種別装置による処理(詳細)]において詳述する。
評価値算出部32は、リクエスト種別呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を、出現頻度を用いて算出する手段である。具体的には、リクエスト種別間呼出関係パターン記憶部25に記憶されたリクエスト種別間呼出関係パターンと、リクエスト種別規定保持部22によって保持されたリクエスト種別との相関を、リクエスト種別間呼出関係パターンとともに導出された出現頻度を用いて算出し、評価値記憶部26に記憶させる。なお、評価値算出部32の具体的な処理については、後述する[リクエスト種別装置による処理(詳細)]において詳述する。
リクエスト種別規定変更部33は、リクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して、新たにリクエスト種別を規定する手段である。具体的には、リクエスト種別規定保持部22によって保持されたリクエスト種別規定に含まれる所定の文字列に係る情報を変更して、新たにリクエスト種別を規定し、リクエスト種別規定保持部22に記憶させる。なお、リクエスト種別規定変更部33の具体的な処理については、後述する[リクエスト種別装置による処理(詳細)]において詳述する。
終了条件判断部34は、変更されたリクエスト種別ごとにリクエスト種別間呼出関係パターンを導出し、リクエスト種別間呼出関係パターンを用いて相関値を算出し、相関値と所定の終了条件とを比較して終了条件を判断する手段である。具体的には、リクエスト種別規定保持部22によって保持された変更後のリクエスト種別ごとに、リクエスト種別間呼出関係パターン導出部31によってリクエスト種別間呼出関係パターンが導出され、評価値算出部32によって算出された評価値と、所定の終了条件とを比較して終了条件を判断する。なお、終了条件判断部34の具体的な処理については、後述する[リクエスト種別装置による処理(詳細)]において詳述する。
[リクエスト種別装置による処理]
次に、図3を用いて、実施例1におけるリクエスト種別装置による処理を説明する。図3は、実施例1におけるリクエスト種別処理の手順を示すフローチャートである。
まず、図3に示すように、実施例1におけるリクエスト種別装置10は、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定するリクエスト種別規定(図7を参照)を、リクエスト種別規定保持部22に保持する(ステップS301)。
次に、リクエスト種別装置10は、リクエスト履歴記憶部21に記憶されたリクエスト履歴の入力を受け付けたか否かを判断し(ステップS302)、受け付けた場合には(ステップS302肯定)、リクエスト履歴からリクエスト間の呼出関係で関連づけられる呼出関係集合(図6を参照)を生成し、呼出関係集合記憶部23に記憶させる(ステップS303)。なお、リクエスト履歴の入力を受け付けない場合には(ステップS302否定)、リクエスト種別装置10は、リクエスト履歴の入力を待機する。
そして、リクエスト種別装置10は、呼出関係集合記憶部23に記憶された呼出関係集合を、リクエスト種別規定保持部22によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合(図8を参照)に置き換え、リクエスト種別間呼出関係集合記憶部24に記憶させる(ステップS304)。
続いて、リクエスト種別装置10は、リクエスト種別間呼出関係集合記憶部24に記憶されたリクエスト種別間呼出関係集合から、リクエスト種別ごとに、リクエスト種別を呼び出す呼出元リクエスト種別およびリクエスト種別が呼び出す呼出先リクエスト種別からなるパターン(図9を参照)を、リクエスト履歴における出現頻度とともに導出し、リクエスト種別間呼出関係パターン記憶部25に記憶させる(ステップS305)。
次に、リクエスト種別装置10は、リクエスト種別間呼出関係パターン記憶部25に記憶されたリクエスト種別間呼出関係パターンと、リクエスト種別規定保持部22に保持されたリクエスト種別規定との相関の強さを評価する相関値を、出現頻度を用いて算出し、評価値記憶部26に記憶させる(ステップS306)。
また、これとは別に、リクエスト種別装置10は、リクエスト種別規定保持部22によって保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して、新たにリクエスト種別を規定し、リクエスト種別規定保持部22に記憶させる(ステップS307)。
次に、リクエスト種別装置10は、呼出関係集合記憶部23に記憶された呼出関係集合を、リクエスト種別規定保持部22に新たに記憶された変更後のリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、リクエスト種別間呼出関係集合記憶部24に記憶させる(ステップS308)。
そして、リクエスト種別装置10は、リクエスト種別間呼出関係集合記憶部24に記憶された変更後のリクエスト種別間呼出関係集合から、変更後のリクエスト種別ごとに、変更後のリクエスト種別を呼び出す呼出元リクエスト種別および変更後のリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを、リクエスト履歴における出現頻度とともに導出し、変更後のリクエスト種別間呼出関係パターン記憶部25に記憶させる(ステップS309)。
続いて、リクエスト種別装置10は、リクエスト種別間呼出関係パターン記憶部25に記憶された変更後のリクエスト種別間呼出関係パターンと、リクエスト種別規定保持部22に保持された変更後のリクエスト種別規定との相関の強さを評価する相関値を、出現頻度を用いて算出し、評価値記憶部26に記憶させる(ステップS310)。
次に、リクエスト種別装置10は、他のリクエスト規定を変更するか否かを判断し(ステップS311)、変更する場合には(ステップS311肯定)、再び、ステップS307へと戻る。一方、変更しない場合には(ステップS311否定)、リクエスト種別装置10は、ステップS306で算出した相関値と、ステップS310で算出した相関値とを比較し、リクエスト種別規定を変更することで相関値が改善したか否かを判断する(ステップS312)。
そして、相関値が改善したと判断した場合には(ステップS312肯定)、続いて、その他の終了条件とを比較して終了条件を判断し(ステップS313)、終了条件を充たしていないと判断した場合には(ステップS313否定)、リクエスト種別装置10は、再び、ステップS307へと戻り、リクエスト種別規定を変更する。なお、ステップS312において相関値が改善していないと判断した場合(ステップS312否定)、もしくは、ステップS313において終了条件を充たすと判断した場合(ステップS313肯定)には、リクエスト種別装置10は、リクエスト種別の処理を終了する。
[リクエスト種別装置による処理(詳細)]
次に、図4〜図16を用いて、実施例1におけるリクエスト種別装置10による処理を詳述する。図4は、リクエスト履歴を説明するための図であり、図5は、リクエスト間の呼出関係を説明するための図であり、図6は、呼出関係集合を説明するための図であり、図7は、リクエスト種別規定を説明するための図であり、図8は、リクエスト種別間呼出関係集合を説明するための図であり、図9は、リクエスト種別間呼出関係パターンを説明するための図であり、図10および図11は、相関値算出を説明するための図であり、図12および図13は、リクエスト種別変更後のリクエスト種別間呼出関係パターンを説明するための図であり、図14および図15は、リクエスト種別変更後の相関値算出を説明するための図であり、図16は、変更後のリクエスト種別規定を説明するための図である。
[実施例1におけるリクエスト種別処理の前提]
ここで、通常のWebシステムは、Webサーバ、アプリケーションサーバ、およびデータベースサーバの3階層システムの場合が多いが、以下で説明する実施例1におけるリクエスト種別装置10による処理は、説明の便宜上から、Webサーバ(IPアドレス=100.100.100.8)およびアプリケーションサーバ(IPアドレス=100.100.100.9)の2階層システムを前提とする。また、通信プロトコルとしては、クライアントとWebサーバとの間の通信にはHTTPが利用され、Webサーバとアプリケーションサーバとの間の通信にはIIOPが利用されることを前提とする。
まず、実施例1に係るリクエスト種別装置10は、複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から、あらかじめ定めた所定の規定に基づいてリクエスト間の呼出関係を網羅的に推定する。ここで、リクエスト履歴とは、図4に示すように、各リクエストについて、例えば、ID、プロトコル、リクエスト名、呼出元IPアドレス、呼出先IPアドレス、リクエスト時刻(開始時刻)、レスポンス時刻(終了時刻)、処理時間などの情報が与えられたものである。
これらの情報のうち、呼出元IPアドレスとは、そのリクエストを発した計算機(またはそれに準じるもの)のIPアドレスのことであり、呼出先IPアドレスとは、そのリクエストを受け取った計算機、すなわち、実際にそのリクエストを処理する計算機のIPアドレスのことである。例えば、Webシステムのように、複数のサーバ間でリクエストを呼び出し合って利用者からの要求を処理するシステムアーキテクチャにおいては、HTTPによる通信の場合、呼出元IPアドレスは、Webブラウザが動作している利用者の計算機(クライアント)を示し、呼出先IPアドレスは、Webシステム側のWebサーバを示すことが通常である。
また、リクエスト名とは、そのリクエストの内容を表す文字列であるが、呼出元の計算機から呼び出された(リクエストされた)内容だけでなく、それに対するレスポンスの内容を表す文字列を追加する等、編集を行うことも可能である。また、処理時間は、終了時刻から開始時刻を差し引くことで計算される。
なお、リクエスト履歴は、各サーバのログ(例えば、Webサーバのアクセスログなど)に蓄積されたものを利用したり、計算機間の通信をキャプチャしてその内容を解析して生成したもの(特許文献1を参照)を利用することも可能である。
[リクエスト間呼出関係推定]
実施例1に係るリクエスト種別装置10は、図4に示されたリクエスト履歴から、あらかじめ定めた所定の規定に基づいてリクエスト間の呼出関係を網羅的に推定する。ここで、リクエスト間の呼出関係とは、例えば、「あるHTTPリクエストを処理するために、別のIIOPリクエストを呼び出す」という関係のことである。
実施例1における呼出関係の推定は、呼出元IPアドレス、呼出先IPアドレス、開始時刻、および終了時刻を組み合わせた所定の規定を用いて、リクエスト履歴から呼出関係を推定することから行われる。例えば、「あるリクエストRを処理するために、別のリクエストQが呼び出されている」という呼出関係について考えると、リクエストQの呼出元IPアドレスは、リクエストRを処理する計算機を示すIPアドレスでなければならず、すなわち、リクエストRの呼出先IPアドレスでなければならないという規定が成立する。また、リクエストQの開始時刻は、リクエストRの開始時刻以後でなければならず、リクエストQの終了時刻は、リクエストRの終了時刻以前でなければならないという規定が成立する。
次に、これらの規定を用いた呼出関係の推定について、図4に示されたリクエスト履歴のID=15のリクエスト(以下、リクエスト15と表記する)について具体的に説明する。まず、リクエスト15の呼出先IPアドレスは100.100.100.8であるから、このリクエスト15を処理するために、リクエスト15から呼び出されている可能性のあるリクエストの呼出元IPアドレスは、100.100.100.8でなければならない。この規定を満足するリクエストは、ID=2、4、6、8、11、13、16、18の8リクエストである。実施例1に係るリクエスト種別装置は、これらのリクエストの中から、その開始時刻がリクエスト15の開始時刻である43以後で、かつ、終了時刻がリクエスト15の終了時刻である57以前であるものを選択するので、リクエスト16およびリクエスト18の2つが該当する。すなわち、リクエスト15から呼び出されている可能性があるリクエストは、リクエスト16およびリクエスト18の2つのリクエストである。
実施例1においては、呼出関係にある2つのリクエストについて、呼出元リクエストを「親リクエスト」と呼び、呼出先リクエストを「子リクエスト」と呼ぶことにすると、例えば、リクエスト15は、リクエスト16およびリクエスト18の親リクエストの候補であり、逆に、リクエスト16およびリクエスト18は、リクエスト15の子リクエストの候補である。もっとも、上記で推定した呼出関係は、あくまで「リクエスト15を処理するために、リクエスト16が呼び出されている可能性がある」、または、「リクエスト15を処理するために、リクエスト18が呼び出されている可能性がある」という確率付きのものであり、実際は、リクエスト16は、リクエスト15以外のリクエスト(例えば、リクエスト14など)を処理するために呼び出されている可能性もある。
同様に、実施例1に係るリクエスト種別装置は、図4のリクエスト履歴におけるすべてのリクエストについて呼出関係を推定し、図5に示すように、親リクエスト候補および子リクエスト候補をリクエストごとにまとめる。
[呼出関係集合生成]
次に、実施例1に係るリクエスト種別装置10は、図6に示すように、推定された呼出関係に関連づけられる呼出関係集合を生成する。なお、実施例1においては、呼出関係集合を、トランザクション(または、トランザクション候補)と呼ぶ。すなわち、トランザクションとは、システム外部から与えられたリクエストと、それを処理するために呼び出されている子リクエスト、さらに子リクエストを処理するためにシステム内部で直接または間接に呼び出されているリクエストの集合を、リクエスト間の呼出関係を含めてまとめたものである。
ここで、リクエスト間の呼出関係を正確に推定することができるのであれば、リクエスト種別装置10は、呼出関係に関連づけられるトランザクションも正確に生成することができる。しかし、上記したように、実施例1においてリクエスト履歴から推定されるリクエスト間の呼出関係は、あくまで確率付きのものである。このため、実施例1に係るリクエスト種別装置10は、トランザクションについて確率を計算する。
まず、実施例1に係るリクエスト種別装置10がトランザクション候補を生成するためには、まず、システム外部から呼び出されているリクエストと、システム内部で呼ばれているリクエストとを分別することが必要である。実施例1では、Webサーバおよびアプリケーションサーバの2階層システムを前提としているので、クライアントからWebサーバに対してHTTPによって送信されたリクエストが、システム外部から呼び出されているリクエストであり、Webサーバからアプリケーションサーバに対してIIOPによって送信されたリクエストが、システム内部で呼ばれているリクエストであり、IIOPによって送信されたリクエストがシステム外部から直接呼ばれることはないということを前提とする。
そして、リクエスト種別装置10は、システム外部から呼び出されたリクエストをひとつ選択し、選択したリクエストから呼ばれている可能性のあるリクエストを追加し、さらに、追加されたリクエストから呼ばれている可能性のあるリクエストを追加し、以上のプロセスを、追加されたリクエストから呼ばれている可能性のあるリクエストがなくなるまで継続して行うことで、トランザクション候補の生成を行う。すなわち、システム外部から呼び出されたリクエストをひとつ選択し、選択したリクエストの子リクエスト候補を選択しないか、あるいは、ひとつまたは複数選択して追加し、さらに、追加された子リクエスト候補の子リクエスト候補を選択しないか、あるいは、ひとつまたは複数選択して追加し、以上のプロセスを、子リクエスト候補がなくなるまで継続して行う。
例えば、システム外部から呼び出されたリクエストとして、リクエスト種別装置10が、ID=1のリクエストを選択したとする。リクエスト1の子リクエスト候補は、図5に示すように、リクエスト2のみであるので、子リクエスト候補であるリクエスト2を選択しない場合と、子リクエスト候補であるリクエスト2を選択する場合の2つの場合を考える。このとき、リクエスト2は、IIOPによって送信されたリクエストであるので、実施例1における前提によれば、HTTPによって送信されたリクエストのいずれかのリクエストからシステム内部で呼ばれているはずである。ここで、リクエスト2が呼ばれている可能性のある親リクエスト候補は、図5に示すように、リクエスト1のみであるので、リクエスト2は必ずリクエスト1から呼ばれていることになり、すなわち、リクエスト1とリクエスト2の間の呼出関係が真である確率は「1」であると計算される。よって、上記した2つの場合のうち、子リクエスト候補であるリクエスト2を選択する場合のみを考えればよいことになる。
次に、選択して追加されたリクエスト2の子リクエスト候補について考えると、図5に示すように、子リクエスト候補は空集合であるので、子リクエスト候補がないことになり、リクエスト種別装置10は、トランザクション候補の生成をここで終了する。したがって、生成されたトランザクション候補は、リクエスト1およびリクエスト2からなるトランザクションであり、その呼出関係は、リクエスト1によってリクエスト2が呼び出されている呼出関係のみであり、確率は1である。
一方、システム外部から呼び出されたリクエストとして、リクエスト種別装置10が、ID=15のリクエストを選択したとする。リクエスト15の子リクエスト候補は、図5に示すように、リクエスト16およびリクエスト18であるので、子リクエスト候補であるリクエスト16およびリクエスト18の両方を選択しない場合と、子リクエスト候補であるリクエスト16のみを選択する場合と、子リクエスト候補であるリクエスト18のみを選択する場合と、子リクエスト候補であるリクエスト16およびリクエスト18の両方を選択する場合の4つの場合を考える。このとき、リクエスト16およびリクエスト18は、IIOPによって送信されたリクエストであるので、実施例1における前提によれば、HTTPによって送信されたリクエストのいずれかのリクエストからシステム内部で呼ばれているはずである。ここで、リクエスト16が呼ばれている可能性のある親リクエスト候補は、図5に示すように、リクエスト14およびリクエスト15であり、リクエスト18が呼ばれている可能性のある親リクエスト候補は、リクエスト15およびリクエスト17であるので、リクエスト16もリクエスト18も、リクエスト15から呼ばれている確率は0.5である。よって、上記の4つの場合の確率は、すべて0.25となる。
次に、選択して追加されたリクエスト16およびリクエスト18の子リクエスト候補について考えると、図5に示すように、子リクエスト候補は空集合であるので、子リクエスト候補がないことになり、リクエスト種別装置10は、トランザクション候補の生成をここで終了する。
同様に、実施例1に係るリクエスト種別装置10が、図4に示すリクエスト履歴に存在するシステム外部から呼び出されたリクエスト全てについてトランザクション候補(呼出関係集合)を生成した結果が、図6である。なお、実施例1では、上記したように、Webサーバおよびアプリケーションサーバの2階層システムを前提としているので、トランザクション候補は、システム外部から呼び出されたHTTPリクエストひとつと、このHTTPリクエストから呼び出されているIIOPリクエストとの集合で表すことができる。そこで、図6では、HTTPリクエストを親リクエストと記述し、このHTTPリクエストから呼び出されているIIOPリクエストの集合を子リクエストの集合として記述している。
[リクエスト種別規定保持]
ここで、実施例1に係るリクエスト種別装置10が保持しているリクエスト種別規定について説明する。リクエスト種別規定は、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定する。この発明では、単にシステム内での処理が類似するものを集めてリクエスト種別として規定するのではなく、リクエスト種別ごとに意味を持たせ、かつ、リクエスト種別を用いた分析の結果を見る利用者がその意味を理解しやすいものとするために、特定の文字列パターン、文字列の論理積、または文字列の論理和などでリクエスト種別を規定する。
また、実施例1においては、リクエスト種別を規定するための条件として、「HTTPリクエストはパラメータ部分(「?」以降)を無視する」と、「IIOPはリクエスト名をそのまま使う」という条件を用いる。例えば、HTTPリクエスト1のリクエスト名は、「top/aaa.jsp?id=1&type=update」であるので、パラメータ部分(「?」以降)を無視した「top/aaa.jsp?*」というリクエスト種別を規定する。同様に、図4に示すリクエスト履歴からリクエスト種別を規定したものが、図7である。図7では、HTTPリクエスト種別3種類およびIIOPリクエスト種別3種類が規定されていることがわかる。
[リクエスト種別間呼出関係パターン導出]
続いて、実施例1に係るリクエスト種別装置10は、生成された呼出関係集合を、保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、この置き換えからリクエスト種別ごとに、リクエスト種別を呼び出す呼出元リクエスト種別およびこのリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを、リクエスト履歴における出現頻度とともに導出する。以下では、このリクエスト種別間呼出関係パターンを親子パターンと表記する。親子パターンとは、図9に示すように、リクエスト種別を呼び出している親リクエスト種別と、同じ親リクエスト種別から呼ばれている兄弟リクエスト種別と、リクエスト種別が直接呼出している子リクエスト種別の組み合わせである。
親子パターンの導出について具体的に説明すると、例えば、IIOPリクエスト種別G13を、図8に示すリクエスト種別で置き換えられたトランザクション候補の中で探すと、トランザクション候補4、12、13、15の子リクエストの種別として登場することがわかる。このなかで、トランザクション候補4および12では、HTTPリクエスト種別G02から呼び出されて、兄弟リクエスト種別は存在しない。よって、親子パターンとしては、親リクエスト種別がG02、子リクエスト種別が空集合、兄弟リクエスト種別が空集合という親子パターンが生成され、その頻度は、トランザクション候補4の確率1と、トランザクション候補12の確率0.25の和である1.25となる。
一方、トランザクション候補13では、親リクエスト種別がG02、子リクエスト種別が空集合、兄弟リクエスト種別が{G12}という親子パターンが生成され、その頻度は、トランザクション候補13の頻度0.25である。また、トランザクション候補15では、親リクエスト種別がG03、子リクエスト種別が空集合、兄弟リクエスト種別が空集合という親子パターンが生成され、その頻度は、トランザクション候補15の頻度0.5である。
同様にして、全てのリクエスト種別について親子パターンとその出現頻度(期待値)を求めた結果が、図9である。実施例1においては、Webサーバおよびアプリケーションサーバの2階層システムを前提としているので、HTTPリクエストのリクエスト種別の親子パターンでは親リクエスト種別は「なし」で、兄弟リクエスト種別も空集合となり、また、IIOPリクエストの親子パターンでは、子リクエスト集合は空集合となる。
[相関値算出]
実施例1に係るリクエスト種別装置は、全てのリクエスト種別について親子パターンを導出すると、導出した親子パターンを用いて、リクエスト種別を評価する評価値を算出する。ここで、システムの挙動や性能を分析するにあたっては、リクエスト種別は、同一のリクエスト種別に関しては、システムにおける挙動や性能が類似しており、逆に、異なるリクエスト種別に関しては、システムにおける挙動や性能が異なっていることが望ましい。そこで、実施例1においては、システムにおける挙動の最も基本的な要素として、親子パターンで表されるリクエスト種別間の呼出関係に着目する。すなわち、あるリクエスト種別に関しては親子パターンがひとつしか存在せず(もしくは、複数の親子パターンが存在してもその中のひとつの親子パターンに頻度が集中している)、かつ、ある親子パターンは異なるリクエスト種別には存在しない(もしくは、存在しても頻度が低い)ことが望ましい。
このため、実施例1に係るリクエスト種別装置は、リクエスト種別と親子パターンとの間の相関の強さを評価する相関値を算出し、相関が高ければ高いほど良いリクエスト種別であると評価する。ここで、相関の強さを評価する方法としては情報量基準に基づく方法等種々の方法が考えられるが、実施例1においては、カイ自乗法を用いる。実施例1に係るリクエスト種別装置は、あるリクエスト種別がある親子パターンで処理される実際の頻度と、リクエスト種別と親子パターンが独立であると仮定した場合に、あるリクエスト種別がある親子パターンで処理される期待値との差の自乗を、全てのリクエスト種別と親子パターンの組み合わせに対して計算し、和をとることで相関の強さを評価する。この評価方法では、リクエスト種別と親子パターンとが独立で全く相関がない場合に評価値が「0」となり、評価値が大きくなるほど相関が強いことを示す。なお、プロトコルが異なるリクエスト種別については、親子パターンが異なることは当然であるので、カイ自乗法は、プロトコルごとに行い、その結果をリクエストひとつあたりの値に正規化して(プロトコルごとのリクエスト数で割り)、その和をとったものを評価値とする。
実施例1における評価について具体的に説明すると、相関値の計算にあたり注意すべき点としては、図9の表は、リクエスト種別ごとに親子パターンをまとめているため、同一の親子パターンが異なるリクエスト種別に現れている点である。例えば、図9のP011とP022は、いずれも親リクエスト種別が「なし」、子リクエスト種別の集合が{G11}、兄弟リクエスト種別の集合が{}である。このような2つのパターンは、相関の強さを考える上では同じパターンと考えるべきである。この点に注意して、リクエスト種別ごとの親子パターン数を計算した結果が、図10および図11である。
実施例1に係るリクエスト種別装置10は、まず最初に、HTTPリクエストについて評価値を算出する。HTTPリクエスト全体の頻度が10回、その中で、リクエスト種別G01の頻度は2回、および親子パターンP011(=P022)の頻度が3回であることから、リクエスト種別と親子パターンとが独立の関係であると仮定した場合に、リクエスト種別G01が親子パターンP011(=P022)で処理される頻度の期待値は、0.6回(2×3/10=0.6)となる。一方、実際の頻度は1回であるから、期待値との差の自乗は、0.16((1−0.6)^2=0.16)となる。同様の計算を全てのリクエスト種別と親子パターンに対して行い、その和をとると、2.94となる。これをHTTPリクエスト数10で割ると、HTTPリクエストから算出される評価値は、0.294となる。
リクエスト種別装置10は、同様の計算をIIOPリクエストについて行う。そして、IIOPリクエストから算出した評価値は0.088となり、よって、この段階でのリクエスト種別の評価値は、これらの和である0.382(0.294+0.088=0.382)となる。
[リクエスト種別規定変更]
次に、実施例1に係るリクエスト種別装置10は、保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して、新たにリクエスト種別を規定する。ここで、上記したように、あるリクエスト種別に関しては親子パターンがひとつしか存在せず(もしくは、複数の親子パターンが存在してもその中のひとつの親子パターンに頻度が集中している)、かつ、ある親子パターンは異なるリクエスト種別には存在しない(もしくは、存在しても頻度が低い)ことが望ましいので、変更方法としては、次の2つの方法が考えられる。
すなわち、「ある親子パターンで処理されているにも関わらず、異なるリクエスト種別に属しているリクエストが存在するのであれば、それらのリクエストが同一のリクエスト種別に属するようにリクエスト種別を変更する」方法と、「ある同一のリクエスト種別に属する2つのリクエストが、別々の親子パターンで処理されているのであれば、その2つのリクエストが異なるリクエスト種別に属するようにリクエスト種別を変更する」方法とである。実施例1においては、「ある親子パターンで処理されているにも関わらず、異なるリクエスト種別に属しているリクエストが存在するのであれば、それらのリクエストが同一のリクエスト種別に属するようにリクエスト種別を変更する」方法を採用する。
リクエスト種別の変更方法について具体的に説明すると、例えば、図10に示すように、親子パターンP011(=P022)に属するリクエストが、リクエスト種別G01とG02との双方に存在することがわかる。図9のリクエスト種別ごとの親子パターンから、G01でこの親子パターンとなるのは、トランザクション候補1に含まれるHTTPリクエスト、すなわちリクエスト1で、G02では、トランザクション候補2および7、すなわち、リクエスト3およびリクエスト12である。したがって、リクエスト1およびリクエスト3、あるいは、リクエスト1およびリクエスト12は同じ親子パターンで処理されるが、属するリクエスト種別が異なる。そこで、これらのリクエストの組み合わせごとにリクエスト種別の変更を行う。
具体的な変更方法は、選択された2つのリクエストのリクエスト名に共通する文字列パターンSを求め、それを含むリクエストの集合であるリクエスト種別を新たに作る。このとき、複数のリクエスト種別に属する、すなわち、もともと属していたリクエスト種別と新たに生成されたリクエスト種別との双方に属するリクエストが出現する可能性があるが、その場合はどのリクエスト種別に属するかをリクエスト種別に適当に優先順位をつけることで選択する。なお、優先順位のつけ方は、被覆するリクエスト数の少ないものを優先する方法や、対応する文字列パターンの長い、すなわち条件の厳しい種別を優先する方法など様々な方法が考えられるが、実施例1では、新しく作られた種別を優先するものとする。この優先順位の考え方は、「新しいリクエスト種別は、それよりも古いリクエスト種別によるリクエストの分割の欠点を解決するために導入されるので、古いリクエスト種別よりも優先する」という考え方に基づいている。
実施例1におけるHTTPリクエストの現在のリクエスト種別G01、G02、G03では、複数の種別に属しうるリクエストは存在しないので、文字列パターンSに対応するリクエスト種別を導入することによって、「Sに対応しない、かつ、G01」(¬S∧G01)、「Sに対応しない、かつ、G02」(¬S∧G02)、「Sに対応しない、かつ、G03」(¬S∧G03)、「Sに対応する」(S)にリクエスト種別が分割されることになる。
ただし、Sを導入した結果、所属するリクエストが存在しなくなるリクエスト種別が出現する可能性もある。そのようなリクエスト種別は削除するので、新しいリクエスト種別を導入することで、リクエスト種別の数が減る場合も考えられる。
まず、リクエスト種別G01からリクエスト1が選択され、リクエスト種別G02からリクエスト3が選択されたとする。リクエスト1およびリクエスト3のリクエスト名は、それぞれ「top/aaa.jsp?id=1&type=update」および「top/bbb.jsp?id=2&type=update」であるので、これらの共通部分(文字列パターン)を求めると、「top/*.jsp?id=*&type=update」となる。ただし「*」の部分は任意の文字列を許すものとする。
すると、HTTPリクエストのリクエスト種別は、リクエスト種別G01が「¬top/*.jsp?id=*&type=update ∧ top/aaa.jsp?*」、リクエスト種別G02が「¬top/*.jsp?id=*&type=update ∧ top/bbb.jsp?*」であり、リクエスト種別G03が「¬top/*.jsp?id=*&type=update ∧ top/ddd.jsp?*」であり、リクエスト種別G04が「top/*.jsp?id=*&type=update」となる。
なお、リクエスト履歴中で、aaa.jspおよびbbb.jspは、パラメータidおよびtypeを持ち、aaa.jspではtypeの値が必ずupdateになること、bbb.jspではtypeの値がupdateまたはcreateになること、ddd.jspではパラメータとしてidもtypeも持たないことから、上記の4つのリクエスト種別を表す文字列パターンは、リクエスト種別G01が「なし」(該当するリクエストが存在しない)、リクエスト種別G02が「top/bbb.jsp?id=*&type=create」、リクエスト種別G03が「top/ddd.jsp?」、リクエスト種別G04が「top/*.jsp?id=*&type=update」と、より簡単な形で書くことができる。リクエスト種別を用いた分析の利用者の理解しやすさという観点では、単純に否定の論理積を使って文字列パターンを組み合わせるだけでなく、それと整合する実際のリクエスト名を考慮して文字列パターンを単純化することが有効である。
そして、リクエスト種別装置10は、これらのリクエスト種別に基づいてリクエストを種別し、HTTPリクエストのリクエスト種別は、G01:リクエストなし、G02:リクエスト7、15、G03:リクエスト9、17、G04:リクエスト1、3、5、10、12、14となる。
[変更後リクエスト種別の相関値算出]
実施例1に係るリクエスト種別装置10は、変更されたリクエスト種別ごとにリクエスト種別呼出関係パターンを用いて評価値を算出する。そこで、上記と同様に、図9に相当する表を作成すると、図12のようになる。これを基に、リクエスト種別装置10が、カイ自乗法を用いて評価値を計算すると、変更後のリクエスト種別の評価値は1.26となり、変更前の0.382よりも大きく改善する。
以下、同様に、リクエスト種別装置10は、リクエスト1およびリクエスト12や、他の異なるリクエスト種別に属するが同じ親子パターンで処理されるリクエストのペアについて、上記したように、リクエスト種別の変更と評価を行い、最も評価値の高いものを最終的なリクエスト種別の変更として選択する。
ここでは、リクエスト1およびリクエスト3を共通に含むリクエスト種別を生成して変更した場合の評価値が最も高く、かつ、変更前よりも評価値が改善されるので、この変更を選択し、その変更結果を現在のリクエスト種別にする。
[終了条件判断]
実施例1に係るリクエスト種別装置10は、このような変更を、所定の終了条件を充たすまで繰り返す。なお、実施例1においては、終了条件として、「どのような変更によっても評価値が改善されなくなる」、もしくは、「変更が2回行われれば終了」、という条件が与えられている。実施例1におけるこの段階では、変更による評価値が改善されており、かつ、変更回数は1回なので、終了条件を満足していない。そこで、さらに、リクエスト種別の変更を行う。
[2回目のリクエスト種別変更]
実施例1に係るリクエスト種別装置10は、2回目のリクエスト種別の変更として、同一の親子パターンを含む2つのリクエスト種別を選択し、そのそれぞれからひとつずつ、その親子パターンに属するリクエストを選択し、それらの共通文字列パターンに相当するリクエスト種別を生成し、それを追加した場合の評価値を計算する。リクエスト種別装置10は、これを全ての組み合わせについて行い、最も評価値が高いものを選択する。
リクエスト種別装置10が2回目に選択するのは、IIOPリクエスト種別G11に属するリクエスト2と、G12に属するリクエスト6から新たなリクエストを生成した場合である。この2つのリクエスト名は、それぞれ、sss/reqaおよびsss/reqbであるので、共通の文字列パターンはsss/req*である。このとき、新たなIIOPリクエスト種別と、それに属するリクエストの集合は、G11:「¬sss/req* ∧ sss/reqa」(リクエストなし)、G12:「¬sss/req* ∧ sss/reqb」(リクエストなし)、G13:「¬sss/req* ∧ ttt/reqc」(リクエスト8、18)、G18:「sss/req*」(リクエスト2、4、6、11、13、16)である。
このようなリクエスト種別の変更を行った場合のリクエスト種別ごとの親子パターンを求めると、図13のようになる。この表から、図10および図11に相当する表を作成すると、図14および図15となり、リクエスト種別装置10が、これらの表からカイ自乗法を用いて評価値を計算すると、1.73となり、1回目のリクエスト種別変更後の評価値1.26よりも高い評価値であるので、リクエスト種別を変更する。
[終了条件判断]
次に、実施例1に係るリクエスト種別装置10は、再度、終了条件を満足するか否かを判断し、今回は2回の変更を行い、終了条件を満足するので、図16に示すように、最終的に得られたリクエスト種別と、各リクエスト種別に属するリクエストIDとを、結果として出力する。
ここで、最終結果であるリクエスト種別と親子パターンの相関表である図14および図15を、変更前のリクエスト種別と親子パターンの相関表である図10および図11と比較すると、変更前のリクエスト種別では、ひとつのリクエスト種別について頻度が高い親子パターンが複数存在したり、逆に、複数のリクエスト種別が同一の親子パターンで処理される頻度が高かったりする部分がある。すなわち、システム内部における挙動という観点からすると、リクエスト種別の分割が不十分だったり、逆に分割しすぎている部分があることがわかる。これに対して、変更後のリクエスト種別に対応する図14および図15では、リクエスト種別の観点からみても、親子パターンの観点からみても、確率の高い部分は高々ひとつしかない(図中の下線部分)。このことは、実施例1に係るリクエスト種別装置10は、システム内部での挙動、すなわちリクエスト間の呼出関係をよりよく表すように、通常は多数存在するリクエスト名を、適当な数のリクエスト種別にまとめることができることを示している。
[実施例1の効果]
上述してきたように、実施例1によれば、複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法をコンピュータに実行させるリクエスト種別プログラムであって、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定するリクエスト種別規定を保持し、複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴からリクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、保持されたリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、置き換えからリクエスト種別ごとにリクエスト種別を呼び出す呼出元リクエスト種別およびリクエスト種別が呼び出す呼出先リクエスト種別からなるパターンをリクエスト履歴における出現頻度とともに導出し、導出されたリクエスト種別間呼出関係パターンを用いてリクエスト種別を評価するので、リクエストのリクエスト名を直接利用してリクエストを種別する手法に比較して、リクエストに含まれる所定の文字列に係る情報ごとにリクエストの種別を規定し、かつ、規定したリクエスト種別を評価することから、高い評価値が算出されるようにリクエスト種別規定を改善していくことで、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
また、実施例1によれば、保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定し、変更されたリクエスト種別ごとにリクエスト種別間呼出関係パターンを導出し、リクエスト種別間呼出関係パターンを用いて評価値を算出し、評価値と所定の終了条件とを比較して終了条件を判断するので、リクエスト種別規定を自動的に変更することから、トランザクションを十分に識別し得る適切なリクエスト種別を簡易に導き出すことが可能になる。
また、実施例1によれば、導出されたリクエスト種別間呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を、出現頻度を用いて算出するので、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
また、実施例1によれば、あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられる呼出関係集合を生成してリクエスト種別間呼出関係パターンを導出するので、複数のサーバ間で送受信されるリクエスト間の呼出関係を各サーバにおいて監視していない場合であっても、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことが可能になる。
ところで、上記の実施例1では、異なるリクエスト種別に同一のリクエスト種別間呼出関係パターンが対応づけられている場合に、リクエスト種別装置が、このリクエスト種別間呼出関係パターンが同一のリクエスト種別規定に分類されるように新たなリクエスト種別を規定する方法を説明したが、この発明はこれに限定されるものではなく、同一のリクエスト種別に異なるリクエスト種別間呼出関係パターンが対応づけられている場合に、リクエスト種別装置が、これらのリクエスト種別間呼出関係パターンが異なるリクエスト種別規定に分類されるように新たなリクエスト種別を規定する方法にも、この発明を同様に適用することができる。
そこで、以下では、実施例2として、同一のリクエスト種別に異なるリクエスト種別間呼出関係パターンが対応づけられている場合に、リクエスト種別装置が、これらのリクエスト種別間呼出関係パターンが異なるリクエスト種別規定に分類されるように新たなリクエスト種別を規定する方法を説明する。なお、リクエスト種別規定変更以外の処理については実施例1と同様であるため、以下では、リクエスト種別規定変更処理についてのみ詳述する。
まず、実施例2に係るリクエスト種別装置は、同一のリクエスト種別に属するにも関わらず、異なる親子パターン(リクエスト種別間呼出関係パターン)で処理されている可能性のあるリクエストのペアを選択する。例えば、図9に示すように、HTTPリクエストのうちリクエスト種別G02に属する6個のリクエストが含まれるトランザクション候補(呼出関係集合)のうち、トランザクション2は、親子パターンP022で処理され、トランザクション4は、親子パターンP024で処理されている。ここで、トランザクション候補2に対応するリクエスト種別G02のリクエストは、図6に示すようにリクエスト3、トランザクション候補4に対応するリクエスト種別G02のリクエストは、図6に示すようにリクエスト7であるので、リクエスト3およびリクエスト7のリクエストペアは、上の「同一のリクエスト種別に属するにも関わらず、異なる親子パターン(リクエスト種別間呼出関係パターン)で処理されている可能性のあるリクエストのペア」という条件を充たす。このため、リクエスト種別装置は、リクエスト3およびリクエスト7のリクエストペアを選択する。
次に、リクエスト種別装置は、このリクエストペアのリクエスト名を比較し、これらの2つのリクエストの一方のみを含むような新たなリクエスト種別を規定する。すなわち、2つのリクエスト名を比較し、各々のリクエスト名を、2つのリクエスト名の共通部分とそれ以外の部分に分割する。例えば、リクエスト3およびリクエスト7のリクエスト名は、それぞれ「top/bbb.jsp?id=2&type=update」および「top/bbb.jsp?id=3&type=create」であるから、共通部分は「top/bbb.jsp?id=*&type=*」である。リクエスト種別装置は、この共通部分に一方にしか現れない文字列を加えた文字列パターンを用いることで、もう一方を含まない新しいリクエスト種別を規定する。この例では、リクエスト3にしか現れない文字として、idの値2、typeの値updateの2つがあり、リクエスト7にしかあらわれない文字列として、idの値3、typeの値createの2つがある。リクエスト種別装置は、これらの4つの文字列のひとつを上の共通部分に付け加えた以下の4種類の文字列パターンに相当する4種類のリクエスト種別を、新たに追加するリクエスト種別として規定する。すなわち、「top/bbb.jsp?id=2&type=*」、「top/bbb.jsp?id=*&type=update」、「top/bbb.jsp?id=3&type=*」、「top/bbb.jsp?id=*&type=create」である。
実施例2に係るリクエスト種別装置は、同様の処理を、同一のリクエスト種別に属するにも関わらず、異なる親子パターン(リクエスト種別間呼出関係パターン)で処理されている可能性のある他のリクエストペアについても行い、算出された評価値と所定の終了条件とを比較して終了条件を判断し、終了条件を充たす場合に、リクエスト種別を終了する。なお、実施例1で説明した方法から新たに規定されるリクエスト種別も含めて、最も評価値が高くなるリクエスト種別を選択してもよい。
また、上記の実施例1では、リクエスト種別装置が、リクエスト種別間呼出関係パターン導出において、あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられる呼出関係集合を生成する場合を説明したが、この発明はこれに限定されるものではなく、リクエスト種別装置が、リクエスト種別間呼出関係パターン導出において保持されたリクエスト種別規定を用いて、リクエスト履歴における出現頻度が高い呼出関係集合のみを生成する場合も、この発明を同様に適用することができる。
そこで、以下では、実施例3として、保持されたリクエスト種別規定を用いて、リクエスト履歴における出現頻度が高い呼出関係集合のみを生成する場合を説明する。なお、呼出関係集合の生成以外の処理については実施例1と同様であるため、以下では、呼出関係集合の生成処理についてのみ詳述する。
まず、実施例3に係るリクエスト種別装置が、リクエスト履歴における出現頻度が高い呼出関係集合のみを生成する理由を説明すると、複数のリクエストが複数のリクエストから呼び出されている可能性があるなどリクエスト間の呼出関係の多重度が高い場合には、網羅的に推定された呼出関係で関連づけられるトランザクション候補(呼出関係集合)を全て生成することが、計算時間等の面から困難になる場合があるためである。
例えば、あるHTTPリクエストに対して、そこから呼ばれている可能性があり、かつ、他のHTTPリクエストからも呼ばれている可能性のあるIIOPリクエストがN個ある場合には、そのHTTPリクエストに関するトランザクション候補だけで、2のN乗個になる。例えば、Nが10個の場合には、トランザクション候補の数は約1,000個、Nが20の場合には、トランザクション候補の数は約100万個になる。リクエスト種別装置が、リクエストを種別するたびに毎回このような大量のトランザクション候補を用いることは現実的ではない。
この問題点を解決するためには、以下の2つの方法がある。ひとつは、システム外部から呼び出されているリクエストごとに、生成するトランザクション候補数の上限を定め、確率の高い方から所定の数の候補のみを採用する方法である。もうひとつは、トランザクション識別(特許文献1を参照)を行い、これによって得られるトランザクションのみをトランザクション候補として用いる方法である。
リクエスト種別装置は、トランザクション識別によって、システム外部から呼ばれているリクエストごとに、多数のトランザクション候補の中から最も可能性の高いトランザクションを選択する。すると、リクエスト種別装置は、生成するトランザクション候補の数をリクエスト履歴に現れるリクエスト数ににおさえることができ、かつ、リクエストの種別を正確に行うことができる。なお、トランザクション識別の結果は、リクエスト種別規定によるリクエスト種別に依存するので、評価のたびに毎回行う必要がある。
ここで、実施例1と同じリクエスト履歴を用いる場合について説明すると、実施例3に係るリクエスト種別装置は、図6に示されるような、あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられるトランザクション候補を生成するのではなく、リクエスト種別規定のリクエスト名を対応するリクエスト種別のIDに書き換え、トランザクション識別(特許文献1を参照)を行い、図17に示すような、トランザクション候補を生成する。
なお、この発明が対象としているリクエスト種別は、本来、トランザクション識別等の分析の前処理として行われるものであり、実施例3のように、前処理を行うためにトランザクション識別を用いる手法は矛盾しているように思える。しかし、実施例3に係るリクエスト種別装置は、適切なリクエスト種別に基づいてトランザクション識別を行い、その結果を用いてリクエスト種別を変更し、再びトランザクション識別を行うというサイクルを繰り返すことで、リクエスト種別とトランザクション識別との双方の精度を改善することができる。
ところで、これまで実施例1〜3に係るリクエスト種別装置について説明したが、この発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例4に係るリクエスト種別装置として、異なる実施例を説明する。
[他の実施例]
上記の実施例1では、呼出関係集合を生成する際に、各サーバのログに蓄積されたリクエスト履歴から、あらかじめ定めた所定の規定に基づいて網羅的に呼出関係を推定して呼出関係集合を生成する場合を説明したが、この発明はこれに限定されるものではなく、各サーバが呼出関係を監視しているシステムであればその監視結果を呼び出し関係の推定結果として用いてもよい。この場合、呼出関係が確実に分かるため、全てのトランザクション候補の確率は1になる。
また、上記の実施例1では、各サーバのログに蓄積されたリクエスト履歴から、あらかじめ定めた所定の規定に基づいて網羅的に呼出関係を推定する際に、リクエストの開始時刻および終了時刻との単純な大小関係を用いて推定する場合を説明したが、この発明はこれに限定されるものではなく、子リクエストの開始時刻と親リクエストの開始時刻との差を、子リクエストの処理を開始するために必要となる最低の時間を下限値とする条件で判断するなど、その他の条件を用いて推定してもよい。
また、上記の実施例1では、リクエスト種別を評価する評価値として、リクエスト種別間呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を用いる場合を説明したが、この発明はこれに限定されるものではなく、リクエスト種別ごとの処理時間分布により評価する評価値を用いたり、リクエスト種別間呼出関係パターンとリクエスト種別ごとの処理時間分布との両方により評価する評価値を用いるなど、いずれでもよい。
また、上記の実施例1では、リクエスト種別間呼出関係パターンとリクエスト種別との相関の強さを評価する相関値を算出する際に、カイ自乗法を用いる場合を説明したが、この発明はこれに限定されるものではなく、その他の情報量基準に基づく方法でもよい。
また、上記の実施例1では、新たなリクエスト種別を規定して複数のリクエスト種別に属するリクエストが出現した際に、新しく作られたリクエスト種別を優先する方法を説明したが、この発明はこれに限定されるものではなく、被覆するリクエスト数が少ないものを優先する方法や、対応する文字列パターンが長いもの(条件の厳しいリクエスト種別)を優先するなど、何らかの根拠に基づく優先方法であれば、いずれでもよい。
また、上記の実施例1では、リクエスト種別規定を変更する際に、HTTPやIIOPといったプロトコルの違いを意識せずに処理を行う方法を説明したが、この発明はこれに限定されるものではなく、IIOPリクエストに関してはリクエスト種別を変更せずに固定し、HTTPリクエストのリクエスト種別のみを変更し、HTTPリクエストのリクエスト種別変更が終了した場合に、今度はHTTPのリクエスト種別を固定して、IIOPのリクエスト種別を変更するという方法や、HTTPリクエストのリクエスト種別の変更が終了した場合に、IIOPリクエストのリクエスト種別の変更を行い、その結果に基づいて、再びHTTPリクエストのリクエスト種別を変更するという方法など、いずれでもよい。なお、このような方法は、プロトコルごとにリクエスト名の性質が異なる場合、例えば、IIOPリクエストのリクエスト名は、はじめから処理内容を表す少数の種類しかないのでリクエスト種別は比較的信用できるが、HTTPリクエストのリクエスト名は、パラメータの値も含めると膨大な種類のリクエストが存在するというような場合に有効である。
[コンピュータ]
ところで、上記の実施例1で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図18を用いて、上記の実施例1と同様の機能を有するリクエスト種別プログラムを実行するコンピュータの一例を説明する。図18は、実施例1に係るリクエスト種別プログラムを実行するコンピュータを示す図である。
図18に示すように、リクエスト種別プログラム(コンピュータ)40は、キャッシュ41、RAM42、HDD43、ROM44およびCPU45をバス46で接続して構成される。ここで、ROM44には、上記の実施例1と同様の機能を発揮するリクエスト種別プログラム、つまり、図18に示すように、リクエスト種別間呼出関係パターン導出プログラム44a、評価値算出プログラム44b、リクエスト種別規定変更プログラム44c、および終了条件判断プログラム44dがあらかじめ記憶されている。
そして、CPU45は、これらのプログラム44a、44b、44c、および44dを読み出して実行することで、図18に示すように、各プログラム44a、44b、44c、および44dは、リクエスト種別間呼出関係パターン導出プロセス45a、評価値算出プロセス45b、リクエスト種別規定変更プロセス45c、および終了条件判断プロセス45dとなる。なお、各プロセス45a、45b、45c、および45dは、図2に示した、リクエスト種別間呼出関係パターン導出部31、評価値算出部32、リクエスト種別規定変更部33、および終了条件判断部34にそれぞれ対応する。
ところで、上記した各プログラム44a、44b、44c、および44dについては、必ずしもROM44に記憶させておく必要はなく、例えば、コンピュータ40に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ40の内外に備えられるハードディスクドライブ(HDD)などの「固定用物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ40に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ40がこれらからプログラムを読み出して実行するようにしてもよい。
[システム構成等]
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(付記1)複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法をコンピュータに実行させるリクエスト種別プログラムであって、
前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持手順と、
複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持手順によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出手順と、
前記リクエスト種別間呼出関係パターン導出手順によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出手順と、
をコンピュータに実行させることを特徴とするリクエスト種別プログラム。
(付記2)前記リクエスト種別規定保持手順によって保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定するリクエスト種別規定変更手順と、
前記リクエスト種別規定変更手順によって変更されたリクエスト種別ごとに前記リクエスト種別間呼出関係パターン導出手順によってリクエスト種別間呼出関係パターンを導出し、当該リクエスト種別間呼出関係パターンを用いて前記評価値算出手順によって評価値を算出し、当該評価値と所定の終了条件とを比較して終了条件を判断する終了条件判断手順と、
をさらに備えたことを特徴とする付記1に記載のリクエスト種別プログラム。
(付記3)前記評価値算出手順は、
前記リクエスト種別間呼出関係パターン導出手順によって導出されたリクエスト種別間呼出関係パターンと前記リクエスト種別との相関の強さを評価する相関値を、前記出現頻度を用いて算出することを特徴とする付記1または2に記載のリクエスト種別プログラム。
(付記4)前記リクエスト種別間呼出関係パターン導出手順は、
あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられる呼出関係集合を生成してリクエスト種別間呼出関係パターンを導出することを特徴とする付記1〜3のいずれか一つに記載のリクエスト種別プログラム。
(付記5)前記リクエスト種別間呼出関係パターン導出手順は、
前記リクエスト種別規定保持手順によって保持されたリクエスト種別規定を用いて、当該リクエスト履歴における出現頻度が高い呼出関係集合のみを生成してリクエスト種別間呼出関係パターンを導出することを特徴とする付記1〜3のいずれか一つに記載のリクエスト種別プログラム。
(付記6)前記リクエスト種別規定変更手順は、
前記リクエスト種別規定保持手順によって保持された前記リクエスト種別規定の異なるリクエスト種別に、前記リクエスト種別間呼出関係パターン導出手順によって導出された同一のリクエスト種別間呼出関係パターンが対応づけられている場合には、当該リクエスト種別間呼出関係パターンが同一のリクエスト種別規定に分類されるように新たなリクエスト種別を規定することを特徴とする付記2に記載のリクエスト種別プログラム。
(付記7)前記リクエスト種別規定変更手順は、
前記リクエスト種別規定保持手順によって保持された前記リクエスト種別規定の同一のリクエスト種別に、前記リクエスト種別間呼出関係パターン導出手順によって導出された異なるリクエスト種別間呼出関係パターンが対応づけられている場合には、当該リクエスト種別間呼出関係パターンが異なるリクエスト種別規定に分類されるように新たなリクエスト種別を規定することを特徴とする付記2に記載のリクエスト種別プログラム。
(付記8)複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別装置であって、
前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持手段と、
複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持手段によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出手段と、
前記リクエスト種別間呼出関係パターン導出手段によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出手段と、
を備えたことを特徴とするリクエスト種別装置。
(付記9)複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法であって、
前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持工程と、
複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持工程によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出工程と、
前記リクエスト種別間呼出関係パターン導出工程によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出工程と、
を含んだことを特徴とするリクエスト種別方法。
以上のように、本発明に係るリクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法は、複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別することに有用であり、特に、リクエストのリクエスト名を直接利用してリクエストを種別する手法に比較して、トランザクションを十分に識別し得る適切なリクエスト種別を導き出すことに適する。
実施例1に係るリクエスト種別装置の概要および特徴を説明するための図である。 実施例1に係るリクエスト種別装置の構成を示すブロック図である。 実施例1におけるリクエスト種別処理の手順を示すフローチャートである。 リクエスト履歴を説明するための図である。 リクエスト間の呼出関係を説明するための図である。 呼出関係集合を説明するための図である。 リクエスト種別規定を説明するための図である。 リクエスト種別間呼出関係集合を説明するための図である。 リクエスト種別間呼出関係パターンを説明するための図である。 相関値算出を説明するための図である。 相関値算出を説明するための図である。 リクエスト種別変更後のリクエスト種別間呼出関係パターンを説明するための図である。 リクエスト種別変更後のリクエスト種別間呼出関係パターンを説明するための図である。 リクエスト種別変更後の相関値算出を説明するための図である。 リクエスト種別変更後の相関値算出を説明するための図である。 変更後のリクエスト種別規定を説明するための図である。 実施例3における呼出関係集合を説明するための図である。 実施例1に係るリクエスト種別プログラムを実行するコンピュータを示す図である。
符号の説明
10 リクエスト種別装置
11 入力部
12 出力部
13 入出力制御IF部
20 記憶部
21 リクエスト履歴記憶部
22 リクエスト種別規定保持部
23 呼出関係集合記憶部
24 リクエスト種別間呼出関係集合記憶部
25 リクエスト種別間呼出関係パターン記憶部
26 評価値記憶部
30 制御部
31 リクエスト種別間呼出関係パターン導出部
32 評価値算出部
33 リクエスト種別規定変更部
34 終了条件判断部
40 リクエスト種別プログラム(コンピュータ)
41 キャッシュ
42 RAM
43 HDD
44 ROM
45 CPU
46 バス

Claims (6)

  1. 複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法をコンピュータに実行させるリクエスト種別プログラムであって、
    前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持手順と、
    複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持手順によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出手順と、
    前記リクエスト種別間呼出関係パターン導出手順によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出手順と、
    前記リクエスト種別規定保持手順によって保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定するリクエスト種別規定変更手順と、
    前記リクエスト種別規定変更手順によって変更されたリクエスト種別ごとに前記リクエスト種別間呼出関係パターン導出手順によってリクエスト種別間呼出関係パターンを導出し、当該リクエスト種別間呼出関係パターンを用いて前記評価値算出手順によって評価値を算出し、当該評価値と所定の終了条件とを比較して終了条件を判断する終了条件判断手順と、
    をコンピュータに実行させることを特徴とするリクエスト種別プログラム。
  2. 前記評価値算出手順は、
    前記リクエスト種別間呼出関係パターン導出手順によって導出されたリクエスト種別間呼出関係パターンと前記リクエスト種別との相関の強さを評価する相関値を、前記出現頻度を用いて算出することを特徴とする請求項に記載のリクエスト種別プログラム。
  3. 前記リクエスト種別間呼出関係パターン導出手順は、
    あらかじめ定めた所定の規定に基づいて網羅的に推定された呼出関係で関連づけられる呼出関係集合を生成してリクエスト種別間呼出関係パターンを導出することを特徴とする請求項1又は2に記載のリクエスト種別プログラム。
  4. 前記リクエスト種別間呼出関係パターン導出手順は、
    前記リクエスト種別規定保持手順によって保持されたリクエスト種別規定を用いて、当該リクエスト履歴における出現頻度が高い呼出関係集合のみを生成してリクエスト種別間呼出関係パターンを導出することを特徴とする請求項1又は2に記載のリクエスト種別プログラム。
  5. 複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別装置であって、
    前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持手段と、
    複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持手段によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出手段と、
    前記リクエスト種別間呼出関係パターン導出手段によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出手段と、
    前記リクエスト種別規定保持手段によって保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定するリクエスト種別規定変更手段と、
    前記リクエスト種別規定変更手段によって変更されたリクエスト種別ごとに前記リクエスト種別間呼出関係パターン導出手段によってリクエスト種別間呼出関係パターンを導出し、当該リクエスト種別間呼出関係パターンを用いて前記評価値算出手段によって評価値を算出し、当該評価値と所定の終了条件とを比較して終了条件を判断する終了条件判断手段と、
    を備えたことを特徴とするリクエスト種別装置。
  6. 複数のサーバ間でリクエストを呼び出し合ってクライアントからの要求を処理するシステムにおいて前記リクエストを種別するリクエスト種別方法であって、
    前記リクエストに含まれる所定の文字列に係る情報ごとに当該リクエストの種別を規定するリクエスト種別規定を保持するリクエスト種別規定保持工程と、
    複数のサーバ間で実際に送受信されたリクエストに係るリクエスト履歴から当該リクエスト間の呼出関係で関連づけられる呼出関係集合を生成し、当該呼出関係集合を前記リクエスト種別規定保持工程によって保持されるリクエスト種別規定を用いてリクエスト種別間の呼出関係集合に置き換え、当該置き換えから前記リクエスト種別ごとに当該リクエスト種別を呼び出す呼出元リクエスト種別および当該リクエスト種別が呼び出す呼出先リクエスト種別からなるパターンを前記リクエスト履歴における出現頻度とともに導出するリクエスト種別間呼出関係パターン導出工程と、
    前記リクエスト種別間呼出関係パターン導出工程によって導出されたリクエスト種別間呼出関係パターンを用いて前記リクエスト種別を評価する評価値を算出する評価値算出工程と、
    前記リクエスト種別規定保持工程によって保持されたリクエスト種別規定のリクエストに含まれる所定の文字列に係る情報を変更して新たにリクエスト種別を規定するリクエスト種別規定変更工程と、
    前記リクエスト種別規定変更工程によって変更されたリクエスト種別ごとに前記リクエスト種別間呼出関係パターン導出工程によってリクエスト種別間呼出関係パターンを導出し、当該リクエスト種別間呼出関係パターンを用いて前記評価値算出工程によって評価値を算出し、当該評価値と所定の終了条件とを比較して終了条件を判断する終了条件判断工程と、
    を含んだことを特徴とするリクエスト種別方法。
JP2006129385A 2006-05-08 2006-05-08 リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法 Expired - Fee Related JP4616791B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006129385A JP4616791B2 (ja) 2006-05-08 2006-05-08 リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法
US11/602,906 US7788370B2 (en) 2006-05-08 2006-11-20 Computer product, request grouping apparatus, and request grouping method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006129385A JP4616791B2 (ja) 2006-05-08 2006-05-08 リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法

Publications (2)

Publication Number Publication Date
JP2007304647A JP2007304647A (ja) 2007-11-22
JP4616791B2 true JP4616791B2 (ja) 2011-01-19

Family

ID=38662289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006129385A Expired - Fee Related JP4616791B2 (ja) 2006-05-08 2006-05-08 リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法

Country Status (2)

Country Link
US (1) US7788370B2 (ja)
JP (1) JP4616791B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645877B2 (en) 2013-08-21 2017-05-09 Hitachi, Ltd. Monitoring apparatus, monitoring method, and recording medium

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185955B2 (en) * 2004-11-26 2012-05-22 Telecom Italia S.P.A. Intrusion detection method and system, related network and computer program product therefor
US7814315B2 (en) * 2006-11-30 2010-10-12 Red Hat, Inc. Propagation of certificate revocation information
US8468339B2 (en) * 2006-11-30 2013-06-18 Red Hat, Inc. Efficient security information distribution
US8051056B2 (en) * 2007-05-29 2011-11-01 Microsoft Corporation Acquiring ontological knowledge from query logs
US8533463B2 (en) * 2007-08-30 2013-09-10 Red Hat, Inc. Reduced computation for generation of certificate revocation information
JP5088234B2 (ja) * 2008-05-23 2012-12-05 富士通株式会社 メッセージ紐付け処理装置、方法及びプログラム
JP5169614B2 (ja) * 2008-08-19 2013-03-27 富士通株式会社 システム分析プログラム、システム分析装置、システム分析方法
JP5298717B2 (ja) * 2008-09-11 2013-09-25 富士通株式会社 特徴抽出方法及び装置
JP5217853B2 (ja) * 2008-09-30 2013-06-19 富士通株式会社 アドレス対応付け方法、アドレス対応付けプログラム及び装置
US8209567B2 (en) * 2010-01-28 2012-06-26 Hewlett-Packard Development Company, L.P. Message clustering of system event logs
US8499065B2 (en) * 2010-09-30 2013-07-30 The Nielsen Company (Us), Llc Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus
US8533193B2 (en) * 2010-11-17 2013-09-10 Hewlett-Packard Development Company, L.P. Managing log entries
US9823991B2 (en) * 2010-12-06 2017-11-21 International Business Machines Corporation Concurrent workload simulation for application performance testing
JP5644642B2 (ja) * 2011-04-07 2014-12-24 富士通株式会社 コード変換方法、装置、プログラム、およびリクエストの残り時間応答方法
JP5799790B2 (ja) * 2011-12-15 2015-10-28 富士通株式会社 分析装置、分析プログラムおよび分析方法
WO2013112132A1 (en) * 2012-01-23 2013-08-01 Hewlett-Packard Development Company, L.P. Identifying a polling communication pattern
US9002847B2 (en) * 2012-02-29 2015-04-07 Hewlett-Packard Development Company, L.P. Identifying an auto-complete communication pattern
WO2013186870A1 (ja) * 2012-06-13 2013-12-19 株式会社日立製作所 サービス監視システム、及び、サービス監視方法
US10735246B2 (en) * 2014-01-10 2020-08-04 Ent. Services Development Corporation Lp Monitoring an object to prevent an occurrence of an issue
JP6311329B2 (ja) * 2014-01-29 2018-04-18 日本電気株式会社 情報処理装置、監視方法、及び、プログラム
JP6330456B2 (ja) 2014-04-30 2018-05-30 富士通株式会社 相関係数算出方法、相関係数算出プログラムおよび相関係数算出装置
US9678822B2 (en) * 2015-01-02 2017-06-13 Tata Consultancy Services Limited Real-time categorization of log events
US10509714B2 (en) 2015-03-09 2019-12-17 Mitsubishi Electric Corporation Information processing apparatus and information processing system
US20160277510A1 (en) * 2015-03-18 2016-09-22 Ca, Inc. Response prototypes with robust substitution rules for service virtualization
US9826359B2 (en) 2015-05-01 2017-11-21 The Nielsen Company (Us), Llc Methods and apparatus to associate geographic locations with user devices
US11188941B2 (en) * 2016-06-21 2021-11-30 The Nielsen Company (Us), Llc Methods and apparatus to collect and process browsing history
US10187495B2 (en) * 2016-09-23 2019-01-22 Entit Software Llc Identifying problematic messages
US20220350665A1 (en) * 2021-04-28 2022-11-03 EMC IP Holding Company, LLC Queue Management System and Method
US11803428B2 (en) * 2021-04-30 2023-10-31 Salesforce, Inc. Feature based application programming interface federation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356939A (ja) * 2000-06-13 2001-12-26 Tokyo Electric Power Co Inc:The ログ情報解析装置、方法および記録媒体
JP2004227360A (ja) * 2003-01-24 2004-08-12 Hitachi Ltd 統合ログ表示方法及びシステム
JP2005209115A (ja) * 2004-01-26 2005-08-04 National Institute Of Information & Communication Technology ログ要約装置、ログ要約プログラムおよび記録媒体
JP2006011683A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd システム分析プログラム、システム分析方法及びシステム分析装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226673B1 (en) * 1996-11-29 2001-05-01 Canon Kabushiki Kaisha Data distribution method and apparatus and computer program
US6286046B1 (en) * 1997-12-22 2001-09-04 International Business Machines Corporation Method of recording and measuring e-business sessions on the world wide web
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US6662230B1 (en) * 1999-10-20 2003-12-09 International Business Machines Corporation System and method for dynamically limiting robot access to server data
US6732167B1 (en) * 1999-11-30 2004-05-04 Accenture L.L.P. Service request processing in a local service activation management environment
US7454457B1 (en) * 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US6876994B2 (en) * 2000-05-30 2005-04-05 Matsushita Electric Industrial Co., Ltd. Data acquisition apparatus and method
US7406523B1 (en) * 2000-11-21 2008-07-29 Microsoft Corporation Client-server communications system and method using a semi-connectionless protocol
EP1402388A4 (en) * 2001-06-04 2005-03-16 Nct Group Inc SYSTEM AND METHOD FOR MODIFYING A DATA STREAM USING ELEMENT ANALYSIS
AU2002313583A1 (en) * 2001-08-01 2003-02-17 Actona Technologies Ltd. Virtual file-sharing network
US7290048B1 (en) * 2002-03-29 2007-10-30 Hyperformix, Inc. Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications
US6836827B2 (en) * 2002-08-13 2004-12-28 Hewlett-Packard Development Company, L.P. Delay cache method and apparatus
WO2004031918A2 (en) * 2002-10-03 2004-04-15 Flarion Technologies, Inc. Method to convey uplink traffic information
US7231496B2 (en) * 2003-09-15 2007-06-12 International Business Machines Corporation Method, system and program product for caching data objects
EP1517469A1 (en) * 2003-09-18 2005-03-23 Comptel Corporation Method, system and computer program product for online charging in a communications network
JP3720345B2 (ja) * 2004-02-17 2005-11-24 シャープ株式会社 伝送装置
US7146002B1 (en) * 2004-06-30 2006-12-05 American Airlines, Inc. Customer service transaction handling based on transaction history
US7680556B2 (en) * 2004-11-15 2010-03-16 Tech Semiconductor Singapore Pte. Ltd. Method for data collection during manufacturing processes
US7487269B2 (en) * 2004-11-18 2009-02-03 International Business Machines Corporation Apparatus, system, and method of connection grouping for multipath lock facility connection paths
US7805496B2 (en) * 2005-05-10 2010-09-28 International Business Machines Corporation Automatic generation of hybrid performance models
JP4549231B2 (ja) * 2005-05-17 2010-09-22 富士通株式会社 サービス処理状況分析プログラム、サービス処理状況分析方法、およびサービス処理状況分析装置
US9049205B2 (en) * 2005-12-22 2015-06-02 Genesys Telecommunications Laboratories, Inc. System and methods for locating and acquisitioning a service connection via request broadcasting over a data packet network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356939A (ja) * 2000-06-13 2001-12-26 Tokyo Electric Power Co Inc:The ログ情報解析装置、方法および記録媒体
JP2004227360A (ja) * 2003-01-24 2004-08-12 Hitachi Ltd 統合ログ表示方法及びシステム
JP2005209115A (ja) * 2004-01-26 2005-08-04 National Institute Of Information & Communication Technology ログ要約装置、ログ要約プログラムおよび記録媒体
JP2006011683A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd システム分析プログラム、システム分析方法及びシステム分析装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645877B2 (en) 2013-08-21 2017-05-09 Hitachi, Ltd. Monitoring apparatus, monitoring method, and recording medium

Also Published As

Publication number Publication date
JP2007304647A (ja) 2007-11-22
US7788370B2 (en) 2010-08-31
US20070260589A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
JP4616791B2 (ja) リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法
JP4736713B2 (ja) プロジェクトメンバーの選定を支援するシステムと方法
US7529828B2 (en) Method and apparatus for analyzing ongoing service process based on call dependency between messages
CN109034993A (zh) 对账方法、设备、系统及计算机可读存储介质
US11282035B2 (en) Process orchestration
US8751184B2 (en) Transaction based workload modeling for effective performance test strategies
JP2000011005A (ja) データ分析方法及び装置及びデータ分析プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4722195B2 (ja) データベース・メッセージ分析支援プログラム、方法及び装置
US8341012B2 (en) Working skill estimating program
CN106845990B (zh) 一种规则处理方法和设备
JP2007157058A (ja) 分類モデル学習装置、分類モデル学習方法、及び分類モデルを学習するためのプログラム
CN110704170A (zh) 批量任务处理方法、装置、计算机设备和存储介质
JP2016099857A (ja) 不正プログラム対策システムおよび不正プログラム対策方法
US8732323B2 (en) Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method
Genkin et al. Autonomic workload change classification and prediction for big data workloads
KR101550672B1 (ko) 소프트웨어 프로세스 개선을 추천하는 장치 및 방법
CN115018624A (zh) 基于风控策略的决策引擎及方法
JP4700822B2 (ja) 情報検索プログラムおよび情報検索方法
JP2020038514A (ja) 学習データ生成装置、学習データ生成方法、及びプログラム
Bayir et al. A new approach for reactive web usage data processing
US8090750B2 (en) Prompting of an end user with commands
JP2007079768A (ja) 人手作業を含む生産工程の効率化支援方法
Alberola et al. Multidimensional adaptation in MAS organizations
JP2018081403A (ja) インシデント管理システム、インシデント管理方法およびコンピュータプログラム
CN113240345A (zh) 客户服务满意度的管理方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100924

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: 20101019

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101022

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees