IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オラクル・インターナショナル・コーポレイションの特許一覧

<>
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図1
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図2
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図3A
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図3B
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図4A
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図4B
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図5
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図6
  • 特許-磁気テープ記憶装置の飽和ベースの検証 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-24
(45)【発行日】2022-09-01
(54)【発明の名称】磁気テープ記憶装置の飽和ベースの検証
(51)【国際特許分類】
   G11B 20/18 20060101AFI20220825BHJP
   G11B 5/584 20060101ALI20220825BHJP
   G11B 21/10 20060101ALI20220825BHJP
【FI】
G11B20/18 522Z
G11B20/18 520D
G11B20/18 522B
G11B20/18 572B
G11B20/18 572G
G11B5/584
G11B21/10 W
【請求項の数】 13
(21)【出願番号】P 2020505229
(86)(22)【出願日】2018-07-31
(65)【公表番号】
(43)【公表日】2020-10-08
(86)【国際出願番号】 US2018044459
(87)【国際公開番号】W WO2019027938
(87)【国際公開日】2019-02-07
【審査請求日】2021-07-08
(31)【優先権主張番号】15/665,340
(32)【優先日】2017-07-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ウィプトラ,エデュアルド・レイマスカ
【審査官】川中 龍太
(56)【参考文献】
【文献】特開2002-367101(JP,A)
【文献】特開2003-006826(JP,A)
【文献】特開平08-030942(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11B 20/18
G11B 5/584
G11B 21/10
(57)【特許請求の範囲】
【請求項1】
1つ以上のハードウェアプロセッサによって実行されると、動作を実行させる命令を含む、コンピュータ読取可能プログラムであって、前記動作は、
静止したテープヘッドを使用して磁気テープを読出すことによって生成された位置信号を取得することと、
前記位置信号から、前記磁気テープ上のトラックに追従するように可動テープヘッドの位置を調節するための模擬電流を計算することと、
前記磁気テープ上のサーボパターンについての検証結果を生成するために、前記模擬電流を1つ以上の飽和限度と比較することとを含み、前記検証結果は前記磁気テープを使用可能か使用不可能かに分類し、前記動作はさらに、
前記磁気テープのその後の使用の管理に使用するために前記検証結果を出力することを含
前記磁気テープ上の前記トラックに追従するように前記可動テープヘッドの前記位置を調節するための前記模擬電流を計算することは、前記模擬電流を取得するためにフィルターを前記位置信号に適用することを含み、
前記フィルターは、前記模擬電流の最新値を取得するために1組の係数を一連の位置信号値と一連の模擬電流値とに適用する差分方程式を含む、コンピュータ読取可能プログラム。
【請求項2】
前記模擬電流を1つ以上の飽和限度と比較することは、以前の時間ステップからの計算された前記模擬電流に基づいて前記1つ以上の飽和限度を更新することを含む、請求項1に記載のコンピュータ読取可能プログラム。
【請求項3】
計算された前記模擬電流に基づいて前記1つ以上の飽和限度を更新することは、計算された前記模擬電流の電流値と、前記可動テープヘッドの制御に関連付けられた1組の追加パラメータとから、前記模擬電流の後続値についての新しい飽和限度を計算することを含む、請求項2に記載のコンピュータ読取可能プログラム。
【請求項4】
前記1組の追加パラメータは、
ボイスコイルモータ(VCM)抵抗と、
VCMインダクタンスと、
最大電圧と、
最大電流と、
サンプリング時間とを含む、請求項3に記載のコンピュータ読取可能プログラム。
【請求項5】
前記フィルターは、伝達関数を含み、
前記伝達関数は、
前記可動テープヘッドのためのコントローラを表わす第1のパラメータと、
前記可動テープヘッドのための電流増幅器およびヘッド位置アクチュエータを表わす第2のパラメータとを含む、請求項1~4のいずれか1項に記載のコンピュータ読取可能プログラム。
【請求項6】
前記磁気テープ上の前記サーボパターンについての前記検証結果を生成するために、前記模擬電流を前記1つ以上の飽和限度と比較することは、
前記模擬電流が前記1つ以上の飽和限度を超える頻度を表わす飽和密度を求めることと、
前記検証結果において、前記飽和密度についてのしきい値に基づいて前記磁気テープの使用可能性を特定することとを含む、請求項1~のいずれか1項に記載のコンピュータ読取可能プログラム。
【請求項7】
前記磁気テープ上の前記サーボパターンについての前記検証結果を生成するために、前記模擬電流を前記1つ以上の飽和限度と比較することはさらに、前記飽和密度の計算から、前記模擬電流についての最初の1組の値を省略することを含む、請求項に記載のコンピュータ読取可能プログラム。
【請求項8】
前記飽和密度を求めることは、前記模擬電流が前記1つ以上の飽和限度から外れた回数を表わす飽和カウントを、前記磁気テープの長さで除算することを含む、請求項またはに記載のコンピュータ読取可能プログラム。
【請求項9】
前記飽和密度に基づいて前記磁気テープの前記使用可能性を特定することは、
前記飽和密度が前記しきい値を下回る場合、前記磁気テープを使用可能であると識別すること、または、
前記飽和密度が前記しきい値を上回る場合、前記磁気テープを使用不可能であると識別すること、
のうちの少なくとも1つを含む、請求項のいずれか1項に記載のコンピュータ読取可能プログラム。
【請求項10】
前記1つ以上の飽和限度は、
飽和上限と、
飽和下限とを含む、請求項1~のいずれか1項に記載のコンピュータ読取可能プログラム。
【請求項11】
請求項1~10のいずれか1項に記載の動作を含む、方法。
【請求項12】
装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、請求項1~10のいずれか1項に記載の動作を前記装置に行なわせる命令を格納するメモリとを含む、装置。
【請求項13】
請求項1~10のいずれか1項に記載の動作を実行するための手段を含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、磁気テープ記憶装置に関する。特に、本開示は、磁気テープ記憶装置の飽和ベースの検証に関する。
【背景技術】
【0002】
背景
磁気テープ記憶装置の技術では、テープヘッドが磁気テープ上の適切なトラック位置からデータを読出し、または当該トラック位置にデータを書込むことができるように、テープドライブにおけるテープヘッドを磁気テープに対して位置付けるために、通常、精密なトラッキング性能が要求される。テープヘッドの位置付けを支援するために、位置情報を符号化するサーボパターンが、磁気テープの製造時に磁気テープ上に書込まれ得る。テープヘッドはサーボパターンを読出すことができ、テープヘッドのためのコントローラが、読出されたサーボパターンから生成された位置誤差信号(position error signal:PES)を使用して、テープヘッドの位置を、トラック間で動くように、および/または所与のトラックに追従するように調節することができる。
【0003】
一方、磁気テープは、サーボパターンの書込み中に横方向テープ移動(lateral tape motion:LTM)を体験するかもしれず、書込まれたサーボパターンにおける横方向パターン移動(lateral pattern motion:LPM)をもたらす。サーボパターンにおける十分なLPMは、テープヘッドのトラッキング性能を劣化させ、磁気テープの信頼性および使用可能性を妨げるおそれがある。
【0004】
この節で説明されるアプローチは、追求可能なアプローチであるが、必ずしも以前に想到または追求されたアプローチではない。したがって、別段の指示がない限り、この節で説明されるアプローチのいずれも、単にこの節に含まれるというだけで、先行技術として適格であると仮定されるべきでない。
【0005】
添付図面の図において、実施形態が、限定のためではなく例示のために図示される。なお、この開示における「ある」または「一」実施形態への参照は、必ずしも同じ実施形態への参照ではなく、それらは少なくとも1つという意味である。
【図面の簡単な説明】
【0006】
図1】1つ以上の実施形態に従ったシステムを示す図である。
図2】1つ以上の実施形態に従った、磁気テープ上の例示的なサーボパターンを示す図である。
図3A】1つ以上の実施形態に従った、テープ検証システムの例示的な動作を示す図である。
図3B】1つ以上の実施形態に従った、横方向テープ移動(LTM)-電流フィルターの動作を示す図である。
図4A】1つ以上の実施形態に従った例示的なプロットを示す図である。
図4B】1つ以上の実施形態に従った例示的なプロットを示す図である。
図5】1つ以上の実施形態に従った、磁気テープ上のサーボパターンを検証するフローチャートである。
図6】1つ以上の実施形態に従った、磁気テープ上のサーボパターンについての検証結果を生成するフローチャートである。
図7】1つ以上の実施形態に従ったコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【0007】
詳細な説明
以下の記載では、説明のために、多くの具体的詳細が、十分な理解を提供するために述べられる。これらの具体的詳細がなくても、1つ以上の実施形態が実践され得る。一実施形態で説明される特徴は、異なる実施形態で説明される特徴と組合されてもよい。いくつかの例では、周知の構造および装置は、本発明を不必要に不明瞭にしないように、ブロック図の形態を参照して説明される:
1.全体的概要
2.システムアーキテクチャ
3.磁気テープ記憶装置の飽和ベースの検証
4.例示的な実施形態
5.磁気テープ上のサーボパターンの検証
6.磁気テープ上のサーボパターンについての検証結果の生成
7.コンピュータネットワークおよびクラウドネットワーク
8.その他;拡張
9.ハードウェア概要。
【0008】
1.全体的概要
磁気テープを検証するための手法が開示される。これらの手法は、静止した(stationary)テープヘッドを使用して磁気テープを読出すことによって生成された位置信号を取得することを含む。次に、磁気テープ上のトラックに追従するようにテープヘッドの位置を調節するための模擬電流が、位置信号から計算される。模擬電流は次に、磁気テープ上のサーボパターンについての検証結果を生成するために、1つ以上の飽和限度と比較され、検証結果は磁気テープを使用可能か使用不可能かに分類する。最後に、検証結果が、磁気テープのその後の使用の管理に使用するために出力される。
【0009】
この明細書に説明され、および/または請求項に記載される1つ以上の実施形態が、この全体的概要の節に含まれない場合もある。
【0010】
2.アーキテクチャ概要
図1は、1つ以上の実施形態に従ったシステムを示す。図1に示すように、システムは、磁気テープ116の使用可能性を検証するテープ検証システム102を含み得る。磁気テープ116は、磁気テープの長さにわたる一連の平行なトラック上にデジタルデータを記憶するために使用され得る。たとえば、磁気テープ116は、データをデータセンターにおよび/または組織のためにアーカイブおよび/または保持するために使用され得る。
【0011】
磁気テープ116の使用可能性を検証するために、磁気テープ116は、複数のリール駆動モータ124~126によって、カートリッジ120内の1つのリール118から他のリール122上に巻き戻され得る。磁気テープ116の巻き戻し中、静止したテープヘッド114が、磁気テープ116上に書込まれたサーボパターンから位置信号104を生成し得る。たとえば、テープヘッド114は、磁気テープ116がリール118、122間で長手方向に動かされる際に磁気テープ116からサーボパターンを読出すことによって、位置信号104を、磁気テープ116からの位置誤差信号(PES)の開ループ測定値として生成し得る。PESは、磁気テープ116の正常な読出しおよび/または書込みの際に、サーボパターンを復号し、テープヘッド114を磁気テープ116に対して横方向に再位置付けするために、コントローラおよび/またはアクチュエータによって閉ループで使用されるであろう、テープヘッド114のための位置データを表わし得る。
【0012】
磁気テープ116の正常な読出しおよび/または書込みの際、サーボパターンにおけるずれは、テープドライブにおける可動テープヘッドの位置が、サーボパターンによって符号化された1つ以上のトラックに追従するように調節されることを要求し得る。また、テープヘッドの位置は、テープドライブにおける電流増幅器を通してヘッド位置アクチュエータに電流を印加することによって変更され得る。増幅器によって生成された最大「飽和」電流がサーボパターンにおけるLPMを補正するのに十分ではない場合、テープドライブは、テープヘッドが磁気テープ116上のトラックに追従できない「オフトラック」事象を体験するかもしれない。
【0013】
磁気テープ116の読出しおよび/または書込みは、図2の例示的なサーボパターンを使用して説明され得る。図2に示すように、磁気テープ(たとえば図1の磁気テープ116)は、一連の平行なデータストライプ234~240と、一連の平行なサーボストライプ242~250とを含む。データストライプ234~240およびサーボストライプ242~250は、磁気テープの長さにわたっていてもよく、テープの幅252にわたって交互になっていてもよい。データストライプ234~240は各々、1つ以上のデータトラックを含み、そこからデータがテープヘッド214によって読出され、および/または、そこにデータがテープヘッド214によって書込まれ得る。サーボストライプ242~250は各々、テープヘッド214を1つ以上のデータストライプ234~240と整列させるためのサーボ制御情報を特定する1つ以上のサーボトラックを含み得る。たとえば、サーボストライプ242~250は、テープヘッド214における1つ以上の読出しおよび/または書込み要素をデータストライプ234~240と整列させるために使用可能な位置情報を符号化し得る。その結果、1つ以上のサーボストライプ242~250における横方向のずれが、適切なデータストライプ234~240に対するテープヘッド214の再位置付けを要求するかもしれない。横方向のずれが十分に大きい場合、テープヘッド214は、同じトラックに追従するように遅れずに再位置付けされることが不可能であるかもしれず、テープドライブは、読出しおよび/または書込みエラーを体験するかもしれない。
【0014】
一方、図1のテープ検証システム102は、磁気テープ116を使用して標準的な読出しおよび/または書込み動作を実行する代わりに、静止したテープヘッド114からの位置信号104を使用して、磁気テープ116上に書込まれたサーボパターンの使用可能性を検証し得る。そのような検証は、たとえば、サーボパターンが磁気テープ116上に書込まれた直後、磁気テープ116が使用のために包装および/または出荷される前、ならびに/もしくは、データが磁気テープ116に書込まれる前に実行され得る。
【0015】
より具体的には、テープヘッド114は、サーボパターンを位置信号104へ復調し得る。テープヘッド114は静止しているため、位置信号104は、テープ116上のほぼまっすぐなサーボパターンにおけるLPMに応答して変動するかもしれず、より大きい変動は、サーボパターンにおけるより大きいLPMを示す。次に、テープ検証システム102は、サーボパターンの書込み中の横方向テープ移動(LTM)が、磁気テープ116の信頼性、使用可能性、および/またはトラッキング性能を妨げるほど深刻な横方向パターン移動(LPM)を生成しないことを確実にするために、位置信号104を分析し得る。
【0016】
以下により詳細に説明されるように、テープ検証システム102は、サーボパターンにおけるずれを補正するように磁気テープ116のためのテープドライブにおけるヘッド位置アクチュエータを駆動するために電流増幅器に要求されるであろう電流の量として、位置信号104によって表わされるPESからの模擬電流106を生成し得る。模擬電流106は次に、電流増幅器によって生成可能な最小電流および最大電流を表わす複数の飽和限度110と比較され得る。磁気テープ116上のサーボパターンが使用可能か否かを示す検証結果108を生成するために、模擬電流106と飽和限度110との継続的比較が実行され得る。
【0017】
1つ以上の実施形態では、システムは、図1に示す構成要素よりも多い、または少ない構成要素を含んでいてもよい。たとえば、テープ検証システム102は、磁気テープ116から位置信号104を生成するためのテープヘッド114および/または他の構成要素を含んでいてもよく、それらを用いて実行してもよく、またはそれらを除外してもよい。そのような構成要素は、互いにローカルまたはリモートであってもよく、ソフトウェアおよび/またはハードウェアで実現されてもよく、ならびに/もしくは、複数のアプリケーションおよび/またはマシンに分散されてもよい。複数の構成要素はまた、1つのアプリケーションおよび/またはマシンへと組合されてもよい。1つの構成要素に関して説明される動作が、代わりに他の構成要素によって実行されてもよい。
【0018】
コンピュータネットワークに関する追加の実施形態および/または例が、「コンピュータネットワークおよびクラウドネットワーク」と題された以下の第6節で説明される。
【0019】
1つ以上の実施形態では、データレポジトリとは、データを記憶するための任意のタイプの物理的または仮想記憶ユニットおよび/またはデバイス(たとえば、ファイルシステム、データベース、テーブルの集合、または任意の他の記憶機構)である。また、データレポジトリは、複数の異なる記憶ユニットおよび/またはデバイスを含み得る。複数の異なる記憶ユニットおよび/またはデバイスは、同じタイプのものであってもなくてもよく、または、同じ物理的サイトに位置していてもいなくてもよい。データレポジトリは、テープ検証システム102と同じコンピューティングシステム上で、または、テープ検証システム102から離れたコンピューティングシステム上で実現または実行され得る。たとえば、データレポジトリは、位置信号104、模擬電流106、飽和限度110、および/または検証結果108に関連付けられた測定値および/または計算値を記憶し得る。データレポジトリは、直接接続を介して、またはネットワークを介して、テープ検証システム102に通信可能に結合され得る。
【0020】
1つ以上の実施形態では、テープ検証システム102とは、磁気テープ記憶装置の飽和ベースの検証を実行するように構成されたハードウェアおよび/またはソフトウェアを指す。そのような動作の例が以下に説明される。
【0021】
ある実施形態では、テープ検証システム102は、1つ以上のデジタルデバイス上で実現される。「デジタルデバイス」という用語は一般に、プロセッサを含む任意のハードウェアデバイスを指す。デジタルデバイスとは、アプリケーションまたは仮想マシンを実行する物理的デバイスを指してもよい。デジタルデバイスの例は、コンピュータ、タブレット、ラップトップ、デスクトップ、ネットブック、サーバ、ウェブサーバ、ネットワークポリシーサーバ、プロキシサーバ、汎用マシン、特定機能のハードウェアデバイス、ハードウェアルータ、ハードウェアスイッチ、ハードウェアファイアウォール、ハードウェアファイアウォール、ハードウェアネットワークアドレストランスレータ(network address translator:NAT)、ハードウェアロードバランサ、メインフレーム、テレビ、コンテンツ受信機、セットトップボックス、プリンタ、携帯電話機、スマートフォン、携帯情報端末(personal digital assistant:PDA)、無線受信機および/または送信機、基地局、通信管理デバイス、ルータ、スイッチ、コントローラ、アクセスポイント、および/またはクライアントデバイスを含む。
【0022】
3.磁気テープ記憶装置の飽和ベースの検証
図3Aは、1つ以上の実施形態に従った、図1のテープ検証システム102などのテープ検証システムの例示的な動作を示す。上述のように、テープ検証システムは、磁気テープ(たとえば、図1の磁気テープ116)が静止したテープヘッドの下で長手方向に動かされる間にテープヘッドによって生成された位置信号104によって表わされるPESを受信し得る。テープヘッドは静止しているため、位置信号104は、磁気テープ上のサーボパターンがテープヘッドによって読出される際のサーボパターンにおける横方向移動の大きさを反映し得る。
【0023】
位置信号104は、模擬電流106(たとえば「current[k]」)の値を計算するLTM-電流フィルター(LTM-current filter)302に入力され得る。たとえば、LTM-電流フィルター302は、テープドライブにおける可動テープヘッドのためのコントローラを表わす第1のパラメータと、テープヘッドのための電流増幅器およびヘッド位置アクチュエータを表わす第2のパラメータとを含む伝達関数を使用して表わされ得る。テープドライブの通常動作中、伝達関数は閉ループ環境において使用されてもよく、そこで、コントローラは、可動テープヘッドを使用して測定されたPESをPES目標と比較し、電流増幅器への電流コマンドを生成する。電流増幅器は、当該電流コマンドに基づいて電圧を生成してもよく、ヘッド位置アクチュエータは、当該電圧に従ってテープヘッドを再位置付けしてもよい。次に、新しいPESが、テープヘッドの新しい位置と磁気テープにおけるLTMの測定値とから生成され、PES目標に基づいたPESの継続的更新のためにコントローラへフィードバックされる。たとえば、PESはPES目標と比較されてもよく、コントローラ380からの電流コマンドと、電流増幅器390からの電圧と、ヘッド位置アクチュエータ396の出力とが、PESとPES目標との差を表わすトラッキングエラーを最小限にするために使用されてもよい。このため、模擬電流106は、標準的なテープドライブにおいてテープヘッドを新しい位置へ動かすためにコントローラによって生成されるであろう電流コマンドを表わし得る。
【0024】
図3Bに示すように、LTM-電流フィルター302の例示的な閉ループ表現は、PESとPES目標との差として計算されたトラッキングエラーを入力として取得するコントローラ380を含み得る。コントローラ380は、誤差増幅器382と電力増幅器384と差動増幅器386とを含む電流増幅器390に供給される電流コマンドを出力し得る。電流増幅器390の出力は、ボイスコイルモータ(voice coil motor:VCM)392とテープドライブにおけるテープヘッドに結合されたキャリッジ394とを含むヘッド位置アクチュエータ396に供給される電圧を含む。図3Bでは、VCM392およびキャリッジ394は、ラプラス演算子を有する伝達関数として表わされる。このため、コントローラ380によって出力された電流コマンドは、電流増幅器390によって、VCM392を作動させる電圧に変換され得る。当該電圧に応答して、VCM392は、テープヘッドを再位置付けするためにキャリッジ394を動かし得る。
【0025】
図3AのLTM-電流フィルター302によって模擬電流106が生成された後で、模擬電流106は、動的飽和ブロック304に入力され得る。動的飽和ブロック304は、模擬電流106の最も最近の値を、コントローラによって生成可能な電流コマンドの上限および下限をそれぞれ表わす飽和上限306(たとえば「current_USL[k]」)および飽和下限308(たとえば「current_LSL[k]」)と比較する。次に、動的飽和ブロック304は、飽和上限306および飽和下限308によって制限されている、更新された模擬電流310(たとえば「current_sat[k]」)を出力し得る。言い換えれば、更新された模擬電流310は、電流増幅器における制限された電流生成能力を勘案しないLTM-電流フィルター302からの模擬電流106の理論値ではなく、テープドライブにおける電流増幅器によって実際に生成可能な模擬電流106に対する制限を反映し得る。
【0026】
次に、更新された模擬電流310は、飽和上限機構314に入力され得る。飽和上限機構314は、更新された模擬電流310の最も最近の値と、テープヘッドの制御に関連付けられた1組の追加パラメータとに基づいて、後続サンプルのために飽和上限306を更新する。更新された模擬電流310は、飽和下限機構316にも同様に入力され得る。飽和下限機構316は、更新された模擬電流310の最も最近の値と、同じ1組の追加パラメータとに基づいて、後続サンプルのために飽和下限308を更新する。プロセスは、LTM-電流フィルター302を使用して位置信号104から新しい模擬電流302を計算し、新しい模擬電流302を新しい飽和上限306および飽和下限308と比較し、動的飽和ブロック304を使用して比較に基づいて新しい更新された模擬電流310を出力することによって、繰り返され得る。
【0027】
動的飽和ブロック304は加えて、LTM-電流フィルター302からの模擬電流106が飽和上限306または飽和下限308を超えた回数を追跡する飽和カウント312(たとえば「#saturation」)を出力し得る。飽和カウント312は、磁気テープについての飽和密度を取得するために、テープヘッドによって走査された磁気テープの長さで除算され得る。飽和密度がしきい値を上回る場合、磁気テープは使用不可能であると見なされ得る。飽和密度がしきい値内にある場合、磁気テープは使用可能であると見なされ得る。
【0028】
次に、磁気テープの使用可能性または使用可能性の欠如が、検証結果(たとえば、図1の検証結果108)において出力されてもよく、検証結果に従って、磁気テープのその後の使用が管理されてもよい。たとえば、検証結果において使用可能であると見なされた磁気テープは、顧客にリリースされ、および/または、データセンターに配備され得る。逆に、検証結果において使用不可能であると見なされた磁気テープは、その後の販売および/またはテープドライブにおける使用から除外され得る。
【0029】
4.例示的な実施形態
詳細な例が、明確にするために以下に説明される。以下に説明される構成要素および/または動作は、1つの具体例として理解されるべきであり、それは、ある実施形態には適用できないかもしれない。したがって、以下に説明される構成要素および/または動作は、請求項のうちのいずれかの範囲を限定すると解釈されるべきでない。
【0030】
図3A~3Bの例示的な動作では、LTM-電流フィルター302は、C/(1+CP)という形の伝達関数を含んでいてもよく、式中、Cは、コントローラ380を表わし、Pは、電流増幅器390とヘッド位置アクチュエータ396との組合せを表わす。また、CおよびPはともに、以下の表現で表わされるような、b/aという形の伝達関数であってもよい:
【0031】
【数1】
【0032】
上述の伝達関数表現から、以下の差分方程式が取得され得る:
【0033】
【数2】
【0034】
式中、
:分子のi番目の係数
:分母のi番目の係数
nb:分子の次数
na:分母の次数。
【0035】
CおよびPと同様に、拡張された伝達関数はb/aとして表わされてもよく、bおよびaの双方についての係数は配列ベクトルで特定される。Y(z)は、模擬電流106のz変換を表わしてもよく、U(z)は、位置信号104のz変換を表わしてもよい。上に示すように、伝達関数はまた、位置信号104の最も最近の値および以前の値と模擬電流106の以前の値とを利用することによって時間ステップ「k」での模擬電流106の最も最近の値を計算するために解かれる、na次の差分方程式として表わされてもよい。
【0036】
上述の伝達関数および/または差分方程式を使用して模擬電流106が計算された後で、動的飽和ブロック304は、以下を使用して、模擬電流106を飽和上限306および飽和下限308と比較し得る:
【0037】
【数3】
【0038】
上述の比較では、時間ステップ「k」での「current[k]」によって表わされるような模擬電流106が「current_USL[k]」によって表わされるような飽和上限306よりも高い場合、「current_sat[k]」によって表わされるような更新された模擬電流310は、飽和上限306で制限され得る。逆に、模擬電流106が「current_LSL[k]」によって表わされるような飽和下限308よりも低い場合、更新された模擬電流310は、飽和下限308で制限され得る。模擬電流106が、飽和上限306および飽和下限308によって表わされる限度内にある場合、更新された模擬電流310は、模擬電流106と同じ値に設定され得る。
【0039】
動的飽和ブロック304はまた、上述の比較に基づいて飽和カウント312を更新し得る。より具体的には、最初の100個の時間ステップの後で、模擬電流106が飽和上限および飽和下限によって表わされる限度を超える場合はいつでも、動的飽和ブロック304は、飽和カウント312をインクリメントし得る。飽和カウント312を求めるためにある量の磁気テープ(たとえば、予め特定された長さの磁気テープおよび/または全長にわたる磁気テープ)が使用された後で、飽和カウント312は、磁気テープの飽和密度を計算するために使用され得る。たとえば、飽和カウント312は、磁気テープ1メートル当たりの、飽和限度を超えた平均回数を求めるために、磁気テープの長さで除算され得る。飽和密度が、磁気テープ1メートル当たりの飽和事象のある回数を表わすしきい値を上回る場合、磁気テープは使用不可能であると識別され得る。飽和密度がしきい値を上回らない場合、磁気テープは使用不可能であると識別され得る。
【0040】
飽和上限306および飽和下限308はまた、所与の時間ステップ「k」について、以下の式を使用して更新されてもよい:
【0041】
【数4】
【0042】
これらの式では、Rは、VCM抵抗を表わしてもよく、Lは、VCMインダクタンスを表わしてもよく、Vmaxは、電流増幅器390が供給可能な最大電圧を表わしてもよく、Imaxは、VCM392に許可された最大電流を表わしてもよく、Tは、サンプリング時間を表わしてもよい。時間ステップ0で、飽和上限306は、最大電流の正の値に設定されてもよく、飽和下限308は、最大電流の負の値に設定されてもよい。時間ステップ0の後で、飽和上限306および飽和下限308は、それらの値に対する制約をImaxに基づいて維持しながら、連続時間RL回路をゼロ次ホールドで離散化する式に従って更新されてもよい。
【0043】
上述のプロセスを使用して生成された模擬電流106の例示的なプロットを、図4A~4Bに示す。より具体的には、図4Aは、2.5秒という時間に対する模擬電流(たとえば「SCUR[A]」)のプロットを示し、図4Bは、図4Aのプロットが範囲とする時間の一部(たとえば、0.0944秒~0.0955秒)に対する同じ模擬電流のプロットを示す。双方のプロットでは、飽和上限よりも高いかまたは飽和下限よりも低い模擬電流を表わす飽和事象は、アスタリスクによって表わされる。図4Aのプロットにおける凡例は、磁気テープ1メートル当たり、平均32.36個の飽和事象が見つかることを示し得る。図4Bのプロットにおける破線は、実線で示された模擬電流の飽和上限および飽和限度を表わし得る。
【0044】
5.磁気テープ上のサーボパターンの検証
図5は、1つ以上の実施形態に従った、磁気テープ上のサーボパターンを検証するフローチャートを示す。1つ以上の実施形態では、ステップのうちの1つ以上が省略され、繰り返され、および/または、異なる順序で実行され得る。したがって、図5に示すステップの具体的な並び方は、実施形態の範囲を限定すると解釈されるべきでない。
【0045】
まず、静止したテープヘッドを使用して磁気テープを読出すことによって生成された位置信号が取得される(動作502)。たとえば、位置信号は、磁気テープ上のサーボパターンにおける横方向移動に応答して変動する、静止したテープヘッドからのPESであり得る。
【0046】
次に、磁気テープ上のトラックに追従するようにテープヘッドの位置を調節するための模擬電流が、位置信号から計算される(動作504)。たとえば、模擬電流は、フィルターを位置信号に適用することによって計算され得る。フィルターは、テープヘッドのためのコントローラを表わす第1のパラメータと、テープヘッドのための電流増幅器およびヘッド位置アクチュエータを表わす第2のパラメータとを含み得る。フィルターはまた、またはそれに代えて、模擬電流の最新値を取得するために1組の係数を一連の位置信号値と一連の模擬電流値とに適用する差分方程式を含み得る。
【0047】
模擬電流は次に、図6に関して以下により詳細に説明されるように、磁気テープ上のサーボパターンについての検証結果を生成するために、1つ以上の飽和限度と比較される(動作506)。最後に、検証結果は、磁気テープのその後の使用の管理に使用するために出力される(動作508)。たとえば、検証結果は、ユーザインターフェイス、通知、ファイル、データベース、音声、および/または他の表現において出力され得る。検証結果は、サーボパターンにおけるLPMの大きさおよび/または頻度に基づいて、磁気テープが使用可能か使用不可能かを特定し得る。次に、検証結果は、磁気テープが販売、配備、および/または他の態様で使用される前に、磁気テープを合格および/または不合格にするために使用され得る。
【0048】
6.磁気テープ上のサーボパターンについての検証結果の生成
図6は、1つ以上の実施形態に従った、磁気テープ上のサーボパターンについての検証結果を生成するフローチャートを示す。1つ以上の実施形態では、ステップのうちの1つ以上が省略され、繰り返され、および/または、異なる順序で実行され得る。したがって、図6に示すステップの具体的な並び方は、実施形態の範囲を限定すると解釈されるべきでない。
【0049】
まず、磁気テープに関連付けられた模擬電流についての最初の1組の値が、検証結果の生成から省略される(動作602)。上述のように、模擬電流は、静止したテープヘッドによって生成された位置信号から、一連の時間ステップにおいて計算され得る。その結果、予め特定された最初の数(たとえば100個)の模擬電流値が、模擬電流値が比較される飽和限度といった、検証結果を求めるためにその後使用される他の値を初期化するために、検証結果に影響を与えることから除外され得る。
【0050】
最初の1組の値が通過した後で、模擬電流についての更新値が、飽和上限および飽和下限と比較され(動作604)、模擬電流が飽和限度によって表わされる境界外にあるかどうかが判断される(動作606)。たとえば、模擬電流は、磁気テープの上方に位置付けられたテープヘッドのためのコントローラ、電流増幅器、およびアクチュエータの閉ループ挙動をモデル化するLTM-電流フィルターから取得されてもよく、飽和上限は、模擬電流についての上限を表わしてもよく、飽和下限は、模擬電流についての下限を表わしてもよい。その結果、模擬電流が飽和上限を上回るかまたは飽和下限を下回る場合、模擬電流は、飽和限度の限度から外れ得る。
【0051】
模擬電流が飽和限度から外れた場合、磁気テープの飽和カウントがインクリメントされる(動作608)。飽和カウントは、動作602で最初の1組の値が省略された後で模擬電流が飽和限度から外れた回数を追跡し得る。模擬電流が飽和限度内にとどまる場合、飽和カウントはインクリメントされない。
【0052】
そのような比較は、磁気テープの残りについて繰り返され得る(動作610)。磁気テープ上のサーボパターンの検証に関連付けられたその後の時間ステップにおいて新しい更新された模擬電流値を取得する前に、飽和限度は、以前の時間ステップから計算された更新された模擬電流の電流値と、テープヘッドの制御に関連付けられた1組の追加パラメータとに基づいて更新される(動作612)。たとえば、その後の時間ステップについての飽和限度は、連続時間RL回路をゼロ次ホールドで離散化する式を使用して更新されてもよい。これらの式は、時間ステップにおける、以前の時間ステップからの更新された模擬電流、VCM抵抗、VCMインダクタンス、最大電流、最大電圧、および/またはサンプリング時間(たとえばサンプリング間隔)についてのパラメータを含んでいてもよい。
【0053】
飽和限度が更新された後で、新しい更新された模擬電流値を取得することができ(動作604)、模擬電流と飽和限度との比較に基づいて、磁気テープについての飽和カウントが更新される(動作606~608)。検証される磁気テープが残っている(動作610)間、飽和限度が更新されて(動作612)から、模擬電流と飽和限度との次の比較が実行される。
【0054】
磁気テープの予め定められた一部および/または全体が動作604~612を使用して分析された後で、飽和カウントは、磁気テープについての飽和密度を計算するために、磁気テープの分析された部分の長さで除算される(動作614)。たとえば、飽和カウントは、磁気テープ1メートル当たりの電流飽和の平均回数(たとえば、模擬電流が飽和限度によって表わされる限度から外れた回数)として飽和密度を求めるために、動作604~612で分析された部分の長さ(メートル)で除算され得る。
【0055】
最後に、検証結果において、飽和密度についてのしきい値に基づいて、磁気テープの使用可能性が特定される(動作616)。たとえば、しきい値は、サーボパターンにおけるあるレベルの誤差を表わし得る。その結果、検証結果は、飽和密度がしきい値を上回らない場合には磁気テープを使用可能であると識別し、飽和密度がしきい値を上回る場合には磁気テープを使用不可能であると識別し得る。
【0056】
7.コンピュータネットワークおよびクラウドネットワーク
1つ以上の実施形態では、コンピュータネットワークは、1組のノード間の接続性を提供する。これらのノードは、互いにローカルおよび/またはリモートであってもよい。これらのノードは、1組のリンクによって接続される。リンクの例は、同軸ケーブル、無被覆ツイストケーブル、銅ケーブル、光ファイバー、および仮想リンクを含む。
【0057】
ノードの一部は、コンピュータネットワークを実現する。そのようなノードの例は、スイッチ、ルータ、ファイアウォール、およびネットワークアドレストランスレータ(NAT)を含む。ノードの他の一部は、コンピュータネットワークを使用する。そのようなノード(「ホスト」とも呼ばれる)は、クライアントプロセスおよび/またはサーバプロセスを実行し得る。クライアントプロセスは、コンピューティングサービス(特定のアプリケーションの実行、および/または特定の量のデータの格納など)についての要求を行なう。サーバプロセスは、要求されたサービスを実行することによって、および/または対応するデータを返すことによって応答する。
【0058】
コンピュータネットワークは、物理的リンクによって接続された物理的ノードを含む、物理的ネットワークであってもよい。物理的ノードとは、任意のデジタルデバイスである。物理的ノードは、ハードウェアスイッチ、ハードウェアルータ、ハードウェアファイアウォール、およびハードウェアNATといった、特定機能のハードウェアデバイスであってもよい。これに加えて、またはこれに代えて、物理的ノードは、それぞれの機能を実行するさまざまな仮想マシンおよび/またはアプリケーションを実行するように構成された汎用マシンであってもよい。物理的リンクとは、2つ以上の物理的ノードを接続する物理的媒体である。リンクの例は、同軸ケーブル、無被覆ツイストケーブル、銅ケーブル、および光ファイバーを含む。
【0059】
コンピュータネットワークは、オーバーレイネットワークであってもよい。オーバーレイネットワークとは、別のネットワーク(物理的ネットワークなど)の上に実現された論理的ネットワークである。オーバーレイネットワークにおける各ノードは、下位ネットワークにおけるそれぞれのノードに対応する。よって、オーバーレイネットワークにおける各ノードは、(オーバーレイノードをアドレス指定するための)オーバーレイアドレスと、(オーバーレイノードを実現するアンダーレイノードをアドレス指定するための)アンダーレイアドレスとの双方に関連付けられる。オーバーレイノードは、デジタルデバイスおよび/またはソフトウェアプロセス(仮想マシン、アプリケーションインスタンス、またはスレッドなど)であってもよい。オーバーレイノード同士を接続するリンクは、下位ネットワークを通るトンネルとして実現される。トンネルの両端のオーバーレイノードは、それらの間の下位マルチホップ経路を、単一の論理的リンクとして扱う。カプセル化および非カプセル化を通して、トンネリングが実行される。
【0060】
ある実施形態では、クライアントは、コンピュータネットワークに対してローカルおよび/またはリモートであってもよい。クライアントは、コンピュータネットワークに、プライベートネットワークまたはインターネットなどの他のコンピュータネットワークを通してアクセスしてもよい。クライアントは、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)などの通信プロトコルを使用して、コンピュータネットワークに要求を通信してもよい。要求は、クライアントインターフェイス(ウェブブラウザなど)、プログラムインターフェイス、またはアプリケーションプログラミングインターフェイス(application-programming interface:API)といったインターフェイスを通して通信される。
【0061】
ある実施形態では、コンピュータネットワークは、クライアントとネットワークリソースとの間の接続性を提供する。ネットワークリソースは、サーバプロセスを実行するように構成されたハードウェアおよび/またはソフトウェアを含む。ネットワークリソースの例は、プロセッサ、データ記憶装置、仮想マシン、コンテナ、および/またはソフトウェアアプリケーションを含む。ネットワークリソースは、複数のクライアント間で共有される。クライアントは互いに独立して、コンピュータネットワークからコンピューティングサービスを要求する。ネットワークリソースは、オンデマンドベースで要求および/またはクライアントに動的に割り当てられる。各要求および/またはクライアントに割り当てられたネットワークリソースは、たとえば、(a)特定のクライアントによって要求されたコンピューティングサービス、(b)特定のテナントによって要求された、集約されたコンピューティングサービス、および/または、(c)コンピュータネットワークに要求された、集約されたコンピューティングサービス、に基づいて拡大または縮小されてもよい。そのようなコンピュータネットワークは、「クラウドネットワーク」と呼ばれ得る。
【0062】
ある実施形態では、サービスプロバイダは、クラウドネットワークを1人以上のエンドユーザに提供する。ソフトウェア・アズ・ア・サービス(Software-as-a-Service:SaaS)、プラットフォーム・アズ・ア・サービス(Platform-as-a-Service:PaaS)、およびインフラストラクチャ・アズ・ア・サービス(Infrastructure-as-a-Service :IaaS)を含むもののそれらに限定されない、さまざまなサービスモデルが、クラウドネットワークによって実現され得る。SaaSでは、サービスプロバイダは、ネットワークリソース上で実行されるサービスプロバイダのアプリケーションを使用する能力を、エンドユーザに提供する。PaaSでは、サービスプロバイダは、ネットワークリソース上にカスタムアプリケーションを配備する能力を、エンドユーザに提供する。カスタムアプリケーションは、サービスプロバイダによってサポートされるプログラミング言語、ライブラリ、サービス、およびツールを使用して作成され得る。IaaSでは、サービスプロバイダは、ネットワークリソースによって提供される処理、格納、ネットワーク、および他の基本的コンピューティングリソースをプロビジョニングする能力を、エンドユーザに提供する。オペレーティングシステムを含む任意のアプリケーションが、ネットワークリソース上に配備され得る。
【0063】
ある実施形態では、プライベートクラウド、パブリッククラウド、およびハイブリッドクラウドを含むもののそれらに限定されない、さまざまな配備モデルが、コンピュータネットワークによって実現され得る。プライベートクラウドでは、ネットワークリソースは、1つ以上のエンティティのうちの特定のグループによる独占的使用のためにプロビジョニングされる(ここに使用されるような「エンティティ」という用語は、企業、組織、人間、または他のエンティティを指す)。ネットワークリソースは、エンティティのうちの特定のグループの構内に対してローカルおよび/またはリモートであってもよい。パブリッククラウドでは、クラウドリソースは、互いに独立した複数のエンティティ(「テナント」または「顧客」とも呼ばれる)のためにプロビジョニングされる。コンピュータネットワークおよびそのネットワークリソースは、異なるテナントに対応するクライアントによってアクセスされる。そのようなコンピュータネットワークは、「マルチテナントコンピュータネットワーク」と呼ばれ得る。いくつかのテナントは、異なる時間に、および/または同じ時間に、同じ特定のネットワークリソースを使用してもよい。ネットワークリソースは、テナントの構内に対してローカルおよび/またはリモートであってもよい。ハイブリッドクラウドでは、コンピュータネットワークは、プライベートクラウドとパブリッククラウドとを含む。プライベートクラウドとパブリッククラウドとの間のインターフェイスが、データおよびアプリケーション可搬性を可能にする。プライベートクラウドに格納されたデータと、パブリッククラウドに格納されたデータとは、インターフェイスを通して交換されてもよい。プライベートクラウドで実現されたアプリケーションと、パブリッククラウドで実現されたアプリケーションとは、互いに対する従属性を有していてもよい。プライベートクラウドでのアプリケーションからパブリッククラウドでのアプリケーションへの(逆もまた同様)呼出しが、インターフェイスを通して実行されてもよい。
【0064】
ある実施形態では、マルチテナントコンピュータネットワークのテナントは、互いに独立している。たとえば、あるテナントのビジネスまたは事業は、別のテナントのビジネスまたは事業とは別のものであり得る。異なるテナントは、コンピュータネットワークに対して異なるネットワーク要件を要求し得る。ネットワーク要件の例は、処理速度、データ格納量、セキュリティ要件、性能要件、スループット要件、待ち時間要件、回復力要件、サービス品質(Quality of Service:QoS)要件、テナント分離、および/または一貫性を含む。同じコンピュータネットワークが、異なるテナントによって要求される異なるネットワーク要件を実現する必要があり得る。
【0065】
1つ以上の実施形態では、マルチテナントコンピュータネットワークにおいて、異なるテナントのアプリケーションおよび/またはデータが互いに共有されないことを確実にするために、テナント分離が実現される。さまざまなテナント分離アプローチが使用されてもよい。
【0066】
ある実施形態では、各テナントは、テナントIDに関連付けられる。マルチテナントコンピュータネットワークの各ネットワークリソースが、テナントIDでタグ付けされる。テナントと特定のネットワークリソースとが同じテナントIDに関連付けられる場合のみ、テナントは、特定のネットワークリソースへのアクセスを許可される。
【0067】
ある実施形態では、各テナントは、テナントIDに関連付けられる。コンピュータネットワークによって実現された各アプリケーションが、テナントIDでタグ付けされる。これに加えて、またはこれに代えて、コンピュータネットワークによって格納された各データ構造および/またはデータセットが、テナントIDでタグ付けされる。テナントと特定のアプリケーション、データ構造、および/またはデータセットとが同じテナントIDに関連付けられる場合のみ、テナントは、特定のアプリケーション、データ構造、および/またはデータセットへのアクセスを許可される。
【0068】
一例として、マルチテナントコンピュータネットワークによって実現された各データベースが、テナントIDでタグ付けされてもよい。対応するテナントIDに関連付けられたテナントのみが、特定のデータベースのデータにアクセスしてもよい。別の例として、マルチテナントコンピュータネットワークによって実現されたデータベースにおける各エントリが、テナントIDでタグ付けされてもよい。対応するテナントIDに関連付けられたテナントのみが、特定のエントリのデータにアクセスしてもよい。しかしながら、データベースは複数のテナントによって共有されてもよい。
【0069】
ある実施形態では、サブスクリプションリストは、どのテナントがどのアプリケーションにアクセスするための認証を有するかを示す。アプリケーションごとに、アプリケーションへのアクセスを認証されたテナントのテナントIDのリストが格納される。テナントのテナントIDが、特定のアプリケーションに対応する申し込みリストに含まれる場合のみ、テナントは、特定のアプリケーションへのアクセスを許可される。
【0070】
ある実施形態では、異なるテナントに対応するネットワークリソース(デジタルデバイス、仮想マシン、アプリケーションインスタンス、およびスレッドなど)同士は、マルチテナントコンピュータネットワークによって維持されたテナント特有オーバーレイネットワークに分離される。一例として、テナントオーバーレイネットワークにおける任意の発信元デバイスからのパケットは、同じテナントオーバーレイネットワーク内の他のデバイスにのみ送信され得る。テナントオーバーレイネットワーク上の発信元デバイスから他のテナントオーバーレイネットワークにおけるデバイスへのあらゆる送信を禁止するために、カプセル化トンネルが使用される。具体的には、発信元デバイスから受信されたパケットは、外部パケット内でカプセル化される。外部パケットは、(テナントオーバーレイネットワークにおける発信元デバイスと通信する)第1のカプセル化トンネルエンドポイントから、(テナントオーバーレイネットワークにおける宛先デバイスと通信する)第2のカプセル化トンネルエンドポイントへ送信される。第2のカプセル化トンネルエンドポイントは、発信元デバイスによって送信された元のパケットを取得するために、外部パケットを非カプセル化する。元のパケットは、第2のカプセル化トンネルエンドポイントから、同じ特定のオーバーレイネットワークにおける宛先デバイスへ送信される。
【0071】
8.その他;拡張
実施形態は、ハードウェアプロセッサを含み、ここに説明された、および/または以下の請求項のいずれかに記載された動作のうちのいずれかを実行するように構成された1つ以上のデバイスを有する、システムに向けられる。
【0072】
ある実施形態では、非一時的コンピュータ読取可能記憶媒体は、1つ以上のハードウェアプロセッサによって実行されると、ここに説明された、および/または請求項のいずれかに記載された動作のうちのいずれかの実行を引き起こす命令を含む。
【0073】
ここに説明された特徴と機能性との任意の組合せが、1つ以上の実施形態に従って使用されてもよい。前述の明細書では、実施形態は、実現化例によって変わり得る多くの具体的詳細を参照して説明されてきた。したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考慮されるべきである。この発明の範囲の唯一かつ排他的な指標、および、出願人が意図するこの発明の範囲は、本願から生じる1組の請求項の、そのような請求項が生じる特定の形態での、その後のあらゆる補正を含む、文言上のかつ同等の範囲である。
【0074】
9.ハードウェア概要
一実施形態によれば、ここに説明される手法は、1つ以上の専用コンピューティングデバイスによって実現される。これらの専用コンピューティングデバイスは、これらの手法を実行するためにハードワイヤードされてもよく、もしくは、これらの手法を実行するように永続的にプログラムされた1つ以上の特定用途向け集積回路(application-specific integrated circuit:ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)、またはネットワーク処理ユニット(network processing unit:NPU)といったデジタル電子デバイスを含んでいてもよく、もしくは、ファームウェア、メモリ、他の記憶装置、またはそれらの組合せにおいてプログラム命令に従ってこれらの手法を実行するようにプログラムされた1つ以上の汎用ハードウェアプロセッサを含んでいてもよい。そのような専用コンピューティングデバイスはまた、これらの手法を遂行するために、カスタムハードワイヤードロジック、ASIC、FPGA、またはNPUをカスタムプログラミングと組合わせてもよい。これらの専用コンピューティングデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワーキングデバイス、もしくは、これらの手法を実現するためにハードワイヤードロジックおよび/またはプログラムロジックを組込んだ任意の他のデバイスであってもよい。
【0075】
たとえば、図7は、この発明の一実施形態が実現され得るコンピュータシステム700を示すブロック図である。コンピュータシステム700は、情報を通信するためのバス702または他の通信機構と、情報を処理するためにバス702と結合されたハードウェアプロセッサ704とを含む。ハードウェアプロセッサ704は、たとえば、汎用マイクロプロセッサであってもよい。
【0076】
コンピュータシステム700はまた、プロセッサ704によって実行される命令および情報を格納するためにバス702に結合された、ランダムアクセスメモリ(random access memory:RAM)または他の動的記憶装置などのメインメモリ706を含む。メインメモリ706はまた、プロセッサ704によって実行される命令の実行中に一時的な変数または他の中間情報を格納するために使用されてもよい。そのような命令は、プロセッサ704にアクセス可能な非一時的記憶媒体に格納されると、コンピュータシステム700を、命令で特定された動作を実行するようにカスタマイズされた専用マシンにする。
【0077】
コンピュータシステム700はさらに、プロセッサ704のための静的情報および命令を格納するためにバス702に結合された読出専用メモリ(read only memory:ROM)708または他の静的記憶装置を含む。磁気ディスクまたは光ディスクなどの記憶装置710が設けられ、情報および命令を格納するためにバス702に結合される。
【0078】
コンピュータシステム700は、情報をコンピュータユーザへ表示するための陰極線管(cathode ray tube:CRT)などのディスプレイ712に、バス702を介して結合され得る。英数字キーおよび他のキーを含む入力装置714が、情報およびコマンド選択をプロセッサ704へ通信するためにバス702に結合される。別のタイプのユーザ入力装置は、方向情報およびコマンド選択をプロセッサ704へ通信するための、および、ディスプレイ712上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御装置716である。この入力装置は典型的には、第1の軸(たとえばx)および第2の軸(たとえばy)という2つの軸において2つの自由度を有し、それは、当該装置が平面における位置を特定することを可能にする。
【0079】
コンピュータシステム700は、コンピュータシステムと組合されることでコンピュータシステム700を専用マシンにするかまたは専用マシンになるようプログラムする、カスタマイズされたハードワイヤードロジック、1つ以上のASICまたはFPGA、ファームウェアおよび/またはプログラムロジックを使用して、ここに説明された手法を実現してもよい。一実施形態によれば、ここでの手法は、メインメモリ706に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ704が実行することに応答して、コンピュータシステム700によって実行される。そのような命令は、記憶装置710などの別の記憶媒体からメインメモリ706に読込まれ得る。メインメモリ706に含まれる命令のシーケンスの実行により、プロセッサ704は、ここに説明されたプロセスステップを実行するようになる。代替的な実施形態では、ハードワイヤード回路が、ソフトウェア命令の代わりに、またはソフトウェア命令と組合わせて使用されてもよい。
【0080】
ここに使用されるような「記憶媒体」という用語は、マシンを特定の態様で動作させるデータおよび/または命令を格納する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含み得る。不揮発性媒体は、たとえば、記憶装置710などの光ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ706などのダイナミックメモリを含む。記憶媒体の一般的な形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、穴のパターンを有する任意の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、NVRAM、任意の他のメモリチップまたはカートリッジ、連想メモリ(content-addressable memory:CAM)、および3値連想メモリ(ternary content-addressable memory:TCAM)を含む。
【0081】
記憶媒体は伝送媒体とは異なるが、伝送媒体とともに使用され得る。伝送媒体は、記憶媒体間の情報の転送に関わる。たとえば、伝送媒体は、バス702を構成するワイヤを含む、同軸ケーブル、銅線、および光ファイバーを含む。伝送媒体はまた、電波および赤外線データ通信時に生成されるような音波または光波の形態を取ることもできる。
【0082】
媒体のさまざまな形態は、1つ以上の命令の1つ以上のシーケンスを実行のためにプロセッサ704へ搬送することに関与し得る。たとえば、命令は最初、リモートコンピュータの磁気ディスクまたはソリッドステートドライブ上で搬送され得る。リモートコンピュータは、そのダイナミックメモリに命令をロードし、モデムを使用して電話回線を介して命令を送信することができる。コンピュータシステム700に対してローカルなモデムが、電話回線上のデータを受信し、赤外線送信機を使用してデータを赤外線信号に変換することができる。赤外線検出器が、赤外線信号で搬送されたデータを受信することができ、適切な回路が、データをバス702上に配置することができる。バス702はデータをメインメモリ706へ搬送し、そこから、プロセッサ704は命令を取り出して実行する。メインメモリ706によって受信された命令はオプションで、プロセッサ704による実行の前または後に、記憶装置710上に格納されてもよい。
【0083】
コンピュータシステム700はまた、バス702に結合された通信インターフェイス718を含む。通信インターフェイス718は、ローカルネットワーク722に接続されたネットワークリンク720への双方向データ通信結合を提供する。たとえば、通信インターフェイス718は、対応するタイプの電話回線へのデータ通信接続を提供するための、総合サービスデジタル網(integrated services digital network:ISDN)カード、ケーブルモデム、衛星モデム、またはモデムであってもよい。別の例として、通信インターフェイス718は、互換性のあるLANへのデータ通信接続を提供するためのローカルエリアネットワーク(local area network:LAN)カードであってもよい。無線リンクも実現され得る。任意のそのような実現化例では、通信インターフェイス718は、さまざまなタイプの情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
【0084】
ネットワークリンク720は典型的には、1つ以上のネットワークを通して、他のデータデバイスにデータ通信を提供する。たとえば、ネットワークリンク720は、ローカルネットワーク722を介する、ホストコンピュータ724への、またはインターネットサービスプロバイダ(Internet Service Provider:ISP)726によって動作されるデータ機器への接続を提供してもよい。ISP726は次に、現在一般的に「インターネット」728と呼ばれる全世界的パケットデータ通信ネットワークを通して、データ通信サービスを提供する。ローカルネットワーク722およびインターネット728は双方とも、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を使用する。コンピュータシステム700との間でデジタルデータを搬送する、さまざまなネットワークを通る信号、および、通信インターフェイス718を通るネットワークリンク720上の信号は、伝送媒体の例示的な形態である。
【0085】
コンピュータシステム700は、ネットワーク、ネットワークリンク720、および通信インターフェイス718を通して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ730が、インターネット728、ISP726、ローカルネットワーク722、および通信インターフェイス718を通して、アプリケーションプログラムのための要求されたコードを送信し得る。
【0086】
受信されたコードは、受信時にプロセッサ704によって実行されてもよく、および/または、後で実行するために記憶装置710または他の不揮発性記憶装置に格納されてもよい。
【0087】
前述の明細書では、この発明の実施形態は、実現化例によって変わり得る多くの具体的詳細を参照して説明されてきた。したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考慮されるべきである。この発明の範囲の唯一かつ排他的な指標、および、出願人が意図するこの発明の範囲は、本願から生じる1組の請求項の、そのような請求項が生じる特定の形態での、その後のあらゆる補正を含む、文言上のかつ同等の範囲である。
図1
図2
図3A
図3B
図4A
図4B
図5
図6
図7