(57)【特許請求の範囲】
【請求項１】
オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続され、
ＣＰＵと、
メモリと、
前記ＣＰＵが前記メモリに記憶されたプログラムを実行することにより実現される、対応付け記憶部と、前記オペレーティングシステムから前記ストレージ装置に送信される前記データ入出力を受け付ける送信制御部と、前記ＣＰＵが前記メモリに記憶された前記プログラムを実行することにより実現される、物理パス割合記憶部とを有し、
前記対応付け記憶部は、前記データ入出力要求を生成する前記プロセスが有する属性を特定する第１の情報を、前記物理パスを特定する第２の情報と対応付けて記憶し、
前記送信制御部は、前記オペレーティングシステムから受け付けた前記ストレージ装置に送信される前記データ入出力要求が、前記第１の情報により特定される前記属性を有する前記プロセスによって生成された第１の前記データ入出力要求である場合には、
前記第１のデータ入出力要求を、前記第１の情報に対応付けられた前記第２の情報により特定される第１の前記物理パスを通じて前記ストレージ装置に送信し、前記第１の情報により特定される前記属性を有さない前記プロセスによって生成された第２の前記データ入出力要求を、前記第１の物理パスとは異なる第２の前記物理パスを通じて前記ストレージ装置に送信し、
前記物理パス割合記憶部は、前記第１の物理パスとして使用する前記物理パスの本数と、前記第２の物理パスとして使用する前記物理パスの本数との割合を記憶し、
前記対応付け記憶部は、前記第１の情報を、前記割合に応じた本数の前記第１の物理パスを特定する前記第２の情報と対応付けて記憶し、
前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第１のデータ入出力要求である場合には、
前記第１のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第１の物理パスを通じて前記ストレージ装置に送信し、前記第２のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第２の物理パスを通じて前記ストレージ装置に送信すること
を特徴とする情報処理装置。
【請求項２】
前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第１のデータ入出力要求である場合には、
前記ストレージ装置に送信される前記複数のデータ入出力要求のそれぞれを、前記各物理パスを順番に使用して前記ストレージ装置に送信する第１の制御から、
前記第１のデータ入出力要求を、前記第１の制御において使用される前記各物理パスのうち前記第１の物理パスを通じて前記ストレージ装置に送信し、前記第２のデータ入出力要求を、前記第２の物理パスを通じて前記ストレージ装置に送信する第２の制御に切り換えること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の物理パス及び前記第２の物理パスはそれぞれ複数であり、
前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第１のデータ入出力要求である場合には、
前記第１のデータ入出力要求を、前記複数の第１の物理パスのそれぞれを順番に使用して前記ストレージ装置に送信し、前記第２のデータ入出力要求を、前記複数の第２の物理パスのそれぞれを順番に使用して前記ストレージ装置に送信すること
を特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記対応付け記憶部は、前記物理パスに異常が検出された場合には、前記第１の情報に対応付けられる前記第２の情報により特定される前記第１の物理パスの本数を、前記異常が検出された物理パス以外の前記物理パスの本数に応じて更新すること
を特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記対応付け記憶部は、前記属性の種類毎に、前記第１の情報を、前記物理パスを特定する第２の情報と対応付けて記憶し、
前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第１のデータ入出力要求である場合には、
前記第１のデータ入出力要求を生成した前記プロセスが有する前記属性の種類に応じた前記第１の情報に対応付けられた前記第２の情報により特定される前記第１の物理パスを通じて、前記第１のデータ入出力要求を前記ストレージ装置に送信し、前記第２のデータ入出力要求を、前記第２の物理パスを通じて前記ストレージ装置に送信すること
を特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記複数の物理パスは、前記情報処理装置が有する複数の第１の通信ポート、及び前記ストレージ装置が有する複数の第２の通信ポートが、複数の第３の通信ポートを有するスイッチの前記複数の第３の通信ポートと１対１に接続されてなること
を特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記プロセスが有する属性は、前記プロセスの識別子、前記オペレーティングシステムによって前記プロセスとして管理される前記アプリケーションプログラムの識別子、前記プロセスの所有者を特定する識別子、前記プロセスの所有者のグループを特定する識別子、前記オペレーティングシステムによって管理される前記プロセスの実行優先度を示す情報、前記プロセスが生成された前記情報処理装置の識別子、前記プロセスの前記ＣＰＵの使用率を示す情報、前記プロセスの前記メモリの使用量を示す情報、前記プロセスが実行されているディレクトリを示す情報、及び前記プロセスを生成した前記プロセスの識別子の少なくともいずれかであること
を特徴とする請求項１に記載の情報処理装置。
【請求項８】
オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続され、
ＣＰＵと、
メモリと、
前記ＣＰＵが前記メモリに記憶されたプログラムを実行することにより実現される、対応付け記憶部と、前記オペレーティングシステムから前記ストレージ装置に送信される前記データ入出力を受け付ける送信制御部と、前記ＣＰＵが前記メモリに記憶された前記プログラムを実行することにより実現される、物理パス割合記憶部とを有する情報処理装置の制御方法であって、
前記対応付け記憶部が、前記データ入出力要求を生成する前記プロセスが有する属性を特定する第１の情報を、前記物理パスを特定する第２の情報と対応付けて記憶し、
前記送信制御部が、前記オペレーティングシステムから受け付けた前記ストレージ装置に送信される前記データ入出力要求が、前記第１の情報により特定される前記属性を有する前記プロセスによって生成された第１の前記データ入出力要求である場合には、
前記第１のデータ入出力要求を、前記第１の情報に対応付けられた前記第２の情報により特定される第１の前記物理パスを通じて前記ストレージ装置に送信し、前記第１の情報により特定される前記属性を有さない前記プロセスによって生成された第２の前記データ入出力要求を、前記第１の物理パスとは異なる第２の前記物理パスを通じて前記ストレージ装置に送信し、
前記物理パス割合記憶部は、前記第１の物理パスとして使用する前記物理パスの本数と、前記第２の物理パスとして使用する前記物理パスの本数との割合を記憶し、
前記対応付け記憶部は、前記第１の情報を、前記割合に応じた本数の前記第１の物理パスを特定する前記第２の情報と対応付けて記憶し、
前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第１のデータ入出力要求である場合には、
前記第１のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第１の物理パスを通じて前記ストレージ装置に送信し、前記第２のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第２の物理パスを通じて前記ストレージ装置に送信すること
を特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
近年、情報技術の進歩に伴い、情報処理装置とストレージ装置との間を複数の入出力経路で接続し、入出力性能の向上と信頼性の向上を図る技術が開発されている（例えば特許文献１参照）。  
情報処理装置とストレージ装置との間を複数の入出力経路で接続した場合には、情報処理装置は、いずれかの入出力経路を選択してストレージ装置へデータ入出力要求を送信することになる。入出力経路の選択は、負荷分散を考慮して、各入出力経路を順番に選択するラウンドロビン方式で行われる。
【特許文献１】米国特許第６５２６５２１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、情報処理装置では様々なアプリケーションプログラムが実行される。これらのアプリケーションプログラムは、実行時には、オペレーティングシステムによりプロセスとして管理されるが、各プロセスにより生成されるデータ入出力要求はどれも同じではなく、プロセスが有する属性により、データ入出力要求をストレージ装置に優先して送信することが望ましいものや、そうでないものがある。  
そのため、プロセスが有する属性を考慮して入出力経路を選択して、データ入出力要求をストレージ装置へ送信する技術が望まれている。  
本発明は、上記課題を鑑みてなされたものであり、情報処理装置、及び情報処理装置の制御方法を提供することを主たる目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明は、オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続され、ＣＰＵと、メモリと、前記ＣＰＵが前記メモリに記憶されたプログラムを実行することにより実現される、対応付け記憶部と、前記オペレーティングシステムから前記ストレージ装置に送信される前記データ入出力を受け付ける送信制御部と、前記ＣＰＵが前記メモリに記憶された前記プログラムを実行することにより実現される、物理パス割合記憶部とを有し、前記対応付け記憶部は、前記データ入出力要求を生成する前記プロセスが有する属性を特定する第１の情報を、前記物理パスを特定する第２の情報と対応付けて記憶し、前記送信制御部は、前記オペレーティングシステムから受け付けた前記ストレージ装置に送信される前記データ入出力要求が、前記第１の情報により特定される前記属性を有する前記プロセスによって生成された第１の前記データ入出力要求である場合には、前記第１のデータ入出力要求を、前記第１の情報に対応付けられた前記第２の情報により特定される第１の前記物理パスを通じて前記ストレージ装置に送信し、前記第１の情報により特定される前記属性を有さない前記プロセスによって生成された第２の前記データ入出力要求を、前記第１の物理パスとは異なる第２の前記物理パスを通じて前記ストレージ装置に送信し、前記物理パス割合記憶部は、前記第１の物理パスとして使用する前記物理パスの本数と、前記第２の物理パスとして使用する前記物理パスの本数との割合を記憶し、前記対応付け記憶部は、前記第１の情報を、前記割合に応じた本数の前記第１の物理パスを特定する前記第２の情報と対応付けて記憶し、前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第１のデータ入出力要求である場合には、前記第１のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第１の物理パスを通じて前記ストレージ装置に送信し、前記第２のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第２の物理パスを通じて前記ストレージ装置に送信する情報処理装置に関する。
【０００５】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００６】
情報処理装置、情報処理装置の制御方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【０００７】
＝＝＝全体構成例＝＝＝
まず本実施の形態に係る情報処理装置２００の動作を説明するためのブロック図を図１に示す。また、情報処理装置２００の構成を示すブロック図を図２に示す。  
本実施の形態に係る情報処理装置２００は、ＣＰＵ（Central Processing Unit）２１０やメモリ２２０を備えた情報機器であり、様々なアプリケーションプログラム８００を実行する。図１には、２つのアプリケーションプログラム８００、すなわちＡＰ１（８００）とＡＰ２（８００）とが示されている。アプリケーションプログラム８００としては、例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等のプログラムとすることができる。
【０００８】
アプリケーションプログラム８００は、実行時には、オペレーティングシステム８１０によってプロセス８０１として管理される。アプリケーションプログラム８００の実行に伴い、プロセス８０１はデータ入出力要求を生成する。データ入出力要求は、情報処理装置２００とストレージ装置６００とを接続する複数の物理パスを通じて、情報処理装置２００からストレージ装置６００に送信される。物理パスは、情報処理装置２００とストレージ装置６００との間でデータ転送を行うためにハードウェアにより物理的に構成されるデータ入出力要求の送信経路である。情報処理装置２００とストレージ装置６００とを接続する４本の通信ケーブル５１０は、それぞれ上記物理パスを構成する。また、ＨＢＡ（Host Bus Adapter、第１の通信ポート）１（２９０）乃至ＨＢＡ４（２９０）はストレージ装置６００との間の通信インタフェースである。ＨＢＡ１（２９０）乃至ＨＢＡ４（２９０）はそれぞれ通信ケーブル５１０と共に物理パスを構成する。
【０００９】
パス管理部９００は、上記物理パスを通じたデータ入出力要求の送信の制御を行う。すなわち、本実施の形態のように、情報処理装置２００とストレージ装置６００との間が複数の物理パスで接続されている場合には、パス管理部９００は、プロセス８０１により生成される複数のデータ入出力要求を、それぞれの物理パスに振り分けてストレージ装置６００に送信する。振り分けは、物理パス毎にメモリ２２０に設けられている入出力キュー２２１に、各データ入出力要求を登録することにより行われる。図１に示す例では、４つのデータ入出力要求”１”、”２”、”（１）”、”（２）”が、それぞれ所定のデータ長毎に分割（図１に示す例ではそれぞれ４つに分割）されて、各入出力キュー２２１に登録されている様子が示される。なおここでは、”１”、”２”で示されるデータ入出力要求は、ＡＰ１（８００）の実行により生成されたデータ入出力要求であり、”（１）”、”（２）”で示されるデータ入出力要求は、ＡＰ２（８００）の実行により生成されたデータ入出力要求であるものとする。  
入出力キュー２２１に登録されたデータ入出力要求は、順次ＨＢＡ２９０、及び通信ケーブル５１０を通じて、ストレージ装置６００に送信される。
【００１０】
なお、パス管理部９００は、入出力制御部９１０、プロセス判定部９２０、インタフェース選択部９３０、優先度管理テーブル作成部９４０、プロセス優先度テーブル作成部９５０、及びパス一覧テーブル作成部９６０を備えるが、これらについては後述する。
【００１１】
＝＝＝ストレージ装置＝＝＝
ストレージ装置６００は、データを記憶するための装置である。ストレージ装置６００は記憶ボリューム３１０を備え、情報処理装置２００から送信されるデータ入出力要求に応じて、記憶ボリューム３１０へのデータの読み書きを行う。記憶ボリューム３１０は、ハードディスク装置等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。図１には、ＬＵ１、及びＬＵ２と記される２つの記憶ボリューム３１０が示される。
【００１２】
ストレージ制御部１００は、情報処理装置２００と通信を行い、情報処理装置２００から送信されるデータ入出力要求に応じて、記憶ボリューム３１０へのデータの読み書きを行う。情報処理装置２００との間の通信は、インタフェース制御部（第２の通信ポート、以下ＩＦとも記す）１１０を通じて行う。インタフェース制御部１１０も、ＨＢＡ２９０や通信ケーブル５１０と共に、物理パスを構成する。
【００１３】
なお、ストレージ装置６００は、例えば複数のハードディスク装置によりディスクアレイ装置を構成するようにすることもできる。この場合、情報処理装置２００に対して提供される記憶領域は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）方式で管理された複数のハードディスク装置により提供されるようにすることもできる。
【００１４】
＝＝＝管理端末＝＝＝
管理端末２０１は、情報処理装置２００やストレージ装置６００の各種設定を行うための情報機器である。例えば、上述した物理パスの本数を増やす場合の入出力キュー２２１やＨＢＡ２９０の設定の変更や、記憶ボリューム３１０を増設する場合のストレージ制御部１００の設定の変更等を行うことができる。もちろん、これらの設定は、管理端末２０１を用いずに、直接、情報処理装置２００やストレージ装置６００により行うこともできる。
【００１５】
管理端末２０１は、ＬＡＮ（Local Area Network）４００により、情報処理装置２００及びストレージ装置６００と通信可能に接続されている。ＬＡＮ４００は、例えばインターネットのような公共的なネットワークとすることもできるし、プライベートなネットワークとすることもできる。またＬＡＮ４００には複数の管理端末２０１が接続されていることもできるし、他の情報処理装置２００や、他のストレージ装置６００が接続されているようにすることもできる。
【００１６】
＝＝＝情報処理装置＝＝＝
情報処理装置２００は、ＣＰＵ２１０、メモリ２２０、ポート２３０、記録媒体読取装置２４０、入力装置２５０、出力装置２６０、記憶装置２８０、ＨＢＡ２９０を備える。
【００１７】
ＣＰＵ２１０は情報処理装置２００の全体の制御を司るもので、メモリ２２０に記憶されたアプリケーションプログラム８００を実行することにより上述した銀行の自動預金預け払いサービスや航空機の座席予約サービス等の各種情報処理サービスの提供を行う。またＣＰＵ２１０は、メモリ２２０に記憶された、本実施の形態に係る各種の動作を行うためのコードから構成されるオペレーティングシステム（以下、ＯＳとも記す）８１０やパス管理プログラム８２０、ＨＢＡ制御プログラム８３０を実行する。ＣＰＵ２１０によりオペレーティングシステム８１０やパス管理プログラム８２０、ＨＢＡ制御プログラム８３０が実行されることにより、対応付け記憶部や、送信制御部、物理パス割合記憶部、あるいは図１に示すパス管理部９００が実現される。また、上述したように、アプリケーションプログラム８００は、実行時には、オペレーティングシステム８１０によってプロセス８０１として管理される。
【００１８】
メモリ２２０には、パス一覧テーブル７００、プロセス優先度テーブル７１０、優先度管理テーブル７２０、優先度パス割合テーブル７３０が記憶される。これらの詳細については後述する。なお、オペレーティングシステム８１０やパス管理プログラム８２０、ＨＢＡ制御プログラム８３０は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。
【００１９】
記録媒体読取装置２４０は、記録媒体２７０に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２２０や記憶装置２８０に格納される。従って、例えば記録媒体２７０に記録されたオペレーティングシステム８１０やパス管理プログラム８２０、ＨＢＡ制御プログラム８３０を、記録媒体読取装置２４０を用いて上記記録媒体２７０から読み取って、メモリ２２０や記憶装置２８０に記憶するようにすることができる。記録媒体２７０としてはフレキシブルディスクや磁気テープ、ＣＤ−ＲＯＭ、半導体メモリ等を用いることができる。記録媒体読取装置２４０は情報処理装置２００に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置２８０は、例えばハードディスク装置や半導体記憶装置等とすることができる。オペレーティングシステム８１０やパス管理プログラム８２０、ＨＢＡ制御プログラム８３０、パス一覧テーブル７００、プロセス優先度テーブル７１０、優先度管理テーブル７２０、優先度パス割合テーブル７３０は、記憶装置２８０に記憶されるようにすることもできる。
【００２０】
入力装置２５０はオペレータ等による情報処理装置２００へのデータ入力等のために用いられる装置であり、ユーザインタフェースとして機能する。入力装置２５０としては例えばキーボードやマウス等を用いることができる。出力装置２６０は情報を外部に出力するために用いられる装置であり、ユーザインタフェースとして機能する。出力装置２６０としては例えばディスプレイやプリンタ等を用いることができる。
【００２１】
ポート２３０は通信を行うための装置である。例えばＬＡＮ４００を介して行う管理端末２０１との通信は、ポート２３０を介して行われるようにすることができる。この場合、オペレーティングシステム８１０やパス管理プログラム８２０、ＨＢＡ制御プログラム８３０を、ポート２３０を通じて管理端末２０１や他の情報処理装置２００から受信して、メモリ２２０や記憶装置２８０に記憶するようにすることもできる。
【００２２】
ＨＢＡ２９０は、情報処理装置２００がストレージ装置６００との間でデータの送受信を行うための装置である。情報処理装置２００は、ＨＢＡ２９０を通じてデータ入出力要求をストレージ装置６００に送信する。なお、ＨＢＡ２９０は情報処理装置２００に内蔵される形態とすることもできるし、外付けされる形態とすることもできる。
【００２３】
なお、管理端末２０１の構成については図示しないが、情報処理装置２００と同様に、ＣＰＵやメモリ、ポート、記録媒体読取装置、入力装置、出力装置、記憶装置を備えている。管理端末２０１を用いた情報処理装置２００やストレージ装置６００の設定は、例えば管理端末２０１が備える出力装置に表示される各種設定ウインドウを通じて行うようにすることができる。
【００２４】
＝＝＝データ入出力要求の特性について＝＝＝
次に、本実施の形態に係る情報処理装置２００において実行されるＡＰ１（８００）及びＡＰ２（８００）の入出力特性を示す図を図３に示す。  
図３は、横軸に「曜日」、縦軸に「データ入出力要求回数」をとり、ＡＰ１（８００）及びＡＰ２（８００）のそれぞれの１日のデータ入出力要求回数をグラフに表したものである。  
図３に示すように、ＡＰ１（８００）とＡＰ２（８００）とではストレージ装置６００へのデータアクセス特性が大きく異なる。すなわちＡＰ１（８００）は特定の時期（金曜日）にデータ入出力要求回数が増加する特性を有し、ＡＰ２（８００）はデータ入出力要求回数が比較的一定の特性を有する。
【００２５】
ここで、ＡＰ１（８００）及びＡＰ２（８００）の実行に伴うデータ入出力要求は、どちらも４本の物理パスを共通に使用して送信される。  
この場合、ＡＰ２（８００）により行われる処理が優先度の高いものである場合、例えば銀行の自動預金預け払いシステムのように待ち時間の少ない迅速な処理が求められるものである場合には、ＡＰ１（８００）及びＡＰ２（８００）の実行に伴うデータ入出力要求が各物理パスに均等に振り分けられてしまうと、４本の物理パスをＡＰ１（８００）とＡＰ２（８００）とで共用することがボトルネックとなり、ＡＰ１（８００）のデータ入出力要求回数が増加する金曜日には、ＡＰ２（８００）により行われるデータ入出力処理が滞ってしまうことが想定される。
【００２６】
パス管理部９００により、ＡＰ１（８００）及びＡＰ２（８００）からのデータ入出力要求が４本の物理パスに均等に振り分けられている様子を図４に示す。図４においては、ＡＰ１（８００）及びＡＰ２（８００）からのデータ入出力要求（１、２、（１）、（２）、（３））が所定のデータ長毎に５つに分割された上で４つの入出力キュー２２１に均等に振り分けられている様子が示されている。  
この場合、ＡＰ２（８００）からのデータ入出力処理（（１）、（２）、（３））を迅速に行わなければならないにも拘わらず、ＡＰ１（８００）からのデータ入出力処理（１、２）と均等に割り振られる結果、ＡＰ２（８００）からのデータ入出力処理が遅れてしまっている。
【００２７】
このようなことから、情報処理装置２００からストレージ装置６００へのデータ入出力要求の送信は、アプリケーションプログラム８００の特性を考慮して行うことが望まれる。またアプリケーションプログラム８００の特性以外にも、プロセス８０１の属性、すなわち、例えば、プロセスの所有者や、プロセスの所有者の所属グループ、プロセスの優先度、プロセスを起動した端末、プロセスのメモリ使用量、プロセスが起動されたディレクトリ、プロセスのＣＰＵ使用率等、を考慮したデータ入出力要求の送信も望まれる。
【００２８】
＝＝＝パスの優先化処理について＝＝＝
そこで、本実施の形態に係る情報処理装置２００において、プロセス８０１の属性を考慮したパスの優先化を実施した場合の入出力キュー２２１の様子を図５に示す。パスの優先化は、指定された物理パスを優先度の高い特定のデータ入出力要求が占有して使用できるように、パス管理部９００のインタフェース制御部９３０がデータ入出力要求を各物理パスに振り分けることにより行われる。  
図５においては、ＡＰ２（８００）からのデータ入出力要求（（１）、（２）、（３））は、３つの物理パスを占有するように振り分けられている。残りの物理パスはその他のデータ入出力要求、すなわちＡＰ２（８００）以外のアプリケーションプログラム８００からのデータ入出力要求に対して割り振られている。  
このように、ＡＰ２（８００）からのデータ入出力要求を送信する際にパスの優先化を実施することにより、ＡＰ２（８００）からのデータ入出力要求を、他のデータ入出力要求の影響を受けずに送信することができるようになる。
【００２９】
＝＝＝パスの優先化＝＝＝
以下に、本実施の形態に係る情報処理装置２００において実行されるパスの優先化の処理について、順次説明する。
【００３０】
＝＝＝パス一覧テーブル＝＝＝
まずパス一覧テーブル７００について図６を用いて説明する。パス一覧テーブル７００は、情報処理装置２００とストレージ装置６００との間の通信路である論理パスの一覧が記載されたテーブルである。論理パスは、情報処理装置２００とストレージ装置６００との間の物理パス上に論理的に設定される送信経路である。論理パスは、情報処理装置２００が備えるＨＢＡ２９０とストレージ装置６００が備えるインタフェース制御部１１０とにより特定される。
【００３１】
図６に示す例は、情報処理装置２００とストレージ装置６００とが図１２に示すように接続されている場合の論理パスの一覧を示したものである。すなわち、図１２に示すように、情報処理装置２００にはＨＢＡ１（２９０）乃至ＨＢＡ２０（２９０）の２０個のＨＢＡ２９０が備えられ、ストレージ装置６００にはＩＦ１（１１０）乃至ＩＦ２０（１１０）の２０個のインタフェース制御部１１０が備えられ、それぞれのＨＢＡ２９０とインタフェース制御部１１０とが通信ケーブル５１０で１対１に接続されている場合の、情報処理装置２００とストレージ装置６００との間の通信路である論理パスの一覧を示したものである。
【００３２】
なお、パス一覧テーブル７００のステータス欄は、各論理パスの状態が記載される欄である。「ＯＫ」と記載されている場合には、その論理パスを通じて情報処理装置２００とストレージ装置６００との間で通信が可能であることを示す。「ＮＧ」と記載されている場合には、その論理パスを通じた通信は不可能であることが示される。パス一覧テーブル７００のステータス欄は、例えばオペレーティングシステム８１０により、論理パスの状態に応じて更新される。
【００３３】
パス一覧テーブル７００の設定は、図７に示すように、情報処理装置２００や管理端末２０１が備えるディスプレイ装置に表示される「パス一覧テーブル作成」画面から行うことができる。オペレータは、「パス一覧テーブル作成」画面において、情報処理装置２００のＨＢＡ２９０の識別子とストレージ装置６００のインタフェース制御部１１０の識別子を入力し、「ＯＫ」欄にマウスのカーソルを重ねてクリックすることにより、パス一覧テーブル７００の設定を行うことができる。
【００３４】
「パス一覧テーブル作成」画面の表示や、オペレータ等により入力された情報処理装置２００のＨＢＡ２９０の識別子とストレージ装置６００のインタフェース制御部１１０の識別子の情報に基づくパス一覧テーブル７００の作成等の制御は、パス一覧テーブル作成部９６０により行われる。
【００３５】
なお、図１２に示すように、情報処理装置２００とストレージ装置６００とが通信ケーブル５１０によって直接接続される場合には、論理パスは物理パスと一致する。すなわち、一つの物理パスには一つの論理パスが対応する。しかし、例えば情報処理装置２００とストレージ装置６００との間がスイッチを介して接続される場合には、論理パスは物理パスとは一致しない場合がある。詳しくは後述する。
【００３６】
＝＝＝優先パス割合テーブル＝＝＝
次に優先パス割合テーブル７３０について図８を用いて説明する。優先パス割合テーブル７３０は、後述するプロセス情報（データ入出力要求を生成するプロセス８０１が有する属性を特定する第１の情報）を有するプロセスによって生成されたデータ入出力要求（第１のデータ入出力要求）を送信する際に占有させる物理パス（第１の物理パス、優先パス）として使用する物理パスの本数と、プロセス情報を有さないプロセスによって生成されたデータ入出力要求（第２のデータ入出力要求）を送信するための物理パス（第２の物理パス、通常パス）として使用する物理パスの本数との割合を記憶するためのテーブルである。図８に示す例では、優先パス１０本に対して、通常パスも１０本の割合であることが示される。図１２に示す構成では、物理パスは全部で２０本あるので、優先パス、通常パスそれぞれが１０本ずつとなる。
【００３７】
＝＝＝プロセス優先度テーブル＝＝＝
次にプロセス優先度テーブル７１０について図９を用いて説明する。プロセス優先度テーブル７１０は、プロセス情報を、プロセス情報毎に、優先パスの本数（優先度）と対応付けて記憶するためのテーブルである。図９に示す例では、プロセス情報Ａを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは５本、プロセス情報Ｂを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは３本、プロセス情報Ｃを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは２本であることが示される。その様子が図１２に示される。
【００３８】
優先パス割合テーブル７３０やプロセス優先度テーブル７１０の設定は、図１０に示すように、情報処理装置２００や管理端末２０１が備えるディスプレイ装置に表示される「優先パスの設定」画面から行うことができる。オペレータは、「優先パスの設定」画面において、優先パスの割合入力欄、優先条件（プロセス情報）の入力欄のそれぞれに所定の入力を行い、「ＯＫ」欄にマウスのカーソルを重ねてクリックすることにより、優先パス割合テーブル７３０やプロセス優先度テーブル７１０の設定を行うことができる。
【００３９】
なお、優先条件の入力欄の各プロセス情報にマウスのカーソルを重ねて、例えばダブルクリックすることにより、そのプロセス情報の内容を設定することができる。上記ダブルクリックをすることにより、例えば図１１に示す「プロセス情報」画面が表示される。オペレータは、「プロセス情報」画面からプロセス情報の内容を設定することができる。
【００４０】
プロセス情報の内容としては、”アプリケーションプログラム”、”プロセスの所有者”、”プロセスの所有者のグループ”、”プロセスの優先度”、”プロセスを起動した端末”、”プロセスのメモリ使用量”、”プロセスが起動されたディレクトリ”、”プロセスのＣＰＵ使用率”とすることができる。その他にも、プロセスＩＤ（プロセスの識別子）や、親プロセスのＩＤ（プロセスを生成したプロセスの識別子）とすることもできる。もちろん、上記以外のプロセスの属性を含むようにすることもできる。
【００４１】
”アプリケーションプログラム”は、オペレーティングシステム８１０によってプロセスとして管理されるアプリケーションプログラム８００の識別子をプロセス情報の内容とするための欄である。マウス等を用いて”アプリケーションプログラム”欄にチェックマークを入れ、アプリケーションプログラム８００（例えばデータベースソフトＡ）を選択することにより、そのアプリケーションプログラム８００が実行されることにより生成されたプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信される様にすることができる。
【００４２】
”プロセスの所有者”は、プロセス８０１の所有者を特定する識別子をプロセス情報の内容とするための欄である。プロセス８０１の所有者を特定する識別子としては、例えば情報処理装置２００にログインする際に入力するユーザＩＤとすることができる。マウス等を用いて”プロセスの所有者”欄にチェックマークを入れ、プロセス８０１の所有者（例えばユーザＡ）を選択することにより、そのユーザが実行したアプリケーションプログラム８００により生成されたプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信されるようにすることができる。
【００４３】
”プロセスの所有者のグループ”は、プロセス８０１の所有者のグループを特定する識別子をプロセス情報の内容とするための欄である。マウス等を用いて”プロセスの所有者のグループ”欄にチェックマークを入れ、プロセス８０１の所有者のグループ（例えばＧｒｐＡ）を選択することにより、そのグループに属するユーザが実行したアプリケーションプログラム８００により生成されたプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信されるようにすることができる。
【００４４】
”プロセスの優先度”は、オペレーティングシステム８１０によって管理されるプロセス８０１の実行優先度を示す情報をプロセス情報の内容とするための欄である。マウス等を用いて”プロセスの優先度”欄にチェックマークを入れ、プロセスの優先度（例えば２５以上）を入力することにより、その優先度以上のプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信されるようにすることができる。
【００４５】
”プロセスを起動した端末”は、プロセス８０１が生成された情報処理装置２００の識別子をプロセス情報の内容とするための欄である。マウス等を用いて”プロセスを起動した端末”欄にチェックマークを入れ、プロセスが起動された端末の識別子（例えばｔｔｙ１）を入力することにより、その端末で起動されたプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信されるようにすることができる。
【００４６】
”プロセスのメモリ使用量”は、プロセス８０１のメモリの使用量を示す情報をプロセス情報の内容とするための欄である。図１１に示す例では、メモリ使用量が１０ＭＢ（メガバイト）以上であるプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信されるように設定されることが示される。
【００４７】
”プロセスが起動されたディレクトリ”は、プロセス８０１が実行されているディレクトリを示す情報をプロセス情報の内容とするための欄である。
【００４８】
”プロセスのＣＰＵ使用率”は、プロセス８０１のＣＰＵの使用率を示す情報をプロセス情報の内容とするための欄である。図１１に示す例では、ＣＰＵ使用率が２５％以上であるプロセス８０１からのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信されるように設定されることが示される。
【００４９】
なお、プロセス情報の内容は、複数選択可能とするようにすることもできる。この場合、例えば”アプリケーションプログラム”と”プロセスのメモリ使用量”とを選択した場合には、データベースソフトＡが実行されることにより生成されたプロセス８０１であり、メモリ使用量が１０ＭＢを超えたプロセス８０１からのデータ入出力要求である場合には、そのデータ入出力要求は、プロセス優先度テーブル７１０に記載された本数の物理パスを占有して、ストレージ装置６００に送信される。
【００５０】
”ＯＫ”欄にマウスのカーソルを重ねてクリックすることにより、プロセス情報の内容を設定することができる。
【００５１】
なお、「優先パスの設定」画面の表示や、「プロセス情報」画面の表示、オペレータ等により入力されたプロセス情報の内容等の情報に基づく優先パス割合テーブル７３０、プロセス優先度テーブル７１０の作成等の制御は、プロセス優先度テーブル作成部９５０により行われる。
【００５２】
＝＝＝優先度管理テーブル＝＝＝
上記パス一覧テーブル７００、優先パス割合テーブル７３０、及びプロセス優先度テーブル７１０の設定が完了すると、優先度管理テーブル作成部９４０により優先度管理テーブル７２０が作成される。優先度管理テーブル７２０を図１３に示す。優先度管理テーブル７２０は、プロセス情報を、プロセス情報毎に（プロセス８０１の属性の種類毎に）、物理パスを特定する情報（第２の情報）と対応付けて記憶しておくためのテーブルである。これにより、優先度管理テーブル７２０に記載されたプロセス情報を有するプロセスにより生成されたデータ入出力要求は、そのプロセス情報に対応付けられた物理パスを占有してストレージ装置６００に送信される。
【００５３】
図１３に示す例では、図８に示す優先パス割合テーブル７３０、及び図９に示すプロセス優先度テーブル７１０に基づいて、プロセス情報Ｃについては２本の物理パスが割り当てられ、プロセス情報Ｂについては３本の物理パスが割り当てられ、プロセス情報Ａについては５本の物理パスが割り当てられている。
【００５４】
＝＝＝処理の流れ＝＝＝
優先度管理テーブル７２０は、優先パス割合テーブル７３０やプロセス優先度テーブル７１０が変更された場合や、物理パスの本数が変わった場合に、優先度管理テーブル作成部９４０によって更新される。物理パスの本数が変わった場合とは、例えば物理パスに異常が検出されその物理パスが使用できない状態になった場合や、物理パスを増設した場合などである。優先度管理テーブル７２０を更新するためのフローチャートを図１４に示す。
【００５５】
優先パス割合テーブル７３０やプロセス優先度テーブル７１０が変更された場合や、物理パスの本数が変わった場合には（S1000）、優先度管理テーブル作成部９４０はパス一覧テーブル７００から占有可能な物理パスの本数を取得する（S1001）。占有可能な物理パスとは、他の物理パスと互いに物理パスの構成要素を共有していない物理パスのことである。占有可能な物理パスは、例えば、情報処理装置２００が備えるＨＢＡ２９０やストレージ装置６００が備えるインタフェース制御部１１０、通信ケーブル５１０を、他の物理パスと共用しない。図６のパス一覧テーブル７００に記載の各論理パスは、元々互いに物理パスの構成要素を共有していないため、それぞれが占有可能な物理パスである。そのため、占有可能な物理パスの本数は２０本となる。
【００５６】
占有可能な物理パスの本数を取得したら、優先パス割合テーブル７３０を参照して、優先パスの本数と通常パスの本数との割合に応じた優先パスの本数を決定する（S1002）。図８の優先パス割合テーブル７３０により、優先パスの本数は１０本と決定される。
【００５７】
続いて、プロセス優先度テーブル７１０に記載されたプロセス情報毎の優先パスの本数の割合に応じて、各プロセス情報の優先パスの本数を決定する（S1003）。１０本の優先パスを５対３対２で割り当てると、プロセス情報Ａを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは５本、プロセス情報Ｂを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは３本、プロセス情報Ｃを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは２本であると決定される。
【００５８】
そして各プロセス情報を、それぞれのプロセス情報の優先パスの本数の割合に応じた本数の優先パスと対応付けて、優先度管理テーブル７２０を更新する（S1004）。優先パスとプロセス情報との対応付けは、任意の組み合わせで行うようにすることができる。
【００５９】
なお、このように本実施の形態においては、物理パスに異常が検出された場合であっても、優先パスの本数は、異常が検出された物理パス以外の物理パスの本数に応じて更新される。
【００６０】
また、優先度管理テーブル７２０の「パス専用フラグ」欄は、プロセス情報を有するプロセスによって生成されたデータ入出力要求が優先パスを占有可能である場合に”１”が記載され、そうでない場合に”０”が記載される。  
また、優先度管理テーブル７２０を新規に作成する場合の処理は、図１４に示すフローチャートのS1001乃至S1004の各ステップを実行することにより行われる。
【００６１】
次に、アプリケーションプログラム８００の実行に伴い、データ入出力要求がストレージ装置６００に送信される場合の処理の流れを図１５に示すフローチャートにより説明する。  
まず入出力制御部９１０がオペレーティングシステム８１０から、ストレージ装置６００へのデータ入出力要求の送信要求を受けると（S2000）、プロセス判別部９２０がデータ入出力要求を発行したプロセス８０１のプロセス情報を特定する（S2001）。プロセス情報の特定は、例えばオペレーティングシステム８１０に問い合わせることにより行うことができる。
【００６２】
そしてインタフェース選択部９３０が、データ入出力要求を発行したプロセス８０１のプロセス情報と一致するプロセス情報が優先度管理テーブル７２０に記載されているか否かをチェックし（S2002）、一致しているプロセス情報が有る場合（ストレージ装置６００に送信されるデータ入出力要求が、第１の情報により特定される属性を有するプロセス８０１によって生成された第１のデータ入出力要求である場合）には、”Ｙｅｓ”に進む（S2003）。そして優先度管理テーブル７２０の当該プロセス情報のパス占有フラグ欄が”１”である場合には（S2005）、当該プロセス情報を有するプロセス８０１によって生成されたデータ入出力要求が優先パスを占有可能であるので、”Ｙｅｓ”に進み、当該優先パスに対応する入出力キュー２２１にデータ入出力要求を登録する（S2008）。これにより当該プロセス情報を有するプロセス８０１によって生成されたデータ入出力要求（第１のデータ入出力要求）を、そのプロセス情報に応じて対応付けられた本数の優先パス（第１の情報に対応付けられた第２の情報により特定される第１の物理パス）を通じてトレージ装置６００に送信することができる。ここで、そのプロセス情報に応じて対応付けられた優先パスが複数ある場合には、それらの優先パス内でラウンドロビン方式にデータ入出力要求をストレージ装置６００に送信するようにすることができる。つまり各優先パスのそれぞれを順番に使用してデータ入出力要求をストレージ装置６００に送信するようにすることができる。これにより、優先パス内での負荷分散を図ることが可能となる。
【００６３】
一方、優先度管理テーブル７２０の当該プロセス情報のパス占有フラグ欄が”０”である場合には（S2005）、当該プロセス情報を有するプロセスによって生成されたデータ入出力要求が優先パスを占有可能とはなっていないので、”Ｎｏ”に進む。そして当該プロセス情報のパス占有フラグを”１”にして優先パスを占有可能な状態に切り換える（S2006）。そして、詳細は後述するが、情報処理装置２００とストレージ装置６００との間がスイッチ５００を介して接続されている場合には、スイッチ５００にポート接続テーブル５０６の変更コマンドを送信した後（S2007）、当該優先パスに対応する入出力キュー２２１にデータ入出力要求を登録する（S2008）。これにより、ストレージ装置６００に送信されるデータ入出力要求が、優先度管理テーブル７２０に記載されたプロセス情報を有するプロセスによって生成されたデータ入出力要求である場合には、ストレージ装置６００に送信される複数のデータ入出力要求のそれぞれを、各物理パスを順番に使用してストレージ装置６００に送信する第１の制御から、当該プロセス情報を有するプロセスによって生成されたデータ入出力要求を、優先パスを占有してストレージ装置６００に送信する第２の制御に切り換えることができる。
【００６４】
なお、情報処理装置２００とストレージ装置６００との間がスイッチ５００を介さずに通信ケーブル５１０により直接接続されている場合には、S2007の処理は行われない。情報処理装置２００とストレージ装置６００との間がスイッチ５００を介して接続されている場合については後述する。
【００６５】
一方、S2003において、データ入出力要求を発行したプロセス８０１のプロセス情報と一致するプロセス情報が優先度管理テーブル７２０に記載されていない場合（第１の情報により特定される属性を有さないプロセス８０１によって生成された第２のデータ入出力要求である場合）には、”Ｎｏ”に進む（S2003）。この場合は、優先パスを使用してデータ入出力要求を送信することはできず、パス一覧テーブル７００に記載の各論理パスのうち、優先度管理テーブル７２０のパス占有フラグ欄に”１”が記載された物理パスを含まない論理パスを通じてデータ入出力要求をストレージ装置６００に送信する（S2004）。
【００６６】
優先度管理テーブル７２０のパス占有フラグ欄に”１”が記載された物理パスを含まない論理パスを通じてデータ入出力要求をストレージ装置６００に送信するようにすることにより、優先パスとは異なる物理パスすなわち通常パスを通じてデータ入出力要求をストレージ装置６００に送信することができる。
【００６７】
ここで、例えば図１２に示すように、通常パスが複数ある場合には、それらの通常パス内でラウンドロビン方式にデータ入出力要求をストレージ装置６００に送信するようにすることができる。つまり各通常パスのそれぞれを順番に使用してデータ入出力要求をストレージ装置６００に送信するようにすることができる。これにより、通常パス内での負荷分散を図ることが可能となる。
【００６８】
また、優先度管理テーブル７２０のパス占有フラグ欄に”１”が記載された物理パスを含まない論理パスを通じてデータ入出力要求をストレージ装置６００に送信するようにすることにより、優先パスとして割り当てられている物理パスであっても、その優先パスを占有して送信されるデータ入出力要求がない間は、他のデータ入出力要求の送信に使用するようにすることができる。
【００６９】
その様子を図１８に示す。図１８には、プロセス情報Ａに対応するパス専用フラグが”０”である場合には、プロセス情報Ａを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスを、他のデータ入出力要求の送信に使用させる様子が示される。これにより、情報処理装置２００とストレージ装置６００との間の物理パスを無駄なく有効に使用することが可能となり、データ入出力性能を向上させることが可能となる。
【００７０】
なお、図１７に示すように、プロセス情報Ａに対応するパス専用フラグが”０”である場合には、プロセス情報Ａを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスを、他の優先パスに割り当てるようにすることもできる。このようにすれば、優先度管理テーブル７２０に記載されたプロセス情報を有するプロセス８０１からのデータ入出力要求の送信を、より高速に行うことが可能となる。
【００７１】
次に、プロセス情報に対応するパス専用フラグを”０”にする処理を、図１６に示すフローチャートにより説明する。  
図１６に示すように、優先度管理テーブル７２０のパス占有フラグ欄が”１”のプロセス情報を有するプロセスからのデータ入出力要求が所定時間以上ない場合には（S3000）、優先度管理テーブル７２０のパス専用フラグ欄を”０”にする（S3001）。これにより、その優先パスを他のデータ入出力要求の送信に使用することができるようになる。
【００７２】
＝＝＝情報処理装置とストレージ装置とがスイッチを介して接続されている場合＝＝＝
次に、情報処理装置２００とストレージ装置６００とがスイッチ５００を介して接続されている場合について、図１９に示す構成例を参照しながら説明する。  
図１９に示す例では、情報処理装置２００とスイッチ５００との間は２本の通信ケーブル５１０により接続され、ストレージ装置６００とスイッチ５００との間は３本の通信ケーブル５１０により接続されている。この場合、情報処理装置２００とストレージ装置６００との間の論理パスは、図２０のパス一覧テーブル７００に示すように６本となる。
【００７３】
この場合に、優先パス割合テーブル７３０とプロセス優先度テーブル７１０とがそれぞれ図８及び図９に示すように設定されているとすると、優先度管理テーブル７２０は、図２１に示すように設定される。以下に優先度管理テーブル７２０の作成手順について説明する。
【００７４】
まず優先度管理テーブル作成部９４０はパス一覧テーブル７００から占有可能な物理パスの本数を取得する。ここで、上述したように、占有可能な物理パスは、互いに他の物理パスの構成要素を共有しない。従って、占有可能な物理パスの本数は２本となる。なぜなら、情報処理装置２００はＨＢＡ２９０を２つしか備えておらず、情報処理装置２００とスイッチ５００との間を接続する通信ケーブル５１０は２本であるからである。
【００７５】
占有可能な物理パスの本数を取得したら、優先パス割合テーブル７３０を参照して、優先パスの本数を決定する。図８の優先パス割合テーブル７３０により、優先パスの本数と通常パスの本数との割合は１０対１０であるので、優先パスの本数を１本と決定することができる。
【００７６】
続いて、プロセス優先度テーブル７１０により、プロセス情報毎に優先パスの本数を決定する。ここで、プロセス優先度テーブル７１０には、プロセス情報Ａを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは５本、プロセス情報Ｂを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは３本、プロセス情報Ｃを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは２本であると記載されているが、占有可能な物理パスの本数は１本しかない。そのため、占有させる物理パスの本数が最も多い、プロセス情報Ａを物理パスと対応付ける。そして図２１に示す優先度管理テーブル７２０を作成する。なお、プロセス情報と対応付ける物理パスは、任意に選択するようにすることができる。図２１に示す例では、ＨＢＡ１（２９０）とＩＦ１（１１０）とで特定される物理パスが選択されている。
【００７７】
次に、スイッチ５００を介して接続される情報処理装置２００とストレージ装置６００との間で物理パスを占有する仕組みについて、図２２乃至図２４を参照しながら説明する。
【００７８】
まずスイッチ５００の内部構成のブロック図を図２２に示す。スイッチ５００は、複数のポート（第３の通信ポート）５０５を備える。各ポート５０５は、情報処理装置２００が有するＨＢＡ２９０、ストレージ装置６００が有するインタフェース制御部１１０と１対１に接続される。また各ポート５０５同士は、スイッチ５００の内部でクロスバスイッチ５０４により接続されている。図２２に示すスイッチは８つのポート５０５を備えている。ポート５０５同士の接続はクロスバスイッチ５０４の設定を変えることにより、変更することができる。クロスバスイッチ５０４の設定は、メモリ５０２に記憶されるポート接続テーブル５０６の設定により行うことができる。
【００７９】
ポート接続テーブル５０６の例を図２３に示す。図２３に示すポート接続テーブル５０６は、各ポート５０５について、入力したデータを出力可能なポート５０５を定義するようにしたものである。各ポート５０５から入力されたデータは、「○」で示されるポート５０５から出力可能であることが示される。例えば、ポート５（５０５）からデータが入力された場合には、ポート１（５０５）から出力可能であることが示される。またポート２（５０５）からデータが入力された場合には、ポート６（５０５）、ポート７（５０５）、ポート８（５０５）から出力可能であることが示される。図２３に示すポート接続テーブル５０６は、各ポート５０５同士が図２４に示すように接続されることを示す。
【００８０】
この場合、情報処理装置２００のＨＢＡ２９０とポート１（５０５）とが１対１に接続され、ストレージ装置６００のインタフェース制御部１１０とポート５（５０５）とが１対１に接続されている場合には、情報処理装置２００からスイッチ５００のポート１（５０５）及びポート５（５０５）を通じてストレージ装置６００にデータ入出力要求を送信することにより、物理パスを占有してデータ入出力要求を送信することが可能となる。
【００８１】
このように、ポート接続テーブル５０６の設定を行うことにより、スイッチ５００を介して接続された情報処理装置２００とストレージ装置６００との間で物理パスを占有してデータ入出力要求を送信することができる。ポート接続テーブル５０６の設定は、図１５のフローチャートのS2007において説明したように、情報処理装置２００からポート接続テーブル５０６の変更コマンドを送信することにより行うことができる。
【００８２】
スイッチ５００が備える通信部５０３は、通信を行うための装置である。通信部５０３は、例えばＬＡＮ４００により情報処理装置２００や管理端末２０１、ストレージ装置６００と接続されている。そして通信部５０３は、情報処理装置２００から送信されるポート接続テーブル５０６の変更コマンドの受信を行う。
【００８３】
スイッチ５００が備える制御部５０１はスイッチ５００の全体の制御を司る。例えば、ポート５０５を介して行われる情報処理装置２００やストレージ装置６００との間の通信を制御する。またポート接続テーブル５０６の変更コマンドに応じてポート接続テーブル５０６の変更を行う。
【００８４】
以上、本実施の形態について説明したが、本実施の形態によれば、プロセス８０１が有する属性を考慮して、優先度の高い特定のデータ入出力要求を、物理パスを占有して情報処理装置２００からストレージ装置６００へ送信することが可能となる。これにより、他のデータ入出力要求の影響を受けずに特定のデータ入出力要求をストレージ装置６００に送信することができるようになる。
【００８５】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００８６】
【図１】本実施の形態に係る情報処理装置及びストレージ装置の構成を示すブロック図である。
【図２】本実施の形態に係る情報処理装置の構成を示すブロック図である。
【図３】本実施の形態に係るデータ入出力要求の特性を示す図である。
【図４】本実施の形態に係る入出力キューの様子を示した図である。
【図５】本実施の形態に係る入出力キューの様子を示した図である。
【図６】本実施の形態に係るパス一覧テーブルを示す図である。
【図７】本実施の形態に係るパス一覧テーブル作成画面を示す図である。
【図８】本実施の形態に係る優先パス割合テーブルを示す図である。
【図９】本実施の形態に係るプロセス優先度テーブルを示す図である。
【図１０】本実施の形態に係る優先パスの設定画面を示す図である。
【図１１】本実施の形態に係るプロセス情報設定画面を示す図である。
【図１２】本実施の形態に係るパスの様子を示す図である。
【図１３】本実施の形態に係る優先度管理テーブルを示す図である。
【図１４】本実施の形態に係る優先度管理テーブルの更新処理の流れを示すフローチャートである。
【図１５】本実施の形態に係るデータ入出力処理の流れを示すフローチャートである。
【図１６】本実施の形態に係るパス専用フラグを０にする処理の流れを示すフローチャートである。
【図１７】本実施の形態に係るパスの様子を示す図である。
【図１８】本実施の形態に係るパスの様子を示す図である。
【図１９】本実施の形態に係る情報処理装置とストレージ装置とがスイッチを介して接続される構成を示すブロック図である。
【図２０】本実施の形態に係るパス一覧テーブルを示す図である。
【図２１】本実施の形態に係る優先度管理テーブルを示す図である。
【図２２】本実施の形態に係るスイッチの構成を示すブロック図である。
【図２３】本実施の形態に係るポート接続テーブルを示す図である。
【図２４】本実施の形態に係るポート接続テーブルによりポートが接続される様子を示す図である。
【符号の説明】
【００８７】
１００  ストレージ制御部             １１０ インタフェース制御部
２００ 情報処理装置                 ２０１ 管理端末
２１０ ＣＰＵ                       ２２０ メモリ
２２１ 入出力キュー                 ２３０ ポート
２４０ 記録媒体読取装置             ２５０ 入力装置
２６０ 出力装置                     ２７０ 記録媒体
２８０ 記憶装置                     ２９０ ホストバスアダプタ
３００ ストレージ駆動装置           ３１０ 記憶ボリューム
４００ ＬＡＮ                        ５００ スイッチ
５０１ 制御部                       ５０２ メモリ
５０３ 通信部                       ５０４ クロスバスイッチ
５０５ ポート                       ５０６ ポート接続テーブル
５１０ 通信ケーブル                 ６００ ストレージ装置
７００ パス一覧テーブル             ７１０ プロセス優先度テーブル
７２０ 優先度管理テーブル           ７３０ 優先パス割合テーブル
８００ アプリケーションプログラム    ８０１ プロセス
８１０ オペレーティングシステム     ８２０ パス管理プログラム
８３０ ＨＢＡ制御プログラム         ９００ パス管理部
９１０ 入出力制御部                 ９２０ プロセス判別部
９３０ インタフェース選択部         ９４０ 優先度管理テーブル作成部
９５０ プロセス優先度テーブル作成部  ９６０ パス一覧テーブル作成部
【図１】
0004672282.tif 000002
【図２】
0004672282.tif 000003
【図３】
0004672282.tif 000004
【図４】
0004672282.tif 000005
【図５】
0004672282.tif 000006
【図６】
0004672282.tif 000007
【図７】
0004672282.tif 000008
【図８】
0004672282.tif 000009
【図９】
0004672282.tif 000010
【図１０】
0004672282.tif 000011
【図１１】
0004672282.tif 000012
【図１２】
0004672282.tif 000013
【図１３】
0004672282.tif 000014
【図１４】
0004672282.tif 000015
【図１５】
0004672282.tif 000016
【図１６】
0004672282.tif 000017
【図１７】
0004672282.tif 000018
【図１８】
0004672282.tif 000019
【図１９】
0004672282.tif 000020
【図２０】
0004672282.tif 000021
【図２１】
0004672282.tif 000022
【図２２】
0004672282.tif 000023
【図２３】
0004672282.tif 000024
【図２４】
0004672282.tif 000025