プロセッサによって実行される実行可能な命令を記憶するコンピュータ可読媒体を有するコンピュータで実施される視覚化システムであって、ユーザエクスペリエンスに関連するコンポーネントおよびデータのためのコンポーネント定義およびデータ定義を含むストア定義のストアと、ストア定義に基づいて出力コンポーネントのインスタンスを自動的かつ宣言的に構成する構成エンジンであって、前記出力コンポーネントは視覚化ホストのユーザエクスペリエンスに特有である構成エンジンとを備えることを特徴とするシステム。前記出力コンポーネントはベースコンポーネント、コンテナコンポーネント、またはベースコンポーネントおよびコンテナコンポーネントの組合せを含むことを特徴とする請求項1に記載のシステム。前記出力コンポーネントは、前記ユーザエクスペリエンスのターゲットデータタイプに基づいて構成されることを特徴とする請求項1に記載のシステム。コンポーネントが前記ターゲットデータタイプに基づいてそれを介して検索されるコンポーネントレジストリをさらに備えることを特徴とする請求項3に記載のシステム。前記出力コンポーネントは、データコンテキストに基づいて構成されることを特徴とする請求項1に記載のシステム。前記出力コンポーネントは、関連するコンポーネント特性をデータコンテキスト要素にバインドして子コンポーネントをリンクすることを特徴とする請求項1に記載のシステム。前記構成エンジンは、関連のないデータコンテキストにおける出力コンポーネント間のデータ交換を可能にするグローバル変数を含むことを特徴とする請求項1に記載のシステム。前記構成エンジンは、選択されたコンポーネント定義によって構成されるパーソナライズドオーバライドを利用してグローバル変数をプライベート変数でオーバライドすることを特徴とする請求項1に記載のシステム。プロセッサおよびメモリを介して実行可能なコンピュータで実施される視覚化方法であって、実行環境において利用されるべきコンポーネントを求める要求を受信するステップと、前記コンポーネントに関連するコンポーネント定義を検索するステップと、見つけられたコンポーネント定義のための1つまたは複数のデータ定義を選択するステップと、前記コンポーネント定義で前記1つまたは複数のデータ定義を自動的に構成して環境実行時に前記実行環境において前記コンポーネントを出力するステップとを含むことを特徴とする方法。前記コンポーネント定義が見つからないときは前記要求されたコンポーネントのデータタイプに基づいて前記コンポーネント定義を検索するステップをさらに含むことを特徴とする請求項9に記載の方法。前記要求されたコンポーネントの欠如に基づいてカスタムコンポーネントを作成するステップをさらに含むことを特徴とする請求項9に記載の方法。グローバル変数を前記コンポーネントに適用して関連のないデータコンテキスト間のデータ交換を可能にするステップをさらに含むことを特徴とする請求項9に記載の方法。グローバル変数をプライベート変数でオーバライドして前記プライベート変数を前記コンポーネントの子コンポーネントに課すステップをさらに含むことを特徴とする請求項9に記載の方法。前記要求されたコンポーネントが見つからないときはコンテナコンポーネントを作成するステップと、前記コンテナコンポーネントにベースコンポーネント関連データタイプ特性をロードするステップと、前記コンポーネントとして前記コンテナコンポーネントを出力するステップとをさらに含むことを特徴とする請求項9に記載の方法。特性の子コンポーネントへのバインディングおよび前記特性のデータコンポーネントへのバインディングを含む親コンポーネントを構成するステップをさらに含むことを特徴とする請求項9に記載の方法。開示されたアーキテクチャは、プレゼンテーション構成エンジンである。構成エンジンは、ユーザが様々なコンポーネントを相互に接合する構成することができるようにするサービスのセットとして示される汎用構成フレームワーク、およびコンポーネント1つまたは複数の構成エンジンの出力構成である。構成によって、ユーザは、部分、相互作用、および相互作用と部分との間の制約、ならびに相互に関する部分の配置を選択することができる。エンジンは、UIユーザインターフェースおよび非UIコンポーネントの両方のためのプレゼンテーションニュートラルフレームワークである。コンポーネントは、構成エンジンのためのUI宣言の最小再利用可能構築ブロックであり、名称によって識別可能であり、任意選択でデータタイプに向けられる。コンポーネントは、ベースコンポーネントユニットコンポーネントでも、またはコンテナコンポーネント合成コンポーネントでもよい。データコンテキストは、コンポーネントのためのターゲットデータのインスタンスである。言い換えれば、データコンテキストは、コンポーネントに関連するデータを表す名称/値のペアセットである。データコンテキストは、サポート変更通知を入力し、構成は、変更を開始する、および/または他の構成によって開始された変更をリスンすることができる。構成エンジンは、プラットフォーム非依存であるユーザエクスペリエンスとしての特定のホストのためのコンポーネントをアセンブルする。視覚化ホストは、特定のプラットフォーム実行時のための構成の実行環境である。構成は、データクラスおよびプレゼンテーションタイプの両方に向けられ、予め定義されていてもよく、または生成されてもよい。複数のコンポーネントが構成されてもよいが、コンポーネントチェーンは、具体的なベースコンポーネント例えば、TextBoxコントロール、データベースクエリコンポーネントなどにおいて終わる。構成エンジンは、データコントラクトに基づいてマルチプラットフォームUXユーザエクスペリエンスの動的生成を可能にする。UXは、特定のデータクラスに向けられるコンポーネントから動的に構成される。実行時に、プラットフォーム依存コンポーネントの実装は、構成ホストの実行プラットフォームに基づいてエンジンによって自動的に選択される。次に、全体にわたって同様の参照符号は同様の要素を示すために使用される図面が参照される。以下の説明では、説明の目的で多数の特定の詳細がそれらの徹底的な理解を提供するために記述される。しかし、新規の実施形態はこれらの特定の詳細なしで実行されることが可能であることが明らかであろう。他の場合には、よく知られている構造およびデバイスがそれらの説明を容易にするためにブロック図の形で示され。この意図は、本特許請求の主題の趣旨および範囲の範囲内に入るすべての変更形態、同等形態、および代替形態をカバーすることである。図1は、開示されたアーキテクチャによる視覚化システム100を例示する。システム100は、ユーザエクスペリエンスに関連するコンポーネントおよびデータのためのコンポーネント定義104およびデータ定義106を含むストア定義のストア102を含む。コンポーネント定義104は、ベースコンポーネント、コンテナコンポーネント、ならびにベースコンポーネントおよびコンテナコンポーネントの構成のための定義を含んでよい。このようにして、コンポーネントの既存の構成は、動的選択および出力コンポーネント110への構成のために容易に利用可能である。構成エンジン108はストア定義に基づいて出力コンポーネント110のインスタンスを自動的かつ宣言的に構成する。出力コンポーネントは、様々なホスト112の視覚化ホストのユーザエクスペリエンスに特有である。出力コンポーネント110は、ベースコンポーネント、コンテナコンポーネント、またはベースコンポーネントおよびコンテナコンポーネントの組合せを含む。出力コンポーネント110は、ユーザエクスペリエンスのターゲットデータタイプに基づいて構成される。システム100は、コンポーネントがターゲットデータタイプに基づいてそれを介して検索されるコンポーネントレジストリをさらに備えてよい。出力コンポーネントは、関連コンポーネント特性をデータコンテキスト要素にバインドして子コンポーネントをリンクする。構成エンジン108は、関連のないデータコンテキストにおける出力コンポーネント間のデータ交換を可能にするグローバル変数を含む。図2は、開示されたアーキテクチャによる代替可視化システム200を例示する。システム200は、図1のシステム100のエンティティ、ならびにデータコンテキスト202、個人化プライベートオーバライド204、およびコンポーネントの実装206を含む。出力コンポーネント110は、既存のコンポーネント定義ではなくデータコンテキスト202に基づいて構成されてよい。すなわち、データに基づいて、カスタマイズされたコンポーネントが作成され、純粋にコンテキストデータ202ターゲットUX内のデータのインスタンスに基づいて出力されてよい。構成エンジン108は、選択されたコンポーネント定義で構成されるパーソナライズドオーバライド204を利用してグローバル変数をプライベート変数でオーバライドする。図3は、構成エンジンによって構成された例示的構成300を例示する。ここでは、構成300が、ベースコンポーネント例えば、StackPanelベースコンポーネント302およびコンテナコンポーネント304の点から説明される。ここでは、ベースコンポーネント302は、2つのテキストボックスベースコンポーネントを含み、第1のテキストボックスベースコンポーネントはテキストABCを示し、第2のテキストボックスベースコンポーネントはテキストDEFを示す。ベースコンポーネント302はまた、ボタンベースコンポーネントを含む。ベースコンポーネントは、特定のプラットフォームに向けられた具体的な実装、構成プロセスの葉ノードであり、ビジュアルでも非ビジュアルでもよい。下記は、コンポーネントタイプではなくコンポーネントタイプの点からのベースコンポーネント定義の一例である。MEFmanagedextensibilityframeworkファクトリは、MEF実行時を呼び出して登録されたUIアセンブリから対応するタイプを引き出す。MEFは、1つの例示的実装方式にすぎず、他のファクトリ実装が利用されてもよいことに留意されたい。コンテナコンポーネントさらに合成コンポーネントは、ベースコンポーネントさらにユニットコンポーネントのコンテナであり、カスタム実装を有さない、プラットフォーム非依存である。下記は、合成コンポーネント定義の一例である。図3では、コンテナコンポーネント304が、以下のコードにおいて例示されているように、ベースコンポーネントを結合し、ここで、PropertyAはABCであり、PropertyBはDEFである。各コンポーネントベースまたはコンテナは、データコンテキストDataContextインスタンスでバックアップされる。DataContextは、特性変更通知およびエラーセット通知をサポートするキーストリングと値オブジェクトのペアの集まりである。コンポーネントは、その特性をデータコンテキスト要素にバインドして子コンポーネントを相互にリンクする。図4は、構成システムのデータコンテキスト402DataContext要素としておよびビジュアルベースコンポーネント404例えば、図3のStackPanelベースコンポーネント302を含む親コンポーネント400を例示する。ここでは、データコンテキスト402は、3つの特性、すなわち、それぞれ対応する値ABC、DEF、およびXYZを有するPropertyA、PropertyB、およびPropertyCを含む。ビジュアルベースコンポーネント404は、対応する双方向データバインドを介してのPropertyAおよびPropertyBへのバインディングを含むが、ビューモデル408の複数のデータコンポーネント406は、PropertyBおよびPropertyCにバインドされる。言い換えれば、特性の子コンポーネントテキストボックスベースコンポーネントへのバインディングおよび特性のデータコンポーネント406へのバインディングを含む親コンポーネント400が構成される。図5は、コンポーネント定義500を例示する。コンポーネント定義500は、2つの部分、すなわち、タイプ宣言502および実装定義504を備える。各コンポーネントは、名称、および関連コンポーネントを捜し出すために使用され得るオプショナルターゲットタイプ属性を有する。例示的タイプ宣言コンポーネントに関しては、以下の通りである。コンポーネントはまた、以下に例示されているようにコンポーネントに関して、渡されると予想されるデータ形状例えば、ストリングを定義するParametersサブノードを含んでよい。図6は、コンポーネントを見つけるまたは選択するためのコンポーネントレジストリ600を例示する。レジストリ600は、すべての定義されたコンポーネントおよびコンポーネント構成のリストを維持する。例えば、ベースコンポーネント例えば、図3のStackPanel/Button/Editは、TypeIdおよびTargetTypeターゲットデータタイプに基づいて捜し出される検索されることが可能である。この場合、出力は、TargetTypeに対応するベースコンポーネント、またはTypeIdおよびTargetTypeである。コンポーネントに関する特性を設定するために、以下のサンプルコードに示されているように、Parameterノードが使用される。この場合、コンポーネントEventViewの特性Scopeは、テキストCompany.SystemCenter.SqlDBに設定される。しかし、しばしば、パラメータは静的ではなく、他の要素にバインドされる。一般に、リファレンスは、の形である。例えば、2つのコンポーネントは、変数abcにバインドされる。下記はParameterノードにおけるリファレンスプロトコルの例示的リストである。グローバル変数は、関連のないデータコンテキストにおける構成ベースコンポーネントおよび/またはコンテナコンポーネント間のデータ交換を可能にするために使用され得る。最初に、グローバル変数が宣言される。変数は、を使用して、ベースコンポーネントおよびコンテナコンポーネントにおいて参照され得る。任意の所与のコンポーネント例えば、ベース、コンテナは、コンポーネントの子が、以下のサンプルコードに例示されている変数のプライベートコピーを見るように、変数をプライベート実装でオーバライドすることができる。図7は、構成エンジンにおける変数の使用を表す宣言図700を例示する。702において、グローバル変数Aが宣言される。704において、パラメータ名Blahがコンポーネントに渡される。706において、グローバル変数のローカルコピーが作成される。708および710において、グローバル変数ではなく、変数のローカルコピーが使用される。本明細書には、開示されたアーキテクチャの新規の態様を実行するための例示的方法を表すフローチャートのセットが含まれている。説明を簡単にするために、例えばフローチャートまたは流れ図の形で本明細書に示されている1つまたは複数の方法は、一連の動作として示され説明されているが、これらの方法は、いくつかの動作はそれらの方法によって本明細書に示され説明されている順序とは異なる順序でおよび/または他の動作と同時に行われてもよいので、動作の順序によって限定されないことが理解され認識されるべきである。あるいは、例えば、方法は、状態図などにおいて一連の相互関係のある状態またはイベントとして表されてもよいことを当業者は理解し認識するであろう。さらに、必ずしも方法において例示されているすべての動作が新規の実装のために必要とされるわけではない。図8は、開示されたアーキテクチャによる視覚化方法を例示する。800において、実行環境において利用されるべきコンポーネントを求める要求が受信される。802において、コンポーネントに関連するコンポーネント定義が検索される。804において、1つまたは複数のデータ定義が、見つけられたコンポーネント定義のために選択される。806において、1つまたは複数のデータ定義がコンポーネント定義によって自動的に構成されて環境実行時に実行環境においてコンポーネントを出力する。図9は、図8の方法のさらなる態様を例示する。900において、コンポーネント定義が見つからないときは、コンポーネント定義は要求されたコンポーネントのデータタイプに基づいて検索される。902において、カスタムコンポーネントが要求されたコンポーネントの欠如に基づいて作成される。904において、グローバル変数がコンポーネントに適用されて関連のないデータコンテキスト間のデータ交換を可能にする。906において、グローバル変数がプライベート変数でオーバライドされてプライベート変数をコンポーネントの子コンポーネントに課す。908において、要求されたコンポーネントが見つからないときは、コンテナコンポーネントが作成される。910において、コンテナコンポーネントがベースコンポーネント関連データタイプ特性をロードされる。912において、コンテナコンポーネントがコンポーネントとして出力される。図10は、代替視覚化方法を例示する。1000において、コンポーネント実行環境に基づいて、コンポーネントを求める要求が受信される。1002において、コンポーネントに関連するコンポーネント定義が検索される。1004において、コンポーネント定義が見つかった場合は、コンポーネント定義のための1つまたは複数のデータ定義が選択される。1006において、コンポーネント定義が見つからないときは、要求されたコンポーネントに関連するデータタイプに基づいてカスタムコンポーネントが作成される。1008において、グローバル変数がコンポーネントまたはカスタムに適用されて関連のないデータコンテキスト間のデータ交換を可能にする。1010において、1つまたは複数のデータ定義がコンポーネント定義によって自動的に構成されて環境実行時に実行環境においてコンポーネントを出力する。図11は、図10の方法のさらなる態様を例示する。1100において、グローバル変数がプライベート変数でオーバライドされてコンポーネントの子コンポーネントにプライベート変数を課す。1102において、要求されたコンポーネントが見つからないときは、コンテナコンポーネントが作成される。1104において、コンテナコンポーネントがベースコンポーネント関連データタイプ特性をロードされる。1106において、コンテナコンポーネントがコンポーネントとして出力される。1108において、コンポーネントに渡されるべきデータがパラメータノードを介して定義される。1110において、特性の子コンポーネントへのバインディングおよび特性のデータコンポーネントへのバインディングを含む親コンポーネントが構成される。図12は、構成エンジンにおいてコンポーネントを取得する方法を例示する。1200において、コンポーネントが取得される例えば、コンポーネントを取得するコールを介して。1202において、ターゲットデータタイプが取得される。1204において、ターゲットデータタイプのためのコンポーネントが存在するかどうかを判定するためにチェックが行われる。存在しない場合は、フローは1206に進み、コンポーネントコンテナを作成する。コンポーネントは、1つまたは複数の関連データ特性を有してよい。1208において、コンポーネントのための特性タイプが取得される。1210において、特性タイプのためのコールコンポーネントを取得するが行われる。1212において、コンポーネントがコンテナに付加される。フローは1208に戻り、完了するまで続く。すべてのデータ特性およびタイプがコンテナに適用された後に、フローは、1214に進み、結果を返す。1204において、チェックがターゲットデータタイプのためのコンポーネントが存在すると判定した場合は、フローは1216に進み、コンポーネントを選択し、次いで、1216において結果を返す。図13は、構成エンジンにおいてコンポーネントを取得するさらに詳細な方法を例示する。1300において、ターゲットタイプおよびデータタイプなどの機能パラメータが受信される。1302において、ターゲットタイプおよびターゲット名のために定義されたコンポーネントに関してチェックが行われる。そうである場合は、フローは1304に進み、インターフェースを検証する。あるいは、ターゲットタイプおよびターゲット名のためのコンポーネントが存在しない場合は、フローは1306に進み、その結果、タイプシステムルックアップを使用して特性ごとにデータタイプのためのコンポーネントが定義される。そうである場合は、フローは1304に進み、インターフェースを検証する。チェックを行ってインターフェースを検証するためにタイプシステム1308へのアクセスが提供される。インターフェースが検証された後は、フローは1310に進み、コンポーネントタイプをチェックする。ユニットコンポーネントであれば、フローは1312に進み、正しいプラットフォームのためのユニットコンポーネントのインスタンスを作成し、すべての宣言されたパラメータをユニットコンポーネントに渡す。1314において、ローダがUX構成システム例えば、XAML、MEFなどのためのアセンブリをロードすることができる。1310において、コンポーネントタイプが合成コンポーネントである場合は、フローは1316に進み、構成のコンポーネントに関する値を設定して例えば、XMLで書かれた構成において子ノードをウォークする。これは、パラメータノード1つまたは複数1318からのパラメータ値、コンポーネントノード1つまたは複数1320からのパラメータ、および1322のパラメータからデータを構築するから提供される子ノードからのパラメータセットを受信することを含む。タイプIDは、1322においてデータを構築するためにコンポーネントノード1320から送信される。1324においては、コンポーネントノード1320から受信された名称およびターゲット情報に基づいて、データおよび名称として、ルックアップのための名称として、ターゲットによって参照されるコンポーネント。1つまたは複数のコンポーネントが実行のプロセスおよび/またはスレッドの中に存在してよく、コンポーネントは、1つのコンピュータ上にローカライズされてもよく、および/または2つ以上のコンピュータ間に分散されてもよい。用語例示的は、本明細書では、実施例、例、または例示として役立つことを意味するために使用されてよい。本明細書で例示的として示されているいかなる態様または設計も、必ずしも他の態様または設計より好ましいまたは有利であると解釈されるわけではない。次に、図14を参照すると、開示されたアーキテクチャによる構成を実行するコンピューティングシステム1400のブロック図が例示されている。コンピューティングシステム1400の様々な態様のための追加のコンテキストを提供するために、図14および以下の説明は、様々な態様がそこで実施され得る適切なコンピューティングシステム1400の簡単な全般的説明を提供することを意図するものである。上記の説明は1つまたは複数のコンピュータ上で実行することができるコンピュータ実行可能命令の一般的なコンテキストにおいてであるが、新規の実施形態はまた他のプログラムモジュールと組み合わせておよび/またはハードウェアおよびソフトウェアの組合せとして実施され得ることを当業者は理解するであろう。様々な態様を実施するためのコンピューティングシステム1400は、処理ユニット1つまたは複数1404、システムメモリ1406などのコンピュータ可読ストレージ、およびシステムバス1408を有するコンピュータ1402を含む。処理ユニット1つまたは複数1404は、シングルプロセッサ、マルチプロセッサ、シングルコアユニットおよびマルチコアユニットなど、様々な市販のプロセッサのいずれでもよい。さらに、新規の方法は、それぞれが1つまたは複数の関連デバイスに動作可能に結合され得るミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ例えば、デスクトップ、ラップトップなど、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースのまたはプログラマブルなコンシューマ電子機器、および同種のものを含めて、他のコンピュータシステム構成によって実行され得ることを当業者は理解するであろう。システムメモリ1406は、揮発性VOLメモリ1410例えば、ランダムアクセスメモリRAMおよび不揮発性メモリNON-VOL1412例えば、ROM、EPROM、EEPROMなどなどのコンピュータ可読ストレージ物理的記憶媒体を含んでよい。基本入出力システムBIOSは、不揮発性メモリ1412に記憶されることが可能であり、起動中などにコンピュータ1402の中のコンポーネント間のデータおよび信号の通信を容易にする基本ルーチンを含む。揮発性メモリ1410はまた、データをキャッシュするためのスタティックRAMなどの高速RAMを含んでよい。システムバス1408は、処理ユニット1つまたは複数1404へのシステムメモリ1406を含むがそれに限定されないシステムコンポーネントのためのインターフェースを提供する。システムバス1408は、任意の様々な市販のバスアーキテクチャを使用して、メモリコントローラを有するまたは有しないメモリバス、および周辺バス例えば、PCI、PCIe、AGP、LPCなどにさらに相互接続することができるいくつかのタイプのバス構造体のいずれでもよい。コンピュータ1402は、機械可読ストレージサブシステム1つまたは複数1414およびストレージサブシステム1つまたは複数1414をシステムバス1408および他の所望のコンピュータコンポーネントにインターフェースするためのストレージインターフェース1つまたは複数1416をさらに含む。ストレージサブシステム1つまたは複数1414物理的記憶媒体は、例えば、ハードディスクドライブHDD、磁気フロッピーディスクドライブFDD、および/または光ディスクストレージドライブ例えば、CD-ROMドライブDVDドライブのうちの1つまたは複数を含んでよい。ストレージインターフェース1つまたは複数1416は、例えば、EIDE、ATA、SATA、およびIEEE1394などのインターフェース技術を含んでよい。1つまたは複数のプログラムおよびデータは、オペレーティングシステム1420、1つまたは複数のアプリケーションプログラム1422、他のプログラムモジュール1424、およびプログラムデータ1426を含めて、メモリサブシステム1406、機械可読および取外し可能メモリサブシステム1418例えば、フラッシュドライブフォームファクタ技術、および/またはストレージサブシステム1つまたは複数1414例えば、光、磁気、ソリッドステートに記憶され得る。1つまたは複数のアプリケーションプログラム1422、他のプログラムモジュール1424、およびプログラムデータ1426は、例えば、図1のシステム100のエンティティおよびコンポーネント、図2のシステム200のエンティティおよびコンポーネント、図3の構成300、図4の親コンポーネント400、図5のコンポーネント定義500、図6のレジストリ600、図7の図700、および図8~13のフローチャートによって表された方法を含んでよい。一般に、プログラムは、特定のタスクを実行するまたは特定の抽象データタイプを実施するルーチン、方法、データ構造、他のソフトウェアコンポーネントなどを含む。オペレーティングシステム1420、アプリケーション1422、モジュール1424、および/またはデータ1426のすべてまたは一部分はまた、例えば、揮発性メモリ1410などのメモリにキャッシュされることも可能である。開示されたアーキテクチャは、様々な市販のオペレーティングシステムまたはオペレーティングシステム例えば、仮想マシンの組合せによって実施されてよいことが理解されるべきである。ストレージサブシステム1つまたは複数1414およびメモリサブシステム1406および1418は、データ、データ構造、コンピュータ実行可能命令などの揮発性ストレージまたは不揮発性ストレージのためのコンピュータ可読媒体として役立つ。そのような命令は、コンピュータまたは他のマシンによって実行される場合、コンピュータまたは他のマシンに方法の1つまたは複数の動作を実行させることができる。動作を実行するための命令は、命令がすべて同じ媒体上にあるかどうかに関係なく、命令が1つまたは複数のコンピュータ可読記憶媒体上にまとめて現れるように、1つの媒体上に記憶されてもよく、または複数の媒体にまたがって記憶されてもよい。コンピュータ可読媒体は、コンピュータ1402によってアクセスされることが可能であり、取外し可能もしくは取外し不可能な揮発性および不揮発性内部および/または外部媒体を含む任意の入手可能な媒体でよい。コンピュータ1402では、媒体は、任意の適切なデジタルフォーマットでのデータの記憶に対応する。開示されたアーキテクチャの新規の方法を実行するためのコンピュータ実行可能命令を記憶するためのジップドライブ、磁気テープ、フラッシュメモリカード、フラッシュドライブ、カートリッジ、および同種のものなどの他のタイプのコンピュータ可読媒体が利用され得ることが当業者には理解されるはずである。ユーザは、キーボードおよびマウスなどの外部入力デバイス1428を使用して、コンピュータ1402、プログラム、およびデータと対話することができる。他の外部ユーザ入力デバイス1428は、マイクロホン、IR赤外線リモートコントロール、ジョイスティック、ゲームパッド、カメラ認識システム、スタイラスペン、タッチスクリーン、ジェスチャシステム例えば、目の動き、頭の動きなど、および/または同種のものを含んでよい。ユーザは、タッチパッド、マイクロホン、キーボードなどのオンボードユーザ入力デバイス1430を使用して、コンピュータ1402、プログラム、およびデータと対話することができ、コンピュータ1402は、例えば、ポータブルコンピュータである。これらおよび他の入力デバイスは、入力/出力I/Oデバイスインターフェース1つまたは複数1432を通ってシステムバス1408を介して処理ユニット1つまたは複数1404に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続されてもよい。I/Oデバイスインターフェース1つまたは複数1432はまた、サウンドカードおよび/またはオンボードオーディオ処理機能など、プリンタ、オーディオデバイス、カメラデバイスなどの出力周辺装置1434の使用を容易にする。1つまたは複数のグラフィックスインターフェース1つまたは複数1436グラフィックス処理ユニットGPUとも呼ばれるは、コンピュータ1402と外部ディスプレイ1つまたは複数1438例えば、LCD、プラズマおよび/またはオンボードディスプレイ1440例えば、ポータブルコンピュータ用との間にグラフィックス信号およびビデオ信号を提供する。グラフィックスインターフェース1つまたは複数1436はまた、コンピュータシステムボードの一部分として製造されることも可能であるコンピュータ1402は、有線/無線通信サブシステム1442を介しての1つまたは複数のネットワークおよび/または他のコンピュータへの論理接続を使用して例えば、IPベースのネットワーク化された環境において動作することができる。他のコンピュータは、ワークステーション、サーバ、ルータ、パーソナルコンピュータ、マイクロプロセッサベースのエンタテインメント装置、ピアデバイス、または他の一般的なネットワークノードを含んでよく、通常、コンピュータ1402に関して記述された要素の多くまたはすべてを含んでよい。論理接続は、ローカルエリアネットワークLAN、広域ネットワークWAN、ホットスポットなどへの有線/無線接続を含んでよい。LANおよびWANネットワーキング環境は、オフィスおよび会社では普通であり、すべてインターネットなどのグローバル通信ネットワークに接続されることができるイントラネットなどの企業規模でのコンピュータネットワークを容易にする。ネットワーキング環境において使用される場合、コンピュータ1402は、有線/無線ネットワーク、有線/無線プリンタ、有線/無線入力デバイス1444などと通信するために、有線/無線通信システム1442例えば、ネットワークインターフェースアダプタ、オンボードトランシーバサブシステムなどを介してネットワークに接続される。コンピュータ1402は、ネットワークを介して通信を確立するためのモデムまたは他の手段を含んでよい。ネットワーク環境では、コンピュータ1402に関するプログラムおよびデータは、分散システムに関連する場合のように、リモートメモリ/記憶デバイスに記憶されてもよい。図示されているネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段が利用されてよいことが理解されるであろう。コンピュータ1402は、例えば、プリンタ、スキャナ、デスクトップコンピュータおよび/またはポータブルコンピュータ、携帯情報端末PDA、通信衛星、無線で検出可能なタグに関連する装置の任意の部分または位置例えば、キオスク、ニューススタンド、レストルーム、および電話との無線通信例えば、IEEE802.11オーバジエア変調技術において動作可能に配置された無線デバイスなど、IEEE802.xxファミリの規格などの無線技術を使用して有線/無線デバイスまたはエンティティと通信するように動作可能である。これは、少なくともホットスポットのためのWi-Fiまたはワイヤレスフィデリティ、WiMax、およびブルートゥース商標無線技術を含む。したがって、通信は、従来のネットワークの場合のように、予め定義された構造または単に少なくとも2つのデバイス間のアドホック通信でよい。Wi-Fiネットワークは、安全で信頼できる高速無線接続を提供するためにIEEE802.11xa、b、gなどと呼ばれる無線技術を使用する。Wi-Fiネットワークは、コンピュータを相互に、インターネットに、およびIEEE802.3関係媒体および機能を使用する有線ネットワークに接続するために使用され得る。例示され説明された諸態様は、いくつかのタスクが、通信ネットワークを介してリンクされたリモート処理デバイスによって実行される分散コンピューティング環境において実行されてよい。分散コンピューティング環境では、プログラムモジュールは、ローカルストレージおよび/またはリモートストレージおよび/またはメモリシステム内に配置されてよい。上記で説明されてきたものは、開示されたアーキテクチャの実施例を含む。もちろん、コンポーネントおよび/または技術のすべての考えられる組合せを説明することは不可能であるが、多くのさらなる組合せおよび置換が可能であることを当業者は理解することができる。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内に入るすべてのそのような改変形態、変更形態、および変形形態を包含するものとする。さらに、用語含むincludesが詳細な説明または請求項のいずれかで使用される限り、そのような用語は、備えるcomprisingが請求項において移行語として利用されるときに解釈されるように、用語備えるcomprisingと同様に包括的であるものとする。