"1つまたは複数のサーバにおける方法であって、応答パイプライン内でクライアントアプリケーションコードをインターセプトするステップであって、前記クライアントアプリケーションコードは、ウェブアプリケーションを求めるクライアントからの要求に応答して生成される、インターセプトするステップと、計測コードを前記インターセプトしたクライアントアプリケーションコードに挿入し、計測済クライアントアプリケーションコードを生成するステップであって、前記計測コードは、前記計測済クライアントアプリケーションコードが前記クライアントにおいてレンダリングされ、前記クライアントにおいてパフォーマンス情報をキャプチャする時に、実行されるように構成され、かつ、前記キャプチャしたパフォーマンス情報を前記クライアントから送信するように構成される、生成するステップと、送信されるべき前記計測済クライアントアプリケーションコードを前記クライアントに提供するステップとを含むことを特徴とする方法。前記インターセプトするステップは、前記クライアントアプリケーションコードを前記応答パイプラインの応答フィルタにおいて受信するステップと、前記応答フィルタにおいて、前記クライアントアプリケーションコードが計測コードを受信するための所定の基準を満たすことを判定するステップとを含み、前記挿入するステップは、前記応答フィルタを使用して前記計測コードを前記クライアントアプリケーションコードに挿入するステップとを含むことを特徴とする請求項1に記載の方法。前記ウェブアプリケーションを求める要求は、前記応答パイプラインにおいて複数のHTTPハイパーテキスト転送プロトコルモジュールおよびHTTPハンドラを使用して処理され、前記インターセプトするステップは、前記クライアントアプリケーションコードを前記複数のHTTPモジュールの内のHTTPモジュールにおいて受信するステップを含み、前記挿入するステップは、前記HTTPモジュールを使用して前記計測コードを前記クライアントアプリケーションコードに挿入するステップとを含むことを特徴とする請求項1に記載の方法。前記インターセプトするステップは、前記クライアントアプリケーションコードを前記応答パイプラインのプロファイラにおいて受信するステップと、前記プロファイラにおいて、前記クライアントアプリケーションコードが計測コードを受信するための所定の基準を満たすことを判定するステップとを含み、前記挿入するステップは、前記プロファイラを使用して前記計測コードを前記クライアントアプリケーションコードに挿入するステップとを含むことを特徴とする請求項1に記載の方法。前記挿入するステップは、前記クライアントアプリケーションコードのページコードを変更するステップを含むことを特徴とする請求項1に記載の方法。前記クライアントアプリケーションコードを分析し、監視すべき、前記クライアントアプリケーションコードの1つまたは複数の属性を決定するステップと前記クライアントアプリケーションコードの前記1つまたは複数の属性を監視するように前記計測コードを構成するステップとをさらに含むことを特徴とする請求項1に記載の方法。前記クライアントのブラウザのタイプ、前記クライアントのロケール、またはクライアントの言語の内の少なくとも1つに関するデータをキャプチャするように前記計測コードを構成するステップをさらに含むことを特徴とする請求項6に記載の方法。前記計測済クライアントアプリケーションコードによりキャプチャされたパフォーマンス情報を前記クライアントから受信するステップをさらに含むことを特徴とする請求項1に記載の方法。コンピュータプログラム論理が記録されるコンピュータ可読媒体を備えるコンピュータプログラム製品であって、プロセッサが請求項1から8のいずれかを実行することを可能にするためのコンピュータプログラム論理手段を含むことを特徴とするコンピュータプログラム製品。データストリームを生成し、クライアントからのウェブアプリケーションを求める要求に応答してクライアントに対してクライアントアプリケーションコードを提供するように構成される応答パイプラインと、前記応答パイプライン内で前記クライアントアプリケーションコードをインターセプトするように構成されるアプリケーションスキャニングモジュールと、計測コードを、前記インターセプトしたクライアントアプリケーションコードに挿入し、計測済クライアントアプリケーションコードを生成するように構成される計測挿入モジュールであって、前記計測コードは、前記計測済クライアントアプリケーションコードが前記クライアントにおいてレンダリングされ、前記クライアントにおいてパフォーマンス情報をキャプチャする時に、実行されるように構成され、かつ、前記キャプチャされたパフォーマンス情報を前記クライアントから送信するように構成される、計測挿入モジュールモジュールとを備え、前記応答パイプラインは、送信されるべき前記計測済クライアントアプリケーションコードを前記クライアントに提供するように構成されることを特徴とするサーバ。前記アプリケーションスキャニングモジュールおよび前記計測挿入モジュールは応答フィルタに含まれ、前記アプリケーションスキャニングモジュールは、前記クライアントアプリケーションコードが計測コードを受信するための所定の基準を満たすかどうかを判定するように構成され、前記計測挿入モジュールは、前記クライアントアプリケーションコードが前記所定の基準を満たす場合、前記計測コードを前記クライアントアプリケーションコードに挿入するように構成されることを特徴とする請求項10に記載のサーバ。前記ウェブアプリケーションを求める要求は、応答パイプラインにおいて複数のHTTPハイパーテキスト転送プロトコルモジュールおよびHTTPハンドラを使用して処理され、前記アプリケーションスキャニングモジュールおよび前記計測挿入モジュールは、前記複数のHTTPモジュールの内のHTTPモジュールに含まれ、前記計測挿入モジュールは、前記計測コードを前記クライアントアプリケーションコードに挿入するように構成されることを特徴とする請求項10に記載のサーバ。前記アプリケーションスキャニングモジュールおよび前記計測挿入モジュールは、プロファイラに含まれることを特徴とする請求項10に記載のサーバ。前記計測挿入モジュールは、前記クライアントアプリケーションコードのページコードを変更するように構成されることを特徴とする請求項10に記載のサーバ。キャプチャされたパフォーマンス情報を前記計測済クライアントアプリケーションコードから受信するように構成されるパフォーマンスデータ受信モジュールをさらに備え、前記パフォーマンスデータ受信モジュールは、クライアントの分類から受信されるキャプチャされたパフォーマンス情報をサンプリングし、1組のクライアントに関連するデータセットを生成し、かつ、前記1組のクライアントに関連するデータセットを分析するように構成されることを特徴とする請求項10に記載のサーバ。I.導入本明細書では、本発明の特徴が組み込まれる1つまたは複数の実施形態を開示する。開示される実施形態は、単に本発明を例示するのみである。本発明の範囲は開示される実施形態に限定されない。本発明は本明細書に添付される請求項により定義される。明細書において一実施形態実施形態一例の実施形態等を参照することにより、記載される実施形態が特定の特徴、構造、または特性を含んで良いが、全ての実施形態が必ずしもその特定の特徴、構造、または特性を含まなくとも良い、ということが示される。また、そのような語句が必ずしも同一の実施形態を参照しているわけではない。さらに、特定の特徴、構造、または特性が実施形態との関連で記載される時、そのような特徴、構造、または特性が、明示的に記載されるかどうかに関わらず他の実施形態に関連してもたらされることは、当業者の知見の範囲内であるものと考えられる。II.例示の実施形態実施形態により、クライアントまたはエンドユーザの観点からウェブアプリケーションのパフォーマンスを監視するための技術が提供される。そのような実施形態により、サーバ側ベースの従来の技術に比べて、改善されたウェブアプリケーション監視が可能とされる。さらに、実施形態により、異なるネットワーク条件下で、異なるクライアントコンピュータ構成を用いたウェブアプリケーション監視が可能とされる。インターネット全体に渡るネットワークのスピードおよび品質における違いにより、エンドユーザに対するウェブアプリケーションの機能性が低速にされたり中断されたりする。さらに、サーバ、キャッシュ、および/またはクライアント構成要素を組み合わせてウェブアプリケーションサーバを設けることができるので、それぞれがウェブアプリケーションのパフォーマンスの品質に影響を与えかねない。クライアントで使用される多様な装置およびブラウザがウェブアプリケーションコンテンツをレンダリングする時には、さらなるパフォーマンスのばらつきが明白になる。装置のタイプ、ブラウザのタイプ、ネットワーク構成、ならびに、他のサーバ側、ネットワーク、およびクライアント側の属性は常に変化している。従来のサーバ側のメトリックが使用されて、コンテンツをクライアントに送信するために使用される時間が判定されるかもしれないが、それぞれ異なるクライアント装置またはブラウザでは、クライアントがどのようにパフォーマンスおよびアベイラビリティを感知するのかが異なるかもしれない。従って、ウェブアプリケーションのパフォーマンスおよびアベイラビリティの実態を取得するために、実施形態では、ウェブアプリケーションのパフォーマンスが実際のエンドユーザの観点から監視されることを可能にする。実施形態では、種々の様式でクライアント側ウェブアプリケーション監視を可能にすることができる。例えば、一実施形態において、計測コード例えば、1つまたは複数のスクリプトが、アプリケーションサーバによりウェブアプリケーションのページに追加されて良い。例えば、ウェブアプリケーション要求に応答してクライアントに通常配信されるウェブアプリケーションデータのストリームは、所定のポリシーに基づき変更されて、計測コードがストリームに追加される。計測コードがクライアント上で実行されると、計測コードがメトリックおよびデータを収集する。例えば、計測コードは、クライアント、例えばクライアントのブラウザにおいてウェブアプリケーションのページがレンダリングされる時、ウェブアプリケーションページのパフォーマンス/アベイラビリティのメトリックを収集および計算するべく構成されて良い。ページのパフォーマンス/アベイラビリティのメトリックが収集された後、計測コードはサービス側のエンドポイントを呼び出し、収集した情報をサービス側のエンドポイントに渡すことができる。このように、実施形態では、計測コードをアプリケーション開発時または実行時にウェブページレベルで追加することができ、例えば、ウェブアプリケーション関連のトラフィックを、アプリケーションサーバにおいて応答パイプライン例えば、HTTPパイプラインを通過させる時に、計測コードをウェブアプリケーションのページに自動的に注入することにより行う。実施形態により種々の利点が提供される。例えば、実施形態により、AJAXasynchronousJavaScriptandXMLextensiblemarkuplanguage、アドビ登録商標フラッシュ登録商標、およびマイクロソフト登録商標シルバーライト商標などのWeb2.0技術が含まれるウェブ技術に大きく依存するアプリケーションを監視する能力を操作マネージャが有することができる。計測コードは、クライアントの観点からのそのようなウェブ技術のページのアベイラビリティおよび応答時間などのパフォーマンス情報をキャプチャするべく、また、このデータを、ウェブサービスエンドポイントを介するなどして種々の方法で監視システムに利用可能にするべく構成されて良い。例示の実施形態が以下の項でさらに詳細に記載される。A.計測済ウェブアプリケーションを提供するための例示のシステムおよび方法実施形態において、クライアントコンピュータシステムからウェブアプリケーションが要求されると、ウェブアプリケーションに計測コードが与えられ、計測済ウェブアプリケーションがクライアントコンピュータシステムに配信される。計測済ウェブアプリケーションは、種々の様式でクライアント要求に応答してクライアントコンピュータシステムに与えられる。例えば、図1は、一例の実施形態に従う、データ通信システム100のブロック図を示す。図1に示すように、システム100には、クライアント102、アプリケーションサーバ104、およびネットワーク116が含まれる。システム100は以下で説明され、計測済ウェブアプリケーションを含むウェブアプリケーションのクライアントへの配信が例示される。クライアント102は、任意のタイプのコンピュータ装置であって良く、デスクトップコンピュータ例えば、パーソナルコンピュータ、モバイルコンピュータもしくはコンピュータ装置例えば、パーム登録商標装置、RIM社のブラックベリー登録商標装置、PDA携帯情報端末、ラップトップコンピュータ、ノートブックコンピュータなど、スマートフォン、または他のタイプのコンピュータ装置などが含まれる。アプリケーションサーバ104には1つまたは複数のサーバが含まれて良く、本明細書に記載される任意のタイプのコンピュータ装置またはウェブアプリケーションを扱うことができる既知の任意のタイプのコンピュータ装置とすることができる。クライアント102およびアプリケーションサーバ104は、ネットワーク116により通信可能に連結される。ネットワーク116には、1つまたは複数の通信リンクおよび/または通信ネットワークが含まれて良く、例えば、PANパーソナルエリアネットワーク、LANローカルエリアネットワーク、WANワイドエリアネットワーク、またはインターネット等のネットワークの組み合わせなどが含まれる。第1の通信リンク122および第2の通信リンク124は、それぞれクライアント102およびアプリケーションサーバ104をネットワーク116に連結させるもので、任意の数の通信リンクを含んで良く、IEEE802.11無線LANWLAN無線リンク、Wi-MAXWorldwideInteroperabilityforMicrowaveAccessリンク、セルラーネットワークリンク、無線パーソナルエリアネットワークPANリンク例えば、ブルートゥース商標リンク、イーサネット登録商標リンク、USBリンク、などの有線および/または無線のリンクが含まれる。システム100は、クライアント102などのクライアントコンピュータシステムがアプリケーションサーバ104からウェブアプリケーションを検索することを可能にするべく構成される。例えば図1に示すように、クライアント102にはブラウザ106が含まれる。クライアント102のユーザは、ブラウザ106と対話し、ウェブアプリケーションをロードしてブラウザ16で実行させる要求をブラウザ106に行わせることができる。ブラウザ106は、任意のタイプのウェブブラウザとすることができ、例えば、ワシントン州レドモンドのマイクロソフト社が開発したインターネットエクスプローラ登録商標、カリフォルニア州マウンテンビューのモジラ社が開発したモジラファイアーフォックス登録商標、またはカリフォルニア州マウンテンビューのグーグル社が開発したグーグル登録商標クローム、などが含まれる。例えば、ブラウザ106はウェブアプリケーション要求110を生成することができる。ウェブアプリケーション要求110は、ウェブアプリケーションがブラウザ106において実行されるようにする要求である。ウェブアプリケーション要求110は、クライアント102から第1の通信信号で第1の通信リンク122、ネットワーク116、および第2の通信リンク124を介してアプリケーションサーバ104に送信される。第1の通信信号は任意の形式で送信されて良い。アプリケーションサーバ104は、ウェブアプリケーション要求110を第1の通信信号で受信する。ウェブアプリケーション要求110に応答して、アプリケーションサーバ104はウェブアプリケーションを提供する。さらに、ウェブアプリケーションは、ウェブアプリケーションがクライアント102において1つまたは複数のパフォーマンスの態様を監視するべく構成されるようにするために、アプリケーションサーバ104により計測されて良い。ウェブアプリケーションは、1つまたは複数のパフォーマンスの態様を監視するべく構成されるウェブアプリケーションに計測コードを挿入することにより、アプリケーションサーバ104によって計測されて良い。例えば、図1に示すように、アプリケーションサーバ104には応答パイプライン108が含まれて良い。応答パイプライン108は、ウェブアプリケーション要求110に応答して計測済クライアントアプリケーションコード112を生成することができる。計測済クライアントアプリケーションコード112は、第2の通信信号でアプリケーションサーバ104から送信される。第2の通信信号は、第2の通信リンク124、ネットワーク116、および第1の通信リンク122を介して送信され、クライアント102により受信される。第2の通信信号は任意の形式で送信されて良い。クライアント102のブラウザ106は、計測済クライアントアプリケーションコード112を受信し、実行用の計測済クライアントアプリケーションコード112をロードすることができる。計測済クライアントアプリケーションコード112は、クライアント102においてブラウザ106により実行例えば、レンダリングされて良いウェブアプリケーションである。例えば、計測済クライアントアプリケーションコード112は、1つまたは複数のアプリケーションファイルを起動させるページの形式例えば、HTMLコードでコード化されたものを有することができる。計測済クライアントアプリケーションコード112には、1つまたは複数のブラウザがサポートするコンピュータ言語に従ってプログラミングされるアプリケーションファイルへの参照が含まれて良く、該言語にはHTML、AJAXasynchronousJavaScriptandXMLextensiblemarkuplanguageコード、アドベ登録商標フラッシュ登録商標ファイル例えば、ActionScriptコード、マイクロソフト登録商標シルバーライト商標ファイル例えば、XAMLextensibleapplicationmarkuplanguageコード、メディアファイル、などが含まれる。さらに、計測済クライアントアプリケーションコード112には、ウェブアプリケーションの1つまたは複数の態様のパフォーマンスを監視するべく構成される計測コードが含まれる。そのような計測コードは、HTML、Javascript、AJAX、XAML、マイクロソフト登録商標.NETFrameworkがサポートする任意のプログラム言語などの1つまたは複数のブラウザがサポートするコンピュータ言語に従ってプログラミングされて良い。システム100は、計測済ウェブアプリケーションを提供するべく種々の様式でさらに構成されて良い。例えば、図2は、一例の実施形態に従うデータ通信システム200のブロック図を示す。データ通信システム200は、図1のシステム100の一例である。図2に示すように、データ通信システム200にはクライアント102、アプリケーションサーバ104、ネットワーク116、および管理サーバ208が含まれ、アプリケーションサーバ104には応答パイプライン202が含まれる。応答パイプライン202は図1の応答パイプライン108の一例である。図2の例示実施形態において、応答パイプライン202には、クライアントアプリケーションコードジェネレータ204およびアプリケーション計測モジュール206が含まれる。上述のように、アプリケーションサーバ104は、ネットワーク116を介してクライアント102などのクライアントから受け取ったウェブアプリケーション要求110を供給するべく構成される。応答パイプライン202のクライアントアプリケーションコードジェネレータ204は、要求110に応答してクライアントアプリケーションコードを生成するべく構成され、アプリケーション計測モジュール206は、生成されたクライアントアプリケーションコードをインターセプトかつ計測するべく構成される。アプリケーションサーバ104は、計測済クライアントアプリケーションコードをクライアント102に送信してブラウザ106においてレンダリングされるようにするべく構成される。管理サーバ208は、アプリケーション計測モジュール206を構成するため、および/または、ブラウザ106で実行中の計測済クライアントアプリケーションコードにより生成されるパフォーマンスデータを受け取るために提供されても良い。代替実施形態において、システム100は、計測済ウェブアプリケーションを提供するべく他の様式で構成されて良い。例えば、別の実施形態において、図2のシステム200には、クライアント102とアプリケーションサーバ104との間に配置されるプロキシサーバが含まれて良い。プロキシサーバにはアプリケーション計測モジュール206が含まれて良く、従って、ウェブアプリケーションの計測はプロキシサーバにおいて行われて良い。プロキシサーバは、クライアントアプリケーションコードジェネレータ204により生成されてアプリケーションサーバ104から送信されるクライアントアプリケーションコードを受け取ることができる。プロキシサーバのアプリケーション計測モジュール206は、生成されたクライアントアプリケーションコードをインターセプトかつ計測することができる。プロキシサーバは、計測済クライアントアプリケーションコードをクライアント102に送信してブラウザ106においてレンダリングされるようにすることができる。別の実施形態において、クライアント102にはアプリケーション計測モジュール206が含まれて良く、従って、ウェブアプリケーションの計測はクライアント102において行われて良い。クライアント102は、クライアントアプリケーションコードジェネレータ204により生成されてアプリケーションサーバ104から送信されるクライアントアプリケーションコードを受け取ることができる。クライアント102のアプリケーション計測モジュール206は、生成されたクライアントアプリケーションコードをインターセプトかつ計測することができる。計測済クライアントアプリケーションコードは、ブラウザ106においてレンダリングされて良い。このような実施形態において、IT情報技術オペレータなどのユーザは、当該ユーザがアプリケーションサーバ104に関係しない時でもアプリケーションの計測を導入することができる。実施形態は、図1および2の構成に関して例示の目的で本明細書に記載されるが、実施形態がこれらおよびさらに代替の方法で構成されて良いことは、本明細書における教示から当業者には理解されるであろう。システム200について、図3を参照して以下のようにさらに説明する。図3は、一例の実施形態に従う、計測済ウェブアプリケーションを提供するためのフローチャート300を示す。一実施形態において、システム200は、フローチャート300に従って動作することができる。さらなる構造的および動作的な実施形態は、フローチャート300に関する検討に基づき当業者には明らかになるであろう。フローチャート300およびシステム200について以下で説明する。フローチャート300はステップ302で開始される。ステップ302にて、ウェブアプリケーションを求める要求がクライアントから受け取られる。例えば、図2に示され上記で説明したように、アプリケーションサーバ104がクライアント102からウェブアプリケーション要求110を受け取る。ウェブアプリケーション要求110には、ウェブアプリケーションを求める要求が含まれる。例えば、クライアント102のユーザは、ブラウザ106と対話して要求されたウェブアプリケーションに対応するウェブページに進むことができる。クライアント102のユーザは、ウェブページ上のリンク、画像、または他のオブジェクトを選択すること、ブックマークを選択することができ、またはこれ以外にもブラウザ106と対話してウェブアプリケーションを要求するウェブアプリケーション要求110を生成することができる。ステップ304にて、応答パイプラインにおいて生成されるクライアントアプリケーションコードがインターセプトされる。図2の応答パイプライン202には、ウェブアプリケーション要求110を満たすことに関して、対応する処理を実行する複数の段階が含まれて良い。一実施形態において、応答パイプライン202内のクライアントアプリケーションコードジェネレータ204は、要求110で要求されるウェブアプリケーションに対応するクライアントアプリケーションコードを生成するべく構成されて良い。例えば、クライアントアプリケーションコードジェネレータ204は、生成されるウェブページに対応するHTMLコード等のブラウザ互換のコードを生成することができ、所望のウェブアプリケーション機能性に対応する1つまたは複数のファイルを起動させるウェブページを生成することができる。例えば、ウェブページは、ウェブアプリケーション機能性に対応するAJAXコード、XAMLコード、アドベ登録商標フラッシュ登録商標ファイル、マイクロソフト登録商標シルバーライト商標ファイルなどを起動させることができ、メディアプレーヤ、ウェブメールのツール、オンライン小売販売のサイト、オンラインオークション、ウィキなどを含む。クライアントアプリケーションコードジェネレータ204は、スクラッチから、要求可能な異なるウェブアプリケーションに対応するクライアントアプリケーションコードテンプレートのライブラリ例えば、Cプログラミング言語または他のプログラミング言語でコード化されたものから、および/または、当業者には既知である任意の他の方法で、ウェブアプリケーション要求に応答してクライアントアプリケーションコードを生成するべく構成されて良い。クライアントアプリケーションコードジェネレータ204により生成されるクライアントアプリケーションコードは、データストリーム上の応答パイプライン202を介して渡される。生成されるクライアントアプリケーションコードHTML形式の一例が以下のように示される。本例のクライアントアプリケーションコードは、クライアント102においてユーザに対してメディアプレーヤマイクロソフト登録商標シルバーライト商標ウェブアプリケーションを起動させるウェブページとして構成される。ウェブページはブラウザ106においてレンダリングされて良い。本例のクライアントアプリケーションコードは例示の目的で提供されるものであり、制限することは意図されず、多数の代替の方法で構成されて良い。上記の例のクライアントアプリケーションコードは、メディアプレーヤを起動させて、一例のマイクロソフト登録商標ウィンドウズメディア登録商標ビデオフォーマットファイルであるファイルhttp://www.webinfocentral.cor/VIDEO/JJ2008/WMV/JJ2008_100.wmvを再生するべく構成される。本例のクライアントアプリケーションコード内に...で示されるように、メディアプレーヤの起動に関連するさらなるパラメータが選択的に存在して良い。本例のクライアントアプリケーションコードは1つのアプリケーションを起動させるが、生成されるクライアントアプリケーションコードは、複数のアプリケーションを起動させても良い。図4は図2のシステム200を示し、クライアントアプリケーションコードジェネレータ204が要求110で要求されるウェブアプリケーションに対応するクライアントアプリケーションコード406を生成する。一実施形態において、アプリケーション計測モジュール206は、スキャニングポリシーに基づきクライアントアプリケーションコード406をインターセプトするべく構成されて良い。一実施形態において、管理サーバ208は、スキャニングポリシー構成指示402に従ってアプリケーション計測モジュール404のスキャニングポリシーを構成することができる。例えば、図5は、一例の実施形態に従う、管理サーバ208のブロック図を示す。図5に示すように、管理サーバ208には、スキャニングポリシー構成モジュール502、監視ポリシー構成モジュール504、およびパフォーマンスデータ受信モジュール506が含まれる。一実施形態において、スキャニングポリシー構成モジュール502は、アプリケーション計測モジュール404によって使用されるスキャニングポリシーを構成するために使用されるスキャニングポリシー構成指示402を生成して良い。例えば、図6は、一例の実施形態に従う、アプリケーション計測モジュール404のブロック図を示す。図6に示すように、アプリケーション計測モジュール404には、アプリケーションスキャニングモジュール602および計測挿入モジュール604が含まれる。アプリケーションスキャニングモジュール602は、スキャニングポリシー構成指示402を受け取り、また、クライアントアプリケーションコードを計測するかどうかを判定するスキャニングポリシー構成指示402に従って、応答パイプライン202を通過するウェブアプリケーション例えば、クライアントアプリケーションコード406をスキャンするべく構成される。例えば、管理サーバ208のユーザ例えば、操作マネージャまたはシステム管理者は、ユーザインターフェース例えば、グラフィカルユーザインターフェースGUI、キーボード、ポインティングデバイスなどと対話して、アプリケーションサーバ104により与えられるウェブアプリケーションのためのスキャニングポリシーを入力することができる。例えば、ユーザが、特定のウェブアプリケーション例えば、機能またはファイルを任意の方法で指定可能としても良く、例えば、ファイルの拡張子または形式例えば、アドベ登録商標フラッシュ登録商標ファイル、マイクロソフト登録商標シルバーライト商標ファイル、他のメディアファイル型、.wmv拡張子例えば、ビデオファイル、mp3拡張子例えば、オーディオファイル、などで指定して計測することができる。指定されるウェブアプリケーションはスキャニングポリシー構成指示402で指示して良く、指示402はアプリケーションスキャニングモジュール602に送られる。アプリケーション計測モジュール206がクライアントアプリケーションコード406を受け取ると、クライアントアプリケーションコード406を計測すべきかどうかを判定する、スキャニングポリシー構成指示402により指示されるスキャニングポリシーに従って、アプリケーションスキャニングモジュール602がクライアントアプリケーションコード406をスキャンすることができる。例えば、スキャニングポリシー構成指示402により、計測するためのマイクロソフト登録商標シルバーライト商標を起動させるウェブアプリケーションをインターセプトするようにアプリケーションスキャニングモジュール602を構成することができる。そのような実施形態の例において、アプリケーションスキャニングモジュール602は、語Silverlightを捜して受け取ったクライアントアプリケーションコードをスキャンするべく構成されて良く、および/または、マイクロソフト登録商標シルバーライト商標のウェブアプリケーション機能性を検出するべく他の方法で構成されて良い。上記に示したクライアントアプリケーションコードの例メディアプレーヤとしてマイクロソフト登録商標シルバーライト商標を起動させるを参照すると、本例のクライアントアプリケーションコードがアプリケーション計測モジュール206で受け取られる場合は、アプリケーションスキャニングモジュール602は、クライアントアプリケーションコード内の語Silverlightを検出でき、従って、計測するためのクライアントアプリケーションコードをインターセプトすることができる。構成されたスキャニングポリシーに従って、受け取ったクライアントアプリケーションコードが計測をトリガーするコンテンツを含まないことを、アプリケーションスキャニングモジュール602がスキャン中に判定する場合、受け取ったクライアントアプリケーションコードは、応答パイプライン202において処理を継続することが許可され、計測されずにクライアント102に提供される。ステップ306にて、計測コードがクライアントアプリケーションコードに挿入されて計測済クライアントアプリケーションコードが生成される。一実施形態において、アプリケーションスキャニングモジュール602が応答パイプライン202を流れる応答データストリーム内のクライアントアプリケーションコードをインターセプトしステップ304、かつ、インターセプトしたクライアントアプリケーションコードは計測されるべきであると判定する場合、計測挿入モジュール604が、計測コードをインターセプトされたクライアントアプリケーションコードに挿入して、計測済応答データストリームを生成するべく構成される。一実施形態において、計測挿入モジュール604は、インターセプトされたクライアントアプリケーションコードを分析して、監視すべきクライアントアプリケーションコードの1つまたは複数の機能を判定するべく構成されて良い。計測挿入モジュール604は、監視したいクライアントアプリケーションコードの1つまたは複数の機能を監視するように、挿入される計測コードを構成されて良い。挿入される計測コードは、インターセプトされたクライアントアプリケーションコードに関するパフォーマンスの態様を監視するべく構成される。図4に示すように、アプリケーション計測モジュール206は、計測済クライアントアプリケーションコード112を生成することができ、コード112は、受け取ったクライアントアプリケーションコード406の計測済のものである。上述の生成されたクライアントアプリケーションコードの例を参照すると、計測コードは、クライアントアプリケーションコード例のパフォーマンスの態様を監視するべく挿入されて良い。例えば、計測コードの一例が以下に示され簡単に例示するために、少なくとも部分的に疑似コードとして与えられている、これを上述の生成されたクライアントアプリケーションコードの例に挿入して良い。FunctionmakeCallpseudocodecallwebServiceegoperationNameStartPerfCounterandcounterNamePageLoad本例の計測コードは、javascriptのスクリプトであって、makeCall関数をoperationNameおよびcounterNameのパラメータで起動することにより呼び出されると時間またはパフォーマンスのカウンタ値を提供するように構成される。スクリプトは様々な目的に使用することができ、例えば、上記の例のクライアントアプリケーションコードにおいてマイクロソフト登録商標シルバーライト商標メディアプレーヤを使用して参照されたメディアファイルを再生するのにかかる時間を判定することなどができる。起動されると、本スクリプトは、リモートの管理サーバ例えば、管理サーバ208に対して呼び出しを行い_webService、operationName、counterNameおよびパフォーマンスのカウンタ値を与える。このパフォーマンス情報は、対応する関数がいつ発生したかを判定するために管理サーバにおいて使用されて良い。本計測コードは、生成されたクライアントアプリケーションコードに挿入させることができ、生成されたクライアントアプリケーションコードは、計測挿入モジュール604によりさらに変更されて、クライアントアプリケーションコードがブラウザで起動される様々な時に、挿入された計測コードを起動させることができる。例えば、上記で示した計測コード例を含む上記で示したクライアントアプリケーションコード例の一例の計測の形式を以下に示す。本例の計測済クライアントアプリケーションコードは、例示の目的で提供されるものであり、制限することは意図されず、多数の代替の方法で構成されて良い。FunctionmakeCallpseudocodecallwebServiceegoperationNameStartPerfCounterandcounterNamePageLoadmakeCallmakeCall上記に示すように、先に記載したjavascriptのスクリプトがクライアントアプリケーションコード例のヘッダ部に挿入されている。さらに、クライアントアプリケーションコード例はコードの4か所で変更され、ヘッダのスクリプトが4か所のそれぞれで起動されるようになっている。例えば、クライアントアプリケーションコード例は、ヘッダのスクリプトを起動させて、その時に、挿入されたコード<scripttype=text/javascript>makeCallStartPerfCounter,PageLoadで示されるように、クライアントアプリケーションコード例で表されるページがロードを開始するように構成される。次に、メディアプレーヤにヘッダのスクリプトを起動させて、その時に、挿入されたコードmediaOpened:OnClientMediaOpenedで示されるように、メディアファイル.wmvファイルが開かれる。次に、メディアプレーヤにヘッダのスクリプトを起動させて、その時に、挿入されたコードmediaEnded:OnClientMediaEndedで示されるように、メディアファイルが閉じられる。さらに、メディアプレーヤにヘッダのスクリプトを起動させて、その時に、挿入されたコード<scripttype=text/javascript>makeCallEndPerfCounter,PageLoad</script>で示されるように、クライアントアプリケーションコード例で表されるページがロードを終了する。このようにして、本例では、ヘッダのスクリプトを使用して、クライアントアプリケーションコード例により表されるページのロード開始時間およびロード終了時間、ならびにロード期間ロード開始時間またはカウンタ値をロード終了時間またはカウンタ値から引くことにより求められるを示すパフォーマンス情報をキャプチャすることが可能である。さらに、ヘッダのスクリプトを使用して、メディア再生開始時間およびメディア再生終了時間、ならびに再生期間再生開始時間またはカウンタ値を再生終了時間またはカウンタ値から引くことにより求められるを示すメディアファイル.wmvファイルのパフォーマンス情報をキャプチャすることが可能である。このように、計測挿入モジュール604は、計測コードをインターセプトされたクライアントアプリケーションコードの1つまたは複数の場所に挿入して、計測済ウェブアプリケーションがブラウザでレンダリングされる時に1つまたは複数のスクリプト/コード部分が起動されることを可能にするように、構成されて良い。計測済ウェブアプリケーションに関する任意の1つまたは複数のパフォーマンスの態様は、任意の数の挿入された計測コード部分で監視することができる。例えば、ネットワーク関連の態様を監視しても良く、計測済ウェブアプリケーションをロードするための、ロード開始時間およびロード終了時間ならびにロード期間を判定することが含まれる。ブラウザ関連の態様を監視しても良く、参照されたメディアファイルなどを再生するための、メディアファイル再生の開始時間および終了時間ならびに再生期間が含まれる。さらに、計測コードは、クライアントコンピュータシステムおよび/またはブラウザに関する情報、例えば、クライアントのブラウザのタイプ、ブラウザのバージョン、クライアントコンピュータのタイプ、クライアントコンピュータの場所、クライアントコンピュータの言語、クライアントコンピュータのオペレーションシステムのタイプ/バージョンなど、を収集するべく構成されて良い。一実施形態において、アプリケーション計測モジュール206は、監視ポリシーに基づきクライアントアプリケーションコード406を計測するべく構成されて良い。一実施形態において、管理サーバ208は、監視ポリシー構成指示404に従って、アプリケーション計測モジュール404のための監視ポリシーを構成することができる。例えば、図5および6に示すように、計測挿入モジュール604は、監視ポリシー構成モジュール504により生成される監視ポリシー構成指示404に従って、インターセプトされたクライアントアプリケーションコード406を変更するべく構成されて良い。例えば、管理サーバ208のユーザ例えば、操作マネージャまたはシステム管理者は、ユーザインターフェース例えば、グラフィカルユーザインターフェースGUI、キーボード、ポインティングデバイスなどと対話して、インターセプトされたウェブアプリケーションのための監視ポリシーを入力することができる。例えば、ユーザが、特定のウェブアプリケーション例えば、機能またはファイルに適用される特定の計測コードを任意の方法で指定可能としても良く、例えば、ファイルの拡張子または形式例えば、アドベ登録商標フラッシュ登録商標ファイル、マイクロソフト登録商標シルバーライト商標ファイル、他のメディアファイル型、.wmvウィンドウズメディア登録商標ビデオ拡張子、.mp3拡張子などで指定して計測することができる。指定される監視ポリシーは監視ポリシー構成指示404で指示して良く、指示404は計測挿入モジュール604に送られる。アプリケーション計測モジュール206がクライアントアプリケーションコード406を受け取ると、監視ポリシー構成指示404により提供される監視ポリシー従って、計測挿入モジュール604はインターセプトされたクライアントアプリケーションコード406を変更することができるステップ308にて、計測済クライアントアプリケーションコードがクライアントに送信されるべく提供される。例えば、図4に示すように、応答パイプライン202において生成される計測済クライアントアプリケーションコード112は、アプリケーションサーバ104からクライアント102に送信されて良い。一実施形態において、アプリケーションサーバ104には、本明細書の他箇所で説明されるように、クライアントアプリケーションコード112を含む情報を通信リンク上に送信するためのネットワークインターフェースが含まれて良い。応答パイプライン202は、計測済クライアントアプリケーションコード112を出力してネットワークインターフェースに提供し、クライアント102に送信されるようにすることができる。B.応答パイプラインの実施形態の例応答パイプライン202は、ウェブアプリケーション要求に応答して計測済ウェブアプリケーションを種々の方法で生成するべく構成されて良い。例えば、一実施形態において、応答パイプライン202は、ウェブアプリケーション要求を処理するべく構成され、かつ、ウェブアプリケーションの計測が可能であるように変更されるWCFWindows登録商標CommunicationFoundationパイプランまたはHTTPhypertexttransferprotocolパイプラインであって良い。図7から9は、実施形態に従う、ウェブアプリケーション要求に応答して計測済ウェブアプリケーションを生成するべく構成される応答パイプライン202の例のブロック図を示す。図7から9について以下に記載する。図7は、一例の実施形態に従う、HTTPパイプライン702のブロック図を示す。HTTPパイプライン702は、応答パイプライン202の一例であり、クライアントアプリケーションコードがHTTPパイプライン702を通過する時に計測コードをクライアントアプリケーションコードに挿入するべく構成される。例えば、図4を参照すると、アプリケーションサーバ104はウェブサーバとして機能することができ、ウェブアプリケーション要求110はブラウザ106からウェブサーバへのASP.NETページを求める要求となって良い。ASP.NETは、ワシントン州レドモンドのマイクロソフト社により開発されたウェブアプリケーションのフレームワークである。このような例において、アプリケーションサーバ104のASP.NETエンジンは、クライアントアプリケーションコード406をマークアップページとして生成するHTTPパイプラインの複数の段階を起動させることができ、コード406はブラウザ106に返され表示用にレンダリングされる。図7の実施形態において、HTTPパイプライン702は、クライアントアプリケーションコード406をマークアップページとして生成するべく、かつ、計測コードをマークアップページに挿入して計測済クライアントアプリケーションコード112を生成するべく、構成される。図7に示すように、HTTPパイプライン702には複数の段階が含まれ、これには第1番目から第n番目の段階704aから704n、および応答フィルタ706が含まれる。段階704aから704nはそれぞれ、クライアントアプリケーションコード406を生成することに向けられる、対応する機能を実行するべく構成されて良く、該機能には、認証例えば、安全な通信のためにブラウザ106を認証する、承認要求110のためのアクセスを確認する、要求されたウェブアプリケーションに対応するクライアントアプリケーションコード406の生成などがある。例えば、一実施形態において、クライアントアプリケーションコードジェネレータ204は、第1番目から第n番目の段階704aから704nの内の1つ、例えば、段階704aであって良い。さらに、アプリケーション計測モジュール206例えば、図6のアプリケーションスキャニングモジュール602および計測挿入モジュール604は、HTTPフィルタである応答フィルタ706内に含まれて良い。応答フィルタ706は、クライアントアプリケーションコード406をインターセプトするべく例えば、図3のステップ304、かつ、計測コードをクライアントアプリケーションコード406に挿入して計測済クライアントアプリケーションコード112を生成するべく例えば、図3のステップ306、構成される。一実施形態において、応答フィルタ706のアプリケーションスキャニングモジュール602は開発者により構成されて良い。開発者はアプリケーションスキャニングモジュール602に含まれるカスタムユーザコントロールを生成することができる。カスタムユーザコントロールは、開発者が計測コードを挿入させたいクライアントアプリケーションコードのページの特定の型を検出するべく構成される。例えば、カスタムユーザコントロールは、所定の基準、例えば、特定のファイルの型、ファイルの拡張子、および/または他の属性を検索して、計測すべきクライアントアプリケーションコードのページを検出するべく構成されて良い。クライアントアプリケーションコード406がHTTPパイプライン702を通過するたび、アプリケーションスキャニングモジュール602がクライアントアプリケーションコード406をスキャンする。カスタムユーザコントロールにより、受け取ったクライアントアプリケーションコード406に所定の基準の1つまたは複数が含まれると判定される場合、アプリケーションスキャニングモジュール602は、計測挿入モジュール604による計測のためにクライアントアプリケーションコード406を示す。応答フィルタ706のアプリケーションスキャニングモジュール602により使用されて良いカスタムユーザコントロールの例を以下に示す。publicpartialclassScriptWebUserControllSystemWebUIUserControlprotectedvoidPageLoadprotectedoverridevoidOnInitthisPageResponseFilternewPerfFilterbaseOnlnit上記に示すように、このカスタムユーザコントロールは、クライアントアプリケーションコード406をスキャンして計測すべきクライアントアプリケーションコード406を示す1つまたは複数の特定の属性を探すべく構成されるPerfFilterResponse.Filter関数を起動させる。本例のカスタムユーザコントロールは、例示の目的で提供されるものであり、制限することは意図されない。カスタムユーザコントロールが任意の数の方法で構成されて良いことは、本明細書における教示から当業者には理解されるであろう。さらに、上記に示すカスタムユーザコントロール例により計測が指示される場合、クライアントアプリケーションコード406を変更して計測コードを挿入するために、応答フィルタ706の計測挿入モジュール604に含まれて良い変更コードの一例を以下に示す。publicclassPerfFilterMemoryStreamprivateStreamoriginalStreampublicoverridevoidWriteinjecttheresponseinthestreambasedonconfigurationpoliciesoriginalStreamWriteoffsetUTF8EncodingUTF8GetByteCount上記に示すように、この変更コードは、計測コードをクライアントアプリケーションコード406に挿入するべく構成されて良いoriginalStream.Write関数を起動させる。本変更コードは、カスタムユーザコントロール例の開発者により生成され、クライアントアプリケーションコード406を所望の通りに変更することができる。本例の変更コードは例示の目的で提供されるものであり、制限することは意図されない。変更コードが任意の数の方法で構成されて良いことは、本明細書における教示から当業者には理解されるであろう。図8は、別の実施形態に従う、HTTPパイプライン802のブロック図を示す。HTTPパイプライン802は応答パイプライン202の一例であり、クライアントアプリケーションコードがHTTPパイプライン802を通過する時に計測コードをクライアントアプリケーションコードに挿入するべく構成される。図8の実施形態において、HTTPモジュールを使用して図7と同様の手法で計測コードがクライアントアプリケーションコードに挿入され、カスタムユーザコントロールは使用されず、計測済コードは構成宣言に基づき挿入される。このように、図8の実施形態においては、クライアントアプリケーションコードがHTTPパイプライン802を通過する時、計測コードは全てのクライアントアプリケーションコードに挿入され、所定のフィルタ基準を満たすクライアントアプリケーションコードに挿入されるのではない。図8に示すように、HTTPパイプライン802には、第1番目から第n番目のHTTPモジュール804aから804n、およびHTTPハンドラ806が含まれる。HTTPモジュールおよびHTTPハンドラは、ASP.NETアーキテクチャ等のアーキテクチャに含まれる。各ウェブアプリケーション要求は、複数のHTTPモジュール例えば、認証モジュール、セッションモジュールなどにより処理されて良く、続いてHTTPハンドラにより処理される。HTTPハンドラがウェブアプリケーション要求を処理した後、ウェブアプリケーション要求はHTTPモジュールを介して戻される。従って、HTTPモジュールをHTTPハンドラの実行の前後に呼び出すことができる。HTTPモジュールは、開発者がそれぞれ個々のウェブアプリケーション要求へのインターセプト、関与または変更を行うことを可能にするべく、開発者により構成されて良い。一実施形態において、アプリケーション計測モジュール206例えば、図6のアプリケーションスキャニングモジュール602および計測挿入モジュール604は、HTTPモジュール804内、例えば、第n番目のHTTPモジュール804n内に含まれて良い。例えば、HTTPモジュール804nは、クライアントアプリケーションコード406をインターセプトするべく例えば、図3のステップ304、かつ、計測コードをクライアントアプリケーションコード406に挿入して計測済クライアントアプリケーションコード112を生成するべく例えば、図3のステップ306、構成されて良い。例えば、HTTPモジュール804nはIHttpModuleインターフェースを実装するべく構成されて良く、該インターフェースはSystem.Web名前空間に配置される。マイクロソフト登録商標.NETFrameworkのIHttpModuleインターフェースは、HTTPモジュールの初期化イベントと破棄イベントを実装クラスに提供する。<httpModules>の構成セクションハンドラは、ウェブアプリケーション内のHTTPモジュールを構成し、コンピュータ、サイト、またはアプリケーションのレベルで宣言可能である。計測コードを注入するために、IHttpModuleインターフェースを使用してHTTPモジュール804nを生成しても良い。IHttpModuleインターフェースは以下のシグネチャを有する2つのメソッドを持つ。voidInitvoidDisposeそのような実施形態において、アプリケーションスキャニングモジュール602は、クライアントアプリケーションコード112全てのインスタンスをインターセプトするべく構成されて良く、計測挿入モジュール604は、対応する計測コードを挿入するべく構成されて良い。例えば、全てのウェブアプリケーション要求110に対してHTTPモジュール804aを初期化する時、クライアントアプリケーションコード406は、図7の例えば、応答フィルタ706により変更されたHTTPパイプライン702に関して上述したものと同様の様式で変更されて良い。Initの実装時、イベントBeforeProcessRequestおよびAfterProcessRequestをサブスクライブ予約可能であり、クライアントアプリケーションコード406を変更して計測済クライアントアプリケーションコード112を生成し、クライアント102に送信しても良い。図9は、別の実施形態に従う、応答パイプライン902のブロック図を示す。応答パイプライン902は応答パイプライン202の一例であり、クライアントアプリケーションコードが応答パイプライン902を通過する時に計測コードをクライアントアプリケーションコードに挿入するべく構成される。図9に示すように、応答パイプライン902にはプロファイラ904が含まれる。図9の実施形態において、プロファイラ904を使用して、クライアントアプリケーションコードをスキャンし、かつ、スキャニングポリシーを満たすクライアントアプリケーションコードに計測コードを挿入する。このように、一実施形態において、プロファイラ904には、アプリケーション計測モジュール206例えば、図6のアプリケーションスキャニングモジュール602および計測挿入モジュール604が含まれて良い。プロファイラ904は、クライアントアプリケーションコード406をインターセプトするべく例えば、図3のステップ304、かつ、計測コードをクライアントアプリケーションコード406に挿入して計測済クライアントアプリケーションコード112を生成するべく例えば、図3のステップ306、構成されて良い。例えば、プロファイラ904は、マイクロソフト登録商標ビジュアルスタジオ登録商標インテリトレース技術等のCLRCommonLanguageRuntime共通言語ランタイムプロファイラ技術を実装して、応答ハンドルを例えば、ProcessRequestフレームワークの実装を用いて変更することができる。この技術はウェブアプリケーションレベルまたはページレベルで適用可能であり、カスタムユーザコントロールを使用しない。代わりに、クライアントアプリケーションコードに挿入される計測コードに関するスキャニングポリシーは、1つまたは複数の構成ファイルを使用して記述されて良い。このように、実施形態において、ウェブアプリケーションは、計測すべき特定のウェブアプリケーションページをスキャンすること、全てのウェブアプリケーションページを計測すること、または、特定のプロファイルを満たすウェブアプリケーションページを計測すること、などの種々の方法で、応答パイプライン202により計測可能である。例えば、上述のように、応答パイプライン202は、特定のウェブアプリケーションページ例えば、カスタムユーザコントロールを含むページを計測するHTTPフィルタ応答フィルタ706、全ての要求されたウェブアプリケーションを計測するHTTPモジュール例えば、HTTPモジュール804n、または、マイクロソフト登録商標ビジュアルスタジオ登録商標インテリトレース等のプロファイラ技術、を使用することができる。さらなる実施形態において、応答パイプライン202は、要求されたウェブアプリケーションを計測するべくさらなる方法で構成されて良く、例えば、計測コードを要求されたウェブアプリケーションに挿入するWCFパイプラインとして構成されても良く、または、他のタイプの応答パイプラインに対して、および/または他の方法で構成されて良い。C.例示の計測済ウェブアプリケーションのクライアント側のレンダリングおよび管理サーバとの対話実施形態において、ウェブアプリケーションは要求されて、計測コードを含むクライアントにより受け取られて良い。計測コードを実行して、クライアントにてウェブアプリケーションのパフォーマンスの態様を監視することができる。図10は、一例の実施形態に従う、図2のシステム200を示し、要求110で要求されたウェブアプリケーションに対応する計測済クライアントアプリケーションコード112を受け取ったクライアント102を例示する。図10のシステム200が、図11に関して以下にさらに説明され、一例の実施形態に従う、計測済ウェブアプリケーションをクライアントにて表示するためのフローチャート1100が示される。一実施形態において、システム200はフローチャート1100に従って動作して良い。さらなる構造的および動作的な実施形態は、フローチャート1100に関する検討に基づき当業者には明らかになるであろう。フローチャート1100およびシステム200について以下で説明する。フローチャート1100はステップ1102で開始される。ステップ1102において、要求がウェブアプリケーションを求めてサーバに送信される。例えば、図4について上述したように、ブラウザ106は、アプリケーションサーバ104に送信されるウェブアプリケーション要求110を生成することができる。ステップ1104にて、要求に応答して、計測済クライアントアプリケーションコードがサーバから受け取られ、計測済クライアントアプリケーションコードにはサーバにおいて計測コードが挿入されている。例えば、図4について上述したように、ウェブアプリケーション要求110に応答して計測済クライアントアプリケーションコード112がアプリケーションサーバ104から受け取られる。計測済クライアントアプリケーションコード112にはアプリケーションサーバ104において挿入された計測コードが含まれる。ステップ1106にて、計測済クライアントアプリケーションコードがレンダリングされる。例えば、図10に示すように、クライアント102のブラウザ106は、レンダリングのための計測済クライアントアプリケーションコード112をロードして良い。ブラウザ106は、計測済クライアントアプリケーションコード112を当業者に既知の様式でレンダリングして良い。計測済クライアントアプリケーションコード112をレンダリングすることにより、要求されたウェブアプリケーションがブラウザ106において実行される。例えば、計測済クライアントアプリケーションコード112の特定の構成に応じて、メディアプレーヤ、ウェブメールツール、オンライン小売販売サイト、オンライオークション、ウィキ、および/または他のタイプのウェブアプリケーションが、ブラウザ106においてレンダリングされて良い。ステップ1108にて、計測コードが、ステップ1106が行われている間に実行されてパフォーマンス情報がキャプチャされる。例えば、計測済クライアントアプリケーションコード112であるウェブアプリケーションがレンダリングされることに加えて、アプリケーションサーバ104において計測済クライアントアプリケーションコード112に挿入される計測コードが実行される。このように、計測コードによりキャプチャされるべく構成されるパフォーマンス情報がキャプチャされて良い。例えば、図12は、一例の実施形態に従う、計測済クライアントアプリケーションコード112のブロック図を示す。ウェブアプリケーションの機能性に加えて、計測済クライアントアプリケーションコード112にはパフォーマンス情報キャプチャモジュール1202、データ集約モジュール1204、およびサーバインターフェースモジュール1206が含まれて良い。計測済クライアントアプリケーションコード112のこれらの要素について以下で説明する。パフォーマンス情報キャプチャモジュール1202は、ステップ1108に従ってパフォーマンス情報をキャプチャするべく構成される。ウェブアプリケーションおよびクライアント102に関連する任意のタイプのパフォーマンス情報が、パフォーマンス情報キャプチャモジュール1202によりキャプチャされて良い。ウェブアプリケーションに関してキャプチャすることができるパフォーマンス情報の例には、ウェブアプリケーションのレンダリング時間および/または期間、ウェブアプリケーションのロード時間、ウェブアプリケーションのエラー、および/または任意のメトリックが含まれる。アプリケーションの正常性に関連するパフォーマンス情報をキャプチャすることができ、ウェブアプリケーションの1つまたは複数の動作に応答性があるかどうかを示すキャプチャデータ、および/または、アプリケーションの実行中に1つまたは複数のエラーおよび/または異常を示すキャプチャエラー情報、が含まれる。キャプチャすることができるクライアント102に関連するパフォーマンス情報の例には、ブラウザ106のタイプおよび/またはバージョンを示すキャプチャデータ、クライアントのロケール局所性を示すキャプチャデータ、クライアントにおける言語を示すキャプチャデータ、クライアント102に実装されるオペレーティングシステムのタイプを示すキャプチャデータ、などが含まれる。例えば、キャプチャされたパフォーマンス情報としてパフォーマンス情報キャプチャモジュール1202により計算されて良いメトリックの例に含まれるものは以下の通りである。マイクロソフト登録商標シルバーライト商標ウェブアプリケーションの例では、Sys.Application.initを使用して初期化されるマイクロソフト登録商標シルバーライト商標のフレームワークに対してメトリックが計算される。AJAXベースのウェブアプリケーションの例では、AJAXスクリプトのキュー待ち行列にあるローディング時間、および/またはSys.Application.notifyScriptLoadedを使用するAJAXスクリプトのロード時間に対してメトリックが計算される。Sys.Applicationのロード/アンロードに対してそのイベントを使用してメトリックが計算される。Sys.Componentの初期化に対してメトリックが計算される。Sys.Component.createに対してメトリックが計算される。別の例においては、パフォーマンス情報キャプチャモジュール1202は、Sys.SCriptLoadFailedExceptionなどのスクリプトに対してError.createによって作成されるSys.Exceptionの例外をキャプチャすることができる。パフォーマンス情報のこれらの例は、例示の目的で提供されるものであり、制限することは意図されない。実施形態において、パフォーマンス情報キャプチャモジュール1202は、ウェブアプリケーション、ブラウザ106、および/またはクライアント102に関連する任意のタイプのパフォーマンス情報をキャプチャするべく構成されて良い。図12に示すように、パフォーマンス情報キャプチャモジュール1202は、キャプチャされたパフォーマンス情報1208を生成する。ステップ1110にて、キャプチャされたパフォーマンス情報が集約される。ステップ1110は任意である。このステップを行う場合、図12のデータ集約モジュール1204は、キャプチャされたパフォーマンス情報を収集するべく構成されて良い。例えば、ブラウザ106は、ユーザの要求に応じて、計測済クライアントアプリケーションコード112を複数回ロードおよびレンダリングすることができ例えば、ステップ1106を複数回実行する、計測済クライアントアプリケーションコード112がロードされレンダリングされる度に、対応するパフォーマンス情報がパフォーマンス情報キャプチャモジュール1202によりキャプチャされて良い。一実施形態において、データ集約モジュール1204を、計測済クライアントアプリケーションコード112のレンダリング毎に、レンダリング中にキャプチャされるパフォーマンス情報を収集および集約するために有して良い。データ集約モジュール1204によるキャプチャされたパフォーマンス情報の集約は種々の方法で実行されて良い。例えば、一実施形態において、データ集約モジュール1204は、キャプチャされたパフォーマンス情報の各インスタンスをテーブル、アレー、または他のデータ構造に記憶させることにより、キャプチャされたパフォーマンス情報を集約することができる。別の実施形態において、データ集約モジュール1204は、キャプチャされたパフォーマンス情報に対して、キャプチャされたパフォーマンス情報を合計するなどの操作を行うこと、および/またはキャプチャされたパフォーマンス情報に対して他の演算操作を行うこと、によりキャプチャされたパフォーマンス情報を集約することができる。さらに別の実施形態において、データ集約モジュール1204は、キャプチャされたパフォーマンス情報を比較すること、キャプチャされたパフォーマンス情報を分類すること、および/または、キャプチャされたパフォーマンス情報を体系化するためのさらなる技術を実行すること、によりキャプチャされたパフォーマンス情報を集約することができる。図12に示すように、データ集約モジュール1204は集約されたパフォーマンス情報1210を生成する。ステップ1112にて、キャプチャされたパフォーマンス情報がサーバに送信される。例えば、一実施形態において、計測済クライアントアプリケーションコード112のサーバインターフェースモジュール1206は、キャプチャされたパフォーマンス情報をサーバに送信するべく構成される。例えば、図10に示すように、サーバインターフェースモジュール1206は、キャプチャされたパフォーマンス情報1002を管理サーバ208に送信するべく構成されて良い。管理サーバ208は、アプリケーションサーバ104とは別のサーバであっても良いし同じサーバであっても良い。管理サーバ208は、クライアント102に対してローカルなサーバ例えば、企業サーバであって良いし、クライアント102からネットワーク116を介してアクセスされるサーバ例えば、クラウドベースサーバであっても良い。クライアント102には、例えば、本明細書の他箇所に記載されるような、キャプチャされたパフォーマンス情報1002を含む情報を通信リンクを介して送信するためのネットワークインターフェースが含まれて良い。図12に示すように、サーバインターフェースモジュール1206は、キャプチャされたパフォーマンス情報1208および/または集約されたパフォーマンス情報1210存在する場合を受け取ることができる。計測済クライアントアプリケーションコード112の各レンダリング中に、サーバインターフェースモジュール1206が、キャプチャされたパフォーマンス情報1208をキャプチャされたパフォーマンス情報1002として管理サーバ208に送信するべく構成されて良い。別の実施形態において、サーバインターフェースモジュール1206は、周期的または非周期的に、集約されたパフォーマンス情報1210をキャプチャされたパフォーマンス情報1002として管理サーバ208に送信するべく構成されて良い。例えば、所定の時間間隔で例えば、1日に所定回数、1日に特定回数、1日に1回特定の時刻に、5日ごとに1回、1か月に一回などまたは他の規則で、計測済クライアントアプリケーションコード112がブラウザ106により所定回数レンダリングされた後に、集約されたパフォーマンス情報1210を管理サーバ208に送信するべくサーバインターフェースモジュール1206が構成されて良い。D.例示の管理サーバの実施形態実施形態において、管理サーバ208は、計測済クライアントアプリケーションコード112から受け取ったキャプチャされたパフォーマンス情報1002を任意の様式で特定の実装に対して必要に応じて、処理するべく構成されて良い。図13は、一例の実施形態に従う、キャプチャされたパフォーマンス情報を管理サーバにて操作するためのフローチャート1300である。一実施形態において、管理サーバ208はフローチャート1300に従って動作して良い。さらなる構造的および動作的な実施形態は、フローチャート1300に関する検討に基づき当業者には明らかになるであろう。フローチャート1300について以下で説明する。フローチャート1300は、ステップ1302で開始される。ステップ1302にて、キャプチャされたパフォーマンス情報が、計測済クライアントアプリケーションコードからクライアントにおいて受け取られる。例えば、図10に示すように、ブラウザ106において実行中の計測済クライアントアプリケーションコード112により生成されるキャプチャされたパフォーマンス情報1002は、管理サーバ208によりクライアント102から受け取られて良い。例えば、図5に示すように、管理サーバ208には、キャプチャされたパフォーマンス情報1002を受け取るべく構成されるパフォーマンスデータ受信モジュール506が含まれて良い。以下にさらに説明するように、パフォーマンスデータ受信モジュール506には、キャプチャされたパフォーマンス情報1002を受け取るための1つまたは複数のインターフェースが含まれて良い。上述のように、キャプチャされたパフォーマンス情報1002には集約されたパフォーマンス情報を含んでも含まなくても良い。ステップ1304にて、受け取られたキャプチャされたパフォーマンス情報が処理される。実施形態において、管理サーバ208は、キャプチャされたパフォーマンス情報1002を任意の様式で特定の実装に対して必要に応じて、処理するべく構成されて良い。キャプチャされたパフォーマンス情報1002が集約されない場合、管理サーバ208は、データ集約モジュール1204について上述したものと同様の様式および/または任意の他の様式で、キャプチャされたパフォーマンス情報1002を集約することができる。例えば、管理サーバ208は、集約されたデータが一人または複数人のユーザに対して提示される前にある期間にわたって、ウェブアプリケーション要求に対して平均応答時間などの稼働中のカウンタのレポートを生成することができ、これにはSCOMSystemCenterOperationsManager管理グループがある。キャプチャされたパフォーマンス情報1002を提供することにより、ユーザは、ウェブアプリケーションがクライアントコンピュータで利用可能であったかどうか、ウェブアプリケーションを提供するための応答時間、およびウェブアプリケーションがクライアントコンピュータにおいてエンドユーザの観点から首尾よく実行されたかどうか、を判定することが可能である。管理サーバ208のパフォーマンスデータ受信モジュール506には、キャプチャされたパフォーマンス情報1002をクライアントから受け取るための1つまたは複数のインターフェースが含まれて良い。例えば、上述の例には、makeCalloperationName,counterName関数が、クライアントアプリケーションコードから起動されて、時間またはパフォーマンスカウンタ値を管理サーバ208に提供するものがある。makeCall関数は、異なるoperationNameおよびcounterNameのパラメータを使用して色々な方法で呼び出すことができ、パフォーマンスデータ受信モジュール506の対応するインターフェースにより扱われて良い。例えば、パフォーマンスデータ受信モジュール506により実装されてキャプチャされたパフォーマンス情報を受け取ることができる例示のインターフェースのコードを以下に示す。publicinterfaceITxAxctualMonitoringOperationContractWebInvokepublicintStartPerfCounterOperationContractWebInvokepublicintEndPerfCounterOperationContractWebInvokepublicintmediaOpenedOperationContractWebInvokepublicintmediaEndedOperationContractWebInvokepublicintReportException上記の例示のインターフェースコードでは、異なるoperationNameおよびcounterNameのパラメータを使用するmakeCall関数の4つの可能な呼び出しに対応する4つのインターフェースが提供され、例外の関数に対応する追加の1つのインターフェースが含まれる。クライアント102における計測済クライアントアプリケーションコード112は、StartPerfCounterおよびPageLoadをoperationNameおよびcounterNameのパラメータとして使用してmakeCall関数を起動させることができる。このような場合、パフォーマンスカウンタ値は、ウェブアプリケーションのページロードの開始に対応して計測済クライアントアプリケーションコード112から受け取られて良い。objectIdおよびinstanceIdのパラメータも、クライアント102を識別するために計測済クライアントアプリケーションコード112から管理サーバ208に受け取られて良い。同様に、クライアント102における計測済クライアントアプリケーションコード112は、EndPerfCounterおよびPageLoadをoperationNameおよびcounterNameのパラメータとして使用してmakeCall関数を起動させることができる。このような場合、パフォーマンスカウンタ値は、ウェブアプリケーションのページロードの終了に対応して計測済クライアントアプリケーションコード112から受け取られて良い。クライアント102における計測済クライアントアプリケーションコード112は、mediaOpenedおよびOnClientMediaOpenedをoperationNameおよびcounterNameのパラメータとして使用してmakeCall関数を起動させることができる。このような場合、パフォーマンスカウンタ値は、.wmvメディアファイルのロードの開始に対応して計測済クライアントアプリケーションコード112から受け取られて良い。クライアント102における計測済クライアントアプリケーションコード112は、mediaEndedおよびOnClientMediaEndedをoperationNameおよびcounterNameのパラメータとして使用してmakeCall関数を起動させることができる。このような場合、パフォーマンスカウンタ値は、.wmvメディアファイルのロードの終了に対応して計測済クライアントアプリケーションコード112から受け取られて良い。上記に示す追加の例示のインターフェースコードでは、クライアント102において、受け取ったウェブアプリケーションのロードまたはレンダリングが失敗した時に例えば、.wmvファイルのレンダリングの失敗など、計測済クライアントアプリケーションコード112による例外の情報の提供が可能にされる。本例のインターフェースコードは、例示の目的で提供されるものであり、制限することは意図されない。パフォーマンスデータ受信モジュール506のインターフェースコードが任意の数の方法で構成されて良いことは、本明細書における教示から当業者には理解されるであろう。このようなインターフェースコードは、任意の数のパラメータを有し、任意のタイプおよび任意の量のキャプチャされたパフォーマンス情報を計測済クライアントアプリケーションコード112から受け取るべく構成されて良い。E.例示の利点実施形態により、本明細書に記載されるように、1つまたは複数の利点を提供することができる。そのような利点の例を以下に記載する。開発者による関与と調整:Web2.0のアプリケーションはまさにその本質により、ウェブアプリケーションが他のソースからのコンテンツおよびデータを組み合わせて情報の複雑なマッシュアップを作成するため、ウェブアプリケーション自体の中に動的コンテンツを含むこと、または他のソースからの動的コンテンツを含むことができる。開発者が特定の計測を注入しなければならない場合の開発者がウェブアプリケーションのコンテンツを知っているからである手法では、開発者が、計測コードおよび/または管理サーバをウェブアプリケーションのコンテンツの変更の度に変更しなければならないかもしれず、実現可能でないと思われる。一実施形態において、ヒューリスティックを用いて、ウェブアプリケーションでの使用に適切なタイプの計測の判定が可能であり、ウェブアプリケーションは応答パイプラインの通過の際に状況に応じて変更が可能である。このようなヒューリスティックでは、どのタイプのコンテンツおよび関数を示す必要があるかを判定すること、かつ、対応する計測コードを開発者の関与なしで注入することが可能である。スケール:ラストマイルまたはエンドユーザの監視は典型的には、全てのユーザのデータが収集される、多様に対応可能な努力であり、このことがサーバのロードからも分析の観点からも情報のスケールの取り扱いを困難にしている。他の解決方法で、未加工のフォーマットでデータをキャプチャするともできるが、未加工のフォーマットではサーバのロードが増加され、集約のレベルを意味あるものにすることが必要とされる。実施形態においては、何を監視するかおよびいつ監視するかについての構成を制御可能であるため、情報のスマートなサンプリングを使用することでパフォーマンスおよびアベイラビリティの監視のための多種多様なデータを取得することが可能され、一方でサーバのロードを減少させ、かつ、複雑な分析の必要性を最小限にすることが可能である。例えば、クライアントの分類例えば、モジラファイアーフォックス登録商標ブラウザの特定のバージョンからのサンプルの代表的な1組のクライアントに関連するキャプチャされたデータが、実行されて良い例えば、管理システムを壊さないように。集約は、管理サーバに送信されるパフォーマンスデータが既に集約され簡単に使用できるように、クライアントに対して実行されて良い。一実施形態において、ウェブサービスは、それを監視/報告システムに対して利用可能にする前に追加的な集約を実行することもできる。クライアントの構成との相関関係:エンドユーザの経験からは、データの分析を実行して、そのデータが、装置のタイプ、クライアントのバージョン、設置場所、コンテンツ、などによりクラスタ化されることが望ましい。この情報は、アプリケーションサーバ上では利用可能であるが、必ずしも管理サーバでは利用可能ではない。このように、解決方法には典型的には、複数のソースからデータを組み合わせて意味のあるものにすることを伴う。データ監視では、パフォーマンスおよびアベイラビリティのメトリックを提供することができるが、IISログにアクセスしてクライアントブラウザのタイプおよびクライアントの場所を取得するする必要はない。このように、複雑な相関関係が、すぐに使用可能なデータを作成するにために必要とされる。実施形態において、挿入される計測コードが、クライアントブラウザ,クライアントのロケールおよび/またはクライアントの言語に関するデータをキャプチャするためのコードを含んで良く、それらのデータはキャプチャされたパフォーマンス情報と共に管理サーバに掲示されて良い。このように、データセットのクラスタ化がより簡単にされる。全てのキャプチャされたデータを1つの場所に提供することにより、分析がより素早く実行され、パフォーマンスおよびアベイラビリティに伴う問題を狭めることが可能である。動的な修復:Web2.0のアプリケーションでは、開発者が、クライアントが使用する装置またはブラウザに適切なコンテンツを設計することにより、クライアントに配信されるコンテンツを自分独自のものにすることが可能である。開発者は、ネットワーク接続性に基づきコンテンツを調整して、より遅い接続でデータにアクセスするクライアントを考慮に入れることもできる。これは典型的には、コンテンツをどのように表示するかに関するハードコードされた規則で実装され、開発者がこのことを可能にするための適切な計測を追加することを含む。実施形態において、クライアントが実際にウェブアプリケーションを実行する時のパフォーマンス情報を判定するための適切な計測コードを追加することにより、アプリケーションがこれらの値に基づき新しいコンテンツを次にどのように実行または要求するのかを制御することができる。例えば、現在実行中のコンテンツのパフォーマンスが低いと判定される時に、計測コードが自動的に挿入されて、コンテンツのロードを停止させることができる。さらに、信頼性の低い広告が表示されてページ上の映像の閲覧のパフォーマンスが低いと思われるような場合、計測コードが挿入されてブラウザで閲覧されるコンテンツを変更することができる。このように、後続の要求が継続してパフォーマンスおよびアベイラビリティを低下させることはない。III.例示のコンピュータ装置の実施形態ブラウザ106、応答パイプライン108、応答パイプライン202、クライアントアプリケーションコードジェネレータ204、アプリケーション計測モジュール206、スキャニングポリシー構成モジュール502、監視ポリシー構成モジュール504、パフォーマンスデータ受信モジュール506、アプリケーションスキャニングモジュール602、計測挿入モジュール604、HTTPパイプライン702、第1番目から第n番目の段階704aから704n、応答フィルタ706、HTTPパイプライン802、第1番目から第n番目のHTTPモジュール804aから804n、HTTPハンドラ806、応答パイプライン902、およびプロファイラ904は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組み合わせで実装することができる。例えば、ブラウザ106、応答パイプライン108、応答パイプライン202、クライアントアプリケーションコードジェネレータ204、アプリケーション計測モジュール206、スキャニングポリシー構成モジュール502、監視ポリシー構成モジュール504、パフォーマンスデータ受信モジュール506、アプリケーションスキャニングモジュール602、計測挿入モジュール604、HTTPパイプライン702、第1番目から第n番目の段階704aから704n、応答フィルタ706、HTTPパイプライン802、第1番目から第n番目のHTTPモジュール804aから804n、HTTPハンドラ806、応答パイプライン902、および/またはプロファイラ904は、1つまたは複数プロセッサにおいて実行されるべく構成されるコンピュータプログラムコードとして実装することができる。あるいは、ブラウザ106、応答パイプライン108、応答パイプライン202、クライアントアプリケーションコードジェネレータ204、アプリケーション計測モジュール206、スキャニングポリシー構成モジュール502、監視ポリシー構成モジュール504、パフォーマンスデータ受信モジュール506、アプリケーションスキャニングモジュール602、計測挿入モジュール604、HTTPパイプライン702、第1番目から第n番目の段階704aから704n、応答フィルタ706、HTTPパイプライン802、第1番目から第n番目のHTTPモジュール804aから804n、HTTPハンドラ806、応答パイプライン902、および/またはプロファイラ904は、ハードウェア論理/電気回路として実装することができる。図14は、本発明の実施形態を実装することができるコンピュータ1400の例示の実装を示す。例えば、クライアント102、アプリケーションサーバ104、および/または管理サーバ208はそれぞれ、コンピュータ1400と同様に実装されて良く、コンピュータ1400の1つまたは複数の特徴および/または代替の特徴を有する。コンピュータ1400は、例えば、従来のパーソナルコンピュータの形式の汎用のコンピュータ装置、モバイルコンピュータ、またはワークステーションであって良く、または、コンピュータ1400は特定用途のコンピュータ装置であって良い。本明細書で提供されるコンピュータ1400の説明は例示の目的で提供されるものであり、制限することは意図されない。本発明の実施形態は、さらなるタイプのコンピュータシステムにおいて実装されて良いことは、当業者には既知であろう。図14に示すように、コンピュータ1400には、プロセシングユニット1402、システムメモリ1404、および、システムメモリ1404を含む種々のシステム構成要素をプロセシングユニット1402に連結させるバス1406が含まれる。バス1406はいくつかのタイプのバス構造のいずれかの内の1つまたは複数を表し、これに含まれるものには、メモリバスもしくはメモリコントローラ、周辺機器用バス、アクセラレイティッドグラフィックスポート、およびプロセッサ、または様々なバスアーキテクチャのいずれかを使用するローカルバスがある。システムメモリ1404には、ROMreadonlymemory1408およびRAMrandomaccessmemory1410が含まれる。基本入出力システム1412BIOSはROM1408に格納される。コンピュータ1400は、ハードディスクに読み書きを行うためのハードディスクドライブ1414、着脱可能磁気ディスク1418に読み書きを行うための磁気ディスクドライブ1416、および、CDROM、DVDROMまたは他の光媒体等の着脱可能光ディスク1422に読み書きを行うための光ディスクドライブ1420、といったドライブの内の1つまたは複数を有しても良い。ハードディスクドライブ1414、磁気ディスクドライブ1416、および光ディスクドライブ1420はそれぞれ、ハードディスクドライブインターフェース1424、磁気ディスクドライブインターフェース1426、および光ドライブインターフェース1428によりバス1406に対して接続される。ドライブおよび関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよびコンピュータ用の他のデータの不揮発性記憶装置を提供する。ハードディスク、着脱可能磁気ディスクおよび着脱可能光ディスクについて記載したが、他のタイプのコンピュータ可読媒体を使用してデータを記憶することが可能であり、これにはフラッシュメモリカード、デジタルビデオディスク、RAMrandomaccessmemory、ROMreadonlymemory、などがある。多数のプログラムモジュールがハードディスク、磁気ディスク、光ディスク、ROMまたはRAMに記憶されて良い。これらのプログラムには、オペレーティングシステム1430、1つまたは複数のアプリケーションプログラム1432、他のプログラムモジュール1434、およびプログラムデータ1436が含まれる。アプリケーションプログラム1432またはプログラムモジュール1434には、例えば、ブラウザ106、応答パイプライン108、応答パイプライン202、クライアントアプリケーションコードジェネレータ204、アプリケーション計測モジュール206、スキャニングポリシー構成モジュール502、監視ポリシー構成モジュール504、パフォーマンスデータ受信モジュール506、アプリケーションスキャニングモジュール602、計測挿入モジュール604、HTTPパイプライン702、第1番目から第n番目の段階704aから704n、応答フィルタ706、HTTPパイプライン802、第1番目から第n番目のHTTPモジュール804a-804n、HTTPハンドラ806、応答パイプライン902、プロファイラ904、フローチャート300、フローチャート1100、および/またはフローチャート1300フローチャート300、1100および1300の任意のステップを含むを実装するためのコンピュータプログラム論理が含まれて良い。ユーザは、キーボード1438およびポインティングデバイス1440などの入力装置を介してコンピュータ1400にコマンドおよび情報を入力することができる。他の入力装置図示せずに含まれるものには、マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、などがある。これらおよび他の入力装置は、バス1406に連結されるシリアルポートインターフェース1442を介してプロセシングユニット1402に連結されて良いが、パラレルポート、ゲームポート、またはUSBuniversalserialbusなどの他のインターフェースにより連結されても良い。表示装置1444も、ビデオアダプタ1446などのインターフェースを介してバス1406に連結される。モニタに加えて、コンピュータ1400には、スピーカおよびプリンタなどの他の周辺出力装置図示せずが含まれて良い。コンピュータ1400は、アダプタまたはネットワークインターフェース1450、モデム1452、またはネットワーク上で通信を確立するための他の手段を介して、ネットワーク1448例えば、インターネットに接続される。モデム1452は、内蔵または外付けが可能で、シリアルポートインターフェース1442を介してバス1406に接続される。本明細書において使用される時、用語コンピュータプログラム媒体およびコンピュータ可読媒体は、概して、ハードディスクドライブ1414に関連するハードディスク、着脱可能磁気ディスク1418、着脱可能光ディスク1422などの媒体のみならず、フラッシュメモリカード、デジタルビデオディスク、RAMrandomaccessmemory、ROMreadonlymemoryなどの他の媒体を指して使用される。上記で言及したように、コンピュータプログラムおよびモジュールアプリケーションプログラム1432および他のプログラムモジュール1434が含まれるは、ハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに記憶されて良い。そのようなコンピュータプログラムは、ネットワークインターフェース1450またはシリアルポートインターフェース1442を介して受け取られても良い。そのようなコンピュータプログラムは、アプリケーションにより実行またはロードされると、本明細書において検討した本発明の実施形態の特徴をコンピュータ1400が実装することを可能にする。従って、そのようなコンピュータプログラムはコンピュータ1400のコントローラに相当する。本発明は、任意のコンピュータ使用可能媒体上に記憶されるソフトウェアを備えるコンピュータプログラム製品も対象とする。そのようなソフトウェアは、1つまたは複数データ処理装置において実行されると、本明細書において記載したようにデータ処理装置を動作させる。本発明の実施形態は、現在または将来において既知である任意のコンピュータ使用可能媒体またはコンピュータ可読媒体を採用する。コンピュータ可読媒体の例には、RAM、ハードドライブ、フロッピー登録商標ディスク、CDROM、DVDROM、ジップディスク、テープ、磁気記憶装置、光記憶装置、メモリ、ナノテクノロジーベースの記憶装置、などの記憶装置が含まれるがこれに限定されない。IV.結び本発明の種々の実施形態が上記に記載されたが、それらは単なる例として提示されたものであり、制限するものではないことは理解されるべきである。当業者には理解されるであろうが、形式や詳細についての種々の変更が、添付の請求項において定義されるような本発明の精神および範囲から逸脱することなく本明細書においてなされて良い。従って、本発明の広さおよび範囲は、上述の例示の実施形態のいずれによっても制限されるべきではなく、以下の請求項およびその等価物によってのみ定義されるべきである。"