(57)【要約】【課題】記録媒体を複数の利用者に共有させつつ記録データの安全性を保証し、記録媒体の利用効率を向上させる。【解決手段】ネットワークを介してコンピュータ・リソースである記憶装置の記憶領域をクライアントに提供するサーバにおいて、複数の磁気ディスク装置を備えて構成されるディスクアレイ４０と、クライアントからの書き込み要求に応じて、この書き込み要求に含まれる書き込みデータを分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、各クライアントの書き込みデータを格納した複数の磁気ディスク装置の一部が相互に重複するようにデータ書き込みを行うデータ処理部３０とを備える。【選択図】        図２
2005018197.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコンピュータ・リソースである記憶装置の記憶領域をクライアントに提供するサーバにおいて、
複数の記憶装置を備えて構成される記憶装置群と、
前記クライアントからの書き込み要求に応じて、当該書き込み要求に含まれる書き込みデータを分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、各クライアントの書き込みデータを格納した複数の記憶装置の一部が相互に重複するようにデータ書き込みを行うデータ処理部とを備えることを特徴とするサーバ。
【請求項２】
前記データ処理部は、所定のクライアントの書き込みデータに関して、当該書き込みデータの一部を喪失しても元の書き込みデータを復元可能とするための冗長性を持たせて分割し、かつ他のクライアントの書き込みデータを格納した記憶装置と重複する記憶装置の数が当該所定のクライアントの書き込みデータを復元できない数となるように、データ書き込みを行うことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記データ処理部は、前記クライアントごとに書き込みデータの分割手法を変更することを特徴とする請求項１に記載のサーバ。
【請求項４】
複数の記憶装置を備えて構成される記憶装置群と、
前記記憶装置に対してデータの読み書きを行うデータ処理部とを備え、
前記データ処理部は、前記記憶装置にデータの書き込み処理を行う場合に、個々のデータファイルを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、所定のデータファイルの分割データを格納した記憶装置の一部と他のデータファイルの分割データを格納した記憶装置の一部とが重複するようにデータ書き込みを行うことを特徴とするコンピュータ装置。
【請求項５】
前記データ処理部は、所定のデータファイルに関して、当該データファイルの一部を喪失しても元のデータファイルを復元可能とするための冗長性を持たせて分割し、かつ他のデータファイルを格納した記憶装置と重複する記憶装置の数が当該所定のデータファイルを復元できない数となるように、データ書き込みを行うことを特徴とする請求項４に記載のコンピュータ装置。
【請求項６】
前記データ処理部は、前記データファイルの分割数を前記データファイルごとに変更することを特徴とする請求項４に記載のコンピュータ装置。
【請求項７】
前記データ処理部は、前記データファイルを分割して得られる分割データを暗号化またはスクランブル処理してデータ書き込みを行うことを特徴とする請求項４に記載のコンピュータ装置。
【請求項８】
前記データ処理部は、分割データのサイズを前記データファイルごとあるいは分割データごとに変更することを特徴とする請求項４に記載のコンピュータ装置。
【請求項９】
複数の磁気ディスク装置にて構成されるディスクアレイと、
前記ディスクアレイに対してデータの読み書きを行うデータ処理部とを備え、
前記ディスクアレイは、個々のデータファイルを分割して分割後のデータを結合することで元の情報を得られるように処理された複数の分割データを、所定のデータファイルを格納した磁気ディスク装置の一部と他のデータファイルを格納した磁気ディスク装置の一部とが重複するように、格納したことを特徴とするコンピュータ装置。
【請求項１０】
前記ディスクアレイは、所定のデータファイルに関して、当該データファイルの一部を喪失しても元のデータファイルを復元可能とするための冗長性を持たせた前記分割データを、他のデータファイルを格納した記憶装置と重複する磁気ディスク装置の数が当該所定のデータファイルを復元できない数となるように、格納したことを特徴とする請求項９に記載のコンピュータ装置。
【請求項１１】
コンピュータにより、複数の記憶装置にて構成される記憶装置群に対して、ネットワークを介して所定のクライアントから受信したデータの書き込みを行うデータ処理方法であって、
前記クライアントから受信した書き込み要求に応じて、当該書き込み要求に含まれる書き込みデータを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理する第１のステップと、
各クライアントの前記書き込みデータを格納した複数の記憶装置の一部が相互に重複するように、前記分割データを前記記憶装置群に格納する第２のステップとを含むことを特徴とするデータ処理方法。
【請求項１２】
前記第１のステップでは、所定のクライアントの書き込みデータに関して、当該書き込みデータの一部を喪失しても元の書き込みデータを復元可能とするための冗長性を持たせて分割し、
前記第２のステップでは、前記所定のクライアントの書き込みデータに関して、他のクライアントの書き込みデータを格納した記憶装置と重複する記憶装置の数が当該所定のクライアントの書き込みデータを復元できない数となるように、データ書き込みを行うことを特徴とする請求項１１に記載のデータ処理方法。
【請求項１３】
コンピュータを制御して、複数の記憶装置にて構成される記憶装置群に対して、ネットワークを介して所定のクライアントから受信したデータの書き込みを行うプログラムであって、
前記クライアントから受信した書き込み要求に応じて、当該書き込み要求に含まれる書き込みデータを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理する第１の処理と、
各クライアントの前記書き込みデータを格納した複数の記憶装置の一部が相互に重複するように、前記分割データを前記記憶装置群に格納する第２の処理とを前記コンピュータに実行させることを特徴とするプログラム。
【請求項１４】
前記第１の処理では、所定のクライアントの書き込みデータに関して、当該書き込みデータの一部を喪失しても元の書き込みデータを復元可能とするための冗長性を持たせて分割し、
前記第２の処理では、前記所定のクライアントの書き込みデータに関して、他のクライアントの書き込みデータを格納した記憶装置と重複する記憶装置の数が当該所定のクライアントの書き込みデータを復元できない数となるように、データ書き込みを行う処理を、前記コンピュータに実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記第２の処理では、前記データファイルの分割数を前記データファイルごとに変更する処理を前記コンピュータに実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１６】
前記第２の処理では、前記データファイルを分割して得られる分割データを暗号化またはスクランブル処理してデータ書き込みを行う処理を前記コンピュータに実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１７】
前記第２の処理では、分割データのサイズを前記データファイルごとあるいは分割データごとに変更する処理を前記コンピュータに実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１８】
請求項１３から請求項１７のいずれかに記載のプログラムを、コンピュータが読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上に設けられたコンピュータ・リソースを複数の利用者が共有する技術に関し、特に記憶装置が共有される場合のデータの保護に関する。
【０００２】
【従来の技術】
今日、広く普及したインターネット等のネットワークを利用し、ネットワーク上に設けられたコンピュータ・リソース（サーバ、記憶装置、回線、アプリケーション等）を貸与するホスティングサービスや、コンピュータ・リソースを必要なときに必要な分だけ購入可能なユーティリティ・コンピューティングといったサービスが提供され始めている（例えば、特許文献１、非特許文献１参照）。これらのサービスは、利用者から見れば、コンピュータ・リソースを維持していくための経済的・人的に負担を削減することができ、例えば企業にとっても、アウトソーシング的な利用によって自社における負担や無駄を軽減できるため、意義が大きい。
【０００３】
このようなホスティング／ユーティリティ・コンピューティングサービスの一つとして、記憶装置のデータ記憶領域を利用者に提供するサービスがある。このサービスでは、当該記憶装置に記録される情報の信頼性（障害・故障対策）および安全性（他社への情報漏洩対策）に対する保障が重要である。障害等に対する対策としては、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）をはじめ、記録情報に冗長性をもたせて記録する技術が存在する。
【０００４】
一方、データの漏洩を防止する既存の仕組みとしては、記録データの暗号化やアクセス制御（認証）などがある。さらに、より安全性の高い方法として、利用者ごとに情報を書き込む記録媒体を物理的に分離する方法、例えば、記憶装置が磁気ディスク装置である場合は利用者ごとに異なる磁気ディスクに情報を記録する方法が採られる。
図１０は、複数の企業に対して物理的に別個の磁気ディスクを割り当てたホスティングサーバを示す図である。
図１０に示すように、ホスティングサーバは複数の磁気ディスク装置にて構成されるディスクプールを持つ。そして、企業Ａの情報Ａａは企業Ａ用の磁気ディスクに、企業Ｂの情報Ｂａは企業Ｂ用の磁気ディスクにというように、それぞれ別個の磁気ディスクに記録される。なお図において、例えば企業Ａの情報Ａａは、Ａａ１、Ａａ２、Ａａ３、Ａａ４という４つのデータに分割されると共に、パリティデータを付加されて５つの磁気ディスクに分けて記録されている。
【０００５】
【特許文献１】
特開平８−１４７２０５号公報
【非特許文献１】
“ＮＥＷＳ  ＲＥＬＥＡＳＥ”、［ｏｎｌｉｎｅ］、平成１２年１１月６日、日立株式会社、［平成１５年５月１２日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｈｉｔａｃｈｉ．ｃｏ．ｊｐ／Ｎｅｗ／ｃｎｅｗｓ／００１１／１１０６ａ．ｈｔｍｌ＞
【０００６】
【発明が解決しようとする課題】
上述のように、従来のホスティングサーバでは、記録データの安全性を保障する種々の手法が採られているが、複数利用者による記録媒体の共有を許してアクセス制御による保守のみを行っている場合、そのアクセス制御が破られてしまうと、当該記録媒体を共有する利用者の全ての情報にアクセスすることができてしまうことになる。
【０００７】
また、利用者ごとにデータを記録する記録媒体を物理的に分ける場合、個々の記録媒体を複数の利用者が共有できない。すなわち、所定の利用者に割り当てられた記録媒体は、たとえ大きな空き領域が残っていても、その利用者の情報を記録するためにしか使用できない。そのため、当該記録媒体の利用効率を低下させてしまう。
【０００８】
そこで本発明は、上記の問題に鑑み、記録媒体を複数の利用者に共有させつつ記録データの安全性を保証し、記録媒体の利用効率を向上させることを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成する本発明は、次のように構成されたサーバとして実現することができる。すなわち、ネットワークを介してコンピュータ・リソースである記憶装置の記憶領域をクライアントに提供するサーバにおいて、複数の記憶装置を備えて構成される記憶装置群と、クライアントからの書き込み要求に応じて、この書き込み要求に含まれる書き込みデータを分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、各クライアントの書き込みデータを格納した複数の記憶装置の一部が相互に重複するようにデータ書き込みを行うデータ処理部とを備えることを特徴とする。
【００１０】
また、本発明は、次のように構成されたコンピュータ装置としても実現される。すなわち、このコンピュータ装置は、複数の記憶装置を備えて構成される記憶装置群と、この記憶装置に対してデータの読み書きを行うデータ処理部とを備える。そしてこのデータ処理部は、記憶装置にデータの書き込み処理を行う場合に、個々のデータファイルを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、所定のデータファイルの分割データを格納した記憶装置の一部と他のデータファイルの分割データを格納した記憶装置の一部とが重複するようにデータ書き込みを行うことを特徴とする。
【００１１】
さらに、本発明は、複数の磁気ディスク装置にて構成されるディスクアレイと、このディスクアレイに対してデータの読み書きを行うデータ処理部とを備えたコンピュータ装置としても実現される。このコンピュータ装置において、ディスクアレイは、個々のデータファイルを分割して分割後のデータを結合することで元の情報を得られるように処理された複数の分割データを、所定のデータファイルを格納した磁気ディスク装置の一部と他のデータファイルを格納した磁気ディスク装置の一部とが重複するように、格納したことを特徴とする。
【００１２】
また、上記の目的を達成する他の本発明は、コンピュータにより、複数の記憶装置にて構成される記憶装置群に対して、ネットワークを介して所定のクライアントから受信したデータの書き込みを行う、次のようなデータ処理方法として実現される。このデータ処理方法は、クライアントから受信した書き込み要求に応じて、この書き込み要求に含まれる書き込みデータを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理する第１のステップと、各クライアントの書き込みデータを格納した複数の記憶装置の一部が相互に重複するように、分割データを記憶装置群に格納する第２のステップとを含むことを特徴とする。
【００１３】
さらにまた、上述した本発明によるサーバ、コンピュータ装置、およびデータ処理方法において、書き込みデータ（データファイル）を分割する場合、分割後のデータの一部を喪失しても元のデータファイルを復元可能とするための冗長性を持たせて分割することができる。この場合、他の書き込みデータ（データファイル）を格納した記憶装置（磁気ディスク装置）と重複する記憶装置の数が元のデータファイルを復元できない数となるように、データ書き込みを行う。
【００１４】
また、より好ましくは、書き込みデータ（データファイル）を分割する場合、その分割数や分割後のデータのサイズ（データ長、ブロック長）を書き込み要求を行ったクライアントやデータファイル、もしくは分割後のデータごとに変更する。さらに、分割後のデータを暗号化またはスクランブル処理してデータ書き込みを行う。このようにすることで、所定のデータファイルにアクセス可能な利用者がアクセスを許可されていない他のデータファイルの情報を取得することを一層確実に防止し、記憶装置に格納されているデータファイルの安全性をさらに高めることができる。
【００１５】
さらにまた、本発明は、コンピュータを制御して上述した各種の機能を実現するプログラムや、上記のデータ処理方法における各ステップに相当する処理をコンピュータに実行させるプログラムとして実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【００１６】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図１は、本実施の形態に用いられるホスティングサーバを実現するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図１に示すコンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続された磁気ディスク装置（ＨＤＤ）１０５、ネットワークインターフェイス１０６と、さらにこのＰＣＩバスからブリッジ回路１０７及びＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフロッピーディスクドライブ１０８及びキーボード／マウス１０９とを備える。
【００１７】
なお、図１は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、外部記憶装置として、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）やＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）などのインターフェイスを介してＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）やＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のドライブを設けても良い。
また、本実施の形態では、利用者の情報を格納する記憶装置として磁気ディスク装置１０５を用いるものとする。したがって、磁気ディスク装置１０５は、複数用意されてディスクアレイを構成する。
【００１８】
図２は、図１に示すようなコンピュータ装置にて実現される本実施の形態によるホスティングサーバの機能構成を示す図である。
図２を参照すると、本実施の形態のホスティングサーバは、複数のディスク（図１の磁気ディスク装置１０５に相当）にて構成されるディスクアレイ４０を備えると共に、クライアント（サービスの利用者）に対して要求や応答の送受信を行うＩ／Ｏ（インプット／アウトプット）制御部１０と、各種のデータやディスクに関する情報を管理するデータ／ディスク管理部２０と、ディスクに対するデータの読み書きを行うデータ処理部３０とを備える。
【００１９】
図２に示した構成要素のうち、Ｉ／Ｏ制御部１０及びデータ処理部３０は、例えば図１のプログラム制御されたＣＰＵ１０１にて実現されるソフトウェアブロックである。また、データ／ディスク管理部２０は、プログラム制御されたＣＰＵ１０１とメインメモリ１０３や磁気ディスク装置１０５、ＣＰＵ１０１に設けられたキャッシュメモリといった記憶手段とで実現される。ＣＰＵ１０１を制御してこれらの機能を実現するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００２０】
Ｉ／Ｏ制御部１０は、例えば図１のネットワークインターフェイス１０６を介して、クライアントからデータの書き込みまたは読み出しの要求を受け付け、データ／ディスク管理部２０及びデータ処理部３０に対して指示を行う。そして、データ処理部３０から書き込み処理の完了通知や読み出しデータを受け取り、先の要求に対する応答として、ネットワークインターフェイス１０６を介してクライアントに返送する。データの書き込み処理および読み出し処理における具体的な動作については後述する。
【００２１】
データ／ディスク管理部２０は、図２に示すように、キャッシュ・プロセッサ２１と、ディスクアレイ論理モデル管理部２２と、データ分割数／符号化ポリシー生成部２３とを備える。
キャッシュ・プロセッサ２１は、Ｉ／Ｏ制御部１０からの指示に応じてデータ処理部３０での処理に必要な情報を収集してデータ処理部に渡す。また、所定の処理において取得したこれらの情報を、ＣＰＵ１０１のキャッシュメモリやメインメモリ１０３にキャッシュする。キャッシュ・プロセッサ２１を設けることにより、同一のクライアントがデータの書き込み／読み出しを行う場合に、処理の高速化を図ることができる。
【００２２】
ディスクアレイ論理モデル管理部２２は、ディスクアレイ４０を構成する全てのディスクにおけるどの位置に、各クライアントのデータが記録されているかを管理するための論理モデル（ディスクアレイ論理モデル）を作成し管理する。作成されたディスクアレイ論理モデルは、メインメモリ１０３や磁気ディスク装置１０５の所定の領域に格納して保持される。
【００２３】
データ分割数／符号化ポリシー生成部２３は、データの書き込み時にデータをいくつに分割するかを示すデータ分割数と、当該データを符号化するための符号化方式（符号化の関数やパラメータを含む）を示す符号化ポリシーをクライアントごとに定義する。ここで、データ分割数とは、書き込みデータをディスクアレイ４０における複数台のディスクに分散して書き込むために分割する数である。例えば、書き込みデータを４つに分割し、パリティデータを付加して５つのディスクに分散して書き込むといった制御を行う。生成されたデータ分割数および符号化ポリシーは、メインメモリ１０３や磁気ディスク装置１０５の所定の領域に格納して保持される。
【００２４】
データ処理部３０は、図２に示すように、データ書き込みのための処理を行う書き込み処理部３１と、データ読み出しのための処理を行う読み出し処理部３２とを備える。
書き込み処理部３１は、データ／ディスク管理部２０からディスク位置、データ分割数および符号化ポリシーを取得し、これらの情報に基づいて、Ｉ／Ｏ制御部１０から受け取った書き込みデータを分割し、符号化してディスクアレイ４０の所望のディスクに書き込む。
読み出し処理部３２は、データ／ディスク管理部２０からディスク位置、データ分割数および符号化ポリシーを取得し、これらの情報に基づいて、ディスクアレイ４０から所望のデータを読み出し、読み出しデータを結合し、復号してＩ／Ｏ制御部１０に渡す。
【００２５】
ディスクアレイ４０は、上述したように複数台のディスクにて構成される。そして、上述のように、クライアントのデータが複数のディスクに分けて記録される。この際、分割して記録されるデータは、それらの全てまたは一部を収集することで元のデータに復元できるものとする。
図３、４は、データを複数ブロックに分けて複数ディスクに分散して書き込む方法として、ＲＡＩＤ５を用いた場合の例を説明する図である。
ＲＡＩＤ５では、図３に示すように、データをブロック単位に分割し複数のディスクに分散させて記録し、そのパリティデータを別のディスクに記録しておく。この場合、仮に１台のディスクが故障した場合、図４（Ａ）に示すように、残りのディスク上にあるブロック単位の分割データから元のデータを復元することが可能である。一方、２台以上のディスクにアクセスできない場合、図４（Ｂ）に示すように、元データを正しく復元することはできない。
【００２６】
ここで、本実施の形態によるディスクアレイ４０へのデータの書き込み方法について詳細に説明する。
上述したディスクアレイ４０にデータを書き込む際の分割及び符号化を一般化して、ｋビットの情報を符号長ｎ、訂正能力ｔで符号化し、ｎ台のディスクに分散してデータを書き込むとする。すなわち、ディスクアレイ４０に書き込まれたデータは、ｎ台のディスクのうちｔ台のディスクから分割データを読み出せない場合でも、残りｎ−ｔビットの分割データから元データを復元できるような冗長性を持つ。この場合、本実施の形態では、所定のクライアントのデータが書き込まれているｎ台のディスクのうち、他のクライアントにより共有される台数が、ｎ−（ｔ＋１）台になるように、書き込み先のディスク位置の制御が行われる。
【００２７】
このようにすれば、仮に、他のクライアントが共有されたディスクから当該他のクライアントのデータを取り出し、ｎ−（ｔ＋１）ビットのデータを取得できたとしても、訂正能力がｔビットであるため、正しく元のデータを再合成することはできない。もちろん、１台のディスクに記録する情報量は、１ビット以上で構わない。このような訂正能力をもつ符号化手法として、例えば巡回符号、ＢＣＨ符号、ＲＳ符号を応用することが可能である。
【００２８】
図３、４に示したようにＲＡＩＤ５を用いてデータを記録する場合には、上述したように、アクセスできないディスクが２台以上あれば、元データを正しく復元することができなくなる。そこで、各クライアントのデータを書き込む際に、データ書き込みの重ならないディスクを２台以上とする。
図５は、本実施の形態によるディスクアレイ４０へのデータの書き込み方法を説明する図である。
図５において、ディスクアレイ４０を構成するｍ台のディスク（４１ａ〜４１ｍ）のうち、ディスク４１ａ〜４１ｅは、クライアントＡの情報（Ａａ及びＡｂ）記録用に割り当てられている。また、２つ右へずれたディスク４１ｃ〜４１ｇは、クライアントＢの情報（Ｂａ）記録用に割り当てられている。同様に、ディスク４１ｅ〜４１ｉはクライアントＣの情報（Ｃａ）記録用に、ディスク４１ｍ−２〜４１ｍとディスク４１ａ、４１ｂとはクライアントＮの情報（Ｎａ）記録用に割り当てられている。
【００２９】
例えば、クライアントＡから送られた書き込みデータを書き込む場合、当該書き込みデータは、データ処理部３０の書き込み処理部３１により４つに分割され（Ａａ１〜Ａａ４、Ａｂ１〜Ａｂ４）、パリティデータ（Ａａｐ、Ａｂｐ）を付加されて、５つのディスク４１ａ〜４１ｅに書き込まれる。なお、分割された各データ及びパリティデータを割り当てられたディスクにおけるどのディスクに格納するかについては、任意に定めることができる。図５の例では、クライアントＡの情報Ａａに付加されたパリティデータＡａｐはディスク４１ｅに書き込まれているが、情報Ａｂに付加されたパリティデータＡｂｐはディスク４１ｄに書き込まれている。
【００３０】
以上のように各クライアントのデータの書き込みを行えば、仮に所定のクライアントがアクセス制御を破るなどして他のクライアントの書き込んだ分割データにアクセスできたとしても、当該他のクライアントの元データを正しく復元することはできない。
【００３１】
ところで、情報を分散して複数台のディスクに書き込む場合、例えば、上記の（ｎ，ｋ，ｔ）符号を用いてｎ個のディスクに１ビットずつの情報を記述していたとすると、（ｎ，ｋ，ｔ）符号化手法が既知である場合には、Ｏ（２ｔ＋１）の計算量で全検索することで元データを復元することができてしまう。このような不正な読み出しを回避する対策として、分散してデータを書き込む手法をクライアントごとに変更したり、ディスク利用効率を下げ、複数クライアント間で共有できるディスクの個数を減らしたりすることができる。データ書き込み手法の変更方法としては、クライアントごとにデータの分割数を変更する、分割データを暗号化・スクランブル処理する、クライアントごとあるいは各分割データのブロック長（データサイズ）を変更するといった方法や、他の種々の方法を採ることができる。
【００３２】
次に、本実施の形態のホスティングサーバにおけるデータ処理の動作について説明する。
図６は、本実施の形態のホスティングサーバによるデータ書き込み処理の動作を説明するフローチャート、図７は、データ書き込み時のデータの流れを示す図である。
ホスティングサーバに所定のクライアントからデータの書き込み要求が届くと、Ｉ／Ｏ制御部１０により、当該書き込み要求からクライアントを特定するクライアント情報と書き込みデータのファイル名とが抽出されてデータ／ディスク管理部２０に送られる。また、当該書き込み要求に含まれる書き込みデータがデータ処理部３０に送られる（ステップ６０１）。
【００３３】
データ／ディスク管理部２０では、クライアント情報およびファイル名を受け取ると、キャッシュ・プロセッサ２１において、これらの情報に基づいて特定される、当該クライアントのディスク位置、データ分割数および符号化ポリシーの各情報が取得される（ステップ６０２）。具体的には、まずキャッシュ・プロセッサ２１自身にこれらの情報がキャッシュされているか調べる。キャッシュされていなければ、ディスクアレイ論理モデル管理部２２およびデータ分割数／符号化ポリシー生成部２３に、これらの情報の問い合わせを行う（図７参照）。
【００３４】
ディスクアレイ論理モデルに当該クライアントのディスク位置の情報がある場合、ディスクアレイ論理モデル管理部２２は、その情報をキャッシュ・プロセッサ２１に渡す。一方、ディスクアレイ論理モデルに所望の情報がない場合は、ディスクアレイ論理モデル管理部２２は、新たにディスク位置を定義し、ディスクアレイ論理モデルに追加すると共に、キャッシュ・プロセッサ２１に渡す。
また、データ分割数／符号化ポリシー生成部２３に当該クライアントのデータ書き込み用のデータ分割数および符号化ポリシーが保持されている場合、データ分割数／符号化ポリシー生成部２３は、その情報をキャッシュ・プロセッサ２１に渡す。一方、所望のデータ分割数および符号化ポリシーが保持されていない場合は、データ分割数／符号化ポリシー生成部２３が新たにデータ分割数および符号化ポリシーを定義し保持すると共に、キャッシュ・プロセッサ２１に渡す。
【００３５】
キャッシュ・プロセッサ２１は、キャッシュデータ、またはディスクアレイ論理モデル管理部２２およびデータ分割数／符号化ポリシー生成部２３から、書き込み要求に対応する所望のディスク位置、データ分割数および符号化ポリシーの情報を取得すると、これらの情報をデータ処理部３０に送る（図７参照）。なお、これらの情報がディスクアレイ論理モデル管理部２２およびデータ分割数／符号化ポリシー生成部２３から取得された場合、キャッシュ・プロセッサ２１は、取得した情報を新たにキャッシュする。キャッシュ・プロセッサ２１のキャッシュ容量がいっぱいの時は、ヒットしていないキャッシュデータを最も古いものから順に削除して空き容量を確保し、取得情報をキャッシュする。
【００３６】
以上のようにして、ディスク位置、データ分割数および符号化ポリシーの情報が得られると、次に、データ処理部３０の書き込み処理部３１により、これらの情報を用いて書き込みデータの分割および符号化が行われ（ステップ６０３）、ディスクアレイ４０への書き込みが行われる（ステップ６０４）。そして、データの書き込みが終了した後、書き込み処理部３１から書き込み完了通知が発行され、Ｉ／Ｏ制御部１０を介して、当該書き込み要求を行ったクライアントに返送される（ステップ６０５）。
【００３７】
図８は、本実施の形態のホスティングサーバによるデータ読み出し処理の動作を説明するフローチャート、図９は、データ読み出し時のデータの流れを示す図である。
ホスティングサーバに所定のクライアントからデータの読み出し要求が届くと、Ｉ／Ｏ制御部１０により、当該読み出し要求からクライアントを特定するクライアント情報と読み出しデータのファイル名とが抽出されてデータ／ディスク管理部２０に送られる（ステップ８０１）。
【００３８】
データ／ディスク管理部２０では、クライアント情報およびファイル名を受け取ると、キャッシュ・プロセッサ２１において、これらの情報に基づいて特定される、当該クライアントのディスク位置、データ分割数および符号化ポリシーの各情報が取得される（ステップ８０２）。これらの情報を取得する具体的な動作は、データ書き込み処理において説明した動作と同様である（図９参照）。
【００３９】
以上のようにして、ディスク位置、データ分割数および符号化ポリシーの情報が得られると、次に、データ処理部３０の読み出し処理部３２により、これらの情報を用いてディスクアレイ４０からデータの読み出しが行われ（ステップ８０３）、読み出しデータの結合及び復号が行われる（ステップ８０４）。そして、復元された読み出しデータが読み出し処理部３２からＩ／Ｏ制御部１０へ送られ、当該読み出し要求を行ったクライアントに返送される（ステップ８０５）。
【００４０】
上述した本実施の形態のホスティングサーバは、ネットワーク上で所定のクライアントに対してコンピュータ・リソースを提供するが、そのサービス形態としては、従来のホスティングサーバによる種々のサービスに適用可能であることは言うまでもない。具体的には、例えばオンデマンド・ディスク提供サービスに適用することができる。
多くの企業にとって、自社内にコンピュータのハードウェア資源等のＩＴ資産を抱えて管理を行っていくことは、経済的・人的に大きな負担となる。そのため、かかる資産管理に関して、他社にアウトソーシングやホスティングを依頼することが行われる。そこで、そのような企業に対し、必要に応じてデータの格納場所としてディスクの記憶領域を提供するオンデマンド・ディスク提供サービスに、本実施の形態によるホスティングサーバを利用することができる。
【００４１】
この場合、ディスクを複数企業に提供する際、巨大なディスクのプール（ディスクアレイ４０）を持ち、各企業からの要求に応じて、企業毎にアクセス可能なディスク群を指定する。その企業の１つのデータファイルは指定されたディスク群に分散して書き込まれ、それらを再統合することで元のデータファイルを復元可能とする。１社に割り当てられたディスク群の一部は他企業と共有されるが、共有するディスクの個数は制限される。これにより、所定の企業が、自社に割り当てられたディスクにアクセスすることで、他企業の分散させて記述されたデータファイルの一部にアクセスすることができたとしても、当該データファイルの情報を完全に再合成することはできない。一方、ホスティングサーバにとっては、ディスクプール中の個々のディスクを複数企業に共有させるため、個々の企業に対して個別のディスクを割り当てる場合に比べて、より多くの企業に対してディスクの記憶領域を提供することができ、サービス稼働率を上げることが可能となる。
【００４２】
また、本実施の形態によるホスティングサーバの他の適用例としては、データ一時退避サービスが挙げられる。
企業内のデータの整理やシステム変更／管理・統廃合を行う場合、一時的にデータを退避またはバックアップする必要がある。この場合、データ損失に対する安全性の確保や社内のコンピュータシステムにおけるリソース（ディスクの記憶容量）の不足などの理由より、社内データを一時的に外部のデータセンターのような巨大なディスクプールに退避しておくことが考えられる。複数の企業がこのようなサービスを利用する場合、本実施の形態によるホスティングサーバを用いることにより、データセンター内で各企業の情報が他企業に漏洩することを防ぐことができる。
【００４３】
本実施の形態によるホスティングサーバでは、同一のディスクが複数の企業に対し物理的に共有されることになるが、ある企業のアクセスできるディスク上に書かれた他企業の分割データを読み出すことができたとしても、当該分割データから元データを復元することはできず、情報が漏洩してしまうことはない。そのため、一時的に預かる情報の安全性を保ちながら、複数企業間でディスクを共有することを許し、データセンターにおけるリソースの利用効率を向上させることが可能となる。
【００４４】
以上、本実施の形態では、ホスティングサーバの記憶装置が複数の磁気ディスク装置にて構成されたディスクアレイである場合を例として説明したが、磁気ディスク以外の種々の記録媒体を用いた記憶装置に関しても、複数のそのような記憶装置にて構成される記憶装置群を備えたサーバまたはコンピュータ装置において、本実施の形態を適用することが可能である。また、格納対象となるデータに関しても、クライアントからの書き込み要求に基づく書き込みデータのみならず、データファイルごとにアクセス可能な利用者を制御する必要のある複数のデータファイルを格納する場合に、本実施の形態を適用することができる。すなわち、各データファイルを複数の記憶装置に分散して格納すると共に、個々のデータファイルを格納した記憶装置の一部が重複するように格納することにより、確実なアクセス制御を実現し、格納されたデータファイルに対する高い安全性を保証することができる。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、記録媒体を複数の利用者に共有させつつ記録データの安全性を保証し、記録媒体の利用効率を向上させることが可能となる。
【図面の簡単な説明】
【図１】本実施の形態に用いられるホスティングサーバを実現するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図２】図１に示すようなコンピュータ装置にて実現される本実施の形態によるホスティングサーバの機能構成を示す図である。
【図３】ＲＡＩＤ５を用いてデータを複数ブロックに分けて複数ディスクに分散して書き込む方法を示す図である。
【図４】ＲＡＩＤ５を用いてデータを書き込んだ場合における元データの復元の可否を説明する図である。
【図５】本実施の形態によるディスクアレイへのデータの書き込み方法を説明する図である。
【図６】本実施の形態のホスティングサーバによるデータ書き込み処理の動作を説明するフローチャートである。
【図７】データ書き込み時のデータの流れを示す図である。
【図８】本実施の形態のホスティングサーバによるデータ読み出し処理の動作を説明するフローチャートである。
【図９】データ読み出し時のデータの流れを示す図である。
【図１０】複数の企業に対して物理的に別個の磁気ディスクを割り当てたホスティングサーバを示す図である。
【符号の説明】
１０…Ｉ／Ｏ（インプット／アウトプット）制御部、２０…データ／ディスク管理部、２１…キャッシュ・プロセッサ、２２…ディスクアレイ論理モデル管理部、２３…データ分割数／符号化ポリシー生成部、３０…データ処理部、３１…書き込み処理部、３２…読み出し処理部、４０…ディスクアレイ、１０１…ＣＰＵ、１０３…メインメモリ、１０５…磁気ディスク装置（ＨＤＤ）、１０６…ネットワークインターフェイス
【図１】
2005018197.tif 000003
【図２】
2005018197.tif 000004
【図３】
2005018197.tif 000005
【図４】
2005018197.tif 000006
【図５】
2005018197.tif 000007
【図６】
2005018197.tif 000008
【図７】
2005018197.tif 000009
【図８】
2005018197.tif 000010
【図９】
2005018197.tif 000011
【図１０】
2005018197.tif 000012