JP2006133983A - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP2006133983A
JP2006133983A JP2004320832A JP2004320832A JP2006133983A JP 2006133983 A JP2006133983 A JP 2006133983A JP 2004320832 A JP2004320832 A JP 2004320832A JP 2004320832 A JP2004320832 A JP 2004320832A JP 2006133983 A JP2006133983 A JP 2006133983A
Authority
JP
Japan
Prior art keywords
component
information processing
abnormality
inspection
data transfer
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.)
Granted
Application number
JP2004320832A
Other languages
English (en)
Other versions
JP4260723B2 (ja
Inventor
Hiromi Sudo
裕実 須藤
Shuji Fujino
修司 藤野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004320832A priority Critical patent/JP4260723B2/ja
Priority to US11/257,577 priority patent/US7756971B2/en
Publication of JP2006133983A publication Critical patent/JP2006133983A/ja
Application granted granted Critical
Publication of JP4260723B2 publication Critical patent/JP4260723B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】情報処理システムの障害箇所をいち早く絞り込むことが可能な情報処理装置、情報処理装置の制御方法、及びプログラムを提供する。
【解決手段】コンピュータと、データを記憶するストレージ装置とが、プログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続され、各データ転送経路を構成する情報処理システムの各構成要素と各構成要素をデータ転送経路として使用するプログラムとを対応付けて記憶するシステム構成記憶部と、プログラムの実行に際して異常が検出されたことを示す異常検出情報をコンピュータから受信する異常検出情報受信部と、各構成要素の中で最も多くのプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、を備える。
【選択図】図10

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
近年、企業等における多くの業務が情報処理システムを用いて行われており、情報処理システムには高い信頼性と可用性が求められている。一方で情報処理システムに障害や異常が発生した場合には、業務停止等による経済損失や顧客等からの信用低下を最小限に留めるため、情報処理システムの管理者には、迅速かつ的確な原因究明と対策の実施が求められる。
そのため、情報処理システムに障害が発生した場合における障害状況の診断等を行う様々な技術が開発されている(例えば特許文献1参照)。
特開平8−305600号公報
ところが、今日の大規模かつ複雑な構成の情報処理システムにおいては、障害の原因箇所の見当をつけることすら容易ではない場合も多い。例えば情報処理システムを構成するアプリケーションサーバやストレージ装置、ネットワーク機器等の各構成要素が地理的に離れた場所に設置されている場合もある。また情報処理システムを構成する各構成要素のメーカが異なる場合には、各メーカの協力が得られない場合もある。
このような状況において、ある日突然、情報処理システムの各構成要素から異常を詳細に知らせるメッセージが管理者の元に大量に送信されてくる。この場合、管理者は障害の原因箇所を特定するだけでも相当の時間と労力を費やさなければならない。
そのため、情報処理システムに障害が発生した場合に、障害の原因となっている構成要素をいち早く早く絞り込むための技術が求められている。また、情報処理システムの自律制御を行い、発生した障害を自律的に回復させることを可能とする技術においては、障害の発生箇所のいち早い絞り込みが行えることは特に重要である。
本発明は上記課題を鑑みてなされたものであり、情報処理装置、情報処理装置の制御方法、及びプログラムを提供することを主たる目的とする。
上記課題を解決するために、本発明は、少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続され、前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶するシステム構成記憶部と、前記アプリケーションプログラムの実行に際して異常を検出したコンピュータから、異常を検出したことを示す異常検出情報を受信する異常検出情報受信部と、前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、前記検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、を備えることを特徴とする情報処理装置に関する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
情報処理システムの障害箇所をいち早く絞り込むことが可能な情報処理装置、情報処理装置の制御方法、及びプログラムを提供することができる。
===全体構成例===
本実施の形態に係るコンピュータシステムの全体構成を図1に示す。
本実施の形態に係るコンピュータシステムは、管理コンピュータ(本発明の情報処理装置に相当)200と情報処理システムとがネットワーク500を介して通信可能に接続されてなる。
管理コンピュータ200は情報処理システムを管理するコンピュータである。
情報処理システムは、クライアント100とアプリケーションサーバ(本発明のコンピュータに相当)300とデータベースサーバ400とストレージ装置600とネットワーク500とSAN510とを構成要素として含んで構成される。クライアント100とアプリケーションサーバ300とデータベースサーバ400とはネットワーク500を介して通信可能に接続される。またデータベースサーバ400とストレージ装置600とは、SAN(Storage Area Network)510を介して通信可能に接続される。
クライアント100は、企業等における従業員などが業務を遂行する際に使用するコンピュータである。アプリケーションサーバ300は、アプリケーションプログラムを実行するコンピュータである。図1には、アプリケーションサーバ300としてAPサーバ1(300)、APサーバ2(300)、APサーバ3(300)が例示されている。データベースサーバ400はストレージ装置600に記憶されるデータを読み書きするためのコンピュータである。ストレージ装置600はデータを記憶するための装置である。データベースサーバ400はストレージ装置600に記憶されるデータに対する読み書きの要求をアプリケーションサーバ300から受けることにより、アプリケーションサーバ300とストレージ装置600との間のデータの授受を仲介する。このようにして、アプリケーションサーバ300とストレージ装置600とは通信可能に接続される。なお詳しくは後述するが、アプリケーションサーバ300とストレージ装置600との間は、アプリケーションサーバ300により実行されるアプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続される。
なお、ストレージ装置600がネットワーク500に接続可能な機能を備えている場合には、ストレージ装置600をネットワーク500に接続し、データベースサーバ400を介さずにアプリケーションサーバ300とストレージ装置600との間でデータの授受を行うようにすることも可能である。この場合は情報処理システムにデータベースサーバ400及びSAN510が含まれない構成とすることもできる。
<アプリケーションサーバ>
アプリケーションサーバ300は、上述したように、アプリケーションプログラムを実行するコンピュータである。アプリケーションプログラムは、例えば給与計算プログラムや勤務時間管理プログラム、売り上げ管理プログラム、商品在庫管理プログラム等に代表される各種業務用プログラムとすることができる。アプリケーションプログラムの実行形態としては、一つのアプリケーションプログラムが一つのアプリケーションサーバ300で実行される場合もあるし、複数のアプリケーションプログラムが一つのアプリケーションサーバ300で実行される場合もある。情報処理システムは少なくとも一つのアプリケーションサーバ300を含んで構成されている。アプリケーションサーバ300は、クライアント100から送信される様々な要求に応じて、これらのアプリケーションプログラムを実行する。またアプリケーションサーバ300は、アプリケーションプログラムの実行によりストレージ装置600に対してデータの読み書きが必要になった場合には、データベースサーバ400に対してデータの読み書きの要求を送信する。
<クライアント>
クライアント100は、企業等における従業員などが業務を遂行する際に使用するコンピュータである。例えば、各従業員は毎日の勤務時間を記録するために、勤務時間管理プログラムを実行しているアプリケーションサーバ300に対して、出勤時刻と退社時刻とをクライアント100から送信する。この場合、勤務時間管理プログラムを実行しているアプリケーションサーバ300は、データベースサーバ400を通じてストレージ装置600に対して出勤時刻や退社時刻、その他勤務時間管理のためのデータを書き込む。
<ネットワーク>
ネットワーク500は、アプリケーションサーバ300、クライアント100、管理コンピュータ200、データベースサーバ400を相互に通信可能に接続する通信網である。ネットワーク500は、例えば企業内におけるLAN(Local Area Network)とすることができる。また例えばWAN(Wide Area Network)とすることもできる。ネットワーク500は、通信ケーブルや、各種ネットワーク機器等を構成要素として含んで構成される。
<データベースサーバ>
データベースサーバ400は、上述したように、ストレージ装置600に記憶されるデータを読み書きするためのコンピュータである。データベースサーバ400はストレージ装置600に記憶されるデータに対する読み書きの要求をアプリケーションサーバ300から受け付けることにより、アプリケーションサーバ300とストレージ装置600との間のデータの授受を仲介する。
<ストレージ装置>
ストレージ装置600はデータを記憶するための装置であり、データベースサーバ400からの要求を受けて、データの読み書きを行う。データはストレージ装置600の構成要素の一つである記憶ボリュームに記憶される。記憶ボリュームは、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。本実施の形態においては図1に示すように、ストレージ装置600は1台であるが、複数台のストレージ装置600を設けるようにすることもできる。
<SAN>
SAN510は、データベースサーバ400とストレージ装置600とを通信可能に接続する通信網である。通信は例えばファイバチャネルプロトコルにより行うことができる。SAN510は、通信ケーブルや各種ネットワーク機器等を構成要素として含んで構成される。
<管理コンピュータ>
管理コンピュータ200は、情報処理システムを管理するコンピュータである。情報処理システムを管理するシステム管理者等のオペレータにより使用される。管理コンピュータ200には、情報処理システムを構成するアプリケーションサーバ300やネットワーク500、ストレージ装置600等の各構成要素から、情報処理システムを管理するために用いられる様々な情報が送信される。例えば各構成要素の稼働状況を示す情報や、送受信されるデータ量を示す情報、CPU(Central Processing Unit)利用率、記憶ボリュームの記憶容量、記憶ボリュームの使用率等である。また各構成要素で障害が検出された場合には、障害の発生を知らせるメッセージなども送信されてくる。
===機器構成===
次に、管理コンピュータ200、アプリケーションサーバ300、データベースサーバ400、クライアント100、ネットワーク500、SAN510、ストレージ装置600のそれぞれの構成について説明する。
管理コンピュータ200、アプリケーションサーバ300、データベースサーバ400、クライアント100はいずれもコンピュータであり、ハードウェア構成は基本的に同様である。そのため、これらのハードウェア構成を一つのブロック図にまとめて図2に示す。またこれらの各機能をそれぞれ実現するための制御プログラム等やテーブル等について、図3ないし図6に示す。
ネットワーク500及びSAN510については、ハブやルータ等に代表されるネットワーク機器の構成を図7に示す。ネットワーク500及びSAN510はいずれも通信網であり、各ネットワーク機器の構成はそれぞれ同様である。そのため図7には、ネットワーク500を構成するネットワーク機器とSAN510を構成するネットワーク機器との構成を一つのブロック図にまとめて示す。
ストレージ装置600の構成については、図8に示す。
<管理コンピュータの構成>
管理コンピュータ200は、CPU210、メモリ220、ポート230、記録媒体読取装置240、入力装置250、出力装置260、記憶装置280を備える。
CPU210は管理コンピュータ200の全体の制御を司るもので、記憶装置280に記憶される本実施の形態に係る各種の動作を行うためのコードから構成される自律ポリシー制御プログラム900、業務アプリケーション制御プログラム910、業務アプリケーション監視制御プログラム920、管理コンピュータ制御プログラム930をメモリ220に読み出して実行することにより、管理コンピュータ200としての各種機能を実現する。例えばCPU210により業務アプリケーション監視制御プログラム920や管理コンピュータ制御プログラム930が実行され、メモリ220やポート230、入力装置250、出力装置260、記憶装置280等のハードウェア機器と協働することにより、システム構成記憶部、異常検出情報受信部、検査対象選定部、検査結果記憶部、選定アルゴリズム入力部、検査結果出力部、異常箇所特定部、異常箇所詳細特定部、異常箇所出力部、自律ポリシー制御部が実現される。メモリ220は例えば半導体記憶装置により構成することができる。
自律ポリシー制御プログラム900は、情報処理システムの自律制御を行うためのプログラムである。自律制御とは、システム管理者からの具体的な指示によることなく、情報処理システムの管理を行う制御である。自律制御の一例としては、情報処理システムに発生した障害や異常に対して自律的に対応する制御が挙げられる。例えば図9に示すように、情報処理システムにおいて障害や異常が検知された場合に、障害や異常発生箇所の絞り込みや原因の推定を自律的に行い、その結果に基づいて適切な対策を選択、実行し、その結果を評価する。これらの一連の手順を自律的に実施することにより、発生した障害を自律的に回復させ、システム管理者の管理負担軽減、障害の早期原因究明、障害からの早期回復を実現する。自律制御は、自律ポリシー制御プログラム900が、業務アプリケーション制御プログラム910や業務アプリケーション監視制御プログラム920、管理コンピュータ制御プログラム930と相互に連携して実行されることにより実現される。
業務アプリケーション制御プログラム910は、アプリケーションサーバ300によるアプリケーションプログラムの実行開始や停止等の制御を行う。
業務アプリケーション監視制御プログラム920は、情報処理システムの各構成要素から管理コンピュータ200に送信されてくる様々な情報に基づいて、アプリケーションプログラムの実行に際して障害が発生していないかを監視し、障害が発生したことを検知した場合には、障害が発生した部位の絞り込みを行う。詳しくは後述する。
管理コンピュータ制御プログラム930は、例えばオペレーティングシステムのように管理コンピュータ200を制御するためのプログラムである。これにより、管理コンピュータ200が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。
記録媒体読取装置240は、記録媒体700に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ220や記憶装置280に格納される。従って、例えば記録媒体700に記録された自律ポリシー制御プログラム900や、業務アプリケーション制御プログラム910、業務アプリケーション監視制御プログラム920、管理コンピュータ制御プログラム930を、記録媒体読取装置240を用いて上記記録媒体700から読み取って、メモリ220や記憶装置280に記憶するようにすることができる。
記録媒体700としてはフレキシブルディスクや磁気テープ、コンパクトディスク等を用いることができる。記録媒体読取装置240は管理コンピュータ200に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。
記憶装置280は、例えばハードディスク装置や半導体記憶装置等とすることができる。記憶装置280には、自律ポリシー制御プログラム900、業務アプリケーション制御プログラム910、業務アプリケーション監視制御プログラム920、管理コンピュータ制御プログラム930、システム構成管理テーブル800、オブジェクト管理テーブル810、探索ツリー管理テーブル820が記憶される。その様子を図3に示す。詳細については後述するが、システム構成管理テーブル800を図11に示す。オブジェクト管理テーブル810を図12に示す。探索ツリー管理テーブル820を図13に示す。
入力装置250は管理コンピュータ200へのデータ入力等のために用いられる装置でありユーザインタフェースとして機能する。入力装置250としては例えばキーボードやマウス等を用いることができる。
出力装置260は情報を外部に出力するための装置でありユーザインタフェースとして機能する。出力装置260としては例えばディスプレイやプリンタ等を用いることができる。
ポート230は通信を行うための装置である。例えばネットワーク500を介して行われる、アプリケーションサーバ300、データベースサーバ400、クライアント100等の他のコンピュータとの通信は、ポート230を介して行われるようにすることができる。また例えば、自律ポリシー制御プログラム900、業務アプリケーション制御プログラム910、業務アプリケーション監視制御プログラム920、管理コンピュータ制御プログラム930をポート230を通じて他のコンピュータからネットワーク500を介して受信して、メモリ220や記憶装置280に記憶するようにすることもできる。
<アプリケーションサーバの構成>
次に、アプリケーションサーバ300の構成について説明する。アプリケーションサーバ300は、CPU310、メモリ320、ポート330、記録媒体読取装置340、入力装置350、出力装置360、記憶装置380を備える。これらの各装置の機能は、上述した管理コンピュータ200が備える各装置と同様である。
図4に示すように、アプリケーションサーバ300が備える記憶装置380には、業務アプリケーション実行プログラム(アプリケーションプログラム)940、APサーバ制御プログラム950、エージェントプログラム960が記憶される。CPU310が業務アプリケーション実行プログラム940、APサーバ制御プログラム950、エージェントプログラム960を実行することにより、アプリケーションサーバ300としての各種機能が実現される。
業務アプリケーション実行プログラム940は、従業者等が各種業務を遂行する際の情報処理を行うためのプログラムである。業務アプリケーション実行プログラム940は、業務アプリケーション制御プログラム910が実行される管理コンピュータ200からの指示により実行が開始される。なお、従業者により遂行される業務を業務アプリケーションとも記す。
APサーバ制御プログラム950は、例えばオペレーティングシステムのようにアプリケーションサーバ300を制御するためのプログラムである。これにより、アプリケーションサーバ300が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。
エージェントプログラム960は、アプリケーションサーバ300を監視するための各種情報を収集し、それらの情報を管理コンピュータ200に送信するプログラムである。例えばアプリケーションサーバ300の稼働状況やCPU利用率、メモリ使用量、記憶装置380の記憶容量、障害や異常の発生状況等に関する情報を収集して管理コンピュータ200に送信する。
<データベースサーバの構成>
次に、データベースサーバ400の構成について説明する。データベースサーバ400は、CPU410、メモリ420、ポート430、記録媒体読取装置440、入力装置450、出力装置460、記憶装置480を備える。これらの各装置の機能は、上述した管理コンピュータ200が備える各装置と同様である。
図5に示すように、データベースサーバ400が備える記憶装置480には、DBMS(DataBese Management System)970、データベースサーバ制御プログラム980、エージェントプログラム960が記憶される。CPU410がDBMS970、データベースサーバ制御プログラム980、エージェントプログラム960を実行することにより、データベースサーバ400としての各種機能が実現される。なお、データベースサーバ400を以下DB400とも記す。
DBMS970は、アプリケーションサーバ300から送信されるストレージ装置600に記憶されるデータの読み書き要求に応じて、ストレージ装置600に記憶されるデータを読み書きするためのプログラムである。
データベースサーバ制御プログラム980は、例えばオペレーティングシステムのようにデータベースサーバ400を制御するためのプログラムである。これにより、データベースサーバ400が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。
エージェントプログラム960は、データベースサーバ400を監視するための各種情報を収集し、それらの情報を管理コンピュータ200に送信するプログラムである。例えばデータベースサーバ400の稼働状況やCPU利用率、メモリ使用量、記憶装置480の記憶容量、障害や異常の発生状況等に関する情報を収集して管理コンピュータ200に送信する。
<クライアントの構成>
次に、クライアント100の構成について説明する。クライアント100は、CPU110、メモリ120、ポート130、記録媒体読取装置140、入力装置150、出力装置160、記憶装置180を備える。これらの各装置の機能は、上述した管理コンピュータ200が備える各装置と同様である。
図6に示すように、クライアント100が備える記憶装置180には、クライアント制御プログラム990が記憶される。CPU110がクライアント制御プログラム990を実行することにより、クライアント100としての各種機能が実現される。
クライアント制御プログラム990は、従業員などがアプリケーションサーバ300を用いて業務を遂行するための各種データの入出力や送受信などを行うためのプログラムである。オペレーティングシステムとしての制御を行う機能も含まれるようにすることもできる。
<ネットワークの構成、SANの構成>
次に、ネットワーク500、SAN510の構成について説明する。ネットワーク500やSAN510は、ハブやルータ等の各種ネットワーク機器520が通信ケーブルで接続されて構成される。ネットワーク機器520の構成を示すブロック図を図7に示す。
ネットワーク機器520は、CPU521、メモリ522、スイッチ523、データポート524、管理ポート525を備えて構成される。
CPU521はネットワーク機器520の全体の制御を司るもので、メモリ522に記憶される本実施の形態に係る各種の動作を行うためのコードから構成されるネットワーク機器制御プログラム1000、エージェントプログラム960を実行することにより、ネットワーク機器520としての各種機能を実現する。
データポート524は、他のネットワーク機器520やアプリケーションサーバ300、管理コンピュータ200、データベースサーバ400、ストレージ装置600と通信ケーブルにより接続される。
スイッチ523はデータポート524間を相互に接続する。スイッチ523は例えばクロスバスイッチにより構成される。
ネットワーク機器制御プログラム1000は、例えばスイッチ523を制御し、データポート524間の回線切り替えを行う。これにより、ネットワーク500やSAN510を介して授受されるデータの送信先や送信元に応じたデータ転送経路の制御を行うことができる。またネットワーク機器制御プログラム1000は、ネットワーク500やSAN510を介して授受されるデータのエラー検出や訂正などを行うこともできる。
エージェントプログラム960は、ネットワーク機器520を監視するための各種情報を収集し、それらの情報を管理コンピュータ200に送信するプログラムである。例えばネットワーク機器520の稼働状況やCPU利用率、メモリ使用量、障害や異常の発生状況等に関する情報を収集して管理コンピュータ200に送信する。
管理ポート525は、管理コンピュータ200との間で通信を行うための通信ポートである。管理ポート525は、他のネットワーク機器520や管理コンピュータ200と通信ケーブルにより接続される。そして例えば上述したエージェントプログラム960により収集された各種情報は、管理ポート525を通じて管理コンピュータ200に送信される。
<ストレージ装置>
次にストレージ装置600の構成について図8に示すブロック図に従い説明する。ストレージ装置600は、ストレージ制御部610、記憶ボリューム620、データポート630、管理ポート640を備えて構成される。
ストレージ制御部610は、ストレージ装置600の全体を制御する。例えばデータベースサーバ400から送信されてくるデータの書き込み要求や読み出し要求に従って、記憶ボリューム620の所定のアドレスへのデータの書き込み、あるいは所定のアドレスからのデータの読み出しを行う。また読み書きされるデータの送受信をデータベースサーバ400との間で行う。このようなストレージ制御部610としての機能は、ストレージ制御部610が備えるCPU611が、メモリ612に記憶されるストレージ装置制御プログラム1010を実行することにより実現される。
またCPU611がエージェントプログラム960を実行することにより、ストレージ装置600を監視するための各種情報が収集され、それらの情報が管理コンピュータ200に送信される。例えばストレージ装置600の稼働状況やCPU利用率、メモリ使用量、記憶ボリュームの記憶容量、記憶ボリュームの使用量、障害や異常の発生状況等に関する情報が収集されて管理コンピュータ200に送信される。
なお、情報処理システムの上記各構成要素、つまりアプリケーションサーバ300、データベースサーバ400、ネットワーク機器520、ストレージ装置600においてそれぞれ実行される各エージェントプログラム960は、全て同一のプログラムとすることもできるし、それぞれの構成要素に専用のプログラムとすることもできる。もちろん、一部の構成要素には共通なプログラムとすることもできる。
記憶ボリューム620は、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。記憶ボリューム620は、アプリケーションサーバ300で実行される業務アプリケーション実行プログラム940と対応付けることができる。対応付けが行われた場合、その業務アプリケーション実行プログラム940の実行に伴うデータは、その記憶ボリューム620に記憶される。なお記憶ボリューム620との対応付けは、業務アプリケーション実行プログラム940のみならず、例えばアプリケーションサーバ300や、クライアント100、従業員と行うようにすることも可能である。
データポート630は、SAN510を構成するネットワーク機器520と通信ケーブルにより接続される。これによりストレージ装置600はSAN510を介してデータベースサーバ400と通信可能に接続される。なお上述したが、ストレージ装置600はネットワーク500と通信可能に構成されるようにすることもできる。この場合は、データポート630はネットワーク500を構成するネットワーク機器520と通信ケーブルにより接続される。
管理ポート640は、管理コンピュータ200との間で通信を行うための通信ポートである。管理ポート640は、ネットワーク500を構成するネットワーク機器520や管理コンピュータ200と通信ケーブルにより接続される。そして例えば上述したエージェントプログラム960により収集された各種情報は、管理ポート640を通じて管理コンピュータ200に送信される。
===業務アプリケーションを実行するための構成要素===
以上説明した情報処理システムを用いて業務アプリケーション(業務)が実行される。業務アプリケーションが実行される際には、図10に示すように、各業務アプリケーションを実行するためのアプリケーションプログラムと対応付けられた情報処理システムの各構成要素が、アプリケーションサーバ300とストレージ装置600との間のデータ転送経路として用いられる。
例えば図10に示す例では、業務アプリケーションAは、APサーバ1(300)で実行される。そして業務アプリケーションAの実行に伴いストレージ装置600にデータの書き込みが行われる場合には、APサーバ1(300)で実行されるOS(Operating System)1(950)の制御の下、まずネットワーク1(500)を経由してDB(データベース)サーバ1(400)にデータが送られる。そしてDBサーバ1(400)で実行されるDBMS1(970)及びOS4(980)の制御の下、ネットワーク2(SAN)(510)を経由してストレージ装置600にデータが送られる。そしてストレージ装置600が備える論理ボリューム1の所定のアドレスにデータが書き込まれる。
業務アプリケーションAの実行に伴いストレージ装置600からデータの読み出しが行われる場合には、データが論理ボリューム1から読み出され、上記各構成要素を経由してAPサーバ1(300)に送信される。
業務アプリケーションBや業務アプリケーションCについても同様である。このように本実施の形態に係る情報処理システムにおいては、アプリケーションサーバ300とストレージ装置600とが、アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続される。各データ転送経路は、情報処理システムの各構成要素により構成される。
このような、各データ転送経路を構成する情報処理システムの各構成要素と、各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶したのが、図11に示すシステム構成管理テーブル800である。
図11に示すシステム構成管理テーブル800においては、業務アプリケーション毎に、データ転送経路を構成する各構成要素(以下、オブジェクトとも記載する)が記憶されている。各オブジェクトには、下位オブジェクトが対応付けて記憶されている。これによりデータ転送経路が特定される。下位オブジェクトとは、そのオブジェクトよりもストレージ装置600側に並ぶオブジェクトをいう。上位オブジェクトとはそのオブジェクトよりもアプリケーションサーバ300側に並ぶオブジェクトをいう。
図11において、「ステータス」欄には、各オブジェクトの稼働状態を示す情報が記載される。各オブジェクトの稼働状態を示す情報は、各オブジェクトにおいてエージェントプログラム960が実行されることにより、管理コンピュータ200に送信される。ステータスとしては例えば、「障害」、「警告」、「正常」、「一時障害」等とすることができる。「障害」とは例えば当該オブジェクトの機能が停止している状態であることを示すものをいう。「警告」とは例えば当該オブジェクトの機能が低下(例えば所定の性能が所定値以下に低下)している状態であることを示すものをいう。「一時障害」とは例えば当該オブジェクトの機能が過去において停止している状態にあったものであることを示すものをいう。「正常」とは例えば当該オブジェクトの稼働状態が「障害」でもなく、「警告」でもなく、「一時障害」でもない状態であるものをいう。
なお図10において破線で囲んで示したオブジェクトのように、情報処理システムを構成する構成要素(オブジェクト)の中には複数の業務アプリケーションにデータ転送経路として共用されるオブジェクトがある。例えばネットワーク1(500)は、業務アプリケーションA、業務アプリケーションB、業務アプリケーションCに共用される。また一つの業務アプリケーションにしか使用されないオブジェクトもある。このように、各オブジェクトはそれぞれ、データ転送経路として使用する業務アプリケーションの数が異なっている。そのため、各オブジェクトのそれぞれについて、データ転送経路として使用する業務アプリケーションの数を記憶したものが図12に示すオブジェクト管理テーブル810である。データ転送経路として使用する業務アプリケーションの数は、「オブジェクト共有数」欄に記載される。「検証優先順位」欄は、管理コンピュータ200が、アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報をアプリケーションサーバ300から受信した場合に、異常の原因箇所を絞り込むために、情報処理システムの各構成要素を検査する際の検査順序が記載される。なお、オブジェクト管理テーブル810は業務アプリケーションが起動される毎に更新されるものとする。
===障害箇所の絞り込み===
次に、本実施の形態に係る情報処理システムのいずれかの構成要素において障害や異常が発生した場合の障害箇所の絞り込みの制御について説明する。フローチャートを図16に示す。
まず、情報処理システムのいずれかの構成要素において障害や異常が発生した場合には、その構成要素をデータ転送経路として使用している各業務アプリケーションの実行に何らかの不具合が生じる。そのため、当該業務アプリケーションを実行しているアプリケーションサーバ300で実行されるエージェントプログラム960により、業務アプリケーションの異常が検知され、その情報が管理コンピュータ200に送信される(S2000、S2010)。また、ある構成要素に発生した障害や異常の影響が他の構成要素に波及し、他の構成要素をデータ転送経路として使用している業務アプリケーションの実行に不具合が生じる場合もある。この場合には、当該業務アプリケーションを実行しているアプリケーショサーバ300で実行されるエージェントプログラム960によっても、その業務アプリケーションの異常が検知され、その情報が管理コンピュータ200に送信される(S2000、S2010)。また、各構成要素において実行されるエージェントプログラム960によってもそれぞれ障害や異常が検出され、それらの情報が管理コンピュータに送信される(S2000、S2010)。
S2020ないしS2040の各処理については後述する。
<検証ツリーの作成>
管理コンピュータ200は、業務アプリケーションを監視するエージェントプログラム960を実行するアプリケーションサーバ300よりイベント(例えば障害発生)を示す情報を受信した際に、当該業務アプリケーションに対応付けられた情報処理システムの各構成要素を示すシステム構成管理テーブル800及びオブジェクト管理テーブル810を参照して、障害箇所を絞り込むための検証順位を示す検証ツリーを作成する(S2050)。
業務アプリケーションは複数稼動しており、リソース(構成要素)を共有しているため、オブジェクト管理テーブル810を参照して、複数の業務アプリケーションにより共有されるオブジェクト(リソース)を優先的に検証していく。検証したオブジェクトに問題が無い(異常が検出されない)ときには、そのオブジェクトに関連をもつオブジェクトを検証する。
以下に、検証ツリーの作成手順を図15に示すフローチャートに従って説明する。なお、OSのオブジェクトは検証の対象外とすることもできる。
まず検証ツリーのトップ(ルート)を決める(S1000)。ここでは、障害の発生した業務アプリケーションのシステム構成情報の中で、共有数が最も多くかつ最下位のレイヤのオブジェクトをトップ(ルート)とする。
次に、検証ツリーの左要素側を作成する(S1010)。ここでは、S1000のオブジェクトより上位レイヤの共有数が最も多いオブジェクトかつ下位のレイヤから順に検証ツリーの左要素に設定する。さらに、共有数の最も多いオブジェクトの上位レイヤに共有数のあるオブジェクトが存在する場合には続けて左要素に設定する。さらに、共有数のあるオブジェクトの上位レイヤに共有数のないオブジェクトがある場合は続けて左要素に設定する。
次に、検証ツリーの右要素側を作成する(S1020)。ここでは、S1000のオブジェクトより下位レイヤの共有数が最も多いオブジェクトかつ下位のレイヤから順に検証ツリーの右要素に設定する。さらに、共有数の最も多いオブジェクトの下位レイヤに共有数のあるオブジェクトが存在する場合には続けて右要素に設定する。さらに、共有数のあるオブジェクトの下位レイヤに共有数のないオブジェクトがある場合は続けて右要素に設定する(このとき下位レイヤのオブジェクトを優先する)。
次に、S1010で作成した左要素の各オブジェクトに関連するオブジェクトを設定する(S1030)。ここでは、S1010の作成時にスキップされたオブジェクト(左要素間のオブジェクト)のうち下位のオブジェクトを右要素に設定する。このときにも共有数と下位レイヤのオブジェクトを優先する。ここで上記の設定したオブジェクトに上位レイヤのオブジェクトがあれば左要素に設定する。下位のオブジェクトが存在すれば右要素に設定する。他業務システムの同一レイヤのオブジェクトがあれば左要素に設定する。なお、障害の発生した業務アプリケーションと複数の業務アプリケーションが共有されている場合は、影響度を考慮して共有するオブジェクトが多い業務アプリケーションを優先する。図10を例にした場合、業務アプリケーションB、業務アプリケーションCの順に扱う。
次に、S1020で作成した右要素の各オブジェクトに関連するオブジェクトを設定する(S1040)。ここでは、S1020の作成時にスキップされたオブジェクト(右要素間のオブジェクト)のうち下位のオブジェクトを左要素に設定する。このときにも共有数と下位レイヤのオブジェクトを優先する。ここで上記の設定したオブジェクトに上位レイヤのオブジェクトがあれば左要素に設定する。下位のオブジェクトが存在すれば右要素に設定する。他業務システムの同一レイヤのオブジェクトがあれば左要素に設定する。
次に、S1030のように左要素の検証ツリーについて、未設定のオブジェクトを検証ツリーに設定する(S1050)。
そして、S1040のように右要素の検証ツリーについて、未設定のオブジェクトを検証ツリーに設定する(S1060)。
以上の手順に従い、図10に示すシステム構成情報をもとに、業務アプリケーションAのエージェントが高負荷イベントを検知した時の検証ツリーの作成例を示す。また作成した検証ツリーを図14に示す。
まず、イベントを受信した”業務アプリケーションA”のシステム構成情報と共有リソースをもつ業務アプリケーションのシステム構成情報を取得する。図10では”業務アプリケーションB”と”業務アプリケーションC”が共有リソースをもつため、それぞれのシステム構成情報を取得する。また、共有されるオブジェクトを求め、共有数の高い”ストレージ装置”、”ネットワーク2”、”ネットワーク1”のうち、最下位のレイヤである”ストレージ装置”を、検証ツリーのトップにする。
次に左要素の検証ツリーを作る。”ネットワーク2”、”ネットワーク1”を”ストレージ装置”の左要素としてそれぞれ設定する。”ネットワーク1”の上位レイヤに共有のない”AP1”が存在するため、続けて左要素として追加する。
次に右要素の検証ツリーを作る。”ストレージ装置”の下位レイヤである”論理ボリューム1”、”論理ボリューム2”のうち共有数の高い”論理ボリューム1”を”ストレージ装置”の右要素として設定する。
次に”ネットワーク2”の下位のレイヤには”ストレージ装置”があるが、検証ツリーに設定済みであるため右の要素として何も追加しない。”ネットワーク1”の下位レイヤに共有オブジェクトである”DBMS1”があるので、右要素として設定し、”DBMS1”の上位レイヤである”DB1”、”DB2”、”DBMS1”と同一レイヤの”DBMS2”とを左要素として設定する。”DB3”は”DBMS2”の上位レイヤであるため、”DBMS2”の左要素に設定する。
次に、検証ツリーの右要素を更新する。”論理ボリューム1”に関連するオブジェクトはないが、他業務システムに”論理ボリューム2”があるので、”論理ボリューム1”の左要素に追加する。
以上の手順により作成した検証ツリーを図14に示す。なお、この検証ツリーは、管理コンピュータ200上においては、図13に示す検索ツリー管理テーブル820として記憶される。
<検証の実行>
次に、上記作成した検証ツリーを用いて障害箇所の絞り込みを行う(S2060、S2070)。
まず、検証ツリーのトップから、検証対象となるオブジェクトをチェックする。チェックは、当該オブジェクトの監視エージェントに状態を確認することにより行う。
当該オブジェクトに異常が検出された場合には、右の要素に進み、その要素であるオブジェクトチェックを行う。右の要素に進めない場合は、そのオブジェクトを障害の発生箇所と判定する。チェックの結果が確認できず障害状態の場合は、そのオブジェクトを原因と判定する。判定結果はメモリ220に記憶される。
当該オブジェクトに異常が検出されない場合は、左の要素に進み、その要素であるオブジェクトのチェックを行う。異常が検出されない場合は左の要素を次々に検証していく。これ以上左の要素が存在しない場合で、右要素分岐の処理をした場合は、右分岐を処理したオブジェクトを障害発生箇所と判定する。一度も右分岐がされていない場合は、異常が検出されたオブジェクトが存在しないことになる。この場合は、一時的障害が発生したものとみなし、過去のログ情報(各構成要素のエージェントプログラム960からそれぞれ送信された情報)などから、異常が発生したオブジェクトを検証する(S2100)。
上記検証処理において行われる各オブジェクトのチェックの内容は、アプリケーションサーバ300から送信された障害を示す情報の内容に応じて異なる様にすることができる。例えば、アプリケーションサーバ300から管理コンピュータ200に送信された障害を示す情報の内容が高負荷を示すものであった場合には、検証対象となるオブジェクトに設定された応答時間のスレッショルドを超えているかどうかにより、オブジェクトのチェックを行うようにすることができる。また例えば、アプリケーションサーバ300から管理コンピュータ200に送信された障害を示す情報の内容が障害(書き込みエラーなど)の発生を示すものであった場合には、検証対象となるオブジェクトが障害状態(不稼動状態またはリソース不足状態)かつI/O(Input/Output)の形跡があるかどうかにより、オブジェクトのチェックを行うようにすることができる。この場合には、障害状態でなく、I/Oの形跡がない場合は左の要素のオブジェクトを処理する。障害状態でなく、I/Oの形跡がある場合は右の要素のオブジェクトを処理する。障害状態の場合は、そのオブジェクトを異常が発生したオブジェクトと判定する。
<検証結果の表示>
管理コンピュータ200は、メモリ220に記憶された上記検証の結果に基づいて、障害又は異常の原因となったオブジェクトをディスプレイ等の出力装置260に表示する(S2080、S2110)。その際、障害や異常の原因となったオブジェクトや、そのオブジェクトに関連するオブジェクトを強調表示する。強調表示するとは、例えば当該オブジェクトを他のオブジェクトとは異なった色で表示することや、当該オブジェクトを点滅するように表示することを含む。当該オブジェクトの表示の色を他のオブジェクトと異ならせる場合には、例えば他のオブジェクトを黒色で表示し、当該オブジェクトのステータスが「障害」である場合には当該オブジェクトを赤色で表示し、「警告」あるいは「一時障害」である場合には当該オブジェクトを黄色で表示する。
上記検証により特定された障害又は異常の原因となったオブジェクトがディスプレイ等の出力装置260に表示される様子を図17に示す。図17では”業務アプリケーションA”に関連する業務アプリケーションのみを示しているが、稼動中の全業務アプリケーションを表示して、その表示中に障害箇所について表示することもできる。
管理コンピュータ200は、メモリ220に記憶された上記検証の結果に基づいて、原因のオブジェクトを自律ポリシー制御部へ渡し、自律ポリシーに従って自律制御を行うこともできる。S2080の部分を自律制御処理にすることで実現できる。
<ステータスの記憶>
以上の処理により障害の発生したオブジェクトを特定し、障害状態を確認した場合、システム構成管理テーブル800に障害状態のステータスを記録する(S2090)。
<次回障害発生時の処理>
そして次回、障害イベントが発生した時には、上記特定された当該オブジェクトを優先的に検証する(S2020、S2030)。当該オブジェクトが障害状態であれば、上記検証処理を行わずに当該オブジェクトを障害の発生箇所であると判定し、障害状態でなかった場合には、上記の検証処理を行う(S2040)。
===具体例===
次に図10に示すシステム構成情報の状態で、以下に示すオブジェクトで障害が発生し”業務アプリケーションA”で障害を検知した場合の障害箇所の特定手順を示す。
<例1>
まず、他の業務アプリケーションに割り当てられている構成要素が障害の原因となっている場合について説明する。具体的には、”業務アプリケーションC”の”DBMS2”が高負荷状態になっている場合について説明する。なお検証ツリーは図14に示すものを用いる。
まず、検証ツリーのトップである”ストレージ装置”のスレッショルドの状態を検証する。”ストレージ装置”では負荷が掛かっていないので、左要素の”ネットワーク2“を検証する。そして”ネットワーク2”のスレッショルドの状態を検証する。”ネットワーク2”も負荷が掛かっていないので、左要素の”ネットワーク1”を検証する。
”ネットワーク1”のスレッショルドの状態を検証すると、”ネットワーク1”は”DBMS2”の影響で負荷が掛かっている状態になっているので、右要素の”OS4”を検証する。
”OS4”のスレッショルドの状態を検証すると、”OS4”には負荷が掛かっていないので、左要素の”DBMS1”を検証する。”DBMS1”のスレッショルドの状態を検証すると、”DBMS1”も負荷が掛かっていないので、左要素の”DB1”を検証する。”DB1”のスレッショルドの状態を検証すると、”DB1”も負荷が掛かっていないので、左要素の”DB2”を検証する。”DB2”のスレッショルドの状態を検証すると、”DB2”も負荷が掛かっていないので、左要素の”OS5”を検証する。”OS5”のスレッショルドの状態を検証すると、”OS5”も負荷が掛かっていないので、左要素の”DBMS2”を検証する。
”DBMS2”のスレッショルドの状態を検証する。”DBMS2”がもともとの原因であるため、負荷が掛かっている状態である。しかし、このオブジェクトには右要素がないので、このオブジェクトを原因と判定する。
<例2>
ここでは、”業務アプリケーションA”の”OS4”が障害となっている場合について説明する。ここでも図14に示す検証ツリーを使用して説明する。
まず、検証ツリーのトップである”ストレージ装置”の障害状態とI/Oの履歴を検証する。”ストレージ装置”では障害状態ではなく、I/Oの履歴が無いことから、左要素の”ネットワーク2”を検証する。
”ネットワーク2”の障害状態とI/Oの履歴を検証する。”ネットワーク2”も障害状態ではなく、I/Oの履歴が無いことから、左要素の”ネットワーク1”を検証する。
”ネットワーク1”の障害状態とI/Oの履歴を検証する。”ネットワーク1”では、障害状態ではないが、”DB1”へのI/Oの履歴があるので、左要素の”OS4“を検証する。
そして”OS4”の障害状態とI/Oの履歴を検証する。”OS4”は障害状態であるため、このオブジェクトを原因と判定する。
===検証ツリーを作成しない場合===
上記障害箇所の絞込み処理においては、検証ツリーを作成した後に検証を行っていたが、検証ツリーを作成せずに検証を行うことも可能である。その場合の処理の流れを図18に示すフローチャートを用いて説明する。
まず管理コンピュータ200は、システム構成管理テーブル800を参照して、障害や異常が検出された業務アプリケーションと関連性のある全ての業務アプリケーションのオブジェクトについて、共有数を算出する(S3000)。共有数とは、各構成要素に対応付けられるアプリケーションプログラムの数をいう。
そして各オブジェクトの共有数をオブジェクト管理テーブル810に記憶する(S3010)。
次に管理コンピュータ200は、共有数の最も大きいオブジェクトを検査対象として選定し、そのオブジェクトについて、障害・異常の有無をチェックする(S3020)。チェックは、当該オブジェクトにおいてエージェントプログラム960が実行されることにより行われる。管理コンピュータ200は、当該オブジェクトから送信されるチェック結果により、そのオブジェクトについての障害・異常の有無のチェックを行う。
なお、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各ストレージ装置600との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち下位のオブジェクトを検査対象として選定するようにすることができる。下位のオブジェクトに障害や異常が発生すると、上位のオブジェクトに障害や異常が発生した場合に比べて、障害や異常の影響が広範囲に及ぶことになる。例えばストレージ装置600に障害が発生した場合には、そのストレージ装置600に記憶されているデータを用いる全ての業務アプリケーションが影響を受けることになる。このように、下位のオブジェクトを先に検査対象として選定することにより、障害発生時の影響の大きなオブジェクトから先に障害の有無を検査することが可能となる。
一方で、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各アプリケーションサーバ300との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち上位のオブジェクトを検査対象として選定するようにすることもできる。企業における業務担当者あるいは業務責任者にとっては、自分が担当している業務になんらかの障害が発生した場合には、まずその原因が自分にあるのかないのかを知りたいと考える。これは、障害の原因が自分にあるならば、直ちに原因調査を開始し、対策を講じなければならないからであり、障害の原因が自分に無いならば、原因調査や対策は他の担当者に任せておくことができるからである。情報処理システムを構成するアプリケーションプログラムやアプリケーションサーバ300等の上位オブジェクトに不具合があった場合には、その業務担当者が対策を講じなければならない。このように、上位のオブジェクトを先に検査対象として選定することにより、業務担当者に障害の責任があるのか、そうでないのかをいち早く切り分けることが可能となる。
また、共有数の最も大きいオブジェクトが複数あった場合に、上位のオブジェクトを先に検査対象として選定するか、下位のオブジェクトを先に検査対象として選定するかを切り替えることができるようにすることも可能である。これは例えば、共有数の最も大きい複数の各オブジェクトの中で、当該各オブジェクトと各ストレージ装置600との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトを検査対象として選定するアルゴリズムにより検査対象を選定するか、当該各オブジェクトの中で、当該各オブジェクトと各アプリケーションサーバ300との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトを検査対象として選定するアルゴリズムにより検査対象を選定するかを示す選定アルゴリズム選択情報の入力を入力装置250から受けるようにし、その選定アルゴリズム選択情報に応じて、検査対象を選定するアルゴリズムを切り替えるようにすることにより実現することができる。このようにすることにより、障害発生時における障害部位特定に対する企業としての様々な考え方に柔軟に対応することが可能となる。
さらに、共有数の最も大きいオブジェクトが複数あった場合には、それらの中で、異常が検出されたアプリケーションプログラムと対応付けられるオブジェクトを検査対象として選定するようにすることもできる。これは、アプリケーションプログラムの実行に異常を生じさせた原因となるオブジェクトは、そのアプリケーションプログラムがデータ転送経路として使用するオブジェクトの中にある場合が多いと考えられるからである。このようにすることにより、いち早く障害部位の特定を行うことが可能となる。
このようにして選定されたオブジェクトについてチェックした結果、障害や異常が検出されなかった場合には(S3030)、直前にチェックしたオブジェクト及びそのオブジェクトよりも下位のオブジェクトについては、障害・異常なしと判定する(S3040)。具体的には、直前にチェックしたオブジェクト(検査対象の構成要素)と各ストレージ装置600との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、直前にチェックしたオブジェクト、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるストレージ装置600については異常がない旨の情報をそれぞれメモリ320に記憶する。
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には(S3050)、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする(S3060)。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト(検査対象の構成要素)と各アプリケーションサーバ300との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S3050において、全てのオブジェクトが障害・異常無しと判定されている場合には、一過性の障害・異常であると判定する(S3100)。
S3060におけるチェックの結果、そのオブジェクトに異常が検出された場合には(S3070)、そのオブジェクトよりも下位の各オブジェクトのうち、障害・異常なしと判定されていない各オブジェクトのいずれかに、障害・異常の原因があると判定する(S3080)。これにより、障害の原因となるオブジェクトを、上記異常が検出されたオブジェクトよりも下位の各オブジェクトのうち、すでに障害・異常なしと判定済みのオブジェクトを除いた各オブジェクトに絞り込むことができる。そして絞り込まれた各オブジェクトつまり検査の結果を管理コンピュータ200のディスプレイ等の出力装置260に表示する(S3090)。
一方、S3070において、障害・異常が検出されなかった場合には、S3040以降の処理を繰り返す。これにより、障害・異常が検出されるまで検査対象を上位のオブジェクトに絞り込んでゆくことができる。このように、本実施の形態においては、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
一方、S3020においてオブジェクトのチェックが行われた結果、障害や異常が検出された場合には(S3030)、直前にチェックしたオブジェクトよりも上位のオブジェクトについては、障害・異常なしと判定する(S3110)。具体的には、直前にチェックしたオブジェクト(検査対象の構成要素)と各アプリケーションサーバ300との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクト、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるアプリケーションサーバ300については異常がない旨の情報をそれぞれメモリ320に記憶する。
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には(S3120)、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする(S3130)。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト(検査対象の構成要素)と各ストレージ装置600との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S3120において、全てのオブジェクトが障害・異常無しと判定されている場合には、最後に障害・異常ありと判定されたオブジェクトを障害・異常の原因であると判定する(S3170)。そしてそのオブジェクトつまり検査の結果を管理コンピュータ200のディスプレイ等の出力装置260に表示する(S3180)。
S3130におけるチェックの結果、そのオブジェクトに異常が検出されなかった場合には(S3140)、そのオブジェクトよりも上位の各オブジェクトのうち、障害・異常なしと判定されていない各オブジェクトのいずれかに、障害・異常の原因があると判定する(S3150)。これにより、障害の原因となるオブジェクトを、上記異常が検出されなかったオブジェクトよりも上位の各オブジェクトのうち、すでに障害・異常なしと判定済みのオブジェクトを除いた各オブジェクトに絞り込むことができる。そして絞り込まれた各オブジェクトつまり検査の結果を管理コンピュータ200のディスプレイ等の出力装置260に表示する(S3160)。
一方、S3140において、障害・異常が検出された場合には、S3110以降の処理を繰り返す。これにより、障害・異常が検出されるまで検査対象を下位のオブジェクトに絞り込んでゆくことができる。このように、本実施の形態においては、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
また、検証ツリーを作成せずに検証を行う場合の処理を下記のように行うことも可能である。その場合の処理の流れを図19に示すフローチャートを用いて説明する。
まず管理コンピュータ200は、システム構成管理テーブル800を参照して、障害や異常が検出された業務アプリケーションと関連性のある全ての業務アプリケーションのオブジェクトについて、共有数を算出する(S4000)。
そして各オブジェクトの共有数をオブジェクト管理テーブル810に記憶する(S4010)。
次に管理コンピュータ200は、共有数の最も大きいオブジェクトを検査対象として選定し、そのオブジェクトについて、障害・異常の有無をチェックする(S4020)。チェックは、当該オブジェクトにおいてエージェントプログラム960が実行されることにより行われる。管理コンピュータ200は、当該オブジェクトから送信されるチェック結果により、そのオブジェクトについての障害・異常の有無のチェックを行う。
なおここでも、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各ストレージ装置600との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち下位のオブジェクトを検査対象として選定するようにすることができる。下位のオブジェクトを先に検査対象として選定することにより、故障時の影響の大きなオブジェクトから先に障害の有無を検査することが可能となる。
さらに同様に、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各アプリケーションサーバ300との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち上位のオブジェクトを検査対象として選定するようにすることもできる。上位のオブジェクトを先に検査対象として選定することにより、業務担当者に障害の責任があるのか、そうでないのかをいち早く切り分けることが可能となる。
またさらに、共有数の最も大きいオブジェクトが複数あった場合に、上位のオブジェクトを先に検査対象として選定するか、下位のオブジェクトを先に検査対象として選定するかを切り替えることができるようにすることも可能である。このようにすることにより、障害発生時における障害部位特定に対する企業としての様々な考え方に柔軟に対応することが可能となる。
このようにして選定されたオブジェクトについてチェックした結果、障害や異常が検出されなかった場合には(S4030)、直前にチェックしたオブジェクト及びそのオブジェクトよりも下位のオブジェクトについては、障害・異常なしと判定する(S4040)。具体的には、直前にチェックしたオブジェクト(検査対象の構成要素)と各ストレージ装置600との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、直前にチェックしたオブジェクト、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるストレージ装置600については異常がない旨の情報をそれぞれメモリ320に記憶する。
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には(S4050)、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする(S4060)。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト(検査対象の構成要素)と各アプリケーションサーバ300との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S4050において、全てのオブジェクトが障害・異常無しと判定されている場合には、最後に障害・異常ありと判定されたオブジェクトを障害・異常の原因であると特定する(S4100)。そしてそのオブジェクトつまり検査の結果を管理コンピュータ200のディスプレイ等の出力装置260に表示する(S4110)。
S4060におけるチェックの結果、そのオブジェクトに障害・異常が検出されなかった場合には、S4040以降の処理を繰り返す。これにより、障害・異常が検出されるまで検査対象を上位のオブジェクトに絞り込んでゆくことができる。このように、本実施の形態においては、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
一方、S4060におけるチェックの結果、そのオブジェクトに異常が検出された場合には(S4030)、直前にチェックしたオブジェクトよりも上位のオブジェクトについては、障害・異常なしと判定する(S4070)。具体的には、直前にチェックしたオブジェクト(検査対象の構成要素)と各アプリケーションサーバ300との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるアプリケーションサーバ300については異常がない旨の情報をそれぞれメモリ320に記憶する。
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には(S4080)、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする(S4090)。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト(検査対象の構成要素)と各ストレージ装置600との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S4080において、全てのオブジェクトが障害・異常無しと判定されている場合には、最後に障害・異常ありと判定されたオブジェクトを障害・異常の原因であると特定する(S4100)。そしてそのオブジェクトつまり検査の結果を管理コンピュータ200のディスプレイ等の出力装置260に表示する(S4110)。
S4090におけるチェックの結果、そのオブジェクトに障害・異常が検出された場合には、S4070以降の処理を繰り返す。S4090におけるチェックの結果、そのオブジェクトに障害・異常が検出されなかった場合には、S4040以降の処理を繰り返す。このようにすることにより、障害・異常が検出されるまで検査対象を絞り込んでゆくことができる。このように、本実施の形態においても、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
また管理コンピュータ200は、上記のようにして障害・異常の原因であると特定できたオブジェクトを自律ポリシー制御部へ渡し、自律ポリシーに従って自律制御を行うこともできる。
===オブジェクトのより詳細な障害部位の特定===
上記の処理により障害や異常の発生したオブジェクトを特定することができた場合には、さらにそのオブジェクトにおいてより詳細に障害部位を特定することも可能である。
以下本実施の形態においては、情報処理システムの構成要素のうち、一例としてストレージ装置600が障害・異常が発生したオブジェクトであると特定できた場合に、さらに障害部位を詳細に特定する場合について説明する。もちろん、他の構成要素が障害・異常が発生したオブジェクトであると特定できた場合でも同様である。
図20に示すように、ストレージ装置600は業務アプリケーションAと業務アプリケーションBとに共用される情報処理システムの構成要素である。そしてストレージ装置600の構成要素例えば論理ボリュームなどは、業務アプリケーションAが専用する部位と、業務アプリケーションBが専用する部位と、業務アプリケーションAと業務アプリケーションBとが共用する部位とに分けることができる。
従って、管理コンピュータ200がアプリケーションサーバ300から、業務アプリケーションの障害を知らせる情報を受信した場合に、その情報が、業務アプリケーションAの障害を知らせるもののみであるか、業務アプリケーションBの障害を知らせるもののみであるか、業務アプリケーションAの障害を知らせるものと業務アプリケーションBの障害を知らせるものの両方であるのかによって、ストレージ装置600の内部における構成要素の障害部位をさらに詳細に特定することが可能である。
具体的には、図20に示すように、業務アプリケーションの障害を知らせる情報が業務アプリケーションAの障害を知らせるもののみである場合には、業務アプリケーションAが専用する構成要素に障害が発生したものと特定することができる。また業務アプリケーションの障害を知らせる情報が業務アプリケーションBの障害を知らせるもののみである場合には、業務アプリケーションBが専用する構成要素に障害が発生したものと特定することができる。また、業務アプリケーションの障害を知らせる情報が業務アプリケーションAの障害を知らせるものと業務アプリケーションBの障害を知らせるものの両方である場合には、業務アプリケーションAと業務アプリケーションBとが共用する構成要素に障害が発生したものであるか、業務アプリケーションAが専用する構成要素と業務アプリケーションBが専用する構成要素との両方に障害が発生したものか、業務アプリケーションAと業務アプリケーションBとが共用する構成要素と業務アプリケーションAが専用する構成要素と業務アプリケーションBが専用する構成要素とのすべてに障害が発生したものかのいずれかであることを特定することができる。
このように、本実施の形態においては、障害部位として特定されたオブジェクトをデータ転送経路として使用する各アプリケーションプログラムのそれぞれに関して、アプリケーションサーバ300から送信されてくる異常検出情報の受信有無の組み合わせに応じて、当該オブジェクトにおける異常の原因となる部位をさらに詳細に特定する。
<処理の流れ>
以上の処理の流れを図21に示すフローチャートを参照しながら説明する。
まず、管理コンピュータ200は障害箇所の特定を行う(S5000)。これは、上述した例えば図16に示す処理を実行することにより行うことができる。障害箇所が特定できたら(S5010)、障害箇所として特定されたオブジェクトをデータ転送経路として使用する各業務アプリケーションをシステム構成情報より全て求める(S5020)。そしてS5020で求めた業務アプリケーションの状態をエージェントより取得する(S5030)。つまり、障害部位として特定されたオブジェクトをデータ転送経路として使用する各アプリケーションプログラムのそれぞれに関して、アプリケーションサーバ300から送信されてくる異常検出情報の受信有無を調べる。そして各業務アプリケーションの状態の組み合わせにより、障害箇所の各部位の状態を判断する(S5040)。障害箇所の各部位の状態が判断できたら、障害箇所と業務アプリケーションの関連を表示し(S5050)、障害となっている業務アプリケーションを、出力装置260に強調表示する(S5060)。オペレータから、詳細表示の指示が有った場合には(S5070)、障害箇所の各部位について詳細表示する(S5080)。
これらの各情報が管理コンピュータ200のディスプレイ等の出力装置260に表示されている様子を図22に示す。図22には、ストレージ装置600の構成要素のうち業務アプリケーションAが専用する部位に障害が発生した場合の例が示される。
また管理コンピュータ200は、上記のようにして障害・異常の原因であると詳細に特定できた障害部位を自律ポリシー制御部へ渡し、自律ポリシーに従って自律制御を行うこともできる。
このように本実施の形態においては、より詳細に障害部位をシステム管理者に知らせることが可能となる。これにより、情報処理システムに障害が発生した場合の対応をより一層的確なものとすることが可能となる。また情報処理システムを構成する各構成要素について専任の管理者が存在する場合に、その専任者向けの表示機能を提供することも可能となる。
以上本実施の形態について説明したが、本実施の形態によれば、情報処理システムに障害が発生した場合に、障害の原因となっている構成要素をいち早く早く絞り込むことが可能となる。これは、より多くのアプリケーションプログラムに共用されている構成要素から先に障害有無をチェックしてゆくことにより実現できる。より多くのアプリケーションプログラムに共用されている構成要素ほど障害発生の可能性が高く、また他の構成要素で発生した障害の影響を受け易いからである。
特に、Web2/3階層アプリケーションのように複数のサーバ、DBMS、ストレージ装置等のリソースにより業務システムが構成され、複数の業務アプリケーションがこれらのリソースを共有しながら稼動している業務システムにおいては、ある業務アプリケーションで障害状態(高負荷状態、障害)を検知したときに障害発生箇所を位置早く絞込めることは重要である。業務アプリケーションで障害が検知された場合に、障害の原因が業務アプリケーションにあるのではなく、業務アプリケーションを構成する業務システムのどこかの部分で、もしくは共有する他の業務アプリケーションの業務システム上で発生している可能性があるからである(例えば、業務アプリケーションで書き込みエラーを検知したとしても、書き込み先のDBMSで障害が発生していた場合には、エラーの原因は業務アプリケーションではなくDBMSである)。
本実施の形態によれば、業務アプリケーションが実行される業務システムを構成するそれぞれの構成要素(サーバ、DBMS、ストレージなど)をオブジェクト化し、またそのオブジェクトの関連情報をシステム構成情報として保持し、複数の業務アプリケーションが稼動中の業務システム上の上記システム構成情報から、障害の本来の原因となっている構成要素を検証、特定し、トラブルシュートを容易とすることを可能とすることができる。
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施の形態に係るコンピュータシステムの全体構成を示すブロック図である。 本実施の形態に係るクライアント、管理コンピュータ、アプリケーションサーバ、データベースサーバの構成を示すブロック図である。 本実施の形態に係る管理コンピュータの記憶装置を示す図である。 本実施の形態に係るアプリケーションサーバの記憶装置を示す図である。 本実施の形態に係るデータベースサーバの記憶装置を示す図である。 本実施の形態に係るクライアントの記憶装置を示す図である。 本実施の形態に係るネットワーク機器の構成を示すブロック図である。 本実施の形態に係るストレージ装置の構成を示すブロック図である。 本実施の形態に係るポリシー制御を説明するための図である。 本実施の形態に係るシステム構成を示す図である。 本実施の形態に係るシステム構成管理テーブルを示す図である。 本実施の形態に係るオブジェクト管理テーブルを示す図である。 本実施の形態に係る探索ツリー管理テーブルを示す図である。 本実施の形態に係る探索ツリーを示す図である。 本実施の形態に係る探索ツリーを作成する処理の流れを示すフローチャートである。 本実施の形態に係る障害オブジェクトを絞り込む処理の流れを示すフローチャートである。 本実施の形態に係る障害オブジェクトを表示する場合の表示例である。 本実施の形態に係る障害オブジェクトを絞り込む処理の流れを示すフローチャートである。 本実施の形態に係る障害オブジェクトを絞り込む処理の流れを示すフローチャートである。 本実施の形態に係る障害オブジェクトにおいてさらに詳細に障害部位を探索する場合の処理を説明するための図である。 本実施の形態に係る障害オブジェクトにおいてさらに詳細に障害部位を探索する場合の処理の流れを示すフローチャートである。 本実施の形態に係る障害オブジェクトにおいてさらに詳細に障害部位を表示する場合の表示例である。
符号の説明
100 クライアント
200 管理コンピュータ
300 アプリケーションサーバ
400 データベースサーバ
500 LAN
510 SAN
520 ネットワーク機器
600 ストレージ装置
700 記録媒体
800 システム構成管理テーブル
810 オブジェクト管理テーブル
820 探索ツリー管理テーブル
900 自律ポリシー制御プログラム
910 業務アプリケーション制御プログラム
920 業務アプリケーション監視制御プログラム
930 管理コンピュータ制御プログラム
940 業務アプリケーション実行プログラム
950 APサーバ制御プログラム
960 エージェントプログラム
970 DBMS
980 データベースサーバ制御プログラム
990 クライアント制御プログラム
1000 ネットワーク機器制御プログラム
1010 ストレージ装置制御プログラム

Claims (18)

  1. 少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続され、
    前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶するシステム構成記憶部と、
    アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報を前記コンピュータから受信する異常検出情報受信部と、
    前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、
    前記検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、
    を備えることを特徴とする情報処理装置。
  2. 前記検査対象選定部は、
    前記検査対象の構成要素に異常が検出されなかった場合には、前記検査対象の構成要素と前記各コンピュータとの間を通信可能に接続するデータ転送経路上に並ぶ各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定し、
    前記検査対象の構成要素に異常が検出された場合には、前記検査対象の構成要素と前記各ストレージ装置との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記検査対象選定部は、
    前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、当該各構成要素の中で、当該各構成要素と前記各ストレージ装置との間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記検査対象選定部は、
    前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、当該各構成要素の中で、当該各構成要素と前記各コンピュータとの間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記検査対象を選定する際に、前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合に、
    当該各構成要素の中で、当該各構成要素と前記各ストレージ装置との間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定するアルゴリズムにより前記検査対象を選定するか、当該各構成要素の中で、当該各構成要素と前記各コンピュータとの間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定するアルゴリズムにより前記検査対象を選定するか、を示す選定アルゴリズム選択情報の入力をユーザインタフェースから受ける選定アルゴリズム入力部と、
    を備え、
    前記検査対象選定部は、前記選定アルゴリズム選択情報に応じて、検査対象を選定するアルゴリズムを切り替える
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 前記検査対象選定部は、
    前記検査対象の構成要素に異常が検出されなかった場合には、前記検査対象の構成要素と前記各ストレージ装置との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、前記検査対象の構成要素、及び前記検査対象の構成要素と前記データ転送経路で通信可能に接続されるストレージ装置については異常がない旨の情報をそれぞれ記憶すると共に、まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定し、
    前記検査対象の構成要素に異常が検出された場合には、前記検査対象の構成要素と前記各コンピュータとの間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、及び前記検査対象の構成要素と前記データ転送経路で通信可能に接続されるコンピュータについては異常がない旨の情報をそれぞれ記憶すると共に、まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定する
    ことを特徴とする請求項1に記載の情報処理装置。
  7. 前記検査対象選定部は、
    まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、前記各構成要素の中で、前記異常が検出されたアプリケーションプログラムと対応付けられる構成要素を検査対象として選定する
    ことを特徴とする請求項6に記載の情報処理装置。
  8. 前記検査対象選定部は、
    まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、前記各構成要素の中で、前記各構成要素と前記各ストレージ装置との間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
    ことを特徴とする請求項6に記載の情報処理装置。
  9. 前記検査対象選定部は、
    まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、前記各構成要素の中で、前記各構成要素と前記各コンピュータとの間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
    ことを特徴とする請求項6に記載の情報処理装置。
  10. 前記検査の結果をユーザインタフェースに出力する検査結果出力部と、
    を備える
    ことを特徴とする請求項1に記載の情報処理装置。
  11. 前記検査の結果に応じて、前記情報処理システムの自律制御を行う自律ポリシー制御部と、
    を備える
    ことを特徴とする請求項1に記載の情報処理装置。
  12. まだ検査対象として選定されていない構成要素のうち、異常がない旨の情報が記憶されていない構成要素がない場合には、直近に異常が検出された構成要素を、前記アプリケーションプログラムの実行に際して検出された異常の原因となる構成要素であると特定する異常箇所特定部と、
    を備える
    ことを特徴とする請求項6に記載の情報処理装置。
  13. 前記検査対象選定部は、
    前記アプリケーションプログラムの実行に際して検出された異常の原因となる構成要素であると過去に特定された構成要素をまず検査対象として選定する
    ことを特徴とする請求項12に記載の情報処理装置。
  14. 前記アプリケーションプログラムの実行に際して検出された異常の原因となる構成要素であると特定された構成要素をデータ転送経路として使用する各アプリケーションプログラムのそれぞれに関する前記異常検出情報の受信有無の組み合わせに応じて、前記構成要素における前記異常の原因となる部位を特定する異常箇所詳細特定部と、
    を備える
    ことを特徴とする請求項12に記載の情報処理装置。
  15. 前記特定された異常の原因となる部位をユーザインタフェースに出力する異常箇所出力部と、
    を備える
    ことを特徴とする請求項14に記載の情報処理装置。
  16. 前記特定された異常の原因となる部位に応じて、前記情報処理システムの自律制御を行う自律ポリシー制御部と、
    を備える
    ことを特徴とする請求項14に記載の情報処理装置。
  17. 少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続される情報処理装置の制御方法であって、
    前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶し、
    アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報を前記コンピュータから受信し、
    前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定し、
    前記検査対象として選定された構成要素に対して検査した結果を記憶する
    ことを特徴とする情報処理装置の制御方法。
  18. 少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続される情報処理装置に、
    前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶するシステム構成記憶部と、
    アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報を前記コンピュータから受信する異常検出情報受信部と、
    前記情報処理システムの各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、
    前記検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、
    を実現するためのプログラム。
JP2004320832A 2004-11-04 2004-11-04 情報処理装置、情報処理装置の制御方法、及びプログラム Expired - Fee Related JP4260723B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004320832A JP4260723B2 (ja) 2004-11-04 2004-11-04 情報処理装置、情報処理装置の制御方法、及びプログラム
US11/257,577 US7756971B2 (en) 2004-11-04 2005-10-24 Method and system for managing programs in data-processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004320832A JP4260723B2 (ja) 2004-11-04 2004-11-04 情報処理装置、情報処理装置の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2006133983A true JP2006133983A (ja) 2006-05-25
JP4260723B2 JP4260723B2 (ja) 2009-04-30

Family

ID=36727494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004320832A Expired - Fee Related JP4260723B2 (ja) 2004-11-04 2004-11-04 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US7756971B2 (ja)
JP (1) JP4260723B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158889A (ja) * 2006-12-25 2008-07-10 Fujitsu Ltd トラブル要因検出プログラム、トラブル要因検出方法およびトラブル要因検出装置
WO2010016239A1 (ja) * 2008-08-04 2010-02-11 日本電気株式会社 障害解析装置
WO2010038327A1 (ja) * 2008-09-30 2010-04-08 株式会社 日立製作所 イベント情報取得外のit装置を対象とする根本原因解析方法、装置、プログラム。
JP2013073389A (ja) * 2011-09-27 2013-04-22 Nec Corp 障害分析装置、障害分析方法、およびプログラム
JP2013161305A (ja) * 2012-02-06 2013-08-19 Nippon Telegr & Teleph Corp <Ntt> リソース監視装置、リソース監視システム、リソース監視方法及びリソース監視プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600148B1 (en) * 2006-09-19 2009-10-06 United Services Automobile Association (Usaa) High-availability data center
US7747898B1 (en) 2006-09-19 2010-06-29 United Services Automobile Association (Usaa) High-availability data center
US7685465B1 (en) * 2006-09-19 2010-03-23 United Services Automobile Association (Usaa) High-availability data center
WO2008105028A1 (ja) * 2007-02-28 2008-09-04 Sony Computer Entertainment Inc. 分散処理方法、分散処理システム、サーバ、そのプログラム、コンピュータおよびそのプログラム
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
WO2010050381A1 (ja) 2008-10-30 2010-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害イベントの検出を支援する装置、障害イベントの検出を支援する方法及びコンピュータプログラム
US8612406B1 (en) * 2012-05-22 2013-12-17 Sap Ag Sharing business data across networked applications
US9418387B1 (en) 2013-12-13 2016-08-16 Square, Inc. Employee customizable payroll processing
US10339608B1 (en) 2017-10-31 2019-07-02 Square, Inc. Selectable payroll amounts for instant payroll deposits

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3464846B2 (ja) 1995-05-02 2003-11-10 株式会社東芝 計算機システムの障害状態の監視診断装置
US6072777A (en) * 1996-06-28 2000-06-06 Mci Communications Corporation System and method for unreported root cause analysis
US5995485A (en) * 1996-11-26 1999-11-30 Mci Communications Corporation Method and apparatus for isolating network failures by correlating paths issuing alarms with failure spans
US6347074B1 (en) * 1997-08-13 2002-02-12 Mci Communications Corporation Centralized method and system for excluding components from a restoral route in a communications network
US6061723A (en) * 1997-10-08 2000-05-09 Hewlett-Packard Company Network management event correlation in environments containing inoperative network elements
JP3624657B2 (ja) * 1997-11-07 2005-03-02 株式会社日立製作所 管理計算機又は計算機システム
US6154849A (en) * 1998-06-30 2000-11-28 Sun Microsystems, Inc. Method and apparatus for resource dependency relaxation
US7287192B1 (en) * 1999-09-23 2007-10-23 Computer Associates Think, Inc. Identifying a failed device in a network
US6813634B1 (en) * 2000-02-03 2004-11-02 International Business Machines Corporation Network fault alerting system and method
US7043661B2 (en) * 2000-10-19 2006-05-09 Tti-Team Telecom International Ltd. Topology-based reasoning apparatus for root-cause analysis of network faults
US6904544B2 (en) * 2001-01-30 2005-06-07 Sun Microsystems, Inc. Method, system, program, and data structures for testing a network system including input/output devices
US7028228B1 (en) * 2001-03-28 2006-04-11 The Shoregroup, Inc. Method and apparatus for identifying problems in computer networks
US6886113B2 (en) * 2001-06-04 2005-04-26 Lucent Technologies Inc. System and method for determining and presenting network problems
JP2003162510A (ja) * 2001-11-27 2003-06-06 Allied Tereshisu Kk 管理システム及び方法
JP2003256225A (ja) * 2002-03-06 2003-09-10 Mitsubishi Electric Corp コンピュータシステム、障害対応方法及びコンピュータシステムを機能させるためのプログラム
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP4597488B2 (ja) * 2003-03-31 2010-12-15 株式会社日立製作所 プログラム配置方法及びその実施システム並びにその処理プログラム
US20050144151A1 (en) * 2003-04-02 2005-06-30 Fischman Reuben S. System and method for decision analysis and resolution
US7318226B2 (en) * 2003-10-16 2008-01-08 International Business Machines Corporation Distributed autonomic solutions repository
US20050262237A1 (en) * 2004-04-19 2005-11-24 Netqos, Inc. Dynamic incident tracking and investigation in service monitors
US7515531B2 (en) * 2004-08-17 2009-04-07 Cox Communications Apparatus and methods for the communication and fault management of data in a multipath data network
US7437611B2 (en) * 2004-10-21 2008-10-14 International Business Machines Corporation System and method for problem determination using dependency graphs and run-time behavior models
US20060087976A1 (en) * 2004-10-22 2006-04-27 Rhodes David M Method and system for network analysis
US7512841B2 (en) * 2004-10-22 2009-03-31 Hewlett-Packard Development Company, L.P. Method and system for network fault analysis

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158889A (ja) * 2006-12-25 2008-07-10 Fujitsu Ltd トラブル要因検出プログラム、トラブル要因検出方法およびトラブル要因検出装置
JP4504346B2 (ja) * 2006-12-25 2010-07-14 富士通株式会社 トラブル要因検出プログラム、トラブル要因検出方法およびトラブル要因検出装置
US7894360B2 (en) 2006-12-25 2011-02-22 Fujitsu Limited Trouble-factor detecting device, trouble-factor detecting method, and computer product
WO2010016239A1 (ja) * 2008-08-04 2010-02-11 日本電気株式会社 障害解析装置
US8635496B2 (en) 2008-08-04 2014-01-21 Nec Corporation Trouble analysis apparatus
JP5423677B2 (ja) * 2008-08-04 2014-02-19 日本電気株式会社 障害解析装置、コンピュータプログラムおよび障害解析方法
WO2010038327A1 (ja) * 2008-09-30 2010-04-08 株式会社 日立製作所 イベント情報取得外のit装置を対象とする根本原因解析方法、装置、プログラム。
JP2010086115A (ja) * 2008-09-30 2010-04-15 Hitachi Ltd イベント情報取得外のit装置を対象とする根本原因解析方法、装置、プログラム。
US8020045B2 (en) 2008-09-30 2011-09-13 Hitachi, Ltd. Root cause analysis method, apparatus, and program for IT apparatuses from which event information is not obtained
US8479048B2 (en) 2008-09-30 2013-07-02 Hitachi, Ltd. Root cause analysis method, apparatus, and program for IT apparatuses from which event information is not obtained
JP2013073389A (ja) * 2011-09-27 2013-04-22 Nec Corp 障害分析装置、障害分析方法、およびプログラム
JP2013161305A (ja) * 2012-02-06 2013-08-19 Nippon Telegr & Teleph Corp <Ntt> リソース監視装置、リソース監視システム、リソース監視方法及びリソース監視プログラム

Also Published As

Publication number Publication date
US7756971B2 (en) 2010-07-13
JP4260723B2 (ja) 2009-04-30
US20060230122A1 (en) 2006-10-12

Similar Documents

Publication Publication Date Title
JP4260723B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US10637745B2 (en) Algorithms for root cause analysis
US10373094B2 (en) Automated model based root cause analysis
US9720795B2 (en) Performance regression manager for large scale systems
US8204980B1 (en) Storage array network path impact analysis server for path selection in a host-based I/O multi-path system
JP5684946B2 (ja) イベントの根本原因の解析を支援する方法及びシステム
US8108724B2 (en) Field replaceable unit failure determination
JP4596889B2 (ja) ストレージシステムの管理方法
CN107870832B (zh) 基于多维度健康诊断方法的多路径存储设备
WO2006110140A1 (en) System and method of reporting error codes in an electronically controlled device
JP5432867B2 (ja) 計算機システムの管理方法、及び管理システム
JP5083051B2 (ja) 監視システム、監視装置、被監視装置、監視方法
JP6190468B2 (ja) 管理システム、プラン生成方法、およびプラン生成プログラム
US20180032216A1 (en) Guided Exploration of Root Cause Analysis
CN113973042B (zh) 用于网络问题的根本原因分析的方法和系统
US20140317445A1 (en) Recovery of storage device in a redundant array of independent disk (raid) or raid-like array
JP6009089B2 (ja) 計算機システムを管理する管理システム及びその管理方法
US20190340459A1 (en) Analyzing storage systems using machine learning systems
KR102580916B1 (ko) 5g 분산 클라우드 시스템의 빅 데이터를 이용하여 장애를 관리하는 장치 및 방법
US20150074267A1 (en) Network Anomaly Detection
US10901829B2 (en) Troubleshooting using a visual communications protocol
JP2014048782A (ja) 情報処理装置、及び情報処理装置の障害処理方法
JP2012022614A (ja) 計算機システムの管理方法、及び管理システム
CN105763371B (zh) 一种告警处理方法及装置
JP6070040B2 (ja) データベースシステム、データベース装置、データベースの障害回復方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081119

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

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

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees