JP2013539083A - 仮想テープ・ライブラリ・ドメインを管理するためのシステムおよび方法 - Google Patents

仮想テープ・ライブラリ・ドメインを管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP2013539083A
JP2013539083A JP2013510426A JP2013510426A JP2013539083A JP 2013539083 A JP2013539083 A JP 2013539083A JP 2013510426 A JP2013510426 A JP 2013510426A JP 2013510426 A JP2013510426 A JP 2013510426A JP 2013539083 A JP2013539083 A JP 2013539083A
Authority
JP
Japan
Prior art keywords
vtl
scratch
volume
erased
volumes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013510426A
Other languages
English (en)
Other versions
JP5414943B2 (ja
Inventor
礼江 岩崎
勝喜 香取
浩之 三好
毅 能田
英司 戸坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013539083A publication Critical patent/JP2013539083A/ja
Application granted granted Critical
Publication of JP5414943B2 publication Critical patent/JP5414943B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox

Abstract

【課題】 ホストに結合させることができる仮想テープ・ライブラリ(VTL)ドメインを管理するためのシステム、方法、及びプログラムを提供する。
【解決手段】 1つのシステムが、複数のスクラッチ消去済みボリュームを格納するように構成された複数のVTLノードを含む。各々のVTLノードは、下記の方法の少なくとも一部を実施するように構成されたプロセッサを含む。1つの方法は、ホストから、複数のVTLノードの1つにおけるボリュームをデマウントする要求を受信することと、要求を受信することに応答して、ボリュームをスクラッチ・カテゴリに転送することと、ボリューム内に格納されたデータを消去し、ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化することと、複数のVTLノードについての所定の基準に基づいて、複数のVTLノードの1つのVTLノードにスクラッチ消去済みボリュームの所有権を与えることとを含む。上記の方法を実施するためのコンピュータ・プログラムも提供される。
【選択図】 図2

Description

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

Claims (20)

  1. ホストに結合させることができる仮想テープ・ライブラリ(VTL)ドメインを管理するためのシステムであって、
    複数のスクラッチ消去済みボリュームを格納するように構成され、かつ、前記ホストに結合することができる複数のVTLノードを含み、前記VTLノードの各々は前記ホストに結合されるように構成されたプロセッサを含み、前記プロセッサの各々は、
    前記ホストから、前記複数のVTLノードの1つにおけるボリュームをデマウントする要求を受信し、
    前記要求を受信することに応答して、前記ボリュームをスクラッチ・カテゴリに転送し、
    前記ボリューム内に格納されたデータを消去し、前記ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化し、
    前記複数のVTLノードについての所定の基準に基づいて、前記複数のVTLノードの1つのVTLノードに、前記スクラッチ消去済みボリュームの所有権を与える、
    ように構成されるシステム。
  2. 前記プロセッサの各々は、
    前記VTLノードの各々が所有するスクラッチ消去済みボリュームの数を、スクラッチ消去済みボリュームの所定の閾値数と比較し、
    前記比較に基づいて、前記VTLノードに前記所有権を与えるようにさらに構成される、請求項1に記載のシステム。
  3. 前記VTLノードは、前記所定の閾値数を下回るスクラッチ消去済みボリュームを所有する、請求項2に記載のシステム。
  4. 前記VTLノードは、前記複数のVTLノードの他のVTLノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項3に記載のシステム。
  5. 前記VTLノードは、前記複数のVTLノードの他のVTLノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項2に記載のシステム。
  6. 前記プロセッサの各々は、
    前記ホストが、前記複数のVTLノードの各々におけるスクラッチ消去済みボリュームの使用を要求する頻度を判断し、
    前記VTLノードの各々が所有するスクラッチ消去済みボリュームの数と、前記頻度との比を判断し、
    前記比に基づいて、前記VTLノードに前記所有権を与えるようにさらに構成される、請求項1に記載のシステム。
  7. 前記VTLノードは、前記比に対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項6に記載のシステム。
  8. ホストに結合された仮想テープ・ライブラリ(VTL)ドメインを管理するための方法であって、前記VTLドメインは、各々がプロセッサを含み、かつ、複数のスクラッチ消去済みボリュームを格納するように構成された複数のVTLノードを含む、前記方法が、
    第1のプロセッサにより、前記ホストから、前記複数のVTLノードの1つにおけるボリュームをデマウントする要求を受信することと、
    前記要求を受信することに応答して、前記ボリュームをスクラッチ・カテゴリに転送することと、
    前記ボリューム内に格納されたデータを消去し、前記ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化することと、
    前記複数のVTLノードについての所定の基準に基づいて、前記複数のVTLノードの1つのVTLノードに、前記スクラッチ消去済みボリュームの所有権を与えることと、
    を含む方法。
  9. 前記ボリュームの所有権を与えることは、
    前記VTLノードの各々が所有するスクラッチ消去済みボリュームの数を、スクラッチ消去済みボリュームの所定の閾値数と比較することと、
    前記比較に基づいて、前記VTLノードに前記所有権を与えることと、
    を含む、請求項8に記載の方法。
  10. 前記VTLノードは、前記所定の閾値数を下回るスクラッチ消去済みボリュームを所有する、請求項9に記載の方法。
  11. 前記VTLノードは、前記複数のVTLノード内の他のVTLノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項10に記載の方法。
  12. 前記VTLノードは、前記複数のVTLノード内の他のVTLノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項9に記載の方法。
  13. 前記ボリュームの所有権を与えることは、
    それぞれのプロセッサにより、前記ホストがそのVTLノードにおけるスクラッチ消去済みボリュームの使用を要求する頻度を判断することと、
    それぞれのプロセッサにより、そのVTLノードが所有するスクラッチ消去済みボリュームの数と、前記頻度との比を判断することと、
    前記比に基づいて、前記VTLノードに前記所有権を与えることと、
    を含む、請求項8に記載の方法。
  14. 前記VTLノードは、前記比に対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項13に記載の方法。
  15. ホストに結合された仮想テープ・ライブラリ(VTL)ドメインを管理するためのコンピュータ・プログラム製品方法を含む、物理コンピュータ・ストレージ媒体であって、前記VTLドメインは、各々がプロセッサを含み、かつ、複数のスクラッチ消去済みボリュームを格納するように構成された複数のVTLノードを含む、前記物理コンピュータ・ストレージ媒体が、
    前記ホストから、前記複数のVTLノードの1つにおけるボリュームをデマウントする要求を受信するためのコンピュータ・コードと、
    前記要求を受信することに応答して、前記ボリュームをスクラッチ・カテゴリに転送するためのコンピュータ・コードと、
    前記ボリューム内に格納されたデータを消去し、前記ボリュームをスクラッチ消去済みボリュームとしてカテゴリ化するためのコンピュータ・コードと、
    前記複数のVTLノードについての所定の基準に基づいて、前記複数のVTLノードの1つのVTLノードに、前記スクラッチ消去済みボリュームの所有権を与えるためのコンピュータ・コードと、
    を含む、物理コンピュータ・ストレージ媒体。
  16. 前記ボリュームの所有権を与えるためのコンピュータ・コードは、
    前記VTLノードの各々が所有するスクラッチ消去済みボリュームの数を、スクラッチ消去済みボリュームの所定の閾値数と比較するためのコンピュータ・コードと、
    前記比較に基づいて、前記VTLノードに前記所有権を与えるためのコンピュータ・コードと、
    を含む、請求項15に記載の物理コンピュータ・ストレージ媒体。
  17. 前記VTLノードは、前記所定の閾値数を下回るスクラッチ消去済みボリュームを所有する、請求項16に記載の物理コンピュータ・ストレージ媒体。
  18. 前記VTLノードは、前記複数のVTLノード内の他のVTLノードに対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項16に記載の物理コンピュータ・ストレージ媒体。
  19. 前記ボリュームの所有権を与えるためのコンピュータ・コードは、
    前記ホストが、前記複数のVTLノードの各々におけるスクラッチ消去済みボリュームの使用を要求する頻度を判断するためのコンピュータ・コードと、
    前記VTLノードの各々が所有するスクラッチ消去済みボリュームの数と、前記頻度との比を判断するためのコンピュータ・コードと、
    前記比に基づいて、前記VTLノードに前記所有権を与えるためのコンピュータ・コードと、
    を含む、請求項15に記載の物理コンピュータ・ストレージ媒体。
  20. 前記VTLノードは、前記比に対して最も少ない量のスクラッチ消去済みボリュームを所有する、請求項19に記載の物理コンピュータ・ストレージ媒体。
JP2013510426A 2010-09-30 2011-07-29 仮想テープ・ライブラリ・ドメインを管理するためのシステムおよび方法 Expired - Fee Related JP5414943B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/894,613 US8595430B2 (en) 2010-09-30 2010-09-30 Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes
US12/894,613 2010-09-30
PCT/JP2011/004347 WO2012042724A1 (en) 2010-09-30 2011-07-29 Systems and methods for managing a virtual tape library domain

Publications (2)

Publication Number Publication Date
JP2013539083A true JP2013539083A (ja) 2013-10-17
JP5414943B2 JP5414943B2 (ja) 2014-02-12

Family

ID=45890813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510426A Expired - Fee Related JP5414943B2 (ja) 2010-09-30 2011-07-29 仮想テープ・ライブラリ・ドメインを管理するためのシステムおよび方法

Country Status (6)

Country Link
US (1) US8595430B2 (ja)
JP (1) JP5414943B2 (ja)
CN (1) CN103119567B (ja)
DE (1) DE112011103299T5 (ja)
GB (1) GB2497465B (ja)
WO (1) WO2012042724A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188270B2 (en) * 2016-05-25 2021-11-30 International Business Machines Corporation Targeted secure data overwrite
US10007452B2 (en) * 2016-08-19 2018-06-26 International Business Machines Corporation Self-expiring data in a virtual tape server
US10013193B2 (en) * 2016-08-19 2018-07-03 International Business Machines Corporation Self-expiring data in a virtual tape server
US11003372B2 (en) 2018-05-31 2021-05-11 Portworx, Inc. Protecting volume namespaces from corruption in a distributed container orchestrator
US10521132B1 (en) 2018-06-17 2019-12-31 International Business Machines Corporation Dynamic scratch pool management on a virtual tape system
US11461193B2 (en) * 2020-09-24 2022-10-04 International Business Machines Corporation Data storage volume recovery management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000512416A (ja) * 1997-03-12 2000-09-19 ストーリッジ テクノロジー コーポレーション ネットワーク付属仮想テープデータ記憶サブシステム
JP2003058326A (ja) * 2001-08-17 2003-02-28 Hitachi Ltd バックアップ取得方法及び装置
JP2003067248A (ja) * 2001-06-27 2003-03-07 Internatl Business Mach Corp <Ibm> 記憶装置のキャッシング方法およびシステム
JP2005055945A (ja) * 2003-08-04 2005-03-03 Hitachi Ltd 仮想テープライブラリ装置
JP2006518517A (ja) * 2003-02-05 2006-08-10 ディリジェント テクノロジーズ オープン・システム環境用のテープ・ストレージ・エミュレーション
JP2009043162A (ja) * 2007-08-10 2009-02-26 Fujitsu Ltd 仮想ライブラリ装置、仮想ライブラリシステム、仮想ライブラリ装置の論理ボリューム複写方法。

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304880B1 (en) * 1997-12-12 2001-10-16 International Business Machines Corporation Automated reclamation scheduling override in a virtual tape server
US6785697B2 (en) * 2001-03-01 2004-08-31 International Business Machines Corporation Storage reclamation on tape management systems
JP2003043162A (ja) 2001-07-30 2003-02-13 Seiko Epson Corp 時 計
JP4082666B2 (ja) 2002-11-07 2008-04-30 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 無線受信装置
US7620765B1 (en) * 2006-12-15 2009-11-17 Symantec Operating Corporation Method to delete partial virtual tape volumes
US8738588B2 (en) * 2007-03-26 2014-05-27 International Business Machines Corporation Sequential media reclamation and replication
US8082388B2 (en) * 2008-03-27 2011-12-20 International Business Machines Corporation Optimizing operational requests of logical volumes
US8341346B2 (en) * 2010-06-25 2012-12-25 International Business Machines Corporation Offloading volume space reclamation operations to virtual tape systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000512416A (ja) * 1997-03-12 2000-09-19 ストーリッジ テクノロジー コーポレーション ネットワーク付属仮想テープデータ記憶サブシステム
JP2003067248A (ja) * 2001-06-27 2003-03-07 Internatl Business Mach Corp <Ibm> 記憶装置のキャッシング方法およびシステム
JP2003058326A (ja) * 2001-08-17 2003-02-28 Hitachi Ltd バックアップ取得方法及び装置
JP2006518517A (ja) * 2003-02-05 2006-08-10 ディリジェント テクノロジーズ オープン・システム環境用のテープ・ストレージ・エミュレーション
JP2005055945A (ja) * 2003-08-04 2005-03-03 Hitachi Ltd 仮想テープライブラリ装置
JP2009043162A (ja) * 2007-08-10 2009-02-26 Fujitsu Ltd 仮想ライブラリ装置、仮想ライブラリシステム、仮想ライブラリ装置の論理ボリューム複写方法。

Also Published As

Publication number Publication date
DE112011103299T5 (de) 2013-07-11
GB201304553D0 (en) 2013-04-24
CN103119567A (zh) 2013-05-22
JP5414943B2 (ja) 2014-02-12
WO2012042724A1 (en) 2012-04-05
GB2497465A (en) 2013-06-12
GB2497465A8 (en) 2013-06-26
US8595430B2 (en) 2013-11-26
GB2497465B (en) 2014-07-09
US20120084499A1 (en) 2012-04-05
CN103119567B (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN101689119B (zh) 实体和虚拟图像的统一提供
TWI575377B (zh) 具有負載平衡演算法之儲存系統及其操作方法
EP3547112B1 (en) Computing device and computer-implemented method for configuration management via logical architecture awareness
JP2013509658A (ja) 将来の使用推量に基づく記憶メモリの割り当て
US7415573B2 (en) Storage system and storage control method
JP5414943B2 (ja) 仮想テープ・ライブラリ・ドメインを管理するためのシステムおよび方法
US20190340095A1 (en) Predicting performance of applications using machine learning systems
US20160092370A1 (en) Pass-through tape access in a disk storage environment
US7484040B2 (en) Highly available removable media storage network environment
US20120089797A1 (en) Computer system, storage management computer, and storage management method
JP2008033911A (ja) 記憶ボリューム間でデータを移行する方法および装置
WO2016110004A1 (zh) 一种磁盘存储空间管理方法、装置及存储设备
US11086783B2 (en) Dynamic premigration throttling for tiered storage
US9740421B2 (en) Just-in-time remote data storage allocation
WO2012020454A1 (en) Storage apparatus and control method thereof
CN117355817A (zh) 区片段驱动器管理
US9164885B2 (en) Storage control device, storage control method, and recording medium
US8612674B2 (en) Systems and methods for concurrently accessing a virtual tape library by multiple computing devices
CN104951243A (zh) 虚拟化存储系统中的存储扩展方法和装置
US8938596B2 (en) Storage apparatus, control apparatus, and storage apparatus control method
JP6019940B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
US8972634B2 (en) Storage system and data transfer method
US9781057B1 (en) Deadlock avoidance techniques
US20130031320A1 (en) Control device, control method and storage apparatus
JP6859684B2 (ja) ストレージ制御装置、ストレージ装置、及び制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130329

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees