(57)【要約】【課題】汎用的なＰＣなどに好適で、大容量のデータを高速処理可能でかつ管理の容易なディスクシステム制御を可能とする。【解決手段】オペレーティングシステム３００の上位の階層に設けられるディスクシステム制御モジュール２００であって、アプリケーションからオペレーティングシステム３００に発行される処理要求を取得する処理要求取得手段２１０と、前記処理要求取得手段２１０によって取得した処理要求に基づいて、前記オペレーティングシステム３００の下位の階層に存在する所定の複数のディスクシステム４１０，４２０，４３０，・・・からなるディスクシステム群４００に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステム３００に発行するディスクシステム処理要求発行手段２２０とを有する。【選択図】図１
2009032144.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールであって、
アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得手段と、
前記処理要求取得手段によって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行手段と、
を有することを特徴とするディスクシステム制御モジュール。
【請求項２】
請求項１に記載のディスクシステム制御モジュールにおいて、
前記ディスクシステム処理要求発行手段は、
前記処理要求取得手段によって取得した処理要求が、ディレクトリ処理要求であるか、ファイル処理要求であるかを判別する処理要求判別手段と、
前記取得した処理要求がディレクトリ処理要求であると判別された場合は、前記ディレクトリ処理要求を複製するとともに、複製した各ディレクトリ処理要求が前記ディスクシステム群に属する全てのディスクシステムに対して発行されるように前記各ディレクトリ処理要求の設定を変更して、設定を変更した前記各ディレクトリ処理要求を前記オペレーティングシステムに発行するディレクトリ処理要求発行手段と、
前記取得した処理要求が、前記ファイル処理要求であると判別された場合は、前記ディスクシステム群に属するディスクシステムから前記ファイル処理要求を発行すべきディスクシステムを選択し、前記ファイル処理要求が前記選択したディスクシステムに対して発行されるように前記ファイル処理要求の設定を変更して、設定を変更した前記ファイル処理要求を前記オペレーティングシステムに発行するファイル処理要求発行手段と、
を有することを特徴とするディスクシステム制御モジュール。
【請求項３】
請求項２に記載のディスクシステム制御モジュールにおいて、
前記ファイル処理要求発行手段は、前記ファイル処理要求を発行すべきディスクシステムを選択する際、前記ディスクシステム群に属する各ディスクシステムが現在、処理の実行中であるかどうかを判断し、処理の実行中でないディスクシステムを選択することを特徴とするディスクシステム制御モジュール。
【請求項４】
請求項２に記載のディスクシステム制御モジュールにおいて、
前記ファイル処理要求発行手段は、前記ファイル処理要求を発行すべきディスクシステムを選択する際、前記ディスクシステム群に属する各ディスクシステムが現在行っている処理の残量を判断し、前記処理の残量が最も少ないディスクシステムを選択することを特徴とするディスクシステム制御モジュール。
【請求項５】
請求項１〜４のいずれかに記載のディスクシステム制御モジュールにおいて、
前記ディスクシステム群に属する各ディスクシステムは、個々のディスクシステムが、複数のディスクと当該複数のディスクを１つのディスクとして制御するディスクドライバとを有するディスクシステムを有することを特徴とするディスクシステム制御モジュール。
【請求項６】
請求項１〜５のいずれかに記載のディスクシステム制御モジュールにおいて、
前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求であるか否かを判別する要求対象ディスクシステム判別手段をさらに有することを特徴とするディスクシステム制御モジュール。
【請求項７】
請求項６に記載のディスクシステム制御モジュールにおいて、
前記要求対象ディスクシステム判別手段は、
前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求であると判別した場合は、前記取得した処理要求をディスクシステム処理要求発行手段に与え、
前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求ではないと判別した場合は、前記取得した処理要求を前記オペレーティングシステムに与えることを特徴とするディスクシステム制御モジュール。
【請求項８】
請求項６または７に記載のディスクシステム制御モジュールにおいて、
前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属する個別のディスクシステムに対する処理要求であるか否かを判別し、前記ディスクシステム群に属する個別のディスクシステムに対する処理要求である場合には、前記個別のディスクシステムに対する処理要求を禁止する手段を有することを特徴とするディスクシステム制御モジュール。
【請求項９】
オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールにおけるディスクシステム制御方法であって、
アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得ステップと、
前記処理要求取得ステップによって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行ステップと、
を有することを特徴とするディスクシステム制御方法。
【請求項１０】
オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールに実行させるためのディスクシステム制御プログラムであって、
アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得ステップと、
前記処理要求取得ステップによって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行ステップと、
を有することを特徴とするディスクシステム制御プログラム。
【請求項１１】
オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールを有する情報処理装置であって、
前記ディスクシステム制御モジュールは、
アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得手段と、
前記処理要求取得手段によって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクシステム制御モジュール、ディスクシステム制御方法、ディスクシステム制御プログラム及びディスクシステム制御モジュールを搭載した情報処理装置に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下ではＰＣという）などにおいて、より大容量なデータをより高速処理可能なディスクシステム制御が求められるようになってきた。これは一般消費者向けの映像機器などの高解像度化、大画面化などに伴うものである。ここで要求される記憶容量は数１００ギガバイト以上であり、要求される読み書き速度は、数ギガビット／秒にも達する。なお、以下では、ギガバイトをＧバイト、ギガビット／秒をＧｂｐｓと記述する。
【０００３】
特に、高解像度ディスプレイ、あるいは一般的な高解像度に対応する画像記録再生装置において、非圧縮画像データを扱う必要性のある場合には、より高速な読み書き速度が要求される。例えば、４Ｋ２Ｋと呼ばれる高解像度ディスプレイにおいては、「４０９６画素（横）×２１６０画素（縦）×３（ＲＧＢ）×１２（ビット／画素）×３０（フレーム／秒）＝９．６Ｇｂｐｓ」といった読み書き速度が要求される。
【０００４】
しかし、このような大容量かつ高速なディスクシステム制御を汎用的なＰＣで実現するのは非常に困難である。例えば、半導体メモリをディスクシステムのように見せるＲＡＭディスクシステムでは上記の速度を容易に達成できるが、記憶容量については上記の要求を達成することは困難である。これは、通常用いられる３２ビットのオペレーティングシステム（以下ではＯＳと記述する）が取り扱うことのできる最大記憶容量は４Ｇバイト程度でしかないことによる。また、容量あたりのコストも問題である。
【０００５】
また、ハードディスク（以下ではＨＤＤと記述する）では、上記の記憶容量を容易に達成できるが、読み書き速度については、上記の要求を達成することは困難である。これは、ＨＤＤの記憶媒体への読み書き速度の制限による。例えば、通常用いられるＳＡＴＡ（シリアルＡＴＡ）接続された、毎分７２００回転程度のＨＤＤの連続読み書き性能は０．６Ｇｂｐｓ程度でしかない。
【０００６】
従来の場合、このような課題を解決するための方法として、ＲＡＩＤ（Redundant Arrays of Inexpensive/Independent Disks）と呼ばれるディスクシステム制御方法が用いら
れる。これはＲＡＩＤコントローラーと呼ばれる制御装置を用いて、その制御装置に複数台のディスクを接続し、接続されたディスク全体を１つのディスクに見せるものである。
【０００７】
ＲＡＩＤには、どのような機能を重視するかによって複数の型がある。例えば、読み書き速度と大容量を重視したＲＡＩＤ０（ストライピング）、信頼性を重視したＲＡＩＤ１（ミラーリング）、ＲＡＩＤ５（ストライピング＋パリティ付加）、またそれらを組み合わせたＲＡＩＤ５０（ストライピング＋パリティ付加＋ミラーリング）などが主なものである。
ここでは、特に記憶容量の面、読み書き速度面の改善のみを目的としたＲＡＩＤ０について説明する。なお、以下では、ＲＡＩＤ０を単にＲＡＩＤと表記する。
【０００８】
図１５はＲＡＩＤについて説明する図である。図１５に示すように、ＲＡＩＤは、Ｎ台
のＨＤＤを用いて記憶容量をＮ倍とし、かつ、そのＮ台に並列に読み書きすることにより、読み書き速度をＮ倍とするものである。図１５では、アプリケーション１１側からディレクトリの作成やファイルの書き込み要求があった場合を例示している。
【０００９】
図１５の処理手順を簡単に説明すると、アプリケーション１１から発行されたディレクトリ処理要求や、ファイル処理要求は、ＯＳ１２により単なるデータブロックの書き込み要求に変換される。この段階で、書き込むデータにはディレクトリやファイルの区別は無くなる。その後、ＲＡＩＤコントローラーを制御するソフトウェアであるＲＡＩＤドライバ１３は、ＯＳ１２から新たに与えられたデータブロック「６」，「７」，「８」，「９」を、その制御下の複数のＨＤＤへ並列に書き込む処理を実行する。
【００１０】
なお、ここでは説明を簡単にするために、データブロックの大きさと並列読み書きの単位となるストライプサイズが同一であると仮定している。またハードウェアであるＲＡＩＤコントローラーと、それを制御するソフトウェアであるＲＡＩＤドライバは一体として１つの機能を実現するものであるので、以下ではこれらを単にＲＡＩＤドライバと記述する。
【００１１】
このようなディスクシステム制御方法において、ＲＡＩＤドライバ１３の制御下のディスク（ＨＤＤ）が４台で、それらに並列書き込みが行われ、かつ、それらの書き込み速度が０．６Ｇビット／秒であれば、ＲＡＩＤドライバ１３の上位にあるＯＳ１２からは、２．４Ｇｂｐｓで書き込み可能であるように見えることになる。
【００１２】
図１５に示すようなＲＡＩＤを採用したデータの読み書き制御を行うことにより、ディスクの数を増やすことによって容易に性能を向上させられるかのように考えられる。例えば、Ｎ台のＨＤＤを用いることにより、容易にＮ倍の高速性が実現できるように思われる。しかし、現実にはそのようにはならず、あるレベルで性能は飽和してしまう。
【００１３】
図１６はディスクの数と読み書き速度との関係の一例を示す図である。図１６からも明らかなように、ある台数以上のＨＤＤを接続しても、読み書き速度は一定値以上には高速化できない。
【００１４】
例えば、図１６では、あるＲＡＩＤドライバ（第１ＲＡＩＤドライバという）を用いた場合と、それとは異なる別のＲＡＩＤドライバ（第２ＲＡＩＤドライバという）を用いた場合とが例示されているが、第１ＲＡＩＤドライバの場合は、ＨＤＤが３台以上で書き込み速度が飽和してしまい、第２ＲＡＩＤドライバの場合は、ＨＤＤが６台以上で書き込み速度が飽和してしまっている。
【００１５】
その原因は、ＲＡＩＤドライバの性能の限界、ＲＡＩＤドライバへデータを送り込むための伝送路の性能の限界、伝送路へデータを出力するためのＯＳの性能の限界にある。したがって、単にＲＡＩＤを採用しても、現在、要求されている読み書き速度を到底実現することはできない。
このような問題を解決する手段としては、例えば、特許文献１に開示された技術がある。特許文献１に開示された技術は、複数のＲＡＩＤを階層的に用いたものである。
【００１６】
図１７は特許文献１に開示された技術の概念を簡略化して示したものである。特許文献１に開示された技術は、先に説明した図１５において、個々のＨＤＤであった部分をさらにＲＡＩＤに置き換えることによって、２層のＲＡＩＤを有する構成としている。なお、特許文献１に開示された技術では、上位のＲＡＩＤをグローバルディスクアレイ制御装置、下位のＲＡＩＤをローカルディスクアレイ制御装置としている。なお、図１７において、下位のＲＡＩＤであるローカルディスクアレイ制御装置は、複数のＲＡＩＤドライバ１
４，１５，・・・と各ＲＡＩＤドライバ１４，１５，・・・によって制御される複数のＨＤＤから構成されている。
【００１７】
特許文献１に開示された技術によれば、ＯＳ１２からは単に一つのＲＡＩＤが接続されているように見えるだけであり、特許文献１に開示された技術を実現するために、ＯＳ側１２の変更は特に行う必要はない。また、特許文献１に開示された技術によれば、複数のＲＡＩＤドライバを用い、それらに負荷が分散されることになるので、ＲＡＩＤドライバの能力に起因する制限は緩和されるという利点がある。また下位のＲＡＩＤドライバへの伝送路が複数になるので、それに起因する制限が緩和されるという利点がある。
【００１８】
【特許文献１】特開平７−２００１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、特許文献１に開示された技術は、通常の単純なＲＡＩＤ（図１５参照）に比べて管理を複雑にするという問題がある。さらには、そこで使用するＲＡＩＤの選択に制限があるという問題がある。なお、ＲＡＩＤの管理の複雑さは高速性を追及した結果であり、また、ＲＡＩＤの選択の制限は、複雑なシステムにおいて高信頼性を確保するために必要となるものである。
【００２０】
また、特許文献１に開示された技術を、異なるＯＳ、異なるローカルディスクアレイ制御装置上で動作させることが困難であるという問題がある。つまり、特許文献１に開示された技術においては、グローバルディスク制御処理とローカルディスク制御処理とが協調して動作する必要があるために、特許文献１に開示された技術を他のＯＳや他の情報機器で動作させようとすると、デバイスドライバレベルからの移植作業が必要となるからである。
【００２１】
また、特許文献１に開示された技術においては、複数のローカルディスク制御装置の制御下のＲＡＩＤとして異種のＲＡＩＤなどを混在させるのが困難であるという問題がある。実際の運用において、技術進歩による高性能化のために、あるいはシステムの障害のために、ローカルディスク制御装置の一部を異種のＲＡＩＤに交換するというようなことは十分に起こりえることである。しかし、特許文献１に開示された技術においてそれを実行することは困難である。この理由は上述と同じである。
【００２２】
また、特許文献１に開示された技術においては、そのシステムの一部の障害が発生したときの回復が困難であるという問題がある。図１５に示したような単純なＲＡＩＤを用いた場合であっても、システムに障害が発生した時には、その障害箇所を特定し、それを交換するなどの処理を行い、全体を整合性のある状態へ回復させる処理が必要となる。特許文献１に開示された技術においては、システム全体がより複雑な構成となっているために、まず、障害箇所を特定することが複雑であり、かつ、階層化されたＲＡＩＤ全体を整合性のある状態へ回復させるための処理も複雑なものとなってしまう。
【００２３】
また、特許文献１に開示された技術においては、そのシステムを拡張することも困難である。つまり、システムを拡張する際には、階層化されたＲＡＩＤ全体において、拡張された部分との整合性を取る必要があるからである。
【００２４】
以上の説明からも明らかなように、特許文献１に開示された技術は、高性能化と高信頼性を主として狙ったものであり、システム運用の簡便さ、柔軟性などを犠牲にしたものであるといえる。そのため、この従来技術を汎用的なＰＣ用として使用することは困難である。
【００２５】
そこで本発明は、汎用的なＰＣなどに好適で、大容量のデータを高速処理可能でかつ管理の容易なディスクシステム制御を可能とするディスクシステム制御モジュール、ディスクシステム制御方法、ディスクシステム制御プログラム及びディスクシステム制御モジュールを搭載した情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２６】
（１）本発明のディスクシステム制御モジュールは、オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジューであって、アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得手段と、前記処理要求取得手段によって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行手段とを有することを特徴とする。
【００２７】
本発明のディスクシステム制御モジュールは、アプリケーションからオペレーティングシステムへの処理要求を横取り（フック）することによって取得し、取得した処理要求に基づいて、自身の制御下の複数のディスクシステムを制御するための処理要求を生成して、生成した処理要求を前記オペレーティングシステムに発行するものである。このように、本発明のディスクシステム制御モジュールは、オペレーティングシステムの上位の階層に設けられ、ユーザレベルのプログラムによって、自身の制御下の複数のディスクシステムを制御可能とするものである。
【００２８】
すなわち、本発明のディスクシステム制御モジュールから見れば、前記ディスクシステム群は、１つのディスクシステムのように見え、１つのディスクシステムを制御するかのような処理を行うことができる。また、オペレーティングシステムから見れば、前記ディスクシステム群に属する複数のディスクシステムは独立したディスクシステムに見える。これにより、本発明のディスクシステム制御モジュールから発行された処理要求がオペレーティングシステムに与えられたあとは、オペレーティングシステムが持つ高度なファイルシステム処理機能を利用することができる。
【００２９】
以上のことから、本発明のディスクシステム制御モジュールによれば、ディスクシステム群に属するディスクシステムを効率よく制御することができ、大容量のデータを高速処理可能となり、かつ、ディスクシステムの管理が容易で自由度の高いディスクシステム制御が可能となる。また、本発明のディスクシステム制御モジュールは、ディスクシステム制御を簡便なものとすることができ、ディスクシステムの追加や削除、障害の発生時などにおいて柔軟に対応することができる。したがって、本発明のディスクシステム制御モジュールは、汎用的なＰＣに好適なものとなり、汎用的なＰＣにおいて高解像度の画像データ処理などを行う際、大容量の画像データを高速に読み書き処理可能とすることができる。
【００３０】
（２）本発明のディスクシステム制御モジュールにおいて、前記ディスクシステム処理要求発行手段は、前記処理要求取得手段によって取得した処理要求が、ディレクトリ処理要求であるか、ファイル処理要求であるかを判別する処理要求判別手段と、前記取得した処理要求がディレクトリ処理要求であると判別された場合は、前記ディレクトリ処理要求を複製するとともに、複製した各ディレクトリ処理要求が前記ディスクシステム群に属する全てのディスクシステムに対して発行されるように前記各ディレクトリ処理要求の設定を変更して、設定を変更した前記各ディレクトリ処理要求を前記オペレーティングシステムに発行するディレクトリ処理要求発行手段と、前記取得した処理要求が、前記ファイル
処理要求であると判別された場合は、前記ディスクシステム群に属するディスクシステムから前記ファイル処理要求を発行すべきディスクシステムを選択し、前記ファイル処理要求が前記選択したディスクシステムに対して発行されるように前記ファイル処理要求の設定を変更して、設定を変更した前記ファイル処理要求を前記オペレーティングシステムに発行するファイル処理要求発行手段とを有することが好ましい。
【００３１】
このように、アプリケーションからＯＳへの処理要求を横取りすることによって取得した処理要求が、ディレクトリ処理要求（ディレクトリ作成要求、ディレクトリの削除要求及びディレクトリ内の検索要求などを含む）であるか、ファイル処理要求（ファイル作成要求、ファイル削除要求、ファイル書き込み要求、ファイル読み出し要求などを含む）であるかを判別し、ディレクトリ処理要求である場合には、ディスクシステム群に属する全てのディスクシステムへ当該ディレクトリ処理要求を発行し、ファイル処理要求である場合には、ディスクシステム群に属するディスクシステムから選択したディスクシステムへのみ当該処理要求を発行するようにしている。つまり、ディレクトリ処理に関しては全てのディスクシステムで同等に行う。一方、ファイル操作などに関してはディスクシステム個別に行うものである。
【００３２】
このようなディスクシステム制御処理は、本発明のディスクシステム制御モジュールがオペレーティングシステムより上位の階層に設けられることによって可能となるものである。そして、本発明のディスクシステム制御モジュールから発行されたディレクトリ処理要求やファイル処理要求がオペレーティングシステムに与えられたあとは、オペレーティングシステムが持つ高度なファイルシステム処理機能を利用して、各ディスクシステムにディレクトリの作成やファイルの作成を行うことができる。これにより、複数のディスクシステムを効率よく制御することができ、高速な読み書きが可能となる。
【００３３】
（３）本発明のディスクシステム制御モジュールにおいて、前記ファイル処理要求発行手段は、前記ファイル処理要求を発行すべきディスクシステムを選択する際、前記ディスクシステム群に属する各ディスクシステムが現在、処理の実行中であるかどうかを判断し、処理の実行中でないディスクシステムの中のディスクシステムを選択することが好ましい。
このように、現時点で処理の実行中でないディスクシステムの中から、ファイル処理を行うべきディスクシステムを選択することにより、ファイル処理を効率的に行ことができる。
【００３４】
（４）本発明のディスクシステム制御モジュールにおいて、前記ファイル処理要求発行手段は、前記ファイル処理要求を発行すべきディスクシステムを選択する際、前記ディスクシステム群に属する各ディスクシステムが現在行っている処理の残量を判断し、前記処理の残量が最も少ないディスクシステムを選択することが好ましい。
【００３５】
これは、すべてのディスクシステムが何らかの処理を行っている場合を想定したものであり、このような場合、現時点で行っている処理の残量が最も少ないディスクシステムを、ファイル処理を行うべきディスクシステムとして選択するものであり、このような処理を行うことにより、ファイル処理を効率的に行ことができる。
【００３６】
（５）本発明のディスクシステム制御モジュールにおいて、前記ディスクシステム群に属する各ディスクシステムは、個々のディスクシステムが、複数のディスクと当該複数のディスクを１つのディスクとして制御するディスクドライバとを有するディスクシステムを有することが好ましい。
【００３７】
これは、いわゆるＲＡＩＤと呼ばれるディスクの制御方法を採用したディスクシステム
であり、ＲＡＩＤを用いることによって、高速なデータの読み書きが可能となる。特に、ＲＡＩＤ０を用いることにより、読み書き速度と容量を重視したディスク制御が可能となる。なお、本発明のディスクシステム制御モジュールの制御下の複数のディスクシステムは、全てがＲＡＩＤによるディスクシステムであってもよく、また、単独のＨＤＤであってもよく、両者が混在していてもよい。また、複数のディスクシステムの一部のディスクシステムは、ネットワーク上に存在するものであってもよい。
【００３８】
（６）本発明のディスクシステム制御モジュールにおいて、前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求であるか否かを判別する要求対象ディスクシステム判別手段をさらに有することが好ましい。
【００３９】
このような構成とすることにより、アプリケーションから発行される処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求であるか、前記ディスクシステム群に属するディスクシステム以外のディスクシステムに対して実行すべき処理要求であるかを適切に判別することができ、本発明のディスクシステム制御モジュールの制御下のディスクシステムに対するディスクシステム制御と、それ以外のディスクシステムに対するディスクシステム制御とをそれぞれ適切に行うことができる。
【００４０】
（７）本発明のディスクシステム制御モジュールにおいて、前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求であると判別した場合は、前記取得した処理要求をディスクシステム処理要求発行手段に与え、前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求ではないと判別した場合は、前記取得した処理要求を前記オペレーティングシステムに与えることが好ましい。
【００４１】
これにより、取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対して実行すべき処理要求である場合には、本発明のディスクシステム制御モジュールのディスクシステム処理要求発行手段によって、前記ディスクシステム群に属するディスクシステムに対するディスクシステム制御を行うことができる。また、取得した処理要求が、前記ディスクシステム群に属するディスクシステムに対する要求ではない場合には、取得した処理要求は、オペレーティングシステムに与えられて、本発明のディスクシステム制御モジュールの制御下のディスクシステム以外のディスクシステムに対するディスクシステム制御がなされる。このような制御を行うことにより、自身の制御下のディスクシステムとそれ以外のディスクシステムとを混在させることが可能となる。
【００４２】
（８）本発明のディスクシステム制御モジュールにおいて、前記処理要求取得手段によって取得した処理要求が、前記ディスクシステム群に属する個別のディスクシステムに対する処理要求であるか否かを判別し、前記ディスクシステム群に属する個別のディスクシステムに対する処理要求である場合には、前記個別のディスクシステムに対する処理要求を禁止する手段を有することが好ましい。
【００４３】
これにより、前記ディスクシステム群に属するディスクシステムに対する個別のアクセスを禁止することができる。すなわち、本発明のディスクシステム制御モジュールにおいては、例えば、ディレクトリは全てのディスクシステムに対して同じディレクトリ構造を有するように作成されるものであり、それを前提としたファイル処理がなされる。一方、本発明のディスクシステム制御モジュールは、オペレーティングシステムの上位の階層に存在するものであり、本発明のディスクシステム制御モジュールの制御下に置かれている個々のディスクシステムに対して容易にアクセスすることも可能である。
【００４４】
したがって、例えば、あるディスクシステムに作成されているディレクトリが削除された場合には、本発明のディスクシステム制御の動作が異常となる可能性がある。それを阻止するために、本発明のディスクシステム制御モジュールの制御下のディスクシステムに対する個別のアクセスを禁止するものであり、このような機能を有することにより、本発明のディスクシステム制御モジュールの動作を正常に保つことが可能となる。
【００４５】
（９）本発明のディスクシステム制御方法は、オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールにおけるディスクシステム制御方法であって、アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得ステップと、前記処理要求取得ステップによって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行ステップとを有することを特徴とする。
【００４６】
このようなディスクシステム制御方法によってディスクシステム制御を行うことにより、前記（１）に記載のディスクシステム制御モジュールと同様の効果が得られる。なお、（９）に記載のディスクシステム制御モジュールにおいても、前記ディスクシステム制御モジュールのそれぞれの特徴を有することが好ましい。
【００４７】
（１０）本発明のディスクシステム制御プログラムは、オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールに実行させるためのディスクシステム制御プログラムであって、アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得ステップと、前記処理要求取得ステップによって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行ステップとを有することを特徴とする。
【００４８】
このようなディスクシステム制御プログラムをディスクシステム制御モジュールで実行させることによって、前記（１）に記載のディスクシステム制御モジュールと同様の効果が得られる。なお、（１０）に記載のディスクシステム制御プログラムにおいても、前記ディスクシステム制御モジュールのそれぞれの特徴を有することが好ましい。
【００４９】
（１１）本発明の情報処理装置は、オペレーティングシステムの上位の階層に設けられるディスクシステム制御モジュールを有する情報処理装置であって、前記ディスクシステム制御モジュールは、アプリケーションから前記オペレーティングシステムに発行される処理要求を取得する処理要求取得手段と、前記処理要求取得手段によって取得した処理要求に基づいて、前記オペレーティングシステムの下位の階層に存在する所定の複数のディスクシステムからなるディスクシステム群に属する少なくとも１つのディスクシステムを制御するための処理要求を生成して前記オペレーティングシステムに発行するディスクシステム処理要求発行手段とを有することを特徴とする。
【００５０】
本発明の情報処理装置に搭載するディスクシステム制御モジュールをこのような構成とすることにより、前記（１）に記載にしたと同様の効果を得ることができる。特に、本発明の情報処理装置によって、高解像度の画像データ処理などを行う場合、ディスクシステムに対して大容量の画像データを高速に読み書き処理することができる。したがって、本発明の情報処理装置は、高解像度で大画面化が進む最近の画像表示装置に十分対応可能な情報処理装置となる。なお、（１１）に記載の情報処理装置においても、前記ディスクシ
ステム制御モジュールのそれぞれの特徴を有することが好ましい。
【発明を実施するための最良の形態】
【００５１】
以下、本発明の実施形態について説明する。
[実施形態１]
図１は実施形態１に係るディスクシステム制御モジュール２００が搭載された情報処理装置１０の構成の一部を概略的に示す図である。図１に示す情報処理装置１０は、アプリケーション１００と、ＯＳ３００の上の階層に設けられるディスクシステム制御モジュール２００と、ＯＳ３００の下の階層に設けられてディスクシステム制御モジュール２００の制御対象となる複数のディスクシステム４１０、４２０，４３０，・・・とからなるディスクシステム群４００とを有している。
【００５２】
また、図１において、ディスクシステム制御モジュール２００は、アプリケーション１００からＯＳ３００に発行されるディスクシステムに対する処理要求をフックして取得する処理要求取得手段２１０と、フックした処理要求に基づいて複数のディスクシステムを制御するためのディスクシステム処理要求をＯＳ３００に発行するディスクシステム処理要求発行手段２２０とを有している。
【００５３】
ディスクシステム処理要求発行手段２２０は、フックしたディスクシステム処理要求が、ディレクトリ処理理要求であるか、ファイル処理要求であるかを判別する処理要求判別手段２２１と、フックした処理要求がディレクトリ処理要求であると判別された場合は、そのディレクトリ処理要求を複製するとともに、複製した各ディレクトリ処理要求が複数のディスクシステム４１０、４２０，４３０，・・・に対して発行されるように各ディレクトリ処理要求の設定を変更して、設定を変更した各ディレクトリ処理要求をＯＳに発行するディレクトリ処理要求発行手段２２２と、フックした処理要求が、ファイル処理要求であると判別された場合は、複数のディスクシステム４１０、４２０，４３０，・・・のうちファイル処理要求を発行すべきディスクシステムを選択し、ファイル処理要求が選択したディスクシステムに対して発行されるようにファイル処理要求の設定を変更して、設定を変更したファイル処理要求をオペレーティングシステムＯＳに発行するファイル処理要求発行手段２２３とを有している。
【００５４】
また、図１に示す情報処理装置１０に用いられるディスクシステム４１０，４２０，４３０，・・・は、それぞれがＲＡＩＤであってもよいし、単独のディスク（ＨＤＤ）であってもよく、さらには、ＮＡＳ（Network Attached Storage）であってもよいが、本発明の各実施形態では、それぞれのディスクシステムは、複数のＨＤＤとこれら複数のＨＤＤを制御するＲＡＩＤドライバとを有するＲＡＩＤの構成を有するディスクシステムであるとする。
【００５５】
図２は図１に示す実施形態１において処理要求取得手段２１０が処理要求をフックしたあとの処理手順を説明するフローチャートである。図２に示すように、まずは、アプリケーション１００からフックしたディスクシステム処理要求がディレクトリ処理要求であるか、ファイル処理要求であるかを判別し（ステップＳ１）、ディレクトリ処理要求である場合には、ディレクトリ処理要求を複製するとともに、複製した各ディレクトリ処理要求が制御下の複数のディスクシステム４１０、４２０，４３０，・・・に対して発行されるように各ディレクトリ処理要求の設定を変更する（ステップＳ２）。そして、設定を変更した各ディレクトリ処理要求を全てのディスクシステム４１０、４２０，４３０，・・・に対して発行する（ステップＳ３）。なお、ディレクトリ処理要求の設定を変更するという処理は、例えば、ディレクトリ処理要求の発行先をディスクシステム４１０，４２０，４３０，・・・の場所に変更するなどの処理である。
【００５６】
一方、ステップＳ１において、フックした要求がファイル処理要求であると判別された場合には、制御下の複数のディスクシステム４１０、４２０，４３０，・・・のうちの１つのディスクシステムを選択し、ファイル処理要求が選択したディスクシステムに対して発行されるようにファイル処理要求の設定を変更する（ステップＳ４）。そして、設定を変更したファイル処理要求を選択したディスクシステムに発行する（ステップＳ５）。なお、ファイル処理要求の設定を変更するという処理は、例えば、ファイル処理要求の発行先を当該ファイル処理要求を発行すべきディスクシステムの場所に変更するなどの処理である。そして、発行されたディレクトリ処理要求またはファイル処理要求に対する応答を出力する（ステップＳ６）。
【００５７】
このように、ディレクトリ処理要求については、ディレクトリ処理要求発行手段２２２によってディレクトリ処理要求が複製され、すべてのディスクシステム４１０，４２０，４３０，・・・へ発行される。一方、ファイル処理要求については、ファイル処理要求発行手段２２３によって選択されたディスクシステムへのみ発行される。
【００５８】
なお、ステップＳ４において、制御下の複数のディスクシステム４１０、４２０，４３０，・・・のうちの１つのディスクシステムを選択する処理は、例えば、その時点で処理の実行中でないディスクシステムを選択するようにしてもよいし、制御下の複数のディスクシステム４１０、４２０，４３０，・・・の各ディスクシステムが現在行っている処理の残量を判断し、処理の残量が最も少ないディスクシステムを選択するようにしてもよい。
【００５９】
図３は図１に示した構成をソフトウエア的な構成として示す図である。図３は特許文献１に開示された技術の説明で用いた図１７と対比させたものであり、図３に示す情報処理装置１０は、ＯＳ３００の上の階層に、ディスクシステム制御モジュール２００が設けられている点が図１７と大きく異なる。また、ディスクシステム制御モジュール２００は、図３では図示されていないが、図１に示した処理要求取得手段２１０、ディスクシステム処理要求発行手段２２０（処理要求判別手段２２１、ディレクトリ処理要求発行手段２２２、ファイル処理要求発行手段２２３を含む）を有している。
【００６０】
なお、図３においては、アプリケーション１００により発行されるディレクトリ処理要求及びファイル処理要求として、Windows（登録商標）のプラットフォームＳＤＫの中か
ら８関数を例示している。具体的には、ディレクトリ処理要求としては、「CreateDirectory」、「RemoveDirectory」、「FindFirstFile」、「FindNextFile」を例示し、また、
ファイル処理要求としては、「CreateFile」、「DeleteFile」、「WriteFile」、「ReadFile」を例示している。
【００６１】
また、図３においては、ディスクシステムの数は、ディスクシステム４１０，４２０，４３０，４４０の４つであるとし、それぞれのディスクシステム４１０〜４４０は、前述したように、ＲＡＩＤの構成となっており、それぞれ３つのＨＤＤと、これら３つのＨＤＤを制御するＲＡＩＤドライバ４１１，４２１，４３１、４４１を有するものとする。
【００６２】
このような構成において、アプリケーション１００からディレクトリ処理要求またはファイル処理要求が発行されたとすると、これらの処理要求をディスクシステム制御モジュール２００の処理要求取得手段２１０がフックし、フックした処理要求は、図２に示す処理手順（ステップＳ１〜Ｓ６）によって処理される。
【００６３】
なお、フックした処理要求が本発明のディスクシステム制御モジュールの制御下のディスクシステムへの処理要求であるか否かの区別する方法は、ドライブ文字の設定などによっても可能となる。例えば、図３に示すディスクシステム４１０、４２０、４３０などが
ＯＳ３００により、ドライブ文字として「Ｘ：」「Ｙ：」「Ｚ：」などが与えられていたとする。また、本発明によるディスクシステム制御モジュール２００に対し、上記「Ｘ：」「Ｙ：」「Ｚ：」からなるディスクシステム群４００に仮想的なドライブ文字「Ｄ：」を与えるように設定されていたとする。
このような設定を行っておくことにより、アプリケーションからのドライブ「Ｄ：」への処理要求は、本発明のディスクシステム制御モジュール２００の制御下のディスクシステム、すなわち、ディスクシステム群４００への処理要求であると判別することができる。
【００６４】
図４は図３に示す構成においてアプリケーション１００からディレクトリ処理要求が発行された場合について説明する図である。なお、図４は所定のディレクトリ構造及びファイル構造を有している状態において、新たなディレクトリを作成するディレクトリ処理要求が出された場合について説明するものである。例えば、図４の破線枠内の（ａ）に示すように、「Ａ」，「Ｂ」のディレクトリと、「１」，「２」，「３」のファイルからなるディレクトリ構造及びファイル構造を有している状態において、「Ｃ」のディレクトリ（図中、灰色で示す）を新たに作成するといったディレクトリ処理要求が出された場合について説明する。
【００６５】
図４に示すように、「Ｃ」のディレクトリを新たに作成するといったディレクトリ処理要求がアプリケーション１００から発行された場合は、ディスクシステム制御モジュール２００の処理要求取得手段２１０がそのディレクトリ処理要求をフックする。そして、フックした処理要求が処理要求判別手段２２１によってディレクトリ処理要求であると判別されると、ディレクトリ処理要求発行手段２２２では、当該ディレクトリ処理要求を複製するとともに、ディレクトリ処理要求の発行先を、ディスクシステム４１０〜４４０とするための変更などを行ったのち、複製されたディレクトリ処理要求をＯＳ３００に対して発行する。これにより、ＯＳ３００は、複製された各ディレクトリ処理要求を、すべてのディスクシステム４１０〜４４０に発行する。
【００６６】
なお、ディスクシステム４１０〜４４０それぞれに対して、ディレクトリ処理要求が与えられたあとの処理は、ＲＡＩＤドライバ４１１，４２１，４３１，４４１によるディスク制御が行われることによってディレクトリの作成処理がなされる。このような処理が行われることにより、各ディスクシステム４１０〜４４０には、新たなディレクトリ「Ｃ」が作成される。
【００６７】
図５は図３に示す構成においてアプリケーション１００からファイル処理要求が発行された場合について説明する図である。なお、図５は所定のディレクトリ構造及びファイル構造を有している状態において、ファイル処理要求として新たなファイル「４」を作成する要求がアプリケーション１００から発行された場合について説明する図である。
【００６８】
例えば、図５の破線枠内の（ａ）に示すように、「Ａ」，「Ｂ」のディレクトリと、「１」，「２」，「３」のファイルからなるディレクトリ構造及びファイル構造を有している状態において、「４」のファイル（図中、灰色で示す）を新たに作成するといったファイル処理要求が出された場合について説明する。
【００６９】
図５に示すように、「４」のファイルを新たに作成するといったファイル処理要求がアプリケーション１００から発行された場合は、ディスクシステム制御モジュール２００の処理要求取得手段２１０がそのファイル処理要求をフックする。そして、フックした処理要求が処理要求判別手段２２１によってファイル処理要求であると判別されると、ファイル処理要求発行手段２２３では、制御下の複数のディスクシステム４１０〜４４０の中から１つのディスクシステムを選択し（ディスクシステム４４０が選択されたとする）、フ
ァイル処理要求の発行先を、選択したディスクシステム４４０とするための変更などを行ったのち、当該ファイル処理要求をＯＳ３００に対して発行する。これにより、ＯＳ３００は、当該ファイル処理要求を、選択されたディスクシステム４４０に発行する。
【００７０】
なお、選択されたディスクシステム４４０に対して、ファイル処理要求が与えられたあとの処理は、ＲＡＩＤドライバ４４１によるディスク制御が行われることによってファイル作成処理が行われる。これにより、選択されたディスクシステム４４０には、新たなファイル「４」が作成される。
【００７１】
また、図６はファイル処理要求を並列に実行する場合について説明する図である。なお、図６においては、破線枠内の（ａ）に示すような「Ａ」と「Ｂ」のディレクトリを有するディレクトリ構造に、「１」〜「４」のファイルを並列的に作成する処理であるとする。
【００７２】
このように、ファイル「１」〜「４」を作成する処理を行うといったファイル処理要求がアプリケーション１００から発行されると、ディスクシステム制御モジュール２００の処理要求取得手段２１０がファイル処理要求をフックする。そして、フックした処理要求が処理要求判別手段２２１によってファイル処理要求であると判別されると、ファイル処理要求発行手段２２３は、ファイル「１」〜「４」を分散して書き込み可能となるようにディスクシステムを選択する。このとき、ファイル処理要求発行手段２２３は、現在の各ディスクシステムの処理状況（現時点における読み書き動作状況など）に応じてディスクシステムを選択する。
【００７３】
そして、ファイル処理要求の発行先を、選択した各ディスクシステム４１０〜４４０とするための変更などを行ったのち、当該ファイル処理要求をＯＳ３００に対して発行する。それにより、ファイル「１」〜「４」は、それぞれのＲＡＩＤドライバのキャッシュに一旦蓄積される。例えば、本発明の実施形態のように各ディスクシステムがＲＡＩＤである場合、それらは１００ＭＢ以上のキャッシュメモリを持つのが一般的である。そのキャッシュサイズ以内のデータ書き込みは見かけ上、非常に高速に終了する。その後そのキャッシュから、各ディスクシステムを構成するＨＤＤへ実質的に並列に書き込まれることになる。
【００７４】
これにより、各ディスクシステム４１０〜４４０には、それぞれ新たなファイルが作成される。図８においては、ディスクシステム４１０には「１」のファイル、ディスクシステム４２０には「２」のファイル、ディスクシステム４３０には「３」のファイル、ディスクシステム４４０には「４」のファイルが作成された例が示されている。
図６に示した例のように、本発明の実施形態によれば、ファイル処理を実質的に並列に行うことによって高速性を実現できる。
【００７５】
図７は本発明による効果を説明する図である。なお、図７は本発明のディスクシステム制御モジュール２００の制御下に２つのディスクシステムを設けた例である。図７においても、従来技術の説明で用いた図１６と同様、あるＲＡＩＤドライバ（第１ＲＡＩＤドライバ）を用いた場合と、それとは異なる別のＲＡＩＤドライバ（第２ＲＡＩＤドライバ）を用いた場合が例示されており、これら第１ＲＡＩＤドライバ及び第２ＲＡＩＤドライバにおいては、ＨＤＤが数台で書き込み速度が飽和してしまっている。これに対して、本発明のディスクシステム制御モジュール２００による処理(図７では「本発明による処理」
としている)によれば、ＨＤＤの数が増加しても、書き込み速度はすぐに飽和することは
ない。このため、本発明のディスクシステム制御モジュール２００を採用することにより、大量のデータを高速に処理することが可能となる。
【００７６】
なお、ディスクシステム制御モジュール２００は、ディスクシステムの追加、削除も容易に実施可能である。従来技術に示すシステム（図１７参照）においては、ディスクシステムの追加や削除を行う場合、システム全体の整合性をとるために、全体を再構築する必要があることは前述した通りである。
【００７７】
一方、本発明のディスクシステム制御モジュール２００においては、追加したディスクシステムをＯＳ３００によって初期化し、本発明のディスクシステム制御モジュール２００の制御下の他のディスクシステムから、そのディレクトリ構造をコピーするだけで良い。このような処理は、本発明のディスクシステム制御モジュール２００がＯＳ３００の上の階層に存在することによって可能となるもので、ユーザーレベルのプログラムで容易に作成することが可能である。なお、ここに追加するディスクシステムは、単体のＨＤＤであってもよいし、ＲＡＩＤであってもよい。
【００７８】
図８は図４に示すようなディレクトリ構造及びファイル構造を有するディスクシステム４１０〜４４０に新しいディスクシステムを追加する場合について説明する図である。図８に示すように、例えば、ディスクシステム４５０（図中の灰色で示すディスクシステム）を新たに追加する場合は、他のディスクシステム（例えば、ディスクシステム４４０）から、そのディレクトリ構造（この例では、ディレクトリ「Ａ」，「Ｂ」，「Ｃ」を有する）のみをコピーするだけでよい。
【００７９】
このようなディスクシステムの追加処理は、システム全体の整合性をとるために全体を再構築するといった処理は不要である。これは、ディスクシステム制御モジュール２００がＯＳ３００の上位の階層にあることから実現できるものであり、ユーザーレベルのプログラムで容易に実行可能である。
【００８０】
図９は図４に示すようなディレクトリ構造及びファイル構造を有するディスクシステム４１０〜４４０から、ある１つのディスクシステムを削除する場合について説明する図である。図９に示すように、例えば、ディスクシステム４２０（図中の破線で示すディスクシステム）を削除する場合、削除するディスクシステム４２０に作成されているファイルを、別のディスクシステムへコピーするだけで良い。図９の場合は、「２」のファイルをディスクシステム４３０にコピーした例が示されている。このようなディスクシステムの削除処理は、図８で説明したディスクシステムの追加の場合と同様、ユーザーレベルのプログラムで容易に実行可能であり、システム全体の整合性をとるために全体を再構築するといった処理は不要である。
【００８１】
[実施形態２]
実施形態２においては、ディスクシステム制御モジュール２００の制御下のディスクシステムと、それ以外のディスクシステムとを混在させることを可能としたものである。ここで、ディスクシステム制御モジュール２００の制御下のディスクシステムとは、このディスクシステム制御モジュール２００の動作により、アプリケーション側からは一つに見える複数のディスクシステムを指すものとする。
【００８２】
図１０は実施形態２に係るディスクシステム制御モジュール２００を搭載した情報処理装置２０の構成を示す図である。図１０に示す情報処理装置２０は、ディスクシステム制御モジュール２００が要求対象ディスクシステム判別手段６００を有していることと、ＯＳ３００には、ディスクシステム制御モジュール２００の制御下のディスクシステム以外のディスクシステム５１０（通常のディスクシステム５１０という）が存在することが図１と異なる。
【００８３】
要求対象ディスクシステム判別手段６００は、処理要求取得手段２１０でフックした処
理要求が、自身の制御下のディスクシステムに対して実行すべき処理要求であるか否かを判別するものである。そして、フックした処理要求が自身の制御下のディスクシステムに対して実行すべき処理要求である場合には、ディスクシステム処理要求発行手段２２０の処理要求判別手段２２１にその処理要求を与えるが、自身の制御下のディスクシステムに対して実行すべき処理要求ではない場合には、その処理要求は何ら変更を加えること無くＯＳ３００に与えられて、ＯＳ３００により通常のディスクシステム５１０に対する制御が行われる。
。
【００８４】
これは、ディスクシステム制御モジュール２００が起動したあとにおいては、全てのアプリケーション１００から発行される処理要求は、ディスクシステム制御モジュール２００の制御下でない通常のディスクシステム５１０に対する処理要求も含めてすべて処理要求取得手段２１０によってフックされてしまうためである。
【００８５】
逆に、すべての処理要求を処理要求取得手段２１０により取得することにより、取得した処理要求が、自身の制御下のディスクシステムに対して実行すべき処理要求である否かを、要求対象ディスクシステム判別手段６００によって判別し、その判別結果によって、当該処理要求の発行先を設定することが可能となる。
【００８６】
例えば、フックした処理要求が、自身の制御下のディスクシステムに対して実行すべき処理要求であれば、当該処理要求は、ディレクトリ処理要求発行手段２２２の処理要求判別手段２２１に与えられる。一方、フックした処理要求が通常のディスクシステム５１０に対するものであれば、当該処理要求は、直接、ＯＳ３００に与えられ、ＯＳ３００によって通常のディスクシステム５１０が制御される。
【００８７】
図１０に示すような構成とすることにより、アプリケーション１００から発行される処理要求に応じて、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・またはそれ以外の通常のディスクシステム５１０を制御することが可能となる。
【００８８】
なお、本発明のディスクシステム制御モジュールの制御下のディスクシステムと、それ以外の通常のディスクシステムを区別は、そのドライブ文字によって行うことも可能である。例えば、図１０のディスクシステム４１０、４２０、４３０などがＯＳ３００により、ドライブ文字として「Ｘ：」「Ｙ：」「Ｚ：」などが与えられており、また、ディスクシステム５１０にドライブ文字「Ｃ：」が与えられていたとする。また、本発明によるディスクシステム制御モジュール２００に対し、上記「Ｘ：」「Ｙ：」「Ｚ：」からなるディスクシステム群４００に仮想的なドライブ文字「Ｄ：」を与えるように設定されていたとする。
このとき、アプリケーションからのドライブ「Ｄ：」への処理要求は、本発明のディスクシステム制御モジュール２００の制御下のディスクシステム、すなわち、ディスクシステム群４００への処理要求であると判別され、ドライブ「Ｃ：」への要求は、それ以外のディスクシステムへの処理要求であると判別されることになる。
【００８９】
図１１は図１０に示す実施形態２に係るディスクシステム制御モジュール２００における処理手順を説明するフローチャートである。図１１に示すように、まずは、フックした処理要求が、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・に対して実行すべき処理要求であるか否かを、要求対象ディスクシステム判別手段６００によって判別し（ステップＳ１１）、フックした処理要求が、制御下のディスクシステム４１０，４２０，４３０，・・・に対して実行すべき処理要求であると判別された場合には、ステップＳ１２〜Ｓ１７の処理（図２のステップＳ１〜Ｓ
６と同様の処理）を行う。
【００９０】
また、フックした処理要求が、制御下のディスクシステム４１０，４２０，４３０，・・・に対して実行すべき処理要求ではないと判別された場合には、指定されたディスクシステム（この場合、通常のディスクシステム５１０）に対して当該処理要求を発行する（ステップＳ１８）。
【００９１】
[実施形態３]
実施形態３は、実施形態２において説明したような構成、つまり、本発明のディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・とそれ以外のディスクシステム（通常のディスクシステム５１０）とが混在するような場合に起こりえる問題に対処可能とするものである。
【００９２】
本発明のディスクシステム制御モジュール２００において行われるディスクシステム制御処理は、ＯＳ３００の上の階層での処理であるので、ＯＳ３００からはディスクシステム制御モジュール２００の制御下の個々のディスクシステム４１０，４２０，４３０，・・・がそのまま見えることになり、ディスクシステム制御モジュール２００の制御下の個々のディスクシステム４１０，４２０，４３０，・・・へのアクセスが可能となる。
【００９３】
図１０のような構成とした場合、アプリケーション１００から発行されるディスクシステムに対する要求が、ディスクシステム制御モジュール２００の制御下のディスクシステム以外のディスクシステム（例えば、ディスクシステム５１０）に対するものであれば問題ないが、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・に対するものである場合、要求の内容によっては、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・に作成されているディレクトリ構造などが破壊される可能性もある。
【００９４】
本発明のディスクシステム制御モジュール２００によるディスクシステム制御は、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・が全て同じディレクトリ構造を有することを前提として動作するものである。このため、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・のうちのあるディスクシステムに対して、仮に、ディレクトリが削除されるような要求が出された場合、全て同じディレクトリ構造を有するという前提が崩れてしまい、正常な動作が行えなくなる可能性がある。
【００９５】
そこで、実施形態３においては、アプリケーション１００が発行する全てのディスクシステムに対する処理要求を監視し、その処理要求が、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・に対する個別の処理要求であった場合、それを禁止させることにより、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・を保護する。
【００９６】
図１２は実施形態３に係るディスクシステム制御モジュール２００が搭載された情報処理装置３０の構成を示す図である。情報処理装置３０に用いられるディスクシステム制御モジュール２００においても図１０と同様、要求対象ディスクシステム判別手段６００が設けられている。そして、さらに、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・の個別のディスクシステムに対する処理要求を禁止する個別ディスクシステム処理要求禁止手段７００が設けられている。
【００９７】
個別ディスクシステム処理要求禁止手段７００は、要求対象ディスクシステム判別手段６００によって、フックした処理要求が制御下のディスクシステム４１０，４２０，４３
０，・・・に対して実行すべき処理要求ではないと判別された場合に、前記フックした処理要求が、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・の個別のディスクシステムに対する処理要求であるか否かを判別し、個別のディスクシステムに対する処理要求であると判別された場合には、個別のディスクシステムに対する処理要求を禁止するという処理を行う。
【００９８】
図１３は図１２に示す実施形態３に係るディスクシステム制御モジュール２００における処理手順を説明するフローチャートである。図１３に示すように、まずは、フックした処理要求が、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・に対して実行すべき処理要求であるか否かを判別し（ステップＳ１１）、制御下のディスクシステム４１０，４２０，４３０，・・・に対して実行すべき処理要求であると判別された場合には、ステップＳ１２〜Ｓ１７の処理（図２のステップＳ１〜Ｓ６と同様の処理）を行う。
なお、本発明のディスクシステム制御モジュールの制御下のディスクシステムと、それ以外の通常のディスクシステムとの区別は、実施形態２において具体的に説明したようなドライブ文字の設定によって行うことができる。
【００９９】
また、フックした処理要求が、制御下のディスクシステム４１０，４２０，４３０，・・・に対して実行すべき処理要求ではないと判別された場合には、その処理要求が制御下のディスクシステム４１０，４２０，４３０，・・・の個別のディスクシステムに対する処理要求であるか否かを判別する（ステップＳ３８）。そして、フックした処理要求が、個別のディスクシステムに対する処理要求ではないと判別された場合には、指定されたディスクシステム（この場合は、通常のディスクシステム５１０）に対して当該処理要求を発行する（ステップＳ３９）。また、ステップＳ３８において、フックした処理要求が、個別のディスクシステムに対する処理要求であると判別された場合には、当該処理要求を禁止し、エラー応答を出力する（ステップＳ４０）。
【０１００】
このような処理を行うことにより、アプリケーション１００から発行される処理要求が、ディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・に対する個別要求であった場合、それを禁止させることができる。これにより、本発明のディスクシステム制御モジュール２００の制御下のディスクシステムに作成されたディレクトリ構造などが破壊されるのを防ぐことができる。
【０１０１】
なお、本発明は上述の各実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲で種々変形実施可能となるものである。たとえば、図１４に示すように、本発明のディスクシステム制御モジュール２００の制御下のディスクシステム４１０，４２０，４３０，・・・は単体のディスク（ＨＤＤ）であてもよく、また、ディスクシステム制御モジュール２００の制御下のディスクシステムの一部をネットワーク上に置くことも可能である。
また、前述の各実施形態では、ディスクシステム群４００は１つである場合を例示したが、ディスクシステム群は複数存在するような構成であってもよい。
【０１０２】
図１４においては、図３に示す構成におけるディスクシステム４３０を単体のディスク（ＨＤＤ）とし、また、ディスクシステム４４０を単体のディスク（ＨＤＤ）として、それをさらにネットワーク上に設けた例が示されている。このような構成は、本発明のディスクシステム制御モジュール２００がＯＳ３００の上位の階層での処理であることから可能となるものである。
【０１０３】
また、前述の各実施形態において説明したディスクシステム制御方法をコンピュータに実行させるためのプログラムとしてのディスクシステム制御プログラムを作成することが
可能であり、また、作成したディスクシステム制御プログラムを各種の記録媒体に記録させておくことも可能である。
【０１０４】
したがって、本発明は、これらディスクシステム制御プログラムとそのディスクシステム制御プログラムを記録した記録媒体をも含むものである。また、ディスクシステム制御プログラムはネットワークから取得するようにしてもよい。
【図面の簡単な説明】
【０１０５】
【図１】実施形態１に係るディスクシステム制御モジュール２００が搭載された情報処理装置１０の構成の一部を概略的に示す図。
【図２】図１において処理要求取得手段２１０が処理要求をフックしたあとの処理手順を説明するフローチャート。
【図３】図１に示す構成をソフトウエア的な構成として示す図。
【図４】図３に示す構成においてアプリケーション１００からディレクトリ処理要求が発行された場合について説明する図。
【図５】図３に示す構成においてアプリケーション１００からファイル処理要求が発行された場合について説明する図。
【図６】ファイル処理要求を並列的に実行する場合について説明する図。
【図７】本発明による効果を説明する図。
【図８】図４に示すようなディレクトリ構造及びファイル構造を有するディスクシステム４１０〜４４０に新しいディスクシステムを追加する場合について説明する図。
【図９】図４に示すようなディレクトリ構造及びファイル構造を有するディスクシステム４１０〜４４０から、ある１つのディスクシステムを削除する場合について説明する図。
【図１０】実施形態２に係るディスクシステム制御モジュール２００を搭載した情報処理装置２０の構成の一部を示す図。
【図１１】図１０に示す実施形態２に係るディスクシステム制御モジュール２００における処理手順を説明するフローチャート。
【図１２】実施形態３に係るディスクシステム制御モジュール２００が搭載された情報処理装置３０の構成の一部を示す図。
【図１３】図１２に示す実施形態３に係るディスクシステム制御モジュール２００における処理手順を説明するフローチャート。
【図１４】ディスクシステム制御モジュール２００の制御下のディスクシステムの一部をネットワーク上に置いた場合を説明する図。
【図１５】ＲＡＩＤについて説明する図。
【図１６】ディスクの数と読み書き速度との関係の一例を示す図。
【図１７】複数のＲＡＩＤを階層的に用い従来技術の構成を簡単化して示す図。
【符号の説明】
【０１０６】
１０，２０，３０・・・情報処理装置、１００・・・アプリケーション、２００・・・ディスクシステム制御モジュール、２１０・・・処理要求取得手段、２２０・・・ディスクシステム処理要求発行手段、２２１・・・処理要求判別手段、２２２・・・ディレクトリ処理要求発行手段、２２３・・・ファイル処理要求発行手段、３００・・・オペレーティングシステム（ＯＳ）、４００・・・ディスクシステム群、４１０，４２０，４３０，４４０・・・ディスクシステム、４１１，４２１，４３１，４４１・・・ＲＡＩＤドライバ、５１０・・・通常のディスクシステム、６００・・・要求対象ディスクシステム判別手段、７００・・・個別ディスクシステム処理要求禁止手段、ＨＤＤ・・・ディスク
【図１】
2009032144.tif 000003
【図２】
2009032144.tif 000004
【図３】
2009032144.tif 000005
【図１０】
2009032144.tif 000006
【図１１】
2009032144.tif 000007
【図１２】
2009032144.tif 000008
【図１３】
2009032144.tif 000009
【図１４】
2009032144.tif 000010
【図４】
2009032144.tif 000011
【図５】
2009032144.tif 000012
【図６】
2009032144.tif 000013
【図７】
2009032144.tif 000014
【図８】
2009032144.tif 000015
【図９】
2009032144.tif 000016
【図１５】
2009032144.tif 000017
【図１６】
2009032144.tif 000018
【図１７】
2009032144.tif 000019