説明

分散ネットワーク環境におけるシステム管理方法、情報処理装置及びプログラム

【課題】 コンピュータ分散処理環境で、コンピュータが配置されている物理的位置情報と、コンピュータ上で動作しているソフトウェアの論理構成情報を、統合的に検出し管理できる運用管理システムを提供する。
【解決手段】 ネットワーク・スイッチなどのネットワーク接続装置に対する物理的位置情報を、予め、台帳などにより記述しておき、物理的位置情報を構成アイテムとして生成し、ソフトウェア依存性発見手段によって見つけられ、構成管理データベース(CMDB)に保存された構成アイテムと、物理的位置情報の構成アイテムを関連付ける。物理的位置情報は、好適には構造化データとして構成され、それにより、物理的位置情報のCIを、階層的に関連付けることができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数のコンピュータがネットワークを介して接続された分散ネットワーク環境において、システム全体を運用管理するための方法、情報処理装置、及びプログラムに関するものである。
【背景技術】
【0002】
近年、インターネットの隆盛と、ウェブ・アプリケーションの普及、コンピュータ・ハードウェアの低価格化、高性能化にともない、分散ネットワーク環境によりシステムが構築される頻度が高まっている。すなわち、嘗てのように、一台の高価且つ大規模なメインフレーム・コンピュータに全てのデータ、プログラムを集中させるのではなく、安価で多数のコンピュータが、ネットワークで接続されて、システムが構成される。このような安価なコンピュータは、その一台一台は、メインフレーム・コンピュータに較べて、処理能力や信頼性で劣るものの、同一のデータを複数のコンピュータで共有することにより、一台のコンピュータが故障しても、他のコンピュータがデータを提供することにより、安全性が確保される。また、プロセスを、複数のコンピュータで分散並列処理することによって、分散システム全体としては、大規模なメインフレーム・コンピュータに劣らない高い処理性能を達成することができる。
【0003】
一方、分散処理環境では、地理的・論理的に分散された複数のコンピュータ上で、統合的に処理が行われるため、システムの障害、増設などにともなう、システムの変更が難しい、という問題点がある。すなわち、典型的には、分散処理環境を構成する個々のコンピュータは、どうしてもメインフレームよりも信頼性に劣るため、ある時点でどれかのコンピュータに障害が生じる、という確率は高まる。あるコンピュータが故障しても、多重化されているので、当面、システム全体の動作に支障はないとしても、結局、故障したコンピュータは、速やかに交換し、または修理する必要がある。
【0004】
しかし、分散処理環境では、その地理的・論理的に分散された特性により、故障したコンピュータの物理的位置を突き止めたり、そのコンピュータの故障によって、ソフトウェアによって処理されるプロセスの論理的依存関係がどのように影響を受けるか、ということを判断することが、必ずしも容易ではない。
【0005】
障害以外にも、頻繁に生じるのが、システム構成の変更である。例えば、ある企業が、ウェブサイトを立ち上げたとしよう。適当なアクセス数の予測のもとに負荷を見積もり、所望の処理能力で、ウェブサーバを構築する。ところが、そのウェブサイトが、望外の誤算で人気を博し、予測したアクセス数をはるかに超えたアクセスを受け、サーバがダウンしてしまう、という状況も、よく生じるところである。これに対応するため、単純にサーバとして処理容量が大きいものに代替したり、あるいはも一台のサーバがフェイルしたとき、同一構成の別のサーバに処理を渡すフェイルオーバー型クラスタリングや、ラウンドロビン、ロードバランサなどの仕組みを装備した負荷分散クラスタリングという構成等が採用されることになるが、結局、いずれにしても、分散処理環境の地理的・論理的関係が大幅に変更されることがあり、統合したシステムとして再構成するために大変な手間がかかることがある。再構成した結果、システムがうまく動作しなくなることもある。実際、分散処理環境では、システム障害の85%は、システム変更に起因する、という統計がある。
【0006】
このように、分散処理環境では、運用コストが増加する傾向にあり、少し規模が大きくなると、単に人手で管理できる範囲を超え、なんらかの管理システムの存在が必須となる。そのためのシステム管理コスト、人件費を含む運用費は、ITコストの70%にも達すると言われている。
【0007】
このような目的に使用される運用管理ツールの概念として、ITIL(Information Technology Infrastructure Library)(英国政府の商標)によりまとめられた、CMDB(Configuration Management Database)がある。これは、分散ネットワーク環境において、接続されている各コンピュータ上の構成に関する情報、その上で動作するアプリケーションに関する情報、コンピュータに接続されているNASなどの構成情報、ネットワークに直接接続されているSANなどの構成情報などの論理的依存あるいは連携関係などの情報を収集するシステムである。そのように収集されたデータは、GUIの表示ツールに渡されて、Apacheなどのウェブサーバと、WebSphere(IBMの商標)などのアプリケーションサーバ、DB2(IBMの商標)などのデータベース・システム等の間の接続関係を、個々のブロックと、それらのブロックの間のリンクで表示することもできる。
【0008】
インターナショナル・ビジネス・マシーンズ・コーポレーションから提供されているCCMDB(Change and Configuration Management Database)という製品は、上記CMDBを実装するとともに、構成変更を管理できる機能も有する。CCMDBは、SSH(セキュア・シェル)により、遠隔的に、必要なコマンドを実行し、データを収集することを自動的に行う。これらの機能に関して、WO2004/010246、WO2004/010292、WO2004/010293、WO2004/010298というPCT公開公報に記載がある。
【0009】
特開2000−13372は、ネットワークノードの固有番号をキーとして、機器の位置情報と設備情報を統括的に管理する技術を開示する。この技術によれば、管理対象となるネットワークノードの物理的接続構成を物理データベースに格納し、一方、ネットワークノードの監視を行って、論理稼動情報を論理データベースに格納し、それらの物理データベースと論理データベースから、特定のネットワークノードに対する現在の稼動情報及び物理的稼動情報を検索させ、その検索結果を、表示部に表示するようになされる。
【0010】
特開2005−292906は、資産情報を管理するシステムに関し、資産を識別する物理識別子と、それに対応するIPアドレスなどの論理識別子とを記憶し、入力した論理識別子に対応する物理識別子を検索して、その物理識別子に対応する資産情報を出力するようにすることを開示する。
【0011】
特開2006−79350は、コンピュータに取り付けられているネットワークカードのMACアドレスと、コンピュータ本体を対応付けてデータベース化し、コンピュータ本体の位置を、レイアウト画面上に表示し、コンピュータが移動しても追跡できるようにすることを開示する。
【0012】
以上のような従来技術によれば、分散処理環境で、稼動しているソフトウェア相互の依存関係の情報が提供される。また、MACアドレスなどの、物理的固有情報を用いて、ソフトウェアを稼動させるためのコンピュータの物理位置情報を管理する技法も提供される。
【0013】
しかし、上記のような従来技術のスキームでは、ソフトウェア等の論理的な対象間の依存関係を検出してリンクの情報を作成したり、MACアドレスに基づき、物理位置情報の識別を行うことなどは実現できても、ソフトウェアと、それが動作しているハードウェアをうまく関連付けることはできない。実際、CMDBの枠組みでは、ハードウェアの物理位置情報がなるべく抽象化され、寧ろ、どこの位置にあるコンピュータで、所定のソフトウェアが動作していても、関知しないようになされている。
【0014】
ところが、実際問題として、例えば、ビルディングAの1階の、部屋Bのエアコンが壊れて、その部屋の温度が異常に上昇し、コンピュータの稼動環境として不適合になったり、あるいは、ある区域一帯が停電したり、という事態になったとき、それらのコンピュータ上で稼動していて影響を受けるソフトウェアを突き止める必要がある、という場合がある。
【0015】
しかし、従来技術のスキームだと、ハードウェアの物理的位置が抽象化されているため、ある区域一帯のコンピュータで動作しているソフトウェアを自動的に検出する、ということが不可能である。どうしてもそれを達成しようとすると、あるソフトウェアが動作しているコンピュータのネットワーク・カードのMACアドレス等を、ネットワークに付随する機能により、知ることはできる。よって、それを手掛かりに、手作業でハードウェアの台帳を調べることになるが、それは、目で確認する必要があるので、どうしても人的な負担が非常に大きい。
【特許文献1】WO2004/010246
【特許文献2】WO2004/010292
【特許文献3】WO2004/010293
【特許文献4】WO2004/010298
【特許文献5】特開2000−13372
【特許文献6】特開2005−292906
【特許文献7】特開2006−79350
【発明の開示】
【発明が解決しようとする課題】
【0016】
この発明の目的は、従来の構成管理システムの概念を拡張して、分散ネットワーク環境上で動作している複数のソフトウェア間の論理関係と、それらのソフトウェアが動作しているコンピュータ・ハードウェアの物理位置情報を、統一的に且つ相互に関連付けるように扱うことを可能ならしめる、構成管理システムを提供することにある。
【課題を解決するための手段】
【0017】
上記の目的は、ソフトウェア間の論理関係をあらわすために使用されるデータ構造である構成要素と、論理的に同一または類似の構成要素を、物理的位置情報をあらわすために使用することができるように、管理システムを適合させることによって達成される。そのような構成要素は、ITILで定義されているCMDBの枠組みでは、CI(configuration item)、または構成アイテムと呼ばれる。よって、本発明は、既存のCMDBに対する、好適且つ非自明な拡張と見なすこともできる。
【0018】
本発明の一実施例によれば、先ず、構成管理システムが、分散ネットワーク環境で動作している個々のソフトウェアに対するCIを生成し、それらの依存関係を関連付ける。この処理のためには、従来の処理の仕組みを用いることができる。こうしておいて、本発明の一実施例に係るシステムは、分散ネットワーク環境で、個々のコンピュータを物理的に接続している対象となるネットワーク・スイッチ、ルータなどのネットワーク接続装置の情報を取得する。
【0019】
こうして、ネットワーク接続装置の情報が取得されると、次に、そのネットワーク接続装置がもっている、ARPテーブルが調べられる。そこにリストされた、IPアドレス及び対応するMACアドレスを用いて、CMDBに問い合わせが出され、これにより、CMDBに保存されている構成アイテムと、スイッチに接続されているコンピュータとが関連付けられる。
【0020】
ネットワーク接続装置と、その物理位置は、事前に、台帳として作成しておく。台帳は、ビル、フロア、ブロック、部屋等の物理的位置情報を記載したものである。その台帳から、後で詳細に説明する物理位置検出ステップにより、物理的位置情報、及び各位置情報を構成アイテム(CI)として構成管理データベース(CMDB)に保存する。これにより、例えば、特定のネットワーク・スイッチが、ビルAの4階の部屋401にあり、別の特定のネットワーク・スイッチが、ビルBの1階の部屋102にある、等の情報が構成管理データベースに保存され、コンピュータにより検索可能となる。
【0021】
CMDBに保存されている構成アイテムには、各コンピュータ上で動作しているソフトウェアのリストも含まれているので、このような関係付けによって、接続されているスイッチによって識別されるコンピュータの物理位置情報と、動作しているソフトウェアとが、自動的に関連付けられる。
【0022】
本発明の好適な実施例では、構成アイテムと、それらの間の関係付けが、Java(サンマイクロシステムの商標)のクラスのインスタンスで構成される。
【発明の効果】
【0023】
この発明によれば、CMDBの枠組みの範囲で、物理的位置情報と、論理位置情報を同時に、自動的に検出することが可能になり、以って、システム障害やシステム変更等の際に、ソフトウェアの論理情報を、そのソフトウェアが動作しているコンピュータの物理的位置情報とあわせて把握できるので、操作員が、ネットワークやシステムの問題を分析する時間が短縮され、よって、システム障害がより早期に解決されることになる。
【0024】
また、問題が起きたときに、操作員が、適当なGUIをもちいて、物理的位置情報と論理位置情報を併せてその全体を眺めることが可能になるので、影響範囲を操作員が見落とす可能性が低減する。
【0025】
さらに、一見無秩序に発生する障害を、物理的位置と関連付けて認識することが可能になるので、例えば、ビルの特定区域の電圧低下、エアコンの故障による温度の異常、無線LANの電波障害など、原因追求や影響範囲の特定が容易になる。
【0026】
またさらに、仮想マシン環境が進むと、どのソフトウェアがどの物理的位置にあるコンピュータで動作しているかが抽象化されて、ユーザーにとっては便利であったが、システムの障害や変更に対応するシステム担当者にとっては、コンピュータの物理的位置を見極めることが一層困難になるという欠点があった。この発明によれば、仮想マシン環境が混在する環境でも、システム担当者が、物理的位置情報と、論理位置情報をあわせて、自動的に認識することが可能になり、システム運用管理の効率化と適用範囲の拡大がはかられる。
【0027】
さらに、従来の運用管理システムでは、そもそも、システムの物理位置そのものを追跡することが困難で、ましてや、システムの物理位置を検出することなど不可能に近かった。本発明のシステム及び方法によれば、システムの物理位置の検出が、自動的に行われるので、物理構成の変更による影響調査を行うことも容易である。
【発明を実施するための最良の形態】
【0028】
以下、図面に従って、本発明の実施例を説明する。この実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【0029】
図1を参照すると、本発明の実施例に係るコンピュータ・ハードウェアのブロック図が示されている。
【0030】
コンピュータ100は、CPU102と、メインメモリ104をもち、これらは、バス106に接続されている。CPU102は、好適には、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium(R) 4、AMD社のAthlon(R)などを使用することができる。バス106には、ディスプレイ・コントローラ108を介して、LCDモニタなどのディスプレイ110が接続される。ディスプレイ110は、システム運用管理の目的で、通信回線150を介してネットワークに接続されたコンピュータの物理構成情報と、そのコンピュータ上で動作中のソフトウェアの論理構成情報を、適当なグラフッィクインターフェースで表示するために使用される。バス106にはまた、IDEコントローラ112を介して、ハードディスク114と、CD−ROMドライブ116が接続される。
【0031】
ハードディスク114には、オペレーティング・システム、J2EEなどのJava処理環境を提供するプログラム、CMDBのための運用管理プログラム、後で詳述するが、本発明に係る物理位置検出ロジックのためのプログラム、物理位置変更検出ロジックのためのプログラム、ネットワーク・スイッチの物理的位置を記述する台帳、その他のプログラム及びデータが、メインメモリ104にロード可能に記憶されている。運用管理プログラムは、好適には、インターナショナル・ビジネス・マシーンズ・コーポレーションから提供されるTADDM(Tivoli(R) Application Dependency Discovery Manager)を含む。なお、TADDMの機能については、http://www-306.ibm.com/software/tivoli/products/taddm/ 等を参照されたい。TADDMにより、分散ネットワークの複数のコンピュータ上で動作している複数のサーバ・プログラム、データベース・プログラム、アプリケーション・プログラムなどの相互依存関係を階層的に視覚化して管理することが可能となる。
【0032】
CD−ROMドライブ116は、必要に応じて、CD−ROMからプログラムをハードディスク114に追加導入するために使用される。バス106には更に、キーボード・マウスコントローラ118を介して、キーボード120と、マウス122が接続されている。キーボード122は、メニューに応じて、物理位置上方などの画面に入力するために使用される。マウス122は、所定のボタンをクリックして、物理位置検出ロジック等を起動するために使用される。
【0033】
通信インターフェース126は、例えばイーサネットプロトコルに従うものであり、通信コントローラ124を介してバス106に接続され、コンピュータ100と、通信回線150とを、物理的に接続する役割を担い、コンピュータ100のオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワークインターフェース層を提供する。尚、図示されている構成は、有線接続構成であるが、例えば、IEEE802.11a/b/gなどの無線LAN接続規格に基づき、無線LAN接続するものであってもよい。
【0034】
図2を参照すると、通信回線150に、ネットワーク・スイッチを介して、複数のコンピュータが接続されている構成が示されている。ネットワーク・スイッチS1には、コンピュータ204、206、208、210が接続され、ネットワーク・スイッチS2には、コンピュータ212、214が接続されている。ネットワーク・スイッチS2にはさらに、ネットワーク・スイッチS3が接続され、ネットワーク・スイッチS3には、コンピュータ216、218が接続されている。
【0035】
なお、この実施例で、コンピュータ等のハードウェアを接続するためのネットワーク接続装置として使用できるものとして、上記のネットワーク・スイッチ以外に、これで尽きている訳ではないが、ルータ、ハードウェア管理コンソール等がある。要するに、ネットワーク運用管理用プログラムが導入されているコンピュータからの、所定のコマンドによる問合せに対して、それに接続されているコンピュータのIPアドレス、MACアドレスなどの構成情報を返すことができる機能をもつネットワーク接続装置である。ネットワーク・スイッチ及びルータは、アドレス解決プロトコル(ARP)のための、それに接続されているコンピュータのIPアドレス及び、それに対応するMACアドレスの対のリストを含むARPテーブルを含み、所定のコマンドによる問合せに対して、ARPテーブルの内容を返す機能をもつ。ハードウェア管理コンソールは、ARPテーブルよりも更に詳しい、コンピュータの構成情報を返すことができる。
【0036】
コンピュータ204、206には、上述したハードウェア管理コンソール202が接続されている。これは、コンピュータ204、206で、LPAR(仮想論理区画)により一台のコンピュータを複数の区画に論理分割し、その各々の区画で、VMwareにより、Windows(R)、Linux(R)などの異なるOSを走らせるようにする機能を有するものである。ハードウェア管理コンソール202にシステム的に問い合わせすることにより、LPAR・VMwareで動作しているコンピュータ204、206の個々の論理区画での情報を、詳細に得ることができる。
【0037】
図2の左側の部分において、台帳ファイル160は、このシステムによって、物理構成情報、論理構成情報を検出するネットワークの範囲内にある個々のネットワーク・スイッチの物理位置を、好適には階層的に、記述するものである。
例えば、ネットワーク・スイッチ1の物理位置が、区切り文字','で、東京営業部,ビルA,3階,コンピュータ室1のように記述される。このような記述は、初期的には、コンピュータで自動的に行うのではなく、建物内のネットワーク・スイッチの配置を確認して、人手で作成する必要がある。区切り文字は、','以外に、'/',' '、タブコードなど、この分野の当業者が使う適当な区切り文字であってもよい。
【0038】
こうして作成された台帳ファイル160は、コンピュータにより検索可能に、ハードディスク114に保存され、ネットワーク・スイッチの移動、増設など物理的なネットワーク構成の変更に応じて、さらに人手で変更を加えることになる。
【0039】
物理位置検出ロジック162は、初期的にコンピュータの物理構成位置と論理構成位置を統合的に検出するためのプログラムであって、好適にはJavaで書かれ、ハードディスク114に保存されている。そうして、構成情報の検出処理時に、メイン・メモリ104にロードされる。その処理は、フローチャートにより後で詳細に処理する。
【0040】
物理位置変更検出ロジック164は、物理位置検出ロジック162と類似の機能をもつものであるが、一旦、物理位置検出ロジック162によって物理構成位置と論理構成位置とが検出された後、システムの、物理構成位置が変更されたことを検出し、必要に応じてアラートするためのプログラムである。やはり好適にはJavaで書かれ、ハードディスク114に保存されている。そうして、キーボード120またはマウス122などによるユーザー操作に応答して、あるいは、別途のスケジュールルーチンによる定時呼び出しに応じて、メイン・メモリ104にロードされ、実行される。その処理は、フローチャートにより後で詳細に処理する。
【0041】
なお、ネットワークで使用する、ネットワーク・スイッチ、ルータ、ハードウェア管理コンソール等のネットワーク接続装置は、全体のネットワークの構成時に、一意的なIPアドレスを付与され、以後、そのIPアドレスで一意的に識別される。よって、物理位置検出ロジック162及び物理位置変更検出ロジック164は、そのIPアドレスで以って、どのネットワーク接続装置にアクセスしているかを完全に知ることができる。
【0042】
物理位置マップ・ロジック166は、台帳160の記録内容に基づき、階層的な物理構成情報の構成アイテムを作成するためのプログラムであり、好適にはJavaで書かれ、ハードディスク114に保存されている。そうして、物理位置検出ロジック162によって呼び出され、実行される。その処理は、フローチャートにより後で詳細に処理する。
【0043】
IDML168は、Identity Markup Languageの略で、XMLの一種であり、CMDB170に対して、構成アイテムをロードするために使用されるフォーマットである。インターナショナル・ビジネス・マシーンズ・コーポレーションから、IDMLファイルを作成するためのDL APIが提供されており、好適にはその機能を利用してもよい。IDMLについは、本発明の本質とはあまり関係ないので、ここでは詳説しない。当面の目的には、IDMLが、CMDBに対して、構成アイテムの属性と、構成アイテムの間の論理的関係を保持することができるデータ形式であると理解しておけば、十分である。
【0044】
次に、図3を参照して、物理位置検出ロジック162の動作を説明する。物理位置検出ロジック162は、システムが構築された最初の段階で、オペレータによる、図1に示すキーボード120またはマウス122の操作で、実行される。この操作により、ステップ302で、通信コントローラ124、通信インターフェース126を介して、物理位置検出ロジック162から、通信回線150への接続がはかられ、物理位置検出ロジック162は、通信回線150上にある、ネットワーク・スイッチ、ルータ及びハードウェア管理コンソールを探す。
【0045】
なお、ステップ302のネットワーク・スイッチは、ルータでもよく、ARPテーブルの値を返すことのできるネットワーク接続装置の総称と理解されたい。ARPテーブルに類似する構成情報を返すことができるネットワーク接続装置という意味では、LPAR VMwareを管理するためのネットワーク管理コンソールも含まれることに留意されたい。
【0046】
そうして、ネットワーク・スイッチが見つかると、そのネットワーク・スイッチのCIが、ネットワーク・スイッチ自体のIPアドレスを用いてCMDB170で検索されて、もし見つからなければ、CIが新たに生成され、当該ネットワーク・スイッチの物理構成情報が、台帳160から検索されて、そのCIに設定される。
【0047】
次に、ステップ304では、当該ネットワーク・スイッチのARPテーブルが取得され、ステップ306では、ARPテーブルにリストされている、IPアドレスとMACアドレスの対が調べられる。なお、ARPテーブルのエントリの例を下記の表に示す。この内容は、例示的なもので、実際のIPアドレスやMACアドレスに対応するものではないことを理解されたい。
【表1】

【0048】
ステップ308では、物理位置検出ロジック162は、ステップ306で得られた一連のIPアドレスでpingのような処理を行うことにより、対象となるコンピュータの稼動を確認する。ここで、稼動状態が確認されたもののみ、次のステップ310での処理対象となる。
【0049】
次のステップ310では、稼動状態が確認されたIPアドレスと、それの対応のMACアドレスで以って、CMDB170に照会がなされる。もし、予めTADDMの機能の処理が完了していれば、CMDB170に、対応するコンピュータのCIが既に格納されているはずであり、その結果、対応するCIが返される。もし、何かの事情で、CMDB170にCIが見つからなければ、例えば、次の物理位置変更検出ロジック164の定期実行時に、CIの対応付けを行ってもよいし、あるいは、直ちにTADDMの機能を呼び出して、CIを生成し、それを関連付けてもよい。
【0050】
このようにして対応が確認された対象コンピュータのCIに対して、ステップ312では、当該ネットワーク・スイッチのCIと、もしあれば、当該ネットワーク・スイッチに関連付けられている他のCIが関連付けられる。
【0051】
このような、ネットワーク・スイッチのCIと、それに対応する他のCIとの関連性は、一旦、IDMLという形式でディスク114にセーブされてから、そのIDMLを介して、CMDB170に格納される。
【0052】
なお、図2に示すように、ネットワーク・スイッチS2に更に、ネットワーク・スイッチS3がさらに接続され得る。このような場合、ネットワーク・スイッチS2のARPテーブルを見ると、どれが更なるネットワーク・スイッチか分かるので、図3のステップを再帰的に適用すればよい。
【0053】
本発明のこの実施例では、CI及びCI間の関係はすべて、Javaのクラスのインスタンスとして実装される。その様子を、図7を参照して説明する。図2に戻って、ネットワーク・スイッチS2と、それに接続されたコンピュータ212、214という、サブセットを考える。すると、図3のステップ302で、物理位置検出ロジック162は、ネットワーク・スイッチS2を見出した時点で、ネットワーク・スイッチS2のIPアドレスを用いて、CMDB170から、ネットワーク・スイッチS2に対応するCIを見出す。そのCIには、前回に台帳160を参照して検索された物理位置情報である、例えば建物区画番号である、SE04がセットされている。この情報は、IDMLを介してCMDB170に読み込まれ、そこで、Javaのクラスのインスタンスとして実装される。このようにして実装されたJavaのクラスのインスタンスは、例えば、JDOと呼ばれる、Javaのクラスのインスタンスを永続化してハードディスクに保存する仕組みにより、CMDB170に保存される。よって、運用管理用のコンピュータ100の電源を一旦切っても、生成されたJavaのクラスのインスタンスが消失することはなく、次に電源を投入したときに、ハードディスクから読み出され、メイン・メモリ104上に展開されて、Javaのプログラムによって変更または削除可能なJavaのクラスのインスタンスとなる。よって、以下では、CIを、CMDB170内にJavaのクラスのインスタンスとして生成されたものとして、説明を進める。
【0054】
さて、ネットワーク・スイッチS2のCIは、LocationというJavaのクラスのインスタンス702としてあらわされ、そのクラスは、物理位置情報をあらわす内部パラメータと、図示しないが、ネットワーク・スイッチS2のIPアドレスなど、その他の情報ももつ。
【0055】
図3のステップ306で、ネットワーク・スイッチS2のARPテーブルを調べることにより、図2に示すコンピュータ212、214のCI704、706がCMDB170に見つかり、これにより、図7に示すように、CI702と、CI704、706とが、関連付けられる。これらのCIを関連付けるのが、この実施例では、LocatedAtという、Javaのクラスのインスタンスである。
【0056】
それは、簡易的には、次のようなコード表示であらわされ、CIのSourceIDやDestinationIDの値を取得したり、セットするためのメソッドをもつ。
class LocatedAt {
String SourceID;
String DestinationID;
String GetSource() {
return SourceID;
}
String GetDestination() {
return DestinationID;
}
void SetSource( String ASourceID ) {
SourceID = ASourceID;
}
void SetDestination( String ADestinationID ) {
DestinationID = ADestinationID;
}
}
【0057】
すなわち、CI702とCI704を関連付けるLocationAtというインスタントと、CI702とCI706を関連付けるLocationAtというインスタントとが、それぞれ、生成されることになる。
【0058】
一方、CI702とCI706も、ComputerSystemというJavaのクラスのインスタンスとして実装されている。示されているように、ComputerSystemというJavaのクラスは、コンピュータ名をあらわすname、AssetID、CPUなどのパラメータと、図示しないが、IPアドレス、MACアドレスなどのその他情報のパラメータももつ。
【0059】
また、TADDMの機能により、各コンピュータ208、210に導入され動作しているソフトウェアが検出されて、CI708、710としてCMDB170に格納されており、これらは、図示されているように、プログラム名としてのname、AssetID、Vendorなどのパラメータをもつ、ソフトウェアをあらわすJavaのクラスのインスタンスとして実装されている。
【0060】
コンピュータ名をあらわすCIと、それらに導入されているソフトウェアのCIの関係付けは、InstalledOnというJavaのクラスのインスタンスとして実装され、また、コンピュータ名をあらわすCIと、それらの上で動作するソフトウェアのCIの間の関係は、RunsOnというJavaのクラスのインスタンスとして実装されている。詳述しないが、InstalledOn及びRunsOnというJavaのクラスも、LocatedAtと同様の、SourceIDやDestinationIDをgetし、あるいはsetするメソッドをもつ。
【0061】
さて、図4に戻って、物理位置検出ロジック162の別の機能について、説明する。説明を補足すると、物理位置検出ロジック162のうちの図3に示す機能は、基本的に、運用管理システムによって自動的に起動され動作するものであるが、図4に示す機能は、必要時に操作員が起動する機能であるということができる。図4のステップ402では、台帳160のデータを基に、物理位置マップ・ロジックを実行する。物理位置マップ・ロジックの詳細は、図5に示されている。そこで図5を参照して、物理位置マップ・ロジックを説明する。
【0062】
説明を分かりやすくするために、具体的な台帳160のデータを挙げて説明する。下記の表に示すように、台帳160は、ネットワーク・スイッチ、ルータ、ハードウェア管理コンソール(HMC)などネットワーク接続装置のように、ハードウェアをグループ化して接続するアイテム毎に、物理位置情報を示すものである。なお、実際の台帳データ160は、これ以外にも、ネットワーク接続装置のIPアドレス、その他の情報を含んでいてよいが、説明の便宜上、ここでは省略する。
【表2】

図5のステップ502では、物理位置情報が、構造化された情報かどうかが判断される。ここで、構造化された情報であるとは、例えば、建物,階,部屋のように、','や'/'やスペースなどの適当な区切文字で、位置情報が階層化されていることを意味する。
【0063】
もし、適当な区切文字で区切られた構造化された情報であると判断されると、ステップ504で、マッピング・テーブルによる解析が行われる。ここでいう解析とは、物理位置情報を階層構造として処理することであり、上記の表で、スイッチS1に対する物理位置情報であるビルA,2F,R21を例にとると、第1階層のビルA、第2階層の2F、第3階層のR21が、マッピングすべきアイテムとして解析により、識別されたことになる。
【0064】
なお、ここで、階層化された物理位置情報のCIは、好適には、図7のJavaクラスのインスタンスと同様に、IDMLの形式で生成されてCMDB170に格納され、Javaクラスのインスタンスとして実現されることを理解されたい。ここでも、ある物理位置情報のCIが、ある上位階層の物理位置情報のCIに位置する、ということをあらわすために、LocatedAtというJavaクラスが使用される。すなわち、運用管理システムからみた、ビルなどの建物も、部屋も、ネットワーク接続装置も、コンピュータも、コンピュータ上に実現された仮想処理環境も、コンピュータ上で動作しているWebサーバ、アプリケーション・サーバ、データベース・プログラムなどのソフトウェアも、CIという点では、論理的に同等のものとしてCMDB170に格納され、取り扱われる。このことにより、運用管理システムの可用性と柔軟性が、飛躍的に高められることが、当業者には理解されよう。
【0065】
なお、物理位置CIは、運用管理する分散システムのドメインの範囲に応じて、ビルより大きい単位で、事業所のCI、市のCI、県のCI、州のCIなど、任意の単位で作成することができる。
【0066】
次にステップ506では、マップ可能かどうか、すなわち、上記識別されたアイテムが、既に、CIとして、CMDB170に作成されているかどうかが判断される。もしそうであるなら、ステップ508で、その最下層のCI、すなわち、R21に対する物理位置情報がマップされる。
【0067】
そうでないなら、ステップ510で、図8に示すように、物理位置のCIが新規作成されて、CMDB170に保存される。
【0068】
ステップ502で、構造化された情報でないと判断されると、ステップ504で、トークンに分解可能かどうかが、判断される。上記したように、構造化された情報でないとは、例えば、上記表に示した、台帳のスイッチSnに対する、ビルC4FR5101という情報でも、もし、数字+Fがフロア、Rで始まるのが部屋番号、というルールがあれば、ビルC、4F、R5101というトークンに分解することができ、こうして、ステップ514で、トークンが、可能な限り対応する物理位置と置き換えられて、ステップ506での判断に移行する。あるいは、構造化されていない物理位置情報のトークンへの分解は、既存の構造化されている物理的位置情報と突き合わせて、行うこともできる。例えば、ビルC、5F、R5111という物理的位置情報がある場合、これら既存の物理的位置情報に一致する部分を切り出していき、残りを独立のトークンとして扱うようにすることもできる。
【0069】
ステップ512で、それでも既存のルールを適用してもトークンに分解できないと判断されると、ステップ516で、ユーザーに、物理位置情報を、所定の文字で区切って、構造的に入力するようにプロンプトする。こうして入力された、構造化された物理位置情報は、好適には、台帳160に反映されて、次回の物理マッピングの際に使用される。
【0070】
さて、図4に戻って、ステップ402で、台帳160の位置データに基づき、マップ・ロジックの呼び出しによって、図9のような階層的な物理位置情報が得られたとする。
【0071】
そこで、ステップ406では、台帳160の対象CIデータをキーとして、CMDB170から、関連CIが取得され、関連付けられる。例えば、図9で、台帳160によれば、物理位置R21に関連付けられているのは、スイッチS1であり、スイッチS1には、図2に示すように、コンピュータ208、210が関連付けられるので、R21のCIには、コンピュータ208、210のハードウェアのCI、及び更に、コンピュータ208、210に導入され、そこで動作しているソフトウェアのCIが、論理構成情報として、更に関連付けされる。
【0072】
このようにして、図10に示すように、建物または部屋のCIである、ビルA、2F、R21、R22、ビルB、4F、R41、C1と、コンピュータのハードウェア204、206、208、210、212、214、216、218のCIと、コンピュータ208、210等で動作しているアプリケーション・プログラム1010、1012、1014、1016のCIの相互の依存関係が、CMDB170中で構築され、このような依存関係は、適当なGUIの表示モジュールにより、ディスプレイ110に表示することが可能である。
【0073】
次に、図6を参照して、物理位置変更検出ロジック164の処理について、説明する。物理位置変更検出ロジック164の基本的な機能は、物理位置検出ロジック162とほぼ同等であり、定期的なスケジューリングまたは、ユーザーの操作に応答して起動される。ここで留意すべきなのは、物理位置変更検出ロジック164がなくても、物理位置検出ロジック162だけで、物理位置が変更になったとき、それに対応するCIをきちんと生成する機能がある、ということである。よって、物理位置変更検出ロジック164の主要な機能は寧ろ、物理位置の変更を検出して、運用管理システムのオペレータにきちんとアラートできるようにする、ということにある。
【0074】
図6のステップ602は、判断ブロックのように表示されているが、ネットワーク・スイッチの位置変更と、LPAR.VMwareの位置変更と、台帳の位置変更とを順次調べていく処理である、と理解してもよい。なお、ステップ602のネットワーク・スイッチは、ルータでもよく、ARPテーブルの値を返すことのできるネットワーク接続装置の総称と理解されたい。
【0075】
ネットワーク・スイッチの位置変更については、ステップ204で、ネットワーク・スイッチに関連付けられているリストの取得がなされ、ステップ606では、当該ネットワーク・スイッチのARPテーブルから、現在当該ネットワーク・スイッチに接続されているハードウェアのリストが取得される。そうして、CMDB170から、当該ネットワーク・スイッチに関連するCIが読み出され、今回ARPテーブルから読み出された情報と比較される。そうして、もし比較結果に不一致が見出されると、ステップ608で、「変更あり」が操作員にアラートされ、ステップ610でTADDMの機能を呼び出して、再度CIが作成し直され、再度関連付けが行われる。
【0076】
LPAR.VMwareの場合も同様であり、ステップ612で、LPAR.VMwareに関連付けられている位置情報が、ハードウェア管理コントールにより取得され、それに基づき、ステップ614で、対象のLPAR.VMwareのホストの位置情報が取得され、LPAR.VMwareのホストの位置情報が、CMDB170に保存されている関連のCIと比較され、もし比較結果に不一致が見出されると、ステップ608で、「変更あり」が操作員にアラートされ、ステップ610でTADDMの機能を呼び出して、再度CIが作成し直され、再度関連付けが行われる。
【0077】
台帳160の場合は、例えば、台帳160に新しいビル名や部屋名などの追加した場合は、ステップ616の比較の結果、それのCIがCMDB170に存在しない、ということになる。あるいは、ネットワーク・スイッチの物理位置を変更し、それを台帳160に反映した場合は、そのネットワーク・スイッチに対応するCIの示す位置が、台帳160における対応する物理的位置の記載と不一致ということになる。さらに、ある部屋から、ネットワーク・スイッチと、それに接続されたコンピュータの一式を撤去した場合は、それらのCIに対応するエントリ自体が、台帳160中にみつからない、ということになる。それらの場合、ステップ608で、「変更あり」が操作員にアラートされ、ステップ610では、例えば、図4に示すルーチンを起動して、再度、新しい位置情報のCI及びそれに対するハードウェアのCIとの関連付けを更新することになる。
【0078】
図10に戻って、物理構成情報のCIと論理構成情報のCIと、それらの間の関係が生成され、CMDB170に保存されると、この情報は、慣用的なGUI技法で、グラフィカルにディスプレイ110に表示することができ、さらに、表示されたCIをクリックすることにより、それに関連づけられている部屋のCIと、コンピュータとCIと、それらのコンピュータ上で動くソフトウェアのCIを関連付けて、別ウインドウに拡大表示するようなことも、CIの間の依存関係を利用することにより、当業者なら実現できるはずである。
【0079】
また、今までの実施例では、例えば、部屋のCIと、その部屋に設置されているネットワーク接続装置のCIを同一視し、部屋のCIは表示するけれども、ネットワーク接続装置のCIは表示しないようにしている。これは、ネットワーク接続装置は単なる中継装置で、それ自体を独立の装置として扱う必要がない、とみなしたことによる。しかし、1つの部屋に複数のネットワーク接続装置が設置されていたり、ネットワーク接続装置が特殊なインテリジェントな機能をもつ場合は、ネットワーク接続装置自体のCIを、ビルや部屋などの物理的位置とは別個に表示するようにしてもよい。
【0080】
以上、実施例に基づき本発明を説明してきたが、この実施例に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが、明らかであろう。例えば、CMDBとそれに格納されたCIではなく、別の形式のデータベースと構成要素の形式を用いることもできる。また、Java以外に、C++、C#など、ネットワーク管理機能をもつAPIを呼び出すことのできる任意のコンピュータ開発環境を用いることができる。
【図面の簡単な説明】
【0081】
【図1】本発明を実施するためのコンピュータ・ハードウェアのブロック図である。
【図2】本発明の実施例に従い、コンピュータ・ネットワークの物理位置情報を検出するためのシステムのブロック図である。
【図3】物理位置検出ロジックの処理のフローチャートである。
【図4】物理位置検出ロジックのうちの、台帳のデータの処理に関する部分のフローチャートである。
【図5】物理位置マップ・ロジックの処理のフローチャートである。
【図6】物理位置変更検出ロジックの処理のフローチャートである。
【図7】物理位置情報と論理情報のCIと、その関連付けのためのJavaクラスのインスタンスを示す図である。
【図8】台帳に基づく、物理位置情報のCIを示す図である。
【図9】台帳に基づく、物理位置情報のCIを示す図である。
【図10】物理位置CIと、論理関連情報CIが統一的に関連付けられいる様子を示す図である。

【特許請求の範囲】
【請求項1】
ネットワーク接続装置を介して、複数のコンピュータが接続された分散処理ネットワーク・システムにおいて、該ネットワーク・システムの構成情報を管理するための情報処理装置であって、
前記ネットワーク接続装置の物理的位置の情報を、コンピュータにより読み出し可能に保持する手段と、
前記ネットワーク接続装置に接続されている前記コンピュータのネットワーク・アドレスに関する情報を取得する手段と、
前記ネットワーク接続装置に接続されている前記コンピュータ上で動作しているソフトウェアに関する情報を取得する手段と、
前記ネットワーク接続装置の物理的位置の情報を、前記コンピュータのネットワーク・アドレスに関する情報及び、前記コンピュータ上で動作しているソフトウェアに関する情報と関連付けて保存する記録手段とを有する、
情報処理装置。
【請求項2】
前記ネットワーク接続装置が、ネットワーク・スイッチまたはルータであり、前記コンピュータのネットワーク・アドレスに関する情報を、該ネットワーク・スイッチが保有するARPテーブルの情報を用いて検出する、請求項1に記載の情報処理装置。
【請求項3】
前記ネットワーク接続装置に接続されたコンピュータが仮想システムとして構成される場合、該仮想システムの構成情報を、ハードウェア管理コンソールから提供される情報を用いて検出する、請求項1に記載の情報処理装置。
【請求項4】
前記記録手段が、構成管理データベース(CMDB)であり、前記ネットワーク接続装置の物理的位置、前記コンピュータのネットワーク・アドレスに関する情報、前記コンピュータ上で動作しているソフトウェアに関する情報が、構成アイテム(CI)として作成され、各々相互の間の依存性の情報とともに、該CMDBに保存される、請求項1に記載の情報処理装置。
【請求項5】
前記ネットワーク接続装置が関連付けられている物理的位置が、階層的に構成された物理的位置に関連付けられており、前記ネットワーク接続装置に接続されたコンピュータのネットワーク・アドレスに関する情報及び該コンピュータで動作するソフトウェアに関する情報である構成アイテムが、階層的に構成されたデータ構造をもつ、請求項4に記載の情報処理装置。
【請求項6】
前記物理的位置情報の構成アイテムと、前記コンピュータのネットワーク・アドレスに関する情報及び該コンピュータで動作するソフトウェアに関する情報である構成アイテム間の関係は、Javaのクラスのインスタンスとして実装される、請求項4に記載の情報処理装置。
【請求項7】
ネットワーク接続装置を介して、複数のコンピュータが接続された分散処理ネットワーク・システムにおいて、該ネットワーク・システムの構成情報を管理するためのシステム運用管理方法であって、
前記ネットワーク接続装置の物理的位置の情報を識別するステップと、
前記ネットワーク接続装置に接続されている前記コンピュータのネットワーク・アドレスに関する情報を取得するステップと、
前記ネットワーク接続装置に接続されている前記コンピュータ上で動作しているソフトウェアに関する情報を取得するステップと、
前記ネットワーク接続装置の物理的位置の情報を、前記コンピュータのネットワーク・アドレスにに関する情報及び、前記コンピュータ上で動作しているソフトウェアに関する情報に関連付けて記録手段に保存するステップとを有する、
システム運用管理方法。
【請求項8】
前記ネットワーク接続装置の物理的位置の識別は、予め各ネットワーク接続装置毎に構成管理データベース(CMDB)に記録された物理位置のリストを参照することによって行われる、請求項7のシステム運用管理方法。
【請求項9】
前記ネットワーク接続装置が、ネットワーク・スイッチまたはルータであり、前記コンピュータのネットワーク・アドレスに関する情報は、該ネットワーク・スイッチが保有するARPテーブルの情報を用いて検出する、請求項8に記載のシステム運用管理方法。
【請求項10】
前記ネットワーク接続装置に接続されたコンピュータが、仮想システムとして構成され、該仮想システムとして構成の構成情報を、ハードウェア管理コンソールから提供される情報を用いて検出する、請求項8に記載のシステム運用管理方法。
【請求項11】
前記記録手段が、構成管理データベース(CMDB)であり、前記ネットワーク接続装置の物理的位置、前記コンピュータのネットワーク・アドレスに関する情報、前記コンピュータ上で動作しているソフトウェアに関する情報が、構成アイテム(CI)として作成され、各々相互の間の依存性の情報とともに、該CMDBに保存される、請求項10に記載のシステム運用管理方法。
【請求項12】
前記ネットワーク接続装置の物理的位置が、階層的に構成された物理的位置に関連付けられ、前記ネットワーク接続装置に接続されたコンピュータのネットワーク・アドレスに関する情報及び該コンピュータで動作するソフトウェアに関する情報である構成アイテムが、階層化されたデータ構造をもつ、請求項11に記載のシステム運用管理方法。
【請求項13】
前記物的位置情報の構成アイテムと、前記コンピュータのネットワーク・アドレスに関する情報及び該コンピュータで動作するソフトウェアに関する構成アイテム間の関係は、Javaのクラスのインスタンスとして実装される、請求項12に記載のシステム運用管理方法。
【請求項14】
ネットワーク接続装置を介して、複数のコンピュータが接続された分散処理ネットワーク・システムにおいて、該ネットワーク・システムの構成情報を管理するプログラムであって、
コンピュータをして、
前記ネットワーク接続装置の物理的位置の情報を識別するステップと、
前記ネットワーク接続装置に接続されている前記コンピュータのネットワーク・アドレスに関する情報を取得するステップと、
前記ネットワーク接続装置に接続されている前記コンピュータ上で動作しているソフトウェアに関するステップを取得する段階と、
前記ネットワーク接続装置の物理的位置の情報を、前記コンピュータのネットワーク・アドレスに関する情報及び前記コンピュータ上で動作しているソフトウェアに関する情報に関連付けて、記録手段に保存するステップとを実行させる、
プログラム。
【請求項15】
前記ネットワーク接続装置の物理的位置の識別は、予め前記各ネットワーク接続装置毎に構成管理データベース(CMDB)に記録された物理位置のリストを参照することによって行われる、請求項14のプログラム。
【請求項16】
前記ネットワーク接続装置が、ネットワーク・スイッチまたはルータであり、前記コンピュータに関する情報は、該ネットワーク・スイッチが保有するARPテーブルの情報を用いて検出する、請求項14に記載のプログラム。
【請求項17】
前記ネットワーク接続装置に接続されたコンピュータが仮想システムとして構成され、該仮想システムの構成情報が、前記ハードウェア管理コンソールから提供される情報をもちいて検出される、、請求項16に記載のプログラム。
【請求項18】
前記ネットワーク接続装置の物理的位置、前記コンピュータのネットワーク・アドレスに関する情報、前記コンピュータ上で動作しているソフトウェアに関する情報が、構成アイテム(CI)として作成され、各々相互の間の依存性の情報とともに、前記CMDBに保存される、請求項17に記載のプログラム。
【請求項19】
前記ネットワーク接続装置が関連付けられている物理的位置が、階層的に構成された物理的位置に関連付けられ、前記ネットワーク接続装置に接続されたコンピュータのネットワーク・アドレスに関する情報及びそのコンピュータで動作するソフトウェアに関する情報である構成アイテムが、対応する階層化されたデータ構造をもつ、請求項18に記載のプログラム。
【請求項20】
前記物理的位置情報の構成アイテムと、前記コンピュータ及びソフトウェアに関する構成アイテム間の関係は、Javaのクラスのインスタンスとして実装される、請求項19に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−211350(P2008−211350A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2007−44219(P2007−44219)
【出願日】平成19年2月23日(2007.2.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】