図1は、本発明の実施例に従うシステム100のブロック図である。システム100は、電力をIC170に供給するVR110を含む。本発明の実施例では、VR110は、異なる電圧レベルの供給電圧160をIC170に種々に出力するためのVR電圧制御器140を含む。IC170は、半導体基板上に集積された多様なあらゆる回路を含み、マイクロプロセッサに限定されることはないが、個々の処理コア、あるいはあらゆる他の適切な回路を含む。システム100は、いくつかの実施例に従って、デスクトップまたはラップトップ・コンピュータ(例えば、コンピュータ・マザーボード上)、モバイル・プラットフォーム、サーバ・プラットフォーム、あるいは他の適切なコンピューティング・プラットフォームのようなより大きなプラットフォームの一部であってもよい。例えば、電圧レギュレータ110は、マザーボードに結合される基板に搭載される電圧レギュレータ「モジュール」として、マザーボード上に直接搭載される要素を有する電圧レギュレータ「ダウン」として、あるいは他のあらゆる形式で実装されてもよい。更に、VR110およびIC170の各々は、個々の装置として本発明の実施例を実現することができる。
一般に、電圧レギュレータ110は、IC170に特定の供給電圧160で電力を提供する装置を含む。いくつかの実施例によれば、VR電圧制御器140は、供給電圧160を調整する。例えば、VR電圧制御器は、IC170からの1またはそれ以上の通信(図示せず)に応じて供給電圧を調整する。
供給電圧160をIC170に提供するケースの場合では、VR110は、所定の時間にVR110が供給電圧160をIC170に提供する結果としての特定の状況を有する。例えば、供給電圧160をIC170に提供することにより、VR110は、VR110の1またはそれ以上のコンポーネントの温度としての特定の熱状態で動作する。加えて、IC170に供給電圧160を提供するVR110は、特定のタイプあるいはレベルの電力出力、つまりIC170がその動作負荷に基づいて電力を引き込むような、特定の電圧で特定の電流出力を与えるVR110となる。
本発明の様々な実施例では、VR110は、VR状況検出器120を含み、VR110の特定の状況、例えばIC170に供給電圧160を提供するVR110に関連した状況を検出する。VR状況検出器120は、電圧検出器、電流検出器、熱検出器、タイマ、および信号検出器を含む検出要素の様々な組み合わせのいずれかを含むが、これらに制限されることはない。例えば、VR状況検出器120は、VR110の現状状態、VR120中の状態変化、およびVR120中の状態変化率の1またはそれ以上を種々に検出する。VR110は、VR状況検出器120に結合されたVR送信機130をさらに含み、VR110の検出された状況に関する情報150をVR110からIC170に送出する。本発明の様々な実施例では、IC170は、IC決定ユニット175を含み、送信情報150に基づいてシステム100の動作特性を決定する。以下議論されるように、システム100の動作特性は、IC170および/またはVR110の特性を含む。
図2は、本発明の実施例に従う方法を実施するためのアルゴリズム200を示す。本発明の様々な実施例では、本アルゴリズムは、供給電圧をICに提供するVRを有するシステムによって実施される。例えば、アルゴリズム200は、システム100のようなシステムによって実施されてもよい。アルゴリズム200は、供給電圧をICに提供するために形成されたVRで210から始まる。220で、VRは、供給電圧をICに提供するVRに関連するVRの状況を示す情報をICに送出する。
ここに使用されるように、供給電圧をICに提供するVRに関連するVRの状況を示す情報は、VRによる供給電圧の提供を示す情報、VRによる供給電圧の提供により生じるVRの状況を示す情報、および/または、VRによる供給電圧の提供のために必要であるVRの状況を示す情報を含む。VRから送られた情報を受け取ると、230で、ICは、VRおよびICが属するシステムの動作特性を決定する。ここに使用されるように、システムの動作特性は、システムの現状状況、つまりシステムの1またはそれ以上の要素の状態、そのような状態の変化、および/または、そのような状態の変化率を含む。さらに、動作特性は、システムの予期される将来の状況、および/または、システムの最適かあるいはそうでなければ望ましい動作状況も含む。本発明の一実施例では、システムの動作特性は、VR110および/またはIC170の動作特性を含む。
図3は、本発明の実施例を実施することができるシステム300の特定の詳細を示すブロック図である。システム300では、VR310が供給電圧380を提供するICは、中央処理装置(CPU)390である。加えて、VR310は、データ処理能力がある他の様々な集積回路のいずれにも供給電圧を提供することができる。例えば、VR310は、共通の半導体基板上に集積された一群のデータ処理回路、例えば、一群のプロセッサ・コア内にある単一のプロセッサ・コアのいくつかあるいはそのすべてに供給電圧を提供する。加えて、VR310は、VR310それ自体と同じ半導体基板に集積されるデータ処理回路に供給電圧を提供する。
CPU390が時間の経過とともに動作すると、それは、VR310から求められた電力負荷を変えることにより電力リクエストを変えることに従ってその動作を調整する。本発明の実施例では、VR310は、変化する負荷の下でCPU390に電力を不定に配送するためのハードウェアおよび/またはソフトウェア手段を含む。例えば、本発明のある実施例では、VR電圧制御器340は、マルチフェイズ・バック(降圧)レギュレータのような、1またはそれ以上のフェイズ343,344,346を含む。フェイズ343,344,346の各々は、CPU390へ供給電圧380で電力を配送することで、CPU390へVR310の総出力電流を与える。所定のどの時間においても、フェイズ343,344,346の特定の選択により、CPU390の電力リクエストを満たすために供給電圧380で電流が与えられる。しかしながら、CPU390の電力リクエストの変化は、VR310からの新しい電流出力および/または供給電圧380用の新しい電圧レベルを要求する。その結果、フェイズ343,344,346の異なる選択は、CPU390の新しい電力リクエストを満たすに際に、現在の選択よりより効率的になる。同様に、他のVR要素は、特定のタイプおよび/または範囲の電力配送に適した効率性を示す。
図1に関して議論されるように、供給電圧380をCPU390に提供するケースの場合において、VR310は、VR310が供給電圧308をCPU390に提供する結果として、所定の時間に、特定の状況を有する。本発明の様々な実施例では、VR310は、VR状況検出器320を含み、供給電圧380をCPU390に提供するVR310に関連した状況のようなVR310の特定の状況を検出する。VR状況検出器320は、電圧検出器、電流検出器、熱形検出器、タイマ、信号検出器、および処理回路類を含む検出要素の様々な組み合わせのいずれかを含むが、これらに制限されるものではない。VR310は、さらにVR状況検出器320に結合されたVR送信機330を含み、VR110からIC170にVR310の検出状況に関する情報375を送出する。本発明の様々な実施例では、CPU390は、送信情報150に基づいたシステム300の動作特性を決定するためのCPU決定ユニット394を含む。
本発明の実施例では、CPU390は、通信370をVR310へ提供し、システム300の定められた動作特性に基づいてシステム300の所望の動作状態を様々に決定し、指図し、および/または、示す。図4−図6は、本発明の実施例に従って、VR110およびIC170のような装置の様々な動作状態を描く。
図4は、本発明の実施例に従って、電力をICに提供する過程において、異なる電力状態で様々に動作するVRの遷移を示す状態ダイアグラム400を含む。状態ダイアグラム400は、例えば、VR310のようなVRによって実施される。とりわけ、状態ダイアグラム400は、規制された電圧の供給を集積回路に提供するとき、1またはそれ以上のフェイズ、つまりフェイズ343,344,346の様々な組み合わせを用いることができるVRによって実施される。VRの電力状態は、VRのフェイズの異なる組み合わせに関して今後記述されるが、異なる電力状態で動作するVRの追加のあるいは代替となる分類を含めるために、本発明が拡張されると理解される。
ここに使用されるように、与えられた電力状態で動作するVRは、供給電圧を提供する過程において、特定のモード組み合わせで動作するVR要素の特定の組み合わせに関連する。VRの特定の動作状態に言及する限りにおいて、与えられた電力状態で動作するVRは、例えばそのような動作に起因する出力電力から識別されることになっている。図面によれば、与えられた電力状態で動作するVRは、本発明の様々な実施例において、その与えられた電力状態で動作するVRと各々一致している出力電力、電圧および/または電流レベルの様々な組み合わせのいずれかを提供する。さらに、VRの動作効率は、2つの電力状態間で変わるが、出力電力、電圧および/または電流レベルの特定の組み合わせは、第1電力状態あるいは第2電力状態のいずれかで動作するVRと一致している。
状態ダイアグラム400において、VRは、VRのある最小出力容量に関連したVR電力状態0 410で動作する。一実施例では、VR電力状態0 410は、VRからの非同期電流出力を考慮に入れるVRの動作を表わし、出力電流レベルは、少なくとも時々0まで落ちることが許される。VR電力状態0 410は、例えば不連続の電流モードで動作する単一のVRフェイズを有することにより達成される。
加えてあるいはそれに代えて、VRは、VRのある中間出力容量に関連するVR電力状態1 420で動作することができる。一実施例では、VR電力状態1 420は、VRからの直流出力を考慮に入れるVRの動作を表わし、出力電流レベルは、0に落ちることはない。VR電力状態0 410は、例えば不連続の電流モードで動作する単一のVRフェイズを有することにより達成され、少なくともある最小の電流出力を提供する。
加えてあるいはそれに代えて、VRは、VRのある最大出力容量に関連するVR電力状態2 430で動作することができる。一実施例では、VR電力状態2 430は、VRからの直流出力を考慮に入れるVRの動作を表わし、VRは、あるより高い電流出力レベルでより効率的に動作する。VR電力状態2 430は、例えばVRのすべてのフェイズを電流出力に寄与させることにより達成される。
本発明の実施例では、CPU390のようなICは、第1電力状態の動作と第2電力状態との間で遷移するために、VRに命令する。図4の典型的なケースでは、ICは、ICの可能性のある最悪ケースの電流負荷(Iccmax)を検出するICに少なくとも部分的に基づいて電力状態を変更するようにVRに命令する。例えば、CPU決定ユニット394は、現在のデータ処理動作および/または現在キューに入れられているか、そうでなければペンディング状態にあるデータ処理リクエストに基づいて、Iccmaxを検出することができる。
状態ダイアグラム400の場合には、Iccmaxが、ある第1しきい値電流レベルYアンペア(Amps)あるいはそれ以下にある限り、ICは、VR電力状態0 410の動作から遷移するようにVRに命令することはしない。一実施例では、この第1しきい値電流レベルYアンペアは、2−4アンペアの範囲である。IccmaxがYアンペアより大きくなると、ICは、VR電力状態0 410での動作からVR電力状態1 420での動作へ遷移するようにVRに命令する。同様に、IccmaxがYアンペアに等しいかあるいは小さいことをICが検出すれば、ICは、VR電力状態1 420での動作からVR電力状態0 410での動作に遷移するようにVRに命令する。さらに、状態ダイアグラム400の典型的な場合では、ICは、Iccmaxが第1しきい値電流レベルYアンペアより大きくかつある第2しきい値電流レベルXアンペアに等しいかあるいは小さいことをICが検出する間、ICは、VR電力状態1 420での動作から遷移するようにVRに命令することはしない。本発明の一実施例において、この第2しきい値電流レベルXアンペアは、22−24アンペアの範囲である。IccmaxがXアンペアより大きいことをICが検出すれば、ICは、VR電力状態1 420での動作からVR電力状態2 430での動作に遷移するようにVRに命令する。同様に、Iccmaxが再びXアンペアより小さいかあるいは等しいことをICが検出すれば、ICは、VR電力状態2 430の動作からVR電力状態1 420の動作に遷移するようにVRに命令する。Iccmaxが第2しきい値電流レベルXアンペアより大きいことをICが検出する間、ICは、VR電力状態2 430の動作から遷移するようにVRに命令することはしない。
本発明の実施例では、状態ダイアグラム400による電力状態間で遷移するVRは、現状の電力状態をCPU390のようなICへ示すために情報375のような情報を伝送する。別の実施例では、VRは、CPU390のようなICにVRの状況を伝え、その結果CPU390は、VRが特定の電力状態であることを決める。CPUは、さらにシステム300の特定の動作特性がVRの示された出力状態を利用するために変更されたかどうか、および/または、どのように変更されたかを決定する。
図5は、本発明の実施例を実行する過程において、異なる熱状態で種々に動作するVRの遷移を示す状態ダイアグラム500を含む。例えば、状態ダイアグラム500は、VR310のようなVRの熱状態遷移を表わす。ここに使用されているように、VRの熱状態は、特定の熱値あるいはVRの1またはそれ以上のコンポーネントが動作する熱値の範囲(例えば、温度範囲)に関連する。VRの熱状態の決定は、VR自体によって、あるいは、例えばCPU390のようなICによって実行される。例えば、VRは、そのコンポーネントの1またはそれ以上が所定の熱状態に関連した特定の温度範囲で動作し、その熱状態をICに伝えることを決める。加えてあるいはそれに代えて、VRは、そのコンポーネントの1またはそれ以上が動作している温度を単にICに伝え、ICは、伝えられた温度に基づいてVRの熱状態を決定する。
状態ダイアグラム500は、VR熱状態0 510、VR熱状態1 520、VR熱状態2 530、およびVR熱状態3 540を含む。1またはそれ以上のVR熱状態は、それらに関連するVR動作状況のそれぞれのセットを有する。例えば、VRの特定の熱状態は、特定のパフォーマンス・レベルに関連し、その熱状態でVRに要求されているものである。図5の典型的なケースでは、VRがVR熱状態0 510にある場合、VRは、特定の高レベル電力出力(強化レベル)を満たす独立した能力を示す。対照的に、VRがVR熱状態1 520にある場合に、VRは、電力出力の強化レベルを満たすために依存あるいは適格な能力を示す。例えば、VRがVR熱状態1 520にある間、VRの冷却ファンは、VRの温度がM℃を越えて増加するのを防ぐために活動させる必要がある。さらに、VRがVR熱状態2 530にある場合、VRの電力出力は、強化されたパフォーマンス・レベル未満である基準線のパフォーマンス・レベルに制限される。最後に、VRがVR熱状態3 540にある場合、VRは、ICによって電力リクエストを押さえることを要求する。
VRの温度が第1しきい値温度L℃未満である場合に、VRは、VR熱状態0 510にあると判断する。VRの温度が第1しきい値温度L℃か、あるいはそれより低い場合、および、より高い第2しきい値温度M℃より低い場合、VRは、VR熱状態1 520にあると判断する。VRの温度が第2しきい値温度M℃か、あるいはそれより低い場合、および、より高い第3しきい値温度N℃より低い場合、VRは、VR熱状態2 530にあると判断する。最後に、VRの温度が第3しきい値温度N℃か、あるいはそれより高い場合、VRは、VRの熱状態3 540にあると判断する。本発明の実施例では、L℃、M℃、およびN℃は、それぞれ78℃から82℃、88℃から92℃、103℃から107℃の温度範囲の温度である。
VR温度の決定は、VR状況検出器320のような検出器によって行なわれる。本発明の様々な実施例では、VRの熱状態の決定は、VR状況検出器320のような検出器によって、あるいはCPU決定ユニット394のようなICの要素によって行なわれる。CPU決定ユニット394のようなICの要素によるVRの熱状態の決定は、情報375のようなVRによって提供される熱情報に基づく。
状態ダイアグラム500の場合において、特定のVR熱状態は、特定の容量を有し、電圧をICに提供するVRに関連する。VRは、IC供給電圧の提供に関連する1またはそれ以上のVRの熱値を検出する。その後、VRは、決定されたVR熱状態あるいはVR熱状態を決定するのに使用される1またはそれ以上の熱値のような検出熱値に関するIC情報を送出する。VRによって送られた情報に基づいて、ICは、ICおよびVRが動作するシステムの動作特性を決定する。例えば、ICは、VRの動作負荷、電力出力を増加させるVRの容量、VRのためのより効率的な動作モード、およびICのより効率的な動作モードの内の1またはそれ以上を(例えば、CPU決定ユニット394で)決定する。
図6は、本発明の実施例を実施するICの異なる電圧状態を示す状態ダイアグラム600を含む。例えば、状態ダイアグラム600は、CPU390のようなICによって実行される。例えば、状態ダイアグラム600は、様々な異なる電圧状態のうちの1つで動作する間に、データを種々に処理することができるCPUによって実行される。各電圧状態は、例えばCPUの動作特性の様々な組み合わせのうちのどれに関連していてもよい。例えば、CPUでの現状のあるいは所望のクロック周波数によって、そのCPUが特定の電圧状態で動作するための必要性が決まる。加えてあるいはそれに代えて、CPUのキャッシュがフラッシュされているかあるいはフラッシュされる必要があるかどうかによって、CPUが特定の電圧で動作するための必要性が決まる。キャッシュをフラッシュすることによって、キャッシュ(データ)のコンテンツの完全性がキャッシュに供給された電圧が降下した低い電力状態中でもよく維持される。加えてあるいはそれに代えて、電力消費量を制限するために、CPUがゲート制御されたクロックを使用するかどうかあるいはどのように使用するかによって、CPUが特定の電圧で動作するための必要性が決まる。本発明の実施例では、CPUは、処理サイクル中にどのレジスタがその処理サイクルに関与しなかったか決めるためにマイクロ命令を分析し、またこれらのレジスタがこのような処理サイクル中にクロックされるのを防止する。従って、処理サイクル中の非活性レジスタは、活性レジスタのレベルで電力を消費することはなく、それにより、このようなゲート制御されたクロック・レジスタを使用するあらゆるシステムの全電力使用を低下させる。
状態ダイアグラム600の典型的なケースでは、低電圧状態610と高電圧状態630と間に遷移状態620を有するCPUを示す。CPUは、特定の供給電圧を提供するようにVRに命令し、所望の電圧状態をCPUに提供する。例えば、CPUが低電圧状態610で動作している場合、それはCPUに対する現在の処理要求のような動作状況がCPUに高電圧状態に移行することを要求していることであると決定してもよい。この決定に基づいて、CPUは、低電力出口リクエストをVRに送信し、例えば、現在提供しているより高い電圧レベルでVRがCPUに供給電圧を提供しなければならないことを示す。VRは、低電力出口リクエストに応答して、供給電圧の電圧レベルの増加を開始し、結局CPUが高電圧状態630で動作することを可能にする。
VRが高電圧実行状態630を可能にする電圧レベルに供給電圧を増加させるのをCPUが待機しているとき、CPUは、高電圧遷移状態620で動作することができる。本発明の実施例では、CPUは、1またはそれ以上の動作状況に基づいて、いつ高電圧実行状態630に遷移すべきかを決定する。例えば、CPUは、CPUが高電圧遷移状態620で動作している時間長を示すレイテンシ・タイマを開始する。VRが低電圧実行状態610のための電圧レベルの提供から高電圧実行状態630のための電圧レベルの提供へ遷移する際に必要とする少なくともある最小待ち時間期間の間、CPUが高電圧遷移状態620で動作していたことを示すレイテンシ・タイマに応答して、CPUは、高電圧遷移状態620から高電圧実行状態630に遷移する。
様々な実施例において、VRが高電圧実行状態630のための電圧レベルを提供していることを示すVRからの電圧準備信号に応答して、CPUは、また、高電圧遷移状態620から高電圧実行状態630に遷移することができる。そのような指示は、例えばVRからCPUに送られるが、CPUは、VRによって提供される供給電圧が特定の電圧状態で動作するために十分であることをCPU自身のために決定する適切な手段を含んでいない。そのような実施例では、CPUの電圧状態は状態ダイアグラム600によって表わされるが、(1)ある最小待ち時間期間を追跡するレイテンシ・タイマの終了、または(2)CPUが高電圧実行状態630で動作するための電圧レベルを今提供していることのVRからの指示のいずれかがあるまで、そのCPUは、高電圧遷移状態620から高電圧実行状態630へ遷移しないであろう。一度高電圧実行状態630になると、CPUは、低電力状態への移行を要求する必要があるまで、より高い供給電圧で動作し続ける。VRが低電圧実行状態610で電圧レベルを供給している間、CPUの現状のおよび/または予期される処理負荷がCPUの電力リクエストを満たす程度に十分に低い場合、このような要求が起こるかもしれない。
本発明の様々な実施例では、電圧状態610,620,630の1またはそれ以上に加えて、あるいはそれらの代替として、CPUは、他の様々な電圧状態で動作することができる。同様に、電圧状態間で遷移するCPUのための様々な動作状況は、状態ダイアグラム600に描かれた状態に加えて、あるいはそれらの代替として、存在する。例えば、高電圧遷移状態620に関して上述したものに類似する電圧準備信号も、高電圧実行状態630から低電圧実行状態610に遷移する際にCPUを制御するために使用されてもよい。
図7は、本発明の実施例を実行するためのシステム700を示す。システム700は、VR720、IC750、マザーボード770、電源710、およびメモリ760を含む。例えば、システム700は、デスクトップ・コンピューティング・プラットフォーム、モバイル・プラットフォーム、あるいはサーバ・プラットフォームのコンポーネントを含む。メモリ760は、Sigle Data Rate Random Access Mamory(RAM)、Double Data Rate RAM、スタティックRAM、ダイナミックRA、および/または、プログラマブル読取専用メモリ(ROM)のようなデータを格納するためにあらゆるタイプのメモリを含む。VR720は、電源710から電力715を受け取り、IC750の電力リクエストに基づいて電力を規制する。マザーボード770は、信号および/または1またはそれ以上の電源710を接続する電線、VR720、IC750、およびメモリ760を含む。システム700は、状況検出器722、通信ユニット724、電圧制御器728、および決定ユニット752を含み、図3に関して議論された対応する要素に類似する。システム700は、さらに電圧制御器728による使用のために電力715を電源710から変換するための電圧変換器(例えば、AC/DCコンバータあるいはDC/DCコンバータ)を含む。
電圧を規制するための技術およびアーキテクチャがここに記述される。上記記述では、説明目的のために、多くの特定の詳細事項が本発明についての完全な理解を提供するために述べられる。しかしながら、これらの詳細事項がなくても本発明を実施できることは、当業者には明らかであろう。例えば、構造および装置は、その記述を不明瞭にしないようにするためにブロック図の形式で示される。「一実施例」あるいは「実施例」に対する本明細書中の参照は、実施例に関して述べられた特定の特徴、構造、あるいは特性が本発明の少なくとも一実施例に含まれることを意味する。本明細書中の様々な場所に現れる語句「一実施例中」は、必ずしも全てが同じ実施例を参照するものではない。
詳細な説明のいくつかの部分は、コンピュータ・メモリ内のデータ・ビットに対する動作のアルゴリズムおよび記号表記によってここに示される。これらのアルゴリズム記述および表記は、コンピューティング技術の当業者によって使用される手段であり、それらの成果の資産を最も効果的に他の当業者に伝える。アルゴリズムは、ここでは一般に所望の結果を導く首尾一貫したシーケンスのステップであると考えられる。ステップは、物理量の物理的な操作を要求するものである。通常、必ずしも必要ではないが、これらの量は、電気的あるいは磁気的信号の形態をとり、格納、転送、結合、比較、および他の操作をすることができる。これらの信号をビット、値、要素、シンボル、文字、用語、数、あるいはその他同種のものとして言及することが主に一般的に使用されているという理由から、しばしば便宜である。
しかしながら、これらおよび類似の用語の全ては、適切な物理量に関連するものであり、かつ、これらの量に適用される単に便宜的なラベルであることを心に留めるべきである。以上の記述からも明白なように、特に明記されない限り、本記述の全体にわたって「処理する」または「演算する」または「計算する」または「決定する」というような用語を用いた記述は、コンピュータ・システムのレジスタおよびメモリ内の物理(電子)量としてのデータを、コンピュータ・システムのメモリまたはレジスタまたは他の同様の情報ストレージ、送信装置または表示装置内の物理量として同様に表わす他のデータに処理および変換するための、コンピュータ・システムまたは同様の電子演算装置の動作およびプロセスに関する記述であると理解することができる。
本発明は、さらに、ここに記述された動作を行うための機器に関連する。この機器は、必要な目的のために特に構築されたものであり、あるいは、それは、コンピュータに格納されたコンピュータ・プログラムによって選択的に活動化または再構成された汎用コンピュータを含む。そのようなコンピュータ・プログラムは、フレキシブル・ディスク、光ディスク、CD−ROM、および光磁気ディスクを含むあらゆるタイプのディスク、リード・オンリ・メモリ(ROM)、ダイナミックRAM(DRAM)のようなランダム・アクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、または任意の電子命令の格納に適したあらゆるタイプの媒体(ただし、これらに限らない)のようなコンピュータ読取り可能な格納媒体に格納され、それらの各々がコンピュータ・システム・バスに結合される。
ここに示されたアルゴリズムおよびディスプレイは、特定のコンピュータまたは他の機器と本質的に関連するものではない。様々な汎用システムが、ここに記述された教示に従ったプログラムと共に使用され、あるいは、それは、必要な方法のステップを実行するためのより特化された機器を構築するために便利であることがわかる。これらの様々なシステムのために必要な構造は、以上の記述から明らかになるであろう。さらに、本発明は、特定のプログラミング言語に関して記述されたものではない。ここに記述されるような発明の教示を実施するために、様々なプログラミング言語が使用できることが理解されるであろう。
ここに記述されるものに加えて、様々な修正が、本発明の範囲から逸脱することなく、本発明について開示された実施例およびインプリメンテーションに対して行なわれるかもしれない。したがって、ここに記述された実施例および実例は、制限する意味ではなく、例示であると解釈されるべきである。本発明の範囲は、専ら以下の請求項を参照することによって判断されるべきである。