(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-28
(54)【発明の名称】テープ・データ・ストレージ・ドライブにおけるテープ再配置管理
(51)【国際特許分類】
G11B 20/10 20060101AFI20240521BHJP
G06F 3/06 20060101ALI20240521BHJP
G11B 27/00 20060101ALI20240521BHJP
G06F 16/13 20190101ALI20240521BHJP
【FI】
G11B20/10 301Z
G06F3/06 303G
G11B27/00 C
G06F16/13 200
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023564217
(86)(22)【出願日】2022-03-29
(85)【翻訳文提出日】2023-10-19
(86)【国際出願番号】 CN2022083778
(87)【国際公開番号】W WO2022233202
(87)【国際公開日】2022-11-10
(32)【優先日】2021-05-06
(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)【発明者】
【氏名】増田 摂子
【テーマコード(参考)】
5D044
5D110
【Fターム(参考)】
5D044BC01
5D044CC02
5D044DE03
5D044DE12
5D044DE38
5D044DE48
5D044DE54
5D110AA02
5D110AA23
5D110DA01
5D110DA04
5D110DA11
5D110DB01
5D110DE01
(57)【要約】
本記載によるテープ再配置管理では、テープ・ドライブにおいてテープをロードすることに応答して、テープのリニア・テープ・ファイル・システム(LTFS)のマウントが開始され、それはテープLTFSをマウントするためにメタデータを抽出するためにテープのインデックス・パーティションを読取ることを含み、任意のアプリケーション・アクセス要求に応答してテープのデータ領域にアクセスする前に、データ・パーティションのたとえばEODデータ・セットなどのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を読取るためにデータ・パーティション内でテープが再配置される。テープに対するアプリケーション要求アクセスを促進するために、vHRTDを読出すためにEOD部分が読取られる。一実施形態においては、メタデータを含むインデックス・パーティションを読取った後にデータ・パーティションの始端にテープを再配置して停止させることが回避される。
【特許請求の範囲】
【請求項1】
リニア・テープ・ファイル・システム(LTFS)と、インデックス・パーティションと、データ・パーティションとを有するテープと共に使用するためのテープ・ドライブを有するデータ・ストレージ・システムのためのコンピュータ・プログラム製品であって、前記テープ・ドライブがメモリを有するエンタープライズ・コンピュータ・システム内に存在し、前記コンピュータ・プログラム製品が、動作を引き起こすために前記エンタープライズ・コンピュータ・システムのプロセッサによって実行可能なプログラム命令を有するコンピュータ可読記憶媒体を含み、前記動作が、
前記テープ・ドライブにおいてテープをロードすることに応答して、テープLTFSをマウントするためにメタデータを抽出するために前記テープのインデックス・パーティションを読取ることを含む前記テープLTFSのマウントを開始することと、
任意のアプリケーション・アクセス要求に応答して前記テープのデータ領域にアクセスする前に、
データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を読取るために前記データ・パーティション内の前記テープを再配置することと、
前記vHRTDを読出すために前記EOD部分を読取ることと
を含む、コンピュータ・プログラム製品。
【請求項2】
前記テープがLTO(Linear Tape-Open)規格に準拠しており、前記テープのハウスキーピング部分に記録される高解像度テープ・ディレクトリ(HRTD)を有さない、請求項1に記載のコンピュータ・プログラム製品。
【請求項3】
前記動作が、前記vHRTDを読出すために前記EOD部分を読取った後に、第1のアプリケーション・アクセス要求の受信を待機することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
【請求項4】
データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を有する前記データ・パーティション内の前記テープを再配置することが、前記テープLTFSをマウントするためにメタデータを抽出するために前記テープのインデックス・パーティションを読取った直後に開始される、請求項1に記載のコンピュータ・プログラム製品。
【請求項5】
前記動作が、前記エンタープライズ・コンピュータ・システムのメモリにおいて前記EOD部分から読出された前記vHRTDを拡張することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
【請求項6】
前記動作が、前記vHRTDを有する前記データ・パーティションに前記テープを再配置すると同時に前記インデックス・パーティションを読取る際に、ファイル・システム・メタデータを抽出することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
【請求項7】
前記動作が、前記テープLTFSをマウントするためにメタ情報を含む前記インデックス・パーティションを読取った後に、再配置を回避してデータ・パーティションの始端で前記テープを停止させることと、前記テープLTFSをマウントするためにメタデータを含む前記インデックス・パーティションを読取った後に、前記vHRTDを有するデータ・セットに前記テープを再配置することに直接進行することとをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
【請求項8】
エンタープライズ・コンピュータ・システムであって、
プロセッサと、
メモリと、
リニア・テープ・ファイル・システムLTFS、インデックス・パーティション、およびデータ・パーティションを有するテープと共に使用するためのテープ・ドライブを有するデータ・ストレージ・システムであって、前記テープ・ドライブが前記エンタープライズ・コンピュータ・システム内に存在する、前記データ・ストレージ・システムと、
前記エンタープライズ・コンピュータ・システムのためのコンピュータ・プログラム製品と
を含み、前記コンピュータ・プログラム製品が、動作を引き起こすために前記エンタープライズ・コンピュータ・システムのプロセッサによって実行可能なプログラム命令を有するコンピュータ可読記憶媒体を含み、前記動作が、
前記テープ・ドライブにおいてテープをロードすることに応答して、テープLTFSをマウントするためにメタデータを抽出するために前記テープのインデックス・パーティションを読取ることを含む前記テープLTFSのマウントを開始することと、
任意のアプリケーション・アクセス要求に応答して前記テープのデータ領域にアクセスする前に、
データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を読取るために前記データ・パーティション内の前記テープを再配置することと、
前記vHRTDを読出すために前記EOD部分を読取ることと
を含む、エンタープライズ・コンピュータ・システム。
【請求項9】
前記テープがLTO(Linear Tape-Open)規格に準拠しており、前記テープのハウスキーピング部分に記録される高解像度テープ・ディレクトリ(HRTD)を有さない、請求項8に記載のコンピュータ・システム。
【請求項10】
前記動作が、前記vHRTDを読出すために前記EOD部分を読取った後に、第1のアプリケーション・アクセス要求の受信を待機することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項11】
データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を有する前記データ・パーティション内の前記テープを再配置することが、前記テープLTFSをマウントするためにメタデータを抽出するために前記テープのインデックス・パーティションを読取った直後に開始される、請求項8に記載のコンピュータ・システム。
【請求項12】
前記動作が、前記エンタープライズ・コンピュータ・システムのメモリにおいて前記EOD部分から読出された前記vHRTDを拡張することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項13】
前記動作が、前記vHRTDを有する前記データ・パーティションに前記テープを再配置すると同時に前記インデックス・パーティションを読取る際に、ファイル・システム・メタデータを抽出することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項14】
前記動作が、前記テープLTFSをマウントするためにメタ情報を含む前記インデックス・パーティションを読取った後に、再配置を回避してデータ・パーティションの始端で前記テープを停止させることと、前記テープLTFSをマウントするためにメタデータを含む前記インデックス・パーティションを読取った後に、前記vHRTDを有するデータ・セットに前記テープを再配置することに直接進行することとをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項15】
テープ・ドライブ内にリニア・テープ・ファイル・システムLTFSを有するテープ・ドライブにおいてテープをロードすることと、
テープLTFSをマウントするためにメタデータを抽出するために前記テープのインデックス・パーティションを読取ることを含む前記テープLTFSのマウントを開始することと、
任意のアプリケーション・アクセス要求に応答して前記テープのデータ領域にアクセスする前に、データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を読取るために前記データ・パーティション内の前記テープを再配置することと、
前記vHRTDを読出すために前記EOD部分を読取ることと
を含む、方法。
【請求項16】
前記テープがLTO(Linear Tape-Open)規格に準拠しており、前記テープのハウスキーピング部分に記録される高解像度テープ・ディレクトリ(HRTD)を有さない、請求項15に記載の方法。
【請求項17】
前記vHRTDを読出すために前記EOD部分を読取った後に、第1のアプリケーション・アクセス要求の受信を待機することをさらに含む、請求項15に記載の方法。
【請求項18】
データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を有する前記データ・パーティション内の前記テープを再配置することが、前記テープLTFSをマウントするためにメタ情報を含む前記インデックス・パーティションを読取った後に、再配置を回避してデータ・パーティションにおいて前記テープを停止させることを含むことによって、前記テープLTFSをマウントするためにメタデータを含む前記インデックス・パーティションを読取った後に、前記vHRTDを有する前記データ・パーティションに対する再配置が直ちに進行する、請求項15に記載の方法。
【請求項19】
前記テープ・ドライブを含むエンタープライズ・コンピュータ・システムのメモリにおいて前記EOD部分から読出された前記vHRTDを拡張することをさらに含む、請求項15に記載の方法。
【請求項20】
前記vHRTDを有する前記データ・パーティションに前記テープを再配置すると同時に前記インデックス・パーティションを読取る際に、ファイル・システム・メタ情報を抽出することをさらに含む、請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、テープ・データ・ストレージ・システムにおけるテープ再配置を管理するためのコンピュータ・プログラム製品、システム、および方法に関する。
【背景技術】
【0002】
コンピュータ・システムは、データを処理および記憶するためのデータ・ストレージ・システムを含むことがある。歴史的に、データはたとえばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ストレージ、ならびにたとえばコンパクト・ディスク(CD)およびデジタル多用途ディスク(DVD)などの取り外し可能な媒体などのローカル・ストレージ・デバイスに記憶されてきた。加えて、デジタル・データを記憶するために磁気テープ(「テープ」)データ・ストレージ・システムが広く用いられている。テープ・データ・ストレージ・システムは、増加したデータ・ストレージ・スペースおよび寿命を提供し、コストを低減させる。近年の磁気テープは一般的に、テープ・カートリッジまたはカセットにパッケージングされる。テープ・アプライアンスまたはテープ・ドライブは、テープからのデジタル・データの読取りまたは書込みを行うデバイスである。
【0003】
デジタル・データは、異なる長さおよび幅のテープに書込まれることがある。テープの特性を定義する規格の1つは、LINEAR TAPE OPEN(R)(LTO(R))規格である(Linear Tape OpenおよびLTOならびにすべてのLTOに基づく商標およびロゴは、ヒューレット・パッカード・エンタープライズ、IBM、およびクアンタム、ならびに/またはそれらの系列会社の商標もしくは登録商標である)。LTO(R)規格は、生データ容量と、テープ・パーティショニングと、非圧縮データの読取り速度とを定義する。たとえば、LTO-7は、平均速度300MB/Secで3150ft(960メートル)のテープに6テラバイトのデータを書込むことができる。
【0004】
テープ・パーティショニングは、オペレーティング・システムがテープの各領域のデータを別々に管理できるように、磁気テープ上に1つ以上の領域(データ・バンド)を作成することである。LTO(R)が採用したパーティショニング規格の1つが、リニア・テープ・ファイル・システム(LTFS)である。LTFS規格はテープを特殊なやり方でフォーマット化することで、最初にすべての記録されたファイル・メタデータのアクセスを可能にし、したがってテープ・カートリッジの装着の直後にテープ上のファイルおよびディレクトリを見ることを可能にする。加えて、LTFS規格は多くのオペレーティング・システムに採用されているため、しばしば任意の追加のソフトウェアなしにオペレーティング・システムがファイルを見ることができる。よって、あたかもテープ・ドライブがハード・ディスク・ドライブ(HDD)または取り外し可能なフラッシュ・ドライブ・ファイル・システムであるかのように、ファイルにアクセスしてそれを使用できる。たとえば、ユーザは通常、テープに記録されたすべてのデータを読取ることなく、ファイルをフォルダ(ディレクトリ)内で管理および記憶すること、ファイルのコピー、名称変更、および削除を行うこと、ドラッグおよびドロップならびにコピーおよびペースト機能を使用することを許可される。
【0005】
LTFSフォーマットは、データ・バンドを含むテープ上の少なくとも2つのパーティションを定義する。一方のパーティションはインデックス・パーティション(IP)として公知であり、これはテープに記録されるすべてのファイルおよびフォルダ(以後「ファイル」、「複数のファイル」)のメタデータを記憶するために使用される。たとえば、インデックス・パーティションは、データ識別(すなわち、ファイルかフォルダか)、ファイル・ユーザ識別子、ファイル名、データの長さ、属性、タイムスタンプ、パーティション識別、開始ブロック、バイト・オフセット、バイト・カウント、ファイル・オフセット、およびその他のメタデータを含むことがある。他方のパーティションはデータ・パーティション(DP)であり、ここにはファイル本体およびファイル・メタデータを含むファイルの内容が記憶される。LTFS規格においては、ファイルの削除によってテープのスペースが解放されないように、通常はファイル内容がテープの終端(フリー・スペース)に添付される。
【0006】
1つの公知のテープ規格において、HRTD(高解像度テープ・ディレクトリ)データ構造は、テープの第1のユーザ・データ領域の前に定義されるハウスキーピング・データ・セットと呼ばれるデータ・セットに記憶され、テープがロードされるときに読取られる。本明細書において使用される「データ・セット(data set)」という用語は、特定の要件を有し得る「データセット(dataset)」も含む。公知のテープ・ドライブにおいては、テープに3つのタイプの物理オブジェクト、すなわち正常データ・セットと、データ終端(EOD)データ・セットと、前述のハウスキーピング・データ・セットとが記録される。データ・セットは通常、固定長を有する。正常データ・セットおよびEODデータ・セットはテープのユーザ領域に書込まれるのに対し、ハウスキーピング・データ・セットはテープのユーザ領域の外側に書込まれる。
【0007】
公知のテープ・ドライブにおいては、テープに2つのタイプの論理オブジェクトが記録される。一方のタイプはレコードであり、他方はファイル・マーク(file mark)(しばしば「ファイルマーク(filemark)」と呼ばれることもある)である。ファイル・マークは、任意の数のレコードで構成されたファイルの領域またはサブ領域を区切るデータ構造である。HRTDはテープを多くのサブ領域に分割し、各サブ領域内のレコードを識別することで、アプリケーション・アクセス要求によって指定される特定のファイルまたはレコードへの迅速なアクセスを促進する。両方の論理オブジェクト(ファイル・マークおよびレコード)が正常データ・セットにパックされる。
【0008】
別の公知のテープ規格は、ハウスキーピング・データ・セットへのHRTDの記録を許可しない。しかし、こうしたテープのデータ・パーティションのデータ終端(EOD)データ・セットに仮想高解像度テープ・ディレクトリ(vHRTD)を記録することが公知である。vHRTDは通常、アプリケーションに要求された書込み動作に関連して読取られ、この書込み動作はデータ・パーティションのEODデータ・セットの後に新たなデータを添付する。vHRTDもHRTDと同様に、テープを多くのサブ領域に分割し、各サブ領域内のレコードを識別することで、vHRTDがアクセスを補助するために利用可能になったときに、アプリケーション・アクセス要求によって指定される特定のファイルまたはレコードへの迅速なアクセスを促進する。EODデータ・セットは通常、テープ書込み動作の最後のデータ・セットとして書込まれ、よってテープの最後の論理オブジェクト、レコード、またはファイル・マークの後に配置される。したがって、いくつかの公知のドライブにおいて、EODデータ・セットは、最後に書込まれたEODデータ・セットの後にはデータがないことを示す。
【発明の概要】
【0009】
提供されるのは、一実施形態においてはリニア・テープ・ファイル・システム(LTFS)と、インデックス・パーティションと、データ・パーティションとを有するテープと共に使用するためのテープ・ドライブを有するデータ・ストレージ・システムにおいてテープを再配置するためのコンピュータ・プログラム製品、システム、および方法であり、ここでテープ・ドライブはメモリを有し、かつエンタープライズ・コンピュータ・システム内に存在する。本記載によるテープ再配置管理の1つの態様において、テープ・ドライブにおいてテープをロードすることに応答して、テープLTFSのマウントが開始され、それはテープLTFSをマウントするためにメタデータを抽出するためにテープのインデックス・パーティションを読取ることを含み、任意のアプリケーション・アクセス要求に応答してテープのデータ領域にアクセスする前に、データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を読取るためにデータ・パーティション内でテープが再配置される。テープに対するアプリケーション要求アクセスを促進するために、vHRTDを読出すためにEOD部分が読取られる。したがって、一実施形態において、vHRTDを読出すためにEOD部分を読取った後に、再配置管理はこうしたアプリケーション・アクセス要求を促進するために利用可能なvHRTDを伴って、第1のアプリケーション・アクセス要求の受信を待機する。
【0010】
別の態様において、データ・パーティションのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を読取るためにデータ・パーティション内のテープを再配置することは、テープLTFSをマウントするためにメタデータを抽出するためにテープのインデックス・パーティションを読取った直後に開始される。一実施形態において、テープ再配置管理は、システムのメモリにおいて、EOD部分から読出されたvHRTDを拡張することを含む。したがって一実施形態において、任意のアプリケーション・アクセス要求を処理する前にvHRTDを読出すためにEOD部分を読取ることによって、処理されるときにアプリケーション・アクセス要求を促進するためにvHRTDが利用可能になる。
【0011】
さらに別の態様において、一実施形態におけるテープ再配置管理は、テープLTFSをマウントするためにメタ情報を含むインデックス・パーティションを読取った後に、再配置を回避してデータ・パーティションの始端でテープを停止させることを含む。代わりに、テープLTFSをマウントするためにメタデータを含むインデックス・パーティションを読取った後に、vHRTDを有するデータ・セットにテープを再配置するために、再配置が直接進行する。
【0012】
一実施形態において、テープはLTO(R)(Linear Tape-Open(R))規格に準拠しており、テープのハウスキーピング・データ・セットに記録される高解像度テープ・ディレクトリ(HRTD)を有さない。
【0013】
別の態様において、テープ再配置管理は、vHRTDを有するデータ・セットにテープを再配置すると同時にインデックス・パーティションを読取る際に、ファイル・システム・メタデータを抽出することを含む。
【0014】
本出願に含まれる図面は、本明細書に組み込まれてその一部を形成する。それらの図面は本開示の実施形態を示し、その説明と共に本開示の原理を説明する役割を果たす。図面は特定の実施形態の例示であり、本開示を限定しない。
【図面の簡単な説明】
【0015】
【
図1A】本記載によるテープ再配置管理の態様を使用するコンピューティング環境の実施形態を示す図である。
【
図1B】本記載によるテープ再配置管理を使用し得るテープ・ストレージ・ドライブ装置を含むエンタープライズ・コンピュータ・システムの高レベル・ブロック図表現を示す図である。
【
図2】本記載によるテープ再配置管理を使用し得るコンピュータ・システムにおけるデータ・ストレージ・システムのハードウェアおよびソフトウェア構造を示す例示的なブロック図である。
【
図3】本記載によるテープ再配置管理を使用し得るテープ・ストレージ・ドライブ装置を示す例示的なブロック図である。
【
図4】テープ・ストレージ・ドライブ・システムにおけるテープの公知のバンド構造を示す図である。
【
図5A】高解像度テープ・ディレクトリ(HRTD)が記録される公知のテープ・ハウスキーピング・データ構造を示す図である。
【
図5B】仮想高解像度テープ・ディレクトリ(vHRTD)が記録される公知のテープ・データ終端(EOD)データ構造を示す図である。
【
図6】
図3のテープ・ストレージ・ドライブ装置において使用され得るテープ・カートリッジの例を示す図である。
【
図7A】公知のラベルおよびインデックス・パーティションを有するテープの例を示す図である。
【
図7B】公知のラベルならびにインデックスおよびデータ・パーティションを有するテープの例を示す図である。
【
図8】本記載による再配置管理の態様を使用するコンピュータ・システムの動作の例を示す図である。
【
図9A】テープの一方の端部にテープ始端(BOT)を有し、テープの他方の端部にテープ終端(EOT)を有するテープの例を示す図である。
【
図9B】テープ・ドライブにおけるテープの再配置の公知の例を示す図である。
【
図9C】テープ・ドライブにおけるテープの再配置の公知の例を示す図である。
【
図9D】テープ・ドライブにおけるテープの再配置の公知の例を示す図である。
【
図10A】テープ・ドライブにおけるテープの再配置の公知の例と比較したときの、本記載によるテープ再配置管理を使用するテープ・ドライブにおけるテープの再配置の例を示す図である。
【
図10B】テープ・ドライブにおけるテープの再配置の公知の例と比較したときの、本記載によるテープ再配置管理を使用するテープ・ドライブにおけるテープの再配置の例を示す図である。
【
図10C】テープ・ドライブにおけるテープの再配置の公知の例と比較したときの、本記載によるテープ再配置管理を使用するテープ・ドライブにおけるテープの再配置の例を示す図である。
【
図10D】テープ・ドライブにおけるテープの再配置の公知の例と比較したときの、本記載によるテープ再配置管理を使用するテープ・ドライブにおけるテープの再配置の例を示す図である。
【
図11】本記載によるテープ再配置管理の態様を使用するコンピューティング環境の別の実施形態を示す図である。
【
図12】本開示のいくつかの実施形態によるクラウド・コンピューティング環境を示す概略図である。
【
図13】本開示のいくつかの実施形態によるクラウド・コンピューティング環境によって提供される機能抽象化モデル・レイヤのセットを示すブロック図である。
【発明を実施するための形態】
【0016】
本明細書において一般的に記載され、図面に示されている本実施形態の構成要素は、多様な異なる構成で配置および設計されてもよいことが容易に理解されるだろう。よって、図面に提示されるとおりの本実施形態の装置、システム、方法、およびコンピュータ・プログラム製品の実施形態の以下の詳細な説明は、請求される実施形態の範囲を限定することは意図されておらず、単に選択された実施形態を表すものである。
【0017】
例示される実施形態は図面を参照することによって最もよく理解されるだろう。図面全体にわたって、類似の部分は類似の番号によって示される。以下の記載は単なる例であることが意図されており、本明細書において請求される実施形態に適合するデバイス、システム、およびプロセスの特定の選択された実施形態を単に例示するものである。
【0018】
本記載によるテープ再配置管理は、コンピュータ技術に対して顕著な改善を提供する。たとえば、公知のコンピュータ・システムにおいて、リニア・テープ・ファイル・システム(LTFS)をマウントするためにメタデータを抽出するためにテープのインデックス・パーティションを読取った後、そのテープは、LTFSメタデータを抽出するために読取られたインデックス・パーティションに続くデータ・パーティションの始端に再配置される。データ・パーティションの始端に到達すると、テープは停止して任意のアプリケーション・アクセス要求を待機する。結果として、vHRTD(仮想高解像度テープ・ディレクトリ)は、テープの特定のレコードまたはファイルに向けられたアプリケーションによるテープ・アクセス要求に応答した迅速なテープ・アクセスを促進するために利用できない。
【0019】
本記載によるテープ再配置管理の一態様において、テープ・ドライブにおいてテープをロードすることに応答して、テープのリニア・テープ・ファイル・システム(LTFS)のマウントが開始され、それはテープLTFSをマウントするためにメタデータを抽出するためにテープのインデックス・パーティションを読取ること含み、テープは、データ・パーティションのそのときのEOD(データ終端)部分に記録されたvHRTD(仮想高解像度テープ・ディレクトリ)を有するデータ・パーティションのEOD(データ終端)部分に再配置される。後に受信される、テープに対するアプリケーション要求アクセスを促進するために、EOD部分が読取られてvHRTDが読出される。よって一実施形態において、任意のアプリケーション・アクセス要求の受信より前、すなわち任意のアプリケーション・アクセス要求に応答してテープのデータ領域にアクセスするよりも前に、vHRTDが読出される。一実施形態においては、メタデータを含むインデックス・パーティションを読取った後にデータ・パーティションの始端にテープを再配置して停止させるという公知のプロセスが回避される。代わりに、アプリケーション・アクセス要求より前にvHRTDを直ちに読出すようにテープが再配置される。結果として、アプリケーション・アクセス要求において指定された特定のファイルまたはレコードへの迅速なテープ・アクセスを促進するために、vHRTDテープ・ディレクトリを容易に利用できる。
【0020】
当業者に認識されるとおり、本開示によるテープ管理の態様は、システム、方法、またはコンピュータ製品として具現化されてもよい。したがって本開示の態様は、すべて一般的に「モジュール」、「方法」、または「システム」と呼ばれる、ソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)およびハードウェアの態様を組み合わせた実施形態の形を取ってもよい。さらに、本開示の態様は、コントローラ、マイクロコントローラ、またはコンピュータ処理ユニットを含む、具現化されるコンピュータ可読プログラム・コード/命令を有する1つ以上のコンピュータ可読媒体において具現化されるコンピュータ・プログラム製品の形を取る。
【0021】
方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して、以下に本開示のさまざまな態様が説明される。
図1Aを見ると、本開示の実施形態の態様が実現され得るコンピュータ・システム10の例が示される。コンピュータ・システム10は中央処理ユニット(CPU)12を含み、これはマス・ストレージ・デバイス(単数または複数)14およびメモリ・デバイス16に接続される。マス・ストレージ・デバイスはハード・ディスク・ドライブ(HDD)デバイスを含んでもよく、これは独立ディスクの冗長アレイ(RAID)として構成されてもよい。示される実施形態において、マス・ストレージ・デバイス14はテープ・データ・ストレージ・システムを含む。
【0022】
メモリ・デバイス16は、たとえばランダム・アクセス・メモリ(RAM)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、または関連デバイスのホストなどのメモリを含んでもよい。メモリ・デバイス16およびマス・ストレージ・デバイス14は、信号担持媒体を介してCPU12に接続される。加えてCPU12は、通信ポート18を通じて通信ネットワーク20に接続され、通信ネットワーク20には複数の追加のコンピュータ・システム22および24が取り付けられる。コンピュータ・システム10は、コンピュータ・システム10の各個々のコンポーネントに対して1つ以上のプロセッサ・デバイス(例、CPU12)および追加のメモリ・デバイス16を含んでもよい。
【0023】
図1Bは、本開示の実施形態の態様を実現し得るテープ・データ・ストレージ・システムを含むエンタープライズ・コンピュータ・システムの表現を示す高レベル・ブロック図である。エンタープライズ規模のアプリケーションの例は、限定を伴わずに、給与、倉庫、輸送、およびバッチ・ジョブを含む。示されるとおり、
図1Bのエンタープライズ・コンピュータ・システム100は、いくつかのホスト・データ処理システム(例、サーバ・データ処理システム102A、102Bおよび関連クライアント・データ処理システム104A、104B...104N)を含み、これらは第1のネットワーク相互接続(例、ローカル・エリア・ネットワークまたは「LAN」相互接続106)を介して共に通信的に結合される。示される実施形態のサーバ・データ処理システム102A、102Bはさらに、いくつかのデータ・ストレージ・デバイスおよび第2のネットワーク相互接続(例、ストレージ・エリア・ネットワークまたは「SAN」相互接続112)を含むストレージ・サブシステム108に結合される。サーバ・データ処理システム102A、102B、クライアント・データ処理システム104A、104B...104N、およびストレージ・システム108のうちの1つ以上は、本記載による再配置管理のために構成されてもよい。
【0024】
図1Bの例示的実施形態において、ストレージ・システム108は、テープ・データ・ストレージ・システム110によって表されるテープ・データ・ストレージ・システムを含むものとして示される。代替的な実施形態において、ストレージ・システム108は、任意の数およびタイプのデータ・ストレージ・デバイス(例、個々のディスク・ドライブ、テープ・ドライブ、ディスク・アレイ、テープ・アレイ、RAIDアレイ・サブシステム、ロボット・テープ・ライブラリ、ファイラ、ファイル・サーバ)をさらに含んでもよく、それらは共に通信的に結合されてもよく、かつたとえばファイバ・チャネル(FC)スイッチ、スイッチ・ファブリック、またはアービトレーテッド・ループなどのストレージ相互接続(SAN相互接続112)を介してサーバ・データ処理システム102A、102Bに結合されてもよい。
図1の実施形態のサーバ・データ処理システム102Aは、クライアント・データ処理システム104A~104N(ここで「N」は正の整数)のうちの1つ以上にコア動作機能を提供するためのアプリケーション・サーバ(例、データベース・サーバ)を含み、サーバ・データ処理システム102Bは別のサーバ(例、クラスタ・フェイルオーバー・サーバ、ロードバランシング・サーバ、またはバックアップ・サーバなど)を含む。
【0025】
示される実施形態のテープ・データ・ストレージ・システム110は、示されるとおりの通信リンクを介してSAN相互接続112に結合される。各通信リンクは、SAN相互接続112と、テープ・データ・ストレージ・システム110の通信ポートとの間で1つ以上の電気、光、もしくは音響、またはその組み合わせの伝播信号を伝達できるいくつかの通信媒体のいずれか(例、銅配線または光ファイバ・ケーブルなど)を含んでもよい。
【0026】
本明細書にさらに記載されるとおり、示される実施形態において、テープ・データ・ストレージ・システム110およびサーバ・データ処理システム102Aの一方または両方が、本記載によるテープ再配置管理を使用して、テープ・データ・ストレージ・デバイス110に結合されたテープ・カートリッジ内のテープ・データ記憶媒体のデータに対して提供されるテープ再配置およびアクセスの制御もしくは管理またはその両方を行うために十分な機能を伴って構成される。しかし、コンピュータ・システム10、22、24(
図1A)、サーバ・データ処理システム102A、102B(
図1B)、クライアント・データ処理システム104a、104b...104n、およびデータ・ストレージ・システム108のうちの1つ以上が、本記載による再配置管理を使用するように構成されてもよいことが認識される。
【0027】
図1の実施形態には従来のSANタイプの相互接続(SAN相互接続112)が具体的に示されているが、他の相互接続(例、直接接続、ローカル、メトロポリタン、もしくは広域ネットワーク、またはその組み合わせ)および他のプロトコル(例、FICON(R)、ESCON、またはSSAなど)が使用されてもよい。さらに、
図1Bのエンタープライズ100に関して特定の数および配置の構成要素が示されているが、当然のことながら本開示の実施形態は任意の特定の数、タイプ、または配置のコンポーネントを有するエンタープライズ、システム、またはデータ・ストレージ・デバイスに限定されず、多様なシステム・タイプ、アーキテクチャ、およびフォーム・ファクタを包含してもよい。
【0028】
代替的な実施形態において、
図2は、本記載によるテープ再配置管理の態様を実現し得るデータ・ストレージ・システム204のハードウェアおよびソフトウェア構造を示す例示的なコンピュータ・システム200である。ホスト・コンピュータ210、220、225が示されており、その各々は、データ・ストレージ・システム204を含むコンピュータ・システム200の一部としてデータ処理を行うための中央処理ユニットの役割を果たす。ホスト(物理または仮想デバイス)210、220、および225は、本開示の実施形態の目的を達成するための1つ以上の物理デバイスまたは論理デバイスであってもよい。一実施形態において、単なる例として、データ・ストレージ・システム204は、本記載によるテープ再配置管理を使用するように修正されたIBM System Storage(商標)DS8000(商標)として実装されてもよい。
【0029】
ネットワーク接続226は、ファイバ・チャネル・ファブリック、ファイバ・チャネル・ポイント・ツー・ポイント・リンク、イーサネット(R)・ファブリックもしくはポイント・ツー・ポイント・リンクを通じたファイバ・チャネル、FICON(R)もしくはESCON I/Oインターフェース、任意のその他のI/Oインターフェース・タイプ、ワイヤレス・ネットワーク、有線ネットワーク、LAN、WAN、異種、同種、パブリック(すなわちインターネット)、プライベート、またはその任意の組み合わせであってもよい。ホスト210、220、および225は、ローカルであってもよいし、1つ以上の場所に分散されてもよく、かつたとえばファイバ・チャネル、FICON(R)、ESCON、イーサネット(R)、光ファイバ、無線、または同軸アダプタなどの、ストレージ・コントローラ228に対する任意のタイプのファブリック(またはファブリック・チャネル)(
図2に示さず)またはネットワーク・アダプタを備えていてもよい。したがってデータ・ストレージ・システム204は、通信のために好適なファブリック(
図2に示さず)またはネットワークを備える。
図2に示されるデータ・ストレージ・システム204は、ストレージ・コントローラ228と、ストレージ・コントローラ228によって制御されるテープ・データ・ストレージ・ドライブ231を含むストレージ230とを含む。
【0030】
ストレージ230のストレージ230a、230b...230nは、たとえばストレージ・アレイなどの1つ以上のストレージ・デバイスを物理的に含んでもよい。ストレージ・アレイは、たとえばハード・ディスクまたはテープ・データ・ストレージ・ドライブなどの個々のストレージ・デバイスの論理的グループ化である。特定の実施形態において、ストレージ230a、230b...230nの1つ以上は、JBOD(Just a Bunch of Disks:単なるディスクの束)アレイまたはRAID(独立ディスクの冗長アレイ)アレイを含む。物理ストレージ・アレイの集合がさらに組み合わされてランクを形成してもよく、これは物理ストレージを論理的構成から分離する。ランク内のストレージ・スペースは論理ボリュームに割り当てられてもよく、論理ボリュームは書込み/読取り要求において指定されるストレージ位置を定義する。さらに、
図1Bおよび
図3に記載されるテープ・データ・ストレージ・デバイス110(
図1Bを参照)は、
図2に記載されるアーキテクチャによって実装されてもよい。
【0031】
一実施形態において、単なる例として、
図2に示されるストレージ・システムは、論理ボリュームまたは単に「ボリューム」を含んでもよく、かつ異なる種類の割り当てを有してもよい。ストレージ230a、230b、および230nは、データ・ストレージ・システム200におけるランクとして示され、本明細書においてランク230a、230b、および230nと呼ばれる。ランクはデータ・ストレージ・システム200に対してローカルであってもよいし、物理的にリモートの位置に配置されてもよい。言い換えると、ローカル・ストレージ・コントローラがリモート・ストレージ・コントローラと接続して、リモート位置のストレージを管理してもよい。ランク230aは2つの全体ボリューム234および236と、1つの部分ボリューム232aとで構成されることが示される。ランク230bは、別の部分ボリューム232bと、完全なボリューム237とを伴って示される。よってボリューム232は、ランク230aおよび230bに割り当てられている。ランク230nにはボリューム238が完全に割り当てられることが示される。すなわち、ランク230nはボリューム238に対する物理ストレージ全体を示す。上記の例から、ランクは1つ以上の部分ボリュームもしくは全体ボリュームまたはその両方を含むように構成されてもよいことが認識されるだろう。ボリュームおよびランクは、ストレージの固定されたブロックを表すいわゆる「トラック」にさらに分割されてもよい。したがってトラックは所与のボリュームに関連し、所与のランクを与えられてもよい。
【0032】
本開示の態様のより明瞭な理解を促進するために、
図2においてストレージ・コントローラ228は単一の処理ユニットとして示され、それはマイクロプロセッサ242と、以下により詳細に説明される不揮発性ストレージ(「NVS」)を含み得るシステム・メモリ243とを含む。なお、いくつかの実施形態において、ストレージ・コントローラ228は複数の処理ユニットを含み、各々の処理ユニットは自身のプロセッサ複合体およびシステム・メモリを有し、データ・ストレージ・システム204内の専用ネットワークによって相互接続される。いくつかの実施形態において、ストレージ230に含まれるデバイスは、ループ・アーキテクチャにおいて接続されてもよい。
【0033】
ストレージ・コントローラ228はストレージ230を管理して、ストレージ230に対して意図される書込みおよび読取り要求の処理を促進する。ストレージ・コントローラ228のシステム・メモリ243はプログラム命令およびデータを記憶し、プロセッサ242はそれにアクセスすることによって、本明細書に記載されるストレージ230の実行および管理のための本開示の実施形態の機能および方法を実行してもよい。一実施形態において、システム・メモリ243は、動作ソフトウェア250に関連するかまたはそれと通信して、本記載による再配置管理を使用する方法および動作を実行するためのテープ再配置管理255を含む。テープ再配置管理255の1つの態様は、テープ・データ・ストレージ・ドライブ231(
図3)のテープの位置を制御するテープ再配置ロジック257を制御することである。テープ再配置ロジック257はテープ再配置管理255のコンポーネントとして示されているが、たとえばストレージ・コントローラ228、ホスト210~225、ネットワーク226、およびテープ・ストレージ・ドライブ231のうちの1つ以上などの、システムの他のコンポーネントにテープ再配置ロジック257が配置されてもよいことが認識される。同様に、テープ管理255のロジックはストレージ・コントローラ228のコンポーネントとして示されているが、たとえばテープ・ストレージ・ドライブ231、ホスト210~225、およびネットワーク226のうちの1つ以上などの、システムの他のコンポーネントにテープ再配置管理255が配置されてもよいことが認識される。よってテープ再配置管理255は、単独または組み合わせのハードウェア、ソフトウェア、およびファームウェアのうちの1つ以上によって実装されてもよい。
【0034】
図2に示されるとおり、システム・メモリ243は、書込み/読取り要求およびそれらの関連データをそれぞれ示す「書込みデータ」および「読取りデータ」をバッファするための、本明細書において「キャッシュ・メモリ」とも呼ばれるストレージ230に対するキャッシュ265も含むか、またはそれと通信してもよい。一実施形態において、キャッシュ265はシステム・メモリ243の外部のデバイスに割り当てられるが、なおもマイクロプロセッサ242によってアクセス可能であり、本明細書に記載される動作の実行に加えて、データ損失に対する追加のセキュリティを提供する役割を果たしてもよい。
【0035】
いくつかの実施形態において、キャッシュ265は揮発性メモリおよび不揮発性メモリによって実装され、データ・ストレージ・システム200のパフォーマンス向上のためにローカル・バス(
図2には示さず)を介してマイクロプロセッサ242に結合される。データ・ストレージ・コントローラに含まれるメモリ243のNVS部分は、マイクロプロセッサ242によってアクセス可能であり、他の図面に記載される本開示の実施形態の動作および実行に対する追加のサポートを提供する役割を果たす。NVSは「永続的」キャッシュまたは「キャッシュ・メモリ」とも呼ばれることがあり、記憶されるデータを保持するために外部電力を使用することもしないこともある不揮発性メモリによって実装される。NVSは、本開示の実施形態の目的を達成するために適切な任意の目的のためにキャッシュ265内にキャッシュ265と共に記憶されてもよい。いくつかの実施形態において、データ・ストレージ・システム200に対する電力損失の場合にNVSに記憶されたデータを保持するために、たとえばバッテリなどのバックアップ電源(
図2には示さず)がNVSに十分な電力を供給する。特定の実施形態において、NVSの容量は、キャッシュ265の総容量以下である。
【0036】
ストレージ・コントローラ228は、ホスト・コンピュータ210、220、225に対するたとえばファイバ・チャネル・プロトコルなどの通信プロトコルを制御するための制御スイッチ266を含む。バッファ267は、キャッシュ265が読取りデータおよび書込みデータを一時的に記憶する(バッファする)ことを補助する。
【0037】
図3は、本記載によるテープ再配置管理の態様を使用し得るテープ・データ・ストレージ・ドライブ231の一実施形態を示すブロック図である。テープ・データ・ストレージ・ドライブ231は、取り外し可能なデータ・ストレージ・テープ・カートリッジ302と、ストレージ・コントローラ228(
図2)または代替的に1つ以上のホスト・データ処理システムもしくは関連通信チャネル(例、SAN相互接続112)にテープ・データ・ストレージ・ドライブ231を通信的に結合するための通信インターフェース(例、ホスト・データ処理システム・インターフェース(I/F)306)とを含む。
【0038】
通信I/F306は、入力/出力(I/O)動作要求(例、「読取り」もしくは「書込み」またはその両方の要求)を受信して、こうした要求を適切な方式で処理することで、本明細書に記載される取り外し可能なデータ・ストレージ・テープ・カートリッジ302のテープ・データ記憶媒体308(例、磁気テープ)へのアクセスを制御または「管理」するように構成される。テープ・データ記憶媒体308に加えて、データ・ストレージ・テープ・カートリッジ302はカートリッジ・メモリ(CM)モジュール309を含み、このカートリッジ・メモリ(CM)モジュール309は一実施形態において、自身が存在するテープ・カートリッジ302に関するデータを記憶するために使用されるパッシブな非接触シリコン・ストレージ・デバイスを含む。例示的なデータは、たとえば、関連テープ・カートリッジのボリューム・シリアル番号(VOLSER)を示すデータ、カートリッジ内のデータ記憶媒体の「タイプ」、データ・フォーマット・タイプ、およびもしあればそこに記憶されるデータなどを含んでもよい。
【0039】
取り外し可能なデータ・ストレージ・テープ・カートリッジ302のテープ・データ記憶媒体308は、示されるとおりに媒体輸送リール312および314ならびに1つ以上の媒体輸送モータ316を使用して、テープ・アクセス(例、読取り/書込み)ヘッド310に近接するように経路を定められる。テープ・アクセス・ヘッド310は、テープ・データ記憶媒体308からデータを読取り、かつそこにデータを書込むこと、およびこうしたデータをバッファ318(例、1つ以上の「先読み」またはステージング・バッファ)内に一時的に記憶または「ステージング」することを行うように構成される。
【0040】
テープ308(
図3)にデータを書込むとき、またはテープ308からデータを読取るとき、テープ308は予め書込みまたは読取りが行われるデータの位置まで、読取り/書込みヘッド310に対して動かされる。ターゲット・データ位置まで動かすプロセスは通常「再配置」プロセスと呼ばれ、これはストレージ・コントローラによって発行される再配置要求に応答して行われる。
【0041】
実施形態例において、テープ・カートリッジ302は、たとえばLTO-7などのLinear Tape Open(R)(LTO(R))世代規格のうちの1つ以上の標準仕様に適合する。こうした実施形態において、供給リール312はLTO(R)テープ・カートリッジの一部であってもよく、テープ308の始端に接続されており、テープ308の終端はリーダー・ピン(図示せず)に接続され、リーダー・ピンはテープ・データ・ストレージ・ドライブ231の機構(図示せず)によって機械的に掴まれて、巻き取りリール314に装着される。
【0042】
制御ユニット320は、テープ・ストレージ・ドライブのテープからデータを読取り、そこにデータを書込むための読取りロジックおよび書込みロジックを含む。よって制御ユニット320は、CM309に記憶されるデータに対するアクセス(読取りまたは書込み)を行うために使用される通信I/F306、バッファ318、媒体輸送モータ316、もしくはCM I/F322、またはその組み合わせのうちの1つ以上に対して発行される制御信号を介して、データの流れ、フォーマット化、およびデータ・ストレージ・サブシステム動作を制御および管理する。
【0043】
示される実施形態において、テープ再配置ロジック257(
図2)の機能のいくつかまたはすべてが、テープ・ストレージ・ドライブ231の制御ユニット320内に配置されてもよい。別の実施形態において、こうした制御機能は、テープ・データ・ストレージ・ドライブ231の他のコンポーネントの1つ以上に組み込まれてもよい。同様に、制御ユニット320は
図3においてテープ・ストレージ・ドライブ231の一部として示されているが、たとえばストレージ・コントローラ228、ホスト210~225、およびネットワーク226、ならびにテープ・ストレージ・ドライブ231のうちの1つ以上などの、システムのさまざまなコンポーネントのうちの1つ以上に制御ユニットのロジックが配置されてもよいことが認識される。代替的に、コンポーネント機能のいくつかまたはすべてが、たとえば特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのハードウェア・デバイスにおいて実装されてもよいし、別個の専用プロセッサによって実行されてもよい。
【0044】
メモリ106は、揮発性または不揮発性の1つ以上のメモリ・デバイスを含んでもよく、それはたとえばダイナミック・ランダム・アクセス・メモリ(DRAM)、相変化メモリ(PCM)、磁気抵抗ランダム・アクセス・メモリ(MRAM)、スピン・トランスファー・トルク(STT)-MRAM、SRAMストレージ・デバイス、DRAM、強誘電体ランダム・アクセス・メモリ(FeTRAM)、ナノワイヤ・ベースの不揮発性メモリ、および不揮発性ダイレクト・インライン・メモリ・モジュール(DIMM)、NANDストレージ、たとえばフラッシュ・メモリ、ソリッド・ステート・ドライブ(SSD)ストレージ、不揮発性RAMなどである。
【0045】
ストレージ108は、SAN112の異なるタイプまたはクラスのストレージ・デバイスを含んでもよく、それはたとえば磁気ハード・ディスク・ドライブ、ソリッド・ステート・エレクトロニクスを含むソリッド・ステート・ストレージ・デバイス(SSD)、EEPROM(電気的消去可能プログラマブル・リード・オンリ・メモリ)、フラッシュ・メモリ、フラッシュ・ディスク、ランダム・アクセス・メモリ(RAM)ドライブ、ストレージ・クラス・メモリ(SCM)など、相変化メモリ(PCM)、抵抗ランダム・アクセス・メモリ(RRAM)、スピン・トランスファー・トルク・メモリ(STT-RAM)、導電性ブリッジングRAM(CBRAM)、磁気ハード・ディスク・ドライブ、光ディスク、テープなどである。ストレージ108のボリュームはさらに、たとえば単なるディスクの束(JBOD)、直接アクセス・ストレージ・デバイス(DASD)、独立ディスクの冗長アレイ(RAID)アレイ、仮想化デバイスなどのデバイスのアレイから構成されてもよい。さらにストレージ108は、異なる販売業者および異なるタイプのストレージ・デバイスによる異種ストレージ・デバイスを含んでもよく、それはたとえば、たとえばSSDなどの第2のタイプのストレージ・デバイスよりも低速のデータ転送速度を有するたとえばハード・ディスク・ドライブなどの第1のタイプのストレージ・デバイスなどである。
【0046】
ストレージ108は、クラウド・ストレージ・サービス・プロバイダによって提供されるクラウド・ストレージ・システムを含んでもよい。クラウド・ストレージ・サービス・プロバイダの例は、DropBox(R)、Google(R)ドライブ、Amazon Cloud Drive(R)、Amazon(R)S3、IBM Cloud Object Storage System(商標)などを含む(Dropboxはドロップボックス社の登録商標であり、Googleはグーグル社の登録商標であり、AmazonおよびAmazon Cloud Driveはアマゾン・テクノロジーズ社の商標であり、IBMおよびCloud Object Storage Systemは全世界のIBMの商標である)。
【0047】
ネットワーク106は、ストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、イントラネット、インターネット、広域ネットワーク(WAN)、ピアツーピア・ネットワーク、ワイヤレス・ネットワーク、およびアービトレーテッド・ループ・ネットワークを限定なしに含んでもよい。したがって、エンタープライズ・コンピュータ・システム100は、ネットワーク112を通じてサーバ102に結合されたストレージ・システム108を含む。
【0048】
示される実施形態において、テープ・データ・ストレージ・ドライブ231はリニア・システムであり、ここでは
図4に示されるとおり、従来の方式でテープの幅方向が複数の領域(ラップ)に分割される。データは、各ラップに対する矢印によって表されるテープの長さ方向に、テープの始端から終端へ、および終端から始端へと記録される。各ラップに対する有効データが書込まれるテープ幅方向の領域の幅は、トラック幅(トラック・ピッチWtp)と呼ばれる。
図4に示されるとおり、偶数ラップにおいては始端から終端(順方向)に移動する間にトラックに対する記録が行われ、奇数ラップにおいては終端から始端(逆方向)に移動する間に記録が行われる。1つの公知のテープ規格において、HRTD(高解像度テープ・ディレクトリ)データ構造510(
図5A)は、テープの第1のユーザ・データ領域の前に定義されるハウスキーピング・データ・セット514と呼ばれるテープ部分に記憶され、テープがロードされるときに読取られる。
【0049】
たとえば、LTO-7規格によるLTFS磁気テープ媒体ラップ割り当てでは、磁気テープは4つのデータ・バンド(data band0~band3)に割り当てられた112のラップを有してもよく、ここで各バンドは28のラップを有し、すなわちdata band0は28のラップwrap0~wrapn-1を有し、data band1は28のラップwrapn+0~wrap2n-1を有し、data band2は28のラップwrap2n+0~wrap3n-1を有し、data band3は28のラップwrap3n+0~wrap4n-1を有する。特定のアプリケーションに依存して、すべてのデータ・ラップが単一のパーティション内にwrap0からwrap111までフォーマット化されてもよく、またはたとえば他のフォーマットが用いられてもよい。たとえば、1つの公知のLTFS規格はテープを2つのパーティションに分割してもよく、ここで第1のパーティションはメタデータに使用され得るwrap0~1を含み、第2のパーティションはメタデータに関連するデータ保持のためのwrap4~111を含む。たとえば、LTFSは通常、テープをフォーマット化するときに2パーティション・テープを作製する。wrap0およびwrap1は、インデックス・パーティションを提供するために用いられる。wrap2およびwrap3は通常、ガード・バンドとして使用される。wrap4から最後のラップには、テープ・ドライブ・システムの標準レコードによって構築され得るユーザ・データを記憶するためのデータ・パーティションが提供される。
【0050】
前述のとおり、LTO-7規格は、3150ft(960メートル)のテープに6テラバイトのデータを書込むことができる。両方向の物理的位置はテープの長さによって定義され、長手位置カウンタ(LPOS)で表現され、ここでLPOSはテープ上の特定のデータの位置を定めるためにサーボ・モータによって使用される長手位置を表す。任意の新たなデータは通常、テープに追加されるのみであり、すなわち前に書込まれたデータの次のLPOS位置においてテープに書込まれる。
【0051】
テープ上の特定のデータの位置を定めるための平均探索速度は約32.8ft/sec(10m/sec)であり、したがってテープ・ドライブのヘッドがテープの始端から終端まで移動するのに約96秒かかる。要求されるファイルがテープの始端からテープの終端までの範囲に位置すると想定すると、アクセスのための平均移動時間は約32秒(96秒の1/3)である。この推定は、ラップによって異なる方向にデータが記録されていることを考慮しておらず、方向の切り換えおよびヘッドの再配置に追加の時間がかかる。このため特に、最短の時間フレームで要求されたデータの位置を定めて読取るために、ヘッドの移動時間を減少させるシステムを実装することが有利なことがある。本記載によるテープ再配置管理の実施形態は、磁気テープに記録されたファイルの検索を促進するためのシステム、方法、およびプログラム製品を提供する。
【0052】
図6は、たとえば
図3に示されるテープ・データ・ストレージ・ドライブ231などのテープ・データ・ストレージ・システムと共に用いるために好適なテープ・カートリッジ302の実施形態例を示す。実施形態例によると、テープ・カートリッジ302はハウジング652と、ハウジング652内の磁気テープ媒体308(「テープ」)と、ハウジング652に結合されたカートリッジ・メモリ309とを含む。他の実施形態において、カートリッジ・メモリ309はハウジング652の内側に埋め込まれてもよい。さらなる実施形態において、カートリッジ・メモリ309は、ハウジング652を改変することなくハウジング652の内側または外側に取り付けられてもよい。カートリッジ302は、ハウジング652の中または上に識別特徴654も有してもよい。
【0053】
実施形態例によると、コントローラ320(
図3)は、たとえばLTFSインデックスの生成値など、磁気テープ媒体308の両方の走行方向に書込まれるデータに関する情報のための一時的ストレージとして、カートリッジ・メモリ・リーダーまたはインターフェース322を介してカートリッジ・メモリ309を使用する。さらなる実施形態において、カートリッジ・メモリ309は、テープ・パーティショニングに関する情報、およびたとえばテープ・ディレクトリ(TD)などの磁気テープ媒体308の使用に関するその他の情報を記憶してもよい。
【0054】
公知のテープ・データ・ストレージ・ドライブ・システムにおいて、テープ再配置要求はターゲット位置を識別し、これはターゲット・レコードのレコード番号またはターゲット・ファイル・マークのファイル・マーク番号によって識別され、ファイル・マークの例は
図7Aのファイル・マーク702aによって表される。ファイル・マークは、任意の数のレコードで構成されたファイルの領域またはサブ領域を区切るデータ構造である。しかし通常、ストレージ・コントローラまたはテープ・データ・ストレージ・ドライブは、各ファイル・マークの正確な位置を入手できない。通常、テープ・ドライブ・ストレージ・システムの読取りロジックは、ターゲット・レコードまたはファイル・マークがテープ上のどこに書込まれているかを正確に知らない。代わりに、ターゲット・レコードがテープのどの一般領域に位置するかを決定するために、しばしば「テープ・ディレクトリ(TD)」と呼ばれるデータ構造がよく用いられる。たとえば、LTO(R)テープ・ドライブにおいて、1つのラップが2つのサブ領域に分割される。こうしたシステムにおいて、テープ・ディレクトリは、2つのサブ領域のどちらのサブ領域にターゲット・レコードが位置するかを識別する。
【0055】
これと比較して、たとえばIBMにより販売されているTS1160などの公知のテープ・ドライブにおいて、各ラップはテープの長さ方向に128のより小さいサブ領域に分割される。こうしたシステムにおいては、TDデータ構造に加えて、高解像度テープ・ディレクトリ(HRTD)データ構造510(
図5A)が、テープに記録された各レコードに対して、128のサブ領域のうちのターゲット・レコードが記録された特定のサブ領域を識別する。前記のとおり、HRTD(高解像度テープ・ディレクトリ)データ構造510(
図5A)は、ハウスキーピング・データ・セット514と呼ばれるテープ・データ部分に記憶される。
【0056】
よって、HRTDタイプのディレクトリを有する公知のシステムにおいて、指定されたターゲット・レコードを読取るためにテープを再配置するための再配置要求を受信すると、HRTDデータ構造が調べられて、可能な128のサブ領域のうちのどの特定のサブ領域が、指定されたターゲット・レコード番号またはファイル・マーク番号を含むかが識別される。公知のテープ・ドライブ・システムにおいて、テープの各HRTDサブ領域の物理的位置をテープ再配置ロジックは知っている。したがって、テープはテープ再配置ロジックによって、HRTDデータ構造が識別した特定のサブ領域に再配置される。次いで、テープ・ドライブ・システムの読取りロジックが、その領域の始端から順番にその領域に位置するデータ・セットのレコードを検索する。
【0057】
テープの各領域またはサブ領域に記憶されたレコードは、しばしば集合的にデータ・セットと呼ばれる。公知のテープ・ドライブ・システムは、テープのサブ領域のある領域を占有するデータ・セット内のレコードの数を識別するデータ・セット情報テーブル(DSIT)を使用する。特定のデータ・セット内のファイル・マークの数は、データ・セットの始端におけるファイル・マークのファイル・マーク番号でもあることが知られる。ターゲット・データ・セットの指定されたターゲット・レコードのターゲット・レコード番号と、DSITに示されるターゲット・データ・セットに記録されたレコードの数と、ターゲット・データ・セットにおける第1のファイル・マーク番号およびファイル・マークの数とを用いて、公知のテープ・ドライブの読取りロジックは、ターゲット・データ・セットにおいてターゲット・レコードが見出されるかどうかをチェックできる。チェックされたデータ・セットに所望のレコードがあることが確認されると、再配置要求は終了する。したがって、所望のレコードを含むデータ・セットが見出されるまで、単数または複数のデータ・セットの読取りが続けられる。
【0058】
テープのハウスキーピング・データ・セットにおけるHRTDデータ構造を使用するテープ・ドライブ・システムにおいて、各テープ・ラップは比較的小さいサブ領域にさらに分割され、HRTDデータ構造はこうしたサブ領域の各々においてレコードを識別するため、指定されたレコードは比較的迅速に位置を定められてもよいことが認識される。よって、指定されたレコードについての比較的小さいサブ領域の検索は、迅速に完了してもよい。他方で、LTO(R)テープ・ドライブの仕様が異なる規格によって定義されることがある。結果として、たとえばHRTDデータ構造などのデータ・セットは一般的に、公知のLTO(R)テープ・ドライブにおけるハウスキーピング・データ・セットに書込まれ得ない。この問題に対処するために、IBMにより販売される公知のLTO(R)テープ・ドライブは、HRTDデータ構造において見出されるものと同じかまたは類似する情報を作成する。このHRTDタイプの情報は、仮想HRTD(vHRTD)として、通常はテープへのデータ書込みの最後に書込まれるデータ終端(EOD)と呼ばれるデータ・セットのフリー・スペースに記録される。
図5Bは、以下に記載されるデータ・パーティションのEODデータ・セット534に記録された公知のvHRTD530の例を示す。
【0059】
しかし、公知のテープ・ドライブ・システムにおいて、テープがロードおよびマウントされるときにEODデータ・セットは読取られない。結果として、vHRTDはテープのロードおよびマウントに関連して読取られず、よってテープのロードおよびマウントの後に、アプリケーション要求読取り動作を促進するために利用できない。結果として、テープのロードおよびマウントの後に受信したアプリケーション・アクセス要求に応答したテープ・アクセス動作は、テープのロードおよびマウントの完了後の時間間隔に対してvHRTDディレクトリを使用しない。しかし、最終的にはホストからのアクセス要求が受信されてもよく、それによってvHRTDがEODから読取られてもよいことが認識される。こうしたその後のアクセスの例は、ホストが要求するアクセスの結果として、EODデータ・セットまたはその近くに追加されたデータがアクセスされることを含む。こうしたアクセス要求が受信されるまで、vHRTDは読取られないままであり、介在期間中にホストが要求するアクセスを低速にする。しかし、vHRTDを読取らせるアクセスが受信されると、vHRTDを用いてその後の再配置を高速で実行できる。
【0060】
典型的なリニア・テープ・ファイル・システム(LTFS)において、データがファイル・システムのファイルとして記録されたテープの領域は、しばしば2つのパーティションに分割され、それらはユーザ・データを記憶するデータ・パーティションと、ファイル・システム・メタデータ(たとえば、ファイル名、ファイルが記録されたデータ・パーティションの位置、サイズなど)を記憶するインデックス・パーティションとである。
図7Bは、データ・パーティションのユーザ・データ領域「A」と、インデックス・パーティション704bとの例を示す。公知のLTFSシステムの例は、IBMによってSpectrum Archiveというブランド名で販売されている。
【0061】
テープ媒体にインデックス情報を書込む際に、通常はインデックス情報の前後にLTFSフォーマットの仕様において定義されるファイル・マーク(FM)データ構造が書込まれる。いくつかの実施形態において、ファイル・マークはインデックス情報の直前または直後に(すなわち、隣接して)書込まれる。ファイル・マークは、テープ媒体に記録されたインデックス情報を見出すことを促進する。最新のインデックス情報がインデックス・パーティション704aに記録されることで、テープ・ドライブにテープ媒体が挿入されたときにインデックス情報を読取るために必要な時間が低減する。
【0062】
LTFSフォーマット化テープに記録される2つの追加のデータ構造は、しばしば「ラベル」と呼ばれる。こうしたラベルの1つがボリューム・ラベル708a(
図7A)であり、この例においてはこのテープをボリューム1として識別する。別のラベルはLTFSラベル712aであり、このテープがLTFSファイル・システムに対してフォーマット化されていることを識別する。
【0063】
LTFSテープをマウントする要求が受信されたとき、マウントされるテープはテープ・ドライブにロードされ、そのテープがLTFSフォーマットでフォーマット化されていることを確認するために、インデックス・パーティション704aに対するVOL1ラベル708aおよびLTFSラベル712aがチェックされる。加えて、テープに書込まれたファイルおよびディレクトリ情報をファイル・システムに提供するために、ファイル・システムのメタ情報が抽出される。したがって、テープ・ドライブ読取りヘッドがデータ・パーティションの始端のテープ位置718a(
図7B)に配置されるように、ドライブがテープを動かす(再配置する)。テープがデータ・パーティションの始端718aに再配置される際に、VOL1ラベルおよびLTFSラベルをチェックするためにメタデータが読取られる。データ・パーティションの始端718aに到達すると、公知のテープ・ドライブにおけるテープ再配置はちょうどそこで停止して、第1のアプリケーション要求アクセスに備え、アプリケーション要求アクセスは、通常はホストで実行されるユーザ・アプリケーションによって開始される読取り要求または書込み要求である。
【0064】
本明細書において、公知のテープ・ドライブにおけるテープ・マウント・プロセスの完了の際にテープ・パーティションの始端でテープの再配置を終了することは、テープに対するその後のアプリケーション要求アクセスを顕著に低速にし得ることが認識される。なぜなら、vHRTDデータ構造が読取られていないために、所望のレコードへの迅速なアクセスを促進するために利用できないからである。
図8は、本記載によるテープ再配置管理を使用するデータ・ストレージ・システムの動作を示しており、ここではテープ・ドライブへのテープ・カートリッジの挿入に応答して、テープ・ファイル・システムの最初のマウントに関連して、vHRTDが読取られて利用可能にされる。結果として、テープ・カートリッジのロードおよびファイル・システムのマウントに関連して読出されたvHRTDを用いて、各アプリケーション要求アクセスの指定されたレコードまたはファイル・マークが迅速に位置を定められてもよい。
【0065】
この実施形態において、テープ再配置管理255(
図2)と、テープ再配置管理255によって制御されるテープ再配置ロジック257およびテープ・カートリッジ制御ユニット(
図3)とは、
図8のブロック804~850およびそれに伴う記載を含む
図8の動作を実行するように構成される。しかし、特定のアプリケーションに依存して、これらの動作を実行するために他のロジックが構成されてもよいことが認識される。
【0066】
一実施形態においては、自動デバイスによって、たとえば
図3、
図6のテープ・カートリッジ302などのテープ・カートリッジが、たとえば
図3のテープ・ドライブ231などのテープ・ドライブにロードされてもよい。他の実施形態において、テープ・カートリッジはユーザによって手動でロードされてもよく、かつテープ再配置管理255の好適なユーザ・インターフェースが使用されてもよく、または自動および手動の動作の組み合わせによってロードされてもよい。
【0067】
テープ再配置管理255は、テープ・ドライブ・システムへのテープ・カートリッジのロードを検出し(ブロック804、
図8)、ロードされたカートリッジがたとえばHRTDタイプのテープ・カートリッジなど、公知の高解像度テープ・ディレクトリに適合するものかどうかを決定する(ブロック808)。一実施形態において、テープをロードする動作は、テープ再配置管理255またはテープ再配置管理255に制御されるユニットを通じて、自動的にアクティブにされてもよい。他の実施形態において、テープをロードまたはマウントする動作は、テープ再配置管理255の好適なユーザ・インターフェースを通じて手動でアクティブにされてもよいし、自動および手動の動作の組み合わせによってアクティブにされてもよい。
【0068】
テープ・ドライブ・システムへのテープ・カートリッジのロードの検出は、たとえば公知の技術などを含むさまざまな技術を用いて行われてもよいし、今後開発され得る検出技術を用いて行われてもよい。同様に、ロードされたテープ・カートリッジが高解像度テープ・ディレクトリ(HRTD)に適合するかどうかの決定は、公知の技術を含むさまざまな技術を用いて行われてもよいし、今後開発され得る検出技術を用いて行われてもよい。
【0069】
たとえば、エンタープライズ・レベルの適用のためにIBMが販売するTS1160などのTS11xxラインのテープ・ドライブは、たとえば通常はテープの始端近くに位置するハウスキーピング・データ・セット514(
図5A)などのテープのハウスキーピング・データ・セットに、たとえばHRTD510(
図5A)などの高解像度テープ・ディレクトリを記録する。よって、たとえばロードされたカートリッジがTS11xxタイプのカートリッジであることを検出するか、またはたとえばストレージ・コントローラ228(
図2)によって制御されるテープ・データ・ストレージ・ドライブ231(
図3)がTS11xxタイプのテープ・データ・ストレージ・ドライブであることを検出することによって、ロードされたカートリッジが、テープのハウスキーピング・データ・セットに記録されたHRTDを有することが決定されてもよい。特定のアプリケーションに依存して、他の技術が用いられてもよい。
【0070】
たとえば、テープ・データ・ストレージ・ドライブ231がストレージ・コントローラ228によってTS11xxタイプのテープ・ストレージ・ドライブとして検出され得るのは、たとえばテープ・ストレージ・ドライブがストレージ・コントローラに結合され、ストレージ・コントローラとテープ・ドライブとが、テープ・ストレージ・ドライブをTS11xxタイプのテープ・ストレージ・ドライブとして識別する信号を含む好適な信号を交換するときである。他の実施形態において、テープ・カートリッジ302は識別特徴654(
図6)を有してもよく、この識別特徴654がたとえば電子的または光学的に走査されることで、カートリッジ302がTS11xxタイプのカートリッジとして識別されてもよい。たとえば、
図6に示されるとおり、特徴654はハウジング652の内側に埋め込まれた不揮発性メモリの形態であってもよい。他のアプローチにおいて、不揮発性メモリの特徴654は、ハウジング652を改変することなくハウジング652の内側または外側に取り付けられてもよい。たとえば、不揮発性メモリは、特徴654によって表される自己接着ラベルに埋め込まれてもよい。1つのアプローチにおいて、特徴654の不揮発性メモリは、テープ・カートリッジ302の内側または外側に埋め込まれるか、または結合されるフラッシュ・メモリ・デバイス、リード・オンリ・メモリ(ROM)デバイスなどであってもよい。不揮発性メモリは、テープ・ドライブおよびテープ動作ソフトウェア(ドライバ・ソフトウェア)か、あるいはたとえば無線周波数識別(RFID)などの走査もしくはワイヤレス技術またはその他のワイヤレスもしくは有線技術を使用する別のデバイスか、あるいはその両方によってアクセス可能である。特定のタイプのカートリッジおよび特定のタイプのテープ・ドライブ・システムを含む特定のアプリケーションに依存して、ロードされたカートリッジのHRTD適合性を決定するために他の技術が用いられてもよい。
【0071】
ロードされたカートリッジが公知の高解像度テープ・ディレクトリに適合することが決定されたとき(ブロック808)、テープ再配置管理255はハウスキーピング・データ・セット514(
図5A)を読取らせ(ブロック812、
図8)、そこに記録された高解像度テープ・ディレクトリ(HRTD)510がテープ再配置管理255によって読出される(ブロック816)。一実施形態において、公知の技術を用いて、テープのハウスキーピング・データ部分に記録された標準ハウスキーピング・データ・セット(sHKDS)が読取られる。加えて、公知の技術を用いて、読出されたHRTDが拡張されて、たとえばテープ・ドライブ231の制御ユニット320(
図3)のメモリか、またはたとえばストレージ・コントローラ228のメモリ243(
図2)などの好適なメモリに記憶される。特定のアプリケーションに依存して、今後開発される他の技術が使用されてもよい。
【0072】
HRTD510(
図5A)の読出しに続いて、インデックス・パーティション704a(
図7A、
図7B)の終端に記録されたインデックスが読取られる(ブロック820、
図8)ことによって、上述のファイル・システム・メタデータが読出される(ブロック824、
図8)。この方式で、通常は読取りXMLフォーマットで記録されるインデックスから、ファイル・システムのメタ情報が取得される。
【0073】
反対に、ロードされたカートリッジが公知の高解像度テープ・ディレクトリに適合しないことが決定されたとき(ブロック808)、テープ再配置管理255は高解像度テープ・ディレクトリ(HRTD)の読出しを回避し、代わりにインデックス・パーティション704a(
図7A、
図7B)に進み、そこに記録されたインデックスを読取って(ブロック820、
図8)、上述のファイル・システム・メタデータを読出す(ブロック824、
図8)。ファイル・システム・メタデータが読出されると、公知のファイル・マウント技術または今後開発されるファイル・マウント技術を用いて、テープのファイル・システムのマウントが開始される(ブロック828、
図8)。一実施形態において、取得されたメタデータはファイル・システムに送られることによって、ホストで実行中のアプリケーションがテープ上のファイルにアクセスすることを可能にする。
【0074】
本記載によるテープ再配置管理の1つの態様によると、任意のホスト・アクセス要求を処理する前に、ロードおよびマウントされたカートリッジが、たとえばvHRTDタイプのテープ・カートリッジなどの公知の仮想高解像度テープ・ディレクトリに適合するものかどうかに関する決定が行われ(ブロック832)、もしそうであれば、たとえばEODデータ・セット534(
図5B)などのデータ・パーティションのEODデータ・セットに対してテープが再配置される(ブロック834)。示される実施形態においては、ホスト・アクセス要求に関連するのではなく、テープのロードおよびマウントに関連して、たとえばEODデータ・セット534(
図5B)などのデータ・パーティションのEODデータ・セットにテープが再配置される(ブロック834)。
【0075】
前述のとおり、公知のテープ・ドライブ・システムにおいては、テープ・カートリッジをロードした後に、ロードしたばかりのカートリッジのテープを再配置して、テープのファイル・システムをマウントするために最初のインデックス・パーティションを読取り、次いでインデックス・パーティションの後ろのデータ・パーティションの始端(第1のレコード)においてテープを停止する。テープはデータ・パーティションの第1のレコードで停止されて、ホストのアプリケーションによって要求される第1のアクセス(読取りまたは書込み)を待機する。テープはデータ・パーティションの始端で停止されるため、アプリケーション要求アクセスに対する所望のレコードまたはファイル・マーク番号への迅速なアクセスを促進するためにvHRTDを利用できない。
【0076】
これと比較して、本記載によるテープ再配置管理を使用するテープ・ドライブにおいて、テープはデータ・パーティションの始端で停止されず、代わりにテープは、テープ・カートリッジの最初のロードと、テープのファイル・システムのマウントとに関連して、たとえばEODデータ・セット534(
図5B)などのデータ・パーティションのEODデータ・セットに再配置される(ブロック834)。任意のアプリケーション要求アクセスを行う前に、データ・パーティションのEODデータ・セットにテープが再配置される(ブロック834)ため、テープは、テープ再配置管理255(
図2)がデータ・パーティションのEODデータ・セットを直ちに読取り(ブロック838、
図8)、そこに記録されたvHRTDを読出す(ブロック842、
図8)ための位置にある。取得されたvHRTD情報は、次いで公知の技術を用いて拡張されてシステムの好適なメモリに記憶されてもよい。vHRTDは、たとえばテープ・ドライブ制御ユニット320のメモリまたはストレージ・コントローラ228のメモリ243などのさまざまなメモリ位置に記憶されてもよいことが認識される。取得されたvHRTD情報を使用可能なフォーマットでメモリに記憶したとき、本開示によるテープのロードおよびマウントが完了したとみなされてもよい。
【0077】
本明細書に記載されるとおりにテープのロードおよびテープのファイル・システムのマウントに関連してvHRTDを取得および記憶した結果として、任意のアプリケーション要求読取りまたは書込み要求を受信した際に(ブロック846、
図8)、テープ再配置管理255(
図2)はvHRTDによって提供された情報を用いて、指定されたレコードまたはファイル・マーク番号に対してテープを迅速に再配置できる。この方式で、ハウスキーピング・データ・セットに記憶されるHRTDタイプのディレクトリをテープが有さないにもかかわらず、すべてのアプリケーション要求読取りまたは書込みアクセスについて迅速に位置が定められてもよい。
【0078】
ロードされたテープ・カートリッジが仮想高解像度テープ・ディレクトリ(vHRTD)に適合するかどうかの決定は、公知の技術を用いて行われてもよいし、今後開発され得る検出技術を用いて行われてもよい。たとえば、LINEAR TAPE OPEN(R)(LTO(R))規格に準拠する、IBMが販売するテープ・ドライブは、データ・パーティションのEODデータ・セットに仮想高解像度テープ・ディレクトリ(vHRTD)を記録する。なぜなら、LTO(R)規格はハウスキーピング・データ・セットにHRTDタイプのディレクトリを記録することを許可しないからである。よって、たとえばロードされたカートリッジがHRTDを許可しないLTO(R)規格に準拠することを検出するか、またはたとえばストレージ・コントローラ228(
図2)によって制御されるテープ・データ・ストレージ・ドライブ231(
図3)がHRTDを許可しないLTO(R)タイプのテープ・データ・ストレージ・ドライブであることを検出することによって、ロードされたカートリッジが、データ・パーティションのEODデータ・セットに記録されたvHRTDを有することが決定されてもよい。
【0079】
テープ・データ・ストレージ・ドライブ231がストレージ・コントローラ228によってこうしたLTO(R)タイプのテープ・ストレージ・ドライブとして検出され得るのは、たとえばテープ・ストレージ・ドライブがストレージ・コントローラに結合され、ストレージ・コントローラとテープ・ドライブとが、テープ・ストレージ・ドライブを、ハウスキーピング・データ・セットにHRTDを記録することを許可しないLTO(R)タイプのテープ・ストレージ・ドライブとして識別する信号を含む好適な信号を交換するときである。他の実施形態において、テープ・カートリッジ302は識別特徴654を有してもよく、この識別特徴654がたとえば電子的または光学的に走査されることで、HRTDに適合するテープ・カートリッジの検出に関連して上述されたのと類似の方式で、カートリッジ302がこうしたLTO(R)タイプのカートリッジとして識別されてもよい。特定のタイプのカートリッジおよび特定のタイプのテープ・ドライブ・システムを含む特定のアプリケーションに依存して、ロードされたカートリッジのvHRTD適合性を決定するために他の技術が用いられてもよい。
【0080】
一実施形態において、示される実施形態においてはデータ・パーティションのデータ・セット内にあるEOD位置にテープを動かす「スペースEOD」SCSI(小型コンピュータ・システム・インターフェース)コマンドを用いて、テープが再配置されてもよい(ブロック834)。vHRTDが記録された領域にテープを再配置するために、他のコマンドおよび技術が使用されてもよいことが認識される。さらに、本記載によるテープ再配置管理は、特定のアプリケーションに依存して、テープの他の領域にvHRTDタイプのディレクトリを記録するシステムに関連して使用されてもよいことが認識される。
【0081】
なお、テープに記録されるファイルの数が増加するにつれて、テープのファイルをマウントする(ブロック828、
図8)ためにメタ情報を取得する(ブロック824、
図8)ためにかかる時間が増加することがある。一実施形態においては、本記載のテープ再配置管理によって、テープはメタ情報を取得する(ブロック824)ために再配置され、次いでデータ・パーティションのEODデータ・セットに対して再配置される(ブロック834)が、全体的なマウント時間(ブロック828)を短くするために、本明細書に記載されるとおり、vHRTDを取得するためのデータ・パーティションに対するテープの移動(ブロック834)と同時にメタ情報が取得されてもよい(ブロック824)。
【0082】
ロードされたカートリッジが、たとえばvHRTDタイプのテープ・カートリッジなどの公知の仮想高解像度テープ・ディレクトリに適合しないことが決定されたとき(ブロック832)、データ・パーティションのEODデータ・セットに対するテープの再配置(ブロック834)は回避される。この方式で、vHRTDタイプのディレクトリの読出し(ブロック842)も回避される。代わりに、テープはデータ・パーティションの始端に再配置される(ブロック850)。たとえば、IBMが販売するTS11xxタイプのテープ・ドライブは、ハウスキーピング・データ・セットに記録されたHRTDタイプのディレクトリを使用するため、たとえばvHRTDタイプのテープ・カートリッジなどの公知の仮想高解像度テープ・ディレクトリに適合しない。よって、ロードされたテープ・カートリッジがTS11xxテープ・ドライブに対するTS11xxタイプのテープ・カートリッジであるとき、テープは第1のデータ・パーティションの始端に再配置され(ブロック850)、こうしたテープのロードおよびマウントは完了したとみなされる。
【0083】
この方式で、ロードされたテープ・カートリッジが仮想高解像度テープ・ディレクトリ(vHRTD)に適合するものとして検出されるとき、そのテープは、データ・パーティションの開始位置に再配置される代わりに、テープ・ロードおよびファイル・システム・マウント・プロセスに関連するvHRTDの読取りおよび読出しのために自動的に再配置される。結果として、その後に受信される、ホストにおいて実行されるアプリケーションによって開始されるテープ読取りまたは書込みアクセスによって指定されるレコード番号またはファイル・マーク番号に対して、取得したvHRTD情報を用いてテープを容易かつ迅速に再配置してもよい。
【0084】
テープをロードすること、テープ・ファイル・システムをマウントすること、テープを再配置すること、およびテープ・ディレクトリを読出すことは、一般的によく理解されたコンピュータ動作技術である。一実施形態において、これらの周知のコンピュータ動作技術は、図面および付随する記載において開示されるとおりに修正されてもよく、好適な修正の後に本記載によるテープ再配置管理に使用されてもよい。
【0085】
図9Aは、本記載による再配置管理が使用され得るテープの例を概略的な形態で示す。この例において、テープは一方の端部にテープ始端領域BOTを有し、他方の端部にテープ終端領域EOTを有する。この実施形態において、第1のインデックス・パーティション704a(
図7B)の終端位置と、データ・パーティションの始端位置718aとはどちらも、テープの長さLに関してテープ始端(BOT)端部またはその近くにあり、テープの長さLは、たとえば1000メートルなどのさまざまな長さであってもよい。
【0086】
図9Bに示されるとおり、BOT端部から任意の(arbitrary)位置(「任意(any)位置」)までの平均移動距離はL/2であり、ここでLはテープの長さである。これと比較して、テープ上の1つの任意の位置から別の任意の位置(「任意位置」)までの平均移動距離はL/3である。
【0087】
前述のとおり、公知のテープ・ディレクトリ(TD)はテープ・ラップを2つのサブ領域にさらに分割し、各サブ領域に記録されたレコードを識別する。したがって、
図9Cはテープを2つのサブ領域にさらに分割した公知の例を示し、第1のサブ領域はレコードXから始まり、第2のサブ領域の始端の前のレコードYで終わる。これと比較して、公知のvHRTDタイプのディレクトリはテープ・ラップを64のサブ領域にさらに分割し、
図9Dにその一部分が表されている。よって、vHRTDが使用されないとき、TDタイプのディレクトリは通常、レコード番号が、ラップの中央に向かう1つと、ラップの終端に向かう1つとのただ2つの可能なサブ領域の一方にあるものとして識別する。たとえば、
図9Cに示されるレコードXおよびレコードYの中間にあるターゲット・レコードZなどのターゲット・レコードに移動するために、公知の再配置計算では、ターゲット・レコードすなわちターゲット・レコード番号Zを含むTDサブ領域の始端および最後のレコード番号の比率に基づいて、おおよその最初の検索位置が算出される。
図9Cの例において、最初の検索位置は次のとおりに算出される。
L/2*(Z-X)/(Y-X)-M
ここでMは、可変長のレコードに適合するために十分な長さのマージンであり、X、Y、およびZはそれぞれレコードX、レコードY、およびレコードZのレコードのレコード番号である。したがって、
図9Cの点線矢印で表されるとおりのジャンプが、点線矢印の矢尻によって表される最初の検索位置に対して行われ、この最初の検索位置は位置L/2*(Z-X)/(Y-X)よりもマージンMの分先行している。次いで、データ・セットを1つずつ読取りながらターゲット・レコードが検索される。
【0088】
これと比較して、vHRTDが用いられるとき、
図9Dの複数のサブ領域によって部分的に表されるとおり、1つのラップが64のサブ領域に分割され、各サブ領域に記録されたレコード(またはレコードの範囲)がvHRTDにおいて識別される。結果として、レコード番号は連続しているため、各サブ領域の始端および終端において識別されるレコード番号から、ターゲット・レコードが記録された特定のテープ・サブ領域が容易に決定される。したがって、
図9Dの実線矢印で表されるとおりの移動が、
図9Dの実線矢印の矢尻で表される決定されたサブ領域の始端まで高速で行われ、そこからターゲット・レコードが見出されるまでサブ領域内のデータ・セットが検索される。
【0089】
本明細書の以下において、公知のテープ・ドライブと、本記載によるテープ再配置管理の一実施形態を使用するテープ・ドライブとの再配置移動時間の例示的な比較が行われる。前述のとおり、1つの公知のLTO(R)タイプのテープ・ドライブにおいては、ファイル・システムをマウントするためにインデックスを読取った後に、テープに対する第1のアプリケーション要求アクセスを待機するために、テープはデータ・パーティションの始端に再配置される。これと比較して、本記載によるテープ再配置管理の一実施形態を使用するテープ・ドライブにおいては、vHRTDを読出すためにインデックスを読取った後に、テープは直ちにデータ・パーティションのEODデータ・セットに再配置され、次いでテープに対する第1のアプリケーション要求アクセスを待機する。
【0090】
LTFSタイプのファイル・システムを使用するテープ・ドライブにおいて、ホストで実行されるアプリケーションが発行する読取りコマンドによって、テープは要求されるレコードまたはファイルを読取るためにテープ上の任意の位置に再配置される。ホストで実行されるアプリケーションが発行する書込みコマンドによって、テープは新たなデータを書込むために最後に記録されたEOD位置に再配置される。この比較において、アプリケーション・コマンドはマウントの直後に発行されるのではなく、その後アプリケーションが読取りまたは書込みを必要とするときに発行されることが想定される。
【0091】
この比較において、カートリッジがロードされた時点から、インデックス・ファイルが読取られてファイル・システム・メタデータが読出されるまでの最初のテープ移動時間は、公知のテープ・ドライブと、本記載によるテープ再配置管理を使用するものとの両方で実質的に同じであることが想定される。
図10Aは、wrap0を含むインデックス・パーティションを示す。この例において、インデックス・ファイルが読取られたテープの位置をテープ位置Pと表す。しかし、この最初の移動時間は、特定のアプリケーションに依存して、公知のテープ・ドライブと、本記載によるテープ再配置管理を使用するテープ・ドライブとの間で変動し得ることが認識される。加えて
図10A~10Dは、この例においては2つのラップを有するデータ・パーティションを示しており、
図10A~10Dの各図面において、それらのラップは1つの方向のラップ(たとえばwrap4などであってもよい)と、逆方向のラップ(たとえばwrap5などであってもよい)とである。前述のとおり、特定のアプリケーションに依存して、データ・パーティションはさらに多くのラップを有してもよいことが認識される。
【0092】
第1の比較例において、この例においては公知のテープ・ドライブに対して、最初のインデックス・パーティションにおける最後のデータ位置(
図10Aにおいて位置Pに示される)からデータ・パーティションの始端(
図10Aにおいて位置Qに示される)まで移動するのにかかる平均時間の推定が行われてもよい。この例において、このテープ移動時間は、
図10Aの点線矢印で表される。公知のテープ・ドライブにおいて、インデックス・パーティションの終端に書込まれたインデックス位置Pからデータ・パーティションの始端位置Qまでのこの移動時間は、S
Nメートル/秒で表される典型的な移動速度に対して約10秒間であることが多い。移動の開始点および終了点がテープのBOT端部に隣接しているため、一般的に検索は必要とされない。
【0093】
比較の目的のために、最初のインデックス・パーティションにおける最後のデータ位置(
図10Aにおいて位置Pに示される)から、本記載によるテープ再配置管理によってvHRTDを読出すために最後のvHRTDが記録されたEODデータ・セットまで移動するのにかかる平均時間の推定も行われてもよい。このテープ移動時間は、
図10Aの実線矢印で表される。この例において、最後のvHRTDが記録されたEODデータ・セットは、テープがマウント解除される前に書込まれたデータ・パーティションの最後の部分を表すwrap5の任意の位置に書込まれる。本記載によるテープ再配置管理によって読出されるvHRTDが任意の位置にあるため、BOTの近くの最初のインデックス・パーティションにおける最後のデータ位置(
図10Aにおいて位置Pに示される)から最後のvHRTDが記録されたEODデータ・セットまで移動するのにかかる平均時間はL/(2*S
V)秒と推定されてもよく、ここでS
Vメートル/秒は、本記載によるテープ再配置管理を使用するテープ・ドライブに対する平均推定移動速度を表し、S
V>S
Nメートル/秒である。ターゲットEODデータ・セットの位置は通常、メモリに記憶されたデータによって識別されるため、ターゲットEODデータ・セットの検索は必要ないことが多いだろう。読出されたvHRTD情報は、非常に迅速に拡張されて好適なメモリに記憶されてもよいため、この比較の目的に対して、こうした拡張および記憶のための時間は実質的に無視されてもよい。
【0094】
別の比較例において、公知のテープ・ドライブにおいて、この例においてはデータ・パーティションの始端(
図10Bにおいて位置Qに示される)から、テープ上の任意の位置における読取りに対するアプリケーション要求に適合するためにその任意の位置まで移動するのにかかる平均時間の推定が行われてもよい。この例において、公知のテープ・ドライブに対するこのテープ移動時間は、
図10Bの点線矢印で表される。こうした公知のテープ・ドライブにおいて、データ・パーティションの始端位置QはテープのBOT端部の近くであるため、データ・パーティションの始端位置Qから任意の位置までの平均移動時間はL/(2*S
N)秒である。公知のテープ・ドライブにおいてはEODデータ領域からvHRTD情報がまだ読出されておらず、したがってこうした公知のテープ・ドライブにおいてはアプリケーションの読取り動作によって要求されるターゲット・レコードまたはファイルの位置を定めることを促進するためにvHRTDを利用できないため、アプリケーション要求のファイルのターゲット・レコードを見出すために、通常は広範囲の検索が行われる。
【0095】
比較の目的のために、本記載によるテープ再配置管理によって最後のvHRTDが読出されたEODデータ領域から、テープ上の任意の位置における読取りに対するアプリケーション要求に適合するためにその任意の位置まで移動するのにかかる平均時間の推定も行われてもよい。このテープ移動時間は、
図10Bの実線矢印で表される。前記のとおり、最後のvHRTDが記録されたEODデータ領域は、テープが以前にマウント解除される前に書込まれたデータ・パーティションの最後のデータ・セットを表すデータ・パーティションの終端の任意の位置に書込まれる。同様に、このターゲット・レコードまたはファイルも任意の位置にある。1つの任意の位置から別の任意の位置までの平均移動時間はL/(3*S
V)秒と推定されてもよい。本記載によるテープ再配置管理を使用するテープ・ドライブにおいては、アプリケーション要求によって要求されるターゲット・レコードまたはファイルの検索を促進するために、vHRTD情報が読出されてシステム・メモリに記憶されているため、ターゲット・レコードまたはファイルの検索は比較的短時間である。
【0096】
さらに別の比較例において、公知のテープ・ドライブにおいて、この例においてはデータ・パーティションの始端(
図10Cにおいて位置Qに示される)から、書込みに対するアプリケーション要求に適合するための任意の位置まで移動するのにかかる平均時間の推定が行われてもよい。多くのテープ・ドライブにおいて、新たなファイル・データの書込みは通常、最後の書込み動作のEODデータ・セット位置から開始され、これは任意の位置である。この例において、公知のテープ・ドライブに対するこのテープ移動時間は、
図10Cの点線矢印で表される。こうした公知のテープ・ドライブにおいて、データ・パーティションの始端位置QはテープのBOT端部の近くであるため、データ・パーティションの始端位置Qから任意の位置である最後に記録されたEOD位置までの平均移動時間はL/(2*S
N)秒である。
【0097】
比較の目的のために、本記載によるテープ再配置管理によって最後に記録されたvHRTDが読出されたEOD位置(
図10C)から、テープ上の任意の位置における書込みに対するアプリケーション要求に適合するためにその任意の位置まで移動するのにかかる平均時間の推定も行われてもよい。前記のとおり、最後のvHRTDが記録されたEODデータ領域は、テープがマウント解除される前に書込まれた最後のデータ・セットを表すデータ・パーティションの終端に書込まれる。加えて上記のとおり、多くのテープ・ドライブにおいて、新たなファイル・データの書込みは通常、最後の書込み動作のEOD位置から開始され、それはこの本記載によるテープ再配置管理の例においては現在のテープ位置である。よって、新たな書込み動作を開始するためのEOD位置にテープがすでに配置されているため、本記載によるテープ再配置管理を使用するテープ・ドライブに必要な移動時間は0である。
【0098】
さらに別の比較例において、公知のテープ・ドライブにおいて、たとえば最後の読取り動作のサイトなどの1つの任意の位置から、読取りに対する別のアプリケーション要求に適合するための別の任意の位置まで移動するのにかかる平均時間の推定が行われてもよい。この例において、公知のテープ・ドライブに対する1つの読取り動作のサイトから別の読取り動作までのこのテープ移動時間は、
図10Dの点線矢印で表される。公知のテープ・ドライブにおいて、1つの任意の位置から別の任意の位置までの平均移動時間はL/(3*S
N)秒である。公知のテープ・ドライブにおいて、アプリケーションによって要求されるその後の読取り動作を促進するために、アプリケーション書込み動作に応答してEODデータ領域からvHRTD情報が読出されてもよい。よって、前のアプリケーション書込み動作に応答してEODデータ領域からvHRTD情報が読出されているとき、その後のアプリケーション・アクセス読取り要求に応答したターゲット・レコードまたはファイルの検索は、公知のテープ・ドライブにおけるそれらの場合のvHRTDによって促進されてもよい。しかし、前の書込み動作がまだ要求されていないためにvHRTD情報がまだ読出されていないときは、アプリケーション読取り要求のターゲット・レコードまたはファイルを見出すために、通常は公知のテープ・ドライブにおいて広範囲の検索が行われる。
【0099】
比較の目的のために、本記載によるテープ再配置管理を使用するテープ・ドライブにおいて、たとえば最後の読取り動作のサイトなどの1つの任意の位置から、読取りに対する別のアプリケーション要求に適合するための別の任意の位置まで移動するのにかかる平均時間の推定が行われてもよい。この例において、本記載によるテープ再配置管理を使用するテープ・ドライブに対する1つの読取り動作のサイトから別の読取り動作までのこのテープ移動時間は、
図10Dの実線矢印で表される。ここで、1つの任意の位置から別の任意の位置までの平均移動時間はL/(3*S
V)秒である。本記載の一実施形態によるテープ再配置管理を使用するテープ・ドライブにおいては、第1のアプリケーション読取りまたは書込み要求を実行する前に、EODデータ領域からvHRTD情報がすでに読出されている。よって、アプリケーションによるすべてのアプリケーション読取り要求を促進するためにvHRTDを利用できる。
【0100】
公知のテープ・ドライブにおいて、カートリッジ・ファイル・システムのマウントの直後に読取り要求が来たとき、その最初の読取り要求に対する本記載によるテープ再配置は、公知のテープ・ドライブにおけるテープ再配置よりも時間がかかることがあることが認識される。たとえば、本記載によるテープ再配置管理を使用するテープ・ドライブに対する再配置時間をTVで表し、公知のテープ・ドライブに対する再配置時間をTNで表すとき、その比較TV-TNは次のとおりに表されてもよい。
L/(2*SV)+L/(3*SV)-L/(2*SN)-10秒。
【0101】
しかし、読取り要求は通常、公知のテープ・ドライブにおいてカートリッジ・ファイル・システムがマウントされた直後には来ない。したがって、もし公知のテープ・ドライブにおいてカートリッジ・ファイル・システムがマウントされてから少なくともL/(2*SV)+L/(3*SV)-L/(2*SN)-10秒が経過したときに第1の読取り要求が来れば、本記載によるテープ再配置管理を使用するテープ・ドライブに対する最初の読取り要求に対する再配置時間の方が、公知のテープ・ドライブに対するものよりも速くなると考えられる。同様に、すべてのその後の読取り要求についても、本記載による利用可能なvHRTDテープ・ディレクトリを有するテープ再配置管理を使用するテープ・ドライブに対する再配置時間の方が、vHRTDをまだ利用できない公知のテープ・ドライブに対するものよりも速くなると考えられる。
【0102】
カートリッジ・ファイル・システムがマウントされた直後に書込み要求が来た場合、比較TV-TNは次のとおりに表されてもよい。
L/(3*SV)-L/(2*SN)-10秒<L/(6*S)-10<0
これはSがSVとほぼ等しいときに満たされる。上述のとおり、L/(6*S)は負になるはずなので、この方程式は常に負である。よって、本記載によるテープ再配置管理を使用するテープ・ドライブに対する最初の書込み要求に対する再配置時間は、公知のテープ・ドライブに対するものよりも速くなると考えられる。公知のテープ・ドライブにおける最初の書込み要求に応答して、EODデータ・セットからvHRTDが読出され得ることで、その後のアプリケーション・アクセス要求が促進されることが認識される。
【0103】
テープ位置が任意の位置にあり、かつ公知のテープ・ドライブにおいてvHRTDがまだ読出されていないとき、別の任意の位置における読取りまたは書込みの要求に応答する移動時間の比較TV-TNは次のとおりに表されてもよい。
L/(3*SV)-L/(3*SN)<0
これは満たされている。よって、これらの任意の位置から任意の位置への再配置に対して、本記載によるテープ再配置管理を使用するテープ・ドライブに対する再配置時間は、公知のテープ・ドライブに対するものと比較して、より速くなると考えられる。上記のとおり、公知のテープ・ドライブにおけるその後の書込み要求に応答して、EODデータ・セットからvHRTDが読出され得ることで、その後のアプリケーション・アクセス要求が促進されることが認識される。他方で、vHRTDが取得される書込み要求を伴わずに読取り要求が継続するときは、本記載による利用可能なvHRTDテープ・ディレクトリを有するテープ再配置管理を使用するテープ・ドライブに対する再配置時間の方が、vHRTDをまだ利用できない公知のテープ・ドライブに対するものよりも速くなると考えられる。
【0104】
テープ再配置管理255(
図2)およびテープ再配置ロジック257の態様は、単一の場所のコンピュータ・システム/サーバにおいて具現化されてもよいし、少なくとも1つの実施形態においては、コンピューティング・リソースを共有するクラウド・ベースのシステムにおいて構成されてもよい。
図11を参照すると、コンピュータ/サーバ1102を含むコンピュータ・システム1100の例を示すブロック図が提供され、コンピュータ/サーバ1102は以後ホスト1102と呼ばれ、
図1A~3および
図8に関して上述されるシステム、ツール、およびプロセスを実装するためにクラウド・ベースのサポート・システムと通信する。ホスト1102は、多数の他の汎用目的または特定目的のコンピュータ・システム環境または構成と共に動作する。ホスト1102と共に使用するために好適であり得る周知のコンピュータ・システム、環境、もしくは構成、またはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家電機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、ならびに上記のシステム、デバイス、およびそれらの均等物のいずれかを含むファイル・システム(例、分散型ストレージ環境および分散型クラウド・コンピューティング環境)を含むが、それに限定されない。
【0105】
図面のコンピュータのコンポーネントは、たとえば
図11に示されるコンピュータ・システムまたはホスト1102などの1つ以上のコンピュータ・システムにおいて実装されてもよい。ホスト1102は、コンピュータ・システムによって実行されるたとえばプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明されてもよい。一般的に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、およびデータ構造などを含んでもよい。ホスト1102は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが行われる分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモートのコンピュータ・システム記憶媒体の両方に位置してもよい。
【0106】
図11に示されるとおり、ホスト1102は汎用目的のコンピュータ・デバイスの形態で示される。ホスト1102のコンポーネントは、1つ以上のプロセッサまたは処理デバイスもしくはユニット1104、たとえばハードウェア・プロセッサなどと、システム・メモリ1106と、システム・メモリ1106を含むさまざまなシステム・コンポーネントを処理デバイス1104に結合するバス1108とを含んでもよいが、それらに限定されない。バス1108は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびさまざまなバス・アーキテクチャのいずれかを用いるプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のいずれか1つ以上を表す。限定ではなく例として、こうしたアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。ホスト1102は通常、さまざまなコンピュータ・システム可読媒体を含む。こうした媒体は、ホスト1102によるアクセスが可能な任意の利用可能な媒体であってもよく、それは揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体の両方を含む。
【0107】
メモリ1106は、たとえばランダム・アクセス・メモリ(RAM)1130もしくはキャッシュ・メモリ1132またはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含み得る。単なる例として、取り外し不可能な不揮発性磁気媒体(図示せず、通常「テープ・ドライブ」と呼ばれる)からの読取りおよびそこへの書込みのために、ストレージ・システム1134が提供され得る。示されていないが、取り外し可能な不揮発性磁気ディスク(例、「フレキシブル・ディスク」)からの読取りおよびそこへの書込みのための磁気ディスク・ドライブ、ならびにたとえばCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能な不揮発性光ディスクからの読取りまたはそこへの書込みのための光ディスク・ドライブが提供され得る。こうした場合に、その各々は1つ以上のデータ媒体インターフェースによってバス1108に接続され得る。以下にさらに示されて説明されるとおり、メモリ1106は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
【0108】
プログラム・モジュール1142のセット(少なくとも1つ)を有するプログラム/ユーティリティ1140、ならびにオペレーティング・システム、1つ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データは、限定ではなく例としてメモリ1106に記憶されてもよい。オペレーティング・システム、1つ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データ、またはその何らかの組み合わせの各々は、ネットワーク形成環境の実装を含んでもよい。プログラム・モジュール1142は一般的に、vHRTDディレクトリがアプリケーション要求アクセスのために利用可能であることを確実にするために、実施形態の機能もしくは方法またはその両方を実行する。たとえば、プログラム・モジュール1142のセットは、
図2に記載されるテープ再配置管理255を含んでもよい。
【0109】
ホスト1102は、たとえばキーボード、ポインティング・デバイスなどの1つ以上の外部デバイス1114;ディスプレイ1124;ユーザがホスト1102と対話することを可能にする1つ以上のデバイス;もしくはホスト1102が1つ以上の他のコンピュータ・デバイスと通信することを可能にする任意のデバイス(例、ネットワーク・カード、モデムなど)、またはその組み合わせとも通信してもよい。こうした通信は、入力/出力(I/O)インターフェース(単数または複数)1122を介して生じ得る。さらに、ホスト1102はネットワーク・アダプタ1120を介して、たとえばローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、もしくはパブリック・ネットワーク(例、インターネット)、またはその組み合わせなどの1つ以上のネットワークと通信できる。示されるとおり、ネットワーク・アダプタ1120は、バス1108を介してホスト1102のその他のコンポーネントと通信する。少なくとも1つの実施形態において、分散型ファイル・システム(図示せず)の複数のノードは、I/Oインターフェース1122またはネットワーク・アダプタ1120を介してホスト1102と通信する。示されていないが、その他のハードウェアもしくはソフトウェアまたはその両方のコンポーネントがホスト1102と共に使用され得ることが理解されるべきである。その例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどを含むが、それに限定されない。
【0110】
この文書において、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ可読媒体」という用語は、たとえばメイン・メモリ1106などの媒体を一般的に示すために用いられ、メイン・メモリ1106はRAM1130と、キャッシュ・メモリ1132と、ストレージ・システム1134とを含み、それはたとえば、取り外し可能なストレージ・ドライブ、およびハード・ディスク・ドライブにインストールされたハード・ディスクなどである。メモリ1106にはコンピュータ・プログラム(コンピュータ制御ロジックとも呼ばれる)が記憶される。加えてコンピュータ・プログラムは、たとえばネットワーク・アダプタ1120などの通信インターフェースを介して受信されてもよい。こうしたコンピュータ・プログラムは、実行されるときに、コンピュータ・システムが本明細書において考察される本実施形態の特徴を実行することを可能にする。特にコンピュータ・プログラムは、実行されるときに、処理デバイス1104がコンピュータ・システムの特徴を実行することを可能にする。このため、コンピュータ・プログラムは、コンピュータ・システムのコントローラを表してもよい。したがって、図面に記載される再配置管理255に対する機能は、メモリ1106に(いくつかの実施形態においてはプログラム・モジュール1142として)記憶されるコンピュータ・プログラム・コードとして具現化されてもよく、このコンピュータ・プログラム・コードは、本明細書に記載される再配置管理255の機能を提供するために処理デバイス1104によって実行される命令を含む。
【0111】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ダイナミックまたはスタティック・ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、磁気ストレージ・デバイス、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造体など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読記憶媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的な信号であると解釈されるべきではない。
【0112】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るか、あるいはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0113】
本実施形態の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または1つ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばJava、Smalltalk、またはC++など、および従来の手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバもしくはサーバのクラスタで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)などを含む電子回路は、実施形態の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0114】
したがって、図面に記載される再配置管理に対する機能は、本明細書に記載される再配置管理255の機能を提供するために処理デバイス1104以外の、またはそれに加えられた1つ以上のハードウェア・デバイスによって実行されるコンピュータ可読プログラム命令として具現化されてもよい。
【0115】
少なくとも1つの実施形態において、ホスト1102はクラウド・コンピューティング環境のノードである。本開示はクラウド・コンピューティングの詳細な説明を含むが、本明細書に記述される教示の実装はクラウド・コンピューティング環境に限定されないことが理解されるべきである。むしろ、本開示の実施形態は、現在公知であるか、または後に開発される任意のその他のタイプのコンピューティング環境と共に実装され得る。
【0116】
当該技術分野において公知であるとおり、クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話によって迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは少なくとも5つの特性と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含んでもよい。こうした特性の例は次のとおりである。
【0117】
オンデマンド・セルフサービス。クラウド消費者は、たとえばサーバ時間およびネットワーク・ストレージなどのコンピューティング機能を、必要に応じて自動的に、サービスのプロバイダとの人的対話を必要とせずに一方的にプロビジョニングできる。
【0118】
広範なネットワーク・アクセス。機能はネットワークを通じて利用可能であり、さまざまなシンまたはシック・クライアント・プラットフォーム(例、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的な機構を通じてアクセスされる。
【0119】
リソース・プール。マルチテナント・モデルを用いて複数の消費者にサービスするために、プロバイダのコンピューティング・リソースはプールされ、要求に従って異なる物理および仮想リソースが動的に割り当ておよび再割り当てされる。消費者は一般的に、提供されるリソースの正確な場所に対する制御も知識も有さないが、より高い抽象化レイヤにおける場所(例、国、州、またはデータセンタ)を特定できてもよいという点で、場所独立性の意味が存在する。
【0120】
迅速な弾力性。機能は、素早くスケール・アウトするために場合によっては自動的に、迅速かつ弾力的にプロビジョニングされ、かつ素早くスケール・インするために迅速にリリースされ得る。消費者にとって、プロビジョニングのために利用可能な機能はしばしば無制限にみえ、任意のときに任意の量を購入できる。
【0121】
従量制サービス。クラウド・システムは、サービスのタイプ(例、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に対して適切な何らかの抽象化レイヤにおいて計測機能を利用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用をモニタ、制御、および報告して、使用されるサービスのプロバイダおよび消費者の両方に対する透明性を提供できる。
【0122】
サービス・モデルは次のとおりである。
【0123】
サービスとしてのソフトウェア(SaaS)。消費者に提供される機能は、クラウド・インフラストラクチャにおいて動作するプロバイダのアプリケーションの使用である。アプリケーションは、さまざまなクライアント・デバイスからたとえばウェブ・ブラウザ(例、ウェブ・ベースのeメール)などのシン・クライアント・インターフェースを通じてアクセス可能である。消費者はネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能さえも含む基礎的なクラウド・インフラストラクチャを管理または制御することはなく、例外となり得るのは限られたユーザ特有のアプリケーション構成設定である。
【0124】
サービスとしてのプラットフォーム(PaaS)。消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、消費者が作成または取得したアプリケーションのクラウド・インフラストラクチャへの展開である。消費者はネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎的なクラウド・インフラストラクチャを管理または制御することはないが、展開されたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成に対する制御を有する。
【0125】
サービスとしてのインフラストラクチャ(IaaS)。消費者に提供される機能は、オペレーティング・システムおよびアプリケーションを含み得る、消費者が任意のソフトウェアを展開および実行することが可能な処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースのプロビジョニングである。消費者は基礎的なクラウド・インフラストラクチャを管理または制御することはないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によってはネットワーク形成コンポーネント(例、ホスト・ファイアウォール)の選択に対する限られた制御を有する。
【0126】
展開モデルは次のとおりである。
【0127】
プライベート・クラウド。このクラウド・インフラストラクチャは、ある組織に対してのみ操作される。これはその組織またはサード・パーティによって管理されてもよく、オンプレミスまたはオフプレミスに存在してもよい。
【0128】
コミュニティ・クラウド。このクラウド・インフラストラクチャは複数の組織によって共有され、共通する関心事項(例、任務、セキュリティ要件、ポリシー、およびコンプライアンスの検討)を有する特定のコミュニティをサポートする。これはそれらの組織またはサード・パーティによって管理されてもよく、オンプレミスまたはオフプレミスに存在してもよい。
【0129】
パブリック・クラウド。このクラウド・インフラストラクチャは、一般人または大規模な産業グループに対して利用可能にされ、クラウド・サービスを販売する組織が所有している。
【0130】
ハイブリッド・クラウド。このクラウド・インフラストラクチャは2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体であり、それらのクラウドは独自のエンティティに留まるが、データおよびアプリケーション・ポータビリティを可能にする標準または独自の技術(例、クラウド間のロード・バランシングのためのクラウド・バースティング)によって共に結合される。
【0131】
クラウド・コンピューティング環境はサービス指向型であり、ステートレス性、低結合性、モジュラリティ、およびセマンティックな相互運用性に焦点を合わせている。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0132】
ここで
図12を参照すると、クラウド・コンピューティング・ネットワーク1200の例を示す概略図が提供される。示されるとおり、クラウド・コンピューティング・ネットワーク1200は1つ以上のクラウド・コンピューティング・ノード1210を有するクラウド・コンピューティング環境1250を含み、このクラウド・コンピューティング・ノード1210によって、クラウド消費者が使用するローカル・コンピュータ・デバイスが通信してもよい。これらのローカル・コンピュータ・デバイスの例は、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話1254A、デスクトップ・コンピュータ1254B、ラップトップ・コンピュータ1254C、または自動車のコンピュータ・システム1254N、あるいはその組み合わせを含むが、それに限定されない。ノード1210内の個々のノードは、さらに互いに通信してもよい。これらのノードは、たとえば上述したプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組み合わせなどの1つ以上のネットワークにおいて、物理的または仮想的にグループ化(図示せず)されてもよい。このことは、クラウド・コンピューティング・ネットワーク1200がインフラストラクチャ、プラットフォーム、もしくはソフトウェア、またはその組み合わせを、クラウド消費者がそれに対するリソースをローカル・コンピュータ・デバイスにおいて維持する必要のないサービスとして提供することを可能にする。
図8に示されるコンピュータ・デバイス1254A~Nのタイプは単なる例示であることが意図されており、クラウド・コンピューティング環境1250は、任意のタイプのネットワークもしくはネットワーク・アドレス可能接続(例、ウェブ・ブラウザを使用するもの)またはその両方を通じて、任意のタイプのコンピュータ・デバイスと通信できることが理解される。
【0133】
ここで
図13を参照すると、
図12のクラウド・コンピューティング・ネットワークによって提供される機能的抽象化レイヤ1300のセットが示されている。
図13に示されるコンポーネント、レイヤ、および機能は単なる例示であることが意図されており、実施形態はそれらに限定されないことが予め理解されるべきである。示されるとおり、以下のレイヤおよび対応する機能が提供される。ハードウェアおよびソフトウェア・レイヤ1310、仮想化レイヤ1320、管理レイヤ1330、およびワークロード・レイヤ1340。
【0134】
ハードウェアおよびソフトウェア・レイヤ1310は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ、サーバ、ブレード・サーバ、ストレージ・デバイス、ネットワークおよびネットワーク形成コンポーネントを含む。ソフトウェア・コンポーネントの例は、ネットワーク・アプリケーション・サーバ・ソフトウェアおよびデータベース・ソフトウェアを含む。
【0135】
仮想化レイヤ1320は抽象化レイヤを提供し、この抽象化レイヤから仮想エンティティの以下の例が提供されてもよい。仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアント。
【0136】
一例において、管理レイヤ1330は以下の機能を提供してもよい。リソース・プロビジョニング、計測および価格決定、ユーザ・ポータル、サービス・レイヤ管理、ならびにSLA計画および実現。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを行うために使用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計測および価格決定は、クラウド・コンピューティング環境内でリソースが使用される際のコスト追跡と、これらのリソースの消費に対する課金またはインボイス作成を提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド消費者およびタスクに対するアイデンティティ検証、ならびにデータおよびその他のリソースの保護を提供する。ユーザ・ポータルは、消費者およびシステム管理者に対するクラウド・コンピューティング環境へのアクセスを提供する。サービス・レイヤ管理は、要求されるサービス・レイヤが適合するようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レイヤ・アグリーメント(SLA)計画および実現は、SLAによって将来の要求が予測されるクラウド・コンピューティング・リソースに対する事前の取り決めおよびその調達を提供する。
【0137】
ワークロード・レイヤ1340は、クラウド・コンピューティング環境が使用され得る機能の例を提供する。このレイヤから提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室の教育配信、データ分析処理、トランザクション処理、およびエンタープライズ・レベル・イメージ・コピーによって行われるアプリケーション・レベル回復を含むが、それに限定されない。
【0138】
本明細書においては、自然言語入力を評価し、対応する通信における疑問を検出し、回答もしくはサポートする内容またはその両方によって検出された疑問を解決するためのシステム、方法、装置、およびコンピュータ・プログラム製品が開示されていることが認識されるだろう。
【0139】
本開示の特定の実施形態を示して説明したが、本明細書の教示に基づいて、実施形態およびそのより広い態様から逸脱することなく変更および修正が行われてもよいことが当業者に明らかになるだろう。したがって、添付の請求項はその範囲内に、こうした変更および修正のすべてを実施形態の範囲内にあるものとして包含する。さらに、実施形態は添付の請求項のみによって定義されることが理解されるべきである。導入された請求項の構成要素に特定の数が意図されるときは、こうした意図が請求項において明示的に記述されることとなり、こうした記述がないときはこうした限定が存在しないことを当業者は理解するだろう。非限定的な例として、理解を助けるために、以下の添付の請求項は、請求項の構成要素を導入するために「少なくとも1つ」および「1つ以上」という導入語句の使用を含む。しかしこうした語句の使用は、不定冠詞「a」または「an」による請求項構成要素の導入によって、たとえ同じ請求項が導入語句「1つ以上」または「少なくとも1つ」およびたとえば「a」または「an」などの不定冠詞を含んでいるときでも、こうした導入された請求項構成要素を含む任意の特定の請求項がただ1つのこうした構成要素を含む実施形態に限定されることを意味するものと解釈されるべきではない。請求項における定冠詞の使用についても同じことが当てはまる。
【0140】
本実施形態は、システム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。加えて、本実施形態の選択された態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいはソフトウェアもしくはハードウェアまたはその両方の態様を組み合わせた実施形態の形態を取ってもよく、それらはすべて本明細書において一般的に「回路」、「モジュール」、または「システム」と呼ばれることがある。さらに、本実施形態の態様は、プロセッサに本実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)において具現化されるコンピュータ・プログラム製品の形態を取ってもよい。こうして具現化された、開示されるシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせは、コンピュータ・ベースのシステムまたはプラットフォームの機能および動作を改善するように動作する。
【0141】
本明細書において、実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して、本実施形態の態様が説明される。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることが理解されるだろう。
【0142】
これらのコンピュータ可読プログラム命令は、汎用目的のコンピュータか、特定目的のコンピュータか、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実装するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイス、またはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読記憶媒体にも記憶されることによって、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実装する命令を含む製造物を含んでもよい。
【0143】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実装されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作を行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実装してもよい。
【0144】
図面におけるフローチャートおよびブロック図は、本開示のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示すものである。これに関して、フローチャートまたはブロック図の各ブロックは、命令のモジュール、セグメント、または一部分を表してもよく、これは指定される論理機能(単数または複数)を実装するための1つ以上の実行可能命令を含む。いくつかの代替的実装において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、または関与する機能に依存して、これらのブロックがときには逆の順序で実行されてもよい。加えて、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能もしくは動作を行うか、または特定目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特定目的のハードウェア・ベースのシステムによって実装され得ることが注目されるだろう。
【0145】
本明細書においては例示の目的のために特定の実施形態が記載されているが、それらの実施形態の範囲から逸脱することなくさまざまな修正が行われてもよいことが認識されるだろう。本開示のさまざまな実施形態の説明は、例示の目的のために提示されているが、網羅的であること、または開示された実施形態に限定されることは意図されていない。記載された実施形態の範囲から逸脱することなく、多くの修正および変形が当業者に明らかになるだろう。本明細書で使用される用語は、実施形態の原理、実際の適用、または市場で見出される技術に対する技術的改善を最もよく説明するため、または他の当業者が本明細書で開示される実施形態を理解できるようにするために選択されたものである。したがって、実施形態の保護の範囲は、以下の請求項およびそれらの均等物のみによって限定される。
【0146】
「ある実施形態」、「実施形態」、「複数の実施形態」、「その実施形態」、「それらの実施形態」、「1つ以上の実施形態」、「いくつかの実施形態」、および「一実施形態」という用語は、別様に明確に指定されていない限り、「本発明(単数または複数)の1つ以上(だがすべてではない)の実施形態」を意味する。
【0147】
「含む」、「備える」、「有する」という用語およびそれらの変形は、別様に明確に指定されない限り、「含むがそれに限定されない」を意味する。
【0148】
列挙される項目のリストは、別様に明確に指定されない限り、任意またはすべての項目が互いに排他的であることを意味するものではない。
【0149】
「a」、「an」、および「the」という用語は、別様に明確に指定されない限り、「1つ以上」を意味する。
【0150】
別様に明確に指定されない限り、互いに通信するデバイスは、互いに継続的に通信する必要はない。加えて、互いに通信するデバイスは直接通信してもよいし、1つ以上の中間物を通じて間接的に通信してもよい。
【0151】
互いに通信するいくつかのコンポーネントを有する実施形態の記載は、こうしたコンポーネントがすべて必要であることを意味するものではない。反対に、本発明の多様な可能な実施形態を例示するためにさまざまな任意のコンポーネントが記載されている。
【0152】
本明細書において単一のデバイスまたは物品が記載されるとき、単一のデバイス/物品の代わりに2つ以上のデバイス/物品(それらが協働してもしなくても)が用いられてもよいことが容易に明らかとなるだろう。同様に、本明細書において2つ以上のデバイスまたは物品が記載されるとき(それらが協働してもしなくても)、2つ以上のデバイスまたは物品の代わりに単一のデバイス/物品が用いられてもよいし、示される数のデバイスまたは物品の代わりに異なる数のデバイス/物品が用いられてもよいことが容易に明らかとなるだろう。あるデバイスの機能もしくは特徴またはその両方が、こうした機能/特徴を有することが明確に記載されていない1つ以上の他のデバイスによって代替的に具現化されてもよい。よって、本発明の他の実施形態はそのデバイス自体を含む必要はない。
【0153】
本発明のさまざまな実施形態の前述の記載は、例示および説明の目的のために提供されたものである。網羅的になったり、開示される厳密な形に本発明を限定したりすることは意図されていない。上記の教示に鑑みて、多くの修正および変更が可能である。本発明の範囲は、この詳細な説明ではなく、添付される請求項によって限定されることが意図される。上記の明細書、実施例、およびデータは、本発明の構成の製造および使用の完全な説明を提供する。本発明の多くの実施形態は本発明の範囲から逸脱することなく作成され得るため、本発明は本明細書の後ろに添付される請求項に存在する。
【国際調査報告】