フォント用のフォント実行命令を低減させるためのコンピュータベースの方法であって、前記フォント実行命令内で識別された共通の命令セットのための関数を定義するステップと、コンピュータベースのプロセッサを使用して、前記フォント実行命令内の前記共通の命令セットを前記定義された関数に対する呼び出しで置換するステップとを含む、方法。前記フォント実行命令内の前記共通の命令セットを識別するステップを備え、前記共通の命令セットは、前記フォント実行命令内の少なくとも2つの位置で識別された1つ又は複数の共通の実行命令のセットを備える、請求項1に記載の方法。前記識別された共通の命令セットを使用して、異なるフォントについてのフォント実行命令内の共通の命令セットを識別するステップを含む、請求項2に記載の方法。前記フォント実行命令内の前記共通の命令セットを圧縮するときに、所望のファイルサイズの減少閾値を満たすかどうかを判断するステップと、前記所望のファイルサイズの減少閾値を満たす場合に、前記共通の命令セットのための前記関数を定義するステップとを備える、請求項1に記載の方法。所望のファイルサイズの減少閾値を満たすかどうかを判断するステップは、前記フォント実行命令のサイズを減少させるための性能コストを識別することを含む、請求項4に記載の方法。関数を定義するステップは、前記共通の命令セットのためのカスタム命令を定義することを含む、請求項1に記載の方法。前記フォント実行命令内の前記共通の命令セットを、前記定義されたカスタム命令で置換するステップを含む、請求項6に記載の方法。前記関数を定義するステップが、前記フォント用の制御プログラムで前記共通の命令セットを関数化することを含むことと、前記カスタム命令を定義することが、前記フォント用の前記制御プログラムで前記共通の命令セットに対する前記カスタム命令を作成することを含むことと、のうちの1つ又は複数を含む、請求項6に記載の方法。命令の置換の閾値数を満たす場合、第1の共通命令のセットを第2の共通命令のセットよりも圧縮について優先させるステップを含む、請求項1に記載の方法。第1の共通の命令セットについて第1の関数を定義するステップであって、前記第1の共通の命令セットは、前記フォント実行命令内で識別された第2の共通の命令セット内のネストされた命令セットを備えるステップと、前記第2の共通の命令セットについて第2の関数を定義するステップと、前記フォント実行命令内の前記第1の共通の命令セットを、前記定義された第1の関数に対する呼び出しで置換するステップと、前記フォント実行命令内の前記第2の共通の命令セットを、前記定義された第2の関数に対する呼び出しで置換するステップとを含む、請求項1に記載の方法。フォント用のフォント実行命令を低減させるシステムであって、当該システムについてのデータを処理するように構成されたコンピュータベースのプロセッサと、前記プロセッサに動作可能に結合され、前記フォント実行命令内の共通の命令セットを識別するように構成された、共通命令識別コンポーネントと、前記プロセッサに動作可能に結合され、前記フォント実行命令内の前記共通の命令セットを、前記識別された共通の命令セットについて定義された関数に対する呼び出しで置換するように構成された、命令置換コンポーネントとを備える、システム。前記共通の命令セットは、前記フォント実行命令内の複数の位置で識別された1つ又は複数の共通の実行命令のセットを備える、請求項11に記載のシステム。前記フォント実行命令内の前記共通の命令セットを圧縮するときに、所望のファイルサイズの減少閾値を満たすかどうかを判断するように構成された、減少決定コンポーネントを備える、請求項11に記載のシステム。前記フォントについての命令の置換の閾値数に少なくとも部分的に基づいて、前記フォント実行命令において置換用の1つ又は複数の共通命令のセットについて優先順位をつけるように構成された、共通命令優先順位付けコンポーネントを備える、請求項11に記載のシステム。前記共通の命令セットについて前記関数を定義するように構成された共通命令定義コンポーネントを備える、請求項11に記載のシステム。以下に、特許請求に係る主題を、図面を参照しながら説明する。図面では一般に、全体を通じて同様の参照番号を使用して同様の要素を示す。以下の記載では、説明の目的で、特許請求に係る主題の完全な理解を提供するために様々な具体的な詳細を説明する。しかしながら、特許請求に係る主題はこれらの具体的な詳細を用いることなく実施できることは明白である。他の例では、特許請求に係る主題の説明を容易にするために、構造及びデバイスをブロック図の形で示している。本明細書で提供されるように、例えばフォント用の1つ又は複数のテーブルに含まれるフォント命令実行を低減すること例えばまとめることによって、低減前のフォントと機能的な等価性を維持しつつ、フォントのファイルサイズを低減させる方法が考案される。例として、フォントは、命令又はヒントを備える、アセンブリ言語と類似するインタプリタ型言語に基づく操作コードを使用する。この操作コード言語は、ターゲットデバイス上にフォントをレンダリングするときに、ラスタライザによって解釈されることができる。フォントはテーブルの集合を備え、このテーブルはそれぞれフォント命令例えばグリフ命令及びグローバル命令を備える。この例において、例えばフォントテーブル内の命令の合計の量は低減される。図1は、フォント用のフォント実行命令を低減する例示的な方法100を示すフロー図である。例示的な方法100は、102において開始し、104においてフォント実行命令内の共通の命令のセットを識別することを含む。例えば共通の命令のセットは、フォント実行命令内の1つより多い位置で発見される同じパターンの命令を備えることができる。106において、共通の命令のセットに対する関数が定義される。例えばフォント実行命令に使用される言語が、フォント実行命令内で呼び出すことができる、命令のセットの関数化functionalizationを提供することができる。108において、フォント実行命令内の共通の命令のセットが、定義された関数に対する呼び出しで置換される。例えばフォント実行命令内のそれぞれの共通の命令セットの位置において、共通の命令セットを除去し、その位置に、定義された関数に対する呼び出しを挿入することができる。この方法では、例えば複数の位置にある命令のセットを関数に対する呼び出しで置換することによって、フォント実行命令を低減することができる。これを繰り返し実行することにより、他の共通の命令のセットを、定義された関数へのそれぞれの呼び出しで単に置換し、フォント実行命令をさらに低減することができることを理解されたい。図2は、本明細書で説明される1つ又は複数の技術の1つ又は複数の部分を実装することができる例示的実施形態200を示すフロー図である。202において、フォント実行命令をスキャンし、204において、共通の命令のセットのうちの1つ又は複数を識別することができる。一実施形態において、1つの共通の命令のセットは、フォント実行命令内の少なくとも2つの位置で識別される、1つ又は複数の共通フォント実行命令例えば共通グリフ実行命令のセットを備えることができる。例として、1つより多くの位置で見つかる命令について、事前プログラムprepテーブルをスキャンすることができる。この場合、命令のセットは、ターゲットデバイス上でフォントを実行するのに使用されるコードの1つ又は複数のラインを備える。例示として、図3は、フォント実行命令の例示的な実施形態300を示す図である。この例300において、フォント実行命令は、特に3つのグリフ302、304、306のグリフ命令の部分を備える。さらに、グリフ18302は、命令のセット308を備え、この命令セットは、グリフ167304の310と、グリフ520306の312においても見つかる。同じ命令セット308、310及び312は、フォント実行命令についての共通の命令セットを備える。グリフ302、304、306に対するそれぞれのフォント実行命令は、それぞれ308、310、312より多くのセットを備えることを認識されたい。すなわち、簡潔性及び説明等の目的で、グリフ302、304、306に対して共通又は重複するセット308、310、312のみが図示されている例えば、グリフ203、304、306に対するそれぞれのフォント実行命令の追加の部分は図示されていない。図2に戻ると、206において、1つ又は複数の共通の命令セットの圧縮例えば共通の命令セットを関数で置換することの結果を評価して、この圧縮により、圧縮を実行するのに過度にコンピュータリソースの使用を課すことなく、フォントファイルサイズにおける所望の改善が得られたかどうかどうかを判断することができる。一実施形態において、圧縮の評価は、フォント実行命令内の共通の命令セットを圧縮するときに、所望のファイルサイズの閾値を満たすか判断することを含むことができる。208において、所望のファイルサイズの減少があるかどうか例えば減少閾値を満たすかどうかの判断は、例えばフォントの実行命令を減少させることによって、ファイルサイズの実質的な減少netreductionがあるかどうかを判断することを含む。減少閾値を満たさない場合例えば実質的な減少がない場合208においていいえの場合、212において、フォント実行命令に対する圧縮は実行されない。減少閾値を満たす場合208においてはいの場合、210において、圧縮を実行するためのコンピューティングリソースコストが決定される。一実施形態において、所望のファイルサイズの減少閾値を満たすかどうかの判断は、フォント実行命令のサイズを減少させるための性能コストを識別することを含むことができる。この実施形態において、性能コスト例えばプロセッサ使用、電力消費、時間及び/又は実際のコスト等のようなコンピューティングリソースコストを、所望の性能コスト閾値例えば圧縮の改善が性能コストに勝る場合などに対して比較することができる。性能オーバヘッドコストが所望の閾値を満たさない場合210においていいえの場合、212において圧縮は実行されない。性能オーバヘッドコストが所望の閾値を満たす場合210においてはいの場合、214において、1つ又は複数の共通の命令セットの圧縮を実行することができる。例えば、フォント実行命令内の共通の命令セットの1つ又は複数を所望の関数によって置換し、フォント実行命令のサイズを減少させることができる。一態様において、フォントは、オペレーションスタックから値を除去することなど、1つ又は複数の関数を定義する1つ又は複数のオペレーションを備える命令セットを備えるか、むしろこの命令セットによって構成されることがある。例として、TrueTypeフォントは、少なくとも2つのタイプの関数、すなわち関数定義FDEF:functiondefinitionと命令定義IDEF:instructiondefinitionを提供する。この例において、このFDEFは標準の関数定義であり、FDEFにより関数ブロックの開始部分において指示される。一方、IDEFはカスタム命令定義であり、IDEFによりカスタム命令ブロックの開始部分において指示される。さらに、これらのタイプの関数は双方ともENDFで終了する。説明される例として、呼び出されるとき、FDEFはオペレーションスタックから、一意の関数番号として使用される値を除去し、IDEFはそのスタックから、カスタム命令として使用される値を除去する。加えて、この例において、標準の関数は、スタックからの関数番号をとるCALL命令を使用して呼び出され、カスタム命令は、単にこれらの定義された操作コードを使用して実行される。図4は、本明細書で説明される1つ又は複数の技術の1つ又は複数の部分を実施することができる例示的な実施形態400を示すフロー図である。402において、共通の命令セット450の数が、フォント実行命令の置換閾値よりも大きいかどうかを判断する。例えば何らかのフォントタイプ例えばTrueTypeフォントは、限られた数の置換関数を提供する。例として、TrueTypeフォントは典型的に、フォントについて限られた数のカスタム関数IDEFを提供する。この例において、置換に使用するための利用可能なカスタム関数より多くの共通の命令セットが存在する場合、置換閾値を超える。一実施形態において、カスタム命令IDEFに対する呼び出しは、コンピュータオーバヘッドが少なく、標準関数例えばEDEFに対する呼び出しよりも多くの命令が圧縮されることになるので、標準関数を使用する前に、カスタム関数を共通の命令セットの置換に使用することができる。例として、IDEFは、1つの命令のみを実行すること例えば、カスタム命令12を実行することを備え、一方、EDEFは2つの命令を実行すること例えば、12をスタックにプッシュし、トップスタックエントリによって識別される関数にジャンプすることを備える。したがって、この実施形態では、カスタム関数は、例えばカスタム関数に対する置換閾値を満たすまで標準関数よりも優先され、次いで標準関数を、例えば残りの全ての共通の命令セットに使用することができる。一実施形態において、カスタム命令の使用は、共通の命令セットに対して無効にされることがある。例えばフォントのプログラマ/プロバイダは、カスタム命令例えばIDEFを他の目的で使用することができる。例として、IDEFはしばしば、フォントの将来のバージョン又は更新など、将来の命令に対するパッチとして使用される。この実施形態において、例えばカスタム命令の使用を無効にすることにより、フォントプログラムとの潜在的な衝突及び/又は問題を軽減することができる。一実施形態において、標準関数例えばFDEFの使用を無効にして、例えばカスタム命令のみを共通の命令セットに使用することができる。図4の404において、共通の命令セットに対して置換の優先順位をつける。一実施形態において、第1の共通の命令セットを、例えば共通の命令セット450の閾値数が満たされる場合402においてはいの場合、圧縮について第2の共通の命令セットよりも優先させることができる、一実施形態において、優先順位付けは、フォント実行命令内において第1の共通の命令セットが、第2の共通の命令セットがフォント実行命令内で見つかるよりも多くの位置で見つかる場合、第1の共通の命令セットを第2の共通の命令セットよりも優先させることを含むことができる。一実施形態において、優先順位付けは、より多くの数のフォント実行命令を有する第1の共通の命令セットを、より少ないフォント実行命令を有する第2の共通の命令セットよりも優先させることを含むことができる。406において、共通の命令セットについて、例えばそれぞれの識別された共通の命令セットについて関数を作成することができる。説明上の例として、図5は、本明細書で説明される1つ又は複数の技術の1つ又は複数の部分を実施することができる例示的な実施形態500を示す図である。共通の命令セット502は、フォントプログラム内の1つより多くの位置において識別された、あるいは複数のグリフに対する個々の実行命令例えば図3のグリフ302、304、306に対する命令において識別されたフォント実行命令を備える。さらに、この例示的な実施形態500では、共通の命令セット502について関数504を作成することができる。この例において、作成された関数504は、識別された共通の命令セット502からのフォント実行命令516を備える。図4に戻ると、408において、関数を定義することは、フォント内の共通の命令セット、又はフォントに対する事前プログラムを関数化することを備えることができる。作成される関数は、fpgmテーブルなどのフォント制御プログラムで定義される。例えば関数を、フォントプログラムfpgmテーブル、及び/又はフォントに対する事前プログラムprepで定義する例えば関数化することができる。さらに、一実施形態において、定義された関数は、フォントプログラムにおける1つの位置のみにおいて関数化することができ、これにより例えば、共通の命令セットの関数を圧縮することができる。一実施形態において、共通の命令セットについて関数を定義することは、フォントプログラムのフォントテーブルにおいて、共通の命令セットを備える関数を作成することを備えることができる。一実施形態において、関数を定義することは、共通の命令セットに対するカスタム命令を定義することを含むことができる。上述のように、カスタム関数は、カスタム命令定義関数を備え、この関数は、フォント用の制御プログラム例えばfpgm及び/又は事前プログラムによって定義される。例として、カスタム命令定義関数は、フォントの将来のバージョンのための機能を追加するなど、フォントをカスタマイズするためのフォントプラットフォームに提供されることがある。この例において、未定義の操作コード例えば共通の命令セットを使用して、フォントプログラムテーブルなどにおいてカスタム命令定義関数例えばIDEFを定義することができる。例示的な実施形態400では、410において、定義された関数に対する呼び出しを、フォント実行命令に挿入することができる。例えば、フォント実行関数内で共通の命令セットが識別される個々の位置において、共通の命令セットを、フォントプログラムファイルで定義された関数に対する呼び出しで置換することができる。一実施形態において、フォント実行命令内の共通の命令セットを、定義されたカスタム関数と置換することができる。さらに、それぞれの定義された関数又は定義されたカスタム命令が、例えばフォント実行命令内で識別された、対応する共通の命令セットに取って代わることがあり、それによりフォント実行命令のサイズを減少させることができる。説明上の例として、図5において、圧縮されたフォント実行命令506は、フォントのグリフ508、510、512に対するそれぞれの実行命令を備え、共通の命令セット502が、定義された関数504に対する呼び出し514と置換されている。さらに、図3の300の圧縮されていないフォント実行命令と比較すると、実行命令の行は、25行図3の300から、例えば定義済み関数例えばフォントプログラムテーブルを含め19行図5の504と506に減少している。一実施形態において、例えば圧縮比率は、共通の命令セットが更なる例えば3つより多い位置で見つかるときに劇的に増加し、及び/又は、例えばより多くの量例えば操作コードの行の実行命令を備える共通の命令セットについて劇的に増加する。一態様において、共通の命令セットの識別情報を、1つより多くのフォントを圧縮するのに使用することができる。一実施形態において、この態様では、識別された共通の命令セットを使用して、異なるフォントについてのフォント実行命令内の共通の命令セットを識別することができる。例えば共通の命令セットの識別は、総当たりの文字検索を備えることがあり、この場合、それぞれの文字及び/又は文字のセットを選択して、フォント実行命令内の文字と比較することができる。しかしながら、この実施形態では、1つ又は複数のフォント実行命令において識別されるような、それぞれの共通の命令セットが、他のフォント内で同じセットを識別しようと試みるための基本の検索基準として使用される。例えば図5の共通の命令セット502を、第1のフォントで識別して、第2のフォントのフォント実行命令と照合する検索基準として使用することができる。この方法では、例えばフォントについての共通の命令セットを識別する時間及び/又は計算上のリソースコストを、公知の共通の命令セットで開始することによって減少させることができる。さらに、この態様における一実施形態では、共通の命令セットについて定義された関数を、1つより多いフォントに使用することができる。この実施形態では、関数例えば標準及び/又はカスタム関数を、1つより多いフォントに使用されるフォント制御プログラムにおいて関数化することができる。例えば共通のテーブルがフォント制御プログラムによって使用されることがあり、この場合、共通のテーブルは、対応する共通の命令セットのための1つ又は複数の定義された関数を備える。この方法では、例えば、それぞれのフォントについて定義された関数の量を減少させることによって、フォント実行命令をさらに圧縮することができる。一態様において、共通の命令セットを、別の共通命令セット内にネストすることができる。一実施形態において、この態様では、第1の共通命令セットについて第1の関数を例えばフォントプログラムテーブルでを定義することができ、この場合、第1の共通命令セットが、フォントについてのフォント実行命令内の第2の共通命令セットの内部にネストされる。さらに、第2の共通命令セットに対して第2の関数を定義することができる。一実施形態において、第1の共通命令セットを、定義された第1の関数に対する呼び出しで置換することができ、及び/又は第2の共通命令セットを、定義された第2の関数に対する呼び出しで置換することができる。例として、第2のネストされた共通命令セットを、第2の定義された関数に対する第2の呼び出しで置換することができる。さらに、この例では、第1の共通命令セットここでは、第2の定義された関数に対する呼び出しを備えるを、第1の関数として定義することができる。加えて、第1の共通命令セットを、第1の関数例えば第2の定義された関数に対する呼び出しさらに備えるに対する呼び出しで置換することができる。この方法では、例えば、定義された関数内の命令の量を減少させることによって、フォント実行命令をさらに圧縮することができる。例えば1つ又は複数のフォントファイルを備えるフォント実行プログラムのサイズを減少させるためのシステムも考案される。フォント実行プログラムは、設計者の所望の出力に応じたディスプレイ上へのグリフのレンダリングを提供するプログラミングコード及びプログラミングテーブルを備えることができる。他のタイプのプログラミングコードと同様に、フォント実行命令のそれぞれの行が、フォントをどのようにレンダリングするかに関する命令を備えることができる。例えば、プログラムの幾つかのエリアにおいて共通し得る同じフォント実行命令の部分を、共通の実行命令について定義された関数への呼び出しで置換することによって、フォント実行命令の数を減少させることができる。図6は、フォントについての実行命令を減少させるための例示的なシステム600を示すコンポーネント図である。コンピュータベースのプロセッサ602は、システムのデータを処理するように構成され、共通命令識別コンポーネント604に動作可能に結合される。共通命令識別コンポーネント604は、フォント実行命令650内の共通の命令セットを識別するように構成される。例えばフォント実行命令650は、フォントをどのようにレンダリングするかに関する例えばラスタライザによって解釈されるプログラミングコードなどの命令を備えることができる。さらに、フォント実行命令650は、1つより多い位置に、例えば共通の命令セットを含む、同じ命令セットを備えることがある。この例において、共通命令識別コンポーネント604は、フォント実行命令をスキャンして、共通命令の1つ又は複数のセットを識別することができる。例示的システム600において、命令置換コンポーネント606は、プロセッサに動作可能に結合され、フォント実行命令内の識別された共通命令セットを、識別された共通命令セットについて定義された関数に対する呼び出しで置換するように構成される。例えば、1つ又は複数の識別された共通の命令セットについて、それぞれの関数を定義することができ、命令置換コンポーネント606は、フォント実行命令を通じてそれぞれの共通命令セットを除去し、対応する定義された関数に対する呼び出しでこれらを置換することによって、圧縮されたフォント実行命令652を作成することができる。この方法によると、例えば、関数呼び出しは、典型的に共通命令セットを置換するのに使用される対応する共通の命令セットよりもかなり小さいので、フォントの実行命令に対して使用されるコードの複数の行が減少される。図7は、本明細書で説明される1つ又は複数のシステムを実装することができる例示的な実施形態700を図示するコンポーネント図である。この例700では、図6の拡張機能を提供しており、図6について記述した要素、コンポーネント等の説明は、簡略化のために繰り返さない。一実施形態において、共通命令識別コンポーネント604によってフォント実行命令750内で識別された共通命令セット754は、フォント実行命令内の複数の位置で識別される1つ又は複数の共通のフォント実行命令例えば共通のグリフ実行命令のセットを備えることができる。例示の実施形態700において、減少決定コンポーネント712は、フォント実行命令750内の共通の命令セット754を圧縮するとき、所望のファイルサイズの減少閾値が満たされるかどうかを判断するように構成される。一実施形態において、命令置換コンポーネント606は、所望のファイルサイズ減少閾値が満たされる場合にのみ共通の命令セット754を置換するように構成される。例えば減少決定コンポーネント712は、フォント実行命令内の1つ又は複数の共通命令セットを、対応する関数の呼び出しで置換することにより、所望の閾値量までフォントファイルが低減されると決定する場合、命令置換コンポーネントは、置換を実行することができ、そうでない場合、例えば圧縮例えば呼び出しによる置換は起こらない。例示の実施形態700において、共通命令優先順位付けコンポーネント714は、フォントのついての命令置換の閾値数に少なくとも部分的に基づいて、フォント実行命令750内の置換について、1つ又は複数の命令セット754に対する優先順位をつけるように構成される。例えばフォントタイプが、フォント実行命令内の命令を置換するのに使用することができる関数の数を制限することがある。この例では、共通命令優先順位付けコンポーネント714を、共通の命令セットを関数化して、共通の命令セットがフォント実行命令内に現れる回数及び/又は共通命令セットの長さに基づいて、フォント実行命令内で置換することができる。例えば、他の共通命令セット内により頻繁に現れるか、又はより長い共通の命令セットは、一般に、より大きな圧縮につながる。例示の実施形態700において、共通命令定義コンポーネント710は、共通の命令セット754に対する関数を定義するように構成される。一実施形態において、定義された関数は、標準の関数例えばTrueTypeフォントに対するFDEF関数及び/又はカスタム命令関数例えばTrueTypeフォントに対するIDEF関数を備えることができる。例えば、共通命令定義コンポーネント710は、識別された共通命令セットのための関数を作成し、該関数をフォント実行命令例えば、フォントプログラムfpgmテーブルで定義することができる。この例において、1つ又は複数の定義された関数を使用して、対応する共通命令セットを置換することができ、その結果、圧縮されたフォント実行命令752を得ることができる。さらに別の実施形態は、本明細書で提示される技術の1つ又は複数を実装するように構成されたプログラム実行可能命令を備えるコンピュータ読取可能媒体に関する。これらの方法で導出される例示的なコンピュータ読取可能媒体が図8に図示されている。図8において、実装800は、コンピュータ読取可能媒体808例えばCD-R、DVD-R、又は円盤状のハードディスクドライブを備え、このコンピュータ読取可能媒体808上にコンピュータ読取可能データ806がエンコードされる。このコンピュータ読取可能データ806は、本明細書で説明される原理の1つ又は複数の従って動作するように構成された1組のコンピュータ命令804を備える。そのような一実施形態802において、プロセッサ実行可能命令804は、例えば図1の例示的な方法100の少なくとも一部などの方法を実行するように構成される。そのような別の実施形態において、プロセッサ実行可能命令804は、例えば図6の例示的なシステム600の少なくとも一部などのシステムを実装するように構成される。本明細書で提示される技術に従って動作するように構成される、多くのこのようなコンピュータ読取可能媒体が当業者によって考案されるであろう。特許請求に係る主題を、構造的特徴及び/又は方法的動作に特有の言語で説明してきたが、特許請求の範囲によって定義される本発明の主題は、必ずしも上述の具体的な特徴及び動作に限定されない。むしろ、上述の具体的な特徴及び動作は、特許請求の範囲を実装する際の例示形式として開示されている。本出願において使用されるとき、コンポーネント、モジュール、システム、インタフェース等という用語は、一般に、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア又は実行中のソフトウェアのいずれかのコンピュータ関連のエンティティを指すように意図される。例えばコンポーネントは、これらに限られないが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、及び/又はコンピュータなどとすることができる。例として、コントローラ上で実行中のアプリケーションと、コントローラとの双方をコンポーネントとすることができる。1つ又は複数のコンポーネントが、1つのプロセス内及び又は実行スレッド内に存在してもよく、1つのコンポーネントを、1つのコンピュータにローカルに配置してもよく、及び/又は2つ若しくはそれ以上のコンピュータ間で分散させてもよい。さらに、特許請求に係る主題を、ソフトウェア、ファームウェア、ハードウェア、又はこれらの任意の組み合わせを生成して、特許請求される主題を実装するようにコンピュータを制御する、標準のプログラミング及び/又はエンジニアリング技術を使用して方法、装置又は製品として実装することができる。本明細書で使用されるとき製品という用語は、任意のコンピュータ読取可能デバイス、担体又は媒体からアクセス可能なコンピュータプログラムを含むように意図される。当然、当業者には、特許請求に係る主題の範囲又は精神から逸脱することなく、多くの修正をこのような構成に対して行うことができることが認識されよう。図9及び以下の記述は、本明細書で説明された条件の1つ又は複数の実施形態を実装するのに適切なコンピューティング環境の簡潔で一般的な説明である。図9の動作環境は、適切な動作環境の単なる一例に過ぎず、動作環境の使用又は機能の範囲に関していかなる限定をも示唆するようにも意図されていない。例示的なコンピューティングデバイスの例には、限定ではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド若しくはラップトップデバイス、モバイルデバイスモバイルフォン、パーソナルデジタルアシスタンスPDA、メディアプレイヤ等、マルチプロセッサシステム、家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ、及び上記のシステム若しくはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。必須ではないが、諸実施形態は、1つ又は複数のコンピューティングデバイスによって実行されるコンピュータ読取可能命令の一般的なコンテキストで説明される。コンピュータ読取可能命令は、コンピュータ読取可能媒体下述により分散させることができる。コンピュータ読取可能命令を、関数、オブジェクト、アプリケーションプログラミングインタフェースAPI及びデータ構造など、特定のタスクを実行し、特定の抽象データ型を実装するプログラムモジュールとして実装することができる。典型的に、コンピュータ読取可能命令の機能を、様々な環境における要求に応じて組み合わせることができ、又は分散させることができる。図9は、システム900の例を図示しており、システム900は、本明細書で提供される1つ又は複数の実施形態を実装するように構成されたコンピューティングデバイス912を備える。一構成において、コンピューティングデバイス912は、少なくとも1つの処理ユニット916とメモリ918とを含む。コンピューティングデバイスの正確な構成及びタイプに応じて、メモリ918は、揮発性例えばRAMなど、非揮発性例えばROM、フラッシュメモリなど、又はこれらの2つの任意の組み合わせとすることができる。この構成は、図9では破線914によって図示されている。他の実施形態において、デバイス912は、追加の特徴及び/又は機能を含むことができる。例えば、デバイス912は、限定ではないが磁気記憶装置及び光記憶装置等を含め、追加の記憶装置例えば取外し可能及び/又は取外し不可能を含むこともできる。このような追加の記憶装置は、図9では記憶装置920によって図示されている。一実施形態において、本明細書で提供される1つ又は複数の実施形態を実装するコンピュータ読取可能命令は、記憶装置920内にあってよい。記憶装置920は、オペレーティングシステム及びアプリケーションプログラム等を実装する他のコンピュータ読取可能命令を記憶してもよい。コンピュータ読取可能命令を、例えば処理ユニット916による実行のためにメモリ918にロードすることができる。本明細書で使用されるときコンピュータ読取可能媒体という用語は、コンピュータ記憶媒体を含む。コンピュータ記憶媒体は、コンピュータ読取可能命令又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び非揮発性、取外し可能及び取外し不可能な媒体を含む。メモリ918及び記憶装置920は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、限定ではないが、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスクDVD若しくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は所望の情報を格納するのに使用することができ、デバイス912によってアクセス可能な任意の他の媒体が含まれる。いずれかのそのようなコンピュータ記憶媒体を、デバイス912の一部とすることができる。デバイス912は、該デバイス912が他のデバイスと通信できるようにする通信接続926も含むことができる。通信接続926には、限定ではないが、モデム、ネットワークインタフェースカードNIC、内蔵型ネットワークインタフェース、無線送受信機、赤外線ポート、USB接続、又はコンピューティングデバイス912を他のコンピューティングデバイスに接続するための他のインタフェースが含まれる。通信接続926は、有線接続又は無線接続を含むことができる。通信接続926は、通信媒体を送信及び/又は受信することができる。コンピュータ読取可能媒体という用語は、通信媒体を含むことがある。通信媒体は、典型的に、コンピュータ読取可能命令又は他のデータを、搬送波又は他の伝送機構など、変調データ信号に具現化し、任意の情報伝達媒体を含む。変調データ信号という用語は、情報を信号にエンコードするような手法により設定又は変更される特性の1つ又は複数を有する信号を含む。デバイス912は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス及び/又は他の入力デバイスなどの入力デバイス924を含むことができる。1つ又は複数のディスプレイ、スピーカ、プリンタ及び/又は任意の他の出力デバイスなどの出力デバイス922もデバイス912に含まれる。入力デバイス924及び出力デバイス922を、有線接続、無線接続又はこれらの任意の組み合わせを介してデバイス912に接続することができる。一実施形態において、別のコンピューティングデバイスの入力デバイス又は出力デバイスを、コンピューティングデバイス912の入力デバイス9124又は出力デバイス922として使用してもよい。コンピューティングデバイス912のコンポーネントを、バスなどの様々な相互接続によって接続することができる。そのような相互接続は、PCIエクスプレスなどのPCI、ユニバーサルシリアルバスUSB、ファイアワイヤIEEE1394、光バス構造などを含むことができる。別の実施形態では、コンピューティングデバイス912のコンポーネントを、ネットワークによって相互接続することができる。例えば、メモリ918を、ネットワークによって相互接続された異なる物理的な位置に配置された複数の物理的なメモリユニットで構成することができる。当業者により、コンピュータ読取可能命令を格納するのに使用される記憶デバイスをネットワークにわたって分散させることが実現されるであろう。例えば、ネットワーク928を介してアクセス可能なコンピューティングデバイス930は、本明細書で提供される1つ又は複数の実施形態を実装するコンピュータ読取可能命令を格納することができる。コンピューティングデバイス912は、コンピューティングデバイス930にアクセスして、コンピュータ読取可能命令の一部又は全てを実行用にダウンロードすることができる。あるいは、コンピューティングデバイス912は、コンピュータ読取可能命令の一部を必要に応じてダウンロードしてもよく、一部の命令をコンピューティングデバイス912において実行して他の命令をコンピューティングデバイス930で実行してもよい。諸実施形態の様々なオペレーションを本明細書で提供した。一実施形態において、説明されたオペレーションの1つ又は複数が、1つ又は複数のコンピュータ読取可能媒体上に格納されるコンピュータ読取可能命令を構成することができ、そのようなコンピュータ読取可能命令は、コンピューティングデバイスによって実行されると、該コンピューティングデバイスに上述のようなオペレーションを実行させる。これらのオペレーションの一部又は全ての順序は、これらの動作が必ずその順序に従うことを暗示するように解釈されるべきではない。代替的な順序が、本説明の利益を享受した当業者によって認識されよう。さらに、本明細書で説明される各実施形態において必ずしも全てのオペレーションが提示される必要はない。さらに、本明細書において例示という言葉は、例、実施例等として機能することを意味する。本明細書で例示として説明される任意の態様又は設計は、必ずしも他の態様又は設計に対して有利なものとして解釈されるべきではない。むしろ、例示という言葉は、概念を具体的なやり方で提示することが意図されている。本明細書で使用されるとき、又は若しくは、あるいはという用語は、排他的な又はではなく、包括的な又はを意味するように意図されている。すなわち、特段に指定されていない限り、又はコンテキストから明らかでない限り、XはA又はBを用いるという用例は、自然な包括的順列のいずれかを意味するように意図される。すなわち、XがAを用いる場合、XがBを用いる場合、XがAとBの双方を用いる場合、これらの例のいずれかの下においてXがA又はBを用いるという用例は満たされる。さらに、A及びBの少なくとも1つ等という用例は、A又はBを意味することもあり、AとBの双方を意味することもある。さらに、本明細書及び添付の特許請求の範囲で使用されるとき1つ又は或るという冠詞は、単数を指示するような特段の指定がないか、あるいはコンテキストから明らかでない限り、一般に1つ又は複数を意味するように解釈してもよい。また、本開示は1つ又は複数の実施形態に関して示され、説明されているが、この発明の詳細な説明及び添付の図面を読み、理解することに基づいて、当業者は等価な変更及び修正を行うことができるであろう。本開示は、全てのそのような修正及び変更を含んでおり、添付の特許請求の範囲によってのみ限定される。特に、上述のコンポーネント例えば要素、リソース等によって実行される様々な機能に関して、これらのコンポーネントを説明するのに使用される用語は、特段の指示がない限り、本開示の図示された例示的な実装における機能を実行する開示された構造に構造的に等価でないとしても、説明されたコンポーネントの指定された機能を実行する任意の例えば機能的に等価なコンポーネントに対応するように意図される。さらに、本開示の特定の特徴は、いくつかの実装の1つのみに関して説明されているが、そのような特徴を、任意の所与の又は特定の適用において望まれるか又は有利な、他の実装の1つ又は複数の他の特徴を組み合わせてもよい、さらに、発明の詳細な説明又は特許請求の範囲において使用される含む、有する、とともにという用語又はこれらの用語の変形の範囲に関して、これらの用語は、備えるという用語と同様に、包括的であるように意図されている。