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

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

Info

Publication number
JP2005321959A
JP2005321959A JP2004138691A JP2004138691A JP2005321959A JP 2005321959 A JP2005321959 A JP 2005321959A JP 2004138691 A JP2004138691 A JP 2004138691A JP 2004138691 A JP2004138691 A JP 2004138691A JP 2005321959 A JP2005321959 A JP 2005321959A
Authority
JP
Japan
Prior art keywords
data input
information
output request
physical
transmitted
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
JP2004138691A
Other languages
English (en)
Other versions
JP4672282B2 (ja
Inventor
Takahiro Hayashi
崇博 林
Hiroshi Morishima
浩 守島
Osamu Kohama
修 小濱
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 JP2004138691A priority Critical patent/JP4672282B2/ja
Priority to US10/903,651 priority patent/US7130928B2/en
Publication of JP2005321959A publication Critical patent/JP2005321959A/ja
Priority to US11/543,520 priority patent/US7376766B2/en
Priority to US11/949,440 priority patent/US7519744B2/en
Application granted granted Critical
Publication of JP4672282B2 publication Critical patent/JP4672282B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】プロセスが有する属性を考慮して、データ入出力要求をストレージ装置へ送信する。
【解決手段】ストレージ装置に送信される複数の入出力要求の送信経路である複数の物理パスでストレージ装置と接続され、CPUとメモリと対応付け記憶部と送信制御部とを有し、対応付け記憶部はプロセスが有する属性を特定する第1情報を物理パスを特定する第2情報と対応付けて記憶し、送信制御部はストレージ装置に送信される入出力要求が第1情報により特定される属性を有するプロセスによって生成された第1入出力要求である場合には、第1入出力要求を第1情報に対応付けられた第2情報により特定される第1物理パスを通じてストレージ装置に送信し、第1情報により特定される属性を有さないプロセスによって生成された第2入出力要求を第1物理パスとは異なる第2物理パスを通じてストレージ装置に送信する情報処理装置に関する。
【選択図】図4

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
近年、情報技術の進歩に伴い、情報処理装置とストレージ装置との間を複数の入出力経路で接続し、入出力性能の向上と信頼性の向上を図る技術が開発されている(例えば特許文献1参照)。
情報処理装置とストレージ装置との間を複数の入出力経路で接続した場合には、情報処理装置は、いずれかの入出力経路を選択してストレージ装置へデータ入出力要求を送信することになる。入出力経路の選択は、負荷分散を考慮して、各入出力経路を順番に選択するラウンドロビン方式で行われる。
米国特許第6526521号明細書
ところで、情報処理装置では様々なアプリケーションプログラムが実行される。これらのアプリケーションプログラムは、実行時には、オペレーティングシステムによりプロセスとして管理されるが、各プロセスにより生成されるデータ入出力要求はどれも同じではなく、プロセスが有する属性により、データ入出力要求をストレージ装置に優先して送信することが望ましいものや、そうでないものがある。
そのため、プロセスが有する属性を考慮して入出力経路を選択して、データ入出力要求をストレージ装置へ送信する技術が望まれている。
本発明は、上記課題を鑑みてなされたものであり、情報処理装置、情報処理装置の制御方法、及びプログラムを提供することを主たる目的とする。
上記課題を解決するために、本発明は、オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続され、CPUと、メモリと、前記CPUが前記メモリに記憶されたプログラムを実行することにより実現される、対応付け記憶部と、送信制御部とを有し、前記対応付け記憶部は、前記データ入出力要求を生成する前記プロセスが有する属性を特定する第1の情報を、前記物理パスを特定する第2の情報と対応付けて記憶し、前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第1の情報により特定される前記属性を有する前記プロセスによって生成された第1の前記データ入出力要求である場合には、前記第1のデータ入出力要求を、前記第1の情報に対応付けられた前記第2の情報により特定される第1の前記物理パスを通じて前記ストレージ装置に送信し、前記第1の情報により特定される前記属性を有さない前記プロセスによって生成された第2の前記データ入出力要求を、前記第1の物理パスとは異なる第2の前記物理パスを通じて前記ストレージ装置に送信することを特徴とする情報処理装置に関する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
情報処理装置、情報処理装置の制御方法、及びプログラムを提供することができる。
===全体構成例===
まず本実施の形態に係る情報処理装置200の動作を説明するためのブロック図を図1に示す。また、情報処理装置200の構成を示すブロック図を図2に示す。
本実施の形態に係る情報処理装置200は、CPU(Central Processing Unit)210やメモリ220を備えた情報機器であり、様々なアプリケーションプログラム800を実行する。図1には、2つのアプリケーションプログラム800、すなわちAP1(800)とAP2(800)とが示されている。アプリケーションプログラム800としては、例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等のプログラムとすることができる。
アプリケーションプログラム800は、実行時には、オペレーティングシステム810によってプロセス801として管理される。アプリケーションプログラム800の実行に伴い、プロセス801はデータ入出力要求を生成する。データ入出力要求は、情報処理装置200とストレージ装置600とを接続する複数の物理パスを通じて、情報処理装置200からストレージ装置600に送信される。物理パスは、情報処理装置200とストレージ装置600との間でデータ転送を行うためにハードウェアにより物理的に構成されるデータ入出力要求の送信経路である。情報処理装置200とストレージ装置600とを接続する4本の通信ケーブル510は、それぞれ上記物理パスを構成する。また、HBA(Host Bus Adapter、第1の通信ポート)1(290)乃至HBA4(290)はストレージ装置600との間の通信インタフェースである。HBA1(290)乃至HBA4(290)はそれぞれ通信ケーブル510と共に物理パスを構成する。
パス管理部900は、上記物理パスを通じたデータ入出力要求の送信の制御を行う。すなわち、本実施の形態のように、情報処理装置200とストレージ装置600との間が複数の物理パスで接続されている場合には、パス管理部900は、プロセス801により生成される複数のデータ入出力要求を、それぞれの物理パスに振り分けてストレージ装置600に送信する。振り分けは、物理パス毎にメモリ220に設けられている入出力キュー221に、各データ入出力要求を登録することにより行われる。図1に示す例では、4つのデータ入出力要求”1”、”2”、”(1)”、”(2)”が、それぞれ所定のデータ長毎に分割(図1に示す例ではそれぞれ4つに分割)されて、各入出力キュー221に登録されている様子が示される。なおここでは、”1”、”2”で示されるデータ入出力要求は、AP1(800)の実行により生成されたデータ入出力要求であり、”(1)”、”(2)”で示されるデータ入出力要求は、AP2(800)の実行により生成されたデータ入出力要求であるものとする。
入出力キュー221に登録されたデータ入出力要求は、順次HBA290、及び通信ケーブル510を通じて、ストレージ装置600に送信される。
なお、パス管理部900は、入出力制御部910、プロセス判定部920、インタフェース選択部930、優先度管理テーブル作成部940、プロセス優先度テーブル作成部950、及びパス一覧テーブル作成部960を備えるが、これらについては後述する。
===ストレージ装置===
ストレージ装置600は、データを記憶するための装置である。ストレージ装置600は記憶ボリューム310を備え、情報処理装置200から送信されるデータ入出力要求に応じて、記憶ボリューム310へのデータの読み書きを行う。記憶ボリューム310は、ハードディスク装置等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。図1には、LU1、及びLU2と記される2つの記憶ボリューム310が示される。
ストレージ制御部100は、情報処理装置200と通信を行い、情報処理装置200から送信されるデータ入出力要求に応じて、記憶ボリューム310へのデータの読み書きを行う。情報処理装置200との間の通信は、インタフェース制御部(第2の通信ポート、以下IFとも記す)110を通じて行う。インタフェース制御部110も、HBA290や通信ケーブル510と共に、物理パスを構成する。
なお、ストレージ装置600は、例えば複数のハードディスク装置によりディスクアレイ装置を構成するようにすることもできる。この場合、情報処理装置200に対して提供される記憶領域は、RAID(Redundant Arrays of Inexpensive Disks)方式で管理された複数のハードディスク装置により提供されるようにすることもできる。
===管理端末===
管理端末201は、情報処理装置200やストレージ装置600の各種設定を行うための情報機器である。例えば、上述した物理パスの本数を増やす場合の入出力キュー221やHBA290の設定の変更や、記憶ボリューム310を増設する場合のストレージ制御部100の設定の変更等を行うことができる。もちろん、これらの設定は、管理端末201を用いずに、直接、情報処理装置200やストレージ装置600により行うこともできる。
管理端末201は、LAN(Local Area Network)400により、情報処理装置200及びストレージ装置600と通信可能に接続されている。LAN400は、例えばインターネットのような公共的なネットワークとすることもできるし、プライベートなネットワークとすることもできる。またLAN400には複数の管理端末201が接続されていることもできるし、他の情報処理装置200や、他のストレージ装置600が接続されているようにすることもできる。
===情報処理装置===
情報処理装置200は、CPU210、メモリ220、ポート230、記録媒体読取装置240、入力装置250、出力装置260、記憶装置280、HBA290を備える。
CPU210は情報処理装置200の全体の制御を司るもので、メモリ220に記憶されたアプリケーションプログラム800を実行することにより上述した銀行の自動預金預け払いサービスや航空機の座席予約サービス等の各種情報処理サービスの提供を行う。またCPU210は、メモリ220に記憶された、本実施の形態に係る各種の動作を行うためのコードから構成されるオペレーティングシステム(以下、OSとも記す)810やパス管理プログラム820、HBA制御プログラム830を実行する。CPU210によりオペレーティングシステム810やパス管理プログラム820、HBA制御プログラム830が実行されることにより、対応付け記憶部や、送信制御部、物理パス割合記憶部、あるいは図1に示すパス管理部900が実現される。また、上述したように、アプリケーションプログラム800は、実行時には、オペレーティングシステム810によってプロセス801として管理される。
メモリ220には、パス一覧テーブル700、プロセス優先度テーブル710、優先度管理テーブル720、優先度パス割合テーブル730が記憶される。これらの詳細については後述する。なお、オペレーティングシステム810やパス管理プログラム820、HBA制御プログラム830は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。
記録媒体読取装置240は、記録媒体270に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ220や記憶装置280に格納される。従って、例えば記録媒体270に記録されたオペレーティングシステム810やパス管理プログラム820、HBA制御プログラム830を、記録媒体読取装置240を用いて上記記録媒体270から読み取って、メモリ220や記憶装置280に記憶するようにすることができる。記録媒体270としてはフレキシブルディスクや磁気テープ、CD−ROM、半導体メモリ等を用いることができる。記録媒体読取装置240は情報処理装置200に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置280は、例えばハードディスク装置や半導体記憶装置等とすることができる。オペレーティングシステム810やパス管理プログラム820、HBA制御プログラム830、パス一覧テーブル700、プロセス優先度テーブル710、優先度管理テーブル720、優先度パス割合テーブル730は、記憶装置280に記憶されるようにすることもできる。
入力装置250はオペレータ等による情報処理装置200へのデータ入力等のために用いられる装置であり、ユーザインタフェースとして機能する。入力装置250としては例えばキーボードやマウス等を用いることができる。出力装置260は情報を外部に出力するために用いられる装置であり、ユーザインタフェースとして機能する。出力装置260としては例えばディスプレイやプリンタ等を用いることができる。
ポート230は通信を行うための装置である。例えばLAN400を介して行う管理端末201との通信は、ポート230を介して行われるようにすることができる。この場合、オペレーティングシステム810やパス管理プログラム820、HBA制御プログラム830を、ポート230を通じて管理端末201や他の情報処理装置200から受信して、メモリ220や記憶装置280に記憶するようにすることもできる。
HBA290は、情報処理装置200がストレージ装置600との間でデータの送受信を行うための装置である。情報処理装置200は、HBA290を通じてデータ入出力要求をストレージ装置600に送信する。なお、HBA290は情報処理装置200に内蔵される形態とすることもできるし、外付けされる形態とすることもできる。
なお、管理端末201の構成については図示しないが、情報処理装置200と同様に、CPUやメモリ、ポート、記録媒体読取装置、入力装置、出力装置、記憶装置を備えている。管理端末201を用いた情報処理装置200やストレージ装置600の設定は、例えば管理端末201が備える出力装置に表示される各種設定ウインドウを通じて行うようにすることができる。
===データ入出力要求の特性について===
次に、本実施の形態に係る情報処理装置200において実行されるAP1(800)及びAP2(800)の入出力特性を示す図を図3に示す。
図3は、横軸に「曜日」、縦軸に「データ入出力要求回数」をとり、AP1(800)及びAP2(800)のそれぞれの1日のデータ入出力要求回数をグラフに表したものである。
図3に示すように、AP1(800)とAP2(800)とではストレージ装置600へのデータアクセス特性が大きく異なる。すなわちAP1(800)は特定の時期(金曜日)にデータ入出力要求回数が増加する特性を有し、AP2(800)はデータ入出力要求回数が比較的一定の特性を有する。
ここで、AP1(800)及びAP2(800)の実行に伴うデータ入出力要求は、どちらも4本の物理パスを共通に使用して送信される。
この場合、AP2(800)により行われる処理が優先度の高いものである場合、例えば銀行の自動預金預け払いシステムのように待ち時間の少ない迅速な処理が求められるものである場合には、AP1(800)及びAP2(800)の実行に伴うデータ入出力要求が各物理パスに均等に振り分けられてしまうと、4本の物理パスをAP1(800)とAP2(800)とで共用することがボトルネックとなり、AP1(800)のデータ入出力要求回数が増加する金曜日には、AP2(800)により行われるデータ入出力処理が滞ってしまうことが想定される。
パス管理部900により、AP1(800)及びAP2(800)からのデータ入出力要求が4本の物理パスに均等に振り分けられている様子を図4に示す。図4においては、AP1(800)及びAP2(800)からのデータ入出力要求(1、2、(1)、(2)、(3))が所定のデータ長毎に5つに分割された上で4つの入出力キュー221に均等に振り分けられている様子が示されている。
この場合、AP2(800)からのデータ入出力処理((1)、(2)、(3))を迅速に行わなければならないにも拘わらず、AP1(800)からのデータ入出力処理(1、2)と均等に割り振られる結果、AP2(800)からのデータ入出力処理が遅れてしまっている。
このようなことから、情報処理装置200からストレージ装置600へのデータ入出力要求の送信は、アプリケーションプログラム800の特性を考慮して行うことが望まれる。またアプリケーションプログラム800の特性以外にも、プロセス801の属性、すなわち、例えば、プロセスの所有者や、プロセスの所有者の所属グループ、プロセスの優先度、プロセスを起動した端末、プロセスのメモリ使用量、プロセスが起動されたディレクトリ、プロセスのCPU使用率等、を考慮したデータ入出力要求の送信も望まれる。
===パスの優先化処理について===
そこで、本実施の形態に係る情報処理装置200において、プロセス801の属性を考慮したパスの優先化を実施した場合の入出力キュー221の様子を図5に示す。パスの優先化は、指定された物理パスを優先度の高い特定のデータ入出力要求が占有して使用できるように、パス管理部900のインタフェース制御部930がデータ入出力要求を各物理パスに振り分けることにより行われる。
図5においては、AP2(800)からのデータ入出力要求((1)、(2)、(3))は、3つの物理パスを占有するように振り分けられている。残りの物理パスはその他のデータ入出力要求、すなわちAP2(800)以外のアプリケーションプログラム800からのデータ入出力要求に対して割り振られている。
このように、AP2(800)からのデータ入出力要求を送信する際にパスの優先化を実施することにより、AP2(800)からのデータ入出力要求を、他のデータ入出力要求の影響を受けずに送信することができるようになる。
===パスの優先化===
以下に、本実施の形態に係る情報処理装置200において実行されるパスの優先化の処理について、順次説明する。
===パス一覧テーブル===
まずパス一覧テーブル700について図6を用いて説明する。パス一覧テーブル700は、情報処理装置200とストレージ装置600との間の通信路である論理パスの一覧が記載されたテーブルである。論理パスは、情報処理装置200とストレージ装置600との間の物理パス上に論理的に設定される送信経路である。論理パスは、情報処理装置200が備えるHBA290とストレージ装置600が備えるインタフェース制御部110とにより特定される。
図6に示す例は、情報処理装置200とストレージ装置600とが図12に示すように接続されている場合の論理パスの一覧を示したものである。すなわち、図12に示すように、情報処理装置200にはHBA1(290)乃至HBA20(290)の20個のHBA290が備えられ、ストレージ装置600にはIF1(110)乃至IF20(110)の20個のインタフェース制御部110が備えられ、それぞれのHBA290とインタフェース制御部110とが通信ケーブル510で1対1に接続されている場合の、情報処理装置200とストレージ装置600との間の通信路である論理パスの一覧を示したものである。
なお、パス一覧テーブル700のステータス欄は、各論理パスの状態が記載される欄である。「OK」と記載されている場合には、その論理パスを通じて情報処理装置200とストレージ装置600との間で通信が可能であることを示す。「NG」と記載されている場合には、その論理パスを通じた通信は不可能であることが示される。パス一覧テーブル700のステータス欄は、例えばオペレーティングシステム810により、論理パスの状態に応じて更新される。
パス一覧テーブル700の設定は、図7に示すように、情報処理装置200や管理端末201が備えるディスプレイ装置に表示される「パス一覧テーブル作成」画面から行うことができる。オペレータは、「パス一覧テーブル作成」画面において、情報処理装置200のHBA290の識別子とストレージ装置600のインタフェース制御部110の識別子を入力し、「OK」欄にマウスのカーソルを重ねてクリックすることにより、パス一覧テーブル700の設定を行うことができる。
「パス一覧テーブル作成」画面の表示や、オペレータ等により入力された情報処理装置200のHBA290の識別子とストレージ装置600のインタフェース制御部110の識別子の情報に基づくパス一覧テーブル700の作成等の制御は、パス一覧テーブル作成部960により行われる。
なお、図12に示すように、情報処理装置200とストレージ装置600とが通信ケーブル510によって直接接続される場合には、論理パスは物理パスと一致する。すなわち、一つの物理パスには一つの論理パスが対応する。しかし、例えば情報処理装置200とストレージ装置600との間がスイッチを介して接続される場合には、論理パスは物理パスとは一致しない場合がある。詳しくは後述する。
===優先パス割合テーブル===
次に優先パス割合テーブル730について図8を用いて説明する。優先パス割合テーブル730は、後述するプロセス情報(データ入出力要求を生成するプロセス801が有する属性を特定する第1の情報)を有するプロセスによって生成されたデータ入出力要求(第1のデータ入出力要求)を送信する際に占有させる物理パス(第1の物理パス、優先パス)として使用する物理パスの本数と、プロセス情報を有さないプロセスによって生成されたデータ入出力要求(第2のデータ入出力要求)を送信するための物理パス(第2の物理パス、通常パス)として使用する物理パスの本数との割合を記憶するためのテーブルである。図8に示す例では、優先パス10本に対して、通常パスも10本の割合であることが示される。図12に示す構成では、物理パスは全部で20本あるので、優先パス、通常パスそれぞれが10本ずつとなる。
===プロセス優先度テーブル===
次にプロセス優先度テーブル710について図9を用いて説明する。プロセス優先度テーブル710は、プロセス情報を、プロセス情報毎に、優先パスの本数(優先度)と対応付けて記憶するためのテーブルである。図9に示す例では、プロセス情報Aを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは5本、プロセス情報Bを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは3本、プロセス情報Cを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは2本であることが示される。その様子が図12に示される。
優先パス割合テーブル730やプロセス優先度テーブル710の設定は、図10に示すように、情報処理装置200や管理端末201が備えるディスプレイ装置に表示される「優先パスの設定」画面から行うことができる。オペレータは、「優先パスの設定」画面において、優先パスの割合入力欄、優先条件(プロセス情報)の入力欄のそれぞれに所定の入力を行い、「OK」欄にマウスのカーソルを重ねてクリックすることにより、優先パス割合テーブル730やプロセス優先度テーブル710の設定を行うことができる。
なお、優先条件の入力欄の各プロセス情報にマウスのカーソルを重ねて、例えばダブルクリックすることにより、そのプロセス情報の内容を設定することができる。上記ダブルクリックをすることにより、例えば図11に示す「プロセス情報」画面が表示される。オペレータは、「プロセス情報」画面からプロセス情報の内容を設定することができる。
プロセス情報の内容としては、”アプリケーションプログラム”、”プロセスの所有者”、”プロセスの所有者のグループ”、”プロセスの優先度”、”プロセスを起動した端末”、”プロセスのメモリ使用量”、”プロセスが起動されたディレクトリ”、”プロセスのCPU使用率”とすることができる。その他にも、プロセスID(プロセスの識別子)や、親プロセスのID(プロセスを生成したプロセスの識別子)とすることもできる。もちろん、上記以外のプロセスの属性を含むようにすることもできる。
”アプリケーションプログラム”は、オペレーティングシステム810によってプロセスとして管理されるアプリケーションプログラム800の識別子をプロセス情報の内容とするための欄である。マウス等を用いて”アプリケーションプログラム”欄にチェックマークを入れ、アプリケーションプログラム800(例えばデータベースソフトA)を選択することにより、そのアプリケーションプログラム800が実行されることにより生成されたプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信される様にすることができる。
”プロセスの所有者”は、プロセス801の所有者を特定する識別子をプロセス情報の内容とするための欄である。プロセス801の所有者を特定する識別子としては、例えば情報処理装置200にログインする際に入力するユーザIDとすることができる。マウス等を用いて”プロセスの所有者”欄にチェックマークを入れ、プロセス801の所有者(例えばユーザA)を選択することにより、そのユーザが実行したアプリケーションプログラム800により生成されたプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信されるようにすることができる。
”プロセスの所有者のグループ”は、プロセス801の所有者のグループを特定する識別子をプロセス情報の内容とするための欄である。マウス等を用いて”プロセスの所有者のグループ”欄にチェックマークを入れ、プロセス801の所有者のグループ(例えばGrpA)を選択することにより、そのグループに属するユーザが実行したアプリケーションプログラム800により生成されたプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信されるようにすることができる。
”プロセスの優先度”は、オペレーティングシステム810によって管理されるプロセス801の実行優先度を示す情報をプロセス情報の内容とするための欄である。マウス等を用いて”プロセスの優先度”欄にチェックマークを入れ、プロセスの優先度(例えば25以上)を入力することにより、その優先度以上のプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信されるようにすることができる。
”プロセスを起動した端末”は、プロセス801が生成された情報処理装置200の識別子をプロセス情報の内容とするための欄である。マウス等を用いて”プロセスを起動した端末”欄にチェックマークを入れ、プロセスが起動された端末の識別子(例えばtty1)を入力することにより、その端末で起動されたプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信されるようにすることができる。
”プロセスのメモリ使用量”は、プロセス801のメモリの使用量を示す情報をプロセス情報の内容とするための欄である。図11に示す例では、メモリ使用量が10MB(メガバイト)以上であるプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信されるように設定されることが示される。
”プロセスが起動されたディレクトリ”は、プロセス801が実行されているディレクトリを示す情報をプロセス情報の内容とするための欄である。
”プロセスのCPU使用率”は、プロセス801のCPUの使用率を示す情報をプロセス情報の内容とするための欄である。図11に示す例では、CPU使用率が25%以上であるプロセス801からのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信されるように設定されることが示される。
なお、プロセス情報の内容は、複数選択可能とするようにすることもできる。この場合、例えば”アプリケーションプログラム”と”プロセスのメモリ使用量”とを選択した場合には、データベースソフトAが実行されることにより生成されたプロセス801であり、メモリ使用量が10MBを超えたプロセス801からのデータ入出力要求である場合には、そのデータ入出力要求は、プロセス優先度テーブル710に記載された本数の物理パスを占有して、ストレージ装置600に送信される。
”OK”欄にマウスのカーソルを重ねてクリックすることにより、プロセス情報の内容を設定することができる。
なお、「優先パスの設定」画面の表示や、「プロセス情報」画面の表示、オペレータ等により入力されたプロセス情報の内容等の情報に基づく優先パス割合テーブル730、プロセス優先度テーブル710の作成等の制御は、プロセス優先度テーブル作成部950により行われる。
===優先度管理テーブル===
上記パス一覧テーブル700、優先パス割合テーブル730、及びプロセス優先度テーブル710の設定が完了すると、優先度管理テーブル作成部940により優先度管理テーブル720が作成される。優先度管理テーブル720を図13に示す。優先度管理テーブル720は、プロセス情報を、プロセス情報毎に(プロセス801の属性の種類毎に)、物理パスを特定する情報(第2の情報)と対応付けて記憶しておくためのテーブルである。これにより、優先度管理テーブル720に記載されたプロセス情報を有するプロセスにより生成されたデータ入出力要求は、そのプロセス情報に対応付けられた物理パスを占有してストレージ装置600に送信される。
図13に示す例では、図8に示す優先パス割合テーブル730、及び図9に示すプロセス優先度テーブル710に基づいて、プロセス情報Cについては2本の物理パスが割り当てられ、プロセス情報Bについては3本の物理パスが割り当てられ、プロセス情報Aについては5本の物理パスが割り当てられている。
===処理の流れ===
優先度管理テーブル720は、優先パス割合テーブル730やプロセス優先度テーブル710が変更された場合や、物理パスの本数が変わった場合に、優先度管理テーブル作成部940によって更新される。物理パスの本数が変わった場合とは、例えば物理パスに異常が検出されその物理パスが使用できない状態になった場合や、物理パスを増設した場合などである。優先度管理テーブル720を更新するためのフローチャートを図14に示す。
優先パス割合テーブル730やプロセス優先度テーブル710が変更された場合や、物理パスの本数が変わった場合には(S1000)、優先度管理テーブル作成部940はパス一覧テーブル700から占有可能な物理パスの本数を取得する(S1001)。占有可能な物理パスとは、他の物理パスと互いに物理パスの構成要素を共有していない物理パスのことである。占有可能な物理パスは、例えば、情報処理装置200が備えるHBA290やストレージ装置600が備えるインタフェース制御部110、通信ケーブル510を、他の物理パスと共用しない。図6のパス一覧テーブル700に記載の各論理パスは、元々互いに物理パスの構成要素を共有していないため、それぞれが占有可能な物理パスである。そのため、占有可能な物理パスの本数は20本となる。
占有可能な物理パスの本数を取得したら、優先パス割合テーブル730を参照して、優先パスの本数と通常パスの本数との割合に応じた優先パスの本数を決定する(S1002)。図8の優先パス割合テーブル730により、優先パスの本数は10本と決定される。
続いて、プロセス優先度テーブル710に記載されたプロセス情報毎の優先パスの本数の割合に応じて、各プロセス情報の優先パスの本数を決定する(S1003)。10本の優先パスを5対3対2で割り当てると、プロセス情報Aを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは5本、プロセス情報Bを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは3本、プロセス情報Cを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは2本であると決定される。
そして各プロセス情報を、それぞれのプロセス情報の優先パスの本数の割合に応じた本数の優先パスと対応付けて、優先度管理テーブル720を更新する(S1004)。優先パスとプロセス情報との対応付けは、任意の組み合わせで行うようにすることができる。
なお、このように本実施の形態においては、物理パスに異常が検出された場合であっても、優先パスの本数は、異常が検出された物理パス以外の物理パスの本数に応じて更新される。
また、優先度管理テーブル720の「パス専用フラグ」欄は、プロセス情報を有するプロセスによって生成されたデータ入出力要求が優先パスを占有可能である場合に”1”が記載され、そうでない場合に”0”が記載される。
また、優先度管理テーブル720を新規に作成する場合の処理は、図14に示すフローチャートのS1001乃至S1004の各ステップを実行することにより行われる。
次に、アプリケーションプログラム800の実行に伴い、データ入出力要求がストレージ装置600に送信される場合の処理の流れを図15に示すフローチャートにより説明する。
まず入出力制御部910がオペレーティングシステム810から、ストレージ装置600へのデータ入出力要求の送信要求を受けると(S2000)、プロセス判別部920がデータ入出力要求を発行したプロセス801のプロセス情報を特定する(S2001)。プロセス情報の特定は、例えばオペレーティングシステム810に問い合わせることにより行うことができる。
そしてインタフェース選択部930が、データ入出力要求を発行したプロセス801のプロセス情報と一致するプロセス情報が優先度管理テーブル720に記載されているか否かをチェックし(S2002)、一致しているプロセス情報が有る場合(ストレージ装置600に送信されるデータ入出力要求が、第1の情報により特定される属性を有するプロセス801によって生成された第1のデータ入出力要求である場合)には、”Yes”に進む(S2003)。そして優先度管理テーブル720の当該プロセス情報のパス占有フラグ欄が”1”である場合には(S2005)、当該プロセス情報を有するプロセス801によって生成されたデータ入出力要求が優先パスを占有可能であるので、”Yes”に進み、当該優先パスに対応する入出力キュー221にデータ入出力要求を登録する(S2008)。これにより当該プロセス情報を有するプロセス801によって生成されたデータ入出力要求(第1のデータ入出力要求)を、そのプロセス情報に応じて対応付けられた本数の優先パス(第1の情報に対応付けられた第2の情報により特定される第1の物理パス)を通じてトレージ装置600に送信することができる。ここで、そのプロセス情報に応じて対応付けられた優先パスが複数ある場合には、それらの優先パス内でラウンドロビン方式にデータ入出力要求をストレージ装置600に送信するようにすることができる。つまり各優先パスのそれぞれを順番に使用してデータ入出力要求をストレージ装置600に送信するようにすることができる。これにより、優先パス内での負荷分散を図ることが可能となる。
一方、優先度管理テーブル720の当該プロセス情報のパス占有フラグ欄が”0”である場合には(S2005)、当該プロセス情報を有するプロセスによって生成されたデータ入出力要求が優先パスを占有可能とはなっていないので、”No”に進む。そして当該プロセス情報のパス占有フラグを”1”にして優先パスを占有可能な状態に切り換える(S2006)。そして、詳細は後述するが、情報処理装置200とストレージ装置600との間がスイッチ500を介して接続されている場合には、スイッチ500にポート接続テーブル506の変更コマンドを送信した後(S2007)、当該優先パスに対応する入出力キュー221にデータ入出力要求を登録する(S2008)。これにより、ストレージ装置600に送信されるデータ入出力要求が、優先度管理テーブル720に記載されたプロセス情報を有するプロセスによって生成されたデータ入出力要求である場合には、ストレージ装置600に送信される複数のデータ入出力要求のそれぞれを、各物理パスを順番に使用してストレージ装置600に送信する第1の制御から、当該プロセス情報を有するプロセスによって生成されたデータ入出力要求を、優先パスを占有してストレージ装置600に送信する第2の制御に切り換えることができる。
なお、情報処理装置200とストレージ装置600との間がスイッチ500を介さずに通信ケーブル510により直接接続されている場合には、S2007の処理は行われない。情報処理装置200とストレージ装置600との間がスイッチ500を介して接続されている場合については後述する。
一方、S2003において、データ入出力要求を発行したプロセス801のプロセス情報と一致するプロセス情報が優先度管理テーブル720に記載されていない場合(第1の情報により特定される属性を有さないプロセス801によって生成された第2のデータ入出力要求である場合)には、”No”に進む(S2003)。この場合は、優先パスを使用してデータ入出力要求を送信することはできず、パス一覧テーブル700に記載の各論理パスのうち、優先度管理テーブル720のパス占有フラグ欄に”1”が記載された物理パスを含まない論理パスを通じてデータ入出力要求をストレージ装置600に送信する(S2004)。
優先度管理テーブル720のパス占有フラグ欄に”1”が記載された物理パスを含まない論理パスを通じてデータ入出力要求をストレージ装置600に送信するようにすることにより、優先パスとは異なる物理パスすなわち通常パスを通じてデータ入出力要求をストレージ装置600に送信することができる。
ここで、例えば図12に示すように、通常パスが複数ある場合には、それらの通常パス内でラウンドロビン方式にデータ入出力要求をストレージ装置600に送信するようにすることができる。つまり各通常パスのそれぞれを順番に使用してデータ入出力要求をストレージ装置600に送信するようにすることができる。これにより、通常パス内での負荷分散を図ることが可能となる。
また、優先度管理テーブル720のパス占有フラグ欄に”1”が記載された物理パスを含まない論理パスを通じてデータ入出力要求をストレージ装置600に送信するようにすることにより、優先パスとして割り当てられている物理パスであっても、その優先パスを占有して送信されるデータ入出力要求がない間は、他のデータ入出力要求の送信に使用するようにすることができる。
その様子を図18に示す。図18には、プロセス情報Aに対応するパス専用フラグが”0”である場合には、プロセス情報Aを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスを、他のデータ入出力要求の送信に使用させる様子が示される。これにより、情報処理装置200とストレージ装置600との間の物理パスを無駄なく有効に使用することが可能となり、データ入出力性能を向上させることが可能となる。
なお、図17に示すように、プロセス情報Aに対応するパス専用フラグが”0”である場合には、プロセス情報Aを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスを、他の優先パスに割り当てるようにすることもできる。このようにすれば、優先度管理テーブル720に記載されたプロセス情報を有するプロセス801からのデータ入出力要求の送信を、より高速に行うことが可能となる。
次に、プロセス情報に対応するパス専用フラグを”0”にする処理を、図16に示すフローチャートにより説明する。
図16に示すように、優先度管理テーブル720のパス占有フラグ欄が”1”のプロセス情報を有するプロセスからのデータ入出力要求が所定時間以上ない場合には(S3000)、優先度管理テーブル720のパス専用フラグ欄を”0”にする(S3001)。これにより、その優先パスを他のデータ入出力要求の送信に使用することができるようになる。
===情報処理装置とストレージ装置とがスイッチを介して接続されている場合===
次に、情報処理装置200とストレージ装置600とがスイッチ500を介して接続されている場合について、図19に示す構成例を参照しながら説明する。
図19に示す例では、情報処理装置200とスイッチ500との間は2本の通信ケーブル510により接続され、ストレージ装置600とスイッチ500との間は3本の通信ケーブル510により接続されている。この場合、情報処理装置200とストレージ装置600との間の論理パスは、図20のパス一覧テーブル700に示すように6本となる。
この場合に、優先パス割合テーブル730とプロセス優先度テーブル710とがそれぞれ図8及び図9に示すように設定されているとすると、優先度管理テーブル720は、図21に示すように設定される。以下に優先度管理テーブル720の作成手順について説明する。
まず優先度管理テーブル作成部940はパス一覧テーブル700から占有可能な物理パスの本数を取得する。ここで、上述したように、占有可能な物理パスは、互いに他の物理パスの構成要素を共有しない。従って、占有可能な物理パスの本数は2本となる。なぜなら、情報処理装置200はHBA290を2つしか備えておらず、情報処理装置200とスイッチ500との間を接続する通信ケーブル510は2本であるからである。
占有可能な物理パスの本数を取得したら、優先パス割合テーブル730を参照して、優先パスの本数を決定する。図8の優先パス割合テーブル730により、優先パスの本数と通常パスの本数との割合は10対10であるので、優先パスの本数を1本と決定することができる。
続いて、プロセス優先度テーブル710により、プロセス情報毎に優先パスの本数を決定する。ここで、プロセス優先度テーブル710には、プロセス情報Aを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは5本、プロセス情報Bを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは3本、プロセス情報Cを有するプロセスによって生成されたデータ入出力要求を送信する際に占有させる物理パスは2本であると記載されているが、占有可能な物理パスの本数は1本しかない。そのため、占有させる物理パスの本数が最も多い、プロセス情報Aを物理パスと対応付ける。そして図21に示す優先度管理テーブル720を作成する。なお、プロセス情報と対応付ける物理パスは、任意に選択するようにすることができる。図21に示す例では、HBA1(290)とIF1(110)とで特定される物理パスが選択されている。
次に、スイッチ500を介して接続される情報処理装置200とストレージ装置600との間で物理パスを占有する仕組みについて、図22乃至図24を参照しながら説明する。
まずスイッチ500の内部構成のブロック図を図22に示す。スイッチ500は、複数のポート(第3の通信ポート)505を備える。各ポート505は、情報処理装置200が有するHBA290、ストレージ装置600が有するインタフェース制御部110と1対1に接続される。また各ポート505同士は、スイッチ500の内部でクロスバスイッチ504により接続されている。図22に示すスイッチは8つのポート505を備えている。ポート505同士の接続はクロスバスイッチ504の設定を変えることにより、変更することができる。クロスバスイッチ504の設定は、メモリ502に記憶されるポート接続テーブル506の設定により行うことができる。
ポート接続テーブル506の例を図23に示す。図23に示すポート接続テーブル506は、各ポート505について、入力したデータを出力可能なポート505を定義するようにしたものである。各ポート505から入力されたデータは、「○」で示されるポート505から出力可能であることが示される。例えば、ポート5(505)からデータが入力された場合には、ポート1(505)から出力可能であることが示される。またポート2(505)からデータが入力された場合には、ポート6(505)、ポート7(505)、ポート8(505)から出力可能であることが示される。図23に示すポート接続テーブル506は、各ポート505同士が図24に示すように接続されることを示す。
この場合、情報処理装置200のHBA290とポート1(505)とが1対1に接続され、ストレージ装置600のインタフェース制御部110とポート5(505)とが1対1に接続されている場合には、情報処理装置200からスイッチ500のポート1(505)及びポート5(505)を通じてストレージ装置600にデータ入出力要求を送信することにより、物理パスを占有してデータ入出力要求を送信することが可能となる。
このように、ポート接続テーブル506の設定を行うことにより、スイッチ500を介して接続された情報処理装置200とストレージ装置600との間で物理パスを占有してデータ入出力要求を送信することができる。ポート接続テーブル506の設定は、図15のフローチャートのS2007において説明したように、情報処理装置200からポート接続テーブル506の変更コマンドを送信することにより行うことができる。
スイッチ500が備える通信部503は、通信を行うための装置である。通信部503は、例えばLAN400により情報処理装置200や管理端末201、ストレージ装置600と接続されている。そして通信部503は、情報処理装置200から送信されるポート接続テーブル506の変更コマンドの受信を行う。
スイッチ500が備える制御部501はスイッチ500の全体の制御を司る。例えば、ポート505を介して行われる情報処理装置200やストレージ装置600との間の通信を制御する。またポート接続テーブル506の変更コマンドに応じてポート接続テーブル506の変更を行う。
以上、本実施の形態について説明したが、本実施の形態によれば、プロセス801が有する属性を考慮して、優先度の高い特定のデータ入出力要求を、物理パスを占有して情報処理装置200からストレージ装置600へ送信することが可能となる。これにより、他のデータ入出力要求の影響を受けずに特定のデータ入出力要求をストレージ装置600に送信することができるようになる。
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施の形態に係る情報処理装置及びストレージ装置の構成を示すブロック図である。 本実施の形態に係る情報処理装置の構成を示すブロック図である。 本実施の形態に係るデータ入出力要求の特性を示す図である。 本実施の形態に係る入出力キューの様子を示した図である。 本実施の形態に係る入出力キューの様子を示した図である。 本実施の形態に係るパス一覧テーブルを示す図である。 本実施の形態に係るパス一覧テーブル作成画面を示す図である。 本実施の形態に係る優先パス割合テーブルを示す図である。 本実施の形態に係るプロセス優先度テーブルを示す図である。 本実施の形態に係る優先パスの設定画面を示す図である。 本実施の形態に係るプロセス情報設定画面を示す図である。 本実施の形態に係るパスの様子を示す図である。 本実施の形態に係る優先度管理テーブルを示す図である。 本実施の形態に係る優先度管理テーブルの更新処理の流れを示すフローチャートである。 本実施の形態に係るデータ入出力処理の流れを示すフローチャートである。 本実施の形態に係るパス専用フラグを0にする処理の流れを示すフローチャートである。 本実施の形態に係るパスの様子を示す図である。 本実施の形態に係るパスの様子を示す図である。 本実施の形態に係る情報処理装置とストレージ装置とがスイッチを介して接続される構成を示すブロック図である。 本実施の形態に係るパス一覧テーブルを示す図である。 本実施の形態に係る優先度管理テーブルを示す図である。 本実施の形態に係るスイッチの構成を示すブロック図である。 本実施の形態に係るポート接続テーブルを示す図である。 本実施の形態に係るポート接続テーブルによりポートが接続される様子を示す図である。
符号の説明
100 ストレージ制御部 110 インタフェース制御部
200 情報処理装置 201 管理端末
210 CPU 220 メモリ
221 入出力キュー 230 ポート
240 記録媒体読取装置 250 入力装置
260 出力装置 270 記録媒体
280 記憶装置 290 ホストバスアダプタ
300 ストレージ駆動装置 310 記憶ボリューム
400 LAN 500 スイッチ
501 制御部 502 メモリ
503 通信部 504 クロスバスイッチ
505 ポート 506 ポート接続テーブル
510 通信ケーブル 600 ストレージ装置
700 パス一覧テーブル 710 プロセス優先度テーブル
720 優先度管理テーブル 730 優先パス割合テーブル
800 アプリケーションプログラム 801 プロセス
810 オペレーティングシステム 820 パス管理プログラム
830 HBA制御プログラム 900 パス管理部
910 入出力制御部 920 プロセス判別部
930 インタフェース選択部 940 優先度管理テーブル作成部
950 プロセス優先度テーブル作成部 960 パス一覧テーブル作成部

Claims (10)

  1. オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続され、
    CPUと、
    メモリと、
    前記CPUが前記メモリに記憶されたプログラムを実行することにより実現される、対応付け記憶部と、送信制御部とを有し、
    前記対応付け記憶部は、前記データ入出力要求を生成する前記プロセスが有する属性を特定する第1の情報を、前記物理パスを特定する第2の情報と対応付けて記憶し、
    前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第1の情報により特定される前記属性を有する前記プロセスによって生成された第1の前記データ入出力要求である場合には、
    前記第1のデータ入出力要求を、前記第1の情報に対応付けられた前記第2の情報により特定される第1の前記物理パスを通じて前記ストレージ装置に送信し、前記第1の情報により特定される前記属性を有さない前記プロセスによって生成された第2の前記データ入出力要求を、前記第1の物理パスとは異なる第2の前記物理パスを通じて前記ストレージ装置に送信すること
    を特徴とする情報処理装置。
  2. 前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第1のデータ入出力要求である場合には、
    前記ストレージ装置に送信される前記複数のデータ入出力要求のそれぞれを、前記各物理パスを順番に使用して前記ストレージ装置に送信する第1の制御から、
    前記第1のデータ入出力要求を、前記第1の制御において使用される前記各物理パスのうち前記第1の物理パスを通じて前記ストレージ装置に送信し、前記第2のデータ入出力要求を、前記第2の物理パスを通じて前記ストレージ装置に送信する第2の制御に切り換えること
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の物理パス及び前記第2の物理パスはそれぞれ複数であり、
    前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第1のデータ入出力要求である場合には、
    前記第1のデータ入出力要求を、前記複数の第1の物理パスのそれぞれを順番に使用して前記ストレージ装置に送信し、前記第2のデータ入出力要求を、前記複数の第2の物理パスのそれぞれを順番に使用して前記ストレージ装置に送信すること
    を特徴とする請求項1に記載の情報処理装置。
  4. 前記CPUが前記メモリに記憶された前記プログラムを実行することにより実現される、物理パス割合記憶部を有し、
    前記物理パス割合記憶部は、前記第1の物理パスとして使用する前記物理パスの本数と、前記第2の物理パスとして使用する前記物理パスの本数との割合を記憶し、
    前記対応付け記憶部は、前記第1の情報を、前記割合に応じた本数の前記第1の物理パスを特定する第2の情報と対応付けて記憶し、
    前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第1のデータ入出力要求である場合には、
    前記第1のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第1の物理パスを通じて前記ストレージ装置に送信し、前記第2のデータ入出力要求を、前記割合に応じて対応付けられた本数の前記第2の物理パスを通じて前記ストレージ装置に送信すること
    を特徴とする請求項1に記載の情報処理装置。
  5. 前記対応付け記憶部は、前記物理パスに異常が検出された場合には、前記第1の情報に対応付けられる前記第2の情報により特定される前記第1の物理パスの本数を、前記異常が検出された物理パス以外の前記物理パスの本数に応じて更新すること
    を特徴とする請求項4に記載の情報処理装置。
  6. 前記対応付け記憶部は、前記属性の種類毎に、前記第1の情報を、前記物理パスを特定する第2の情報と対応付けて記憶し、
    前記送信制御部は、前記ストレージ装置に送信される前記データ入出力要求が、前記第1のデータ入出力要求である場合には、
    前記第1のデータ入出力要求を生成した前記プロセスが有する前記属性の種類に応じた前記第1の情報に対応付けられた前記第2の情報により特定される前記第1の物理パスを通じて、前記第1のデータ入出力要求を前記ストレージ装置に送信し、前記第2のデータ入出力要求を、前記第2の物理パスを通じて前記ストレージ装置に送信すること
    を特徴とする請求項1に記載の情報処理装置。
  7. 前記複数の物理パスは、前記情報処理装置が有する複数の第1の通信ポート、及び前記ストレージ装置が有する複数の第2の通信ポートが、複数の第3の通信ポートを有するスイッチの前記複数の第3の通信ポートと1対1に接続されてなること
    を特徴とする請求項1に記載の情報処理装置。
  8. 前記プロセスが有する属性は、前記プロセスの識別子、前記オペレーティングシステムによって前記プロセスとして管理される前記アプリケーションプログラムの識別子、前記プロセスの所有者を特定する識別子、前記プロセスの所有者のグループを特定する識別子、前記オペレーティングシステムによって管理される前記プロセスの実行優先度を示す情報、前記プロセスが生成された前記情報処理装置の識別子、前記プロセスの前記CPUの使用率を示す情報、前記プロセスの前記メモリの使用量を示す情報、前記プロセスが実行されているディレクトリを示す情報、及び前記プロセスを生成した前記プロセスの識別子の少なくともいずれかであること
    を特徴とする請求項1に記載の情報処理装置。
  9. オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続され、
    CPUと、
    メモリと、
    前記CPUが前記メモリに記憶されたプログラムを実行することにより実現される、対応付け記憶部と、送信制御部とを有する情報処理装置の制御方法であって、
    前記対応付け記憶部が、前記データ入出力要求を生成する前記プロセスが有する属性を特定する第1の情報を、前記物理パスを特定する第2の情報と対応付けて記憶し、
    前記送信制御部が、前記ストレージ装置に送信される前記データ入出力要求が、前記第1の情報により特定される前記属性を有する前記プロセスによって生成された第1の前記データ入出力要求である場合には、
    前記第1のデータ入出力要求を、前記第1の情報に対応付けられた前記第2の情報により特定される第1の前記物理パスを通じて前記ストレージ装置に送信し、前記第1の情報により特定される前記属性を有さない前記プロセスによって生成された第2の前記データ入出力要求を、前記第1の物理パスとは異なる第2の前記物理パスを通じて前記ストレージ装置に送信すること
    を特徴とする情報処理装置の制御方法。
  10. オペレーティングシステムによってプロセスとして管理されるアプリケーションプログラムの実行に伴ってストレージ装置に送信される複数のデータ入出力要求の送信経路である複数の物理パスで前記ストレージ装置と接続される情報処理装置に、
    前記データ入出力要求を生成する前記プロセスが有する属性を特定する第1の情報を、前記物理パスを特定する第2の情報と対応付けて記憶させ、
    前記ストレージ装置に送信される前記データ入出力要求が、前記第1の情報により特定される前記属性を有する前記プロセスによって生成された第1の前記データ入出力要求である場合には、前記第1のデータ入出力要求を、前記第1の情報に対応付けられた前記第2の情報により特定される第1の前記物理パスを通じて前記ストレージ装置に送信させ、前記第1の情報により特定される前記属性を有さない前記プロセスによって生成された第2の前記データ入出力要求を、前記第1の物理パスとは異なる第2の前記物理パスを通じて前記ストレージ装置に送信させる
    ためのプログラム。
JP2004138691A 2004-05-07 2004-05-07 情報処理装置、及び情報処理装置の制御方法 Expired - Fee Related JP4672282B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004138691A JP4672282B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及び情報処理装置の制御方法
US10/903,651 US7130928B2 (en) 2004-05-07 2004-07-29 Method and apparatus for managing i/o paths on a storage network
US11/543,520 US7376766B2 (en) 2004-05-07 2006-10-04 Method and apparatus for managing I/O paths on a storage network
US11/949,440 US7519744B2 (en) 2004-05-07 2007-12-03 Method and apparatus for managing I/O paths on a storage network using priority

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004138691A JP4672282B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及び情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2005321959A true JP2005321959A (ja) 2005-11-17
JP4672282B2 JP4672282B2 (ja) 2011-04-20

Family

ID=35240631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004138691A Expired - Fee Related JP4672282B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及び情報処理装置の制御方法

Country Status (2)

Country Link
US (3) US7130928B2 (ja)
JP (1) JP4672282B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011511353A (ja) * 2008-01-30 2011-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 論理パス・リソースを動的に管理する方法、装置、システム、及びコンピュータ・プログラム
JP2011232967A (ja) * 2010-04-28 2011-11-17 Nec Corp ストレージシステム及びストレージシステムのディスクアクセス優先度制御方法
US10366032B2 (en) 2015-02-23 2019-07-30 Fujitsu Limited Information processing apparatus and multipath control method
JP2020046752A (ja) * 2018-09-14 2020-03-26 キオクシア株式会社 記憶装置及び情報処理システム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210068B1 (en) 2002-03-06 2007-04-24 Network Appliance, Inc. System and method for multipath I/O support for fibre channel devices
JP4672282B2 (ja) * 2004-05-07 2011-04-20 株式会社日立製作所 情報処理装置、及び情報処理装置の制御方法
US7836204B2 (en) * 2005-06-01 2010-11-16 International Business Machines Corporation Apparatus, system, and method for accessing a preferred path through a storage controller
JP4506594B2 (ja) * 2005-07-22 2010-07-21 日本電気株式会社 冗長パス制御方法
JP5121161B2 (ja) * 2006-04-20 2013-01-16 株式会社日立製作所 記憶システム、パス管理方法及びパス管理装置
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
US8261068B1 (en) 2008-09-30 2012-09-04 Emc Corporation Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit
US7957398B1 (en) * 2007-03-05 2011-06-07 Emc Corporation Methods and systems for dynamic division of path capacity
US7668981B1 (en) * 2007-03-28 2010-02-23 Symantec Operating Corporation Storage paths
US8166314B1 (en) 2008-12-30 2012-04-24 Emc Corporation Selective I/O to logical unit when encrypted, but key is not available or when encryption status is unknown
US8412856B2 (en) * 2009-10-26 2013-04-02 Sony Computer Entertainment America Llc. File input/output scheduler using immediate data chunking
US8473648B2 (en) 2010-12-16 2013-06-25 Lsi Corporation System and method of I/O path virtualization between a raid controller and an environment service module in a storage area network
US9898205B1 (en) * 2013-10-31 2018-02-20 Veritas Technologies Llc Scheduling of commands in a storage area network to minimize latency
US9407568B2 (en) * 2013-11-18 2016-08-02 Avaya, Inc. Self-configuring dynamic contact center
US9645955B1 (en) * 2014-02-19 2017-05-09 Google Inc. Disruption counters
CN104932849A (zh) * 2014-03-21 2015-09-23 海信集团有限公司 一种设置应用场景的方法、设备和系统
US9262351B2 (en) 2014-03-27 2016-02-16 International Business Machines Corporation Inter-adapter cooperation for multipath input/output systems
US11138040B2 (en) * 2019-03-13 2021-10-05 Oracle International Corporation Database process categorization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003032290A (ja) * 2001-03-30 2003-01-31 Hitachi Ltd ストレージベースリモートコピーでのパス選択方式
JP2003099385A (ja) * 2001-06-28 2003-04-04 Intersan Inc ストレージエリアネットワークへのアプリケーションデータ経路の自動生成

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145028A (en) 1997-12-11 2000-11-07 Ncr Corporation Enhanced multi-pathing to an array of storage devices
US6216202B1 (en) 1998-06-30 2001-04-10 Emc Corporation Method and apparatus for managing virtual storage devices in a storage system
US6526521B1 (en) * 1999-06-18 2003-02-25 Emc Corporation Methods and apparatus for providing data storage access
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6766359B1 (en) 1999-12-29 2004-07-20 Emc Corporation Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system
US6738829B1 (en) * 2000-10-16 2004-05-18 Wind River Systems, Inc. System and method for implementing a generic enhanced network driver
JP4307000B2 (ja) * 2001-03-08 2009-08-05 キヤノン株式会社 金属配位化合物、電界発光素子及び表示装置
US7398302B2 (en) * 2001-03-30 2008-07-08 Hitachi, Ltd. Remote copy with path selection and prioritization
US6883108B2 (en) 2001-05-07 2005-04-19 Sun Microsystems, Inc. Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network
US6738839B2 (en) 2001-12-27 2004-05-18 Storage Technology Corporation Method and system for allocating logical paths between a host and a controller in a virtual data storage system
JP2004140539A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd 情報ルーティング方式および情報中継装置
JP2005115603A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 記憶デバイス制御装置及びその制御方法
US7353285B2 (en) * 2003-11-20 2008-04-01 International Business Machines Corporation Apparatus, system, and method for maintaining task prioritization and load balancing
US9210073B2 (en) * 2004-04-30 2015-12-08 Hewlett-Packard Development Company, L.P. System and method for message routing in a network
JP4672282B2 (ja) 2004-05-07 2011-04-20 株式会社日立製作所 情報処理装置、及び情報処理装置の制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003032290A (ja) * 2001-03-30 2003-01-31 Hitachi Ltd ストレージベースリモートコピーでのパス選択方式
JP2003099385A (ja) * 2001-06-28 2003-04-04 Intersan Inc ストレージエリアネットワークへのアプリケーションデータ経路の自動生成

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011511353A (ja) * 2008-01-30 2011-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 論理パス・リソースを動的に管理する方法、装置、システム、及びコンピュータ・プログラム
US8392610B2 (en) 2008-01-30 2013-03-05 International Business Machines Corporation Method, apparatus and system to dynamically manage logical path resources
US8769147B2 (en) 2008-01-30 2014-07-01 International Business Machines Corporation Method, apparatus and system to dynamically manage logical path resources
JP2011232967A (ja) * 2010-04-28 2011-11-17 Nec Corp ストレージシステム及びストレージシステムのディスクアクセス優先度制御方法
US10366032B2 (en) 2015-02-23 2019-07-30 Fujitsu Limited Information processing apparatus and multipath control method
JP2020046752A (ja) * 2018-09-14 2020-03-26 キオクシア株式会社 記憶装置及び情報処理システム
US11307797B2 (en) 2018-09-14 2022-04-19 Kioxia Corporation Storage device and information processing system

Also Published As

Publication number Publication date
JP4672282B2 (ja) 2011-04-20
US20080091849A1 (en) 2008-04-17
US20070028014A1 (en) 2007-02-01
US7130928B2 (en) 2006-10-31
US20050251548A1 (en) 2005-11-10
US7376766B2 (en) 2008-05-20
US7519744B2 (en) 2009-04-14

Similar Documents

Publication Publication Date Title
JP4672282B2 (ja) 情報処理装置、及び情報処理装置の制御方法
US8281085B2 (en) Storage system construction managing device and construction management method
US7656806B2 (en) Storage system, path management method and path management device
JP4993928B2 (ja) 記憶システム及び記憶領域解放方法並びにストレージシステム
US8151013B2 (en) Storage system
CN100334534C (zh) 在存储区域网中实现存储虚拟化的方法与装置
US7472240B2 (en) Storage system with plural control device affiliations
US7080219B2 (en) Storage controlling device and control method for a storage controlling device
US6665740B1 (en) Logical volume selection in a probability-based job scheduler
US6170023B1 (en) System for accessing an input/output device using multiple addresses
JP4217273B2 (ja) ストレージシステム
US20050267963A1 (en) Method for managing I/O interface modules in a computer system
CN100382031C (zh) 连接路径分组的装置、系统和方法
JP2005275829A (ja) ストレージシステム
JP2009146106A (ja) 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
JP2002222110A (ja) ストレージシステム及び仮想プライベートボリューム制御方法
JP2003208267A (ja) クラスタ型ディスク制御装置および負荷分散方法
US20050154852A1 (en) Method, device and program for managing volume
US7069276B2 (en) Computer system
US20030172069A1 (en) Access management server, disk array system, and access management method thereof
US20070033359A1 (en) Storage system and storage control method for access exclusion control of each storage area unit comprising storage area of storage device
JP2006285778A (ja) ストレージシステム及び記憶制御方法
JP2003131908A (ja) 記憶制御装置
JP2006004193A (ja) データ転送方法及びシステム、入出力要求装置、並びに、データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US9065740B2 (en) Prioritising data processing operations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100406

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees