仮想テープ・システムとは、特別の記憶装置又は記憶装置グループ及びソフトウェアのようなテープ管理システムであって、データの一部が実際には比較的高速のハード・ディスク記憶装置内に置かれているような場合であっても、見かけ上、かかるデータがテープ・カートリッジ上に完全に格納されるように、データを管理するためのものである。仮想テープ・システム用のプログラミングは、仮想テープ・サーバ(VTS)と呼ばれることもある。仮想テープ・システムを階層記憶マネージャ(HSM)システムと共に使用すると、データが種々の使用しきい値を通り抜けてこれに落ちる場合に、当該データを比較的低速で且つ安価な記憶媒体に移動させることができる。また、仮想テープ・システムは、記憶エリア・ネットワーク(SAN)の一部として使用することもでき、この場合には、多数のネットワーク化コンピュータ用の単一の仮想テープ・サーバによって、それほど頻繁に使用又はアーカイブされないデータを管理することができる。
「IBM Magstar Virtual Tape Server」のような従来の仮想テープ・システムでは、少なくとも1つの仮想テープ・サーバ(VTS)が、多数のテープ・ドライブ及びテープ・カートリッジから成る、テープ・ライブラリに結合される。また、このVTSは、多数の相互接続化ハード・ディスク・ドライブから成る、直接アクセス記憶装置(DASD)に結合される。
DASDは、VTSのテープ・ボリューム・キャッシュ(TVC)として機能する。VTSを使用する場合、ホスト・アプリケーションは、テープ・データを仮想ドライブに書き込む。ホスト・システムによって書き込まれたボリュームは、テープ・ボリューム・キャッシュ(例えば、RAIDディスク・バッファ)内に物理的に格納され、仮想ボリュームと呼ばれる。VTS内の記憶管理ソフトウェアは、TVC内の仮想ボリュームを、VTSによって所有される物理カートリッジにコピーする。一旦仮想ボリュームがTVCからテープにコピー又は移送されると、当該仮想ボリュームは論理ボリュームと呼ばれる。仮想ボリュームがTVCから Magstar カートリッジ(テープ)にコピーされる場合、それらのボリュームは、カートリッジ上に端と端を合わせてコピーされるから、ホスト・アプリケーションによって書き込まれた空間だけを占有する。この構成は、カートリッジの記憶容量を最大限に利用する。
記憶管理ソフトウェアは、物理カートリッジ上の論理ボリュームの位置を管理するが、顧客は、データの位置に関する制御権を有していない。論理ボリュームが物理カートリッジからTVCにコピーされる場合、このプロセスは再呼び出し(recall)と呼ばれ、当該ボリュームは再び仮想ボリュームになる。ホストは、物理ボリューム及び仮想ボリュームを区別することができないし、物理ドライブ及び仮想ドライブも区別することができない。従って、ホストは、仮想ボリューム及び仮想ドライブを実際のカートリッジ及びドライブとして扱い、VTS内のテープ・データとのホストの全ての相互作用は、仮想ボリューム及び仮想テープ・ドライブを通して行われる。
VTSの1つの問題は、テープ内のデータの管理にある。VTSは、多数のデータの複製や、データの無効コピー、潜在的コピー又は不用コピーを有することがある。仮想テープ・ボリュームが作成又は修正され(1つ以上のレコードが当該ボリュームに書き込まれる)、そして閉じられた後、当該仮想テープ・ボリュームは、物理テープ(論理)ボリューム上にコピーされる。当該仮想ボリュームが閉じられた場合、物理ボリュームにコピーされる当該仮想ボリュームのイメージは、当該仮想ボリュームが閉じられた時点における当該仮想ボリュームの完全なバージョンである。もし、当該仮想ボリュームが閉じられている場合に、一の仮想ボリュームがその後に開かれ且つ修正されるならば、当該仮想ボリュームのそのイメージも物理テープ上にコピーされる。しかし、当該仮想ボリュームは、そのボリュームの以前のバージョンに上書きしない。というのは、当該仮想ボリュームは、以前のバージョンとは異なるサイズを有することがあるからである。従って、任意の時点では、同じボリューム通し番号の幾つかのバージョンが、1つ以上の物理テープ・ボリューム上に存在することがある。
さらに、VTS内の各物理ボリュームは、1つ以上の論理ボリュームを含み、「プール」と呼ばれるグループに配列される。VTSによって管理される各物理ボリュームは、例えば、32個のプールのうちの1つに割り当てられる。物理ボリュームの各プールは、それぞれ名前を割り当てられ、1つ以上の関連するパラメータを有することがある。例えば、一のプールに関連する代表的なパラメータは、媒体タイプ(例えば、10ギガバイト又は20ギガバイトのテープを有する物理ボリューム)及びプール内のボリュームを管理するための規則を含むが、これに限られない。1つの規則は、「再利用」(reclamation)の概念を含み、それによって、VTSは、特定の物理ボリュームにおいて関連するデータのどの程度のパーセントが依然として有効であるかをモニタする。すなわち、データがもはやホストによって使用されないか又は必要とされない場合、すなわち期限切れとなった場合、一の論理ボリュームによって占有されるデータ空間を、時間の経過とともに、一の物理ボリュームから取り戻す必要がある。このため、もし、当該プール内の任意のボリュームが再利用パーセントしきい値以下に落ちれば、再利用プロセスを実行することにより、当該物理ボリュームから有効な論理ボリュームを取り且つ当該論理ボリュームを他の物理ボリュームに置く(潜在的には、複数の部分的にフルの物理ボリュームを組み合わせ且つ他方を一杯に満たす)ことが行われるであろう。
もし、一の仮想ボリュームが物理ボリュームから除去され、他の物理ボリューム上に置かれるならば、最初の物理ボリューム上のデータは削除されるが、上書きされておらず、従ってそのデータを回復することができる。さらに、一の仮想ボリュームの最新バージョンに関連するデータが期限切れとなっている、すなわち潜在的又は顧客によって使用不能と見なされることがあるが、当該仮想ボリュームは、依然として物理テープ・ボリューム上に存在して、アクセス可能であることがある。
最近では、企業は、データを格納し、編成し、管理し、配信する能力により一層依存するようになってきた。従って、「情報ライフ・サイクル管理」、すなわち記憶域、アクセス及びコスト特性を最適化する態様で、着想から処分に至るまでビジネス・データを管理するプロセスが、ますます重要になってきた。特に、機密データがビジネス・トランザクションにおいてより重大な役割を果たし始めており、顧客のプライバシーを維持するためにより厳しい規制が課されるようになったので、データをどのように「削除」又は処分するかという問題の重要性が増加してきた。
機密又は重要データ(例えば、クレジット・カード情報、社会保障番号)を保護し且つ顧客のプライバシーを維持するためには、特定のデータが回復不能となるように、当該特定のデータについて安全なデータ消去を実行することが有利である。安全なデータ消去とは、データを任意の合理的手段によって永久的に読み取り不能にすることと定義される。安全に消去すべきデータを優先順位付ける従来技術の方法は、先入れ先出し式の優先順位に基づいて実行され、安全なデータ消去用のキューに最初に追加された物理ボリュームについて最初の安全なデータ消去を行うことを保証する。例えば、当該従来技術の方法では、どの物理ボリュームが安全に消去すべき次のデータであるかを決定するプロセスは、プール1で開始し且つ全てのプールを通して最後のプール(例えば、プール32)に至るまで、物理ボリュームの各プールを通してループしていた。従って、安全なデータ消去を行うべきプール1内の全ての物理ボリュームを評価し且つリストし、次に安全なデータ消去を行うべきプール2内の全ての物理ボリュームを評価し且つリストし、最後のプール(例えば、プール32)に至るまで同様の処理を継続することにより、安全なデータ消去を行うべき物理ボリュームのリスト又はキューが作成される。その結果、安全なデータ消去を必要とする全てのプール内の全ての物理ボリュームが評価され、当該キュー上にリストされることになる。次に、安全なデータ消去プロセスが開始される。すなわち、先入れ先出し式の優先順位を使用する当該従来技術のプロセスは、前記キュー内にリストされる順序で、各物理ボリュームの安全なデータ消去を開始する。従って、VTSは、プール1内の物理ボリュームについて最初の安全なデータ消去を行い、次にプール2内の物理ボリュームについて安全なデータ消去を行い、最後のプール(例えば、プール32)に至るまで同様の処理を継続する。
もし、VTSが、安全なデータ消去を行うべき全ての物理ボリュームを安全なデータ消去デッドライン(以下「SDEデッドライン」又は「消去デッドライン」と表記)までの残存時間以内に管理できるか、又は安全なデータ消去を行うべき物理ボリュームのバックログが存在しなければ、前述の従来技術のプロセスでも十分である。実際には、VTSは、過負荷になることがある。例えば、プール23内の一の物理ボリュームについて安全なデータ消去を行っている間に、プール32内の一の物理ボリュームがそのSDEデッドラインを通過することがある。従って、そのSDEデッドラインに対する最短の残存時間を有する物理ボリュームは、見落とされるか又は延期されることがある。このことは、重要データ(例えば、クレジット・カード情報、社会保障番号)を保持することがある期限切れの物理ボリュームが、アクセスされ且つ保持される危険にさらされる可能性があることを意味する。
従って、SDEデッドラインに最も近い物理ボリュームに対し安全なデータ消去用の優先順位を与える、VTSを有することが有利であろう。従って、一定の時間間隔(猶予期間)の後に、仮想ボリュームの古いバージョン又は期限切れバージョンを、任意の合理的手段を通してアクセスできないことを保証する方法及びシステムが要請されている。
米国特許出願第11/737739号(2007年4月19日出願)
以下では、本発明の1例を詳述するが、この例は本発明を限定するものと解釈すべきでない。むしろ、どのような変形も、各請求項で定義される本発明の範囲内に含まれることが意図される。
本発明は、安全なデータ消去用の優先順位を、SDEデッドラインに最も近い物理ボリュームに与えることにより、適時の安全なデータ消去を保証するための方法を意図する。さらに、現在の割り振りが安全なデータ消去の要求を満たせないであろうと決定される場合は、安全なデータ消去プロセスを援助するためにより多くのテープ・ドライブを割り振ることにより、適時の安全なデータ消去を保証する。最後に、他の実施形態では、テープ・ドライブの最小の割り振りが安全なデータ消去の要求を満たせるであろうと決定される場合、当該テープ・ドライブの最小の割り振りに戻すためのプロセスが提供される。
本明細書では、テープ管理システムを仮想テープ・システム(VTS)と称するが、VTSは、テープ管理システムの1例であるに過ぎない。当業者には明らかなように、本発明は、テープ・ライブラリ、仮想テープ・ソフトウェア等の、任意のテープ管理システムに適用することができる。
図1は、本発明を実施するのに適当な環境を提供する、代表的な仮想記憶システム100のブロック図を示す。仮想記憶システム100は、仮想テープ・サーバ101、テープ・ライブラリ112及びライブラリ・マネージャ130を含む。ホスト・システム102は、ネットワーク接続(例えば、TCP/IP、LAN、イーサネット(登録商標)、IBMエンタープライズ・システム接続(ESCON)(図示せず))を介して、仮想テープ・サーバ101にリンクされる。ホスト・システム102は、ESCONチャンネルを介して仮想テープ・サーバ101にリンクされる、パーソナル・コンピュータ、ワークステーション又はメインフレームのようなコンピュータである。仮想テープ・サーバ101は、パーソナル・コンピュータ、ワークステーション又はメインフレームを含むコンピュータであって、直接アクセス記憶装置(DASD)キャッシュ106に関連付けられる。好ましくは、DASDキャッシュ106は、1つ以上の論理ボリュームを含む。実施形態では、DASDキャッシュ106は、RAIDアレイとして編成された複数のハード・ディスクを含む。
テープ・ライブラリ112は、複数のテープ・ドライブ110A〜110Nを含む。かかるテープ・ドライブは、IBM TS1100、ジャガー3592テープ・ドライブ又は当分野で公知の他の任意のテープ・ドライブとすることができる。一般に、各テープ・ドライブには、取り外し可能記憶ボリューム(例えば、テープ・カートリッジ116A〜116N)がロードされる。テープ・ドライブ110A〜110Nにサービスを提供するアクセス機構(例えば、ロボット)114は、選択されたテープ・カートリッジ116A〜116Nを、テープ・ドライブ110A〜110Nとテープ・カートリッジ・リポジトリ内のそれらの対応する位置との間で転送する。
図1では、一連の関連する要素(例えば、テープ・ドライブ110A〜110N及びテープ・カートリッジ116A〜116N)を簡単に表すために、可変識別子「N」が使用されていることに留意されたい。かかる可変識別子の使用は、かかる一連の要素のサイズ相互間の相関性を意味するものではなく、かかる一連の要素が同じ可変識別子を有する他の一連の要素と同数の要素を有することを意味するものでもない。
一般に、テープ・ライブラリ112は、テープ・カートリッジ上のアクティブ空間をモニタし且つシステムがそれほどアクティブでない場合にテープ・カートリッジの再利用をスケジュールするために利用される、記憶管理ソフトウェアを含む。実施形態では、テープ・ライブラリ112は、「IBM Virtualization Engine」TS 7740及び「IBM Magstar」3494テープ・ライブラリのようなテープ・ライブラリ・システムである。ライブラリ・マネージャ130は、テープ・ライブラリ112のインストール、保守、構成及び動作を行うために、仮想記憶システム100内で利用される。自動ライブラリ112内では、アクセス機構114は、記憶管理サーバ108又は自動化記憶管理アドミニストレータ128から受け取られた入力に基づいて、ライブラリ・マネージャ130を利用して制御することができる。
テープ・ボリューム・キャッシュを含むDASDキャッシュ106は、テープ・ライブラリ112内に格納されるデータ用のキャッシュを提供する。DASDキャッシュ106は、論理ボリュームを論理ボリューム・ファイルとして維持し、当該論理ボリューム・ファイルは、テープ・ライブラリ112内のテープ・ドライブにロードされるテープ・カートリッジ内の物理ボリューム・ファイルへ連結される。DASDキャッシュ106内の一の論理ボリューム・ファイルがテープ・ライブラリ112内の一のテープ・ドライブに移動する場合、当該論理ボリューム・ファイルは、当該実テープ・ドライブ内の一のテープ・カートリッジ上にある一の物理ボリューム・ファイルに書き込まれる。一の物理ボリューム・ファイルが一のテープ・ドライブのために再呼び出しされ且つDASDキャッシュ106に移動される場合、当該物理ボリューム・ファイルは、DASDキャッシュ106内の論理ボリューム・ファイルになる。このように、DASDキャッシュ106は、ホスト・システム102に対し、テープ・ライブラリ112内の全ての物理ボリューム・ファイルのウィンドウを提供する。
仮想テープ・システムは、ホスト・システム102に対し、仮想テープ装置を表し且つエミュレートするための複数の仮想テープ・デーモン118A〜118Nを含む。これに対し、ホスト・システム102のオペレーティング・システムは、かかる仮想テープ装置をシステム・ユーザ(図示せず)に対し提示することを管理する。ホスト・システム102は、かかる仮想テープ装置を実際のドライブとして見なし、そしてホスト・システム102が選択された仮想テープ装置内の一の論理ボリュームにアクセスすることを試みる場合、ホスト・システム102によって要求された当該仮想テープ装置に関連するそれぞれの仮想テープ・デーモンは、当該ホスト・アクセス要求を処理するであろう。
図示の仮想テープ・システムにおけるホスト102からDASDキャッシュ106へのデータ転送は、階層記憶マネージャ(HSM)クライアント122のようなプロセスを介して、VTSコードによって制御することができる。例えば、仮想記憶システム100内のHSMクライアント122は、仮想テープ・デーモン118A〜118Nからのアクセス要求を受け取り且つこれを処理する。その後、HSMクライアント122は、ホスト・システム102からの要求を処理して、DASDキャッシュ106上の論理ボリューム・ファイルにアクセスする。実施形態では、ホスト102からDASDキャッシュ106へのデータ転送は、DASDの読み取りコマンド及び書き込みコマンドを処理する、ファイル・システム・マネージャ(FSM)120A〜120Nによって直接的に制御される。
同様に、DASDキャッシュ106とテープ・ドライブ110の間のインタフェースは、記憶管理サーバ108によって制御することができる。例えば、もし、HSMクライアント122がDASDキャッシュ106内に存在しない一の論理ボリューム・ファイルをマウントすることを試みるならば、HSMクライアント122は、そのアクセス要求を記憶管理サーバ108に通信するであろう。もし、当該アクセス要求内のテープが、テープ・ライブラリ112の一のテープ・ドライブ内に既にマウントされていれば、記憶管理サーバ108は、当該マウントされたテープから前記要求された論理ボリューム・ファイルに対応する物理ボリュームにアクセスするであろう。しかし、もし、前記要求されたファイルが現に一のテープ・ドライブ内にマウントされていなければ、記憶管理サーバ108は、前記要求された論理ボリューム・ファイルに対応する物理ボリュームを保持するテープをマウントするように、ライブラリ・マネージャ130への要求を開始するであろう。
記憶管理サーバ108及びHSMクライアント122として使用することができる記憶管理処理モジュールの例は、IBM社によって提供される、「Tivoli Storage Manager(TSM)」アプリケーション及び「IBM ADSTAR Distributed Storage Manager(ASDM)」製品である。記憶管理サーバ108は、コマンド・インタフェース124及びコンソール出力126を含む。
実施形態では、記憶管理サーバ108は、論理ボリューム・ファイル全体を、DASDキャッシュ106からテープ・ライブラリ112へ移送させる。DASDキャッシュ106内の使用可能な空間が予め定義されたレベルに到達するか又は予め定義された期間の後に、自動化記憶管理アドミニストレータ128は、記憶管理サーバ108に対し、DASDキャッシュ106からの論理ボリューム・ファイルをテープ・ライブラリ112へ移行しそこに保存するように指示する。一般に、自動化記憶管理アドミニストレータ128は、物理ボリュームに関連する情報を、関連するボリューム・ステータス・テーブル(図示せず)内に格納する。実施形態によれば、自動化記憶管理アドミニストレータ128は、本発明の安全なデータ消去プロセスを達成するために必要とされる機能を提供し、さらに記憶管理サーバ108を利用して多くのVTS特有の管理機能を実行する。例えば、自動化記憶管理アドミニストレータ128は、安全なデータ消去処理モジュールを含むことができる。
VTSボリュームの古いバージョンを回復できないことを保証するように当該古いバージョンを処理するという要件は、顧客によって指定された一定の時間間隔(猶予期間)内に無効化された仮想ボリューム・データを保持する、一の物理ボリュームに上書きを行うことにより満足される。従って、一の仮想又は論理ボリュームに関連するデータが無効化されることを可能にするための機能が導入され、VTSによって、一層具体的には、VTSの自動化記憶管理アドミニストレータ128のコンポーネントによって実装される。一の物理ボリューム及びその関連するデータの安全なデータ消去を実行する(すなわち、任意の合理的手段によって永久的に読み取り不能にする)ためには、予め定義されたファイル又はデータ・パターン(例えば、論理1、論理ゼロ又はその組み合わせ)を利用して、当該物理ボリュームの全てのデータに1回以上上書きする動作を実行することができる。安全なデータ消去プロセス用の技術は、(例えば、所望の安全レベルに基づいて)ユーザ又はホストによって選択可能であるか、或いは自動的に決定することができる。かかる上書きは、テープ・ドライブ110A〜110Nのうちの1つによって実行することができる。
有効期限(expiration time)が提供され、その有効期限が切れると、一の物理ボリューム上のデータは、無効、潜在的又は不用となる。例えば、当該データは、前述の再利用(reclamation)、移行(migration)又は修正(modification)によって、無効(invalid)、潜在的(latent)又は不用(unused)となる。有効期限は、日付でもよいし、日付及び時刻でもよいが、有効期限が切れると、データは、もはや有効又は有用ではなくなる。以下では、有効期限を期限日付と称することもある。SDEデッドラインは、期限日付後の一定の時間間隔(猶予期間)の後に、複数の物理ボリュームのうちの各物理ボリュームごとに設定され、顧客によって設定することができる(例えば、顧客のSDEデッドライン)。SDEデッドラインとは、望まれないデータの保持を回避するために、安全なデータ消去を実行しなければならない日付である。安全なデータ消去は、有効期限から一定の時間間隔(猶予期間)内に実行するのが有利である。というのは、そうすると、機密データ及び顧客情報を必要な期間にわたって維持することができるだけでなく、当該必要な期間の後は、かかる機密データ及び顧客情報を任意の合理的手段によって回復できないことが保証されるからである。例えば、銀行のレコード及びクレジット・カード情報は、法律によって、一定の時間間隔(猶予期間)にわたって保持することが必要とされている。しかし、この必要とされる時間間隔(猶予期間)が経過した後であっても、かかる情報をもはや回復できないように、かかる情報について安全なデータ消去を行うことが企業にとって有利である。従って、所与のプールについて、一定の時間間隔(猶予期間)の後に、一の物理ボリューム上の期限切れデータに上書きを行うことによって、当該期限切れデータを任意の合理的手段を通してもはやアクセスできないことを保証することが望ましい。
図2は、VTSによって管理される複数の物理ボリュームのうち、安全にデータを消去すべき次の物理ボリュームを周期的に決定するプロセスを示す。説明の便宜上、当該プロセスは、(毎日、24時間ごと、12時間ごと又は他の適当な粒度ごとに)VTSによって実行されるコンピュータ実行命令であるものと仮定する。図2に示すように、当該プロセスは、ステップ202で開始し、そこでVTSは、安全なデータ消去用の要件を評価すべき一の物理ボリューム(又は次の物理ボリューム)を選択する。
VTSは、図2及び図3に示すプロセス中に、種々の機能を実行するが、かかる機能を実行するアプリケーションは、記憶管理サーバ108(例えば、TSMサーバ)、HSMクライアント122(例えば、TSM HSMクライアント)又は自動化記憶管理アドミニストレータ128(例えば、TSM自動化アドミニストレータ)のようなVTSのプロセッサ上で稼働することができる。
ステップ204で、VTSは、現在の日付が選択された物理ボリュームの期限日付より遅いか否かを決定する。一の物理ボリュームの期限日付は、それが切れるか又は満了する際に、当該物理ボリューム内に保持されるデータが無効、潜在的又はもはや有用ではないと見なされる、時間及び日付の一方又は両方であると定義される。
もし、現在の日付が期限日付より遅くないと決定すれば、当該プロセスはステップ214に進み、そこでVTSは、現に評価中の物理ボリュームが最後の物理ボリュームであるか否かを決定する。そうであれば、当該プロセスはステップ216に進む。さもなければ、当該プロセスはステップ202に戻り、そこでVTSは、評価すべき次の物理ボリュームを選択する。
しかし、現在の日付が期限日付より遅いと決定すれば、当該プロセスはステップ206に進み、そこでVTSは、当該物理ボリュームが安全なデータ消去用に利用可能か否かを決定する。VTSは、多くの要因に基づいて、かかる決定を行うことができる。例えば、もし、一の物理ボリュームが現に追加のデータで充填中であるか又は当該物理ボリューム若しくはその一部が現に読み取り中であれば、当該物理ボリュームは、安全なデータ消去用に利用可能にならないであろう。
もし、当該物理ボリュームが安全なデータ消去用に利用可能ではないと決定すれば、当該プロセスはステップ214に進み、そこでVTSは、現に評価中の物理ボリュームが最後の物理ボリュームであるか否かを決定する。そうであれば、当該プロセスはステップ216に進む。さもなければ、当該プロセスはステップ202に戻り、そこでVTSは、評価すべき次の物理ボリュームを選択する。
もし、ステップ206で、当該物理ボリュームが安全なデータ消去用に利用可能であると決定すれば、当該プロセスはステップ208に進み、そこでVTSは、残存時間を計算する。この残存時間は、現在の日付(例えば、今日の日付及び時間の一方又は両方)からSDEデッドラインまでの間に存在する時間として、定義することができる。残存時間は、SDEデッドラインと現在の日付の間の差によって計算される。例えば、もし、SDEデッドラインが2006年7月26日であり且つ現在の日付が2006年7月11日であれば、計算済みの残存時間は15日になるであろう。残存時間は、必要に応じて、日、時間、分又は秒で表現することができる。
ステップ210で、VTSは、残存時間を一の時間しきい値と比較する。この時間しきい値は、顧客によって定義することができる期間である。実施形態では、この時間しきい値は、顧客によって決定される期間であって、当該物理ボリュームの安全なデータ消去が保証される、SDEデッドラインに十分に接近している期間とすることができる。例えば、1人の顧客は、SDEデッドラインから10日の時間しきい値を定義することができるのに対し、他の顧客は、SDEデッドラインから5日の時間しきい値を定義することができる。
もし、残存時間が時間しきい値より大きいことをVTSが決定すれば、当該プロセスはステップ214に進み、そこでVTSは、現に評価中の物理ボリュームが最後の物理ボリュームであるか否かを決定する。そうであれば、当該プロセスはステップ216に進む。さもなければ、当該プロセスはステップ202に戻り、そこでVTSは、評価すべき次の物理ボリュームを選択する。
もし、残存時間が時間しきい値より小さいことを決定すれば、当該プロセスはステップ212に進み、そこでVTSは、カウントをインクリメントする。このカウントのインクリメントは、安全なデータ消去を行うべき物理ボリューム(安全なデータ消去用のキュー、すなわちSDEキューに入れられる物理ボリューム)の量に関するレコードを準備する。かかる物理ボリュームは、顧客が定義した時間しきい値より小さい残存時間を有し、現に期限切れとなっているために、安全なデータ消去用に利用可能である。安全なデータ消去を行うべき物理ボリュームの量に関するレコード(例えば、物理ボリューム消去カウント)は、本発明の他の実施形態に関して後述するように、安全なデータ消去プロセス用の追加テープ・ドライブの割り振りを決定するのに有用である。
ステップ212の後、当該プロセスはステップ214に進み、そこでVTSは、現に評価中の物理ボリュームが最後の物理ボリュームであるか否かを決定する。もしそうであれば、当該プロセスはステップ216に進む。さもなければ、当該プロセスはステップ202に戻り、そこでVTSは、評価すべき次の物理ボリュームを選択する。
図2のプロセスは、全てのプール内の全ての物理ボリュームが評価されるまで、前述のように継続する。一旦全てのプール内の全ての物理ボリュームが評価されたならば、当該プロセスはステップ216に進み、これらの物理ボリュームを残存時間に基づいてソートする。
ステップ218では、残存時間に基づく物理ボリュームのソートに応答して、VTS(又はVTS内のプロセッサ(図示せず))は、ドライブに対し、最小又は最短の量の残存時間を有する物理ボリュームの安全なデータ消去を実行するように一のコマンドを送る。ここで、最短の量の残存時間とは、現在の日付(例えば、今日の日付及び時間の一方又は両方)とSDEデッドラインの間の最小の差に相当する計算済みの残存時間である。当該ドライブは、予め定義されたファイル又はデータ・パターン(例えば、論理1、論理ゼロ又はその組み合わせ)を利用して、当該物理ボリュームの全てのデータに1回以上上書きすることにより、安全なデータ消去を実行する。一旦、安全なデータ消去が実行されると、当該ドライブは、VTS(例えば、記憶管理サーバを介してHSMクライアント)に対し、一の応答を送ることにより、安全なデータ消去が実行されたことを指示する。しかし、もし、当該ドライブがかかる応答を送らなければ、当該物理ボリュームは、安全なデータ消去を行うべき物理ボリュームのSDEキュー内に留まるであろう。安全なデータ消去用に利用可能な他の物理ボリュームが存在する場合、すなわち当該他の物理ボリュームが顧客が定義した時間しきい値より小さい残存時間を有し、現に期限切れとなっているために、安全なデータ消去用に利用可能である場合、VTSは、当該他の物理ボリュームの全ての安全なデータ消去が実行されるまで、最小又は最短の量の残存時間を有する次の物理ボリュームの安全なデータ消去を実行することを継続する。
前述のように、自動化記憶管理アドミニストレータ128は、これらの物理ボリュームに関連する情報を、関連するボリューム・ステータス・テーブル(図示せず)内に格納する。ボリューム・ステータス・テーブルは、システム内の各物理ボリュームをリストし、当該各物理ボリュームに関連する1つ以上のパラメータを保持する。実施形態では、ボリューム・ステータス・テーブルは、次の1つ以上を保持することができる。
各物理ボリューム用の期限日付
各物理ボリューム用の時間間隔(猶予期間)
各物理ボリューム用のSDEデッドライン
残存時間(ステップ208で計算される)
SDEキューに入れられる安全なデータ消去動作の数又は量(ステップ212でカウント及び決定される)
ボリューム・ステータス・テーブルは、各物理ボリュームに関連する現在のパラメータを維持するために、周期的に(例えば、図2のプロセスが開始される度に)更新することができる。また、ボリューム・ステータス・テーブルは、安全なデータ消去プロセスに有用な追加の情報を有することができる。
図2の各ステップ及び図3の各ステップは、モジュール(例えば、ソフトウェア・モジュール)、モジュールの一部又はコンピュータ・システムによって実行することができる。従って、本明細書に開示する方法、その動作及び本方法を実行するためのモジュールは、本方法の動作を実行するように構成されたコンピュータ・システム上で、又は機械可読媒体から実行することができる。本方法は、これを実行するようにコンピュータ・システムを構成するための、機械可読媒体内に具体化することができる。ソフトウェア・モジュールは、当該モジュールの機能を実行するようにコンピュータ・システムを構成するために、当該コンピュータ・システムのメモリ内に格納されるか、又はそのメモリに伝送することができる。代替的に、かかるアクションは、これらの機能を実装する回路の構造内に具体化することができる。かかる回路の例には、複合命令セット・コンピュータ(CISC)又は縮小命令セット・コンピュータ(RISC)のマイクロコード、プログラマブル又は消去可能プログラマブル装置内へプログラムされたファームウェア、フィールド・プログラマブル・ゲート・アレイ(FPGA)の構成、ゲート・アレイ又は特定用途向け集積回路(ASIC)の設計等がある。
モジュールと本明細書に開示する動作の間の境界は、単なる例であるに過ぎず、代替実施形態では、かかるモジュール又は動作を合併するか、又は前述の機能を別の態様で分解した上でそれぞれのモジュール上に課すことができる。例えば、本明細書に開示するアクションは、複数のコンピュータ・プロセスとして実行すべき部分動作へ分解することができる。さらに、代替実施形態では、特定の動作又は部分動作の複数のインスタンスを組み合わせることができる。さらに、本明細書に開示する代表的実施形態の動作は、例示の目的のためにのみ提示されたものであるに過ぎない。本明細書の開示に従って、かかる動作を組み合わせたり、かかる動作の機能を追加の動作内に分配することができる。
図3は、本発明の実施形態に従った、安全なデータ消去用のテープ・ドライブの割り振りを評価する方法のフローチャートを示す。このプロセスでは、安全なデータ消去を実行するために追加テープ・ドライブを割り振ること、以前に割り振られた1つ以上の追加テープ・ドライブを除去することができるように、1つ以上の既存のテープ・ドライブ(安全なデータ消去プロセスに割り振られたテープ・ドライブ)を再割り振りすること、1つ以上の追加テープ・ドライブを追加すること、又はこれらのテープ・ドライブを最小の要件に戻すことができる。テープ・ドライブの追加に係る決定は、当該テープ・ドライブを割り振ることが安全なデータ消去のパフォーマンスを改良するか否か、という評価に基づいて行われる。改良とは、後述するように、SDEデッドラインの前に安全なデータ消去を実行するというテープ管理システム(例えば、VTS)の能力とすることができる。テープ・ドライブの除去に係る決定は、より少数のテープ・ドライブ又は最小の動作要件用に割り振られた数のテープ・ドライブを使用する場合、安全なデータ消去プロセスを実行可能であり且つSDEデッドラインを満足することができるか否か、という評価に基づいて行われる。
ステップ212に関連して説明したように、インクリメンタル・カウントは、顧客が定義した時間しきい値より小さい残存時間を有し、現に期限切れとなっているために、安全なデータ消去用に利用可能な物理ボリュームの数又は量を表すものとして、これを維持することができる。他の実施形態では、安全なデータ消去を行うべき物理ボリュームのカウントは、他の方法によって得ることができる。この物理ボリュームのカウントは、SDEキューに入れられる安全なデータ消去動作の数又は量を定義する。
図3のプロセスを説明する便宜上、当該プロセスは、安全なデータ消去用の要求又は顧客の要求に応じて、或いは周期的に(例えば、24時間ごと、12時間ごと又は他の適当な粒度ごとに)、VTSによって実行されるコードであるものと仮定する。当該プロセスは、ステップ301で開始した後、ステップ302に進み、そこでVTSは、SDEキュー内の安全なデータ消去動作の数又は量を、最大キューしきい値と比較する。この最大キューしきい値は、顧客によって定義することができる。例えば、顧客は、SDEデッドラインを超えることなく、VTSが安全なデータ消去を成功裏に実行することができる物理ボリュームの量として、最大キューしきい値を決定することができる。例えば、顧客は、最大キューしきい値を15個の物理ボリュームであると定義することができる。
もし、SDEキュー内の安全なデータ消去動作の量(例えば、16)が最大キューしきい値より大きければ、当該プロセスはステップ306に進み、そこで、SDEデッドラインまでの平均時間が計算され、これが最小有効期限しきい値と比較される。このSDEデッドラインまでの平均時間は、SDEキュー内にある各物理ボリュームごとのSDEデッドラインまでの残存時間を加算し且つその和をSDEキュー内にある物理ボリュームの数で割ることによって決定される。最小有効期限しきい値は、顧客によって定義することができる。例えば、顧客は、ドライブの現在の割り振りを以て、SDEキュー内の物理ボリュームを対象とする安全なデータ消去を、それらのSDEデッドラインに到達する前に、実行可能であると顧客が合理的に予測することができる時間(例えば、日又は時間の数)を考慮することにより、最小有効期限しきい値を決定し且つ定義することができる。もし、SDEデッドラインまでの平均時間が最小有効期限しきい値より大きければ、当該プロセスは、安全なデータ消去用のテープ・ドライブの割り振り又は除去を行うことなく、ステップ312で終了する。例えば、もし、SDEデッドラインまでの平均時間が15日であり且つ最小有効期限しきい値が顧客によって3日と設定されたのであれば、安全なデータ消去用に割り振られた現在のテープ・ドライブは、SDEキュー内の物理ボリュームを対象とする安全なデータ消去を、それらのSDEデッドラインに到達する前に、完了するのに十分であると予測されるであろう。
もし、SDEデッドラインまでの平均時間が最小有効期限しきい値より小さければ、当該プロセスはステップ310に進み、そこでVTSは、SDEキュー内の安全なデータ消去動作を完了するためにより多くのテープテープ・ドライブを割り振る。例えば、もし、SDEデッドラインまでの平均時間が1日であり且つ最小有効期限しきい値が顧客によって3日に設定されたのであれば、安全なデータ消去用に割り振られた現在のテープ・ドライブは、SDEキュー内の全ての物理ボリュームを対象とする安全なデータ消去を、それらのSDEデッドラインに到達する前に、完了することができないと予測されるであろう。このような例の場合、当該プロセスはステップ310に進み、そこで追加テープ・ドライブが安全なデータ消去用に割り振られるであろう。ステップ310の後、当該プロセスはステップ312に進み、そこで当該プロセスが終了する。
実施形態では、VTSは、安全なデータの上書きプロセスを実行するために、テープ・ドライブ110A〜110Nのうちの1つを補充することにより、追加テープ・ドライブを割り振ることができる。当該補充テープ・ドライブ(110A〜110Nのうちの1つ)は、読み取り及び書き込みプロセスを実行するためにVTS内で以前に使用されていたものであってもよい。当該補充テープ・ドライブ(110A〜110Nのうちの1つ)がもはやそれらの機能を実行することができないので、VTSは、読み取り及び書き込み動作を実行するために、1つ少ないドライブで機能している。従って、追加テープ・ドライブが必要とされる場合には、当該追加テープ・ドライブだけを割り振り、そして当該追加テープ・ドライブがもはや必要とされなくなる場合には、当該追加テープ・ドライブをその元の機能に戻すことが望ましい。
他の実施形態では、VTSは、追加テープ・ドライブがテープ・ライブラリ112に追加されることを要求することにより、当該追加テープ・ドライブを安全なデータ消去プロセスに割り振ることができる。この要求は、ディスプレイ又はグラフィカル・ユーザ・インタフェース(GUI)のようなインタフェースを通して、通信することができる。他の実施形態では、安全なデータ消去を実行するために、1つ以上の追加テープ・ドライブを割り振ることができる。
図3のステップ302に戻って、説明を続ける。もし、SDEキュー内の安全なデータ消去動作の量が最大キューしきい値より小さいことを決定すれば、当該プロセスはステップ304に進み、そこで安全なデータ消去動作の量が最小キューしきい値と比較される。この最小キューしきい値は、顧客によって定義することができる。顧客は、最小の動作要件を以て、SDEデッドラインに到達する前に、安全なデータ消去を完了することができそうな安全なデータ消去動作の量として、最小キューしきい値を決定し且つ定義することができる。もし、安全なデータ消去動作の量が最小キューしきい値より小さければ、安全なデータ消去プロセス用のテープ・ドライブの割り振りは、最小の動作要件に設定される(ステップ308)。他の実施形態では、以前に割り振られた1つ以上の追加テープ・ドライブを除去することができるように、1つ以上の既存のテープ・ドライブ(安全なデータ消去プロセスに割り振られたテープ・ドライブ)を再割り振りすることができる。ステップ308の後、当該プロセスはステップ312で終了する。
もし、VTSが、安全なデータ消去動作の量が最小キューしきい値より大きいことを決定すれば、テープ・ドライブの現在の割り振りが維持され、そして当該プロセスはステップ312で終了する。
他の実施形態では、安全なデータ消去プロセス用のテープ・ドライブの割り振りは、断片的な態様ではなく、これを一挙に行うことができる。すなわち、VTSは、前述のステップ302〜310を実行することにより、一の安全なデータ消去プロセス用の最適数のテープ・ドライブを決定することができる。一旦かかる最適数のドライブが決定されると、VTSは、当該最適数のドライブを前述の安全なデータ消去プロセス用に割り振る。前記最適数のテープ・ドライブとは、SDEデッドラインの前に、安全なデータ消去を実行するために必要とされる、最少数のテープ・ドライブである。前記最適数は、周期的に(毎日、12時間ごと又は他の適当な粒度ごとに)再評価することができる。
図2及び図3は、本発明の実施形態に従った、安全なデータ消去プロセスのフローチャートを示す。図2及び図3のフローチャートは、諸プロセス動作の特定の順序及び諸プロセス動作の特定の粒度を示しているが、他の実施形態では、この順序を変更することができる(例えば、諸プロセス動作を他の順序で又は実質的に並列に実行したり、1つ以上のプロセス動作を結合又は分割することができる)。同様に、本発明の代替実施形態では、必要に応じて、追加のプロセス動作を追加することができる。
前述のように、自動化記憶管理アドミニストレータ128は、物理ボリュームに関連する情報を、関連するボリューム・ステータス・テーブル(図示せず)内に格納する。ボリューム・ステータス・テーブルは、システム内の各物理ボリュームをリストし、当該各物理ボリュームに関連する1つ以上のパラメータを保持する。実施形態では、ボリューム・ステータス・テーブルは、次の1つ以上を保持することができる。
SDEキューに入れられる安全なデータ消去動作の数(ステップ212で決定される)
SDEデッドラインまでの平均時間
このボリューム・ステータス・テーブルは、図2に関連して説明したボリューム・ステータス・テーブルと組み合わせることができ、又はこのボリューム・ステータス・テーブルを個別のテーブルとして作成することもできる。このボリューム・ステータス・テーブルは、周期的に、例えば、各物理ボリュームに関連する現在のパラメータを維持するために、図2又は図3のプロセスが開始される度に、更新することができる。また、このボリューム・ステータス・テーブルは、安全なデータ消去プロセスに有用な追加情報も有することができる。
図4は、本発明の1つ以上の実施形態で使用可能なデータ処理システムを示す。図4のデータ処理システム400については、特定数の要素及びその配置が示されているが、本発明の実施形態は、任意の特定数、タイプ又は配置のコンポーネントを有するデータ処理システムに限定されないのであって、データ処理システムの種々のタイプ、アーキテクチャ及びフォーム・ファクタ(例えば、ネットワーク要素又はノード、パーソナル・コンピュータ、ワークステーション、サーバ等)を包含することに留意されたい。図示のデータ処理システム400は、バス406を介してメモリ404に結合されたプロセッサ402を含む。メモリ404は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュ・メモリ及びキャッシュのような多数のシステム・メモリ・タイプの記憶要素のうち任意のものとすることができる。
また、図示のデータ処理システム400は、1つ以上のI/O装置(図示せず)とデータ処理システム400の間の通信を確立するために、バス406に結合された入出力(I/O)インタフェース408を含む。代表的なI/O装置は、キーボード、ディスプレイ、プリンタ、カーソル制御装置(トラックボール、マウス、タブレット等)、スピーカ及びマイクロホンのような通常のI/O装置と、固定式磁気媒体記憶装置、光学的記憶装置(例えば、CD又はDVD ROM)、固体記憶装置(USBメモリ、Secure Digital SD(商標)、Compact Flash(商標)、MMC等)、フレキシブル・ディスク及びテープを含む取り外し可能な磁気媒体記憶装置のような記憶装置と、有線又は無線通信装置(例えば、モデム又は直接ネットワーク・インタフェースを介してアクセスされる通信ネットワーク)を含むことができる。
本発明の実施形態は、ソフトウェア、情報処理ハードウェア及び本明細書に開示した種々のプロセス動作を含む。本発明の特徴及びプロセス動作は、メモリ404、記憶装置、通信装置、媒体等の機械可読媒体内に記録された実行可能命令で具体化することができる。機械可読媒体は、機械(例えば、データ処理システム400)によって読み取り可能な形式でデータを提供(格納又は送信)する、任意の機構を含む。例えば、機械可読媒体は、ランダム・アクセス・メモリ(RAM)、 読み取り専用メモリ(ROM)、磁気記憶装置媒体、光学的記憶媒体、フラッシュ・メモリ装置、電気的、光学的又は音響的に伝搬される信号(例えば、搬送波、赤外線信号、デジタル信号等)を含むが、これらに限定されない。前述の実行可能命令は、命令でプログラムされたプロセッサ402のような汎用又は専用プロセッサに、本発明の動作、方法又はプロセスを実行させるために使用することができる。代替的に、本発明の特徴又は動作は、当該動作を実行するためのハードワイヤード論理を含む特定のハードウェア・コンポーネントによって、又はプログラムされたデータ処理コンポーネント及びカスタム・ハードウェア・コンポーネントの任意の組み合わせによって、これを実行することができる。
本発明は、完全に機能的なデータ処理システムの文脈で説明されている。しかし、本発明は、種々の形式を有するプログラム製品として配布することができる。従って、本発明は、かかる配布を行うために使用される信号担持媒体の特定のタイプに拘わらず、同等に適用されるものである。かかる信号担持媒体の例は、フレキシブル・ディスク及びCD-ROMのような記録可能な媒体、デジタル及びアナログ通信リンクのような伝送媒体、さらに将来に開発される媒体記憶装置及び配信システムを含む。同様に、本発明の実施形態は、特定の動作又はタスクを実行するために使用されるソフトウェア・モジュールを利用して、実装することができる。かかるソフトウェア・モジュールは、スクリプト、バッチ又は他の実行可能ファイルを含み、機械可読媒体又はコンピュータ可読媒体上に格納することができる。従って、これらのモジュールは、ソフトウェア・モジュールの1つ以上の機能を実行するためにデータ処理又はコンピュータ・システムを構成するように、コンピュータ・システムのメモリ内に格納することができる。これらのモジュールを格納するためには、他の種々のタイプの機械可読媒体又はコンピュータ可読媒体を使用することができる。
以上、本発明の特定の実施形態を説明したが、本明細書に開示した教示に基づいて、本発明及びその広い側面から逸脱することなく、種々の変更及び修正を施しうることは明らかである。従って、本願の各請求項は、かかる変更及び修正の全てが本発明の真の精神及び範囲に属するものとして、これを包含することを意図している。本発明は、各請求項の記載によってのみ定義されるものである。