(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】テープ・ストレージのためのセキュアなデータ消去
(51)【国際特許分類】
G06F 3/06 20060101AFI20240514BHJP
G11B 20/10 20060101ALI20240514BHJP
G06F 21/60 20130101ALI20240514BHJP
【FI】
G06F3/06 303Z
G11B20/10 H
G11B20/10 301Z
G06F3/06 304H
G06F21/60
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023565912
(86)(22)【出願日】2022-04-11
(85)【翻訳文提出日】2023-10-26
(86)【国際出願番号】 CN2022086081
(87)【国際公開番号】W WO2022242371
(87)【国際公開日】2022-11-24
(32)【優先日】2021-05-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】松井 壮介
(72)【発明者】
【氏名】能田 毅
(72)【発明者】
【氏名】田中 順
(72)【発明者】
【氏名】辰巳 恵里奈
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044BC01
5D044CC02
5D044DE03
5D044DE12
5D044DE40
5D044DE49
(57)【要約】
1つの手法において、プロセッサは、非アクティブ・データ領域がテープのテープ終端(EOT)に存在することを判定する。プロセッサは、非アクティブ・データ領域がEOTに存在すると判定したことに応答して、非アクティブ・データ領域に位置するデータに異なるデータを上書きすることによって、EOTに存在する非アクティブ・データ領域をセキュアに消去する。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
1つまたは複数のプロセッサにより、非アクティブ・データ領域がテープのテープ終端(EOT)に存在することを判定することと、
前記非アクティブ・データ領域がEOTに存在すると判定したことに応答して、1つまたは複数のプロセッサにより、前記非アクティブ・データ領域に位置するデータに異なるデータを上書きすることによって、EOTに存在する前記非アクティブ・データ領域をセキュアに消去することと
を含むコンピュータ実装方法。
【請求項2】
1つまたは複数のプロセッサにより、前記テープの非アクティブ・データ領域が容量閾値未満であることを判定することをさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定することが、前記テープの前記非アクティブ・データ領域が前記容量閾値未満であると判定したことに応答している、請求項1に記載のコンピュータ実装方法。
【請求項3】
1つまたは複数のプロセッサにより、EOTに存在する前記非アクティブ・データ領域を、セキュアに消去されたとして記録することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
1つまたは複数のプロセッサにより、前記テープの非アクティブ・データ領域が容量閾値を超えていることを判定することと、
前記テープの前記非アクティブ・データ領域が容量閾値を超えていると判定したことに応答して、
1つまたは複数のプロセッサにより、前記テープの1つまたは複数のアクティブ領域からのデータを第2のテープにコピーすることと、
1つまたは複数のプロセッサにより、セキュアに消去されたとして記録されていない前記テープの領域を、セキュアに消去することと
をさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
セキュアに消去されたとして記録されていない前記テープの前記領域を、セキュアに消去したことに応答して、
1つまたは複数のプロセッサにより、前記テープのセキュアに消去された記録を除去することと、
1つまたは複数のプロセッサにより、前記テープを空のテープとして特定することと
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
1つまたは複数のプロセッサにより、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないことを判定することをさらに含み、
EOTに存在する前記非アクティブ・データ領域をセキュアに消去することが、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないことを判定したことにさらに応答している、請求項1に記載のコンピュータ実装方法。
【請求項7】
1つまたは複数のプロセッサにより、前記テープがアイドル状態にあることを判定することをさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定することが、前記テープが前記アイドル状態にあると判定したことに応答している、請求項1に記載のコンピュータ実装方法。
【請求項8】
コンピュータ・プログラム製品であって、
1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されたプログラム命令とを含み、前記プログラム命令が、
非アクティブ・データ領域がテープのテープ終端(EOT)に存在することを判定するプログラム命令と、
前記非アクティブ・データ領域がEOTに存在すると判定したことに応答して、前記非アクティブ・データ領域に位置するデータに異なるデータを上書きすることによって、EOTに存在する前記非アクティブ・データ領域をセキュアに消去するプログラム命令と
を含む、コンピュータ・プログラム製品。
【請求項9】
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープの非アクティブ・データ領域が容量閾値未満であることを判定するプログラム命令をさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定するプログラム命令が、前記テープの前記非アクティブ・データ領域が前記容量閾値未満であると判定したことに応答している、請求項8に記載のコンピュータ・プログラム製品。
【請求項10】
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、EOTに存在する前記非アクティブ・データ領域をセキュアに消去されたとして記録するプログラム命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項11】
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープの非アクティブ・データ領域が容量閾値を超えていることを判定するプログラム命令と、
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープの前記非アクティブ・データ領域が容量閾値を超えていると判定したことに応答して、
前記テープの1つまたは複数のアクティブ領域からのデータを第2のテープにコピーし、
セキュアに消去されたとして記録されていない前記テープの領域を、セキュアに消去する
プログラム命令と
をさらに含む、請求項10に記載のコンピュータ・プログラム製品。
【請求項12】
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、セキュアに消去されたとして記録されていない前記テープの前記領域を、セキュアに消去したことに応答して、
前記テープのセキュアに消去された記録を除去し、
前記テープを空のテープとして特定する
プログラム命令をさらに含む、請求項11に記載のコンピュータ・プログラム製品。
【請求項13】
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないことを判定するプログラム命令をさらに含み、
EOTに存在する前記非アクティブ・データ領域をセキュアに消去するプログラム命令が、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないと判定したことにさらに応答している、請求項8に記載のコンピュータ・プログラム製品。
【請求項14】
前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープがアイドル状態にあることを判定するプログラム命令をさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定するプログラム命令が、前記テープが前記アイドル状態にあると判定したことに応答している、請求項8に記載のコンピュータ・プログラム製品。
【請求項15】
コンピュータ・システムであって、
1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されたプログラム命令とを含み、前記プログラム命令が、
非アクティブ・データ領域がテープのテープ終端(EOT)に存在することを判定するプログラム命令と、
前記非アクティブ・データ領域がEOTに存在すると判定したことに応答して、前記非アクティブ・データ領域に位置するデータに異なるデータを上書きすることによって、EOTに存在する前記非アクティブ・データ領域をセキュアに消去するプログラム命令と
を含む、コンピュータ・システム。
【請求項16】
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープの非アクティブ・データ領域が容量閾値未満であることを判定するプログラム命令をさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定するプログラム命令が、前記テープの前記非アクティブ・データ領域が前記容量閾値未満であると判定したことに応答している、請求項15に記載のコンピュータ・システム。
【請求項17】
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、EOTに存在する前記非アクティブ・データ領域をセキュアに消去されたとして記録するプログラム命令をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項18】
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープの非アクティブ・データ領域が容量閾値を超えていることを判定するプログラム命令と、
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記テープの前記非アクティブ・データ領域が容量閾値を超えていると判定したことに応答して、
前記テープの1つまたは複数のアクティブ領域からのデータを第2のテープにコピーし、
セキュアに消去されたとして記録されていない前記テープの領域を、セキュアに消去する
プログラム命令と
をさらに含む、請求項17に記載のコンピュータ・システム。
【請求項19】
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、セキュアに消去されたとして記録されていない前記テープの前記領域を、セキュアに消去したことに応答して、
前記テープのセキュアに消去された記録を除去し、
前記テープを空のテープとして特定する
プログラム命令をさらに含む、請求項18に記載のコンピュータ・システム。
【請求項20】
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つにより実行するために前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納された、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないことを判定するプログラム命令をさらに含み、
EOTに存在する前記非アクティブ・データ領域をセキュアに消去するプログラム命令が、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないと判定したことにさらに応答している、請求項15に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、テープ・ストレージ管理の分野に関し、より詳細には、テープ全体をセキュアに消去すべきであると判定する前に、テープ終端(EOT)位置にあるテープの非アクティブ領域をセキュアに消去することに関する。
【背景技術】
【0002】
階層的ストレージ管理(HSM)は、高コストの記憶媒体と低コストの記憶媒体との間でデータを自動的に移動させるデータ・ストレージ技術である。ソリッド・ステート・ドライブ・アレイなどの高速ストレージ・デバイスは、ハード・ディスク・ドライブ、光学ドライブ、磁気テープなどの低速デバイスよりも、(格納されるバイト当たりの)コストが高い。
【0003】
磁気テープ・データ・ストレージは、デジタル記録を使用してデジタル情報を磁気テープに格納するためのシステムである。テープ・データ・ストレージは、システムのバックアップ、データ・アーカイブ、およびデータ交換のためにより頻繁に使用される。テープは低コストであるため、長期の格納およびデータのアーカイブが実行可能になる。テープ記憶媒体は、追加専用(append-only)であってよく、新しいデータが常にテープの末尾に追加され、更新または削除されたデータ領域が非アクティブ領域として管理されるようになっている。
【発明の概要】
【0004】
本発明の一実施形態によれば、コンピュータ実装方法、コンピュータ・プログラム製品、およびコンピュータ・システムが提供される。プロセッサは、非アクティブ・データ領域がテープのテープ終端(EOT)に存在することを判定する。プロセッサは、非アクティブ・データ領域がEOTに存在すると判定したことに応答して、非アクティブ・データ領域に位置するデータに異なるデータを上書きすることによって、EOTに存在する非アクティブ・データ領域をセキュアに消去する。
【図面の簡単な説明】
【0005】
【
図1】本発明の実施形態によるコンピュータ環境を示す機能ブロック図である。
【
図2】本発明の実施形態による、テープの非アクティブ領域をセキュアに消去するための、
図1のコンピュータ環境内で実行される、セキュア消去プログラム(secure erase program)の動作ステップを示すフローチャートである。
【
図3】本発明の実施形態による、非アクティブ・ファイルおよびアクティブ・ファイルを含むテープの例を示す図である。
【
図4】本発明の実施形態による、
図1のクライアント・コンピューティング・デバイス、テープ・ライブラリ、および仮想テープ・ライブラリのコンポーネントのブロック図である。
【発明を実施するための形態】
【0006】
本発明の実施形態は、テープ・ストレージの容量の増加により、テープの非アクティブ領域を占めるデータの不適切なまたは誤ったアクセスを防ぐために、テープをランダム化されたデータで初めから終わりまで上書きするのに数時間かかることがあることを認識している。実施形態は、データのランダム化におけるこのような遅延により、テープを再利用できるようになるまでの待ち時間が長いことは、望ましくないことを認識している。実施形態は、いくつかの手法が、暗号化されたテープを使用し、復号キーを、そのようなキーを管理しているサーバから除去することによって、データへのアクセスを防ぐが、そのような手法は、テープの暗号化を管理する特定のソフトウェア/ハードウェアに依拠しており、暗号化されていないテープ媒体に適用することはできないことを認識している。本発明の実施形態は、テープが空になる前に(例えば、テープのアクティブ領域がまだ存在する)、ランダム化されたデータをテープ終端(EOT)に位置する非アクティブ領域に追加することによって、テープをセキュアに消去する(例えば、テープをランダム化されたデータで上書きする)のに必要な時間を短縮する手法を記載する。本発明の実施形態は、暗号化されていないテープにより動作可能である。
【0007】
以下で、図面を参照しながら、本発明について詳細に説明する。
図1は、本発明の一実施形態によるコンピューティング環境(全体を100で示す)を示す機能ブロック図である。
図1は、一実装形態を示すものに過ぎず、異なる実施形態を実施できる環境に関する限定を意味するものではない。当業者は、特許請求の範囲に記載される本発明の実施形態の範囲から逸脱することなく、図示の環境に対して多くの変更を行うことができる。
【0008】
図示の実施形態において、コンピューティング環境100は、ネットワーク110に相互接続されている、テープ・ライブラリ120、仮想テープ・ライブラリ130、およびクライアント・コンピューティング・デバイス150を含む。ネットワーク110は、ローカル・エリア・ネットワーク(LAN)、インターネットなどのワイド・エリア・ネットワーク(WAN)、公衆交換電話網(PSTN)、これらの任意の組合せ、あるいは、本発明の実施形態による、クライアント・コンピューティング・デバイス150、仮想テープ・ライブラリ130、もしくはテープ・ライブラリ120、またはその組合せ間の通信をサポートする接続とプロトコルとの任意の組合せであってよい。コンピューティング環境100は、追加のサーバ、コンピューティング・デバイス、または他のデバイス(図示せず)を含んでもよい。
【0009】
仮想テープ・ライブラリ130は、例えば、データベース管理サーバ、管理サーバ、データベース・サーバ、ウェブ・サーバ、構造化クエリ言語サーバなどのサーバ・コンピュータ・システム、または、データを送受信可能なコンピューティング・システムの任意の他の電子デバイスであってよい。一実施形態において、仮想テープ・ライブラリ130は、メインフレーム仮想テープのソリューションであってよい。一実施形態において、仮想テープ・ライブラリ130は、テープ・ライブラリ120などのテープ・ライブラリにインストールされた高パフォーマンスのテープ・ドライブを使用して、データを物理的テープ・ストレージに書き込むことができる。一実施形態において、仮想テープ・ライブラリ130は、ディスクおよびテープ・ストレージのストレージ階層(tiered storage hierarchy)を提供することができる。一部の実施形態において、仮想テープ・ライブラリ130は、仮想サーバおよび仮想サーバにデプロイされたアプリケーションなどの情報技術(IT)サービスを外部パーティに提供する、ネットワークおよびサーバの集合体から構成されたデータ・センタであってよい。一部の実施形態において、仮想テープ・ライブラリ130は、メインフレーム・システムなどのレガシ・システムで動作するデータベース・サーバであってよい。他の実施形態において、仮想テープ・ライブラリ130は、1つまたは複数のネットワークによって相互接続されたコンピューティング・デバイスのクラウドを表し、仮想テープ・ライブラリ130は、ネットワーク110を介してアクセスしたときに、シームレスなリソースの単一のプールとして機能する、クラスタ化されたコンピュータおよびコンポーネントを使用する、コンピューティング・システムである。一部の実施形態において、仮想テープ・ライブラリ130は、セキュア消去プログラム140を含む。仮想テープ・ライブラリ130は、
図4に関して図示し、さらに詳細に説明するコンポーネントを含むことができる。
【0010】
テープ・ライブラリ120は、仮想テープ・ライブラリ130などの仮想テープ・ライブラリに相互接続されたテープ・ストレージ・ライブラリである。一般に、テープ・ライブラリ120は、統合テープ・ドライブ(integrated tape drive)および1つまたは複数の物理的テープを使用することにより、データを格納する能力を提供する。一実施形態において、テープ・ライブラリ120は、複数の相互接続された物理的テープ・ライブラリを表す。
【0011】
セキュア消去プログラム140は、テープ媒体のテープ終端(EOT)位置にある非アクティブ領域に位置するデータをセキュアに消去するように動作する。一般に、セキュア消去プログラムは、データにランダム化されたデータを上書きすることによってデータを消去し、そのような位置に以前にあったデータを誤ってまたは不適切に読み出すことができないようにする。セキュア消去プログラム140は、EOT位置にある非アクティブ領域を、セキュアに消去されたとしてマーク付けして、セキュア消去プログラム140がテープ全体を消去すべきであると判定したときに、セキュアに消去する必要のあるテープの部分が少なくなるようにする。一実施形態において、セキュア消去プログラム140は、仮想テープ・ライブラリ130に存在する。他の実施形態において、セキュア消去プログラム140がテープ・ライブラリ120および仮想テープ・ライブラリ130と通信することができれば、セキュア消去プログラム140は、別のサーバまたは別のコンピューティング・デバイスに存在してもよい。
【0012】
クライアント・コンピューティング・デバイス150は、例えば、サーバ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、または、ネットワーク110を介して仮想テープ・ライブラリ130と通信可能な任意の他の電子デバイスもしくはコンピューティング・システムであってよい。一部の実施形態において、クライアント・コンピューティング・デバイス150は、1つまたは複数の読出し要求または書込み要求を仮想テープ・ライブラリ130などのデータ・テープ管理サーバに送信可能な、任意の適切なタイプのクライアント・デバイスであってもよい。一部の実施形態において、クライアント・コンピューティング・デバイス150は、仮想テープ・ライブラリ130などのデータ・テープ管理サーバにデータ要求を送信するためのユーザ・インタフェース(図示せず)を含む。一実施形態において、ユーザ・インタフェースは、グラフィカル・ユーザ・インタフェース(GUI)であってよい。GUIは、テキストベースのインタフェース、タイプされたコマンド・ラベル、またはテキスト・ナビゲーションとは対照的に、グラフィカル・アイコンおよび二次表記(secondary notation)などの視覚インジケータを通じて、ユーザがキーボードおよびマウスなどの電子デバイスと対話することのできるユーザ・インタフェースの一種である。
【0013】
図2は、
図1のコンピューティング環境100内で実行される、セキュア消去プログラム140のステップのフローチャート200である。これは、アイドル時に、テープのEOTに存在するデータをセキュアに消去し、テープ上のアクティブ・データの量が閾値未満であることを判定したときに、アクティブ・データを別のテープに移動させ、続いて、テープの残り(例えば、EOTに存在する非アクティブ領域の結果として、以前に消去されていないテープの領域)をセキュアに消去することによって、テープ上のデータのセキュアな消去を促進するために実行される。
【0014】
一実施形態において、最初に、クライアント・コンピューティング・デバイス150のホストが、仮想テープ・ライブラリ130と対話して、データをテープ・ライブラリ120のテープに格納することができる。通常、仮想テープ・ライブラリ130は、ディスクなどの一次ストレージを含むことができ、一次ストレージへのアーカイブ・データまたはバックアップ・データを、テープ・ライブラリ120のテープに格納することができる。テープ・ライブラリ120は、追加専用記憶媒体であってよく、新しいデータが常にテープの末尾に追加され、削除または更新されたデータに対応する領域が、非アクティブ領域として管理される。しかしながら、非アクティブ領域は、通常、依然としてデータを含むため、誤ってまたは不適切に読み出されることがある。データまたはファイルが更新されると、元のデータ位置が非アクティブとしてマーク付けされ、新しく更新されたデータまたはファイルがテープの末尾に追加される。したがって、テープは、現在アクティブであるデータまたはファイルに対応するアクティブ領域と、削除もしくは更新されたデータまたはファイルに対応する非アクティブ領域とを含むことができる。ホストは、容量閾値(capacity threshold)を特定することができる。容量閾値は、非アクティブであるテープの総容量のパーセンテージに対応し得る。言い換えると、テープが時間と共にBOTからEOTまで書き込まれると、アクティブ・データは削除または更新され、非アクティブ領域を作り出すことができる。非アクティブ領域のパーセンテージが容量閾値を超えると、セキュア消去プログラム140は、テープに残っているアクティブ・データを移動させるべきであること、およびテープを再利用できるようにテープを消去すべきであることを判定する。
【0015】
一般に、セキュア消去プログラム140は、テープ・ライブラリ120の各テープ上で周期的に実行されてよい。一部の実施形態において、セキュア消去プログラムを実行すべき頻度を特定する時限スケジュール(timed schedule)を使用することができる。他の実施形態において、セキュア消去プログラム140は、テープ・ライブラリ120の1つまたは複数のテープ媒体がアイドル状態にあることに応答して開始される。このような実施形態において、セキュア消去プログラム140は、データの読出し要求または書込み要求を中断することなく、実行することができる。
【0016】
決定210において、セキュア消去プログラム140は、非アクティブ領域が容量閾値を超えているかどうかを判定する。前述したように、容量閾値は、ホストによって特定されてよい。一部の実施形態において、容量閾値は、テープ・ライブラリ120または仮想テープ・ライブラリ130の管理ユーザによって特定される。仮想テープ・ライブラリ130は、所与のデータ・ブロック番号に物理的テープ位置を与えるテープ・ディレクトリを管理することができる。テープ・ディレクトリは、アクティブであるテープの領域と、非アクティブであるテープの領域とを特定することもできる。このような実施形態において、セキュア消去プログラム140は、テープ・ディレクトリにアクセスして、テープの総ストレージ容量と比較した、非アクティブである領域のパーセンテージを特定し、パーセンテージが容量閾値を超えているかどうかを判定する。
【0017】
セキュア消去プログラム140が、非アクティブ領域が容量閾値を超えていると判定した場合(決定210、「はい」の枝)、セキュア消去プログラム140は、以下で説明するステップ240に進む。
【0018】
セキュア消去プログラム140が、非アクティブ領域が容量閾値を超えていないと判定した場合(決定210、「いいえ」の枝)、セキュア消去プログラム140は、非アクティブ領域のいずれかがEOTに位置するかどうかを判定する(決定215)。再び、セキュア消去プログラム140は、テープ・ディレクトリを調べて、テープ上のEOT位置およびEOTに対応するデータを特定することができる。一般に、セキュア消去プログラム140は、EOTで始まる非アクティブ領域の連続した部分を特定するように調べている。
【0019】
セキュア消去プログラム140が、EOTに位置するデータがアクティブであると判定した場合(決定215、「いいえ」の枝)、プログラムは終了する。
【0020】
セキュア消去プログラム140が、EOTに位置するテープの領域が非アクティブであると判定した場合(決定215、「はい」の枝)、セキュア消去プログラム140は、EOTで始まる連続した非アクティブ領域のすべて(例えば、EOTからテープ上のアクティブ・データの次の部分まで)を特定し、非アクティブ領域からのデータが既にセキュアに消去されたかどうかを判定する(決定220)。
【0021】
決定220において、セキュア消去プログラム140は、非アクティブ領域からのデータが既にセキュアに消去されたかどうかを判定する。一部の実施形態において、セキュア消去プログラム140は、セキュアなデータ消去が特定の領域について実行されたときに、領域をセキュアに消去されたとしてマーク付けする(ステップ230参照)。したがって、セキュア消去プログラム140が複数回反復して実行される場合、セキュア消去プログラム140は、セキュアなデータ消去を既に以前に実行した可能性がある。セキュア消去プログラム140は、テープ・ディレクトリにアクセスして、EOTの非アクティブ領域が既にセキュアに消去されたかどうかを判定することができる。
【0022】
セキュア消去プログラム140が、非アクティブ領域からのデータが既にセキュアに消去されたと判定した場合(決定220、「はい」の枝)、プログラムは終了する。
【0023】
セキュア消去プログラム140が、非アクティブ領域からのデータがまだセキュアに消去されていないと判定した場合(決定220、「いいえ」の枝)、セキュア消去プログラム140は、EOTとテープのアクティブ領域との間に連続して存在する非アクティブ領域について、セキュアなデータ消去を実行する(ステップ225)。
【0024】
ステップ225で、セキュア消去プログラム140は、EOTとテープのアクティブ領域との間に連続して存在する非アクティブ領域について、セキュアなデータ消去を実行する。大まかに前述したように、非アクティブ・データは、実際には削除されず、誤ってまたは許容不能に(impermissibly)読み出されることがある。本明細書で説明するとき、データの「消去」とは、例えば、ランダム化されたデータまたは一般に異なるデータあるいはその両方で実際に上書きして、元のデータが存在しなくなり、元のデータアクセスできないようにすることである。したがって、セキュア消去プログラム140は、前述のEOTの非アクティブ領域に存在するデータを上書きして、元々存在したデータを読み出すことができないようにする。テープの特性により、テープの中央の非アクティブ領域は、テープの次のアクティブ領域をアクセス不能にすることなく、上書きすることができない。したがって、ステップ225で、セキュア消去プログラム140は、始点からEOTまでの非アクティブである領域のデータのみを上書きする。
【0025】
ステップ230で、セキュア消去プログラム140は、EOTに位置する特定された非アクティブ領域を、セキュアに消去されたとしてマーク付けする。セキュア消去プログラム140は、この情報を、例えばテープ・ディレクトリに記録することができる。他の実施形態において、セキュア消去プログラム140は、この情報を、セキュア消去プログラム140によってアクセス可能な別の位置に記録することができる。非アクティブ領域のマーク付け後、プログラムは終了する。
【0026】
ステップ235で、セキュア消去プログラム140が、テープの非アクティブ領域がテープの容量閾値を超えていると判定した後、セキュア消去プログラム140は、テープのアクティブ領域に位置するアクティブ・データを第2のテープ媒体にコピーする。前述したように、仮想テープ・ライブラリ130は、テープ・ディレクトリを維持することができ、セキュア消去プログラム140は、テープ・ディレクトリにアクセスして、アクティブ・ファイル/データの物理的テープ位置を判定し、アクティブ・ファイル/データを第2のテープにコピーすることができる。
【0027】
ステップ240で、セキュア消去プログラム140は、テープのマーク付けされていない領域について、セキュアなデータ消去を実行する。前述したように、セキュア消去プログラム140は、EOTに連続して接続されている、以前に消去された非アクティブ領域をマーク付けしており、したがって、それらの領域についてセキュアなデータ消去を実行する必要はない。したがって、セキュア消去プログラム140は、テープの一部が以前に消去されているため消去が不要であり得るので、テープ上のデータのすべてを消去するとの判定がなされると、時間を節約できることがある。これにより、従来のプロセスによって可能なものよりも、テープを迅速に消去することができ、効率的に新しいテープとして再利用することができる。一般に、セキュア消去プログラム140は、テープ始端(BOT)からテープ上のマーク付けされた領域まで、セキュアなデータ消去を実行する必要がある。セキュア消去プログラム140は、テープ・ディレクトリ、またはセキュア消去プログラム140が既にセキュアに消去された非アクティブ領域を示す情報を記録した他の位置にアクセスして、セキュアなデータ消去を必要とするテープの領域を判定することができる。
【0028】
ステップ245で、セキュア消去プログラム140は、テープのすべての領域を、セキュアに消去されていないとしてマーク付けし、または、実施形態に応じて、非アクティブ領域がセキュアに消去されたことを示すマークのいずれかを単に除去する。ステップ240でセキュアなデータ消去が実行された後、テープは再利用の準備ができた空のテープになっていると考えられるので、セキュア消去プログラム140は、このようなマークを除去する。マークを除去し、テープを再利用の準備ができた空のテープであると指定すると、プログラムは終了する。
【0029】
図3は、非アクティブ・ファイル310とアクティブ・ファイル320とを含むテープ300の例を示す。テープ300中のファイルは同じサイズに示されているが、これは図示を簡単にするために過ぎず、実際には異なるサイズであってもよいことに留意されたい。図示のように、セキュア消去プログラム140は、非アクティブ・ファイル310-3、310-4、310-5のみをセキュアに消去することができる。これらのファイルのみが、EOTのテープの位置に連続して置かれた非アクティブ領域に存在する非アクティブ・データであるからである。非アクティブ・ファイル310-1はBOTに位置し、非アクティブ・ファイル310-2は、アクティブ・ファイル320-1、320-2間に位置する。
【0030】
したがって、本発明の実施形態において、セキュア消去プログラム140が、非アクティブ領域が容量閾値を超えていないと判定した場合、セキュア消去プログラム140は、非アクティブ・ファイル310-3、310-4、310-5に対応するテープの領域のセキュアなデータ消去を実行し、これらの非アクティブ領域がセキュアに消去されたことを記録する。容量閾値を超えると、セキュア消去プログラム140は、アクティブ・ファイル320を別のテープにコピーし、ファイル310-1、320-1、310-2、320-2に対応するテープの領域のセキュアなデータ消去を実行する。しかしながら、非アクティブ・ファイル310-3、310-4、310-5に対応するテープの領域が既にセキュアに消去されているため、セキュア消去プログラム140は、非アクティブ・ファイル310-3、310-4、310-5に対応するテープの領域のセキュアなデータ消去をもう一度実行する必要はない。
【0031】
図4は、本発明の例示的な実施形態による、テープ・ライブラリ120、仮想テープ・ライブラリ130、およびクライアント・コンピューティング・デバイス150のコンポーネントのブロック図である。
図4は、一実装形態を示すものに過ぎず、異なる実施形態を実施できる環境に関する限定を意味するものではないことを理解されたい。図示の環境に対して多くの変更を行うことができる。
【0032】
テープ・ライブラリ120、仮想テープ・ライブラリ130、およびクライアントコンピューティング・デバイス150はそれぞれ、通信ファブリック402を含むことができ、通信ファブリック402は、キャッシュ416、メモリ406、永続ストレージ408、通信ユニット410、および入力/出力(I/O)インタフェース412間の通信を提供する。通信ファブリック402は、プロセッサ(マイクロプロセッサ、通信およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、ならびにシステム内の任意の他のハードウェア・コンポーネント間で、データまたは制御情報あるいはその両方を渡すように設計されている任意のアーキテクチャにより実装され得る。例えば、通信ファブリック402は、1つまたは複数のバスまたはクロスバー・スイッチにより実装され得る。
【0033】
メモリ406および永続ストレージ408は、コンピュータ可読記憶媒体である。本実施形態において、メモリ406は、ランダム・アクセス・メモリ(RAM)を含む。一般に、メモリ406は、任意の適切な揮発性または不揮発性コンピュータ可読記憶媒体を含むことができる。キャッシュ416は、メモリ406から最近アクセスしたデータ、およびアクセスしたデータ近くのデータを保持することによって、コンピュータ・プロセッサ404のパフォーマンスを向上させる高速メモリである。
【0034】
セキュア消去プログラム140は、キャッシュ416を介してそれぞれのコンピュータ・プロセッサ404のうちの1つまたは複数により実行するために、永続ストレージ408およびメモリ406に格納されてよい。実施形態において、永続ストレージ408は、磁気ハード・ディスク・ドライブを含む。磁気ハード・ディスク・ドライブの代わりに、またはそれに加えて、永続ストレージ408は、ソリッド・ステート・ハード・ドライブ、半導体ストレージ・デバイス、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROM)、フラッシュ・メモリ、またはプログラム命令もしくはデジタル情報を格納可能な任意の他のコンピュータ可読記憶媒体を含むことができる。
【0035】
永続ストレージ408によって使用される媒体は、リムーバブルであってもよい。例えば、リムーバブル・ハード・ドライブを永続ストレージ408に使用することができる。他の例は、光学ディスクおよび磁気ディスク、サム・ドライブ、ならびに、永続ストレージ408の一部でもある別のコンピュータ可読記憶媒体への転送のためにドライブに挿入されるスマート・カードを含む。
【0036】
これらの例において、通信ユニット410は、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例において、通信ユニット410は、1つまたは複数のネットワーク・インタフェース・カードを含む。通信ユニット410は、物理的通信リンクおよび無線通信リンクのいずれかまたは両方を使用して通信を提供することができる。セキュア消去プログラム140を、通信ユニット410を通じて永続ストレージ408にダウンロードすることができる。
【0037】
I/Oインタフェース412は、テープ・ライブラリ120、仮想テープ・ライブラリ130、またはクライアント・コンピューティング・デバイス150、あるいはその組合せに接続され得る他のデバイスによる、データの入力および出力を可能にする。例えば、I/Oインタフェース412は、キーボード、キーパッド、タッチ・スクリーン、または何らかの他の適切な入力デバイス、あるいはその組合せなどの外部デバイス418への接続を提供することができる。外部デバイス418は、例えば、サム・ドライブ、携帯型光学ディスクまたは磁気ディスク、およびメモリ・カードなどの携帯型コンピュータ可読記憶媒体を含むこともできる。本発明の実施形態、例えば、セキュア消去プログラム140を実施するために使用するソフトウェアおよびデータを、このような携帯型コンピュータ可読記憶媒体に格納して、I/Oインタフェース412を介して永続ストレージ408にロードすることができる。I/Oインタフェース412は、ディスプレイ420にも接続している。
【0038】
ディスプレイ420は、データをユーザに表示するための機構を提供し、例えば、コンピュータ・モニタであってよい。
【0039】
本明細書に記載のプログラムは、本発明の特定の実施形態において実施される適用に基づいて特定されている。しかしながら、本明細書における任意の特定のプログラムの命名(nomenclature)は、便宜上使用されているものに過ぎず、したがって、本発明は、そのような命名によって特定されるまたは暗示されるあるいはその両方である任意の特定の適用のみにおける使用に限定されるべきではないことを理解されたい。
【0040】
本発明は、任意の可能な統合の技術的詳細レベルにおけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する1つまたは複数のコンピュータ可読記憶媒体を含むことができる。
【0041】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持し格納することができる有形デバイスであってよい。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、携帯型コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードもしくは命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【0042】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【0043】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続することができる。一部の実施形態において、本発明の態様を実行するために、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0044】
本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら、本発明の態様について本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0045】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んだ製品を含むべく、コンピュータ可読記憶媒体に格納されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0046】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータによって実施されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0047】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことができる。一部の代替実装形態において、ブロックに記載された機能は、図に記載された順序以外で生じる場合がある。例えば、連続して示す2つのブロックは、実際には、1つのステップとして実現することができ、部分的にまたは完全に時間的に重なる方法で、同時に実行することができ、実質的に同時に実行することができ、またはそれらのブロックは、時には、関与する機能に応じて、逆の順序で実行することができる。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェア・ベースのシステムによって実施することができることにも留意されたい。
【0048】
本開示の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることも、開示された実施形態に限定することも意図していない。本発明の範囲から逸脱することなく、多くの変更および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術と比べた実際の応用もしくは技術的改良を最も良く説明するために、または当業者が本明細書に開示された実施形態を理解できるようにするために選択されたものである。
【手続補正書】
【提出日】2024-03-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
1つまたは複数のプロセッサにより、非アクティブ・データ領域がテープのテープ終端(EOT)に存在することを判定することと、
前記非アクティブ・データ領域がEOTに存在すると判定したことに応答して、1つまたは複数のプロセッサにより、前記非アクティブ・データ領域に位置するデータに異なるデータを上書きすることによって、EOTに存在する前記非アクティブ・データ領域をセキュアに消去することと
を含むコンピュータ実装方法。
【請求項2】
1つまたは複数のプロセッサにより、前記テープの非アクティブ・データ領域が容量閾値未満であることを判定することをさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定することが、前記テープの前記非アクティブ・データ領域が前記容量閾値未満であると判定したことに応答している、請求項1に記載のコンピュータ実装方法。
【請求項3】
1つまたは複数のプロセッサにより、EOTに存在する前記非アクティブ・データ領域を、セキュアに消去されたとして記録することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
1つまたは複数のプロセッサにより、前記テープの非アクティブ・データ領域が容量閾値を超えていることを判定することと、
前記テープの前記非アクティブ・データ領域が容量閾値を超えていると判定したことに応答して、
1つまたは複数のプロセッサにより、前記テープの1つまたは複数のアクティブ領域からのデータを第2のテープにコピーすることと、
1つまたは複数のプロセッサにより、セキュアに消去されたとして記録されていない前記テープの領域を、セキュアに消去することと
をさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
セキュアに消去されたとして記録されていない前記テープの前記領域を、セキュアに消去したことに応答して、
1つまたは複数のプロセッサにより、前記テープのセキュアに消去された記録を除去することと、
1つまたは複数のプロセッサにより、前記テープを空のテープとして特定することと
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
1つまたは複数のプロセッサにより、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないことを判定することをさらに含み、
EOTに存在する前記非アクティブ・データ領域をセキュアに消去することが、前記非アクティブ・データ領域がセキュアに消去されたとして記録されていないことを判定したことにさらに応答している、請求項1に記載のコンピュータ実装方法。
【請求項7】
1つまたは複数のプロセッサにより、前記テープがアイドル状態にあることを判定することをさらに含み、
前記非アクティブ・データ領域が前記テープのEOTに存在することを判定することが、前記テープが前記アイドル状態にあると判定したことに応答している、請求項1に記載のコンピュータ実装方法。
【請求項8】
プロセッサに、請求項1ないし7のいずれか一項に記載のコンピュータ実装方法を実行させるためのプログラム。
【請求項9】
請求項1ないし7のいずれか一項に記載のコンピュータ実装方法を実行するプロセッサを含むテープ・ドライブ。
【国際調査報告】