(57)【特許請求の範囲】
【請求項１】
ホストに結合させることができる仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するためのシステムであって、
複数のスクラッチ消去済みボリュームを格納するように構成され、かつ、前記ホストに結合することができる複数のＶＴＬノードを含み、前記ＶＴＬノードの各々は前記ホストに結合されるように構成されたプロセッサを含み、前記プロセッサの各々は、
前記ホストから、前記複数のＶＴＬノードの１つにおけるボリュームをデマウントする要求を受信し、
前記要求を受信することに応答して、前記ボリュームをスクラッチ・カテゴリに転送し、
前記ボリューム内に格納されたデータを消去し、前記ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化し、
前記複数のＶＴＬノードについての所定の基準に基づいて、前記複数のＶＴＬノードの１つのＶＴＬノードに、前記スクラッチ消去済みボリュームの所有権を与える、
ように構成されるシステム。
【請求項２】
前記プロセッサの各々は、
前記ＶＴＬノードの各々が所有するスクラッチ消去済みボリュームの数を、スクラッチ消去済みボリュームの所定の閾値数と比較し、
前記比較に基づいて、前記ＶＴＬノードに前記所有権を与えるようにさらに構成される、請求項１に記載のシステム。
【請求項３】
前記ＶＴＬノードは、前記所定の閾値数を下回るスクラッチ消去済みボリュームを所有する、請求項２に記載のシステム。
【請求項４】
前記ＶＴＬノードは、前記複数のＶＴＬノードの他のＶＴＬノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項３に記載のシステム。
【請求項５】
前記ＶＴＬノードは、前記複数のＶＴＬノードの他のＶＴＬノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項２に記載のシステム。
【請求項６】
前記プロセッサの各々は、
前記ホストが、前記複数のＶＴＬノードの各々におけるスクラッチ消去済みボリュームの使用を要求する頻度を判断し、
前記ＶＴＬノードの各々が所有するスクラッチ消去済みボリュームの数と、前記頻度との比を判断し、
前記比に基づいて、前記ＶＴＬノードに前記所有権を与えるようにさらに構成される、請求項１に記載のシステム。
【請求項７】
前記ＶＴＬノードは、前記比に対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項６に記載のシステム。
【請求項８】
ホストに結合された仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するための方法であって、前記ＶＴＬドメインは、各々がプロセッサを含み、かつ、複数のスクラッチ消去済みボリュームを格納するように構成された複数のＶＴＬノードを含む、前記方法が、
第１のプロセッサにより、前記ホストから、前記複数のＶＴＬノードの１つにおけるボリュームをデマウントする要求を受信することと、
前記要求を受信することに応答して、前記ボリュームをスクラッチ・カテゴリに転送することと、
前記ボリューム内に格納されたデータを消去し、前記ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化することと、
前記複数のＶＴＬノードについての所定の基準に基づいて、前記複数のＶＴＬノードの１つのＶＴＬノードに、前記スクラッチ消去済みボリュームの所有権を与えることと、
を含む方法。
【請求項９】
前記ボリュームの所有権を与えることは、
前記ＶＴＬノードの各々が所有するスクラッチ消去済みボリュームの数を、スクラッチ消去済みボリュームの所定の閾値数と比較することと、
前記比較に基づいて、前記ＶＴＬノードに前記所有権を与えることと、
を含む、請求項８に記載の方法。
【請求項１０】
前記ＶＴＬノードは、前記所定の閾値数を下回るスクラッチ消去済みボリュームを所有する、請求項９に記載の方法。
【請求項１１】
前記ＶＴＬノードは、前記複数のＶＴＬノード内の他のＶＴＬノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項１０に記載の方法。
【請求項１２】
前記ＶＴＬノードは、前記複数のＶＴＬノード内の他のＶＴＬノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項９に記載の方法。
【請求項１３】
前記ボリュームの所有権を与えることは、
それぞれのプロセッサにより、前記ホストがそのＶＴＬノードにおけるスクラッチ消去済みボリュームの使用を要求する頻度を判断することと、
それぞれのプロセッサにより、そのＶＴＬノードが所有するスクラッチ消去済みボリュームの数と、前記頻度との比を判断することと、
前記比に基づいて、前記ＶＴＬノードに前記所有権を与えることと、
を含む、請求項８に記載の方法。
【請求項１４】
前記ＶＴＬノードは、前記比に対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項１３に記載の方法。
【請求項１５】
ホストに結合された仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するためのコンピュータ・プログラムであって、前記ＶＴＬドメインは、各々がプロセッサを含み、かつ、複数のスクラッチ消去済みボリュームを格納するように構成された複数のＶＴＬノードを含む、前記プログラムであって、
前記ホストから、前記複数のＶＴＬノードの１つにおけるボリュームをデマウントする要求を受信することと、
前記要求を受信することに応答して、前記ボリュームをスクラッチ・カテゴリに転送することと、
前記ボリューム内に格納されたデータを消去し、前記ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化することと、
前記複数のＶＴＬノードについての所定の基準に基づいて、前記複数のＶＴＬノードの１つのＶＴＬノードに、前記スクラッチ消去済みボリュームの所有権を与えることと、を前記プロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ストレージ・システムに関し、具体的には、仮想テープ・ライブラリ・ドメインを管理するためのシステム、方法、及びプログラムに関する。
【背景技術】
【０００２】
仮想テープ・ライブラリ（ＶＴＬ）は、典型的には、例えばディスクを用いて、ホストに高速テープ・ライブラリを提供する。一般に、ホストは、次のようにテープ・ライブラリを使用する。：すなわち、
【０００３】
１）ホストは、テープ・ボリューム（以下、「ボリューム」と呼ぶ）をテープ・ライブラリ内に挿入する。ボリュームは、ボリューム・シリアルナンバー（「ＶＯＬＳＥＲ」）によって識別され、挿入されたボリュームは、「挿入」カテゴリという名で呼ばれるカテゴリの下でカテゴリ化される。カテゴリは、ボリューム属性の１つであり、特定の時間におけるボリュームの状態及び使用を表すために、各ボリュームについて必然的に定められる。
【０００４】
２）ホストは、挿入カテゴリ内のボリュームを「スクラッチ」カテゴリに転送する。スクラッチ・カテゴリは、ブランク・テープ及び／又は再使用可能なテープを格納するために用いられる。
【０００５】
３）ホストがボリュームのマウント（mount）を要求する。テープ・ライブラリは、要求されたボリュームをマウントし、ホストにボリュームを提供する。ホストは、ＶＯＬＳＥＲを指定し、特定のボリュームのマウントを要求すること（特定のマウント）によって、又はカテゴリを指定し、カテゴリ内のいずれかのボリュームを要求すること（カテゴリ・マウント）によって、マウントを要求する。新しいデータがボリュームの最初から開始して書き込まれる場合には、一般に、スクラッチ・カテゴリが指定され、カテゴリ・マウント操作が実施される（以下、「スクラッチ・マウント」と呼ぶ）。
【０００６】
４）ホストは、マウントされたボリュームを「プライベート」カテゴリに転送し、入力／出力（Ｉ／Ｏ）操作を実施する。
【０００７】
５）Ｉ／Ｏ操作の完了後、ホストは、ボリュームの「デマウント（de-mount）」を要求する。そして、
【０００８】
６）プライベート・カテゴリ内のボリュームの中で、もはや必要とされないボリュームについては、ホストは、そのボリュームをスクラッチ・カテゴリに転送する。基本的には、スクラッチ・カテゴリに転送されるボリューム内のデータはもはや保証されず、かつ、この時点で消去し、ボリュームを再使用できるようにすることができる。ホストが後でボリュームのマウントを要求すると、スクラッチ・カテゴリ内のボリュームがホストに与えられる。
【０００９】
スクラッチ・カテゴリ内にボリュームが残されていない場合、テープ・ライブラリは、使用可能なブランク・テープ又は再使用可能なテープが存在しないと認識する。このような状況でホストがスクラッチ・マウントを要求した場合、マウント要求は失敗する。
【００１０】
ＶＴＬは、ストレージ・ディスクを用いて、上記の機能を実施する。特に、ＶＴＬはスクラッチ・マウント要求に高速で応答できるという点で、物理テープ・ライブラリと比べると、ストレージ・ディスクを使用する多数の利点がある。実際に物理テープをマウントするのではなく、論理ボリュームがディスク上に準備されるため、ＶＴＬがホストに対して迅速に応答することができる。
【００１１】
さらに、ボリュームがスクラッチ・カテゴリに転送されても、ＶＴＬは、典型的には、ボリューム内のデータを直ちに消去するわけではないので、ユーザは、該ユーザが誤ってスクラッチ・カテゴリに転送したボリュームのデータを復元することができる。代わりに、データは、所定時間（例えば２４時間）完全な状態のまま残されてから消去される。この点で、スクラッチ・カテゴリ内にあり、かつ、データがまだ消去されていないボリュームを「スクラッチ未消去（scratch unerased）」ボリュームと呼び、所定時間が経過した後にデータが完全に消去されたボリュームを「スクラッチ消去済み（scratch erased）」ボリュームと呼ぶ。
【００１２】
加えて、多くのＶＴＬは、複数のＶＴＬのクラスタ化をサポートする。ＶＴＬをクラスタ化する目的は、仮想テープ・ドライブの数及びディスク容量を増大させること、並びにより高い可用性及びデータ複製による障害回復解決法を実装することである。一般に、ＶＴＬは、インターネット・プロトコル（ＩＰ）ネットワークなどを介して互いに接続され、ホストには単一の仮想テープ・ライブラリのように見える。ここでは、クラスタ化構成全体を「ＶＴＬドメイン」と呼び、ＶＴＬドメインを構成するＶＴＬの各々を「ＶＴＬノード」と呼ぶ。
【００１３】
ホストがクラスタ化構成において挿入操作又はマウント操作を実施するとき、ホストからの要求コマンドは、ホストが物理的に接続されているＶＴＬノードにより受信される。その後、ＶＴＬノードは、互いに通信し、ＶＴＬドメイン内で一貫性をもつようになり、かつ、ホストに応答を返す。
【００１４】
ＶＴＬクラスタ化構成においては、２つのＶＴＬノードを１つのホストに接続することも可能であり、ホストは、該ホストがＶＴＬノードの各々に別個にマウント要求を発行するように動作する。このような場合には、通常、２つのＶＴＬノードに共通するスクラッチ・カテゴリが用いられる。
【００１５】
動作中、従来のＶＴＬノードは、次のように動作することにより、ホストからのマウント要求に適合すると考えられる。：すなわち、
【００１６】
１）ＶＴＬノードは互いに通信して、ＶＴＬドメイン内に、幾つのスクラッチ・カテゴリ内のボリューム（例えば、スクラッチ未消去ボリューム及びスクラッチ消去済みボリューム）が存在するかをチェックする。そして、
【００１７】
２）ＶＴＬノードは、スクラッチ消去済みボリュームの中から、可能な限り早い時点で消去されるボリュームを選択し、そのボリュームをホストに提供する。ＶＴＬドメイン全体においてスクラッチ消去済みボリュームが存在しない場合、ＶＴＬノードは、スクラッチ未消去ボリュームの中から、可能な限り早い時点でスクラッチ・カテゴリに転送されるボリュームを選択し、そのボリュームをホストに提供する。
【００１８】
ホストがマウントを要求する度にこれらの操作を実施する場合、ＶＴＬノードは、ホストがマウントを要求する度に互いに通信してスクラッチ・ボリュームを選択する必要があり、それにより、ＶＴＬノードの主要な目的であるマウント性能が犠牲になる。ホストがマウントを要求する度にＶＴＬノードが互いに通信する必要性を克服するための１つの従来技術は、どのボリュームがどのＶＴＬノードによって管理されることになるかを前もって判断する方法を提供する。つまり、各ボリュームについて、１つのＶＴＬノードをそのボリュームの「所有者」として指定し、この所有権は、ＶＴＬノード間で移転可能である。ボリューム所有者のＶＴＬノードだけが、そのボリュームのユーザ・データ及びメタデータにアクセスすることができる。ＶＴＬノードがボリュームをマウントする必要があり、該ノードがそのボリュームの現在の所有者ではない場合、ＶＴＬノードは最初に、ＶＴＬドメインにおけるそのボリュームの所有権を獲得し、そのボリュームの新しい所有者になる。
【００１９】
スクラッチ・カテゴリに転送されたボリュームを含む、ボリュームの全ては、常に定められたそれらの所有者ノードを有する。具体的には、ホストがＶＴＬノードにスクラッチ・マウント要求を発行すると、ＶＴＬノードは、スクラッチ・カテゴリ内にあり、かつ、その所有者が該ＶＴＬノードであるボリュームから、最先（earliest）のボリュームを選択し、この最先のボリュームをホストに提供する。この点で、スクラッチ消去済みボリュームが存在せず、最先のボリュームがスクラッチ未消去ボリュームであった場合でも、ＶＴＬノードは、その時点でスクラッチ未消去ボリューム内のデータを消去し、次に、このボリュームをホストに提供する。ＶＴＬノードは、スクラッチ・カテゴリ内にあり、かつ、その所有者が該ＶＴＬノードであるボリュームを有さない場合のみ、ＶＴＬドメイン内の他のＶＴＬノードと通信する。ここで、ＶＴＬノードは、ＶＴＬドメイン内の最先のボリュームを選択し、その最先のボリュームの所有権を自分自身に移し、次いで、その最先のボリュームをホストに提供する。
【００２０】
この方法は、ＶＴＬノード間の通信を最小にすることによってスクラッチ・マウント性能を最適化するが、ＶＴＬノード間の通信をなくすことは、他の非効率性をもたらし得る。以下は、複数のＶＴＬノードが互いに通信しない場合に遭遇する非効率性の少なくとも一部を記述する。：すなわち、
【００２１】
１）２つ又はそれ以上のノード（例えば、ＶＴＬノード０及びＶＴＬノード１）から成るクラスタ化構成において、ＶＴＬノード０が所有権を有するスクラッチ・ボリュームの数と、ＶＴＬノード１が所有権を有するスクラッチ・ボリュームの数との間に大きな差がある可能性がある。例えば、ＶＴＬノード０は多数のボリュームを所有し、ＶＴＬノード１はごく僅かのボリュームしか所有しないことがあり得る。
【００２２】
２）この状況において、ホストがスクラッチ・カテゴリにボリュームを転送する速度は、ホストがスクラッチ・マウント要求をＶＴＬノードに発する速度とほぼ同じであり得る。
【００２３】
３）この場合、その所有者がＶＴＬノード０である十分なスクラッチ未消去ボリューム及びスクラッチ消去済みボリュームが存在するはずである。ここで、ホストからマウント要求を受信すると、ＶＴＬノード０は、その所有者がＶＴＬノード０であるスクラッチ消去済みボリュームの中から最先のボリュームをホストに戻す。しかしながら、一方、所有者がＶＴＬノード１であるスクラッチ・ボリュームは多くなく、その所有者がＶＴＬノード１であるスクラッチ消去済みボリュームがまだ存在しない可能性がある。従って、ホストからＶＴＬノード１へのスクラッチ・マウント要求を受信すると、ＶＴＬノード１は、その所有者がＶＴＬノード０であるスクラッチ消去済みボリュームが依然として残っていても、その時点でその所有者がＶＴＬノード１であるスクラッチ未消去ボリュームを消去し、消去されたボリュームをホストに提供する必要がある。そして、
【００２４】
４）この状況において、ホストがボリュームをスクラッチ・カテゴリに転送した直後に、その所有者がＶＴＬノード１であるボリュームが、時期尚早に消去される可能性がある。ユーザが操作エラーによりボリュームをスクラッチ・カテゴリに転送した場合、データは完全に失われ、復元することができない。
【発明の概要】
【発明が解決しようとする課題】
【００２５】
本発明の目的は、仮想テープ・ライブラリ・ドメインを管理するためのシステム、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００２６】
種々の実施形態が、ホストに結合させることができる仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するためのシステムを提供する。１つのシステムが、複数のスクラッチ消去済みボリュームを格納するように構成され、かつ、ホストに結合させることができる複数のＶＴＬノードを含む。各々のＶＴＬノードは、ホストに結合されるように構成されたプロセッサを含む。１つの実施形態において、各々のプロセッサは、ホストから、複数のＶＴＬノードの１つにおけるボリュームをデマウントする要求を受信し、要求を受信することに応答して、ボリュームをスクラッチ・カテゴリに転送するように構成される。各々のプロセッサは、ボリューム内に格納されたデータを消去し、ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化し、複数のＶＴＬノードについての所定の基準に基づいて、複数のＶＴＬノードの１つのＶＴＬノードに、スクラッチ消去済みボリュームの所有権を与えるようにさらに構成される。
【００２７】
他の種々の実施形態が、ホストに結合された仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するための方法を提供し、ＶＴＬドメインは、各々がプロセッサを含み、かつ、複数のスクラッチ消去済みボリュームを格納するように構成された複数のＶＴＬノードを含む。１つの方法は、ホストから、複数のＶＴＬノードの１つにおけるボリュームをデマウントする要求を受信することと、要求を受信することに応答して、ボリュームをスクラッチ・カテゴリに転送することとを含む。本方法は、ボリューム内に格納されたデータを消去し、そのボリュームをスクラッチ消去済みボリュームとしてカテゴリ化することと、複数のＶＴＬノードについての所定の基準に基づいて、複数のＶＴＬノードの１つのＶＴＬノードに、スクラッチ消去済みボリュームの所有権を与えることとをさらに含む。
【００２８】
ホストに結合された仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するためのコンピュータ・プログラム製品の方法を含む、物理コンピュータ・ストレージ媒体（例えば、１つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせ）もまた提供され、ＶＴＬドメインは、各々がプロセッサを含み、かつ、複数のスクラッチ消去済みボリュームを格納するように構成された複数のＶＴＬノードを含む。１つの物理コンピュータ・ストレージ媒体は、ホストから、複数のＶＴＬノードの１つにおけるボリュームをデマウントする要求を受信するためのコンピュータ・コードと、要求を受信することに応答して、ボリュームをスクラッチ・カテゴリに転送するためのコンピュータ・コードとを含む。物理コンピュータ・ストレージ媒体は、ボリューム内に格納されたデータを消去し、ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化するためのコンピュータ・コードと、複数のＶＴＬノードについての所定の基準に基づいて、複数のＶＴＬノードの１つのＶＴＬノードに、スクラッチ消去済みボリュームの所有権を与えるためのコンピュータ・コードとをさらに含む。
【００２９】
本発明の利点を容易に理解するために、添付図面に示される特定の実施形態を参照して、簡潔に上述した本発明のより詳細な説明が与えられる。これらの図面は本発明の典型的な実施形態を示すものにすぎず、従って、本発明の範囲を限定するものと考えられるべきではないことを理解した上で、本発明が、添付図面を用いて付加的な詳細及び細部と共に記載され、説明される。
【図面の簡単な説明】
【００３０】
【図１】仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するためのシステムの１つの実施形態のブロック図である。
【図２】ＶＴＬドメインにおいてスクラッチ消去済みボリュームを管理するための方法の１つの実施形態のフロー図である。
【図３】ＶＴＬドメインにおいてスクラッチ消去済みボリュームを管理するための方法の別の実施形態のフロー図である。
【発明を実施するための形態】
【００３１】
種々の実施形態が、仮想テープ・ライブラリ（ＶＴＬ）ドメインを管理するためのシステム及び方法を提供する。さらに、ＶＴＬドメインを管理するための、コンピュータ・コードを含むコンピュータ・ストレージ媒体も提供される。
【００３２】
ここで図１を参照すると、図１は、ホスト・コンピューティング装置５０に結合することができるＶＴＬドメイン１１０を管理するためのシステム１００の１つの実施形態のブロック図である。少なくとも図示される実施形態において、ＶＴＬドメイン１１０は、バス１５０（例えば、有線及び／又は無線バス）を介してクラスタ構成内に配置されたＶＴＬノード１２０及びＶＴＬノード１３０を含む。
【００３３】
ＶＴＬノード１２０は、複数のテープ・ボリューム（以下、「ボリューム」と呼ぶ）を格納する又は「所有する」ように構成され、かつ、ボリュームを管理するためのプロセッサ１２９を含む。ＶＴＬノード１２０が所有するボリュームは、データを格納するように構成されるので、ホスト５０は、システム１００内で入力／出力（Ｉ／Ｏ）動作を行うことができる。さらに、各々のボリュームは、いずれかの所与の特定の時点におけるボリュームの状態に応じたカテゴリを含むように構成される。
【００３４】
ホスト５０がボリュームを利用しているとき、ボリュームは、ＶＴＬノード１２０内のプライベート・カテゴリ１２２に転送される。ホスト５０がボリュームを利用していないとき、ボリュームは、スクラッチ・カテゴリ１２４に転送される。スクラッチ・カテゴリ１２４内には、２つのサブ・カテゴリ、すなわちスクラッチ未消去サブ・カテゴリ１２６及びスクラッチ消去済みサブ・カテゴリ１２８が存在する。
【００３５】
スクラッチ・カテゴリ１２４内のボリュームは、ボリュームがホスト５０によりデマウントされた後であるが、ボリューム内に格納されたデータが消去されていない、スクラッチ未消去サブ・カテゴリ１２６を含む。種々の実施形態において、ボリュームがホスト５０によりデマウントされた後、該ボリュームは、任意の所定時間、スクラッチ未消去サブ・カテゴリ１２６内に留まることができる。１つの実施形態においては、ボリュームがホスト５０によりデマウントされた後、該ボリュームは、約２４時間、スクラッチ未消去サブ・カテゴリ１２６内に留まる。他の実施形態においては、ボリュームがホスト５０によりデマウントされた後、該ボリュームは、約２４時間を上回る又は下回る時間、スクラッチ未消去サブ・カテゴリ１２６内に留まることができる。このように、ユーザ又はホスト５０が、ボリュームがスクラッチ未消去サブ・カテゴリ１２６内に存在する所定時間内にそのデータを利用することを望む場合、ボリューム内のデータを復元することができる。ボリュームが、所定時間、スクラッチ未消去サブ・カテゴリ１２６内に存在した後、ボリューム内のデータは消去され、ボリュームはスクラッチ消去済みサブ・カテゴリ１２８に転送される。
【００３６】
スクラッチ消去済みサブ・カテゴリ１２８内に存在するボリュームは、ホスト５０によるマウントのために使用可能である。つまり、ＶＴＬノード１２０は、ホスト５０から、Ｉ／Ｏ操作のためにボリュームを使用する要求を受信することに応答して、スクラッチ消去済みサブ・カテゴリ１２８内に存在するボリュームをマウントするように構成される。さらに、ＶＴＬノード１２０は、ボリュームをマウントすることに応答して、スクラッチ・カテゴリ１２４、具体的にはスクラッチ消去済みサブ・カテゴリ１２８から、プライベート・カテゴリ１２２にボリュームを転送するように構成される。
【００３７】
プロセッサ１２９は、ＶＴＬノード１２０及びＶＴＬドメイン１１０内の種々のボリュームの所有権を管理するように構成される。つまり、プロセッサ１２９は、ＶＴＬノード１２０とＶＴＬノード１３０との間のボリュームの所有権を少なくとも部分的に判断するように構成される。
【００３８】
１つの実施形態において、プロセッサ１２９は、各々のＶＴＬノード（例えば、ＶＴＬノード１２０、１３０）についてのスクラッチ消去済みボリュームのグローバルな所定の閾値量、又は、それぞれのＶＴＬノード（例えば、ＶＴＬノード１２０、１３０）についてのスクラッチ消去済みボリュームの所定の閾値量に基づいて、ＶＴＬドメイン１１０内の種々のボリュームの所有権を判断するように構成される。この実施形態において、プロセッサ１２９は、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８の各々におけるボリュームの数を監視するように構成される。
【００３９】
さらに、プロセッサ１２９は、ホスト５０から、プライベート・カテゴリ１２２内に存在するボリュームをデマウントする要求を受信するように構成される。これに応答して、プロセッサ１２９は、ボリュームをプライベート・カテゴリ１２２からスクラッチ未消去サブ・カテゴリ１２６に転送するように構成される。プロセッサ１２９は、ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ１２６内に存在した後、ボリューム内のデータを消去するようにさらに構成される。データが消去された後、プロセッサ１２９は、スクラッチ消去済みサブ・カテゴリ１２８内のボリュームの数を、スクラッチ消去済みボリュームのグローバルな所定の閾値数と比較し、かつ、スクラッチ消去済みサブ・カテゴリ１３８内のボリュームの数を、スクラッチ消去済みボリュームのグローバルな所定の閾値数、又はそれぞれのＶＴＬノードについてのスクラッチ消去済みボリュームの所定の閾値数と比較するように構成される。
【００４０】
スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８が、それぞれのＶＴＬノードについての所定量（すなわち、グローバルな所定の閾値量又は個々の所定の閾値量）を下回るスクラッチ消去済みボリュームを含む場合、プロセッサ１２９は、ボリュームの所有権を、そのスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８の両方とも、それぞれの所定の閾値量を下回るスクラッチ消去済みボリュームを含む場合、プロセッサ１２９は、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８のどちらが、相対的に最も少ない数のボリュームを含むかを判断し、ボリュームの所有権を、そのスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８の両方が、スクラッチ消去済みボリュームのそれぞれの所定量を上回るボリュームを含む場合、プロセッサ１２９は、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８のどちらが、相対的に最も少ない数のボリュームを含むかを判断し、ボリュームの所有権を、そのスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。
【００４１】
別の実施形態において、プロセッサ１２９は、ＶＴＬノード１２０、１３０が操作する相対的なトラフィックと、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８内のボリュームの数とに基づいて、ＶＴＬドメイン１１０内の種々のボリュームの所有権を判断するように構成される。この実施形態においては、プロセッサ１２９は、各々のスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）におけるボリュームの数と、Ｉ／Ｏ操作を実施するためにホスト５０がＶＴＬノード１２０、１３０を用いる頻度（すなわち、ホスト５０がＶＴＬノード１２０、１３０からのボリュームを用いる頻度）との比を生成し、この比に基づいて、スクラッチ消去済みボリュームの所有権を与えるように構成される。
【００４２】
この実施形態において、プロセッサ１２９は、ホスト５０から、プライベート・カテゴリ１２２内に存在するボリュームをデマウントする要求を受信するように構成される。これに応答して、プロセッサ１２９は、ボリュームをプライベート・カテゴリ１２２からスクラッチ未消去サブ・カテゴリ１２６に転送するように構成される。プロセッサ１２９は、ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ１２６内に存在した後、ボリューム内のデータを消去するようにさらに構成される。データが消去された後、プロセッサ１２９は、スクラッチ消去済みサブ・カテゴリ１２８内のボリュームの数と、Ｉ／Ｏ操作を実施するためにホスト５０がＶＴＬノード１２０を用いる頻度（すなわち、ホスト５０がＶＴＬノード１２０からのボリュームを用いる頻度）との比を生成するように構成される。さらに、プロセッサ１２９は、スクラッチ消去済みサブ・カテゴリ１３８内のボリュームの数と、Ｉ／Ｏ操作を実施するためにホスト５０がＶＴＬノード１３０を用いる頻度（すなわち、ホスト５０がＶＴＬノード１３０からのボリュームを用いる頻度）との比を生成するように構成される。
【００４３】
次いで、プロセッサ１２９は、比を比較して、ボリュームの所有権を、最も低い比を有するスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。比が所定の閾値量の範囲内にある場合、プロセッサ１２９は、ホスト５０が、ボリュームの所有権を最高頻度で用いるＶＴＬノード（すなわち、ＶＴＬノード１２０又はＶＴＬノード１３０）と関連付けられたスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。
【００４４】
ＶＴＬノード１３０もまた、複数のボリュームを格納又は所有するように構成され、かつ、プロセッサ１３９を含む。ＶＴＬノード１３０が所有するボリュームは、ホスト５０がシステム１００内で入力／出力（Ｉ／Ｏ）操作を実施できるように、データを格納するように構成される。さらに、各々のボリュームは、いずれかの所与の特定の時点におけるボリュームの状態に応じたカテゴリを含むように構成される。
【００４５】
ホスト５０がボリュームを利用しているとき、ボリュームは、ＶＴＬノード１３０内のプライベート・カテゴリ１３２に転送される。ホスト５０がボリュームを利用していないとき、ボリュームは、スクラッチ・カテゴリ１３４に転送される。スクラッチ・カテゴリ１３４内には、２つのサブ・カテゴリ、すなわちスクラッチ未消去サブ・カテゴリ１３６及びスクラッチ消去済みサブ・カテゴリ１３８が存在する。
【００４６】
スクラッチ・カテゴリ１３４内のボリュームは、ボリュームがホスト５０によりデマウントされた後であるが、ボリューム内に格納されたデータが消去されていない、スクラッチ未消去サブ・カテゴリ１３６を含む。種々の実施形態において、ボリュームがホスト５０によりデマウントされた後、該ボリュームは、任意の所定時間、スクラッチ未消去サブ・カテゴリ１３６内に留まることができる。１つの実施形態においては、ボリュームがホスト５０によりデマウントされた後、該ボリュームは、約２４時間、スクラッチ未消去サブ・カテゴリ１３６内に留まる。他の実施形態においては、ボリュームがホスト５０によりデマウントされた後、該ボリュームは、約２４時間を上回る又は下回る時間、スクラッチ未消去サブ・カテゴリ１３６内に留まることができる。このように、ユーザ又はホスト５０が、ボリュームがスクラッチ未消去サブ・カテゴリ１３６内に存在する所定時間内にそのデータを利用することを望む場合、ボリューム内のデータを復元することができる。ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ１３６内に存在した後、ボリューム内のデータは消去され、ボリュームはスクラッチ消去済みサブ・カテゴリ１３８に転送される。
【００４７】
スクラッチ消去済みサブ・カテゴリ１３８内に存在するボリュームは、ホスト５０によるマウントのために使用可能である。つまり、ＶＴＬノード１３０は、ホスト５０から、Ｉ／Ｏ操作のためにボリュームを使用する要求を受信することに応答して、スクラッチ消去済みサブ・カテゴリ１３８内に存在するボリュームをマウントするように構成される。さらに、ＶＴＬノード１３０は、ボリュームをマウントすることに応答して、スクラッチ・カテゴリ１３４、具体的にはスクラッチ消去済みサブ・カテゴリ１３８から、プライベート・カテゴリ１３２にボリュームを転送するように構成される。
【００４８】
プロセッサ１３９は、ＶＴＬノード１３０及びＶＴＬドメイン１１０内の種々のボリュームの所有権を管理するように構成される。つまり、プロセッサ１３９は、ＶＴＬノード１２０とＶＴＬノード１３０との間のボリュームの所有権を判断するように構成される。
【００４９】
１つの実施形態において、プロセッサ１３９は、各々のＶＴＬノード（例えば、ＶＴＬノード１２０、１３０）についてのスクラッチ消去済みボリュームのグローバルな所定の閾値量、又は、それぞれのＶＴＬノード（例えば、ＶＴＬノード１２０、１３０）についてのスクラッチ消去済みボリュームの所定の閾値量に基づいて、ＶＴＬドメイン１１０内の種々のボリュームの所有権を判断するように構成される。この実施形態において、プロセッサ１３９は、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８の各々におけるボリュームの数を監視するように構成される。
【００５０】
さらに、プロセッサ１３９は、ホスト５０から、プライベート・カテゴリ１３２内に存在するボリュームをデマウントする要求を受信するように構成される。これに応答して、プロセッサ１３９は、ボリュームをプライベート・カテゴリ１３２からスクラッチ未消去サブ・カテゴリ１３６に転送するように構成される。プロセッサ１３９は、ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ１３６内に存在した後、ボリューム内のデータを消去するようにさらに構成される。データが消去された後、プロセッサ１３９は、スクラッチ消去済みサブ・カテゴリ１３８内のボリュームの数を、スクラッチ消去済みボリュームのグローバルな所定の閾値数と比較し、かつ、スクラッチ消去済みサブ・カテゴリ１２８内のボリュームの数を、スクラッチ消去済みボリュームのグローバルな所定の閾値数、又はそれぞれのＶＴＬノードについてのスクラッチ消去済みボリュームの所定の閾値数と比較するように構成される。
【００５１】
スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８が、それぞれのＶＴＬノードについての所定量（すなわち、グローバルな所定の閾値量又は個々の所定の閾値量）を下回るスクラッチ消去済みボリュームを含む場合、プロセッサ１３９は、ボリュームの所有権を、そのスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８の両方とも、それぞれの所定の閾値量を下回るスクラッチ消去済みボリュームを含む場合、プロセッサ１３９は、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８のどちらが、相対的に最も少ない数のボリュームを含むかを判断し、ボリュームの所有権を、そのスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８の両方が、スクラッチ消去済みボリュームのそれぞれの所定量を上回るボリュームを含む場合、プロセッサ１３９は、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８のどちらが、相対的に最も少ない数のボリュームを含むかを判断し、ボリュームの所有権を、そのスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。
【００５２】
別の実施形態において、プロセッサ１３９は、ＶＴＬノード１２０、１３０が操作する相対的なトラフィックと、スクラッチ消去済みサブ・カテゴリ１２８及びスクラッチ消去済みサブ・カテゴリ１３８内のボリュームの数とに基づいて、ＶＴＬドメイン１１０内の種々のボリュームの所有権を判断するように構成される。この実施形態においては、プロセッサ１３９は、各々のスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）におけるボリュームの数と、Ｉ／Ｏ操作を実施するためにホスト５０がＶＴＬノード１２０、１３０を用いる頻度（すなわち、ホスト５０がＶＴＬノード１２０、１３０からのボリュームを用いる頻度）との比を生成し、この比に基づいて、スクラッチ消去済みボリュームの所有権を与えるように構成される。
【００５３】
この実施形態において、プロセッサ１３９は、ホスト５０から、プライベート・カテゴリ１３２内に存在するボリュームをデマウントする要求を受信するように構成される。これに応答して、プロセッサ１３９は、ボリュームをプライベート・カテゴリ１２２からスクラッチ未消去サブ・カテゴリ１３６に転送するように構成される。プロセッサ１３９は、ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ１３６内に存在した後、ボリューム内のデータを消去するようにさらに構成される。データが消去された後、プロセッサ１３９は、スクラッチ消去済みサブ・カテゴリ１２８内のボリュームの数と、Ｉ／Ｏ操作を実施するためにホスト５０がＶＴＬノード１２０を用いる頻度（すなわち、ホスト５０がＶＴＬノード１２０からのボリュームを用いる頻度）との比を生成するように構成される。さらに、プロセッサ１３９は、スクラッチ消去済みサブ・カテゴリ１３８内のボリュームの数と、Ｉ／Ｏ操作を実施するためにホスト５０がＶＴＬノード１３０を用いる頻度（すなわち、ホスト５０がＶＴＬノード１３０からのボリュームを用いる頻度）との比を生成するように構成される。
【００５４】
次いで、プロセッサ１３９は、比を比較して、ボリュームの所有権を、最低の比を有するスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。比が所定の閾値量の範囲内にある場合、プロセッサ１３９は、ホスト５０が、ボリュームの所有権を最高頻度で用いるＶＴＬノード（すなわち、ＶＴＬノード１２０又はＶＴＬノード１３０）と関連付けられたスクラッチ消去済みサブ・カテゴリ（すなわち、スクラッチ消去済みサブ・カテゴリ１２８又はスクラッチ消去済みサブ・カテゴリ１３８）に与え、ボリュームをこれに転送するように構成される。
【００５５】
ＶＴＬドメイン１１０は、ＶＴＬノード１２０及びＶＴＬノード１３０を含むものとして示され、説明されるが、ＶＴＬドメインは、付加的なＶＴＬノードを含むこともできる。言い換えれば、ＶＴＬドメイン１１０は、システム１００及び／又はＶＴＬドメイン１１０の所望の構成に応じて、２つより多いＶＴＬノードを含むことができる。
【００５６】
ここで図２を参照すると、図２は、複数のＶＴＬノード（例えば、ＶＴＬノード１２０、１３０）を含むＶＴＬドメイン（例えば、ＶＴＬドメイン１１０）におけるスクラッチ消去済みボリュームを管理するための方法２００の１つの実施形態のフロー図である。少なくとも図示される実施形態において、方法２００は、ボリュームを用いるマウント要求を受信することから開始する（ブロック２０５）。
【００５７】
方法２００は、ボリュームをＶＴＬノード内のプライベート・カテゴリに転送すること（ブロック２１０）と、ホスト（例えば、ホスト５０）から、ボリュームを用いるＩ／Ｏ操作を実施する要求を受信すること（ブロック２１５）とをさらに含む。ボリュームをデマウントする要求が受信され（ブロック２２０）、ボリュームをＶＴＬノードのスクラッチ・カテゴリ内のスクラッチ未消去サブ・カテゴリに転送する要求も受信される（ブロック２２５）。
【００５８】
ボリューム内のデータが消去され、ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ内に存在した後、ボリュームは、スクラッチ消去済みボリュームとして指定される（ブロック２３０）。１つの実施形態においては、ボリュームは、データを消去する前に、約２４時間、スクラッチ未消去サブ・カテゴリ内に留まる。他の実施形態においては、ボリュームは、データを消去する前に、約２４時間を上回る又は下回る時間、スクラッチ未消去サブ・カテゴリ内に留まることができる。
【００５９】
ボリュームがスクラッチ消去済みボリュームとして指定された後、方法２００は、各々のＶＴＬノードにおけるスクラッチ消去済みボリュームの数を、そのＶＴＬノードについてのスクラッチ消去済みボリュームの所定の閾値量と比較することを含む（ブロック２３５）。１つの実施形態においては、各々のＶＴＬノードは、同じ所定の閾値量のスクラッチ消去済みボリュームを含む。別の実施形態においては、少なくとも２つのＶＴＬノードが、異なる所定の閾値量のスクラッチ消去済みボリュームを含む。
【００６０】
それぞれの所定の閾値量を下回るスクラッチ消去済みボリュームを含むＶＴＬノードが存在しない場合、１つのＶＴＬノード、又は最も少ない数のスクラッチ消去済みボリュームを有するＶＴＬノードに、ボリュームの所有権が与えられる（ブロック２４５）。それぞれの所定の閾値量を下回るスクラッチ消去済みボリュームを含むＶＴＬノードが少なくとも１つ存在する場合、方法２００は、次に、１つより多いＶＴＬノードが、閾値を下回るスクラッチ消去済みボリュームを含むかどうかを判断する（ブロック２５０）。
【００６１】
それぞれの所定の閾値量を下回るスクラッチ消去済みボリュームを含むＶＴＬノードが１つしか存在しない場合、ボリュームの所有権は、そのＶＴＬノードに与えられる（ブロック２５５）。それぞれの所定の閾値量を下回るスクラッチ消去済みボリュームを含むＶＴＬノードが複数存在する場合、１つのＶＴＬノード、又はそれぞれの所定の閾値量のスクラッチ消去済みボリュームに比べて最も少ない数のスクラッチ消去済みボリュームを有するＶＴＬノードに、ボリュームの所有権が与えられる（ブロック２６０）。ブロック２４５、２５５、又は２６０において、ボリュームの所有権がＶＴＬノードに与えられた後、方法２００は、別のボリュームについてのマウント要求を受信することを含む（ブロック２０５）か、又は、Ｉ／Ｏ操作に用いられた別のボリュームをデマウントする要求を受信することを含む（ブロック２２０）。
【００６２】
ここで図３を参照すると、図３は、複数のＶＴＬノード（例えば、ＶＴＬノード１２０、１３０）を含むＶＴＬドメイン（例えば、ＶＴＬドメイン１１０）におけるスクラッチ消去済みボリュームを管理するための方法３００の別の実施形態のフロー図である。少なくとも示される実施形態において、方法３００は、ボリュームを用いるマウント要求を受信することから開始する（ブロック３０５）。
【００６３】
方法３００は、ボリュームをＶＴＬノード内のプライベート・カテゴリに転送すること（ブロック３１０）と、ホスト（例えば、ホスト５０）から、ボリュームを用いるＩ／Ｏ操作を実施する要求を受信すること（ブロック３１５）とをさらに含む。ボリュームをデマウントする要求が受信され（ブロック３２０）、ボリュームをＶＴＬノードのスクラッチ・カテゴリ内のスクラッチ未消去サブ・カテゴリに転送する要求も受信される（ブロック３２５）。
【００６４】
ボリューム内のデータが消去され、ボリュームが所定時間、スクラッチ未消去サブ・カテゴリ内に存在した後、ボリュームは、スクラッチ消去済みボリュームとして指定される（ブロック３３０）。１つの実施形態においては、ボリュームは、データを消去する前に、約２４時間、スクラッチ未消去サブ・カテゴリ内に留まる。他の実施形態においては、ボリュームは、データを消去する前に、約２４時間を上回る又は下回る時間、スクラッチ未消去サブ・カテゴリ内に留まることができる。
【００６５】
ボリュームがスクラッチ消去済みボリュームとして指定された後、方法３００は、ホスト（例えば、ホスト５０）が、複数のＶＴＬノードの各々の中のボリュームの使用を要求する頻度を判断することを含む（ブロック３３５）。次いで、方法３００は、各々のＶＴＬノードにおけるスクラッチ消去済みボリュームの数と、それぞれの判断されたボリューム使用頻度とを比較し、ＶＴＬノードの各々について、スクラッチ消去済みボリュームと、ボリューム使用頻度との比を判断する（ブロック３４０）。
【００６６】
方法３００は、２つ又はそれ以上のＶＴＬノードが、同一の最も低い比又は互いの所定量の範囲内で最も低い比を含むかどうかを判断することをさらに含む（ブロック３４５）。２つ又はそれ以上のＶＴＬノードが、同一の最も低い比又は互いの所定量の範囲内で最も低い比を含まない場合、ボリュームの所有権は、最も低い比を有するＶＴＬノードに与えられる（ブロック３５０）。２つ又はそれ以上のＶＴＬノードが、同一の最も低い比又は互いの所定量の範囲内で最も低い比を含む場合、ボリュームの所有権は、ホストによる使用頻度が最も高いＶＴＬノードに与えられる（ブロック３５５）。ブロック３５０又は３５５において、ボリュームの所有権がＶＴＬノードに与えられた後、方法３００は、別のボリュームについてのマウント要求を受信することを含む（ブロック３０５）か、又はＩ／Ｏ操作に用いられた別のボリュームをデマウントする要求を受信することを含む（ブロック３２０）。
【００６７】
本発明の上記の詳細な説明において、少なくとも１つの例示的な実施形態が提示されたが、数多くの変形が存在することを認識すべきである。例示的な実施形態は、例にしかすぎず、決して本発明の範囲、適用性、又は構成を限定することを意図するものではないことも理解すべきである。寧ろ、上記の詳細な説明は、当業者に本発明の例示的な実施形態を実装するための便利なロードマップを提供するものであり、添付の特許請求の範囲及びその法的な均等物に記載されるような本発明の範囲から逸脱することなく、例示的な実施形態に記載される要素の機能及び構成において様々な変更がなされ得ることが理解される。
【００６８】
当業者により認識されるように、本発明の態様は、システム、方法、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロ・コード等を含む）、又は、ソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取ることができ、これらは全て、本明細書において、一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み込まれた、１つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形を取ることができる。
【００６９】
１つ又は複数のコンピュータ可読媒体の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又は物理的なコンピュータ可読ストレージ媒体とすることができる。物理的なコンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子、磁気、光学、結晶、ポリマー、電磁気、赤外線若しくは半導体のシステム、装置若しくはデバイス、又は上記のもののいずれかの適切な組み合わせとすることができる。物理的なコンピュータ可読ストレージ媒体の例は、これらに限定されるものではないが、１つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、フラッシュ・メモリ、光ファイバ、ＣＤ−ＲＯＭ、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせを含む。本明細書の文脈においては、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって、又はこれらと関連して用いるためにプログラムを収容又は格納することができる任意の有形媒体とすることができる。
【００７０】
コンピュータ可読媒体上に具体化されたコンピュータ・コードは、これらに限定されるものではないが、無線、有線、光ファイバ・ケーブル、無線周波数（ＲＦ）等、又は上記のもののいずれかの適切な組み合わせを含む、任意の適切な媒体を用いて伝送することができる。本発明の態様についての操作を実行するためのコンピュータ・コードは、「Ｃ」プログラミング言語又は他の同様のプログラミング言語のような、いずれかの静的言語で書くことができる。コンピュータ・コードは、全体がユーザのコンピュータ上で実行される場合もあり、独立型ソフトウェア・パッケージとして、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は全体が遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、これらに限定されるものではないが、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）、統合型ネットワーク（Converged Network）を含むいずれかのタイプのネットワーク又は通信システムを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。
【００７１】
本発明の態様が、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して上述される。フローチャート図及び／又はブロック図の各ブロック、並びに、フローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施できることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するための手段を生成するようにすることができる。
【００７２】
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに特定の方式で機能するように指示することができるコンピュータ可読媒体内に格納して、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施する命令を含む製品を製造するようにすることもできる。コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、そのコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で一連の動作ステップを行わせてコンピュータ実装プロセスを生成し、それにより、そのコンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するためのプロセスを提供するようにすることもできる。
【００７３】
上記の図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実行するための１つ又は複数の実行可能命令を含む、モジュール、セグメント又はコードの一部を表すことができる。幾つかの代替的な実施において、ブロック内に記載された機能は、図面内に記された順序以外の順序で行われる場合があることにも留意すべきである。例えば、連続して示された２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックは、ときには逆の順序で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェア・ベースのシステム、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。
【００７４】
本発明の１つ又は複数の実施形態が詳細に示されたが、当業者であれば、以下の特許請求の範囲に記述される本発明の範囲から逸脱することなく、これらの実施形態への修正及び適合を行い得ることを理解するであろう。
【符号の説明】
【００７５】
５０：ホスト
１００：システム
１１０：ＶＴＬドメイン
１２０、１３０：ＶＴＬノード
１２２、１３２：プライベート・カテゴリ
１２４、１３４：スクラッチ・カテゴリ
１２６、１３６：スクラッチ未消去サブ・カテゴリ
１２８、１３８：スクラッチ消去済みサブ・カテゴリ
１２９、１３９：プロセッサ
１５０：バス
【図１】
0005414943.tif 000002
【図２】
0005414943.tif 000003
【図３】
0005414943.tif 000004