(57)【要約】      （修正有）【課題】データ入出力要求増加時に優先度の高いデータ入出力要求を優先させることのできる情報処理装置，プログラム，情報処理システム及び情報処理装置の制御方法を提供する。【解決手段】記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、前記各論理パスの使用率を判定値と比較する手段と、前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段とを備えることを特徴とする情報処理装置。【選択図】    図１
2004185327.tif 000002
【特許請求の範囲】
【請求項１】
記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、
前記各論理パスの使用率を判定値と比較する手段と、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段と
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理装置。
【請求項４】
記憶デバイスに接続された情報処理装置に、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定するステップと、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付けるステップと、
前記各論理パスの使用率を判定値と比較するステップと、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替えるステップと
を実行させるためのプログラム。
【請求項５】
請求項４に記載のプログラムにおいて、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とするプログラム。
【請求項６】
請求項４に記載のプログラムにおいて、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とするプログラム。
【請求項７】
記憶デバイスと、前記記憶デバイスにデータを記憶する情報処理装置とを備えて構成される情報処理システムであって、
前記情報処理装置は、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、
前記各論理パスの使用率を判定値と比較する手段と、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段とを有する
ことを特徴とする情報処理システム。
【請求項８】
請求項７に記載の情報処理システムにおいて、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理システム。
【請求項９】
請求項７に記載の情報処理システムにおいて、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理システム。
【請求項１０】
記憶デバイスと、前記記憶デバイスにデータを記憶する情報処理装置とを備えて構成される情報処理システムにおける前記情報処理装置の制御方法であって、
前記情報処理装置は、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定し、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付け、
前記各論理パスの使用率を判定値と比較し、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える
ことを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項１０に記載の情報処理装置の制御方法において、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理装置の制御方法。
【請求項１２】
請求項１０に記載の情報処理装置の制御方法において、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法に関する。
【０００２】
【従来の技術】
近年コンピュータシステムで取り扱われるデータ量が増大しており、記憶装置の大容量化が進んでいる。大容量の記憶装置では記憶容量に見合うだけの入出力性能と信頼性を確保することが必要である。そのため記憶装置への入出力経路を多重化し、入出力性能の向上と信頼性の向上を図る技術が開発されている。
【０００３】
記憶装置への入出力経路を多重化した場合、コンピュータでは、記憶装置へのデータ入出力要求を各入出力経路に振り分ける処理を行うことが必要となる。従来の技術では、各入出力経路にかかる負荷を分散させるために、各入出力経路に均等にデータ入出力要求を振り分けるようにしていた。振り分け方法としては、各入出力経路を順番に指定するラウンドロビン方式が採用されていた。
【０００４】
【特許文献１】
特開２００１−３２５２０７号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、記憶装置へのデータ入出力要求はどれも同じではなく、データ入出力要求を発行するアプリケーションプログラムにより、優先度の高いものや低いものがある。従来の技術では、記憶装置へのデータ入出力要求をラウンドロビン方式により各入出力経路に振り分けていたため、例えば記憶装置へのデータ入出力要求が殺到した場合に、優先度の高いデータ入出力要求を優先して記憶装置へ送信することができなかった。
【０００６】
そこで本発明は、データ入出力要求増加時に優先度の高いデータ入出力要求を優先させることのできる情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法を提供することを主たる目的とする。
【０００７】
【課題を解決するための手段】
記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、前記各論理パスの使用率を判定値と比較する手段と、前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段とを備えることを特徴とする情報処理装置に関する。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【０００８】
【発明の実施の形態】
＝＝＝全体構成例＝＝＝
以下、本発明の実施の形態について図面を用いて詳細に説明する。
まず、本実施の形態に係る情報処理システム（コンピュータシステム）の全体構成を示すブロック図を図１に示す。
【０００９】
情報処理装置（ホスト）１００はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリを備え、各種アプリケーションプログラムを実行する。例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等のプログラムを実行する。また情報処理装置１００は、上記アプリケーションプログラムを実行する際に記憶装置（記憶デバイス、ストレージ）２００が記憶しているデータにアクセスする。上記データアクセスは、情報処理装置１００と記憶装置２００との間でデータ転送を行うためにハードウェアにより物理的に構成されるデータ転送路である物理パスに対応付けられている論理パスを転送経路として行われる。情報処理装置１００と記憶装置２００とを接続する４本の接続部３０１乃至３０４は、それぞれ上記物理パスを構成する。また、ＩＦ１（１４１）乃至ＩＦ４（１４４）は記憶装置２００との間の通信インタフェースである。ＩＦ１（１４１）乃至ＩＦ４（１４４）はそれぞれ接続部１（３０１）乃至接続部４（３０４）と共に物理パスを構成する。
【００１０】
記憶装置２００は論理ユニット２２０、ディスク制御部２１０を備える。論理ユニット２２０は、情報処理装置１００に提供される記憶資源を論理的に区分して構成される記憶領域である。図１に示す記憶装置２００には、ＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）１（２２１）とＬＵ２（２２２）の２つの論理ユニットが備えられている。記憶資源としては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。ディスク制御部２１０は情報処理装置１００からのデータ入出力要求を受け、論理ユニット２２０に記憶されているデータのアクセスを制御する。ディスク制御部２１０は図１に示すように記憶装置２００と一体型とすることもできるし、別体型とすることもできる。また図１においては２つの論理ユニットが記されているが、１つの論理ユニット２２０を複数のパーティションに分割した形態とすることもできる。パーティションとは論理ユニット２２０を論理的に区分して構成される記憶領域のことである。
【００１１】
情報処理装置１００においては様々なアプリケーションプログラム１１０が実行される。図１に示す情報処理装置１００においてはＡＰ１（１１１）及びＡＰ２（１１２）の２つが実行されている。ＡＰ１（１１１）及びＡＰ２（１１２）は共に記憶装置２００に記憶されているデータへのアクセスを適宜行いながら所定の処理を実行する。通常、情報処理装置１００で実行される各アプリケーションプログラム１１０にはそれぞれがアクセス可能な論理ユニット２２０が割り当てられている。ここではＡＰ１（１１１）にはＬＵ１（２２１）が割り当てられ、ＡＰ２（１１２）にはＬＵ２（２２２）が割り当てられているものとする。もちろん、例えばＡＰ１（１１１）にＬＵ１（２２１）とＬＵ２（２２２）の両方を割り当てるようにすることもできる。
【００１２】
ＡＰ１（１１１）及びＡＰ２（１１２）からのデータアクセス要求は、上記論理パスを転送経路として送信される。上記データアクセス要求は、パス管理フィルタドライバ１２０により論理パス毎に転送経路を振り分けられて記憶装置２００に送信される。振り分けは、データアクセス要求に記載されている当該データアクセス要求の送信先である論理ユニットを指定するための情報に基づいて行われる。図１においては、ＡＰ１（１１１）からのデータアクセス要求が”▲１▼”及び”▲２▼”で示され、ＡＰ２（１１２）からのデータアクセス要求が”１”及び”２”で示されている。それぞれのデータアクセス要求（▲１▼、▲２▼、１、２）は、所定のデータ長毎に分割（図１では４つに分割）された上で、論理パス毎に転送経路を振り分けられる。振り分けられたデータアクセス要求は、それぞれの論理パスに対応する物理パス毎に設けられた入出力キュー１３１乃至１３４に記憶される。そして順次インタフェース部１４１乃至１４４から記憶装置２００へ送信される。
【００１３】
パス管理フィルタドライバ１２０は、情報処理装置１００と記憶装置２００との間のデータ転送経路を多重化するためのプログラムである。情報処理装置１００と記憶装置２００との間のデータ転送経路を多重化することにより、データアクセスにおけるボトルネックを解消しデータ入出力処理性能を向上させることができる。データアクセス要求を各データ転送経路へ適宜振り分けることによって負荷分散も行う。またデータ転送経路に障害が発生した場合には、当該データ転送経路を閉塞し正常なデータ転送経路により記憶装置２００へのデータアクセスを継続する機能を有するようにすることもできる。これにより、データ転送経路障害によるサービス停止を回避しシステムの信頼性を高めることができる。
【００１４】
なお、情報処理装置１００で実行されるオペレーティングシステムによっては、記憶装置２００との間を複数の論理パスで接続されることに対する考慮がなされていないものがある。このようなオペレーティングシステムを情報処理装置１００で実行している場合に、情報処理装置１００と記憶装置２００との間を複数の論理パスで接続すると、アプリケーションプログラム１１０には、記憶装置２００上に存在する１つの論理ユニット２２０が論理パス毎に存在するかのように見えてしまうという問題が生じる。これを回避するため、パス管理フィルタドライバ１２０は論理パス毎に見える本来一つの論理ユニット２２０を一つに統合してアプリケーションプログラム１１０に見せる機能も有している。
【００１５】
＝＝＝データ入出力要求の特性について＝＝＝
次に、本実施の形態に係る情報処理装置１００において実行されるＡＰ１（１１１）及びＡＰ２（１１２）の入出力特性を示す図を図２に示す。
図２は、横軸に「曜日」、縦軸に「データ入出力要求回数（ＩＯ要求回数）」をとり、ＡＰ１（１１１）及びＡＰ２（１１２）のそれぞれのデータ入出力要求回数をグラフに表したものである。
【００１６】
図２に示すように、ＡＰ１（１１１）とＡＰ２（１１２）とでは記憶装置２００へのデータアクセス特性が大きく異なる。すなわちＡＰ１（１１１）は特定の時期（金曜日）にアクセスが集中する特性を有し（１１３）、ＡＰ２（１１２）は比較的一定のデータアクセス特性を有する（１１４）。
ここで、上述したようにＡＰ１（１１１）はＬＵ１（２２１）に記憶されているデータをアクセスし、ＡＰ２（１１２）はＬＵ２（２２２）に記憶されているデータをアクセスするが、どちらも４本の接続部３０１乃至３０４を共通に使用する。
【００１７】
この場合、ＡＰ１（１１１）により行われる処理が優先度の高いものである場合、例えば銀行の自動預金預け払いシステムのように待ち時間の少ない迅速な処理が求められるものである場合には、ＡＰ１（１１１）及びＡＰ２（１１２）からのデータ入出力要求を各論理パスに均等に振り分けてしまうと、４本の物理パスをＡＰ１（１１１）とＡＰ２（１１２）とで共用していることがボトルネックとなり、ＡＰ１（１１１）により行われるデータ入出力処理が滞ることが想定される。
【００１８】
従来のパス管理フィルタドライバ１２０では、アプリケーションプログラム１１０からのデータ入出力要求を各論理パスにラウンドロビン方式で均等に振り分けるようにしていた。そのため、各アプリケーションプログラム１１０からのデータ入出力要求の優先度を考慮した振り分けを行うことができなかった。
【００１９】
＝＝＝データ入出力要求の振り分けについて＝＝＝
パス管理フィルタドライバ１２０により、ＡＰ１（１１１）及びＡＰ２（１１２）からのデータ入出力要求が４本の接続部３０１乃至３０４に均等に振り分けられている様子を図３に示す。図３においては、ＡＰ１（１１１）及びＡＰ２（１１２）からのデータ入出力要求（▲１▼、▲２▼、▲３▼、１、２）が所定のデータ長毎に５つに分割された上で入出力キュー１３１乃至１３４に均等に振り分けられている様子が示されている。
【００２０】
この場合、ＡＰ１（１１１）からのデータ入出力処理（▲１▼、▲２▼、▲３▼）を迅速に行わなければならないにも拘わらず、ＡＰ２（１１２）からのデータ入出力処理（１、２）と均等に割り振られる結果、ＡＰ１（１１１）からのデータ入出力処理が遅れてしまっている。
【００２１】
＝＝＝パスの優先化処理について＝＝＝
これを改善するために、本実施の形態に係る情報処理装置１００においてパスの優先化を実施した場合の入出力キュー１３０の様子を図４に示す。パスの優先化は、指定した物理パスを優先度の高いデータ入出力要求が優先的に使用できるように、パス管理フィルタドライバ１２０がデータ入出力要求を各論理パスに振り分けることにより行われる。
【００２２】
図４においては、ＬＵ１（２２１）へのデータ入出力要求（▲１▼、▲２▼、▲３▼）は、接続部１（３０１）乃至接続部３（３０３）を占有するように振り分けられている。接続部４（３０４）はその他の論理ユニット、すなわちＬＵ１（２２１）以外の論理ユニット（ここではＬＵ２（２２２））へのデータ入出力要求に対して割り振られている。
【００２３】
このように、ＡＰ１（１１１）からのデータ入出力要求が増加し入出力処理の遅れが発生しそうな場合にパスの優先化を実施することにより、入出力処理の遅れを回避することが可能となる。パスの優先化を実施するための具体的手段については後述する。
【００２４】
＝＝＝情報処理装置の詳細な構成例＝＝＝
次に、本実施の形態に係る情報処理装置１００におけるデータ入出力処理を説明するためのブロック図を図５に示す。
ＡＰ１（１１１）とＡＰ２（１１２）は、ファイルシステム２４０を介して記憶装置２００に設定されている論理ユニット２２０にアクセスする。ファイルシステム２４０は通常オペレーティングシステムの持つ機能の一つとして提供され、記憶装置２００により提供される記憶領域を管理する。すなわち、記憶装置２００により提供される記憶領域上の論理ブロック内にファイルという抽象概念を実現し、ファイルに対するデータ入出力要求を論理ブロックアドレス単位のデータ入出力要求に対応させる。
【００２５】
パス管理フィルタドライバ１２０は、ファイルシステム２４０を介してアプリケーションプログラム１１０から出されたデータ入出力要求を論理パス毎に振り分ける。
上記振り分けられたデータ入出力要求は、ディスクドライバ１６０及びＩＦ（Ｉｎｔｅｒ  Ｆａｃｅ）ドライバ１７０を介してＩＦ１（１４１）乃至ＩＦ４（１４４）から記憶装置２００に送信される。ディスクドライバ１６０はブロックモードのデバイスを論理ディスクとして抽象化する。ＩＦドライバ１７０はデータ入出力要求を所定の通信プロトコルのパケットに変換・復元する。通信プロトコルとしては例えばファイバチャネルを採用することができる。
【００２６】
上記データ入出力要求は、４本の接続部３０１乃至３０４を含むハードウェアにより構成される物理パスにより情報処理装置１００から記憶装置２００へ送信される。一方、前述した通り上記物理パス上には論理パスが対応付けられている。論理パスはソフトウェアにより論理的に構成されるデータ転送路である。図５において論理パスは８０１乃至８０８で示される。論理パスはＬＵ毎に設けられる。論理パス８０１乃至８０８を定義するための要素については後述する。
【００２７】
図５においては、論理パス１（８０１）及び論理パス５（８０５）が接続部１（３０１）を含むデータ転送路である物理パス１に対応付けられている。論理パス２（８０２）及び論理パス６（８０６）が接続部２（３０２）を含むデータ転送路である物理パス２に対応付けられている。論理パス３（８０３）及び論理パス７（８０７）が接続部３（３０３）を含むデータ転送路である物理パス３に対応付けられている。論理パス４（８０４）及び論理パス８（８０８）が接続部４（３０４）を含むデータ転送路である物理パス４に対応付けられている。
【００２８】
情報処理装置１００と記憶装置２００との間は、図５に示すようにＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  ｎｅｔｗｏｒｋ）７００で接続される形態とすることもできるし、図１に示すように直接に接続される形態とすることもできる。
【００２９】
ＩＦ１（１４１）乃至ＩＦ４（１４４）から送信されたデータ入出力要求は、記憶装置２００のディスク制御部１（２１１）又はディスク制御部２（２１２）に送られる。そしてディスク制御部１（２１１）又はディスク制御部２（２１２）の制御の下、論理ユニット２２０へのデータアクセスが行われる。
【００３０】
パス管理フィルタドライバ１２０は、ロジック部１２４が備えるＬＵ管理表６００により、ファイルシステム２４０からのデータ入出力要求をどこの論理パスに出すかを決定する。すなわち、通常は負荷分散のために４本の接続部３０１乃至３０４を均等に使用するようにラウンドロビン方式で振り分けるが、前述したように特定のＬＵに対するデータ入出力要求が増加した場合には、当該ＬＵに対するデータ入出力要求が優先的に接続部を使用できるように上記振り分け方を切り替える。
【００３１】
ドライバ管理プログラム１２１は、ドライバＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）プログラム１２２及びドライバＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）プログラム１２３と共に、パス管理フィルタドライバ１２０を管理する。例えばＬＵ管理表６００の更新を行う。ドライバＵＩプログラム１２２は、ドライバ管理プログラム１２１を介してパス管理フィルタドライバ１２０の設定を行う際のユーザインタフェースを提供するためのプログラムである。ドライバＡＰＩプログラム１２３は、ドライバＵＩプログラム１２２を用いてパス管理フィルタドライバ１２０を設定する際に使用可能な命令や関数を集めたプログラムである。これらのプログラムは、以下に説明される本実施の形態に係る各種の動作を行うためのコードから構成されている。
【００３２】
ＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）実績表４００は、情報処理装置１００と記憶装置２００との間で行われるデータ入出力処理の回数を記録したテーブルである。データ入出力処理の回数の計測は、定期的にあるいは不定期にパス管理フィルタドライバ１２０により行われる。そしてドライバ管理プログラム１２１は、パス管理フィルタドライバ１２０により計測された所定期間内のデータ入出力処理の回数を取得し、ＩＯ実績表４００に反映する。
【００３３】
閾値設定表５００は、オペレータがドライバＵＩプログラム１２２を介して入力したデータに基づき、ドライバ管理プログラム１２１により設定されるテーブルである。
【００３４】
ドライバ管理プログラム１２１は、ＩＯ実績表４００に記録された上記データ入出力処理の回数と閾値設定表５００に設定された閾値（判定値）とを比較する。ＩＯ実績表４００に記録されたデータ入出力回数が閾値設定表５００に設定された判定値を超えた場合には、パス管理フィルタドライバ１２０がＬＵ管理表６００に従って行うデータ入出力要求の振り分けを切り替える。
【００３５】
＝＝＝論理パスを定義するための要素について＝＝＝
次に、上記論理パス８０１乃至８０８を定義するための要素について図６に示す。図６に示すように、論理パスはＨＬＵ（Ｈｏｓｔ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）２２３、ＴＩＤ（Ｔａｒｇｅｔ  ＩＤ）１８１、Ｂｕｓ１８２、ＨＰｏｒｔ（Ｈｏｓｔ  ｂｕｓ  ａｄａｐｔｅｒ  Ｐｏｒｔ）１８０、ＤＰｏｒｔ（Ｄｉｓｋ  ｃｏｎｔｒｏｌｌｅｒ  Ｐｏｒｔ）２３０、ディスク制御部２１０、及びＬＵ２２０のハードウェアまたはソフトウェアを特定することにより定義される。ＨＬＵ２２３、ＴＩＤ１８１、Ｂｕｓ１８２、ＨＰｏｒｔ１８０はＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）通信規格で用いられる概念であり、それぞれホスト論理ユニット、ターゲットＩＤ、論理バス、ホストバスアダプタ側ポートを示す。ＤＰｏｒｔ２３０はディスク制御部のポートを示す。もちろん論理パスの定義は必ず上記要素によらなければならない訳ではなく、システムにより上記要素のいずれかは不要とすることもできるし、上記以外の要素により論理パスを定義することもできる。これらの要素を特定することにより論理パスが定義され、当該各要素を論理的に設定している物理パスと論理パスとの対応付けが行われる。
【００３６】
なお、図６に示すように情報処理装置１００と記憶装置２００とを接続するパスが複数ある場合には記憶装置２００上の一つのＬＵ２２０がパス毎に存在しているかのように見えてしまうが、図４に示すように、パス管理フィルタドライバ１２０を介することによりユーザへは一つの論理ユニットとして見せることが可能となる。
【００３７】
＝＝＝情報処理装置の他の構成例＝＝＝
次に、図５に示した情報処理装置１００と一部構成の異なるものを図７に示す。
すなわち図５における情報処理装置１００では、ディスクドライバ１６０はパス管理フィルタドライバ１２０からデータ入出力要求を受け取り、ブロックモードのデバイスを論理ディスクとして抽象化した後にＩＦドライバ１７０に引き渡す。しかしながらオペレーティングシステムによっては、ディスクドライバ１６０をファイルシステム２４０とパス管理フィルタドライバ１２０との間に介在させる必要のあるものもある。図７に示したのはかかる場合の例である。図５の形態と図７の形態とはオペレーティングシステムの違いによって生じるものであって、どちらの形態も本発明の実施形態の一つである。
【００３８】
＝＝＝ＩＯ実績表について＝＝＝
次に、本実施の形態に係るＩＯ実績表４００を図８に示す。
上述したようにＩＯ実績表４００は情報処理装置１００と記憶装置２００との間で行われるデータ入出力処理の回数を記録したテーブルである。図８に示すように、ＩＯ実績表４００は曜日別に論理パス毎のデータ入出力要求の回数が集計されたものである。なお、図８において記載されている物理パス１乃至４とは、それぞれ接続部１乃至４を含むハードウェアにより物理的に構成されるデータ転送路のことである。
【００３９】
論理パス１（８０１）乃至論理パス４（８０４）は、それぞれ物理パス１乃至物理パス４を介してＬＵ１（２２１）に記憶されているデータをアクセスするためのパスである。ＬＵ１（２２１）に記憶されているデータをアクセスするのはＡＰ１（１１１）であるので、上記論理パス１（８０１）乃至論理パス４（８０４）は、ＡＰ１（１１１）からのデータアクセス要求が使用するパスである。
【００４０】
論理パス５（８０５）乃至論理パス８（８０８）は、それぞれ物理パス１乃至物理パス４を介してＬＵ２（２２２）に記憶されているデータをアクセスするためのパスである。ＬＵ２（２２２）に記憶されているデータをアクセスするのはＡＰ２（１１２）であるので、上記論理パス５（８０５）乃至論理パス８（８０８）は、ＡＰ２（１１２）からのデータアクセス要求が使用するパスである。
【００４１】
ドライバ管理プログラム１２１は、パス管理フィルタドライバ１２０が計測したデータ入出力処理の回数を取得しＩＯ実績表４００に反映する。データ入出力処理の回数の取得は、定期的に行うようにすることもできるし不定期に行うようにすることもできる。定期的に行う場合には、例えば１分毎に行うようにすることもできるし１時間毎に行うようにすることもできる。不定期に行う場合には、例えばオペレータからの指示があった際に行うようにすることもできる。
【００４２】
ＩＯ実績表４００に記録されるデータ入出力の回数は、ドライバ管理プログラム１２１がパス管理フィルタドライバ１２０から取得したデータ入出力の回数をそのまま記録するようにすることもできるし、その日一日の累計を記録するようにすることもできる。さらにデータ入出力回数の平均値を記録するようにすることもできる。
【００４３】
＝＝＝閾値設定表について＝＝＝
次に、本実施の形態に係る閾値設定表を図９に示す。
上述したように、閾値設定表５００は、オペレータがドライバＵＩプログラム１２２を介して入力したデータに基づき、ドライバ管理プログラムにより設定されるテーブルである。図９に示すように閾値設定表５００は物理パス毎に設定される。
【００４４】
設定項目は、毎分のデータ入出力の回数に対する閾値（判定値）、上記毎分のデータ入出力処理が閾値を超えた場合にアクセスを優先させる論理ユニット、及び上記アクセス優先処理を実施する曜日指定である。
【００４５】
図９においては、物理パス１乃至物理パス３に対して、データ入出力処理の回数が閾値を超えた場合の優先処理の設定がなされている。これにより、金曜日に物理パス１乃至物理パス３のいずれかを使用して行われるＬＵ１（２２１）へのデータアクセス要求が毎分２００回を超えた場合には、ＬＵ１（２２１）に対するデータ入出力要求は当該物理パスを優先的に使用することができるようになる。これにより、ＬＵ１（２２１）へのデータアクセス要求を迅速に行うことが可能となる。
【００４６】
毎分のデータ入出力処理の回数が上記閾値を超えない場合には、物理パス１乃至物理パス３を使用して行えるデータ入出力処理はＬＵ１（２２１）に対するものに限定されない。この場合、パス管理フィルタドライバ１２０は全ての物理パス、すなわち物理パス１乃至物理パス４に対して均等に、データ入出処理要求を振り分ける。
【００４７】
一方、物理パス４に対しては閾値の設定がなされていない。この場合、物理パス１乃至物理パス３に対するデータ入出力処理の回数が上記設定された閾値を超えない場合には、パス管理フィルタドライバ１２０は、物理パス１乃至物理パス４に対して均等にデータ入出処理要求を振り分けるが、物理パス１乃至物理パス３のいずれかに対するデータ入出力処理要求の回数が上記設定された閾値を超えた場合には、物理パス４を使用して行えるデータ入出力要求は、ＬＵ１（２２１）以外に対するもの（ここではＬＵ２（２２２）に対するもの）になる。ＬＵ１（２２１）に対するデータ入出力要求は物理パス１乃至物理パス３を占有して送信されるからである。
【００４８】
ただしこの場合、ＬＵ１（２２１）へのデータ入出力要求に対し、物理パス１乃至物理パス３のみならず物理パス４も使用可能とすることもできる。この場合物理パス４には、ＬＵ１（２２１）に対するものと、ＬＵ１（２２１）以外に対するもの（ここではＬＵ２（２２２）に対するもの）の両方のデータ入出力要求が送信されることになる。
【００４９】
また図９においては、各物理パスには優先ＬＵが一つずつしか記載されていないが、複数の優先ＬＵを指定するようにすることもできる。この場合は優先ＬＵ毎に閾値を設定するようにすることができる。また有効日欄には一つの曜日しか指定されていないが、複数の曜日を指定するようにすることもできる。その他、「曜日」による指定ではなく「日付」による指定や「休祝日の前日」といった指定ができるようにすることもできる。また閾値は毎分の入出力回数以外にも毎時間の入出力回数やその日の始業からの入出力回数の累計とすることもできる。
【００５０】
＝＝＝ＬＵ管理表について＝＝＝
次に、本実施の形態におけるＬＵ管理表６００を図１０に示す。
ＬＵ管理表６００は、パス管理フィルタドライバ１２０がデータ入出力要求を論理パスに振り分ける際に参照される表である。
【００５１】
図１０において”ＯＮ”と記載されている場合には当該論理パスを使用可能であることを表し、”ＯＦＦ”  と記載されている場合には当該論理パスを使用不可能であることを表す。図１０においては、ＬＵ１（２２１）へのデータ入出力要求は論理パス１（８０１）乃至４（８０４）が使用可能であり、ＬＵ２（２２２）へのデータ入出力要求は論理パス５（８０５）乃至８（８０８）が使用可能であることが示されている。論理パス１（８０１）乃至４（８０４）及び論理パス５（８０５）乃至８（８０８）はそれぞれ物理パス１乃至４上に設定された論理パスである。
【００５２】
ＬＵ管理表６００が図１０の様に設定されている場合には、パス管理フィルタドライバ１２０は、ファイルシステム２４０からのデータ入出力要求を４つの物理パス１乃至４を均等に使用するようにラウンドロビン方式で各論理パスに振り分ける。すなわちパスの優先化は実施されない。
【００５３】
これに対しパスの優先化を実施する場合には、図１１に示すように、使用させたくない論理パスについて”ＯＦＦ”を設定する。
図１１においては、論理パス４（８０４）乃至７（８０７）が使用不可能に設定されている。このとき、ＬＵ１（２２１）へのデータ入出力要求は論理パス１（８０１）乃至３（８０３）のみが使用可能であり、ＬＵ２（２２２）へのデータ入出力要求は論理パス８（８０８）のみが使用可能である。
【００５４】
このようにＬＵ管理表６００は、データ入出力要求のあて先であるＬＵと当該データ入出力要求が使用する論理パスとを対応付けるものである。これにより、データ入出力要求に記述されているＬＵを指定するための情報に基づいて、当該データ入出力要求を論理パスに振り分けることができる。そして上述の様に、ＬＵ１（２２１）へのデータ入出力要求を物理パス１乃至３を占有させるように各論理パスへ振り分けることが可能となる。
【００５５】
＝＝＝パスの優先化処理＝＝＝
ＩＯ実績表４００に記録されているデータ入出力要求の回数が閾値設定表５００に設定された閾値を超えた場合には、図１０に示したＬＵ管理表６００から図１１に示したＬＵ管理表６００への切り替えが行われ、パスの優先化が実施される。
【００５６】
本実施の形態におけるパスの優先化を行うためにドライバ管理プログラム１２１により実行される処理の流れを示すフローチャートを図１２乃至図１３に示す。
まず、ドライバ管理プログラム１２１は閾値設定表５００を作成する（Ｓ１０００）。作成はドライバ管理プログラム１２１の起動時に行われ、ドライバＵＩプログラム１２２を用いてオペレータにより設定された閾値や優先ＬＵ等を取得することにより行われる。
次にＩＯ実績表４００を作成する（Ｓ１００１）。作成はパス管理フィルタドライバ１２０が計測しているデータ入出力処理の回数を取得することにより行われる。
【００５７】
以上の処理ステップを経た後、メイン処理ループの実行に移行する。まずＳ１００２及びＳ１００３において所定時間経過するのを待ち、Ｓ１００４においてパス管理フィルタドライバ１２０よりデータ入出力回数を論理パス毎に取得する。これにより各論理パスの所定時間内のデータ入出力回数すなわち各論理パスの使用率を知ることができる。取得したデータ入出力回数はＩＯ実績表４００に記録される。続いてパスの優先化要求フラグを初期化する（Ｓ１００５）。パスの優先化要求フラグとは、パスの優先化を実施する必要性の有無を判断するために使用されるフラグである。具体的には、データ入出力回数が閾値設定表５００に設定されている閾値（判定値）を超えていることが判明した場合にセットされ、ドライバ管理プログラム１２１はパスの優先化要求フラグがセットされている場合にはパスの優先化を実行する。
【００５８】
次に、ドライバ管理プログラム１２１は最初の論理パスを取得する。最初の論理パスとは論理パス１（８０１）のことである。以降のステップにおいては、論理パス１（８０１）について、データ入出力要求の回数が閾値を超えていないかをチェックすることになる。まずＳ１００７においてチェックする論理パスの有無により終了判定を行うが、これから論理パス１（８０１）のチェックを行うところであるので、”Ｙ”（Ｙｅｓ）に進む。
【００５９】
Ｓ１００８においては、データ入出力要求の回数が閾値を超えていないかどうかをチェックする。具体的にはＳ１０００で作成した閾値設定表５００とＳ１００４で更新したＩＯ実績表４００とを比較する。比較は以下のようにして行う。まず、現在チェック対象となっている論理パス１（８０１）は物理パス１上に設定されたものであるので、閾値設定表５００の物理パス１の欄に着目する。そしてまず「曜日」欄をチェックする。図９の例で説明すると、現在が金曜日でなければ比較の対象外であるのでチェックを終了し”Ｎ”（Ｎｏ）に進む。現在が金曜日である場合には、閾値設定表５００に記載されている閾値の値と、ＩＯ実績表４００内の金曜日の論理パス１の欄に記録されているデータ入出力回数を比較する。もしもＩＯ実績表４００の当該欄に記録されている値の方が大きい場合には、”Ｙ”に進む。ＩＯ実績表４００の当該欄に記録されている値の方が小さい場合には、”Ｎ”に進む。
【００６０】
Ｓ１００８において”Ｙ”に進んだ場合には、Ｓ１００９において優先化要求フラグがセットされる。Ｓ１０１０において次の論理パスを取得してＳ１００７から処理を繰り返す。次の論理パスとはここでは論理パス２（８０２）のことである。
【００６１】
そして全ての論理パスについての処理が終了したらＳ１００７において”Ｎ”に進み、Ｓ１０１１を実行する。ここでは優先化要求フラグがセットされているか否かがチェックされる。すなわちデータ入出力要求の回数が閾値を超えている論理パスが一つでもあった場合には優先化要求フラグがセットされているため、”Ｙ”に進む。そしてＳ１０１２においてパスの優先化処理を実施する。パスの優先化処理の実施とは、具体的にはパス管理フィルタドライバ１２０により参照されるＬＵ管理表６００を図１０に示した態様から例えば図１１に示した態様に切り替えることである。もちろん、初めからＬＵ管理表６００が図１１の態様に切り替わっていた場合には、そのまま図１１の態様で継続する。
【００６２】
一方Ｓ１０１１において、優先化要求フラグがセットされていなかった場合には、Ｓ１０１３においてパスの優先化処理を終了する。パスの優先化処理の終了とは、具体的にはパス管理フィルタドライバ１２０により参照されるＬＵ管理表６００を図１１に示した態様から例えば図１０に示した態様に切り替えることである。もちろん、初めからＬＵ管理表６００が図１０の態様に切り替わっていた場合には、そのまま図１０の態様で継続する。
上記Ｓ１００２からＳ１０１３の処理を所定時間毎に繰り返し行う。
【００６３】
＝＝＝データ入出力要求の振り分け処理＝＝＝
次に、パス管理フィルタドライバ１２０がＬＵ管理表６００を参照してデータ入出力処理を振り分ける際の処理の流れを示すフローチャートを図１４に示す。
まずパス管理フィルタドライバ１２０は、処理対象ＬＵをＬＵ１（２２１）に設定して処理を開始する（Ｓ２０００、Ｓ２００１）。次にＬＵ１（２２１）に対する排他を取得する。ＬＵ１（２２１）に対する排他を取得するとは、ＬＵ１（２２１）へのデータ入出力要求を自分のみが行えるように独占することである。
【００６４】
続いて論理パス１（８０１）を処理対象パスに設定し、処理を開始する（Ｓ２００３、Ｓ２００４）。ＬＵ管理表６００のＬＵ１（２２１）及び論理パス１（８０１）の欄が”ＯＮ”の場合には、論理パス１（８０１）からデータ入出力要求を送信する（Ｓ２００５）。これを全ての論理パスに対して繰り返し行う（Ｓ２００６）。次にＬＵ１（２２１）に対する排他を解放する（Ｓ２００７）。これを全てのＬＵに対して繰り返し行う（Ｓ２００８）。上記処理を繰り返し行うことにより、パス管理フィルタドライバ１２０はＬＵ管理表６００を参照してデータ入出力処理の振り分け処理を行う。
【００６５】
＝＝＝ＬＵ管理表の設定＝＝＝
次に本実施の形態におけるＬＵ管理表を設定するための処理の流れを示すフローチャートを図１５乃至図１６に示す。ＬＵ管理表の設定は、パス管理フィルタドライバ１２０が行うようにすることもできるし、ドライバ管理プログラム１２１が行うようにすることもできる。
【００６６】
前者の場合には、図１２乃至図１３において示したパスの優先化処理フローチャートのＳ１０１２においてパスの優先化を実施する際に、ドライバ管理プログラム１２１からの指示を受けて、パス管理フィルタドライバ１２０が本フローチャートに従って作成したＬＵ管理表６００へ切り替える処理を行う。
【００６７】
後者の場合には、図１２乃至図１３において示したパスの優先化処理フローチャートのＳ１０１２においてパスの優先化を実施する際に、ドライバ管理プログラム１２１が本フローチャートに従って作成したＬＵ管理表６００をパス管理フィルタドライバ１２０が取得し、ＬＵ管理表６００を切り替える処理を行うことになる。
【００６８】
ここでは、前者の場合を例に図１５乃至図１６に示したフローチャートを説明する。
まず、パス管理フィルタドライバ１２０は閾値設定表５００から最初の物理パスを取得する（Ｓ３０００）。最初の物理パスとは物理パス１のことである。以降のステップにおいては、物理パス１についてＬＵ管理表６００を設定することになる。まずＳ３００１において物理パスの有無により終了判定を行うが、ここではこれから物理パス１についてＬＵ管理表６００の設定を行うところであるので、”Ｙ”に進む。
【００６９】
Ｓ３００２において、閾値設定表５００の物理パス１の欄に優先ＬＵの設定がなされているか否かがチェックされる。図９の例で説明すると物理パス１には優先ＬＵとしてＬＵ１（２２１）が設定されているので”Ｙ”に進む。
Ｓ３００３においてＬＵ管理表６００より最初の論理パスを取得する。最初の論理パスとは論理パス１（８０１）のことである。
そしてＳ３００４において上記取得した論理パス１が設定されている物理パスが上記閾値設定表５００から取得した物理パスと同一であるかどうかがチェックされる。ここでは論理パス１（８０１）が設定されている物理パスは物理パス１であるので、閾値設定表５００から取得した物理パスと同一であることが判明する。加えてＳ３００４において、閾値設定表５００に設定されている優先ＬＵと論理パス１が対象とするＬＵが同一でないかどうかもチェックされる。ここではどちらもＬＵ１であり、同一であることが判明する。
以上よりＳ３００４の判定は”Ｎ”となり、Ｓ３００６に進む。Ｓ３００５の処理を行わないことによりＬＵ管理表６００の論理パス１の欄は”ＯＮ”のままとされる。
Ｓ３００６において次の論理パスを取得してＳ３００４から処理を繰り返す。次の論理パスとは、ここでは論理パス２（８０２）のことである。
全ての論理パスについての処理が終了したら（Ｓ３００７）、Ｓ３００８において閾値設定表５００から次の物理パスを取得してＳ３００１から処理を繰り返す。次の物理パスとは物理パス２のことである。閾値設定表５００の全ての物理パスについての処理が終了したら処理を終了する。
【００７０】
なお、図９の例では物理パス４については閾値設定表５００に優先ＬＵは設定されていない。その場合Ｓ３００２において”Ｎ”に進む。
まずＳ３００９においてＬＵ管理表６００より最初の論理パスを取得する。最初の論理パスとは論理パス１（８０１）のことである。そしてＳ３０１０において上記取得した論理パス１が設定されている物理パスが上記閾値設定表５００から取得した物理パスと同一であるかどうかがチェックされる。ここでは論理パス１（８０１）が設定されている物理パスは物理パス１であるので、閾値設定表５００から取得した物理パス（物理パス４）と同一ではないことが判明する。加えてＳ３０１０において、閾値設定表５００に優先ＬＵとして設定されているＬＵと論理パス１が対象とするＬＵが同一であるかどうかもチェックされる。ここでは閾値設定表５００に優先ＬＵとして設定されているＬＵはＬＵ１（物理パス１乃至物理パス３に対する優先ＬＵ）であり、論理パス１が対象とするＬＵはＬＵ１であるので、同一であることが判明する。以上よりＳ３０１０の判定は”Ｎ”となりＳ３０１２に進む。そしてＳ３０１２において次の論理パスを取得してＳ３０１０から処理を繰り返す。次の論理パスとは、ここでは論理パス２（８０２）のことである。
【００７１】
論理パス４についてのＳ３０１０の判定においては、論理パス４（８０４）が設定されている物理パスは物理パス４であり、閾値設定表５００から取得した物理パス（物理パス４）と同一である。加えて閾値設定表５００に優先ＬＵとして設定されているＬＵ（ＬＵ１）と論理パス４が対象とするＬＵ（ＬＵ１）も同一である。よって論理パス４についてのＳ３０１０の判定は”Ｙ”となりＳ３０１１に進み、ＬＵ管理表に”ＯＦＦ”が設定される。全ての論理パスについての処理が終了したら（Ｓ３０１３）、Ｓ３００８に進む。
【００７２】
以上の処理を実施することにより、ＬＵ管理表６００の設定を行うことができる。なお、上記ＬＵ管理表６００の設定はパス管理フィルタドライバ１２０が行うものとして説明したが、ドライバ管理プログラム１２１が行う場合も同様である。
【００７３】
このように本実施の形態によれば、情報処理装置１００から記憶装置２００の特定の記憶領域に対するデータ入出力要求を、ＬＵ管理表６００によりあらかじめ対応付けられた論理パスを介して送信することができるので、例えばある論理パスの使用率が上昇した場合に、当該論理パスに対応付けられたデータ入出力要求を他のデータ入出力要求に優先して送信することができるようになる。これにより、優先度に応じたデータ入出力要求の送信が行えるようになるため、論理パスの有効利用が図れる。また優先度の高いデータ入出力要求に対して、入出力性能を落とさずに記憶装置２００へのアクセスを行うことができる。
【００７４】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００７５】
【発明の効果】
情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法を提供することができる。
【図面の簡単な説明】
【図１】本実施の形態に係る情報処理システムの全体構成を示すブロック図である。
【図２】本実施の形態に係る情報処理装置において実行されるアプリケーションプログラムの入出力特性を示す図である。
【図３】本実施の形態に係る情報処理装置においてパスの優先化を実施しない場合のデータ入出力キューの様子を示すブロック図である。
【図４】本実施の形態に係る情報処理装置においてパスの優先化を実施した場合のデータ入出力キューの様子を示すブロック図である。
【図５】本実施の形態に係る情報処理装置におけるデータ入出力処理を説明するためのブロック図である。
【図６】本実施の形態に係る情報処理装置と記憶装置との間のデータ入出力パスを構成する要素を示す図である。
【図７】本実施の形態に係る情報処理装置におけるデータ入出力処理を説明するためのブロック図である。
【図８】本実施の形態に係るＩＯ実績表を示す図である。
【図９】本実施の形態に係る閾値設定表を示す図である。
【図１０】本実施の形態においてパスの優先化を実施しない場合のＬＵ管理表を示すブロック図である。
【図１１】本実施の形態においてパスの優先化を実施する場合のＬＵ管理表を示すブロック図である。
【図１２】本実施の形態におけるデータ入出力パスの管理を行うための処理の流れを示すフローチャートである。
【図１３】本実施の形態におけるデータ入出力パスの管理を行うための処理の流れを示すフローチャートの続きである。
【図１４】本実施の形態におけるデータ入出力処理の流れを示すフローチャートである。
【図１５】本実施の形態におけるＬＵ管理表を設定するための処理の流れを示すフローチャートである。
【図１６】本実施の形態におけるＬＵ管理表を設定するための処理の流れを示すフローチャートの続きである。
【符号の説明】
１００  情報処理装置              １１０  アプリケーションプログラム
１１１  ＡＰ１                    １１２  ＡＰ２
１２０  パス管理フィルタドライバ  １２１  ドライバ管理プログラム
１２２  ドライバＵＩプログラム    １２３  ドライバＡＰＩプログラム
１２４  ロジック部                １３０  入出力キュー
１４０  インタフェース部          １６０  ディスクドライバ
１７０  ＩＦドライバ              １８０  ＨＰｏｒｔ
１８１  ＴＩＤ                    １８２  Ｂｕｓ
２００  記憶装置                  ２１０  ディスク制御部
２１１  ディスク制御部１          ２１２  ディスク制御部２
２２０  論理ユニット              ２２１  ＬＵ１
２２２  ＬＵ２                    ２２３  ＨＬＵ
２３０  ＤＰｏｒｔ                ２４０  ファイルシステム
２４１  ＬＵ１                    ２４２  ＬＵ２
３００  接続部                    ４００  ＩＯ実績表
５００  閾値設定表                ６００  ＬＵ管理表
７００  ＳＡＮ                    ８００  論理パス
【図１】
2004185327.tif 000003
【図２】
2004185327.tif 000004
【図３】
2004185327.tif 000005
【図４】
2004185327.tif 000006
【図５】
2004185327.tif 000007
【図６】
2004185327.tif 000008
【図７】
2004185327.tif 000009
【図８】
2004185327.tif 000010
【図９】
2004185327.tif 000011
【図１０】
2004185327.tif 000012
【図１１】
2004185327.tif 000013
【図１２】
2004185327.tif 000014
【図１３】
2004185327.tif 000015
【図１４】
2004185327.tif 000016
【図１５】
2004185327.tif 000017
【図１６】
2004185327.tif 000018