(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-24
(54)【発明の名称】しきいテープ位置を越えるデータ記憶
(51)【国際特許分類】
G06F 16/13 20190101AFI20240517BHJP
【FI】
G06F16/13 100
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023565967
(86)(22)【出願日】2022-04-15
(85)【翻訳文提出日】2023-10-26
(86)【国際出願番号】 CN2022087006
(87)【国際公開番号】W WO2022247513
(87)【国際公開日】2022-12-01
(32)【優先日】2021-05-26
(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)【発明者】
【氏名】宮村 剛志
(57)【要約】
方法は、テープに書き込まれるインデックスに対応する書込み情報を取得することを含むことができる。書込み情報は、インデックスのためのテープ上でのターゲット書込み位置を含むことができる。方法は、ターゲット書込み位置がテープ上でしきい位置を越えるとの第1の判断を行うことを含むことができる。方法は、テープに記憶されるフル・インデックスのサイズを含むインデックス情報を取得することを含むことができる。方法は、フル・インデックスのサイズが1つのデータセットのサイズを上回るとの第2の判断を行うことを含むことができる。方法は、第1の判断および第2の判断を行ったことに応答して、インデックスをテープに書き込むことを含むことができる。書き込むことは、しきい位置を越える第1の位置においてであることができる。インデックスは、増分インデックスであってもよい。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
テープに書き込まれるインデックスに対応する書込み情報を取得することであって、前記書込み情報が前記インデックスのための前記テープ上でのターゲット書込み位置を含む、前記取得することと、
前記ターゲット書込み位置が前記テープ上でしきい位置を越えるとの第1の判断を行うことと、
前記テープに記憶されるフル・インデックスのサイズを含むインデックス情報を取得することと、
前記フル・インデックスの前記サイズが1つのデータセットのサイズを上回るとの第2の判断を行うことと、
前記第1の判断および前記第2の判断を行ったことに応答して、前記インデックスを前記テープに書き込むことであって、前記書き込むことが、前記しきい位置を越える第1の位置においてである、前記書き込むことと
を含み、前記インデックスが、増分インデックスである、コンピュータ実装方法。
【請求項2】
前記インデックス情報が、前記テープ上に連続的に記憶されるインデックスの数をさらに含み、
前記書き込むことが、前記数がしきい値数を上回らないことにさらに応答するものである、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記しきい位置を越えて前記テープに書き込まれるデータが、増分インデックスおよびフル・インデックスから成る群から選択される、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記インデックスが、メタデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記書込み情報を前記取得することが、前記テープに記憶されたファイルを削除すること、および前記テープに記憶されたファイルをリネームすることから成る群から選択される動作に応答して実施される、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記書込み情報が、前記テープをアンマウントするためのインジケーションをさらに含み、
前記インジケーションに応答して、前記しきい位置を越える第2の位置で前記テープにフル・インデックスを書き込む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記フル・インデックスのサイズのインジケータを記憶することをさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
システムであって、
1つまたは複数のプロセッサと、
プログラム命令を記憶する1つまたは複数のコンピュータ可読記憶媒体であって、前記プログラム命令が前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
テープに書き込まれるインデックスに対応する書込み情報を取得することであって、前記書込み情報が前記インデックスのための前記テープ上でのターゲット書込み位置を含む、前記取得することと、
前記ターゲット書込み位置が前記テープ上でしきい位置を越えるとの第1の判断を行うことと、
前記テープに記憶されるフル・インデックスのサイズを含むインデックス情報を取得することと、
前記フル・インデックスの前記サイズが1つのデータセットのサイズを上回るとの第2の判断を行うことと、
前記第1の判断および前記第2の判断を行ったことに応答して、前記インデックスを前記テープに書き込むことであって、前記書き込むことが、前記しきい位置を越える第1の位置においてである、前記書き込むことと
を含む方法を実施させるように構成される、前記1つまたは複数のコンピュータ可読記憶媒体と
を備え、前記インデックスが、増分インデックスである、システム。
【請求項9】
前記インデックス情報が、前記テープ上に連続的に記憶されるインデックスの数をさらに含み、
前記書き込むことが、前記数がしきい値数を上回らないことにさらに応答するものである、請求項8に記載のシステム。
【請求項10】
前記しきい位置を越えて前記テープに書き込まれるデータが、増分インデックスおよびフル・インデックスから成る群から選択される、請求項8に記載のシステム。
【請求項11】
前記インデックスが、メタデータを含む、請求項8に記載のシステム。
【請求項12】
前記書込み情報を前記取得することが、前記テープに記憶されたファイルを削除すること、および前記テープに記憶されたファイルをリネームすることから成る群から選択される動作に応答して実施される、請求項8に記載のシステム。
【請求項13】
前記書込み情報が、前記テープをアンマウントするためのインジケーションをさらに含み、
前記インジケーションに応答して、前記しきい位置を越える第2の位置で前記テープにフル・インデックスを書き込む、請求項8に記載のシステム。
【請求項14】
前記フル・インデックスのサイズのインジケータを記憶することをさらに含む、請求項13に記載のシステム。
【請求項15】
コンピュータ・プログラム製品であって、1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体にまとめて記憶されたプログラム命令とを含み、前記プログラム命令が、1つまたは複数のプロセッサに、
テープに書き込まれるインデックスに対応する書込み情報を取得することであって、前記書込み情報が前記インデックスのための前記テープ上でのターゲット書込み位置を含む、前記取得することと、
前記ターゲット書込み位置が前記テープ上でしきい位置を越えるとの第1の判断を行うことと、
前記テープに記憶されるフル・インデックスのサイズを含むインデックス情報を取得することと、
前記フル・インデックスの前記サイズが1つのデータセットのサイズを上回るとの第2の判断を行うことと、
前記第1の判断および前記第2の判断を行ったことに応答して、前記インデックスを前記テープに書き込むことであって、前記書き込むことが、前記しきい位置を越える第1の位置においてである、前記書き込むことと
を含む方法を実施させるように、前記1つまたは複数のプロセッサによって実行可能であり、前記インデックスが、増分インデックスである、コンピュータ・プログラム製品。
【請求項16】
前記インデックス情報が、前記テープ上に連続的に記憶されるインデックスの数をさらに含み、
前記書き込むことが、前記数がしきい値数を上回らないことにさらに応答するものである、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記しきい位置を越えて前記テープに書き込まれるデータが、増分インデックスおよびフル・インデックスから成る群から選択される、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
前記インデックスが、メタデータを含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項19】
前記書込み情報を前記取得することが、前記テープに記憶されたファイルを削除すること、および前記テープに記憶されたファイルをリネームすることから成る群から選択される動作に応答して実施される、請求項15に記載のコンピュータ・プログラム製品。
【請求項20】
前記書込み情報が、前記テープをアンマウントするためのインジケーションをさらに含み、
前記インジケーションに応答して、前記しきい位置を越える第2の位置で前記テープにフル・インデックスを書き込む、請求項15に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、テープ・ストレージに関し、より詳細には、しきいテープ位置を越えるテープへのデータ記憶に関する。
【背景技術】
【0002】
ファイルシステムは、テープへのデータの記憶を制御することができる。このようなファイルシステムは、データを多様なフォーマットでテープに書き込むように構成することができる。
【発明の概要】
【0003】
本開示の実施形態によれば、方法は、テープに書き込まれるインデックスに対応する書込み情報を取得することを含むことができる。書込み情報は、インデックスのためのテープ上でのターゲット書込み位置を含むことができる。方法は、ターゲット書込み位置がテープ上でしきい位置を越えるとの第1の判断を行うことを含むことができる。方法は、テープに記憶されるフル・インデックスのサイズを含むインデックス情報を取得することを含むことができる。方法は、フル・インデックスのサイズが1つのデータセットのサイズを上回るとの第2の判断を行うことを含むことができる。方法は、第1の判断および第2の判断を行ったことに応答して、インデックスをテープに書き込むことを含むことができる。書き込むことは、しきい位置を越える第1の位置においてであることができる。インデックスは、増分インデックスであってもよい。
【0004】
上記方法に対応するシステムおよびコンピュータ・プログラム製品もまた、本明細書に含まれる。
【0005】
上述の概要は、本開示のそれぞれ例示する実施形態またはあらゆる実装形態を説明するように意図されていない。
【0006】
本出願に含まれる図面は、本明細書に組み込まれ、その一部を形成する。これらの図面は本開示の実施形態を例示しており、説明とともに、本開示の原理を説明するよう機能する。図面は単に特定の実施形態を例示するものであり、本開示を限定するものではない。
【図面の簡単な説明】
【0007】
【
図1】本開示の実施形態による、インデックス・マネージャを有する例示のコンピューティング環境の図である。
【
図2】本開示の実施形態による、インデックスをテープに書き込むための例示の方法のフローチャート図である。
【
図3】本開示の実施形態による、しきいテープ位置を越えてインデックスが書き込まれるテープの例示の部分図である。
【
図4】本開示の実施形態による、使用することが可能なコンピュータ・システムの代表的で主要なコンポーネントの図である。
【
図5】本開示の実施形態による、クラウド・コンピューティング環境の図である。
【
図6】本開示の実施形態による、抽象的なモデル・レイヤの図である。
【発明を実施するための形態】
【0008】
本発明は様々な修正形態および代替的な形態に受け入れられるが、その具体例が例として図面で示されたものであり、次に詳細を説明する。しかしながら、本発明を説明される特定の実施形態に限定する意図はないことが理解されるべきである。それとは逆に、本発明の範囲に含まれるすべての修正形態、等価物、および代替形態をカバーすることが意図されている。
【0009】
本開示の態様は、テープ・ストレージに関し、より詳細な態様は、しきいテープ位置を越えるテープへのデータ記憶に関する。本開示は必ずしもそのような用途に限定されないが、本開示の様々な態様はこのコンテキストを使用して様々な例の議論を通じて理解することができる。
【0010】
記憶管理システムは、磁気テープ媒体など、ストレージ用のテープへの、データの書込みを制御することができる。テープに書き込まれるデータには、電子文書および画像などのユーザ・データ、およびユーザ・データについての情報などのメタデータ(例えば、ファイル名称、テープ上でのファイルの記憶位置についての情報など)が含まれる場合がある。いくつかの事例では、記憶管理システムは、テープに書き込まれたデータが上書きされるのを防止することができる。そのような事例では、記憶管理システムは、ユーザ・データまたはメタデータあるいはその両方をアペンドすることによって、テープに書き込まれるデータを削除または修正するなどの動作を完了することができる。例えば、記憶管理システムは、新しいユーザ・データを作成すること、または記憶されたユーザ・データを修正することなどの動作を、テープに書き込まれたユーザ・データをアペンドすることによって完了することができる。別の例では、記憶管理システムは、ユーザ・データを削除すること、およびリネームすることなどの動作を、テープに書き込まれたメタデータをアペンドすることによって完了することができる。
【0011】
メタデータが書き込まれるファイルは、インデックスと称することができる。いくつかの事例では、記憶管理システムは、テープにフル・インデックスを書き込むことができ、いくつかの事例では、記憶管理システムはテープに増分インデックスを書き込むことができる。フル・インデックスは、テープに記憶されるファイルのすべてに相当するメタデータを含むことができる。その一方で、増分インデックスは、以前に書き込まれたメタデータとの違いについての情報のみを含むことができる。故に、増分インデックスは、フル・インデックスよりも小さいサイズを有することができ、そのためテープ上で消費する記憶容量を少なくすることができる。しかしながら、メタデータを増分インデックスから検索する際、記憶管理システムは、計算を実施すること、または動作を見つけることあるいはその両方に、フル・インデックスからメタデータを検索するよりも長い時間を費やす場合がある。
【0012】
記憶管理システムは、データセットと呼ばれる単位で、データをテープに書き込むことができる。一例では、1つのデータセットの容量は、およそ10メガバイト(MB)であることができる。故に、この例では、50MBフル・インデックスなどのデータをテープに書き込む場合、記憶管理システムは5データセットのデータをテープに書き込むことができる。さらにこの例では、2MB増分インデックスなどのデータをテープに書き込む場合、記憶管理システムは1データセットのデータをテープに書き込むことができる。後者の事例では、1データセットがテープに書き込むことができるデータの最小単位であるため、増分インデックスは2MBのサイズを有するが、それにもかかわらず、記憶管理システムは1データセット(およそ10MBのデータ)をテープに書き込む。したがって、記憶管理システムによって書き込まれる1データセットは、2MBの増分インデックスおよびおよそ8MBの無効なデータ(例えば、データセットの残りの記憶容量を埋めるために書き込まれるランダムなデータ)を含む可能性がある。
【0013】
いくつかの事例では、記憶管理システムは、テープの所定のしきい位置を認識し、このようなしきい位置の後に、フル・インデックスのみをテープに書き込むことを許可することができる。このようにすることで、記憶管理システムは、テープへのデータの書込みが終わる前にテープの終端に到達する可能性を減らすことができる。例えば、いくつかの事例では、記憶管理システムは、programmable early warning(PEW)ロケーションを採用することができる。PEWロケーションは、テープが有する残りの記憶空間が限られていることを示すように構成されたテープ上のユーザ選択位置であることができる。一例では、記憶管理システムのテープ先頭がPEWロケーションに達すると、記憶管理システムは、フル・インデックスだけがPEWロケーションを越えてテープに書き込まれるのを許可されるように構成することができる。したがって、この例では、PEWロケーションに到達した後、記憶管理システムは、ユーザ・データの削除およびリネームなどの動作を実施することができるが、PEWロケーションを越えてフル・インデックスでメタデータをテープに書き込むことによってこれらの動作を完了することができるためである。しかしながら、この例では、新しいユーザ・データを作成すること、および記憶されたユーザ・データを修正するなどの動作は、PEWロケーションを越えてユーザ・データをテープに書き込むことを含むことになるため、PEWロケーションに到達した後、記憶管理システムは、このような動作を実施することを妨げられる可能性がある。
【0014】
テープ上のしきい位置を越えたフル・インデックスのこのような使い方は、様々な困難を含む場合がある。例えば、メタデータのアペンドを伴う反復的なプロセスは、それぞれが複数のデータセットを占有する多数の大きなフル・インデックスをテープに書き込ませることになる可能性がある。その結果、記憶管理システムは、テープの最大記憶容量に時期尚早に到達し、テープに読み取り専用ステータスを取らせる可能性がある。読み取り専用ステータスでは、テープにデータを書き込むことができず、それによって、テープをアンマウントできない(例えば、テープを記憶管理システムの管理または制御あるいはその両方から外せない)、またはテープに記憶されたデータを同期できない、あるいはその両方などの問題を生じる可能性がある。
【0015】
このような、および他の困難に対処するために、本開示の実施形態は、インデックス・マネージャを含む。インデックス・マネージャは、記憶管理システムによる、テープへのデータの効率的な記憶を促進することができる。より具体的には、いくつかの実施形態では、インデックス・マネージャは、テープ上のターゲット書込み位置、テープに記憶されるフル・インデックスのサイズ、テープに記憶される増分インデックスの数、またはテープに対してアンマウント動作が開始されるかどうか、あるいはその組合せ、などの情報に基づいて、記憶管理システムがデータをテープにフル・インデックスとして書き込むか、それとも増分インデックスとして書き込むかを判断することができる。したがって、データのテープへの効率的な記憶を促進することによって、本開示の実施形態は、記憶管理システムがテープの最大記憶容量に時期尚早に到達する可能性を減らすことができる。
【0016】
図面を見ると、
図1は、記憶管理システム105、インデックス・マネージャ130、コンピューティング・デバイス145、またはネットワーク150あるいはその組合せのそれぞれの1つまたは複数を含む、コンピューティング環境100を描いている。いくつかの実施形態では、少なくとも1つの記憶管理システム105、インデックス・マネージャ130、またはコンピューティング・デバイス145あるいはその組合せは、少なくとも1つのネットワーク150を通じて、データを少なくとも1つの他のものとやり取りすることができる。例えば、いくつかの実施形態では、少なくとも1つのインデックス・マネージャ130は、少なくとも1つのネットワーク150を通じて少なくとも1つの記憶管理システム105とデータをやり取りすることができる。記憶管理システム105、インデックス・マネージャ130、コンピューティング・デバイス145、またはネットワーク150あるいはその組合せのそれぞれの1つまたは複数は、
図4に関して考察するコンピュータ・システム401のようなコンピュータ・システムを含むことができる。
【0017】
いくつかの実施形態では、インデックス・マネージャ130は、コンピューティング・デバイス145またはコンピュータ・システム110あるいはその両方のうちの少なくとも1つにインストールされるソフトウェア・アプリケーションであってもよい。いくつかの実施形態では、インデックス・マネージャ130は、コンピューティング・デバイス145またはコンピュータ・システム110あるいはその両方のうちの少なくとも1つにインストールされた1つまたは複数のソフトウェア・アプリケーションに統合することができる(例えば、インデックス・マネージャ130は、コンピュータ・システム110にインストールされたソフトウェア・アプリケーションのプラグインソフトウェア・コンポーネントとして含められてもよい)。インデックス・マネージャ130は、
図2に関して考察される1つまたは複数の動作を実施するために、コンピュータ・システム110のプロセッサなどのプロセッサによって実施されるプログラム命令を含むことができる。
【0018】
いくつかの実施形態では、インデックス・マネージャ130は、データ・マネージャ135または書込みマネージャ140あるいはその両方など、1つまたは複数のモジュールを含むことができる。いくつかの実施形態では、データ・マネージャ135および書込みマネージャ140は、単一のモジュールに統合してもよい。いくつかの実施形態では、データ・マネージャ135は、データの取得、分析、記憶、またはデータの記憶の開始、あるいはその組合せが可能である。いくつかの実施形態では、書込みマネージャ140は、データをテープ115に書き込むために、記憶管理システム105にコマンドを発行することができる。いくつかの実施形態では、データ・マネージャ135または書込みマネージャ140あるいはその両方は、
図2に関して考察される1つまたは複数の動作を実施するために、コンピュータ・システム110のプロセッサなどのプロセッサによって実施されるプログラム命令を含むことができる。例えば、いくつかの実施形態では、データ・マネージャ135は、
図2の動作205~225、235、および245を実施するためのプログラム命令を含むことができる。いくつかの実施形態では、書込みマネージャ140は、
図2の動作230および240を実施するためのプログラム命令を含むことができる。
【0019】
いくつかの実施形態では、記憶管理システム105は、少なくとも1つのコンピュータ・システム110、テープ・ドライブ155、およびテープ115を含むことができる。いくつかの実施形態では、記憶管理システム105のコンピュータ・システム110は、テープ・ドライブ155に、ユーザ・データ120またはインデックス125(例えば、フル・インデックスまたは増分インデックスあるいはその両方)あるいはその両方を、テープ115に書き込むように命令することができる。
【0020】
いくつかの実施形態では、コンピューティング・デバイス145は、デスクトップまたはノートブック・コンピュータなどのデバイスを含むことが可能であり、このようなデバイスを通じて、ユーザは情報を入力すること、または記憶管理システム105にコマンドを発行すること、あるいはその両方が可能である。いくつかの実施形態では、ネットワーク150は、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、またはイントラネットであることができる。いくつかの実施形態では、ネットワーク180は、
図5に関して考察されるクラウド・コンピューティング環境50に、実質的に類似しているか、またはそれと同一であることができる。
【0021】
図2は、本開示の実施形態による、インデックスをテープに書き込むための例示の方法200のフローチャート図である。方法200は、
図1のインデックス・マネージャ130などのインデックス・マネージャによって実施することができる。
【0022】
戻って
図2を参照すると、動作205では、インデックス・マネージャは、書込み情報を取得することができる。いくつかの実施形態では、書込み情報は、1つのデータセットのサイズ、記憶管理システムのターゲット書込み位置、テープをアンマウントするためのインジケーション、またはテープ上のしきい位置あるいはその組合せを含むことができる。
【0023】
1つのデータセットのサイズは、記憶管理システムがテープに書き込むことができるデータの1単位のサイズを示すことができる。例えば、いくつかの実施形態では、1つのデータセットは、記憶管理システムがテープに書き込むことができる最小量のデータ(例えば、およそ10MB)であってもよい。いくつかの実施形態では、記憶管理システムのテープ・ドライブの仕様が、1つのデータセットのサイズを決定することがある。
【0024】
ターゲット書込み位置は、記憶管理システムが今後書込み動作を開始するテープ上の位置を含むことができる。例えば、いくつかの実施形態では、ターゲット書込み位置は、記憶管理システムのテープ先頭が、テープに記憶するインデックスなど次の量のデータを書き込み始める、テープ上の位置であることができる。ターゲット書込み位置は、テープの開始とテープの終端との間で、テープに沿った長手方向の距離、例えばテープの終端手前10メートル(m)を示すことができる。
【0025】
テープをアンマウントするためのインジケーションは、テープをアンマウントするコマンドを表現するデータを含むことができる。例えば、いくつかの実施形態では、コンピューティング・デバイス(例えば、
図1のコンピューティング・デバイス145)のユーザは、記憶管理システム(例えば、
図1の記憶管理システム105)に、テープをアンマウントするために(例えば、テープをその管理または制御あるいはその両方から外すために)コマンドを発行することができる。この例では、コードの行、変数セッティングなどのデータは、テープをアンマウントするコマンドを表現することができる。このようなデータは、テープをアンマウントするためのインジケーションであることができる。
【0026】
テープ上のしきい位置とは、データをどのようにテープに書き込むかの変更をトリガする、テープ上の位置を称することができる。いくつかの実施形態では、しきい位置は、テープが有する残りの記憶空間が限られていることを示す。そのため、しきい位置を越えてテープ上の残りの記憶空間を効率的に利用するために、記憶管理システムは、しきい位置を越えると、しきい位置より手前でデータを書き込むのとは異なるように、データをテープに書き込むように構成することができる。例えば、いくつかの実施形態では、そのようなしきい位置は、記憶管理システムまたは記憶管理システムのユーザなど、あるエンティティによって選択される位置を含むことができ、記憶管理システムは、このしきい位置を越えると、1つもしくは複数の増分インデックス、または1つもしくは複数のフル・インデックスのみをテープに書き込むように許可される。ターゲット書込み位置と同様に、しきい位置は、テープの開始とテープの終端との間で、テープに沿った長手方向の距離、例えばテープの終端手前3mを示すことができる。
【0027】
いくつかの実施形態では、インデックス・マネージャは、テープをアンマウントするコマンドまたはテープに記憶されたデータを修正するコマンドに応答して、書込み情報を取得することができる。例えば、いくつかの実施形態では、ユーザは、テープに記憶されたファイルを削除またはリネームするためのコマンドを記憶管理システムに発行することができる。それに応答して、インデックス・マネージャは、ターゲット書込み位置などの書込み情報を、記憶管理システムから取得することができる。いくつかの実施形態では、インデックス・マネージャは、書込み情報を
図1の記憶管理システム105などの記憶管理システムから取得することができる。いくつかの実施形態では、インデックス・マネージャは、書込み情報を
図1のコンピューティング・デバイス145などのコンピューティング・デバイスから取得することができる。
【0028】
動作210では、インデックス・マネージャは、インデックス情報を取得することができる。いくつかの実施形態では、インデックス情報は、テープに書き込まれるフル・インデックスのサイズ、テープに書き込まれる増分インデックスの数、またはテープに書き込まれる増分インデックスの数に対応するしきい値あるいはその組合せを含むことができる。例えば、いくつかの実施形態では、インデックス・マネージャは、記憶管理システムによってテープに書き込まれた最後のフル・インデックスのサイズ(例えば、メガバイトの量)のインジケータを取得することができる。以下でさらに詳細に考察するように、以前テープに書き込まれたフル・インデックスのサイズは、テープに書き込まれる後続のフル・インデックスのおよそのサイズを示すことができる。
【0029】
いくつかの実施形態では、インデックス・マネージャは、動作205で書込み情報を取得したことに応答して、インデックス情報を取得することができる。いくつかの実施形態では、インデックス・マネージャは、インデックス情報を
図1の記憶管理システム105などの記憶管理システムから取得することができる。いくつかの実施形態では、インデックス・マネージャは、インデックス情報を
図1のコンピューティング・デバイス145などのコンピューティング・デバイスから取得することができる。
【0030】
動作215では、インデックス・マネージャは、ターゲット書込み位置がテープ上でしきい位置を越えるかどうかを判断することができる。例えば、いくつかの実施形態では、動作215では、インデックス・マネージャは、動作205で取得したターゲット書込み位置としきい位置とを比較して、どちらがテープの終端に近いか(例えば、長手方向により短い距離を有するか)を判断することができる。ターゲット書込み位置が、しきい位置よりもテープの終端に近い場合、ターゲット書込み位置は、しきい位置を越え、そうでなければターゲット書込み位置はしきい位置を越えない。例えば、ターゲット書込み位置がテープの終端から2mであり、かつしきい位置がテープの終端から5mである場合、ターゲット書込み位置はしきい位置を越える。
【0031】
動作215において、ターゲット書込み位置がしきい位置を越える場合、インデックス・マネージャは動作220に進むことができる。あるいは、ターゲット書込み位置がしきい位置を越えない場合、インデックス・マネージャは動作240に進むことができる。故に、動作215において、本開示の実施形態は、ターゲット書込み位置がしきい位置を越えないとの判断に応答して、潜在的に増分インデックスよりもサイズが大きい可能性があるフル・インデックスの書込みに進むことができる。そのような判断は、潜在的により大きなフル・インデックスを書き込むために十分な残りの記憶空間がテープ上に存在し得ることを示すことができる。あるいは、本開示の実施形態は、ターゲット書込み位置がしきい位置を越えるとの判断に応答して、フル・インデックスよりもサイズが小さい可能性がある増分インデックスの潜在的な書込みに進むことができる。そのような判断は、テープ上の残りの記憶空間が限られていることを示す可能性がある。故に、記憶管理システムは、テープ上の残りの記憶空間を効率的に利用するべきである。
【0032】
動作220では、インデックス・マネージャは、テープに記憶されるフル・インデックスのサイズが、テープに相当する1つのデータセットのサイズ(例えば、記憶管理システムがテープに書き込むことができるデータの最小量)を上回るかどうかを判断することができる。いくつかの実施形態では、動作220は、インデックス・マネージャが、記憶管理システムによってテープに書き込まれた最後のフル・インデックスのサイズ(例えば、メガバイトの量)のインジケータを分析することを含むことができる。このようなフル・インデックスのサイズは、テープに書き込まれる後続のフル・インデックスのおよそのサイズを示すことができる。いくつかの実施形態では、このようなインジケータは、コードの行、変数セッティング(例えば、変数のTRUE/FALSEステータス)など、テープに記憶されるフル・インデックスのサイズが1つのデータセットのサイズを上回るかどうかを表現するデータを含むことができる。このような実施形態では、動作220は、インデックス・マネージャが、テープに記憶されるフル・インデックスのサイズがテープに相当する1つのデータセットのサイズを上回るかどうかを判断するために、インジケータを解釈することを含むことができる。いくつかの実施形態では、そのようなインジケータは、テープに記憶されるフル・インデックスのおよそのサイズを含むことができる。このような実施形態では、動作220は、インデックス・マネージャが、テープに記憶されるフル・インデックスのおよそのサイズを1つのデータセットのおよそのサイズと比較することを含むことができる。
【0033】
動作220では、テープに記憶されるフル・インデックスのサイズが、テープに相当する1つのデータセットのサイズを上回る場合、インデックス・マネージャは動作225に進むことができる。あるいは、テープに記憶されるフル・インデックスのサイズが、テープに相当する1つのデータセットのサイズを上回らない場合、インデックス・マネージャは動作240に進むことができる。故に、動作220では、本開示の実施形態は、テープへのフル・インデックスの書込みが、記憶管理システムがテープに書き込むことになるデータの最小量を上回らない場合は、このようなフル・インデックスの書込みに進むことができる。このような場合、フル・インデックスまたは増分インデックスのいずれの書込みも、記憶管理システムが1つのデータセットをテープに書き込む結果となる。故に、フル・インデックスまたは増分インデックスの書込みは、テープ上の残りの記憶空間に等しく影響を及ぼす。したがって、この場合、フル・インデックスの書込みは、記憶管理システムが増分インデックスに関連する計算およびメタデータ再構築動作を回避することができるため、有益である可能性がある。
【0034】
動作225では、インデックス・マネージャは、テープに記憶される増分インデックスの数がしきい値を上回るかどうかを判断することができる。いくつかの実施形態では、テープに記憶される増分インデックスの数は、テープ上の連続的に記憶される/書き込まれる増分インデックスのカウントを含むことができる。いくつかの実施形態では、動作225は、インデックス・マネージャが、このような数がしきい値を上回るかどうかを判断するために、この数をしきい値と比較することを含むことができる。いくつかの実施形態では、しきい値は、記憶管理システムまたは記憶管理システムのユーザなどのエンティティによって選択することができる。いくつかの実施形態では、しきい値は、テープに記憶される連続的に書き込まれる増分インデックスの数を制限するように選択することができる。記憶管理システムによって実行される計算およびメタデータ再構築動作の数は、テープに記憶される連続的に書き込まれる増分インデックスの数が増えるにつれて増加する可能性があるため、このような制限を設けることは、このような動作の数が連続的に増加することを防止することができる。したがって、このような制限を設けることによって、記憶管理システムはより効率的に動作することができる。
【0035】
動作225では、テープに記憶される増分インデックスの数がしきい値を上回る場合、インデックス・マネージャは動作240に進むことができる。あるいは、テープに記憶される増分インデックスの数がしきい値を上回らない場合、インデックス・マネージャは動作230に進むことができる。故に、動作225では、本開示の実施形態は、増分インデックスの書込みによって記憶管理システムが、計算およびメタデータ再構築動作を望ましくない回数実行する場合、テープへのフル・インデックスの書込みに進むことができる。あるいは、動作225において、本開示の実施形態は、フル・インデックスよりもサイズの小さい増分インデックスを書き込むという利益が、記憶管理システムによって実行される計算およびメタデータ再構築動作の回数が増える可能性があるという不利益より優る場合、増分インデックスの書込みに進むことができる。
【0036】
動作225の例では、いくつかの実施形態では、ユーザはしきい値8を選択することができる。この例では、インデックス・マネージャが、記憶管理システムが9つの連続的な増分インデックスをテープに書き込んだと判断したことに応答して、インデックス・マネージャは、記憶管理システムにテープにフル・インデックスを書き込むよう命令することができる。
【0037】
動作230では、インデックス・マネージャは、記憶管理システムまたは記憶管理システムのテープ・ドライブあるいはその両方に、テープに増分インデックスを書き込むコマンドを発行することができる。例えば、いくつかの実施形態では、動作230は、インデックス・マネージャが、記憶管理システムにテープ上のターゲット書込み位置で、またはターゲット書込み位置の近くで増分インデックスをテープに書き込むよう命令する電子メッセージを記憶管理システムに伝送することを含むことができる。
【0038】
動作235では、インデックス・マネージャは、動作205でテープをアンマウントするためのインジケーションが取得されたかどうかを判断することができる。インデックス・マネージャが、このようなインジケーションを取得した場合、インデックス・マネージャは240に進むことができる。あるいは、インデックス・マネージャがこのようなインジケーションを取得しなかった場合、方法200は終了することができる。
【0039】
動作240では、インデックス・マネージャは、記憶管理システムまたは記憶管理システムのテープ・ドライブあるいはその両方に、テープにフル・インデックスを書き込むコマンドを発行することができる。例えば、いくつかの実施形態では、動作240は、インデックス・マネージャが、記憶管理システムにテープ上のターゲット書込み位置で、またはターゲット書込み位置の近くでフル・インデックスをテープに書き込むよう命令する電子メッセージを記憶管理システムに伝送することを含むことができる。
【0040】
動作245は、インデックス・マネージャは、動作240で書き込まれたフル・インデックスなど、テープに書き込まれたフル・インデックスのサイズのインジケータを記憶することができる。いくつかの実施形態では、動作245の後、方法200は終了することができる。
【0041】
図3は、本開示の実施形態による、しきいテープ位置を越えてインデックスが書き込まれるテープ300の例示の部分図である。データは、
図2の方法200に従ってテープ300に書き込むことができる。いくつかの実施形態では、テープは数千トラックを有する可能性があるが、簡潔のため、テープ300は、データが書き込まれる単一トラックを有するものとして図示する。
【0042】
テープ300は、テープ320の開始(図示せず)とテープの終端(320)とを含む。テープ300はまた、しきい位置315、しきい位置315より手前のテープ300のセグメント305、およびしきい位置315を越えたテープ300のセグメント310を含む。セグメント310は、4データセットを含む。第1のデータセット325、第2のデータセット330、および第3のデータセット335は、データがこれらのデータセット間で3つの部分に分割されるフル・インデックスを記憶する。特に、第1のデータセット325は、フル・インデックスの第1の部分345-1を記憶し、第2のデータセット330は、フル・インデックスの第2の部分345-2を記憶し、第3のデータセット335は、フル・インデックスの第3の部分345-3を記憶する。したがって、フル・インデックスは3データセットを占める。フル・インデックスの第3の部分345-3は、第3のデータセット335を埋めていないため、第3のデータセット335の残りの記憶空間は、無効なデータ355を含む。
【0043】
第4のデータセット340は、増分インデックス350を含む。増分インデックス350は、第4のデータセット340を埋めていないため、第4のデータセット340の残りの記憶空間は、無効なデータ360を含む。テープ300はまた、ターゲット書込み位置365を含む。
【0044】
図3で実証されるように、本開示の実施形態は、フル・インデックスのサイズが大きくなるにつれ高まる便益を提供する。例えば、上で考察したフル・インデックスは3データセットを占めるため、セグメント310は、2つ以上のフル・インデックスを記憶するには容量が不十分である。しかしながら、セグメント310は、複数の増分インデックス350を記憶するには十分な容量を有する。したがって、本開示の実施形態は、テープに書き込まれるインデックスの数が増えることを許可することによって、効率的なデータ記憶を促進することができる。
【0045】
図4は、本開示の実施形態による、使用することが可能な例示的なコンピュータ・システム401の代表的で主要なコンポーネントの図である。描かれる特定のコンポーネントは、単に例示を目的として提示されており、必ずしもこのような変形形態のみが必要ではない。コンピュータ・システム401は、プロセッサ410、メモリ420、入力/出力インターフェース(本明細書ではI/OまたはI/Oインターフェースとも称される)430、およびメイン・バス440を含むことができる。メイン・バス440は、コンピュータ・システム401の他のコンポーネント用に通信経路を設けることができる。いくつかの実施形態では、メイン・バス440は、特殊化されたデジタル信号プロセッサ(図示せず)など、他のコンポーネントに接続することができる。
【0046】
コンピュータ・システム401のプロセッサ410は、1つまたは複数のCPU412から構成される場合がある。プロセッサ410は、さらに、CPU412のために命令およびデータの一時的な記憶を提供する1つまたは複数のメモリ・バッファまたはキャッシュ(図示せず)を含んでもよい。CPU412は、キャッシュからまたはメモリ420から与えられた入力に対して命令を実行し、結果をキャッシュまたはメモリ420に出力することができる。CPU412は、本開示の実施形態と一貫する1つまたは複数の方法を実行するように構成された、1つまたは複数の回路を含むことができる。いくつかの実施形態では、コンピュータ・システム401は、比較的大きなシステムでは典型的な、複数のプロセッサ410を含むことができる。しかしながら、他の実施形態では、コンピュータ・システム401は、1つのCPU412を有する単一のプロセッサであってもよい。
【0047】
コンピュータ・システム401のメモリ420は、メモリ・コントローラ422および、一時的または恒久的にデータを記憶するための1つまたは複数のメモリ・モジュール(図示せず)を含むことができる。いくつかの実施形態において、メモリ420はランダムアクセスの半導体メモリ、ストレージ・デバイス、またはデータおよびプログラムを記憶するための(揮発性または非揮発性いずれかの)記憶媒体を含むことができる。メモリ・コントローラ422は、プロセッサ410と通信して、メモリ・モジュールにおける情報の記憶および検索を容易にすることができる。メモリ・コントローラ422は、I/Oインターフェース430と通信して、メモリ・モジュールにおける入力または出力の記憶および検索を容易にすることができる。いくつかの実施形態では、メモリ・モジュールは、デュアルのインライン・メモリ・モジュールであることができる。
【0048】
I/Oインターフェース430は、I/Oバス450、ターミナル・インターフェース452、ストレージ・インターフェース454、I/Oデバイス・インターフェース456、およびネットワーク・インターフェース458を含むことができる。I/Oインターフェース430は、メイン・バス440をI/Oバス450に接続することができる。I/Oインターフェース430は、プロセッサ410およびメモリ420からの命令およびデータを、I/Oバス450の様々なインターフェースに導くことができる。I/Oインターフェース430はまた、I/Oバス450の様々なインターフェースからの命令およびデータを、プロセッサ410およびメモリ420に導くことができる。様々なインターフェースは、ターミナル・インターフェース452、ストレージ・インターフェース454、I/Oデバイス・インターフェース456、およびネットワーク・インターフェース458を含むことができる。いくつかの実施形態では、様々なインターフェースは、前述のインターフェースのサブセットを含むことができる(例えば、産業用途における埋め込みコンピュータ・システムは、ターミナル・インターフェース452およびストレージ・インターフェース454を含まない場合がある)。
【0049】
コンピュータ・システム401全体を通じてのロジック・モジュール(メモリ420、プロセッサ410、およびI/Oインターフェース430を含むが、それに限定されない)は、1つまたは複数のコンポーネントに対する障害または変化を、ハイパバイザまたはオペレーティング・システム(図示せず)に通信することができる。ハイパバイザまたはオペレーティング・システムは、コンピュータ・システム401で利用可能な様々なリソースを割り当て、メモリ420におけるデータの場所および様々なCPU412に割り振られるプロセスの場所を追跡することができる。要素を組み合わせる、または再構成する実施形態では、ロジック・モジュールの機能の態様は、組み合わされてもよいし、再分散されてもよい。このような変形例は、当業者には明白であろう。
【0050】
本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書で具陳される教示の実装形態はクラウド・コンピューティング環境に限定されないことを、予め理解されたい。むしろ本発明の実施形態は、現在既知の、または後に開発されるあらゆる他のタイプのコンピューティング環境と併せて実装することができる。
【0051】
クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されるプールへの、便利でオン・デマンドのネットワーク・アクセスを可能とするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
【0052】
特徴は以下のとおりである:
【0053】
オン・デマンドのセルフサービス:クラウド消費者は、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0054】
幅広いネットワーク・アクセス:機能はネットワーク上で利用可能であり、異質なシン・クライアントまたはシック・クライアントのプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0055】
リソースのプール:プロバイダのコンピューティング・リソースは、マルチテナントのモデルを使用して複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが需要に応じて動的に割り当ておよび再割り当てされる。消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の意味があるが、より高い抽象レベルにおいて場所(例えば、国、州、またはデータセンタ)を特定できることもある。
【0056】
迅速な拡張性:機能は迅速かつ拡張可能にプロビジョニングすることができ、いくつかの場合において、自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングのために利用可能な機能は、しばしば無制限に見え、いつでもいくらでも購入することができる。
【0057】
サービスの計測:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な何らかの抽象レベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、最適化する。リソースの使用量は監視され、制御され、かつ報告され得、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
【0058】
サービス・モデルは以下のとおりである:
【0059】
サービスとしてのソフトウェア(Software as a Service(SaaS)):消費者に提供される機能は、クラウド・インフラストラクチャで実行中のプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有のアプリケーション構成設定が可能である。
【0060】
サービスとしてのプラットフォーム(Platform as a Service(PaaS)):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成の、または既成のアプリケーションをクラウド・インフラストラクチャに展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
【0061】
サービスとしてのインフラストラクチャ(Infrastructure as a Service(IaaS)):消費者に提供される機能は、消費者が任意のソフトウェアを展開および実行することができる処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、これにはオペレーティング・システムおよびアプリケーションが含まれ得る。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションの制御、および場合によっては選択ネットワーキング・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御を有する。
【0062】
展開モデルは以下のとおりである:
【0063】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運用される。これは、その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
【0064】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス検討)を有する特定のコミュニティをサポートする。これは、その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
【0065】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
【0066】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組み合わせたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術(例えば、クラウド間でロード・バランシングを行うためのクラウド・バースト)によって結合される。
【0067】
クラウド・コンピューティング環境は、ステートレス性、低い結合性、モジュール性、および意味論的な相互運用性に焦点をあてたサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0068】
次に
図5を参照すると、例示的なクラウド・コンピューティング環境50が描かれている。示されるように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなどのクラウドの消費者によって使用されるローカルのコンピューティング・デバイスと通信することができる1つまたは複数のクラウド・コンピューティング・ノード10を備える。ノード10は、互いに通信することができる。これらは、本明細書において上述したようなプライベート、コミュニティ、パブリック、もしくはハイブリッドのクラウド、またはそれらの組合せなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして提供することができ、これらについてクラウドの消費者はローカルのコンピューティング・デバイスでリソースを維持する必要がない。
図5に示されるコンピューティング・デバイス54A~Nのタイプは、単に例示的であることを意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、あらゆるタイプのネットワーク上またはネットワーク・アドレス可能接続で(例えば、ウェブ・ブラウザを使用して)あるいはその両方で、あらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解されよう。
【0069】
次に
図6を参照すると、クラウド・コンピューティング環境50(
図5)によって提供される機能的な抽象化レイヤのセットが示されている。
図6に示されるコンポーネント、レイヤ、および機能は、単に例示的であることを意図されており、本発明の実施形態はそれに限定されないことが、予め理解されるべきである。描かれるように、以下のレイヤおよび対応する機能が提供される。
【0070】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、以下が挙げられる:メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66。いくつかの実施形態において、ソフトウェア・コンポーネントとしては、ネットワーク・アプリケーション・サーバ・ソフトウェア67、およびデータベース・ソフトウェア68が挙げられる。
【0071】
仮想化レイヤ70は、仮想エンティティの以下の例が提供され得る抽象化レイヤを提供する:仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75。
【0072】
一例において、管理レイヤ80は以下で説明される機能を提供することができる。リソース・プロビジョニング81は、コンピューティング・リソースおよびクラウド・コンピューティング環境内でタスクを実施するために利用される他のリソースの、動的な調達を提供する。計測および課金82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費についての課金または請求書発行を提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクについての識別情報の検証、ならびにデータおよび他のリソースについての保護を与える。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス水準管理84は、要求されるサービス水準が満たされるように、クラウド・コンピューティング・リソース割り当ておよび管理を提供する。サービス水準合意(SLA)計画および遂行85は、SLAに従って将来的な要求が予期されるクラウド・コンピューティング・リソースの事前申し合わせ、およびその調達を提供する。
【0073】
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤからもたらされ得るワークロードおよび機能の例として以下が挙げられる:マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想授業教育配信93、データ分析処理94、トランザクション処理95、およびインデックス管理ロジック96。
【0074】
本明細書でさらに詳細に考察されるように、本明細書で説明される方法の実施形態のいくつかの動作の、一部またはすべては、代替的な順で実施することができるか、または全く実施されなくてもよく、さらには、複数の動作が同時に、またはより大きなプロセスの内部的な部分として生じてもよいことが企図される。
【0075】
本発明は、統合のあらゆる可能な技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0076】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のあらゆる好適な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下が挙げられる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、命令が記録されたパンチカードまたは溝内の隆起構造などの機械的にエンコードされたデバイス、および前述のあらゆる好適な組合せ。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【0077】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個別のコンピューティング/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータまたは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光学伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。それぞれのコンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0078】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための設定データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語、を含む1つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上で一部はリモート・コンピュータ上で、またはすべてリモート・コンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部のコンピュータに対してなされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
【0079】
本発明の態様は、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0080】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用を実装する手段を作成すべく、コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実装するための命令を含む製造物品を備えるべく、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示するものであってもよい。
【0081】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実装するように、コンピュータ実装処理を作るべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。
【0082】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態において、ブロックで示される機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には1つのステップとして遂行されてもよく、同時に、実質的に同時に、部分的もしくは全体的に時間的に重なるやり方で実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または特殊目的ハードウェアとコンピュータ命令との組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【0083】
例示を目的として本開示の様々な実施形態の説明を提示してきたが、網羅的であること、または開示された実施形態に限定することは意図されていない。説明された実施形態の範囲から逸脱することなく、多くの修正形態および変形形態が当業者にとって明らかとなろう。本明細書において使用される用語法は、実施形態の原理、実践的な用途もしくは市場で見られる技術より優れた技術的な改善を説明するため、または当業者の他の者が本明細書において開示される実施形態を理解できるように選ばれたものである。
【手続補正書】
【提出日】2023-12-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
テープに書き込まれるインデックスに対応する書込み情報を取得することであって、前記書込み情報が前記インデックスのための前記テープ上でのターゲット書込み位置を含む、前記取得することと、
前記ターゲット書込み位置が前記テープ上でしきい位置を越えるとの第1の判断を行うことと、
前記テープに記憶されるフル・インデックスのサイズを含むインデックス情報を取得することと、
前記フル・インデックスの前記サイズが1つのデータセットのサイズを上回るとの第2の判断を行うことと、
前記第1の判断および前記第2の判断を行ったことに応答して、前記インデックスを前記テープに書き込むことであって、前記書き込むことが、前記しきい位置を越える第1の位置においてである、前記書き込むことと
を含み、前記インデックスが、増分インデックスである、コンピュータ実装方法。
【請求項2】
前記インデックス情報が、前記テープ上に連続的に記憶されるインデックスの数をさらに含み、
前記書き込むことが、前記数がしきい値数を上回らないことにさらに応答するものである、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記しきい位置を越えて前記テープに書き込まれるデータが、増分インデックスおよびフル・インデックスから成る群から選択される、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記インデックスが、メタデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記書込み情報を前記取得することが、前記テープに記憶されたファイルを削除すること、および前記テープに記憶されたファイルをリネームすることから成る群から選択される動作に応答して実施される、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記書込み情報が、前記テープをアンマウントするためのインジケーションをさらに含み、
前記インジケーションに応答して、前記しきい位置を越える第2の位置で前記テープにフル・インデックスを書き込む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記フル・インデックスのサイズのインジケータを記憶することをさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
請求項1ないし7の何れか一項に記載のコンピュータ実装方法を実行するプロサッサを含むコンピュータ・システム。
【請求項9】
プロセッサに、請求項1ないし7の何れか一項に記載のコンピュータ実装方法を実行させるためのプログラム。
【国際調査報告】