JP4151985B2 - 異常の生じた情報処理装置を検出する技術 - Google Patents

異常の生じた情報処理装置を検出する技術 Download PDF

Info

Publication number
JP4151985B2
JP4151985B2 JP2006197177A JP2006197177A JP4151985B2 JP 4151985 B2 JP4151985 B2 JP 4151985B2 JP 2006197177 A JP2006197177 A JP 2006197177A JP 2006197177 A JP2006197177 A JP 2006197177A JP 4151985 B2 JP4151985 B2 JP 4151985B2
Authority
JP
Japan
Prior art keywords
information processing
service
processing apparatus
time
period
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
JP2006197177A
Other languages
English (en)
Other versions
JP2008027061A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006197177A priority Critical patent/JP4151985B2/ja
Priority to US11/779,474 priority patent/US20080022159A1/en
Publication of JP2008027061A publication Critical patent/JP2008027061A/ja
Application granted granted Critical
Publication of JP4151985B2 publication Critical patent/JP4151985B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2451Classification techniques relating to the decision surface linear, e.g. hyperplane
    • 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/3409Recording 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 for performance assessment
    • G06F11/3419Recording 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 for performance assessment by assessing time
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、異常の生じた情報処理装置を検出する技術に関する。特に、本発明は、情報処理システムに含まれる多数の情報処理装置の中から、異常の生じた情報処理装置を検出する技術に関する。
近年の情報システムは、数百台程度のコンピュータやネットワーク機器から構成される場合がある。そして、各コンピュータでは、様々なアプリケーションプログラムが動作しており、他のコンピュータ上のアプリケーションプログラムと協調動作している。このように複雑化した情報システムにおいては、様々な原因によって障害が発生し得る。原因は、ハードウェア、ミドルウェア、または、アプリケーションプログラムなど様々なコンポーネントに及ぶ。ハードウェアでは記憶装置の故障やネットワーク機器の故障、ミドルウェアでは構成の誤りやバグ、アプリケーションプログラムではバグやパラメータの異常などである。このような様々な可能性の中から、異常発生の原因箇所を特定するのは困難な場合が多い。
これに対し、従来、性能問題の原因箇所を特定する技術が提案されている(非特許文献1、特許文献1〜2を参照。)。非特許文献1の技術は、知識ベースに基づいてウェブシステム全体に渡る性能問題の原因箇所を自動的に特定する技術である。即ち、この技術によると、症状を示す情報を入力すると、所定の推論規則により、原因箇所の推定結果が出力される。多数の事例によって推論規則を強化することができる場合には有効に動作することが期待される。特許文献1の技術は、アプリケーションプログラムの中で最もCPU資源を消費しているメソッド(Java言語(登録商標)などにおける処理の記述単位・実行単位)を特定する技術である。また、特許文献2の技術は、ネットワーク機器においてボトルネックとなっている資源を検出する技術である。また、他の技術として、オペレーティングシステムに付属の動作監視用のアプリケーションプログラムなども、従来の障害検知には利用されている。
特開2003−140928号公報 特開2005−278079号公報 清水 淳也ら, "有効グラフの昇順探索に基づくWebシステムのボトルネック検出法−パフォーマンス統合分析ツールとしての実装−"ProVISION, 44, 2005
しかしながら、非特許文献1の技術は、情報システムの障害検出のような複雑な問題に対しては有効でない場合が多い。即ち、障害原因はハードウェア、ミドルウェア、または、アプリケーションプログラムなど多岐に渡り、それら全てについて有効な推論規則を作成するのは困難である。また、特定の分野について作られた推論規則を他の分野に応用することも困難である。また、症状から原因箇所を推定する一般的な推論規則はそもそも存在しない場合があり、多数の事例を用いても有効な推論規則が導き出せない場合がある。
一方、特許文献1および特許文献2の技術では、性能のボトルネックとなり得るメソッドやコンポーネントを見つけることができる場合がある。しかしながら、CPU資源を消費しているメソッドは、一方では、CPU資源を最大限有効に使用している場合もあり、一概に性能のボトルネックになっているとはいえない。さらに、この技術では、アプリケーションプログラムのバグ以外の障害原因を有効に検出することはできない。また、オペレーティングシステム付属の動作監視用のアプリケーションプログラムは、単体の情報処理装置に生じた障害を検出し得るものの、多数の情報処理装置の中から障害の生じた情報処理装置を検出する用途には適していない。さらに、動作監視用のアプリケーションプログラムの実行自体や、それらから監視結果を収集する処理が情報システムの処理負荷を増加させ、通常の運用の妨げとなり現実的ではない。
そこで本発明は、上記の課題を解決することのできる検出装置、プログラムおよび検出方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明においては、複数の情報処理装置を備えた情報処理システムにおいて、異常の生じた情報処理装置を検出する検出装置であって、それぞれの情報処理装置について、当該情報処理装置により提供される複数のサービスについて予め推定されたサービス毎の平均の処理時間を記憶する記憶部と、異常を検出する対象となる対象期間において、それぞれの情報処理装置が互いに送受信した複数の通信パケットを取得する取得部と、取得した複数の通信パケットに基づいて、それぞれの情報処理装置について、当該情報処理装置により提供されるサービスが他の情報処理装置から呼び出された呼出回数をサービス毎に算出する回数算出部と、それぞれの情報処理装置について、サービスの処理であるトランザクションを実行している時間の合計であるビジー時間を算出するビジー時間算出部と、それぞれの情報処理装置について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とから構成される多次元空間において、算出された呼出回数および算出されたビジー時間によって示される座標値が、予め推定されたサービス毎の平均の処理時間が示す超平面から所定の基準を超えて乖離しているかを判断する乖離判断部と、座標値が超平面から所定の基準を超えて乖離していると判断した情報処理装置を、対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を出力する出力部とを備える検出装置を提供する。また、当該検出装置としてコンピュータを機能させるプログラム、および、当該検出装置を用いて異常を検出する検出方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、情報処理システムに生じた異常の原因箇所を効率的に検出することができる。
以下、発明を実施するための最良の形態(以下、実施形態と称す)を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、情報処理システム10の構成と情報処理システム10および検出装置20の接続関係とを示す。情報処理システム10は、複数の情報処理装置100とルータ110とを有する。複数の情報処理装置100の各々は互いにサービスを提供する。例えば、ウェブサーバである情報処理装置100は、外部ネットワークからルータ110を介してウェブページのリクエストを受けると、ウェブページの内容を作成するために必要な処理を、アプリケーションサーバである他の情報処理装置100に要求する。アプリケーションサーバである情報処理装置100は、アプリケーションの実行に必要なデータを、データベースサーバである他の情報処理装置100に要求する。アプリケーションサーバである情報処理装置100は、データベースサーバである情報処理装置100からデータの供給を受けると、そのデータを用いてプログラムの実行を完了し、ウェブサーバである情報処理装置100にその実行結果を返答する。ウェブサーバである情報処理装置100は、その実行結果に基づきウェブページを生成し、外部ネットワーク上の端末装置に返信する。このように、情報処理システム10は、複数の情報処理装置100が協調動作することにより、1つのウェブシステムとして機能する。
本実施形態に係る検出装置20は、情報処理システム10に含まれる複数の情報処理装置100の中から、異常の生じた情報処理装置100を検出することを目的とする。これにより、情報処理システム10の内部構成が複雑で異常の発生原因の追究が困難な場合であっても、異常の発生箇所を知らせることができ、問題解決を迅速化できる。
図2は、検出装置20の機能構成を示す。検出装置20は、取得部200と、解析部210と、サービスデマンド算出部220と、記憶部230と、乖離判断部240と、出力部250と、相違判断部260とを有する。本図を参照して、検出装置20により情報処理システム10に生じた異常を検出する2つの処理例を説明する。
(第1の処理例)
取得部200は、異常を検出する対象となる対象期間に先立つ予め定められた試行期間において、それぞれの情報処理装置100が互いに送受信した複数の通信パケットを取得する。一例として、取得部200は、情報処理システム10内の通信回線によって転送される通信パケットの複写データを、その通信回線に接続された通信装置、例えばネットワークスイッチなどから取得し、UNIX(登録商標)系オペレーティングシステムのtcpdumpコマンドなどを実行することによって、その複写データのダンプデータを生成してもよい。なお、この試行期間は、情報処理システム10に何ら異常が生じていない期間であることが望ましい。
解析部210は、正常時におけるサービス毎の平均の処理時間を算出するべく、通信パケットの内容を解析する。具体的には、解析部210は、回数算出部215と、ビジー時間算出部218とを有する。回数算出部215は、試行期間を分割した複数の分割期間のそれぞれについて、それぞれの情報処理装置100が他の情報処理装置100から呼び出されたサービスの呼出回数を、当該分割期間に取得した通信パケットに基づいて、情報処理装置100毎かつサービス毎に算出する。例えば、回数算出部215は、当該分割期間に取得したそれぞれの通信パケットがサービスを呼び出すための通信パケットか否かを、当該通信パケットに含まれる宛先URLまたはサービスの識別情報によって判断し、それぞれのサービスを呼び出すための通信パケットの数を当該サービスの呼出回数として算出する。
また、ビジー時間算出部218は、複数の分割期間のそれぞれについて、それぞれの情報処理装置100がトランザクションを実行している時間の合計であるビジー時間を、当該分割期間に取得した通信パケットに基づいて算出する。具体的には、ビジー時間算出部218は、それぞれの情報処理装置100について、当該情報処理装置100により提供される何れかのサービスを呼び出す通信パケットを取得してから、呼び出されたそれぞれのサービスの処理結果が当該情報処理装置から返答される通信パケットを取得するまでの期間を、当該情報処理装置100がトランザクションを処理している処理中期間と判断し、当該処理中期間の長さをビジー時間として算出する。ビジー時間算出部218は、ビジー時間をより正確に算出するために、所定の処理待ち時間を当該処理中期間から除外してもよい。詳しくは後述する。
サービスデマンド算出部220は、それぞれの情報処理装置100について、それぞれの分割期間についてのビジー時間と、当該分割期間におけるサービス毎の呼出回数に当該サービスを処理するトランザクションの平均の処理時間を乗じた合計との差の大きさを示す指標を最小化する、サービス毎の平均の処理時間を算出する。具体的には、この指標は、それぞれの分割期間における当該差の大きさの2乗和であってもよい。即ち、サービスデマンド算出部220は、それぞれの分割期間における当該差の大きさの2乗和を最小化する、サービス毎の平均の処理時間を求める正規方程式を生成し、その正規方程式を解くことにより、サービス毎の平均の処理時間を算出する。
さらに、サービスデマンド算出部220は、それぞれの情報処理装置100について、ビジー時間と、サービス毎の平均の処理時間の当該サービスの呼出回数を乗じて各サービスについて合計した値との差分値を、分割期間毎に算出し、それぞれの分割期間における当該差分値の分散値を算出してもよい。記憶部230は、それぞれの情報処理装置100について、算出されたサービス毎の平均の処理時間を、予め推定したサービス毎の平均の処理時間として記憶し、また、これに加えて、算出された当該分散値を記憶する。
試行期間の経過後、異常を検出する対象となる対象期間において、取得部200は、それぞれの情報処理装置100が互いに送受信した複数の通信パケットを取得する。回数算出部215は、取得した当該複数の通信パケットに基づいて、それぞれの情報処理装置100について、当該情報処理装置100により提供されるサービスが他の情報処理装置100から呼び出された呼出回数をサービス毎に算出する。ビジー時間算出部218は、それぞれの情報処理装置100について、サービスの処理であるトランザクションを実行している時間の合計であるビジー時間を算出する。それぞれの処理の具体例は、分割期間の場合と同様である。
乖離判断部240は、それぞれの情報処理装置100について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とから構成される多次元空間において、対象期間において算出された呼出回数およびビジー時間によって示される座標値が、試行期間において予め推定されたサービス毎の平均の処理時間が示す超平面から所定の基準を超えて乖離しているかを判断する。そして、出力部250は、座標値が当該超平面から所定の基準を超えて乖離していると判断した情報処理装置を、対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を外部に出力する。これにより、利用者は、正常時よりも特に時間がかかっているサービスを提供している情報処理装置を特定することができる。
(第2の処理例)
この処理例では、試行期間を設けずに異常の検出を開始する。まず、取得部200は、順次経過する複数の対象期間のそれぞれについて、それぞれの情報処理装置100が互いに送受信した複数の通信パケットを取得する。回数算出部215は、対象期間が経過する毎にその対象期間に取得した通信パケットに基づき、サービスの呼出回数を情報処理装置100毎かつサービス毎に算出する。また、ビジー時間算出部218は、対象期間が経過する毎に、その対象期間に取得した通信パケットに基づき、それぞれの情報処理装置100のビジー時間を算出する。サービスデマンド算出部220は、対象期間が経過する毎に、既に経過した対象期間において取得した複数の通信パケットに基づいて、それぞれの情報処理装置100におけるサービス毎の平均の処理時間を算出し、サービス毎の平均の処理時間の推定値として記憶部230に記憶する。サービス毎の平均の処理時間は、上述の差の2乗和を最小化する処理を応用して、複数の対象期間を複数の分割期間とみなすことによって実現できる。
いま、新たに対象期間が経過すると、回数算出部215は、今回の対象期間に取得した複数の通信パケットに基づいて、呼出回数をサービス毎かつ情報処理装置100毎に算出する。また、ビジー時間算出部218は、今回の対象期間に取得した複数の通信パケットに基づいて、それぞれの情報処理装置100のビジー時間を算出する。そして、乖離判断部240は、それぞれの情報処理装置について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とから構成される多次元空間において、今回の対象期間について算出された呼出回数およびビジー時間によって示される座標値が、記憶部230に記憶されたサービス毎の平均に処理時間が示す超平面から所定の基準を超えて乖離しているかを判断する。出力部250は、当該座標値が当該超平面から当該所定の基準を超えて乖離していると判断した情報処理装置100を、今回の対象期間において異常の生じた情報処理装置100であるとして、当該情報処理装置を示す情報を出力する。
更にこの第2の処理例において、相違判断部260は、サービスデマンド算出部220によりサービス毎の平均の処理時間が算出される毎に、前回に算出されたサービス毎の平均の処理時間が、今回算出したサービス毎の平均の処理時間と予め定められた基準以上相違するかを、情報処理装置100毎に判断する。そして、出力部250は、乖離判断部240によって座標値が超平面から乖離していないと判断した情報処理装置100についても、サービス毎の平均の処理時間が基準以上相違したことを条件に、今回の対象期間において異常の生じた情報処理装置100であるとして、当該情報処理装置100を示す情報を出力する。これは、サービス毎の平均の処理時間が変化し、その推定値がその変化に直ちに追従して算出されたような場合であっても、異常の発生を適切に検出するためである。即ち、サービス毎の平均の処理時間が変化し、その推定値がその変化に直ちに追従する場合には、その推定値によって多次元空間上に描かれる超平面も直ちに変化することとなる。この場合、サービス毎の平均の処理時間が変化して何らかの異常が疑われるのにも拘らず、観測された呼出回数およびビジー時間によって示される座標値は当該超平面から乖離せず、乖離判断部240によっては異常が検出されないこととなる。本実施形態では、相違判断部260によって、サービス毎の平均の処理時間自体の変化を検出することで、このような異常も適切に検出することができる。
図3は、検出装置20が異常の原因箇所を検出する処理の一例を示す。図3から図5を参照して、上記第1の処理例の詳細を説明する。まず、検出装置20は、正常時におけるサービス毎の平均の処理時間の推定値を算出するべく、試行期間において通信パケットを取得してそれを解析する(S300)。以降、この処理をトレーニングランと呼ぶ。具体的には回数算出部215は、複数の分割期間のそれぞれについて、それぞれの情報処理装置100が他の情報処理装置100から呼び出されたサービスの呼出回数を、情報処理装置100かつサービス毎に算出する。また、ビジー時間算出部218は、複数の分割期間のそれぞれについて、それぞれの情報処理装置100のビジー時間を算出する。それぞれの分割期間をインデックスjの添え字を付けて期間jと呼ぶ。期間jは、例えば、以下の式(1)により定義される。但し、1≦j≦mである。
Figure 0004151985
それぞれの情報処理装置100をインデックスkにより示し、それぞれのサービスをインデックスiによって示す。これらの定義に基づき、分割期間jにおける情報処理装置kのビジー時間をbjkと表記する。また、分割期間jにおける情報処理装置kにより提供されるサービスiの呼出回数をajikと表記する。また、情報処理装置kによって提供されるサービスiの平均の処理時間をdikと表記する。これらの間には以下の式(2)の関係が成立する。
Figure 0004151985
但し、εjkは、分割期間jにおける情報処理装置kについてのビジー時間および呼出回数の観測誤差を示す。サービスデマンド算出部220は、それぞれの分割期間jにおけるこの観測誤差の2乗和を最小化する、サービス毎の平均の処理時間を情報処理装置毎に算出する。即ち、情報処理装置毎に、未知数をdikおよびεjkとするm個の連立1次方程式について、εjkの2乗和を最小化するdikを算出する正規方程式を生成し、その正規方程式を解くことにより、dik即ち、サービス毎の平均の処理時間の推定値を算出する。
さらに、サービスデマンド算出部220は、それぞれの情報処理装置100について、ビジー時間と、サービス毎の平均の処理時間の当該サービスの呼出回数を乗じて各サービスについて合計した値との差分値を、分割期間毎に算出し、それぞれの分割期間における当該差分値の分散値を算出してもよい。この算出処理は、以下の式(3)のように表される。なお、トレーニングランにおいて推定されたサービス毎の平均の処理時間を、dikに^を付して示す。
Figure 0004151985
次に、取得部200は、予め定められた対象期間毎に、その期間内に情報処理システム10内で伝送された通信パケットを取得する(S310)。通信パケットは、情報処理システム10内に設けられたスイッチングハブのミラーポートなどから取得され、情報処理システム10内の実際の通信には影響を与えないようにすることが望ましい。続いて、回数算出部215は、取得した複数の通信パケットに基づいて、それぞれの情報処理装置100について、当該情報処理装置100により提供されるサービスが他の情報処理装置100から呼び出された呼出回数をサービス毎に算出する(S320)。
次に、ビジー時間算出部218は、当該対象期間に取得された通信パケットに基づいて、サービスの処理であるトランザクションを実行している時間の合計であるビジー時間を、情報処理装置100毎に算出する(S330)。図4にその算出の具体例を示す。
図4aは、ビジー時間を算出する処理の概念図である。まず、ビジー時間算出部218は、通信パケットの送信元と送信先の組毎に、同一方向に連続して送信される複数の通信パケットの中から最後に送信される通信パケットを選択する。これは、サイズの大きいデータが複数の通信パケットに分割して送信される場合に、それらを1回の通信とみなすためである。図4aでは、選択された通信パケットの通信フローを太線で示す。ビジー時間算出部218は、選択したこの通信パケットに基づき、以下のようにビジー時間を判断する。
ある情報処理装置100(サーバと呼ぶ)において1つのサービスのみが提供されていると仮定した場合、その情報処理装置100が他の情報処理装置(リクエスターと呼ぶ)からサービスを要求する通信パケットを受けると、ビジー時間算出部218は、その通信パケットが伝送された時刻を、ビジー時間の開始時刻と判断する。また、ビジー時間算出部218は、サーバが、リクエスターに対しその要求に対応するサービスの処理結果を返送すると、その時刻をビジー時間の終了時刻と判断する。
しかしながら、サーバは、トランザクションの処理中に確認用の通信パケットをリクエスターに返信する場合がある。この場合には、確認用の通信パケットに対する確認の返信が為されるまでの間、サーバはトランザクションを中止している。この中止している時間は、リクエスターである情報処理装置100において通信パケットの送信待ちが発生していたり、通信経路上で通信遅延が発生しているために発生する時間であり、サーバにおいてサービスの処理をしていないので、ビジー時間に算入すべきではない。即ち、この時間をサーバにおけるビジー時間に算入してしまうと、リクエスター側の情報処理装置100において異常が発生して処理が遅れている場合であっても、サーバ側の情報処理装置100においてビジー時間が通常よりも長くなる。即ち、乖離判断部240は、リクエスター側の情報処理装置100に異常が発生しているのにも拘らず、サーバに異常が発生したと判断してしまう場合がある。確認用の通信パケットに限らず、SSLのハンドシェイクなどサーバからリクエスターへパケットが送出されることがある。
このため、ビジー時間算出部218は、何れかのサービスが呼び出されてからそれぞれのサービスの処理結果が返答されるまでの期間であっても、処理中のそれぞれのサービスに対応する通信パケットが他の情報処理装置100(図4aの場合のリクエスター)に対し送信されて返答の通信パケットが返信されていない期間は、ビジー時間から除外する。図4bにおいて、この除外の処理を更に詳しく説明する。
図4bは、ビジー時間を算出する処理の具体例を示す。図4bの例において、サービスを要求するある情報処理装置100(リクエスター1と呼ぶ)から、サービスを提供する他の情報処理装置100(サーバと呼ぶ)に対し、サービスの処理であるトランザクション1が要求される。この時点で、サーバで処理されるトランザクションの個数は1である。続いて、更に他の情報処理装置100(リクエスター2と呼ぶ)から、サーバに対し、サービスの処理である他のトランザクション2が要求される。この結果、サーバで処理されるトランザクション数は2となる。
トランザクション1の実行中に、サーバは、確認用の通信パケットをリクエスター1に返信する。このとき、サーバで実行中のトランザクション数は2のままであるが、それらのうちトランザクション1は処理待ち状態となる。このような確認用の通信パケットは、例えば通信プロトコルの仕様などに従って送信されるものであり、サービスを提供するアプリケーションプログラムの処理において必要となるものではない。したがって、処理待ち状態を含めたトランザクションの数を、アプリケーションレベルのトランザクション数と呼び、処理待ち状態を除外したトランザクションの数をプロトコルレベルのトランザクション数と呼ぶ。即ち、アプリケーションレベルのトランザクション数は2であり、プロトコルレベルのトランザクション数は1である。
続いて、トランザクション2の実行中に、サーバは、確認用の通信パケットをリクエスター2に返信する。このとき、サーバで実行中のトランザクション数は2のままであるが、それら何れのトランザクションも処理待ち状態となる。したがって、アプリケーションレベルのトランザクション数は2であり、プロトコルレベルのトランザクション数は0である。続いて、リクエスター1から確認用の通信パケットの返信がサーバに対し送信される。この結果、サーバにおいてトランザクション1が再開される。したがって、プロトコルレベルのトランザクション数は1に戻る。さらに、リクエスター2から確認用の通信パケットの返信がサーバに対し送信される。この結果、サーバにおいてトランザクション2が再開される。したがって、プロトコルレベルのトランザクション数は2に戻る。
ビジー時間算出部218は、このような通信状態の変化を検出するべく、プロトコルレベルのトランザクション数を格納するためのカウンタを、情報処理装置100毎に有している。そして、ビジー時間算出部218は、それぞれの情報処理装置100について以下の処理を行う。まず、ビジー時間算出部218は、当該情報処理装置100によって提供される何れかのサービスを呼び出す通信パケットを取得すると、当該情報処理装置100に対応するカウンタをインクリメントする。また、ビジー時間算出部218は、当該情報処理装置100によって提供される何れかのサービスの処理結果が当該情報処理装置100から返答される通信パケットを取得すると、そのカウンタをデクリメントする。これにより、アプリケーションレベルのトランザクション数がカウンタ値として管理される。
さらに、ビジー時間算出部218は、カウンタ値が1以上の場合において、当該情報処理装置100から他の情報処理装置100に対し確認用の通信パケットが送信されると、そのカウンタ値をデクリメントする。また、ビジー時間算出部218は、当該情報処理装置100に対し他の情報処理装置100から確認用の通信パケットに対する返信が為されると、そのカウンタ値をインクリメントする。これにより、プロトコルレベルのトランザクション数がカウンタ値として管理される。ビジー時間算出部218は、カウンタ値が0から1に変化した時刻と、カウンタ値が1から0に変化した時刻との間の期間を、アプリケーションレベルのビジー時間と判断する。そして、ビジー時間算出部218は、アプリケーションレベルのビジー時間から、カウンタ値が0となっていた時間を除外する。この結果算出されるビジー時間は、プロトコルレベルのビジー時間となる。
図3に戻る。続いて、乖離判断部240は、それぞれの情報処理装置100について、当該対象期間について算出された呼出回数およびビジー時間が、トレーニングランにおいて観測された呼出回数およびビジー時間に基づくサービス毎の平均の処理時間と対比して乖離するかを判断する(S340)。この処理は、例えば、残差分析等の方法を応用することで実現される。その概念図を図5に示す。
図5は、サービス毎の平均の処理時間が示す超平面の具体例を示す。図5を参照して、ある情報処理装置100において提供されるサービスがaおよびaのみである場合について説明する。正常時において、サービスaにおける平均の処理時間が1単位時間であり、サービスがaにおける平均の処理時間が2単位時間である場合、この情報処理装置100におけるビジー時間をbとすると、以下の式(4)が成り立つ。図5には、サービスaおよびサービスaの呼出回数とビジー時間とをそれぞれ座標軸とした3次元空間を示す。また、トレーニングランにおいて推定されたサービス毎の平均の処理時間によって示される平面、即ち式(4)の平面を示す。平面上やその近傍には、トレーニングランに含まれるそれぞれの分割期間に観測された呼出回数およびビジー時間を示す座標値をプロットしている。
Figure 0004151985
なお、サービスがaからaまでのn種類存在する場合に一般化すると、呼出回数およびビジー時間の観測値は、以下の式(5)に示す座標値によって表される。そして、これらの座標値は、n+1次元空間内の、サービス毎の平均の処理時間によって示される超平面の近傍に分布することとなる。
Figure 0004151985
乖離判断部240は、対象期間において新たに算出された呼出回数およびビジー時間によって示される座標値が、この平面から所定の基準を超えて乖離しているかを判断する。例えば、図5上方の5つの座標値は、この平面から当該所定の基準を超えて乖離している。乖離の判断方法の一例として、乖離判断部240は、それぞれの情報処理装置100について、ビジー時間と、サービス毎の平均の処理時間に当該サービスの呼出回数を乗じて各サービスについて合計した値との差分値を、当該対象期間について算出してもよい。算出式は例えば以下の式(6)の通りであり、この差分値のことを以降の説明では残差と呼ぶ。
Figure 0004151985
図3に戻る。続いて、乖離判断部240は、それぞれの情報処理装置100について、解析部210によって算出されたビジー時間および呼出回数によって表される座標値が、予め推定したサービス毎の平均の処理時間によって示される超平面から、予め定められた基準を超えて乖離しているかを判断する(S350)。具体的には、乖離判断部240は、式(6)によって算出された残差が、トレーニングランにおいて当該情報処理装置100について推定され記憶部230に記憶されている分散値よりも所定以上大きいかを判断する。例えば、乖離判断部240は、当該残差が当該分散値の3倍以上かを判断してもよい(式(7))。そして、乖離判断部240は、当該残差が当該分散値よりも所定以上大きいことを条件に、対象期間におけるビジー時間等を示す座標値が、トレーニングランにおいて推定されたサービス毎の平均の処理時間を示す平面から乖離していると判断する。
Figure 0004151985
これに代えて、乖離判断部240は、対象期間において、式(6)に示す残差を複数回計算して、それらの残差が、所定の分布に従うか否かによって、当該座標値が当該平面から乖離しているかを判断してもよい。所定の分布とは、例えば、正規分布であり、式(8)に従う。
Figure 0004151985
但し、<>はアンサンブル平均を示し、δprはクロネッカーのデルタを示し、情報処理装置qでの推定誤差の標準偏差を、σに^を付して示す。乖離判断部240は、例えば、検定などの統計的手法によって、対象期間において式(6)によって算出された複数の残差が、式(8)に示すrの分布にどの程度従うかを判断してもよい。これにより、新たに算出されたビジー時間等の座標値が、図5に示す超平面を中心としてどの程度分散して存在しているかを知ることができる。なお、乖離判断部240による乖離の判断手法はこれらの方法に限られない。例えば、乖離判断部240は、トレーニングランにおいて予め推定されたサービス毎の平均の処理時間によって示される超平面から、対象期間において算出したビジー時間および呼出回数によって示される座標値までの距離を算出して、その距離が所定の大きさを超えるかどうかを判断してもよい。このように、乖離の判断手法は、当該超平面から当該座標値までの乖離の程度を判断できる手法であればその詳細は問わない。
続いて、出力部250は、それぞれの情報処理装置100に異常が発生したか否かの判断を行う(S350)。具体的には、出力部250は、解析部210によって算出されたビジー時間および呼出回数によって表される座標値が、予め推定したサービス毎の平均の処理時間によって示される超平面から、予め定められた基準を超えて乖離していることを条件に(S350:YES)、当該情報処理装置100を示す情報を出力する(S360)。なお、当該座標値が当該超平面から所定の基準を超えて乖離した回数が1回のみの場合には、出力部250は、異常が発生していないと判断してもよい。例えば、出力部250は、同一の情報処理装置100について、座標値が超平面から所定の基準を超えて乖離した回数が、予め定められた基準(例えば3回)に達したことを条件に、当該情報処理装置100を示す情報を出力してもよい。これにより、観測誤差や通信パケットの欠損などによって偶然に異常なビジー時間が観測された場合を検出の対象から排除して、異常検出の精度を高めることができる。座標値が基準を超えて乖離していなければ(S350:NO)、検出装置20は、S310に処理を戻し、以降の対象期間についての判断を行う。
次に、図6から図8を参照して、実際の運用システムを模した情報処理システム10に対し本実施形態に係る検出装置20を適用した実験の結果を示す。この実験では、情報処理システム10は3つの情報処理装置100を含み、それぞれウェブサーバ、アプリケーションサーバ、および、データベースサーバであるとする。また、それぞれの情報処理装置100では1ずつのサービスが提供されているものとする。
図6は、サービスの呼出回数とビジー時間との関係を示す。ダイヤの印はウェブサーバのサービスを示し、四角の印はアプリケーションサーバのサービスを示し、三角の印はデータベースサーバのサービスを示す。グラフの上側の横軸はデータベースサーバのサービスの呼出回数を示し、下側の横軸はウェブサーバおよびアプリケーションサーバのサービスの呼出回数を示す。また、右側の縦軸は、データベースサーバのビジー時間(単位はmsec。以下同様)を示し、左側の縦軸は、ウェブサーバおよびアプリケーションサーバのビジー時間を示す。
図6には、情報処理システム10に対し送信するサービスの要求の集中度を変化させて、観測した呼出回数とビジー時間との関係を示す。集中度を変化させると、呼出回数やビジー時間は変化するものの、呼出回数およびビジー時間の比率はほぼ一定であることが分かる。即ち、サービス毎の平均の処理時間は、サービスの要求の集中度によらず普遍的であることが確かめられる。
図7aは、サービス毎の平均の処理時間が時間の経過に伴ってどのように変化したかを示す。横軸は経過時間(単位は分)を示し、縦軸は各サービスの平均の処理時間の推定値を示す。実験開始から16分経過後に、データベースサーバに対し擬似的な異常を発生させると、サービスの平均の処理時間の推定値は徐々に変化していく。このように、推定値が徐々に変化し真の値に直ちに追従しないのは、推定の精度を高めるために充分なトランザクションが短期間では処理されないからである。即ち、サービス毎の平均の処理時間を求めるには、ビジー時間bと呼出回数aについての幾つかの組合せを式(2)に代入した連立1次方程式について、その正規方程式を解くことが必要であるが、その解を精度良く求めるためには、各サービスのトランザクションが様々な混合比で処理され、サービス毎の呼出回数aの比率が大きく異なる複数の連立1次方程式が必要となる。このため、短期間のうちにサービスの呼出回数が大きく変化することは稀であり、推定値が真の値に追従するにはある程度の時間を要することとなる。
一方、図7bは、サービス毎の平均の処理時間の推定値に対する残差が、時間の経過に伴ってどの様に変化したかを示す。実験開始から16分経過後に異常が発生すると、データベースサーバのサービスについての残差は急激に変化し、点線で示す所定の値(例えば分散の3倍)を超えることが分かる。
以上、図6を参照すれば、サービス毎の平均の処理時間は、異常が発生しない限り普遍的な値であることが確かめられる。さらに、図7を参照すれば、サービス毎の平均の処理時間の推定値ではなく、残差の変化を検出することによって、異常発生を迅速に検出できることが確かめられる。
図8は、検出装置20が異常の原因箇所を検出する処理の他の例を示す。図8を参照して、上記第2の処理例における処理の流れを説明する。取得部200は、順次経過する複数の対象期間のそれぞれについて、それぞれの情報処理装置100が互いに送受信した複数の通信パケットを取得する(S800)。回数算出部215は、対象期間が経過する毎にその対象期間に取得した通信パケットに基づき、サービスの呼出回数を情報処理装置100毎かつサービス毎に算出する(S810)。また、ビジー時間算出部218は、対象期間が経過する毎に、その対象期間に取得した通信パケットに基づき、それぞれの情報処理装置100のビジー時間を算出する(S820)。
次に、乖離判断部240は、それぞれの情報処理装置100について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とから構成される多次元空間において、今回の対象期間について算出された呼出回数およびビジー時間によって示される座標値が、記憶部230に記憶されたサービス毎の平均に処理時間が示す超平面から乖離している程度を示す指標値を算出する(S830)。この指標値は、例えば、上述した残差である。
当該座標値が当該超平面から所定の基準を超えて乖離していることを条件に(S840:YES)、出力部250は、当該情報処理装置100を示す情報を出力する(S850)。一方で、当該座標値が当該超平面から所定の基準を超えて乖離していなければ(S840:NO)、サービスデマンド算出部220は、記憶部230に記憶されているサービス毎の平均の処理時間を更新する(S860)。即ち、サービスデマンド算出部220は、既に経過した対象期間において取得した複数の通信パケットに基づいて、それぞれの情報処理装置100におけるサービス毎の平均の処理時間を算出し、サービス毎の平均の処理時間の推定値として記憶部230に記憶する。
次に、相違判断部260は、前回に算出されたサービス毎の平均の処理時間が、今回算出したサービス毎の平均の処理時間と予め定められた基準以上相違するかを、情報処理装置100毎に判断する(S870)。サービス毎の平均の処理時間の変化を検出するためには、変化点解析と呼ばれる既存の手法を応用可能である。例えば、相違判断部260は、シューハート管理チャート、累積和管理図や幾何移動平均などの手法によって、サービス毎の平均の処理時間の変化を検出してもよい。基準以上相違するならば(S870:YES)、出力部250は、当該情報処理装置100を示す情報を出力する(S880)。一方で、基準以上相違していなければ(S870:NO)、検出装置20は、S800に処理を戻して以降の対象期間について処理を繰り返す。
図9は、検出装置20として機能するコンピュータ500のハードウェア構成の一例を示す。コンピュータ500は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、コンピュータ500が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、コンピュータ500の起動時にCPU1000が実行するブートプログラムや、コンピュータ500のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
コンピュータ500に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出されコンピュータ500にインストールされて実行される。プログラムがコンピュータ500等に働きかけて行わせる動作は、図1から図8において説明した検出装置20における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ500に提供してもよい。
以上、本実施形態に係る検出装置20によれば、多数の情報処理装置100が協調動作する複雑な情報処理システム10についても、トランザクションの集中度や混合比によらず普遍的なサービス毎の平均の処理時間を観測することで、異常の発生箇所を迅速かつ精度良く検出して、障害対応を支援することができる。また、予めトレーニングランを行って正常時のデータを収集しておくことで、異常の検出動作中には残差の算出というわずかな計算により異常を検出でき、オンライン動作によって異常を迅速に検出できる。更に、トレーニングランを行わない場合であっても、残差と処理時間との双方を適宜監視することで、様々な性質の異常を適切に検出できる。また、ビジー時間の算出処理には、トランザクションの開始および終了のみならず、通信プロトコルの仕様に応じて発生する待ち時間を考慮することで、異常検出の精度を一層高めることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、情報処理システム10の構成と情報処理システム10および検出装置20の接続関係とを示す。 図2は、検出装置20の機能構成を示す。 図3は、検出装置20が異常の原因箇所を検出する処理の一例を示す。 図4aは、ビジー時間を算出する処理の概念図である。 図4bは、ビジー時間を算出する処理の具体例を示す。 図5は、サービス毎の平均の処理時間が示す超平面の具体例を示す。 図6は、サービスの呼出回数とビジー時間との関係を示す。 図7aは、サービス毎の平均の処理時間が時間の経過に伴ってどのように変化したかを示す。 図7bは、サービス毎の平均の処理時間の推定値に対する残差が、時間の経過に伴ってどの様に変化したかを示す。 図8は、検出装置20が異常の原因箇所を検出する処理の他の例を示す。 図9は、検出装置20として機能するコンピュータ500のハードウェア構成の一例を示す。
符号の説明
10 情報処理システム
20 検出装置
100 情報処理装置
110 ルータ
200 取得部
210 解析部
215 回数算出部
218 ビジー時間算出部
220 サービスデマンド算出部
230 記憶部
240 乖離判断部
250 出力部
260 相違判断部
500 コンピュータ

Claims (10)

  1. 複数の情報処理装置を備えた情報処理システムにおいて、異常の生じた情報処理装置を検出する検出装置であって、
    それぞれの情報処理装置について、当該情報処理装置により提供される複数のサービスについて予め推定されたサービス毎の平均の処理時間を記憶する記憶部と、
    異常を検出する対象となる対象期間において、それぞれの情報処理装置が互いに送受信した複数の通信パケットを取得する取得部と、
    取得した前記複数の通信パケットに基づいて、それぞれの情報処理装置について、当該情報処理装置により提供されるサービスが呼び出された呼出回数をサービス毎に算出する回数算出部と、
    それぞれの情報処理装置について、サービスの処理であるトランザクションを実行している時間の全てのサービスの前記対象期間における全てのトランザクションについての合計であるビジー時間を算出するビジー時間算出部と、
    それぞれの情報処理装置について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とによって座標が定まる多次元空間において、算出された前記呼出回数および算出された前記ビジー時間によって示される座標値が、前記多次元空間に形成される超平面であって、予め推定された前記サービス毎の平均の処理時間に当該サービスの呼出回数を乗じた値を各サービスについて合計したビジー時間を示す超平面から所定の基準を超えて乖離しているかを判断する乖離判断部と、
    座標値が超平面から前記所定の基準を超えて乖離していると判断した情報処理装置を、前記対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を出力する出力部と
    を備える検出装置。
  2. 前記取得部は、前記対象期間に先立つ予め定められた試行期間において、それぞれの情報処理装置が互いに送受信した複数の通信パケットを取得し、
    前記回数算出部は、前記試行期間を分割した複数の分割期間のそれぞれについて、それぞれの情報処理装置が呼び出されたサービスの呼出回数を、当該分割期間に取得した通信パケットに基づいて、情報処理装置毎かつサービス毎に算出し、
    前記ビジー時間算出部は、前記複数の分割期間のそれぞれについて、それぞれの情報処理装置がトランザクションを実行している時間の合計であるビジー時間を、当該分割期間に取得した通信パケットに基づいて算出し、
    それぞれの情報処理装置について、それぞれの前記分割期間についての前記ビジー時間と、当該分割期間におけるサービス毎の前記呼出回数に当該サービスを処理するトランザクションの平均の処理時間を乗じた合計との差の大きさを、全ての分割期間にわたって2乗和した指標を最小化する、サービス毎の前記平均の処理時間を算出し、前記記憶部に記憶するサービスデマンド算出部
    を更に備える請求項1に記載の検出装置。
  3. 前記サービスデマンド算出部は、それぞれの分割期間における前記差の2乗和を最小化する前記平均の処理時間を求める正規方程式を生成し、前記正規方程式を解くことによりサービス毎の前記平均の処理時間を算出する
    請求項に記載の検出装置。
  4. 前記回数算出部は、それぞれの前記分割期間について、当該期間に取得したそれぞれの通信パケットがサービスを呼び出すための通信パケットか否かを、当該通信パケットに含まれる宛先URLまたはサービスの識別情報によって判断し、それぞれのサービスを呼び出すための通信パケットの数を当該サービスの前記呼出回数として算出する
    請求項に記載の検出装置。
  5. 前記取得部は、順次経過する複数の前記対象期間のそれぞれについて、それぞれの情報処理装置が互いに送受信した複数の通信パケットを取得し、
    当該検出装置は、
    対象期間が経過する毎に、既に経過した対象期間において取得した複数の通信パケットに基づいて、それぞれの情報処理装置におけるサービス毎の平均の処理時間を算出し、サービス毎の平均の処理時間の推定値として前記記憶部に記憶するサービスデマンド算出部を更に備え、
    前記回数算出部は、今回の対象期間に取得した前記複数の通信パケットに基づいて、呼出回数をサービス毎かつ情報処理装置毎に算出し、
    前記ビジー時間算出部は、今回の対象期間に取得した前記複数の通信パケットに基づいて、それぞれの情報処理装置のビジー時間を算出し、
    前記出力部は、座標値が超平面から所定の基準を超えて乖離していると判断した情報処理装置を、今回の対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を出力する
    請求項1に記載の検出装置。
  6. 前記サービスデマンド算出部によりサービス毎の平均の処理時間が算出される毎に、前回に算出されたサービス毎の平均の処理時間が、今回算出したサービス毎の平均の処理時間と予め定められた基準以上相違するかを、情報処理装置毎に判断する相違判断部を更に備え、
    前記出力部は、座標値が超平面から乖離していないと判断した情報処理装置についても、サービス毎の平均の処理時間が基準以上相違したことを条件に、今回の対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を出力する
    請求項に記載の検出装置。
  7. 前記ビジー時間算出部は、それぞれの情報処理装置について、当該情報処理装置により提供される何れかのサービスを呼び出す通信パケットを取得してから、呼び出されたそれぞれのサービスの処理結果が当該情報処理装置から返答される通信パケットを取得するまでの期間を、当該情報処理装置がトランザクションを処理している処理中期間と判断し、当該処理中期間の長さをビジー時間として算出する
    請求項1に記載の検出装置。
  8. 前記ビジー時間算出部は、それぞれの情報処理装置について、何れかのサービスが呼び出されてからそれぞれのサービスの処理結果が返答されるまでの期間であっても、処理中のそれぞれのサービスに対応する通信パケットを送信して返答の通信パケットが返信されていない期間は、前記ビジー時間から除外する
    請求項に記載の検出装置。
  9. 複数の情報処理装置を備えた情報処理システムにおいて、異常の生じた情報処理装置を検出する検出装置として、コンピュータを機能させるプログラムであって、
    前記コンピュータを、
    それぞれの情報処理装置について、当該情報処理装置により提供される複数のサービスについて予め推定されたサービス毎の平均の処理時間を記憶する記憶部と、
    異常を検出する対象となる対象期間において、それぞれの情報処理装置が互いに送受信した複数の通信パケットを取得する取得部と、
    取得した前記複数の通信パケットに基づいて、それぞれの情報処理装置について、当該情報処理装置により提供されるサービスが呼び出された呼出回数をサービス毎に算出する回数算出部と、
    それぞれの情報処理装置について、サービスの処理であるトランザクションを実行している時間の全てのサービスの前記対象期間における全てのトランザクションについての合計であるビジー時間を算出するビジー時間算出部と、
    それぞれの情報処理装置について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とによって座標が定まる多次元空間において、算出された前記呼出回数および算出された前記ビジー時間によって示される座標値が、前記多次元空間に形成される超平面であって、予め推定された前記サービス毎の平均の処理時間に当該サービスの呼出回数を乗じた値を各サービスについて合計したビジー時間を示す超平面から所定の基準を超えて乖離しているかを判断する乖離判断部と、
    座標値が超平面から前記所定の基準を超えて乖離していると判断した情報処理装置を、前記対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を出力する出力部と
    して機能させるプログラム。
  10. 複数の情報処理装置を備えた情報処理システムにおいて、異常の生じた情報処理装置を、コンピュータにより検出する検出方法であって、
    前記コンピュータにより実現される記憶部が、それぞれの情報処理装置について、当該情報処理装置により提供される複数のサービスについて予め推定されたサービス毎の平均の処理時間を記憶するステップと、
    前記コンピュータにより実現される取得部が、異常を検出する対象となる対象期間において、それぞれの情報処理装置が互いに送受信した複数の通信パケットを取得するステップと、
    前記コンピュータにより実現される回数算出部が、取得した前記複数の通信パケットに基づいて、それぞれの情報処理装置について、当該情報処理装置により提供されるサービスが呼び出された呼出回数をサービス毎に算出するステップと、
    前記コンピュータにより実現されるビジー時間算出部が、それぞれの情報処理装置について、サービスの処理であるトランザクションを実行している時間の全てのサービスの前記対象期間における全てのトランザクションについての合計であるビジー時間を算出するステップと、
    前記コンピュータにより実現される乖離判断部が、それぞれの情報処理装置について、それぞれのサービスの呼出回数を示すそれぞれの座標軸とビジー時間を示す座標軸とによって座標が定まる多次元空間において、算出された前記呼出回数および算出された前記ビジー時間によって示される座標値が、前記多次元空間に形成される超平面であって、予め推定された前記サービス毎の平均の処理時間に当該サービスの呼出回数を乗じた値を各サービスについて合計したビジー時間を示す超平面から所定の基準を超えて乖離しているかを判断するステップと、
    前記コンピュータにより実現される出力部が、座標値が超平面から前記所定の基準を超えて乖離していると判断した情報処理装置を、前記対象期間において異常の生じた情報処理装置であるとして、当該情報処理装置を示す情報を出力するステップと
    を備える検出方法。
JP2006197177A 2006-07-19 2006-07-19 異常の生じた情報処理装置を検出する技術 Expired - Fee Related JP4151985B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006197177A JP4151985B2 (ja) 2006-07-19 2006-07-19 異常の生じた情報処理装置を検出する技術
US11/779,474 US20080022159A1 (en) 2006-07-19 2007-07-18 Method for detecting abnormal information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006197177A JP4151985B2 (ja) 2006-07-19 2006-07-19 異常の生じた情報処理装置を検出する技術

Publications (2)

Publication Number Publication Date
JP2008027061A JP2008027061A (ja) 2008-02-07
JP4151985B2 true JP4151985B2 (ja) 2008-09-17

Family

ID=38972774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006197177A Expired - Fee Related JP4151985B2 (ja) 2006-07-19 2006-07-19 異常の生じた情報処理装置を検出する技術

Country Status (2)

Country Link
US (1) US20080022159A1 (ja)
JP (1) JP4151985B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277667B2 (ja) 2008-03-07 2013-08-28 日本電気株式会社 障害分析システム、障害分析方法、障害分析サーバおよび障害分析プログラム
US8332820B2 (en) * 2008-10-30 2012-12-11 Accenture Global Services Limited Automated load model
JP5313101B2 (ja) * 2009-09-30 2013-10-09 富士通フロンテック株式会社 情報管理プログラム、情報管理方法、及び、情報管理装置
JP5788358B2 (ja) * 2012-04-20 2015-09-30 日立アプライアンス株式会社 電子機器、および、電子機器の異常検出方法
JP7011162B2 (ja) 2018-02-05 2022-01-26 富士通株式会社 性能調整プログラム、および性能調整方法
JP7004902B2 (ja) 2018-02-05 2022-01-21 富士通株式会社 性能評価プログラム、および性能評価方法
CN115271733B (zh) * 2022-09-28 2022-12-13 深圳市迪博企业风险管理技术有限公司 一种隐私保护的区块链交易数据异常检测方法及设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19755129B4 (de) * 1997-12-11 2005-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Lastregulierung für ein Echtzeit-Kommunikationssystem
US6327677B1 (en) * 1998-04-27 2001-12-04 Proactive Networks Method and apparatus for monitoring a network environment
US6564174B1 (en) * 1999-09-29 2003-05-13 Bmc Software, Inc. Enterprise management system and method which indicates chaotic behavior in system resource usage for more accurate modeling and prediction
US6629266B1 (en) * 1999-11-17 2003-09-30 International Business Machines Corporation Method and system for transparent symptom-based selective software rejuvenation
JP2002163130A (ja) * 2000-11-29 2002-06-07 Toshiba Corp コンピュータシステム、コンピュータシステムの診断装置、およびコンピュータ読み取り可能な記憶媒体
JP2002268922A (ja) * 2001-03-09 2002-09-20 Ntt Data Corp Wwwサイトの性能監視装置
JP3716753B2 (ja) * 2001-03-21 2005-11-16 日本電気株式会社 マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム
US6738933B2 (en) * 2001-05-09 2004-05-18 Mercury Interactive Corporation Root cause analysis of server system performance degradations
AU2002317618A1 (en) * 2001-08-06 2003-02-24 Mercury Interactive Corporation System and method for automated analysis of load testing results
US7050936B2 (en) * 2001-09-06 2006-05-23 Comverse, Ltd. Failure prediction apparatus and method
US7243145B1 (en) * 2002-09-30 2007-07-10 Electronic Data Systems Corporation Generation of computer resource utilization data per computer application
US8635328B2 (en) * 2002-10-31 2014-01-21 International Business Machines Corporation Determining time varying thresholds for monitored metrics
US7082381B1 (en) * 2003-11-12 2006-07-25 Sprint Communications Company L.P. Method for performance monitoring and modeling
JP4610240B2 (ja) * 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
JP2006146668A (ja) * 2004-11-22 2006-06-08 Ntt Data Corp 運用管理支援装置及び運用管理支援プログラム
JP4570527B2 (ja) * 2005-07-20 2010-10-27 富士通株式会社 システム性能監視プログラム及びシステム性能監視方法
JP4135956B2 (ja) * 2006-05-16 2008-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の情報処理装置を有する情報処理システムの性能を解析する技術

Also Published As

Publication number Publication date
US20080022159A1 (en) 2008-01-24
JP2008027061A (ja) 2008-02-07

Similar Documents

Publication Publication Date Title
JP4151985B2 (ja) 異常の生じた情報処理装置を検出する技術
US7444459B2 (en) Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US9167028B1 (en) Monitoring distributed web application transactions
US8326971B2 (en) Method for using dynamically scheduled synthetic transactions to monitor performance and availability of E-business systems
US9229778B2 (en) Method and system for dynamic scaling in a cloud environment
US8593946B2 (en) Congestion control using application slowdown
JP4898805B2 (ja) システムの構成パラメータ・セットを最適化するための方法、プログラムおよび装置
JP2019135598A (ja) 性能評価プログラム、および性能評価方法
JP2010517198A (ja) 分散タスクシステムおよび分散タスク管理方法
JP5245711B2 (ja) 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
US11966778B2 (en) Cloud application scaler
US7886019B2 (en) Service oriented architecture automation by cab or taxi design pattern and method
CN110633194B (zh) 一种硬件资源在特定环境下的性能评估方法
US20070086350A1 (en) Method, system, and computer program product for providing failure detection with minimal bandwidth usage
JP4135956B2 (ja) 複数の情報処理装置を有する情報処理システムの性能を解析する技術
JP2007249663A (ja) トランザクション装置、遅延障害検出装置及び方法、並びにプログラム
JP2009193205A (ja) 自動チューニングシステム、自動チューニング装置、自動チューニング方法
JP2018088041A (ja) 接続数制御プログラム、振り分け装置および接続数制御方法
CN111506422B (zh) 事件分析方法及系统
JP4909830B2 (ja) サーバアプリケーション監視システム及び監視方法
JP2021149808A (ja) Cpu状態表示方法及びcpu状態表示プログラム
US10983837B2 (en) Method and apparatus for load estimation
US20120198063A1 (en) Virtual server system, autonomous control server thereof, and data processing method and computer program thereof
JP2019047188A (ja) 分析管理システムおよび分析管理方法
EP4050480A1 (en) Controlling system load based on memory bandwidth

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080206

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080520

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080630

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees