(57)【要約】【課題】幾つかのストレージデバイスとＳＡＮを介して接続されるジョブサーバマシンが、互いに製造元の異なる複数のＨＢＡを備えていても、ＳＡＮ管理エージェントがそれら全てのＨＢＡのＨＢＡ情報をＳＡＮ管理マネージャに提供できるようにすること。【解決手段】ＨＢＡ情報取得モジュール３６は、複数の共通ライブラリ３３を順にロードするとともに（ステップＳ１０３、Ｓ１０７）、ロード中の共通ライブラリ３３に対しては、全固有ライブラリ３２を通じてＨＢＡ情報を取得する処理を行わせ、取得した幾つかのＨＢＡ情報のうち、定義テーブル３５においてロード中の共通ライブラリ３３の識別番号に対応付けられている機種名を含むＨＢＡ情報のみを、ＳＡＮ管理マネージャ３０ｂへ引き渡す（ステップＳ１０４〜Ｓ１０６、Ｓ１０８）。【選択図】図１
2008287633.tif 000002
【特許請求の範囲】
【請求項１】
ＳＡＮを介して幾つかのストレージデバイスに接続された複数のＨＢＡの動作を制御するための複数のＨＢＡドライバと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち前記各ＨＢＡに関する情報をＨＢＡ情報として前記ＨＢＡドライバから取得する機能を含む複数の固有ライブラリと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち前記各固有ライブラリからＨＢＡ情報を取得する機能を含む共通ライブラリとを制御することによって、前記各ＨＢＡ情報を取得してＳＡＮ管理マネージャに提供するためのプログラムであって、
コンピュータを、
前記ＨＢＡの機種ごとに、その機種を特定する機種識別情報とその機種のＨＢＡからＨＢＡ情報を取得するのに適した共通ライブラリを特定する共通ライブラリ識別情報とを対応付けたレコードを、定義テーブルに記憶する記憶手段、
前記ＳＡＮ管理マネージャから通信装置を介して所定の指示を受信すると、何れか１つの共通ライブラリをメモリにロードするとともに、メモリ上にロードされる共通ライブラリを一つずつ順に切り替える切替手段、
前記切替手段が前記メモリ上に１つの共通ライブラリをロードするたびに、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する取得手段、
前記取得手段がＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報と前記メモリ上の共通ライブラリの共通ライブラリ識別情報との組み合わせを含むレコードが前記定義テーブルに記録されているか否かを、判別する判別手段、
前記判別手段が当該組み合わせを含むレコードが前記定義テーブルに記録されていると判別した場合に、その組み合わせに係るＨＢＡ情報を前記メモリ上の所定領域に保存する保存手段、及び、
前記保存手段が前記所定領域に保存した全てのＨＢＡ情報を、通信装置を介して前記ＳＡＮ管理マネージャに送信する送信手段
として機能させる
ことを特徴とするＨＢＡ情報提供プログラム。
【請求項２】
前記コンピュータを、更に、
前記取得手段がＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報が前記定義テーブルに登録されているか否かを、判別する第２の判別手段、及び、
前記第２の判別手段がその機種情報が前記定義テーブルに登録されていないと判別した場合に、その機種情報と前記メモリ上にロードされている共通ライブラリの共通ライブラリ識別情報とを対応付けたレコードを、前記定義テーブルに新たに登録する登録手段
として機能させる
ことを特徴とする請求項１記載のＨＢＡ情報提供プログラム。
【請求項３】
前記取得手段は、前記メモリ上にロードされている共通ライブラリ内のHBA_GetAdapterAttributes()関数を呼び出すことにより、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する
ことを特徴とする請求項１又は２記載のＨＢＡ情報提供プログラム。
【請求項４】
前記コンピュータを、更に、
前記共通ライブラリごとに、その共通ライブラリの共通ライブラリ識別情報とその共通ライブラリの格納位置を特定する位置情報とを対応付けたレコードを、共通ライブラリ管理テーブルに記憶する第２の記憶手段
として機能させ、
前記切替手段は、前記共通ライブラリ管理テーブル内の共通ライブラリ識別情報を一つずつ順に選択するとともに、何れかの共通ライブラリ識別情報を選択すると、メモリ上の共通ライブラリをアンロードして、選択した共通ライブラリ識別情報に対応する位置情報にて特定される共通ライブラリをメモリにロードする
ことを特徴とする請求項１、２又は３記載のＨＢＡ情報提供プログラム。
【請求項５】
ＳＡＮを介して幾つかのストレージデバイスに接続された複数のＨＢＡの動作を制御するための複数のＨＢＡドライバと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち前記各ＨＢＡに関する情報をＨＢＡ情報として前記ＨＢＡドライバから取得する機能を含む複数の固有ライブラリと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち前記各固有ライブラリからＨＢＡ情報を取得する機能を含む共通ライブラリとを制御することによって、前記各ＨＢＡ情報を取得してＳＡＮ管理マネージャに提供するための方法であって、
コンピュータが、
前記ＨＢＡの機種ごとに、その機種を特定する機種識別情報とその機種のＨＢＡからＨＢＡ情報を取得するのに適した共通ライブラリを特定する共通ライブラリ識別情報とを対応付けたレコードを、定義テーブルに記憶する記憶手順、
前記ＳＡＮ管理マネージャから通信装置を介して所定の指示を受信すると、何れか１つの共通ライブラリをメモリにロードするとともに、メモリ上にロードされる共通ライブラリを一つずつ順に切り替える切替手順、
前記切替手順で前記メモリ上に１つの共通ライブラリをロードするたびに、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する取得手順、
前記取得手順でＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報と前記メモリ上の共通ライブラリの共通ライブラリ識別情報との組み合わせを含むレコードが前記定義テーブルに記録されているか否かを、判別する判別手順、
前記判別手順で当該組み合わせを含むレコードが前記定義テーブルに記録されていると判別した場合に、その組み合わせに係るＨＢＡ情報を前記メモリ上の所定領域に保存する保存手順、及び、
前記保存手順で前記所定領域に保存した全てのＨＢＡ情報を、通信装置を介して前記ＳＡＮ管理マネージャに送信する送信手順
を実行する
ことを特徴とするＨＢＡ情報提供方法。
【請求項６】
ＳＡＮを介して幾つかのストレージデバイスに接続された複数のＨＢＡの動作を制御するための複数のＨＢＡドライバと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち前記各ＨＢＡに関する情報をＨＢＡ情報として前記ＨＢＡドライバから取得する機能を含む複数の固有ライブラリと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち前記各固有ライブラリからＨＢＡ情報を取得する機能を含む共通ライブラリとを制御することによって、前記各ＨＢＡ情報を取得してＳＡＮ管理マネージャに提供するための装置であって、
前記ＨＢＡの機種ごとに、その機種を特定する機種識別情報とその機種のＨＢＡからＨＢＡ情報を取得するのに適した共通ライブラリを特定する共通ライブラリ識別情報とを対応付けたレコードを、定義テーブルに記憶する記憶部、
前記ＳＡＮ管理マネージャから通信装置を介して所定の指示を受信すると、何れか１つの共通ライブラリをメモリにロードするとともに、メモリ上にロードされる共通ライブラリを一つずつ順に切り替える切替部、
前記切替部が前記メモリ上に１つの共通ライブラリをロードするたびに、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する取得部、
前記取得部がＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報と前記メモリ上の共通ライブラリの共通ライブラリ識別情報との組み合わせを含むレコードが前記定義テーブルに記録されているか否かを、判別する判別部、
前記判別部が当該組み合わせを含むレコードが前記定義テーブルに記録されていると判別した場合に、その組み合わせに係るＨＢＡ情報を前記メモリ上の所定領域に保存する保存部、及び、
前記保存部が前記所定領域に保存した全てのＨＢＡ情報を、通信装置を介して前記ＳＡＮ管理マネージャに送信する送信部
を備えることを特徴とするＨＢＡ情報提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＢＡ［Host Bus Adapter］情報を取得してＳＡＮ［Strage Area Network］管理マネージャに提供するためのプログラム、方法及び装置に、関する。
【背景技術】
【０００２】
周知のように、ＳＡＮは、ジョブサーバマシンとストレージデバイスとを通信自在に接続するためのネットワークである。ここで、ジョブサーバマシンは、データベースサーバ、ストリーミングサーバ、ウェブサーバ、アプリケーションサーバのように、外部ネットワーク上のコンピュータに何らかの機能を提供するためのものとなっており、ストレージデバイスは、そのジョブサーバマシンが外部ネットワーク上のコンピュータに提供するデータを記憶するためのものとなっている。
【０００３】
図７は、そのＳＡＮが適用されたコンピュータネットワークシステムの構成図である。図７に示すコンピュータネットワークシステムでは、ジョブサーバマシン１０が、例えばＬＡＮ［Local Area Network］アダプタ１０ｂを介して外部ネットワークＮに接続されているとともに、ＳＡＮを介してストレージデバイス２０に接続されている。このＳＡＮは、ファイバーチャネルというインターフェース規格に準拠した通信手段により、構築されている。
【０００４】
その通信手段は、具体的には以下の通りである。すなわち、ジョブサーバマシン１０とストレージ２０には、何れも、ＳＡＮ用の通信インターフェースとして、ＨＢＡ１０ａ、２０ａが搭載される。これらＨＢＡ１０ａ、２０ａは、直接的に接続され、或いは、図示せぬ周知のファイバチャンネルスイッチを介して間接的に接続される。ＨＢＡ１０ａ、２０ａ及び図示せぬファイバチャンネルスイッチは、例えば光ファイバケーブルにて互いに接続される。
【０００５】
そして、外部ネットワークＮ上のコンピュータに何らかの機能を提供するためのアプリケーション１１は、図示していないが、周知のように、ファイルシステム、マルチパスドライバ、ＨＢＡドライバ、ＨＢＡ１０ａを介して、ストレージデバイス２０にアクセスするようになっている。
【０００６】
また、以上のように構成されるＳＡＮを管理するためのソフトウエア３０が、開発されている。このＳＡＮ管理ソフトウエア３０は、図７に示すように、一般的には、ＳＡＮ管理エージェント３０ａ、ＳＡＮ管理マネージャ３０ｂ及びＳＡＮ管理クライアント３０ｃから構成される。
【０００７】
このうち、ＳＡＮ管理マネージャ３０ｂ及びＳＡＮ管理クライアント３０ｃは、ＬＡＮアダプタ１０ｃ、４０ａ、５０ａを介してジョブサーバマシン１０にＬＡＮ接続されたコンピュータ４０、５０（ＳＡＮ管理サーバマシン４０、ＳＡＮ管理クライアントマシン５０）にそれぞれインストールして使用するものである。そして、ＳＡＮ管理マネージャ３０ｂは、後述のＳＡＮ管理エージェント３０ａを通じてＳＡＮに関する情報を収集して内部に蓄積するモジュールプログラムと、ＳＡＮ管理クライアント３０ｃからの要求があるとそれに応じてそれら情報を閲覧情報としてＳＡＮ管理クライアント３０ｃに提供するモジュールプログラムとを、含んでいる。
【０００８】
これに対し、ＳＡＮ管理エージェント３０ａは、ジョブサーバマシン１０にインストールして使用するプログラムであり、機種名やメーカ名やＷＷＰＮ［World Wide Port Name］などのＨＢＡ１０ａに関する情報をＨＢＡ情報として収集するモジュールプログラムと、ＨＢＡドライバによるデータのストレージデバイス２０への入出力状態に関する情報を収集するモジュールプログラムとを、含んでいる。
【０００９】
図８は、ＨＢＡ情報の収集を実現するための各機能を示す図である。図８に示すように、ジョブサーバマシン１０は、ＨＢＡ１０ａ、ＬＡＮアダプタ１０ｂ、１０ｃ、ストレージユニット１０ｄ、ＣＰＵ［Central Processing Unit］１０ｅ、及び、メモリユニット１０ｆを備えた汎用コンピュータであり、ストレージユニット１０ｄに、アプリケーション１１、オペレーティングシステムソフトウエア１２、ＳＡＮ管理エージェント３０ａを記憶している。
【００１０】
このうち、オペレーティングシステムソフトウエア１２は、通信アダプタ１０ａ〜１０ｃにおけるデータの入出力の管理や、ストレージユニット１０ｄ及びメモリユニット１０ｆの記憶領域の管理といった基本的な機能を、アプリケーション１１を含む多くのアプリケーションに提供するためのソフトウエアである。このオペレーティングシステムソフトウエア１２には、ＨＢＡドライバ３１と、ＳＮＩＡ［Storage Networking Industry Association］ ＨＢＡ ＡＰＩ［Application Program Interface］が、実装されて（組み込まれて）いる。このうち、ＨＢＡドライバ３１は、ＨＢＡ１０ａの動作を制御するためのプログラムであり、ＨＢＡ１０ａがジョブサーバマシン１０に取り付けられた時に、オペレーティングシステムソフトウエア１２に実装される。一方、ＳＮＩＡ ＨＢＡ ＡＰＩは、ＳＡＮ管理ソフトウエア３０の開発におけるプログラミングの省力化のためにＳＮＩＡという標準化団体が策定した規格に準拠するＨＢＡ１０ａ用のＡＰＩであり、固有ライブラリ３２と共通ライブラリ３３とを含んでいる。このうち、固有ライブラリ３２は、製造元が自製のＨＢＡ１０ａについて設定した独自の仕様に基づいて作成したＳＡＮ管理エージェント３０ａ用の部品群（クラス、コンポーネント、関数）であり、ＨＢＡ１０ａがジョブサーバマシン１０に取り付けられた時に、オペレーティングシステムソフトウエア１２に実装される。一方、共通ライブラリ３３は、ＨＢＡ１０ａの製造元の異同に依らない共通の仕様に基づいて作成されたＳＡＮ管理エージェント３０ａ用の部品群であり、ＨＢＡ１０ａがジョブサーバマシン１０に取り付けられた時にオペレーティングシステムソフトウエア１２に実装され、或いは、オペレーティングシステムソフトウエア１２に標準ファイルとして事前に実装されている。なお、図８は、ＨＢＡドライバ３１と両ライブラリ３２、３３がメモリユニット１０ｆに展開された状態を、示している。
【００１１】
一方、ＳＡＮ管理エージェント３０ａは、ＨＢＡ情報取得モジュール３９を含んでいる。このＨＢＡ情報取得モジュール３９は、ＳＡＮ管理マネージャ３０ｂからの指示を契機として実行されるプログラムである（非特許文献１乃至３参照）。
【００１２】
ＨＢＡ情報取得モジュール３９（を実行するＣＰＵ１０ｅ）は、処理開始後、共通ライブラリ３３をロードし、この共通ライブラリ３３の中から「HBA_GetAdapterAttributes()」という関数を呼び出す。すると、この関数が、共通ライブラリ３３内の図示せぬリストファイルに定義された固有ライブラリ３２をロードし、その固有ライブラリ３２からＨＢＡ１０ａのＨＢＡ情報を取得し、ＨＢＡ情報取得モジュール３９にＨＢＡ情報を引き渡す。ＨＢＡ情報取得モジュール３９は、ＨＢＡ情報を受け取ると、そのＨＢＡ情報をＳＡＮ管理マネージャ３０ｂに引き渡す。
【００１３】
ところで、最近、ストレージデバイス２０のインターフェースの転送速度が２Ｇｂｐｓから４Ｇｂｐｓに移行しつつあり、４Ｇｂｐｓの転送速度をサポートするストレージデバイス２０をＳＡＮに追加導入する事例が幾つか見られるようになってきている。この事例においては、ジョブサーバマシン１０にも、４Ｇｂｐｓの転送速度をサポートするＨＢＡ１０ａが追加導入されることとなるが、このような場合に、ジョブサーバマシン１０に追加導入されるＨＢＡ１０ａの製造元が、既に搭載されているＨＢＡ１０ａの製造元と、異なってしまうことがある。なお、既に搭載されているＨＢＡ１０ａとは異なる製造元のＨＢＡ１０ａをジョブサーバマシン１０に追加導入する場合、その製造元が用意したＨＢＡドライバ３１と固有ライブラリ３２も、ジョブサーバマシン１０に追加導入せねばならない。
【００１４】
このような経緯によって、ジョブサーバマシン１０が、図９に示すように、製造元（ａ）のＨＢＡ１０ａ−（ａ）と、製造元（ｂ）のＨＢＡ１０ａ−（ｂ）とを搭載していた場合、前述した共通ライブラリ３３内の「HBA_GetAdapterAttributes()」という関数は、共通ライブラリ３３内の図示せぬリストファイルに定義された全ての固有ライブラリ３２−（ａ）、３２−（ｂ）をロードした後、まず、製造元（ａ）が用意した固有ライブラリ３２−（ａ）を通じて、ＨＢＡ１０ａ−（ａ）のＨＢＡ情報を取得し、次に、製造元（ｂ）が用意した固有ライブラリ３２−（ｂ）を通じて、ＨＢＡ１０ａ−（ｂ）のＨＢＡ情報を取得する。
【００１５】
ここで、ジョブサーバマシン１０は、製造元（ａ）が用意した共通ライブラリ、製造元（ｂ）が用意した共通ライブラリ、及び、オペレーティングシステムソフトウエア１２に標準ファイルとして事前に実装されていた共通ライブラリのうち、最大で三個の共有ライブラリを備えている可能性がある。しかし、ＳＮＩＡにより策定された規格では、メモリユニット１０ｆ上にロードされる共通ライブラリ３３は、一つでなければならない。共通ライブラリ３３は、規格上、製造元の異同に依らずに利用できる部品群であるからである。このため、共通ライブラリ３３の製造元が何れであっても、ロードされた共通ライブラリ内の「HBA_GetAdapterAttributes()」という関数は、本来、ＨＢＡ１０ａの製造元の異同に依らず、各固有ライブラリ３２を通じて全てのＨＢＡ１０ａのＨＢＡ情報を取得できるはずである。
【００１６】
しかしながら、現実問題として、共通ライブラリ３３の製造元（例えば製造元（ａ））と固有ライブラリ３２の製造元（例えば製造元（ｂ））とが異なる場合に、共通ライブラリ３３内の「HBA_GetAdapterAttributes()」という関数が、固有ライブラリ３２からＨＢＡ情報を取得できないことがあった。これは、ＳＮＩＡ規格の解釈の余地に基づいて生ずる実装の相違に起因している。このため、ＳＡＮ管理エージェント３０ａが、ジョブサーバマシン１０に搭載されている全てのＨＢＡ１０ａのＨＢＡ情報をＳＡＮ管理マネージャ３０ｂに提供できないことがあった。
【００１７】
【非特許文献１】“（Common HBA API）”、インターネット＜ＵＲＬ：ftp://ftp.t11.org/t11/docs/02-149v0.pdf＞
【非特許文献２】“ＨＰベンダーライブラリの呼び出し順序シーケンス（HP's Vender Library Call Oreder）”、「ファイバーチャンネル  ＳＮＩＡ  ＨＢＡ  ＡＰＩ  プログラマーズガイド（Fibre channel SNIA HBA API Programmer's Guide）」  附録Ａ（Appendix A）、［online］、ヒューレットパッカードデベロップメント社（Hewlet-Packard Development Campany）、［平成１９年４月１９日検索］、インターネット＜ＵＲＬ：http://docs.hp.com/en/J2635-90015/J2635-90015.pdf＞
【非特許文献３】“ワークステーションとサーバーに関する情報  Fibre Channel Tachlite ドライバ”、「ＨＰ−ＵＸ  １１ｉ  バージョン１．６  リリースノート」  平成１４年７月  第５５〜５６頁、ヒューレットパッカード社、［平成１９年４月１９日検索］、インターネット＜ＵＲＬ：http://docs.hp.com/ja/5187-0702/5187-0702.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は、前述した従来技術の有する問題に鑑みてなされたものであり、その課題は、幾つかのストレージデバイス２０とＳＡＮを介して接続されるジョブサーバマシン１０が、互いに製造元の異なる複数のＨＢＡ１０ａを備えていても、ＳＡＮ管理エージェント３０ａがそれら全てのＨＢＡ１０ａのＨＢＡ情報をＳＡＮ管理マネージャ３０ｂに提供できるようにすることにある。
【課題を解決するための手段】
【００１９】
上記の課題を解決するために案出されたＨＢＡ情報提供プログラムは、ＳＡＮを介して幾つかのストレージデバイスに接続された複数のＨＢＡの動作を制御するための複数のＨＢＡドライバと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち各ＨＢＡに関する情報をＨＢＡ情報としてＨＢＡドライバから取得する機能を含む複数の固有ライブラリと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち各固有ライブラリからＨＢＡ情報を取得する機能を含む共通ライブラリとを制御することによって、各ＨＢＡ情報を取得してＳＡＮ管理マネージャに提供するためのプログラムであって、コンピュータを、ＨＢＡの機種ごとに、その機種を特定する機種識別情報とその機種のＨＢＡからＨＢＡ情報を取得するのに適した共通ライブラリを特定する共通ライブラリ識別情報とを対応付けたレコードを、定義テーブルに記憶する記憶手段、ＳＡＮ管理マネージャから通信装置を介して所定の指示を受信すると、何れか１つの共通ライブラリをメモリにロードするとともに、メモリ上にロードされる共通ライブラリを一つずつ順に切り替える切替手段、その切替手段がメモリ上に１つの共通ライブラリをロードするたびに、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する取得手段、その取得手段がＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報とメモリ上の共通ライブラリの共通ライブラリ識別情報との組み合わせを含むレコードが定義テーブルに記録されているか否かを、判別する判別手段、その判別手段が当該組み合わせを含むレコードが定義テーブルに記録されていると判別した場合に、その組み合わせに係るＨＢＡ情報をメモリ上の所定領域に保存する保存手段、及び、その保存手段が所定領域に保存した全てのＨＢＡ情報を、通信装置を介してＳＡＮ管理マネージャに送信する送信手段として機能させることを、特徴としている。
【００２０】
このように構成されると、コンピュータは、複数の共通ライブラリを順にロードするとともに、ロード中の共通ライブラリに対しては、全固有ライブラリを通じてＨＢＡ情報を取得する処理を行わせ、取得した幾つかのＨＢＡ情報のうち、定義テーブルにおいてロード中の共通ライブラリの識別情報に対応付けられている機種識別情報を含むＨＢＡ情報のみを、ＳＡＮ管理マネージャへ引き渡すよう、動作する。これにより、共通ライブラリを一つに固定した場合においてその共通ライブラリと何れかの固有ライブラリ３２との組み合わせが良くないことにより何れかのＨＢＡ１０ａのＨＢＡ情報が取得できないことがあっても、その固有ライブラリ３２から別の共通ライブラリ３３を通じてそのＨＢＡ１０ａのＨＢＡ情報を取得することができる。
【００２１】
また、上記の課題を解決するために案出されたＨＢＡ情報提供方法は、ＳＡＮを介して幾つかのストレージデバイスに接続された複数のＨＢＡの動作を制御するための複数のＨＢＡドライバと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち各ＨＢＡに関する情報をＨＢＡ情報としてＨＢＡドライバから取得する機能を含む複数の固有ライブラリと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち各固有ライブラリからＨＢＡ情報を取得する機能を含む共通ライブラリとを制御することによって、各ＨＢＡ情報を取得してＳＡＮ管理マネージャに提供するための方法であって、コンピュータが、ＨＢＡの機種ごとに、その機種を特定する機種識別情報とその機種のＨＢＡからＨＢＡ情報を取得するのに適した共通ライブラリを特定する共通ライブラリ識別情報とを対応付けたレコードを、定義テーブルに記憶する記憶手順、ＳＡＮ管理マネージャから通信装置を介して所定の指示を受信すると、何れか１つの共通ライブラリをメモリにロードするとともに、メモリ上にロードされる共通ライブラリを一つずつ順に切り替える切替手順、その切替手順でメモリ上に１つの共通ライブラリをロードするたびに、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する取得手順、その取得手順でＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報とメモリ上の共通ライブラリの共通ライブラリ識別情報との組み合わせを含むレコードが定義テーブルに記録されているか否かを、判別する判別手順、その判別手順で当該組み合わせを含むレコードが定義テーブルに記録されていると判別した場合に、その組み合わせに係るＨＢＡ情報をメモリ上の所定領域に保存する保存手順、及び、その保存手順で所定領域に保存した全てのＨＢＡ情報を、通信装置を介してＳＡＮ管理マネージャに送信する送信手順を実行することを、特徴としている。
【００２２】
従って、このＨＢＡ情報提供方法を実現した装置は、前述した本発明のＨＢＡ情報提供プログラムが動作したコンピュータと同等に機能することとなる。
【００２３】
また、上記の課題を解決するために案出されたＨＢＡ情報提供装置は、ＳＡＮを介して幾つかのストレージデバイスに接続された複数のＨＢＡの動作を制御するための複数のＨＢＡドライバと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち各ＨＢＡに関する情報をＨＢＡ情報としてＨＢＡドライバから取得する機能を含む複数の固有ライブラリと、ＳＮＩＡ ＨＢＡ ＡＰＩのうち各固有ライブラリからＨＢＡ情報を取得する機能を含む共通ライブラリとを制御することによって、各ＨＢＡ情報を取得してＳＡＮ管理マネージャに提供するための装置であって、ＨＢＡの機種ごとに、その機種を特定する機種識別情報とその機種のＨＢＡからＨＢＡ情報を取得するのに適した共通ライブラリを特定する共通ライブラリ識別情報とを対応付けたレコードを、定義テーブルに記憶する記憶部、ＳＡＮ管理マネージャから通信装置を介して所定の指示を受信すると、何れか１つの共通ライブラリをメモリにロードするとともに、メモリ上にロードされる共通ライブラリを一つずつ順に切り替える切替部、その切替部がメモリ上に１つの共通ライブラリをロードするたびに、全ての固有ライブラリにＨＢＡ情報を要求して幾つかの固有ライブラリからＨＢＡ情報を取得する取得部、その取得部がＨＢＡ情報を取得すると、それら取得したＨＢＡ情報ごとに、そのＨＢＡ情報に含まれる機種情報とメモリ上の共通ライブラリの共通ライブラリ識別情報との組み合わせを含むレコードが定義テーブルに記録されているか否かを、判別する判別部、その判別部が当該組み合わせを含むレコードが定義テーブルに記録されていると判別した場合に、その組み合わせに係るＨＢＡ情報をメモリ上の所定領域に保存する保存部、及び、その保存部が所定領域に保存した全てのＨＢＡ情報を、通信装置を介してＳＡＮ管理マネージャに送信する送信部を備えることを、特徴としている。
【００２４】
従って、このＨＢＡ情報提供装置は、前述した本発明のＨＢＡ情報提供プログラムが動作したコンピュータと同等に機能することとなる。
【発明の効果】
【００２５】
以上に説明したように、本発明によれば、幾つかのストレージデバイスとＳＡＮを介して接続されるジョブサーバマシンが、互いに製造元の異なる複数のＨＢＡを備えていても、ＳＡＮ管理エージェントがそれら全てのＨＢＡのＨＢＡ情報をＳＡＮ管理マネージャに提供できるようになる。
【発明を実施するための最良の形態】
【００２６】
以下、図７に示したコンピュータネットワークシステムを構成するジョブサーバマシンに本発明を適用した形態について、添付図面を参照しながら、説明する。
【００２７】
なお、本実施形態のジョブサーバマシン１０は、図７のコンピュータネットワークシステムを構成しているので、前述したように、このジョブサーバマシン１０は、ＨＢＡ［Host Bus Adapter］１０ａを介してストレージデバイス２０にＳＡＮ［Strage Area Network］接続されているとともに、例えばＬＡＮ［Local Area Network］アダプタ１０ｂを介して外部ネットワークＮに接続されている。また、このジョブサーバマシン１０は、ＬＡＮアダプタ１０ｃを介してＳＡＮ管理サーバマシン４０及びＳＡＮ管理クライアントマシン５０にＬＡＮ接続されている。そして、ＳＡＮ管理ソフトウエア３０を構成するＳＡＮ管理マネージャ３０ｂとＳＡＮ管理クライアント３０ｃが、それぞれ、ＳＡＮ管理サーバマシン４０とＳＡＮ管理クライアントマシン５０にインストールされている。
【００２８】
図１は、本実施形態のジョブサーバマシン１０の構成図である。図１に示すように、ジョブサーバマシン１０は、ＨＢＡ１０ａ、ＬＡＮアダプタ１０ｂ、１０ｃ、ストレージユニット１０ｄ、ＣＰＵ［Central Processing Unit］１０ｅ、及び、メモリユニット１０ｆを備えた汎用コンピュータである。このうち、ＨＢＡ１０ａは、ＳＡＮ上のコンピュータとの間でデータを遣り取りするための通信インターフェースである。なお、以下では、製造元を区別する必要がない場合には、ＨＢＡ１０ａと表記し、製造元を区別する必要がある場合には、例えば製造元（ａ）により製造されたＨＢＡを、ＨＢＡ１０ａ−（ａ）のように表記する。ＬＡＮアダプタ１０ｂ、１０ｃは、ＬＡＮ上のコンピュータとの間でデータを遣り取りするための通信インターフェースである。ストレージユニット１０ｄは、各種のプログラムやデータを記録しておくためのユニットである。ＣＰＵ１０ｅは、ストレージユニット１０ｄ内のプログラムに従って処理を行うユニットである。メモリユニット１０ｆは、プログラムやデータがキャッシュされたりＣＰＵ１０ｅの作業領域が展開されたりするユニットである。
【００２９】
また、このジョブサーバマシン１０は、ストレージユニット１０ｄに、アプリケーション１１、オペレーティングシステムソフトウエア１２、ＳＡＮ管理エージェント３０ａを記憶している。
【００３０】
このうち、オペレーティングシステムソフトウエア１２は、通信アダプタ１０ａ〜１０ｃにおけるデータの入出力の管理や、ストレージユニット１０ｄ及びメモリユニット１０ｆの記憶領域の管理といった基本的な機能を、アプリケーション１１を含む多くのアプリケーションに提供するためのソフトウエアである。このオペレーティングシステムソフトウエア１２には、ＨＢＡドライバ３１と、ＳＮＩＡ［Storage Networking Industry Association］ ＨＢＡ ＡＰＩ［Application Program Interface］が、実装されて（組み込まれて）いる。このうち、ＨＢＡドライバ３１は、ＨＢＡ１０ａの動作を制御するためのプログラムである。なお、以下では、製造元を区別する必要がない場合には、ＨＢＡドライバ３１と表記し、製造元を区別する必要がある場合には、例えば製造元（ｂ）により作成されたＨＢＡドライバを、ＨＢＡドライバ３１−（ｂ）のように表記する。ＨＢＡドライバ３１−（ａ）は、ＨＢＡ１０ａ−（ａ）がジョブサーバマシン１０に取り付けられた時に、オペレーティングシステムソフトウエア１２に実装され、ＨＢＡドライバ３１−（ｂ）は、ＨＢＡ１０ａ−（ｂ）がジョブサーバマシン１０に取り付けられた時に、オペレーティングシステムソフトウエア１２に実装される。一方、ＳＮＩＡ ＨＢＡ ＡＰＩは、ＳＡＮ管理ソフトウエア３０の開発におけるプログラミングの省力化のためにＳＮＩＡという標準化団体が策定した規格に準拠するＨＢＡ１０ａ用のＡＰＩであり、固有ライブラリ３２と共通ライブラリ３３とを含んでいる。このうち、固有ライブラリ３２は、製造元が自製のＨＢＡ１０ａについて設定した独自の仕様に基づいて作成したＳＡＮ管理エージェント３０ａ用の部品群（クラス、コンポーネント、関数）である。なお、以下では、製造元を区別する必要がない場合には、固有ライブラリ３２と表記し、製造元を区別する必要がある場合には、例えば製造元（ａ）により作成された固有ライブラリを、固有ライブラリ３２−（ａ）のように表記する。固有ライブラリ３２−（ａ）は、ＨＢＡ１０ａ−（ａ）がジョブサーバマシン１０に取り付けられた時に、オペレーティングシステムソフトウエア１２に実装され、固有ライブラリ３２−（ｂ）は、ＨＢＡ１０ａ−（ｂ）がジョブサーバマシン１０に取り付けられた時に、オペレーティングシステムソフトウエア１２に実装される。一方、共通ライブラリ３３は、ＨＢＡ１０ａの製造元の異同に依らない（はずの）共通の仕様に基づいて作成されたＳＡＮ管理エージェント３０ａ用の部品群であり、ＨＢＡ１０ａがジョブサーバマシン１０に取り付けられた時にオペレーティングシステムソフトウエア１２に実装され、或いは、オペレーティングシステムソフトウエア１２に標準ファイルとして事前に実装されている。ここで、共通ライブラリ３３−（ａ）は、製造元（ａ）により作成された共通ライブラリであり、共通ライブラリ３３−（ｂ）は、製造元（ｂ）により作成された共通ライブラリである。なお、図１は、ＨＢＡドライバ３１−（ａ）、３１−（ｂ）と両ライブラリ３２−（ａ）、３２−（ｂ）、３３−（ａ）、３３−（ｂ）がメモリユニット１０ｆに展開された状態を、示している。
【００３１】
一方、ＳＡＮ管理エージェント３０ａは、共通ライブラリ管理テーブル３４、定義テーブル３５、ＨＢＡ情報取得モジュール３６を含んでいる。
【００３２】
図２は、共通ライブラリ管理テーブル３４のデータ構造の一例を示す図である。図２に示す共通ライブラリ管理テーブル３４は、共通ライブラリ３３と同数のレコードを、有している。各レコードは、「識別番号」、「ファイル名」及び「パス」の各フィールドを、有している。「識別番号」フィールドは、その共通ライブラリを一意に特定するための識別番号が記録されるフィールドである。「ファイル名」フィールドは、その共通ライブラリのファイル名が記録されるフィールドである。「パス」フィールドは、オペレーティングシステムソフトウエア１２内の図示せぬファイルシステム上でその共通ライブラリの格納位置について論理的に定義された位置情報であるパスが記録されるフィールドである。
【００３３】
図３は、定義テーブル３５のデータ構造の一例を示す図である。図３に示す定義テーブル３５は、ジョブサーバマシン１０に搭載されているＨＢＡ１０ａの機種の数と同数のレコードを、有している。各レコードは、「機種名」及び「識別番号」の各フィールドを、有している。「識別番号」フィールドは、その機種の名称が記録されるフィールドである。「識別番号」フィールドは、その機種のＨＢＡに関する情報をＨＢＡ情報として取得するのに最適な共通ライブラリ３３の識別番号が記録されるフィールドである。なお、ＨＢＡ情報は、機種名やメーカ名やＷＷＰＮ［World Wide Port Name］などのＨＢＡ１０ａに関する情報である。
【００３４】
なお、この定義テーブル３５に、機種名と識別番号との組み合わせを記憶するジョブサーバマシン１０は、前述した記憶手段及び前述した記憶部に相当している。また、ジョブサーバマシン１０が、機種名と識別番号との組み合わせを定義テーブル３５に記憶することは、前述した記憶手順に相当している。
【００３５】
図１のＨＢＡ情報取得モジュール３６は、ＨＢＡドライバ３１と固有ライブラリ３２と共通ライブラリ３３とを制御することによって、ＨＢＡ情報を取得するためのモジュールプログラムである。このＨＢＡ情報取得モジュール３６は、ＳＡＮ管理サーバマシン４０上のＳＡＮ管理マネージャ３０ｂからの指示を契機として、ＣＰＵ１０ｅによって実行されるようになっている。
【００３６】
図４は、ＨＢＡ情報取得モジュール３６による処理の流れを示す図である。図４に示すように、ＨＢＡ情報取得モジュール３６（を実行するＣＰＵ１０ｅ）は、処理開始後、最初のステップＳ１０１において、ワークテーブルをメモリユニット１０ｆ上に生成する。なお、このワークテーブルは、ジョブサーバマシン１０に搭載されている全てのＨＢＡ１０ａのＨＢＡ情報を記録しておくためのテーブルである。
【００３７】
図５は、ワークテーブル３７のデータ構造の一例を示す図である。図５に示すように、ワークテーブル３７の各レコードは、「機種名」、「ＷＷＰＮ」、…の各フィールドを有している。「機種名」フィールドは、ＨＢＡの機種名が記録されるフィールドである。「ＷＷＰＮ」フィールドは、そのＨＢＡのＷＷＰＮが記録されるフィールドである。なお、共通ライブラリ３３内の「HBA_GetAdapterAttributes()」という関数で固有ライブラリ３２から得られるＨＢＡ情報は、機種名及びＷＷＰＮ以外にも多くの情報を含んでいる。このため、ワークテーブル３７も機種名及びＷＷＰＮを記録するためのフィールド以外にも多くのフィールドを有しているが、図５では省略している。
【００３８】
図４のステップＳ１０１において、ＨＢＡ情報取得モジュール３６は、図５に示すようなワークテーブル３７を生成するが、このステップＳ１０１の直後においては、このワークテーブル３７には、一つもレコードが存在していない。すなわち、ステップＳ１０１では、ＨＢＡ情報取得モジュール３６は、新規のワークテーブル３７をメモリユニット１０ｆ上に生成する。
【００３９】
次のステップＳ１０２では、ＨＢＡ情報取得モジュール３６は、図２の共通ライブラリ管理テーブル３４を読み出す。その後、ＨＢＡ情報取得モジュール３６は、第１の処理ループＬ１を実行する。
【００４０】
第１の処理ループＬ１では、ＨＢＡ情報取得モジュール３６は、ステップＳ１０２で読み出した共通ライブラリ管理テーブル３４内の全てのレコードに対し、一つずつ、ステップＳ１０３乃至Ｓ１０７からなる処理を、実行する。
【００４１】
ステップＳ１０３では、ＨＢＡ情報取得モジュール３６は、処理対象レコードに係る共通ライブラリ３３（例えば共通ライブラリ３３−（ａ））をロードする（メモリユニット１０ｆに読み出す）。
【００４２】
次のステップＳ１０４では、ＨＢＡ情報取得モジュール３６は、ステップＳ１０３でロードした共通ライブラリ３３内の「HBA_GetAdapterAttributes()」という関数を呼び出す。なお、この関数は、呼び出されると、当該共通ライブラリ３３内の図示せぬリストファイルに定義された全ての固有ライブラリ３２−（ａ）、３２−（ｂ）をロードし、それら固有ライブラリ３２−（ａ）、３２−（ｂ）のうちの全て又は一部から、ジョブサーバマシン１０に搭載されている全てのＨＢＡ１０ａ又は幾つかのＨＢＡ１０ａのＨＢＡ情報を取得し、ＨＢＡ情報取得モジュール３６に引き渡す。
【００４３】
次のステップＳ１０５では、ＨＢＡ情報取得モジュール３６は、ステップＳ１０３で呼び出した「HBA_GetAdapterAttributes()」関数からＨＢＡ情報を受け取るまで、待機する。そして、ＨＢＡ情報を受け取ると、ＨＢＡ情報取得モジュール３６は、ステップＳ１０６へ処理を進める。
【００４４】
なお、ステップＳ１０４及びＳ１０５を実行するＨＢＡ情報取得モジュール３６（を実行するＣＰＵ１０ｅ）は、前述した取得手段及び前述した取得部に相当している。また、ステップＳ１０４及びＳ１０５は、前述した取得手順に相当している。
【００４５】
ステップＳ１０６では、ＨＢＡ情報取得モジュール３６は、最適ＨＢＡ情報抽出サブルーチンを実行する。
【００４６】
図６は、最適ＨＢＡ情報抽出サブルーチンによる処理の流れを示す図である。図６に示すように、ＨＢＡ情報取得モジュール３６は、処理開始後、第２の処理ループＬ２を実行する。
【００４７】
第２の処理ループＬ２では、ＨＢＡ情報取得モジュール３６は、図４のステップＳ１０５で取得した全てのＨＢＡ情報に対し、一つずつ、ステップＳ１１１乃至Ｓ１１７からなる処理を、実行する。
【００４８】
ステップＳ１１１では、ＨＢＡ情報取得モジュール３６は、処理対象ＨＢＡ情報に含まれる機種名と、処理対象レコードに含まれる識別番号とを検索条件として、図３の定義テーブル３５を検索する。
【００４９】
次のステップＳ１１２では、ＨＢＡ情報取得モジュール３６は、ステップＳ１１１の検索の結果、レコードが検出できたか否かを、判別する。そして、レコードが検出できなかった場合、ＨＢＡ情報取得モジュール３６は、ステップＳ１１２からステップＳ１１４へ処理を分岐させる。一方、レコードが検出できた場合、ＨＢＡ情報取得モジュール３６は、ステップＳ１１３へ処理を進める。
【００５０】
なお、ステップＳ１１１及びＳ１１２を実行するＨＢＡ情報取得モジュール３６（を実行するＣＰＵ１０ｅ）は、前述した判別手段及び前述した判別部に相当している。また、ステップＳ１１１及びＳ１１２は、前述した判別手順に相当している。
【００５１】
ステップＳ１１３では、ＨＢＡ情報取得モジュール３６は、処理対象ＨＢＡ情報を、図５のワークテーブル３７に追加記録し、ステップＳ１１４へ処理を進める。
【００５２】
なお、ステップＳ１１３を実行するＨＢＡ情報取得モジュール３６（を実行するＣＰＵ１０ｅ）は、前述した保存手段及び前述した保存部に相当している。また、ステップＳ１１３は、前述した保存手順に相当している。
【００５３】
ステップＳ１１４では、ＨＢＡ情報取得モジュール３６は、処理対象ＨＢＡ情報に含まれる機種名を検索条件として、図３の定義テーブル３５を検索する。
【００５４】
次のステップＳ１１５では、ＨＢＡ情報取得モジュール３６は、ステップＳ１１４の検索の結果、レコードが検出できたか否かを、判別する。そして、レコードが検出できなかった場合、ＨＢＡ情報取得モジュール３６は、ステップＳ１１５から処理を分岐して、この処理対象ＨＢＡ情報に対する第２の処理ループＬ２の実行を終了する。一方、レコードが検出できた場合、ＨＢＡ情報取得モジュール３６は、ステップＳ１１６へ処理を進める。
【００５５】
ステップＳ１１６では、ＨＢＡ情報取得モジュール３６は、処理対象ＨＢＡ情報に含まれる機種名と、処理対象レコードに含まれる識別番号とを含むレコードを、図３の定義テーブル３５に追加記録する。
【００５６】
次のステップＳ１１７では、ＨＢＡ情報取得モジュール３６は、処理対象ＨＢＡ情報を、図５のワークテーブル３７に追加記録し、この処理対象ＨＢＡ情報に対する第２の処理ループＬ２の実行を終了する。
【００５７】
ＨＢＡ情報取得モジュール３６は、図４のステップＳ１０５で取得した全てのＨＢＡ情報に対して、ステップＳ１１１乃至１１７からなる処理を実行し終えた後、第２の処理ループＬ２から離脱し、図６に係る最適ＨＢＡ情報抽出サブルーチンを終了して、図４のステップＳ１０７へ処理を進める。
【００５８】
ステップＳ１０７では、ＨＢＡ情報取得モジュール３６は、処理対象レコードに係る共通ライブラリ３３をアンロードし、その後、この処理対象レコードに対する第１の処理ループＬ１の実行を終了する。
【００５９】
なお、ステップＳ１０３及びＳ１０７を実行するＨＢＡ情報取得モジュール３６（を実行するＣＰＵ１０ｅ）は、前述した切替手段及び前述した切替部に相当している。また、ステップＳ１０３及びＳ１０７は、前述した切替手順に相当している。
【００６０】
ＨＢＡ情報取得モジュール３６は、ステップＳ１０２で読み出した共通ライブラリ管理テーブル３４内の全てのレコードに対して、ステップＳ１０３乃至Ｓ１０７からなる処理を実行し終えた後、第１の処理ループＬ１から離脱し、ステップＳ１０８へ処理を進める。
【００６１】
ステップＳ１０８では、ＨＢＡ情報取得モジュール３６は、図５のワークテーブル３７に記録したＨＢＡ情報を、ＳＡＮ管理マネージャ３０ｂ（図７参照）へ送信する。その後、ＨＢＡ情報取得モジュール３６は、図４に係る処理を終了する。
【００６２】
なお、ステップＳ１０８を実行するＨＢＡ情報取得モジュール３６（を実行するＣＰＵ１０ｅ）は、前述した送信手段及び前述した送信部に相当している。また、ステップＳ１０８は、前述した送信手順に相当している。
【００６３】
本実施形態のジョブサーバマシン１０が、以上のように構成されているため、ＳＡＮ管理マネージャ３０ｂからＨＢＡ情報が要求されたときには、ＨＢＡ情報取得モジュール３６は、まず、ジョブサーバマシン１０に実装されている複数の共通ライブラリ３３のうちの何れか一つが必ずロードされるよう、各共通ライブラリ３３を順にロードする（ステップＳ１０３、Ｓ１０７）。また、ＨＢＡ情報取得モジュール３６は、メモリユニット１０ｆ上にロードされている一つ共通ライブラリ３３内の「HBA_GetAdapterAttributes()」関数を呼び出すことによって、全ての固有ライブラリ３２からＨＢＡ情報を取得する（ステップＳ１０４、Ｓ１０５）。そして、ＨＢＡ情報取得モジュール３６は、幾つかのＨＢＡ情報を取得したときには、各ＨＢＡ情報について、そのＨＢＡ情報に含まれる機種名とそのＨＢＡ情報を取得したときにロードされている共通ライブラリ３３の識別番号との組み合わせが定義テーブル３５に定義されているか否かを判別し、定義されていた場合に、そのＨＢＡ情報をＳＡＮ管理マネージャ３０ｂへ送信する（ステップＳ１０６、Ｓ１１１〜Ｓ１１３、Ｓ１０８）。
【００６４】
ＨＢＡ情報取得モジュール３６がこのように作用するため、ジョブサーバマシン１０は、共通ライブラリ３３を一つに固定した場合においてその共通ライブラリ３３と固有ライブラリ３２との組み合わせが良くないことにより何れかのＨＢＡ１０ａのＨＢＡ情報が取得できないことがあっても、その固有ライブラリ３２から別の共通ライブラリ３３を通じてそのＨＢＡ１０ａのＨＢＡ情報を取得することができる。
【００６５】
また、ＨＢＡ情報取得モジュール３６は、何れかの共通ライブラリ３３のロード中に、何れかの固有ライブラリ３２を通じてＨＢＡ情報を取得した場合において、そのＨＢＡ情報に含まれる機種名が、定義テーブル３５に未登録であったときには、その機種名とロード中の共通ライブラリ３３の識別番号との組み合わせを定義テーブル３５に登録するようになっている（ステップＳ１１４〜Ｓ１１７）。このため、新たなＨＢＡ１０ａがジョブサーバマシン１０に取り付けられた場合に、そのＨＢＡ１０ａのＨＢＡ情報を取得するのに最適な共通ライブラリ３３が、自動的に、定義テーブル３５に定義されることとなる。
【図面の簡単な説明】
【００６６】
【図１】本実施形態のジョブサーバマシンの構成図
【図２】共通ライブラリ管理テーブルのデータ構造の一例を示す図
【図３】定義テーブルのデータ構造の一例を示す図
【図４】ＨＢＡ情報取得モジュールによる処理の流れを示す図
【図５】ワークテーブルのデータ構造の一例を示す図
【図６】最適ＨＢＡ情報抽出サブルーチンによる処理の流れを示す図
【図７】ＳＡＮが適用されたコンピュータネットワークシステムの構成図
【図８】ＨＢＡ情報の収集を実現するための各機能を示す図
【図９】ＨＢＡ情報の収集を実現するための各機能を示す図
【符号の説明】
【００６７】
１０    ジョブサーバマシン
１０ａ  ＨＢＡ
１０ｂ  ＬＡＮアダプタ
１０ｃ  ＬＡＮアダプタ
１０ｄ  ストレージユニット
１０ｅ  ＣＰＵ
１０ｆ  メモリユニット
１１    アプリケーション
１２    オペレーティングシステムソフトウエア
３０ａ  管理エージェント
３１    ＨＢＡドライバ
３２    固有ライブラリ
３３    共通ライブラリ
３４    共通ライブラリ管理テーブル
３５    定義テーブル
３６    ＨＢＡ情報取得モジュール
３７    ワークテーブル
【図１】
2008287633.tif 000003
【図２】
2008287633.tif 000004
【図３】
2008287633.tif 000005
【図４】
2008287633.tif 000006
【図５】
2008287633.tif 000007
【図６】
2008287633.tif 000008
【図７】
2008287633.tif 000009
【図８】
2008287633.tif 000010
【図９】
2008287633.tif 000011