(57)【特許請求の範囲】
【請求項１】
複数の記憶装置に接続されたデータ制御装置であって、
前記記憶装置に書込むデータが一定量ごとに分割された分割データを、前記複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部と、
前記データの入力を受け付けるデータ入力部と、
前記データ入力部に入力された前記データを一定量ごとに分割した分割データを、前記順序に従って前記複数の記憶装置に分散して書込む書込部と、
前記記憶装置に書込まれたデータの読出要求の入力を受け付ける読出要求入力部と、
前記読出要求入力部に入力された前記読出要求に応じて、前記順序に従って前記複数の記憶装置に書込まれた分割データを読出す読出部と、
前記記憶装置に書込まれたデータの消去要求の入力を受け付けるデータ消去要求入力部と、
前記消去要求に応じて、前記順序情報記憶部に記憶されている前記順序情報を変更して記憶させる順序変更部と、
を備えることを特徴とするデータ制御装置。
【請求項２】
前記書込部は、前記記憶装置に書込む前記分割データを、暗号化して前記記憶装置に書込み、
前記読出部は、前記記憶装置に書込まれた前記分割データを読出して復号化する
ことを特徴とする請求項１に記載のデータ制御装置。
【請求項３】
前記一定量に応じたビット列であるマスクデータが記憶されるマスクデータ記憶部を備え、
前記書込部は、前記記憶装置に書込む前記分割データであるビット列と、前記マスクデータであるビット列との排他的論理和を演算することにより暗号化して前記記憶装置に書込み、
前記読出部は、前記記憶装置に書込まれた分割データを読出し、読出した分割データであるビット列と前記マスクデータであるビット列との排他的論理和を演算することにより復号化し、
前記消去要求に応じて、前記マスクデータ記憶部に記憶されている前記マスクデータを変更して記憶させるマスクデータ変更部と、
を備えることを特徴とする請求項２に記載のデータ制御装置。
【請求項４】
前記マスクデータ記憶部には、前記複数の記憶装置ごとに対応する前記マスクデータが記憶され、
前記書込部は、前記分割データを書込む記憶装置に対応する前記マスクデータに基づいて前記分割データを暗号化し、
前記読出部は、前記分割データを読出す記憶装置に対応する前記マスクデータに基づいて前記分割データを復号化する
ことを特徴とする請求項３に記載のデータ制御装置。
【請求項５】
複数の記憶装置に接続され、前記記憶装置に書込むデータが一定量ごとに分割された分割データを、前記複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部を備えたデータ制御装置のデータ制御方法であって、
前記データの入力を受け付けるステップと、
入力された前記データを一定量ごとに分割した分割データを、前記順序に従って前記複数の記憶装置に分散して書込むステップと、
前記記憶装置に書込まれたデータの読出要求の入力を受け付けるステップと、
入力された前記読出要求に応じて、前記順序に従って前記複数の記憶装置に書込まれた分割データを読出すステップと、
前記記憶装置に書込まれたデータの消去要求の入力を受け付けるステップと、
前記消去要求に応じて、前記順序情報記憶部に記憶されている前記順序情報を変更して記憶させるステップと、
を備えることを特徴とするデータ制御方法。
【請求項６】
複数の記憶装置に接続され、前記記憶装置に書込むデータが一定量ごとに分割された分割データを、前記複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部を備えたデータ制御装置のコンピュータに、
前記データの入力を受け付けるステップと、
入力された前記データを一定量ごとに分割した分割データを、前記順序に従って前記複数の記憶装置に分散して書込むステップと、
前記記憶装置に書込まれたデータの読出要求の入力を受け付けるステップと、
入力された前記読出要求に応じて、前記順序に従って前記複数の記憶装置に書込まれた分割データを読出すステップと、
前記記憶装置に書込まれたデータの消去要求の入力を受け付けるステップと、
前記消去要求に応じて、前記順序情報記憶部に記憶されている前記順序情報を変更して記憶させるステップと、
を実行させるためのデータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に記憶されているデータを消去する技術に関する。
【背景技術】
【０００２】
サーバ等のコンピュータリソースを物理マシンごとユーザに貸出すホスティングサービス等のコンピュータリソース提供サービスが存在する。このようなコンピュータリソース提供サービスにおいて、例えばユーザＡに貸出した物理マシンが返却された後に、その物理マシンを他のユーザであるユーザＢに貸出す場合には、ユーザＡが利用していた際に物理マシンに記憶されたデータを読出せないようにして貸出すことが望ましい。例えば、その物理マシンの記憶装置が備える記憶領域の全てにランダムなデータを上書きすることによりデータを消去することが考えられる。特許文献１、２には、コンピュータが備える記憶装置に記憶されているデータを消去することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９６１３５号公報
【特許文献２】特開２００９−１６９６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、物理マシンの記憶装置に記憶されたデータの全てを上書きして消去するためには、特にデータ容量が多い場合には相当の時間がかかり、迅速な物理マシンの貸出しが困難である。特許文献１の方法では、データの読み書きのために乱数処理が必要になるとともに、例えばハードディスク自体が盗難等された場合には、データの内容が読出される可能性がある。そこで、より効率良く、迅速にデータを消去することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、記憶装置に記憶されているデータを消去するデータ制御装置、データ制御方法、データ制御プログラムを提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、複数の記憶装置に接続されたデータ制御装置であって、記憶装置に書込むデータが一定量ごとに分割された分割データを、複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部と、データの入力を受け付けるデータ入力部と、データ入力部に入力されたデータを一定量ごとに分割した分割データを、順序に従って複数の記憶装置に分散して書込む書込部と、記憶装置に書込まれたデータの読出要求の入力を受け付ける読出要求入力部と、読出要求入力部に入力された読出要求に応じて、順序に従って複数の記憶装置に書込まれた分割データを読出す読出部と、記憶装置に書込まれたデータの消去要求の入力を受け付けるデータ消去要求入力部と、消去要求に応じて、順序情報記憶部に記憶されている順序情報を変更して記憶させる順序変更部と、を備えることを特徴とする。
【０００７】
また、本発明は、書込部は、記憶装置に書込む分割データを、暗号化して記憶装置に書込み、読出部は、記憶装置に書込まれた分割データを読出して復号化することを特徴とする。
【０００８】
また、本発明は、一定量の単位に応じたビット列であるマスクデータが記憶されるマスクデータ記憶部を備え、書込部は、記憶装置に書込む分割データであるビット列と、マスクデータであるビット列との排他的論理和を演算することにより暗号化して記憶装置に書込み、読出部は、記憶装置に書込まれた分割データを読出し、読出した分割データであるビット列とマスクデータであるビット列との排他的論理和を演算することにより復号化し、消去要求に応じて、マスクデータ記憶部に記憶されているマスクデータを変更して記憶させるマスクデータ変更部と、を備えることを特徴とする。
【０００９】
また、本発明は、マスクデータ記憶部には、複数の記憶装置ごとに対応するマスクデータが記憶され、書込部は、分割データを書込む記憶装置に対応するマスクデータに基づいて分割データを暗号化し、読出部は、分割データを読出す記憶装置に対応するマスクデータに基づいて分割データを復号化することを特徴とする。
【００１０】
また、本発明は、複数の記憶装置に接続され、記憶装置に書込むデータが一定量ごとに分割された分割データを、複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部を備えたデータ制御装置のデータ制御方法であって、データの入力を受け付けるステップと、入力されたデータを一定量ごとに分割した分割データを、順序に従って複数の記憶装置に分散して書込むステップと、記憶装置に書込まれたデータの読出要求の入力を受け付けるステップと、入力された読出要求に応じて、順序に従って複数の記憶装置に書込まれた分割データを読出すステップと、記憶装置に書込まれたデータの消去要求の入力を受け付けるステップと、消去要求に応じて、順序情報記憶部に記憶されている順序情報を変更して記憶させるステップと、を備えることを特徴とする。
【００１１】
また、本発明は、複数の記憶装置に接続され、記憶装置に書込むデータが一定量ごとに分割された分割データを、複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部を備えたデータ制御装置のコンピュータに、データの入力を受け付けるステップと、入力されたデータを一定量ごとに分割した分割データを、順序に従って複数の記憶装置に分散して書込むステップと、記憶装置に書込まれたデータの読出要求の入力を受け付けるステップと、入力された読出要求に応じて、順序に従って複数の記憶装置に書込まれた分割データを読出すステップと、記憶装置に書込まれたデータの消去要求の入力を受け付けるステップと、消去要求に応じて、順序情報記憶部に記憶されている順序情報を変更して記憶させるステップと、を実行させるためのデータ制御プログラムである。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、複数の記憶装置に接続されたデータ制御装置であって、記憶装置に書込むデータが一定量ごとに分割された分割データを、複数の記憶装置に分散して書込む順序を示す順序情報が記憶される順序情報記憶部と、データの入力を受け付けるデータ入力部と、データ入力部に入力されたデータを一定量ごとに分割した分割データを、順序に従って複数の記憶装置に分散して書込む書込部と、記憶装置に書込まれたデータの読出要求の入力を受け付ける読出要求入力部と、読出要求入力部に入力された読出要求に応じて、順序に従って複数の記憶装置に書込まれた分割データを読出す読出部と、記憶装置に書込まれたデータの消去要求の入力を受け付けるデータ消去要求入力部と、消去要求に応じて、順序情報記憶部に記憶されている順序情報を変更して記憶させる順序変更部と、を備えるようにしたので、記憶装置に記憶されているデータを消去することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるコンピュータリソース提供システムの構成例を示すブロック図である。
【図２】本発明の一実施形態による利用状況情報のデータ例を示す図である。
【図３】本発明の一実施形態によるディスク対応表のデータ例を示す図である。
【図４】本発明の一実施形態によるマスク表のデータ例を示す図である。
【図５】本発明の一実施形態による書込処理の動作例を示すフローチャートである。
【図６】本発明の一実施形態による読出処理の動作例を示すフローチャートである。
【図７】本発明の一実施形態によるデータ消去処理の動作例を示すフローチャートである。
【図８】本発明の一実施形態によるディスク使用順序変更処理の動作例を示すフローチャートである。
【図９】本発明の一実施形態によるマスクデータ変更処理の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態によるコンピュータリソース提供システム１の構成を示す図である。コンピュータリソース提供システム１は、ユーザ端末１００と、コンピュータリソース提供装置２００と、複数の物理マシン３００（物理マシン３００−１、物理マシン３００−２、物理マシン３００−３、・・・）とを備えている。ここで、複数の物理マシン３００は同様の構成であるため、特に区別しない場合には「−１」、「−２」等を省略して物理マシン３００として説明する。
【００１５】
ユーザ端末１００は、コンピュータリソース提供装置２００と、複数の物理マシン３００とにネットワークを介して接続されたコンピュータ端末であり、コンピュータリソース提供システム１によって提供されるコンピュータリソースを利用する。ユーザ端末１００は、キーボードやマウス等である入力部、ディスプレイである表示部、出力部、制御部、記憶部等を備えている。ユーザ端末１００は、ユーザからの操作入力に応じて、コンピュータリソース提供装置２００にコンピュータリソースの提供要求を送信する。ユーザ端末１００は、送信した提供要求に応じてコンピュータリソース提供装置２００から送信されるコンピュータリソースの識別情報（例えば、ＩＰ（Internet Protocol）アドレス）に基づいて、自身に提供されたコンピュータリソースである物理マシン３００にネットワークを介して接続し、利用することができる。ここでは、１台のユーザ端末１００を示して説明するが、コンピュータリソース提供システム１には複数のユーザの複数のユーザ端末１００が接続されていて良い。
【００１６】
コンピュータリソース提供装置２００は、ネットワークを介して接続された複数の物理マシン３００のコンピュータリソースをユーザ端末１００に利用させるコンピュータ装置である。コンピュータリソース提供装置２００は、利用状況記憶部２０１と、物理マシン貸出部２０２とを備えている。
利用状況記憶部２０１には、複数の物理マシン３００の利用状況を示す利用状況情報が記憶されている。図２は、利用状況記憶部２０１に記憶されている利用状況情報のデータ例を示す図である。利用状況情報には、物理マシン３００を識別する物理マシンＩＤ毎に、貸出先、ＣＰＵ、メモリ容量、ディスク容量等が対応付けられた情報が含まれる。貸出先は、対応する物理マシン３００が貸出されているユーザを識別する情報であり、物理マシンがユーザに貸出されている場合にはそのユーザを識別する識別情報であるユーザＩＤが対応付けられ、貸出されていない場合には「空き」であることを示す情報が対応付けられる。ＣＰＵ、メモリ容量、ディスク容量は、物理マシンの性能を示す情報であり、例えばＣＰＵには動作周波数とコア数が対応付けられ、メモリ容量、ディスク容量にはメモリまたはディスクのデータ容量が対応付けられる。
【００１７】
物理マシン貸出部２０２は、ユーザ端末１００から物理マシンの提供要求を受信すると、空きの状態である物理マシン３００をユーザ端末１００に貸出す。ここで、貸出すとは、提供要求の送信元であるユーザ端末１００に利用させる物理マシン３００の識別情報（例えば、ＩＰアドレス）を送信し、その物理マシン３００において、そのユーザ端末１００からの接続を許可し、管理者権限による操作を許可するように設定することをいう。例えば、物理マシン貸出部２０２は、ユーザ端末１００からの物理マシンの提供要求を受信すると、利用状況記憶部２０１に記憶されている利用状況情報に基づいて、複数の物理マシン３００のうち、空きの状態である物理マシン３００が存在するか否かを判定し、空きである物理マシン３００が存在すると判定すると、その物理マシン３００をユーザ端末１００に利用させる。
【００１８】
物理マシン３００は、ユーザに貸出されるコンピュータリソースであり、コンピュータ装置４００と、複数の記憶装置５００（記憶装置５００−１、記憶装置５００−２、記憶装置５００−３）と、データ制御装置６００とを備えている。ここで、複数の記憶装置５００は同様の構成であるため、特に区別しない場合には「−１」、「−２」等を省略して記憶装置５００として説明する。ここでは、３台の記憶装置５００が接続されている例を説明するが、任意の台数の記憶装置５００がデータ制御装置６００に接続されていてもよい。
【００１９】
コンピュータ装置４００は、ユーザに貸出されるコンピュータリソースであり、ＣＰＵ（Central Processing Unit）、メモリ等を備えている。コンピュータ装置４００は、記憶装置５００にデータを書込む際には、書込むデータをデータ制御装置６００に入力するように接続される。
記憶装置５００は、データを記憶する装置であり、例えば磁気状態の変化によりビットごとのデータを記憶するＨＤＤ（Hard disk drive）であり、物理ディスクである。本実施形態では、記憶装置５００−１の物理ディスク番号を「１」とし、記憶装置５００−２の物理ディスク番号を「２」とし、記憶装置５００−３の物理ディスク番号を「３」とする。ここで、コンピュータ装置４００が記憶装置５００に書込むデータは、データ制御装置６００が備えるＲＡＩＤ（Redundant Arrays of Inexpensive Disks、Redundant Arrays of Independent Disks）機能によって一定量ごとに分割され、複数の記憶装置５００に分散して記憶される。
【００２０】
データ制御装置６００は、複数の記憶装置５００に接続されたコンピュータ装置であり、ディスク対応表記憶部６０１と、マスク表記憶部６０２と、データ入力部６０３と、読出要求入力部６０４と、データアクセス部６０５と、データ消去要求入力部６０９と、ディスク対応表生成部６１０と、乱数発生部６１１と、マスク表生成部６１２とを備えている。
【００２１】
ディスク対応表記憶部６０１は、記憶装置５００に書込むデータが一定量ごとに分割された分割データを、複数の記憶装置５００に分散して書込む順序を示す順序情報であるディスク対応表が記憶される順序情報記憶部である。図３は、ディスク対応表のデータ例を示す図である。この例では、論理ディスク番号「１」には物理ディスク番号「３」が対応付けられており、論理ディスク番号「２」には物理ディスク番号「１」が対応付けられており、論理ディスク番号「３」には物理ディスク番号「２」が対応付けられている。論理ディスク番号は、記憶装置５００の接続状態に応じて予め定められる、ＲＡＩＤ機能によるデータの書込先を識別する情報である。
【００２２】
マスク表記憶部６０２は、分割データの一定量の単位に応じたビット列であるマスクデータが記憶されるマスクデータ記憶部である。ここでは、複数の記憶装置５００ごとに対応するマスクデータが記憶される。図４は、マスク表のデータ例を示す図である。図に示すように、物理ディスク番号ごとに、一定量のランダムなビット列であるマスクデータが記憶される。
データ入力部６０３は、コンピュータ装置４００から、記憶装置５００に書込むデータの入力を受け付ける。
読出要求入力部６０４は、記憶装置５００に書込まれたデータの読出要求の入力を受け付ける。
【００２３】
データアクセス部６０５は、書込部６０６と、排他的論理和演算部６０７と、読出部６０８とを備えており、コンピュータ装置４００からの要求に応じて記憶装置５００にアクセスする。ここで、データアクセス部６０５は、ＲＡＩＤ機能を備えており、データ入力部６０３に入力されたデータを分散して複数の記憶装置５００に書込み、複数の記憶装置５００に分散して書込まれたデータを読出す。ここで、データアクセス部６０５は、複数の記憶装置５００に同一のデータを書き込むＲＡＩＤ１（ミラーリング）の機能ではなく、複数の記憶装置５００に書き込むデータを一定量ごとに分割し、予め定められた順序に従って複数の記憶装置５００に分散して書込むＲＡＩＤ０（ストライピング）やＲＡＩＤ５（パリティ分散記録）等の機能を備えるものとする。例えば、本実施形態では、記憶装置５００に書込むデータを一定量に分割した分割データを書込む論理ディスク番号の順序を判定し、判定した順序に対応する記憶装置に分散して書込む。一定量とは、ＲＡＩＤ機能により予め定められたブロックサイズであり、例えば４０９６バイトである。
【００２４】
書込部６０６は、データ入力部６０３に入力されたデータを一定量ごとに分割した分割データを、ディスク対応表に従って複数の記憶装置５００に分散して書込む。例えば、書込部６０６は、データ入力部６０３にデータの書込要求が入力されると、ＲＡＩＤ機能によりそのデータを一定量ごとに分割し、分割した分割データを、論理ディスク番号が示す順序に従って複数の記憶装置５００に分散して書込む。この際、書込部６０６は、ディスク対応表記憶部６０１に記憶されているディスク対応表を読出し、分割データを書込む論理ディスク番号に対応する物理ディスク番号を判定し、判定した物理ディスク番号が示す記憶装置５００に分割データを書込む。このように、書込部６０６は、予め定められる論理ディスク番号を、ディスク対応表に基づいて物理ディスク番号に変換し、変換後の物理ディスク番号に基づいて分割データを分散して書込む。このため、例えば記憶装置５００が盗難された場合でも、ディスク対応表がわからなければ、分散データを読出すことができない。
【００２５】
ここで、書込部６０６は、データ入力部６０３に入力されたデータを、暗号化して記憶装置５００に書込む。例えば、書込部６０６は、データ入力部６０３に入力されたデータを一定量ごとに分割すると、マスク表記憶部６０２に記憶されているマスク表を読出し、入力された分割データであるビット列と、その分割データを書込む物理ディスクに対応するマスクデータであるビット列とについて、排他的論理和演算部６０７によるＸＯＲ処理（排他的論理和の演算処理）を行った結果を記憶装置５００に書込む。これにより、記憶装置５００に記憶されるデータは暗号化されるため、例えば記憶装置５００が盗難された場合でも、マスクデータがわからなければ、分散データを読出すことができない。このようなＸＯＲ処理は簡単な処理であるため、データを書込む度にこの処理を行っても、大きな負荷となることはない。
排他的論理和演算部６０７は、分割データであるビット列と、マスクデータであるビット列とについて、ビットごとにＸＯＲ処理を行う。
【００２６】
読出部６０８は、読出要求入力部６０４に入力された読出要求に応じて、ディスク対応表が示す順序に従って複数の記憶装置５００に書込まれた分割データを読出す。例えば、読出部６０８は、読出要求入力部６０４に読出要求が入力されると、ＲＡＩＤ機能により、読出要求に対応するデータが書込まれている論理ディスク番号を判定する。また、読出部６０８は、ディスク対応表記憶部６０１に記憶されているディスク対応表を読出し、判定した論理ディスク番号に対応する物理ディスク番号を判定し、判定した物理ディスク番号が示す記憶装置５００から分割データを読出す。このように、読出部６０８は、コンピュータ装置４００からの読出要求に応じた論理ディスク番号を物理ディスク番号に変換して、変換後の物理ディスク番号に応じて分割データを分散して読出す。これにより、読出要求に応じたデータを構成し、コンピュータ装置４００に返却する。
【００２７】
ここで、読出部６０８は、記憶装置５００に書込まれた分割データを読出して復号化する。例えば、読出部６０８は、読出要求に応じた物理ディスク番号が示す記憶装置５００から分割データを読出すと、マスク表記憶部６０２に記憶されているマスク表を読出し、読出した分割データであるビット列と、その分割データを読出した物理ディスクに対応するマスクデータであるビット列とについて、排他的論理和演算部６０７によるＸＯＲ処理を行うことにより復号化して読出す。このようなＸＯＲ処理は簡単な処理であるため、データを読出す度にこの処理を行っても、大きな負荷となることはない。
【００２８】
データ消去要求入力部６０９は、記憶装置５００に書込まれたデータの消去要求の入力を受け付ける。データ消去要求は、例えばコンピュータリソース提供装置２００から送信されて入力されるようにしてもよい。例えば、ユーザに貸出した物理マシン３００が返却された際に、コンピュータリソース提供装置２００から消去要求をデータ制御装置６００に送信してもよいし、新たなユーザに物理マシン３００が貸出される際に、コンピュータリソース提供装置２００から消去要求をデータ制御装置６００に送信してもよい。あるいは、例えばデータ制御装置６００に物理ボタンを設け、そのボタンが押下されることにより消去要求が入力されるように構成することもできる。
【００２９】
ディスク対応表生成部６１０は、データ消去要求入力部６０９に消去要求が入力されると、入力された消去要求に応じて、乱数発生部６１１に乱数を発生させ、発生させた乱数に基づいてディスク対応表を生成し、生成したディスク対応表をディスク対応表記憶部６０１に記憶させる順序変更部である。これにより、ディスク対応表記憶部６０１に記憶されているディスク対応表を変更して記憶させる。このように、ディスク対応表が変更されることで、変更前の論理ディスク番号と物理ディスク番号との対応関係がわからなくなるため、ＲＡＩＤ機能により分散して書込まれた分散データを読出すことができなくなる。すなわち、記憶装置５００に記憶されたデータの全てのビットについて新たなランダムなデータを上書きすること等によりデータを消去しなくても、ディスク対応表を変更するだけで、記憶装置５００に記憶されているデータを読出すことができなくなる。これにより、効率良く、迅速にデータ消去を行うことができる。
乱数発生部６１１は、乱数を発生させる。
【００３０】
マスク表生成部６１２は、データ消去要求入力部６０９に消去要求が入力されると、入力された消去要求に応じて、乱数発生部６１１に乱数を発生させ、発生させた乱数に基づいてマスク表を生成し、生成したマスク表をマスク表記憶部６０２に記憶させるマスクデータ変更部である。これにより、マスク表記憶部６０２に記憶されているマスク表を変更して記憶させる。このように、マスク表が変更されることで、ＸＯＲ処理により暗号化されて記憶装置５００に書込まれたビット列を復号することができなくなるため、記憶装置５００に記憶されたデータを読出すことができなくなる。すなわち、記憶装置５００に記憶されたデータの全てのビットについて新たなランダムなデータを上書きすること等によりデータを消去しなくても、マスク表を変更するだけで、記憶装置５００に記憶されているデータを読出すことができなくなる。これにより、効率良く、迅速にデータ消去を行うことができる。
【００３１】
次に、図面を参照して、本実施形態によるデータ制御装置６００の動作例を説明する。図５は、本実施形態のデータ制御装置６００による書込処理の動作例を示すフローチャートである。
データ入力部６０３が、コンピュータ装置４００からのデータの入力を受け付けると、書込部６０６は、データを一定量に分割し、分割データを書込む論理ディスク番号を判定する。そして、書込部６０６は、判定した論理ディスク番号に対応する物理ディスク番号をディスク対応表記憶部６０１から読出し（ステップＳ１）、物理ディスク番号が示す記憶装置５００を、書込先の記憶装置５００とする（ステップＳ２）。また、書込部６０６は、書込先の物理ディスク番号に対応するマスクデータを、マスク表記憶部６０２から読出す（ステップＳ３）。書込部６０６は、分割データとマスクデータとのＸＯＲ処理を行う（ステップＳ４）。書込部６０６は、ＸＯＲ処理の演算結果を、物理ディスク番号が示す記憶装置５００に書込む。ここで、書込部６０６は、分割データの全てについてステップＳ１からステップＳ５までの処理を行い、分割データを複数の記憶装置５００に分散して書込む。
【００３２】
図６は、本実施形態のデータ制御装置６００による読出処理の動作例を示すフローチャートである。
読出部６０８は、読出要求入力部６０４にデータの読出要求が入力されると、読出要求に応じた分割データを記憶装置５００から読出す。そして、読出した分割データが書込まれていた記憶装置５００を示す物理ディスク番号に対応するマスクデータを、マスク表記憶部６０２から読出す（ステップＳ１０）。そして、読出部６０８は、記憶装置５００から読出した分割データと、ステップＳ１０において読出したマスクデータとのＸＯＲ処理を行う（ステップＳ１１）。また、読出部６０８は、ディスク対応表記憶部６０１に記憶されているディスク対応表から、分割データを読出した読出元の物理ディスク番号に対応する論理ディスク番号を読出す（ステップＳ１２）。読出部６０８は、読出元の物理ディスク番号を、対応する論理ディスク番号に変換して（ステップＳ１３）、変換後の論理ディスク番号から、ＲＡＩＤ機能によりデータを構成する（ステップＳ１４）。
【００３３】
図７は、本実施形態のデータ制御装置６００によるデータ消去処理の動作例を示すフローチャートである。データ消去要求入力部６０９に消去要求が入力されると、ディスク対応表生成部６１０が、ディスク対応表記憶部６０１に記憶されているディスク対応表を変更することによりディスクの使用順序を変更し（ステップＳ２０）、マスク表生成部６１２がマスク表記憶部６０２に記憶されているマスク表を変更する（ステップＳ２１）。これにより、変更前のディスク対応表とマスク表が削除されるため、記憶装置５００に書込まれているデータを読出せなくなる。次に、ステップＳ２０におけるディスク使用順序の変更処理と、ステップＳ２１におけるマスクデータの変更処理とを詳細に説明する。
【００３４】
図８は、本実施形態のデータ制御装置６００によるディスク使用順序変更処理の動作例を示すフローチャートである。ディスク対応表生成部６１０は、ディスク対応表記憶部６０１に記憶されているディスク対応表を読出す（ステップＳ３０）。そして、ディスク対応表生成部６１０は、乱数発生部６１１に乱数を発生させ、乱数を取得する（ステップＳ３１）。ディスク対応表生成部６１０は、乱数を利用して、新規のディスク対応表を生成する（ステップＳ３２）。ディスク対応表生成部６１０は、ステップＳ３０において読出した前回のディスク対応表と、ステップＳ３２において生成した新規のディスク対応表とが異なるか否かを判定する（ステップＳ３３）。ディスク対応表生成部６１０は、前回のディスク対応表と、新規のディスク対応表とが異ならない（同一である）と判定すると（ステップＳ３３：ＮＯ）、ステップＳ３１に戻る。一方、前回のディスク対応表と、新規のディスク対応表とが異なると判定すると（ステップＳ３３：ＹＥＳ）、その新規のディスク対応表をディスク対応表記憶部６０１に記憶させてディスク対応表を更新する（ステップＳ３４）。
【００３５】
図９は、本実施形態のデータ制御装置６００によるマスクデータ変更処理の動作例を示すフローチャートである。マスク表生成部６１２は、マスク表記憶部６０２に記憶されているマスクデータを読出す（ステップＳ４０）。そして、マスク表生成部６１２は、乱数発生部６１１に乱数を発生させ、乱数を取得する（ステップＳ４１）。乱数発生部６１１は、乱数を利用して、新規のマスクデータを生成する（ステップＳ４２）。乱数発生部６１１は、ステップＳ４０において読出した前回のマスクデータと、ステップＳ４２において生成した新規のマスクデータとが異なるか否かを判定する（ステップＳ４３）。乱数発生部６１１は、前回のマスクデータと、新規のマスクデータとが異ならない（同一である）と判定すると（ステップＳ４３：ＮＯ）、ステップＳ４１に戻る。一方、前回のマスクデータと、新規のマスクデータとが異なると判定すると（ステップＳ４３：ＹＥＳ）、その新規のマスクデータをマスク表記憶部６０２に記憶させてマスク表を更新する（ステップＳ４４）。マスク表生成部６１２は、マスク表記憶部６０２に記憶されているマスク表に含まれる全てのマスクデータについて、ステップＳ４０からステップＳ４４までの処理を行い、マスク表を更新する。
【００３６】
以上説明したように、本実施形態によれば、記憶装置５００が備えている記憶領域の全てについてデータの上書処理を行わなくとも、ディスク対応表とマスク表とのいずれかまたは双方を更新することにより、記憶装置５００に記憶されているデータを読出すことができなくなる。これにより、記憶装置５００に記憶されているデータを、効率良く、迅速に消去することができる。すなわち、例えば、コンピュータリソース提供システムにおいて、異なるユーザにコンピュータリソースを提供する場合、記憶装置５００に記憶されているデータを高速に消去することができるため、コンピュータリソースの提供にかかる時間を短縮させることができる。このため、コンピュータリソースの利用率を向上させ、コンピュータを有効に活用することができる。また、ディスク対応表やマスク表はデータ制御装置６００に記憶されているため、ユーザのデータが書込まれた記憶装置５００が盗難された場合でも、記憶装置５００に記憶されているデータを読出すことはできないため、データ流出を防ぐことができる。
【００３７】
なお、本実施形態では、ユーザ端末１００が、ネットワークを介してコンピュータリソース提供装置２００にコンピュータリソースの提供要求を送信し、ネットワークを介してリアルタイムにコンピュータリソースが提供されるクラウド形式のコンピュータリソース提供サービスを例に説明したが、物理マシンをそのままユーザに貸出すコンピュータリソース提供サービスであれば、従来型のホスティングサービスに本実施形態を適用することにより、データを消去することができる。
【００３８】
また、本実施形態では、データ制御装置６００を、コンピュータ装置４００とは異なるコンピュータ装置として説明したが、例えばコンピュータ装置４００におけるソフトウェア機能として、データ制御装置６００が備える各部の機能をコンピュータ装置４００が備えるように構成することもできる。
また、本実施形態では、複数の記憶装置５００ごとに異なるマスクデータを用いることとしたが、全ての記憶装置５００について同一のマスクデータを用いることもできる。
また、本実施形態では、書込部６０６による暗号化処理として、マスクデータを用いたＸＯＲ処理を行う例を示したが、例えばＲＯＴ１３のような暗号化処理を行うこともできる。
【００３９】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりデータの消去を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４１】
１  コンピュータリソース提供システム
１００  ユーザ端末
２００  コンピュータリソース提供装置
２０１  利用状況記憶部
２０２  物理マシン貸出部
３００  物理マシン
４００  コンピュータ装置
５００  記憶装置
６００  データ制御装置
６０１  ディスク対応表記憶部
６０２  マスク表記憶部
６０３  データ入力部
６０４  読出要求入力部
６０５  データアクセス部
６０６  書込部
６０７  排他的論理和演算部
６０８  読出部
６０９  データ消去要求入力部
６１０  ディスク対応表生成部
６１１  乱数発生部
６１２  マスク表生成部
【図１】
0005759925.tif 000002
【図２】
0005759925.tif 000003
【図３】
0005759925.tif 000004
【図４】
0005759925.tif 000005
【図５】
0005759925.tif 000006
【図６】
0005759925.tif 000007
【図７】
0005759925.tif 000008
【図８】
0005759925.tif 000009
【図９】
0005759925.tif 000010