(57)【要約】      （修正有）【課題】モバイルインターネットアクティビティを監視するためのシステム、方法、及び装置を提供する。【解決手段】クライアントデバイスからのコンテンツ要求の識別子によって識別されたアプリケーションが認証をサポートするかどうかを決定するステップ５１６，５１７と、コンテンツ要求の識別子が認証をサポートするアプリケーションを識別する場合、コンテンツ要求によって識別されたコンテンツをクライアントデバイスに送信するステップ５４５と、コンテンツ要求によって要求されたコンテンツの識別子をクライアントデバイスと関連付けて格納するステップ５５５，５７０とを含む。【選択図】図５Ａ
2012053871.tif 000002
【特許請求の範囲】
【請求項１】
インターネットアクティビティを監視するための方法であって、
クライアントデバイスからのコンテンツ要求の識別子によって識別されたアプリケーションが認証をサポートするかどうかを決定するステップと、
前記コンテンツ要求の前記識別子が認証をサポートするアプリケーションを識別する場合、前記コンテンツ要求によって識別されたコンテンツを前記クライアントデバイスに送信するステップと、
前記コンテンツ要求によって要求された前記コンテンツの識別子を前記クライアントデバイスと関連付けて格納するステップと
を含む方法。
【請求項２】
前記コンテンツの一部を前記クライアントデバイスと関連付けて格納するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記コンテンツ要求の前記識別子がユーザエージェント識別子を備える、請求項１に記載の方法。
【請求項４】
有効な証明書が前記コンテンツ要求と関連付けられて提供されているかどうかを決定するステップと、
前記ユーザエージェント識別子が認証をサポートするアプリケーションのパターンに実質的に一致し、有効な証明書が前記コンテンツ要求と関連付けられて提供されていない場合、証明書についての要求を前記クライアントデバイスに送信するステップと、
前記ユーザエージェント識別子が認証をサポートするアプリケーションの前記パターンに実質的に一致し、有効な証明書が前記コンテンツ要求と関連付けられて提供されている場合、前記コンテンツ要求によって識別されたコンテンツを前記クライアントデバイスに送信するステップと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記証明書に関連付けられたパネリスト識別子を前記識別子に関連付けるステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記パネリスト識別子が、前記コンテンツ要求と関連付けられて提供される前記証明書である、請求項５に記載の方法。
【請求項７】
プロキシを介してコンテンツ要求を送信するようクライアントデバイスに指示するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記プロキシを介してコンテンツ要求を送信するよう前記クライアントデバイスに指示するステップが、前記証明書、及び前記プロキシのインターネットプロキシアドレスを送信し、前記クライアントデバイスがコンテンツについてのその後のすべての要求を前記プロキシに送信するようにするステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記証明書及び前記インターネットプロキシアドレスを送信するステップが、前記証明書及び前記インターネットプロキシアドレスを含む構成ドキュメントを生成するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記構成ドキュメントが、コンテンツについてのその後のすべての要求を前記プロキシに送信するように前記クライアントデバイスを構成するよう前記クライアントデバイスに関連付けられているパネリストに指示する指示をさらに備える、請求項９に記載の方法。
【請求項１１】
インターネットアクティビティを監視するための方法であって、
パネリストから登録データを受信するステップと、
証明書を前記パネリストのクライアントデバイスに割り当てるステップと、
前記クライアントデバイス及びプロキシアドレスに関連付けられた前記証明書を識別する構成ドキュメントを生成するステップであり、前記構成ドキュメントが、前記プロキシアドレスを介してコンテンツについてのその後の要求を引き起こすよう前記パネリストに指示する、ステップと、
前記構成ドキュメントを前記クライアントデバイスに送信するステップと
を含む方法。
【請求項１２】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた電子メールアドレスを備え、前記構成ドキュメントを送信するステップが、前記パネリストに関連付けられた前記電子メールアドレスに前記構成ドキュメントを電子的にメールするステップを含む、請求項１１に記載の方法。
【請求項１３】
前記構成ドキュメントをダウンロードするためのハイパーリンクを前記パネリストに提供するステップをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた電話番号を備え、前記構成ドキュメントを送信するステップが、前記パネリストに関連付けられた前記電話番号に前記構成ドキュメントへのリンクをテキストメッセージで送るステップを含む、請求項１１に記載の方法。
【請求項１５】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた一意の識別子を備え、前記構成ドキュメントを送信するステップが、前記パネリストに前記構成ドキュメントへのリンクを送信するステップを含む、請求項１１に記載の方法。
【請求項１６】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた郵送先住所を備え、前記構成ドキュメントを送信するステップが、前記パネリストに関連付けられた前記郵送先住所に前記構成ドキュメントを郵送するステップを含む、請求項１１に記載の方法。
【請求項１７】
前記構成ドキュメントが、前記証明書及び前記インターネットプロキシアドレスを構成設定として前記クライアントデバイスに入力するよう前記パネリストに指示するための指示ドキュメントを備える、請求項１６に記載の方法。
【請求項１８】
前記構成ドキュメントが、前記クライアントデバイスに関連付けられている前記証明書及び前記インターネットプロキシアドレスが前記クライアントデバイスに適用されるように、前記クライアントデバイスによって解釈される、請求項１１に記載の方法。
【請求項１９】
前記パネリストから受信された前記登録データが、前記パネリストによって使用された前記クライアントデバイスのモデル番号を含み、前記構成ドキュメントが特に前記設定を前記クライアントデバイスに適用するよう前記パネリストに指示するために生成される、請求項１８に記載の方法。
【請求項２０】
インターネットアクティビティを監視するための方法であって、
プロキシにおいてインターネットコンテンツについての要求を受信するステップであり、前記要求が無線アクセスポイントを介して要求を送信するモバイルデバイスから発せられる、ステップと、
前記インターネットコンテンツについての要求のユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別するかどうかを決定するステップと、
有効な識別子が前記インターネットコンテンツについての要求と関連付けられて提供されているかどうかを決定するステップと、
前記インターネットコンテンツについての要求の前記ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別し、有効な証明書が前記インターネットコンテンツについての要求と関連付けられて提供されていない場合、証明書についての要求を送信するステップと、
前記インターネットコンテンツについての要求の前記ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別し、有効な証明書が前記インターネットコンテンツについての要求と関連付けられて提供されている場合、前記インターネットコンテンツについての要求をモバイルデバイスと関連付けるステップと、
前記インターネットコンテンツについての要求で識別されたインターネットコンテンツプロバイダにコンテンツを要求するステップであり、前記インターネットコンテンツプロバイダが前記プロキシとは異なる、ステップと、
前記コンテンツを前記モバイルデバイスに送信するステップと
を含む方法。
【請求項２１】
前記インターネットコンテンツについての要求をデータベースに格納するステップをさらに含む、請求項２０に記載の方法。
【請求項２２】
前記インターネットコンテンツについての要求の前記ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別し、有効な証明書が前記インターネットコンテンツについての要求と関連付けられて提供されている場合、前記インターネットコンテンツについての要求と前記モバイルデバイスとの間の前記関連付けを前記データベースに格納するステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
インターネットアクティビティを監視するためのシステムであって、
インターネットデータについて、少なくとも１つのクライアントデバイスからのインターネットデータ要求に応じるためのプロキシであり、
インターネットデータについての要求を受信するための要求ポートと、
前記インターネットデータについての要求に基づいてインターネットデータを取り出すためのインターネットポートと、
前記要求ポートによって受信される前記要求のユーザエージェント識別子が、プロキシ認証をサポートするアプリケーションを識別するかどうかを決定し、有効な証明書が前記第１のポートによって受信される前記要求と関連付けられて提供されているかどうかを決定するための要求サービサーと
を備えるプロキシと、
有効な証明書が前記要求と関連付けられて提供されている場合、前記要求に関連付けられた前記証明書に基づいて、前記要求ポートを介して要求された前記インターネットデータの識別をパネリストと関連付けて格納するためのデータベースと
を備えるシステム。
【請求項２４】
前記クライアントデバイスを登録し、証明書を前記クライアントデバイスに一意に割り当て、構成ドキュメントを生成して、前記証明書及びインターネットプロキシアドレスを前記クライアントデバイスに送信するためのレジストラ
をさらに備える、請求項２３に記載のシステム。
【請求項２５】
前記レジストラが証明書、パネリスト、及び前記クライアントデバイスの間の関連付けを前記データベースに格納するためのものである、請求項２４に記載のシステム。
【請求項２６】
前記プロキシが前記クライアントからの前記インターネットデータ要求を前記データベースに格納するためのものである、請求項２３に記載のシステム。
【請求項２７】
前記プロキシが前記クライアントに送信された前記取り出されたインターネットデータを前記データベースに格納するためのものである、請求項２３に記載のシステム。
【請求項２８】
前記プロキシが、インターネットデータについての要求を受信し、無線ネットワークを介してインターネットデータを送信するためのものである、請求項２３に記載のシステム。
【請求項２９】
前記無線ネットワークがＷｉＦｉネットワークである、請求項２８に記載のシステム。
【請求項３０】
インターネットアクティビティを監視するための装置であって、
インターネットコンテンツについての要求を受信するための要求及び応答ポートと、
前記要求及び応答ポートを介して前記インターネットコンテンツについての要求を受信し、前記要求及び応答ポートを介して前記インターネットコンテンツについての要求で識別されたインターネットコンテンツを送信するための要求サービサーと、
前記インターネットコンテンツについての要求をデータベースに格納するためのインターネットコンテンツプロセッサと、
インターネットポートと、
前記インターネットポートを介して前記インターネットコンテンツについての要求で識別された前記インターネットコンテンツを受信するためのコンテンツ収集部と
を備える装置。
【請求項３１】
前記インターネットコンテンツプロセッサが、前記要求に関連付けられた証明書を前記データベースに格納するためのものである、請求項３０に記載の装置。
【請求項３２】
前記インターネットコンテンツプロセッサが、前記インターネットコンテンツについての要求で識別された前記インターネットコンテンツの一部を格納するためのものである、請求項３０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は一般に、インターネットアクティビティを監視することに関し、より詳細には、モバイルインターネットアクティビティを監視するためのシステム、方法、及び装置に関する。
【背景技術】
【０００２】
[0002]近年、インターネットコンテンツにアクセスする方法が発展してきた。例えば、インターネットコンテンツには、以前は主に、デスクトップ及びラップトップのコンピュータなどのコンピュータシステムを介してアクセスしていた。最近、ユーザがインターネットコンテンツを要求し、閲覧することができるハンドヘルドモバイルデバイス（例えばスマートフォン）が導入された。通常、モバイルデバイスは、それだけには限定されないが、８０２．１１ｇ  ＷｉＦｉネットワークなどの無線アクセスネットワークを介してインターネットコンテンツを要求し、受信する。
【図面の簡単な説明】
【０００３】
【図１】[0003]モバイルインターネットアクティビティを監視するためのシステム例を示すブロック図である。
【図２】[0004]図１のシステム例による要求及び応答フロー例を示すブロック図である。
【図２Ａ】[0004]図１のシステム例による要求及び応答フロー例を示すブロック図である。
【図３】[0005]図１のプロキシ例を示すブロック図である。
【図４】[0006]図１、図２、及び図３のプロキシ例によって受信されるハイパーテキスト転送プロトコル（ＨＴＴＰ）要求の例を示す図である。
【図５】[0007]図１、図２、及び図３のプロキシ例を実施するために実行され得るマシン可読命令の例を表すフローチャートである。
【図５Ａ】[0007]図１、図２、及び図３のプロキシ例を実施するために実行され得るマシン可読命令の例を表すフローチャートである。
【図６】[0008]図１のレジストラ例を実施するために実行され得るマシン可読命令の例を表すフローチャートである。
【図７】[0009]例えば、図１、図２、及び図３のモニタ例、及び／又は図１のレジストラ例を実施するために図５、図５Ａ及び／又は図６のマシン可読命令を実行され得るコンピュータ例を示すブロック図である。
【０００４】
[0010]モバイル監視会社（Ｍｏｂｉｌｅ  ｍｏｎｉｔｏｒｉｎｇ  ｃｏｍｐａｎｉｅｓ）は、ユーザがスマートフォンなどのハンドヘルドモバイルデバイスとどのように対話するかについての知識を得ることを望む。特に、モバイル監視会社は、ハンドヘルドモバイルデバイスへの及び／又はハンドヘルドモバイルデバイスからのインターネットトラフィックを監視して、とりわけ広告に対するエクスポージャを監視し、広告の効果を決定し、ユーザの挙動を決定し、様々な人口統計に関連付けられた購入の挙動を識別することを望む。既知のいくつかのシステムは、プロキシサーバを使用して、監視されたデバイスに、及び監視されたデバイスから送信されているインターネットコンテンツを監視している。
【０００５】
[0011]こうした既知の監視システムは、単一のポートを介して監視されたハンドヘルドデバイスと通信し、このインターネット通信に関与するモバイルデバイスを一意に識別したユーザ名／デバイス名及びパスワードを含む認証証明書を提供するよう監視されたデバイスに要求したハイパーテキスト転送プロトコル（ＨＴＴＰ）プロキシとしてプロキシサーバを実施した。これらの監視システムによって、モバイル監視会社は、ユーザ名及びパスワードに基づいて、インターネットアクティビティを、発信元のモバイル装置に関連付けることができる。ハンドヘルドモバイルデバイスにおけるインターネットアクティビティは、（例えばアップル（Ａｐｐｌｅ）（登録商標）サファリ（Ｓａｆａｒｉ）（登録商標）など）ブラウザの使用に限定されない。例えば、アップル（登録商標）アイフォーン（ｉＰｈｏｎｅ）（登録商標）及びアップル（登録商標）アイパッド（ｉＰａｄ）（商標）は、特別な機能を実行するためにインターネットコンテンツにアクセスする多くのサードパーティアプリケーション（時として「Ａｐｐ」と呼ぶ）をサポートする。例えば、天気アプリケーションは、ｗｗｗ．ｗｅａｔｈｅｒ．ｃｏｍにＨＴＴＰデータを要求し、表示することができる。これらのａｐｐでは、通常、インターネット上でのウェブサイトからウェブサイトへの無制限のブラウズはできない（しかし、これらのａｐｐは、定義された１組のウェブページ内で移動することはできる）。したがって、ａｐｐは、通常、インターネット上の限定された１組のデータにアクセスすることができる。その一方で、ブラウザによって、ユーザは事実上インターネット上の任意の公に使用可能なサイト（コンテンツブロッカなどの制限の対象となる）にアクセスすることができ、ｗｗｗ．ｗｅａｔｈｅｒ．ｃｏｍなどのウェブサイトのコンテンツをユーザに直接表示する。
【０００６】
[0012]インターネットコンテンツにアクセスするいくつかのアプリケーションは、証明書を提供する旨のプロキシ要求に適切に応答するが、前の例の天気アプリケーションなど、多くのアプリケーションは、現在プロキシ認証をサポートしておらず、したがって、プロキシが証明書を要求する場合、機能しない。これは、パネリストにとってストレスとなる可能性があり、パネリストが監視パネルに参加することを断念する可能性がある。さらに、監視エンティティが、ユーザが挙動する方法に影響を与えることなく、インターネットアクティビティを監視することが望ましい。監視技術によってアプリケーションの障害をもたらすことは、その要求に矛盾する。
【０００７】
[0013]監視する方法の例のいくつかは、パネリスト及び／又はハンドヘルドモバイルデバイスに一意に割り当てられたポート上で非認証のプロキシを使用することを伴う。しかし、ハンドヘルドモバイルデバイスがＷｉＦｉネットワークを介して通信するとき、ハンドヘルドモバイルデバイスとプロキシとの間にファイアウォールが存在する可能性がある。例えば、多くの企業及び／又は会社は、ファイアウォールを使用して、悪意のある及び／又は不要なインターネットコンテンツが各ネットワークのユーザに到達するのを防ぐ。ファイアウォールは、特定のポートをブロックすることによって悪意のある及び／又は不要なインターネットコンテンツをブロックし、及び／又は防ぐ。ポート０から１０２３までは、Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ（ＩＡＮＡ）によってウェルノウンポート（Ｗｅｌｌ  Ｋｎｏｗｎ  Ｐｏｒｔ）として定義され、ＩＡＮＡへの登録無しに使用することが防止され、したがって、ウェルノウンポートを介した通信は、正当な通信である可能性が高く、逆にブロックされる可能性は低い。ウェルノウンポートの範囲外のインターネット通信は、悪意がある及び／又は不要と決定される可能性があり、したがって、ファイアウォールによってブロックすることができる。ファイアウォールは、ポート１０２４からポート６５５３５までのすべてのインターネット通信をブロックすることができ、一意に割り当てられたポートがブロックされた範囲（例えば、ポート１０２４からポート６５５３５まで）内にある場合、ハンドヘルドモバイルデバイスのインターネット通信をブロックすることができる。ファイアウォールは、未登録のポート上の通信をブロックするように構成することができるため、一部のパネリスト（例えば、ブロックされたポートを介して通信するパネリスト）は、ＷｉＦｉネットワークを使用するとき、アプリケーションの障害を経験する可能性がある。これは、パネリストにとってストレスとなる可能性があり、パネリストが監視パネルに参加することを断念する可能性がある。この場合も、監視エンティティが、ユーザが挙動する方法に影響を与えることなく、インターネットアクティビティを監視することが望ましい。監視技術によってアプリケーションの障害をもたらすことは、その要求に矛盾する。
【０００８】
[0014]非認証のプロキシ（例えば、ファイアウォールによってブロックされているプロキシポート）及び認証されたプロキシ（例えば、認証証明書についての要求に適切に応答しないアプリケーション）の両方を使用することに伴うエラーを避けるために、図１に示すシステム例は、能動的にフィルタ処理されたプロキシ（ａｃｔｉｖｅｌｙ  ｆｉｌｔｅｒｅｄ  ｐｒｏｘｙ）を使用する。能動的にフィルタ処理されたプロキシは、インターネット通信が認証証明書をサポートしないアプリケーションから発せられるとき、非認証のインターネット通信を許可しながら、インターネット通信を監視し、プロキシ認証をサポートするアプリケーションについての認証証明書を要求する。
【０００９】
[0015]クライアントデバイスのアプリケーションがインターネットコンテンツを要求するとき、アプリケーションは、コンテンツについての要求にユーザエージェントフィールドを組み込む。ユーザエージェントフィールドは、コンテンツを要求しているアプリケーションを表す。例えば、ブラウザアプリケーションがインターネットコンテンツを要求することになっていた場合、ユーザエージェントフィールドは、ブラウザアプリケーションがコンテンツを要求していたことをコンテンツサーバに対して特定する。アプリケーションが認証の要求に応答することがわかっている場合、図１の監視システムは、アプリケーションから要求を受信すると、有効な証明書が提供されたかどうかを決定する。有効な証明書が提供された場合、監視システムは、要求を、要求によって識別されたインターネットコンテンツプロバイダに転送する。代わりに、アプリケーションが認証の要求に応答しないことがわかっている場合、監視システムは、アプリケーションから要求を受信すると、要求を、要求によって識別されたインターネットコンテンツプロバイダに転送する。
【００１０】
[0016]アプリケーションは毎日開発されており、したがって、新しいユーザエージェント識別子は絶え間なく生成されている。例えば、新しいバージョンのアプリケーションをリリースすると、新しいユーザエージェント識別子は、インターネットコンテンツを要求するアプリケーションのバージョンを識別することができる。認証の要求に応答するアプリケーションを適切に識別するために、ユーザエージェントを、認証能力がわかっているアプリケーションと照合する。例えば、新しいバージョンのブラウザアプリケーションがリリースされ、新しいユーザエージェント識別子を含む場合、前のバージョンのブラウザアプリケーションのユーザエージェント識別子は、新しいバージョンのユーザエージェント識別子に実質的に一致し得る。前のバージョンのブラウザアプリケーションが認証をサポートしている場合、次のバージョンも認証をサポートする可能性があり、したがって、認証証明書が必要とされる。
【００１１】
[0017]次いで監視システムは、クライアントデバイスがデータ自体の一部又はすべてを要求し、及び／又は受信するデータを記録することができる。データの識別及び／又はデータ自体（例えばウェブコンテンツ）は、本明細書では、一括して「セッションデータ」と呼ぶ。セッションデータは、セッションデータが共に送信される証明書を介してパネリストと関連付けられて記録される。記録されたセッションデータ及び記録された証明書から、監視システムは、パネリストへのサービスの中断を回避しながら、特定のパネリストが訪れているサイト（複数可）、及びパネリストが各自のモバイルデバイスとどのように対話したかを一意に識別することができる。
【００１２】
[0018]図１は、モバイルインターネットアクティビティを監視するためのシステム例１００のブロック図である。システム例は、ハンドヘルドモバイルデバイス（例えば、第１のパネリスト１１５に関連付けられた第１のクライアントデバイス１１０、第２のパネリスト１３５に関連付けられた第２のクライアントデバイス１３０など）への及び／又はハンドヘルドモバイルデバイスからのインターネットトラフィックを監視する。監視されたデバイス（例えば、クライアントデバイス１１０及びクライアントデバイス１３０）とインターネットサイト（インターネットコンテンツプロバイダ（複数可）１７０を示す）との間の監視されたインターネットトラフィックは、監視システム例１００にルーティングされる。図１に示すように、トラフィックは、無線（例えばＷｉＦｉ）通信システム（例えばインターネットサービスプロバイダ１４５及び通信リンク１２０、１４０）を通過する。監視システム例１００は、レジストラ１５５、ストレージデータベース１６０、及びプロキシ１６５を含む。
【００１３】
[0019]図１の第１及び第２のクライアントデバイス１１０及び１３０の例は、ハンドヘルドモバイルデバイスである。示した例では、第１のクライアントデバイス１１０は、アップル（登録商標）アイフォーン（登録商標）として示されており、第２のクライアントデバイス１３０は、フリップフォンとして示されているが、任意の別のタイプのデバイスが使用されてもよい。例えば、他のタイプの電話、ラップトップコンピュータ、デスクトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、ネットブック、又はタブレットコンピュータ（例えば、アップル（登録商標）アイパッド（商標））を、追加として、又は代わりに使用してもよい。第１及び第２のクライアントデバイス１１０、１３０は、任意のモバイルオペレーティングシステムを実装することができ、任意のタイプのハードウェア及び／又はフォームファクタを実装することができる。示した例では、第１及び第２のクライアントデバイス１１０、１３０は、モバイルデバイスであって、第１及び第２の無線通信リンク１２０、１４０を介して通信する。
【００１４】
[0020]示した例の第１及び第２の通信リンク１２０、１４０は、ＷｉＦｉ通信リンクである。しかし、例えば、Ｅｔｈｅｒｎｅｔ接続、Ｂｌｕｅｔｏｏｔｈ接続、セルラー接続など、通信の任意の他の方法及び／又はシステムをさらに又は代わりに使用してもよい。さらに、図１の第１及び第２の通信リンク例１２０、１４０は、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  （ＩＥＥＥ）８０２．１１ｇ標準を介してＷｉＦｉ接続を実施する。しかし、例えばＩＥＥＥ８０２．１１ｎ、ＩＥＥＥ８０２．１１ｂなど、通信の任意の他のシステム及び／又はプロトコルを使用してもよい。
【００１５】
[0021]示した例の第１及び第２のパネリスト１１５、１３５は、監視サービスに参加するパネリストである。図１のシステム例は、パネリストベースのシステムであるが、非パネリスト及び／又はハイブリッドパネリストシステムが代わりに使用されてもよい。示した例のパネリストシステムでは、ユーザがパネルに参加し、及び／又は登録すると、ユーザから人口統計情報が得られる。人口統計情報は、ユーザにオンライン調査などを終了させることによって、電話インタビューを介してユーザから得ることができる。追加として、又は代わりに、任意の所望の方法（例えば、ランダムな選択、統計的な選択、電話による勧誘、インターネット広告、調査、ショッピングモールでの広告など）を使用してパネリストに連絡を取り、及び／又は協力を求めることができる。
【００１６】
[0022]示した例では、第１及び第２のパネリスト１１５、１３５は、それぞれ第１及び第２のクライアントデバイス１１０、１３０に関連付けられる。示した例では、クライアントデバイス１１０、１３０は、所有され、リースされ、又は他の方法でそれぞれのパネリストに属する。示した例の監視エンティティは、クライアントデバイスを提供しない。他のシステムでは、パネルに参加するためのクライアントデバイスがパネリストに提供されてもよい。示した例では、第１及び第２のクライアントデバイス１１０、１３０はそれぞれ、１人のパネリストに関連付けられているが、代わりに、第１及び第２のクライアントデバイス１１０、１３０が複数のパネリストに関連付けられてもよい。例えば、家族は、複数のユーザ間で共有できる単一のクライアントデバイスを有しているかもしれない。クライアントデバイスの共有は、クライアントデバイスがポータブルコンピュータ（例えば、アップル（登録商標）アイパッド（商標））である場合に比べて、クライアントデバイスが携帯電話である場合はあまり一般的ではない。
【００１７】
[0023]示した例のインターネットサービスプロバイダ１４５は、通信リンク１２０、１４０を介して、無線インターネットサービスを第１及び第２のクライアントデバイス１１０、１３０に提供する。示した例では、無線サービスは、ＷｉＦｉ接続を介して提供される。しかし、インターネットサービスプロバイダ１４５は、任意の他のタイプの接続を介してインターネットサービスを提供することができる。さらに、インターネットサービスプロバイダ１４５は、ＩＥＥＥ８０２．１１ｇ標準を介してＷｉＦｉ接続を実施することができる。しかし、通信のための任意の他のシステム及び／又はプロトコルを使用してもよい。実際には、インターネットサービスプロバイダ１４５は、時としてローカルアクセスポイントと呼ばれ、ローカルエリアネットワークをクライアントデバイスに提供する。示した例では、インターネットサービスプロバイダは、ＩＡＮＡによって定義されたウェルノウンポートの範囲内にはないすべてのポート（ポート１０２４からポート６５５３５）をブロックするファイアウォールを含む。しかし、ファイアウォールによってブロックされたポートは、任意の他のポートとしてもよく、インターネットサービスプロバイダによって異なり得る。例えば、（例えば、オフィス又は企業における）会社のネットワークのファイアウォールのセキュリティポリシは、より制限的であってもよく、パブリックネットワーク（例えば、喫茶店など公の場所においてホストされる無線アクセスネットワーク）のファイアウォールのセキュリティポリシより多くのポートをブロックすることができる。
【００１８】
[0024]示した例では、監視システム１００は、複数のコンピュータシステムとして示されている。しかし、監視システム１００は、最終的に、単一のコンピューティングシステムから成っていてもよい。示した例では、監視システム１００は、レジストラ１５５、ストレージデータベース１６０、及びプロキシ１６５を含む。しかし、レジストラ１５５、ストレージデータベース１６０、及び／又はプロキシ１６５、及び／又は他の機能によって実施される機能のうちの１つ又は複数の部分を実行するために、追加の構造を実装することができる。
【００１９】
[0025]図１の例では、レジストラ１５５は、パネリスト１１５、１３５から登録情報を受信し、パネリスト１１５、１３５及び／又はそれぞれのクライアントデバイス１１０、１３０を識別するレコードを格納する。示した例では、受信した登録情報は、人口統計情報を含む。しかし、追加として、又は代わりに、任意の他の情報が集められてもよい。登録情報は、例えば、パネリストに関連付けられたモバイルデバイスのモデルを識別する情報、パネリストに関連付けられた郵送先住所、パネリストに関連付けられたｅメールアドレス、モバイルデバイスに関連付けられた電話番号、パネリスト及び／又はモバイルデバイスの一意の識別子（例えば、パネリストの社会保障番号、モバイルデバイスの電話番号、パネリストの郵便番号、パネリスト及び／又はモバイルデバイスに関連する任意の情報の任意の組み合わせ又は派生）、パネリストの年齢、パネリストの性別、パネリストの人種、パネリストの所得、パネリストが通常各自のデバイスを使用しようとする場合、パネリストがどのくらいの期間各自のデバイスを所有しているか、パネリストの教育レベル、及び／又はパネリスト及び／又はモバイルデバイスに関連する任意の他の情報を含み得る。
【００２０】
[0026]示した例では、登録データは、電子インターフェイスを介してレジストラ１５５によって受信される（例えば、パネリストがウェブサイトでフォームにデータを入力する、又はウェブサイトで調査の質問に答えることによって）。しかし、レジストラは、他の手段を介して登録データを受信してもよい。例えば、レジストラは、個人面接（電話で、又は直に）、電話インターフェイス、ダイレクトメール、購入リストなどを介して登録データを受信することができる。示した例のレジストラ１５５は電子システムであるが、代わりに、１人の人又は一群の人が登録データを集め、ストレージデータベース１６０に入力することによって、手動でレジストラ１５５を実施することができる。
【００２１】
[0027]登録データを受信すると、示した例のレジストラ１５５は、パネリスト及びデバイス識別子情報を集められた人口統計情報に関連付けるレコードを作成する。レジストラ１５５は、一意の英数字識別子をパネリスト又はデバイスに割り当てることもできる。識別子は、例えば、クライアントデバイスのシリアル番号に基づいていてもよい。レコードは、ストレージデータベース１６０に格納されている。また、示した例では、レジストラ１５５は、一意の証明書をパネリスト１１５、１３５、及び／又はクライアントデバイス１１０、１３０に割り当て、レコード内に（又は、そのパネリスト及び／又はクライアントデバイスのレコードと関連付けて）証明書を格納する。上述したように、証明書を割り当て、格納することに加えて、レジストラは、追加の識別子を割り当て、格納することができる。例えば、レジストラは、クライアントデバイス及び／又はパネリストの識別子を割り当て、格納することができる。パネリスト又はクライアントデバイス識別子（複数可）は、証明書と同じでもよく、又は証明書とは異なっていてもよい。さらに、ストレージデータベース１６０に証明書を格納するとき、レジストラは、証明書を符号化し、及び／又は暗号化して、セキュリティ及び／又は匿名性をパネリストに提供することができる。
【００２２】
[0028]証明書を割り当て、格納することに加えて、示した例のレジストラ１５５は、構成ドキュメントを生成する。示した例では、構成ドキュメントは、クライアントデバイスを構成するようパネリストに指示する。示した例の指示ドキュメントは、ｅメールメッセージである。しかし、さらに又は代わりに、任意の他のタイプの指示ドキュメントを使用してもよい。例えば、ポータブルドキュメントフォーマット（ＰＤＦ）ドキュメント及び／又はマイクロソフト（Ｍｉｃｒｏｓｏｆｔ）（登録商標）ワード（Ｗｏｒｄ）（登録商標）ドキュメントをｅメールメッセージの添付としてパネリストに送信してもよい。さらに、構成ファイルは、登録データの一部としてレジストラによって受信されるモバイルデバイスのモデルに基づいて、特定のタイプのモバイルデバイスに合わせてカスタム生成することができる。
【００２３】
[0029]あるいは、構成ドキュメントは、構成ドキュメントに含まれる設定を適用するようモバイルデバイスに指示することができる電子可読ファイルを備えていてもよい。いくつかの例では、構成ドキュメントは、対応するパネリスト及び／又はクライアントデバイスによって使用される証明書、ポート番号、及びインターネットプロキシアドレスなどの構成データを備えるプロパティリスト（本明細書ではｐリストと呼ぶ）ファイルを実装する拡張可能なマーク付け言語（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＸＭＬ）ファイルである。しかし、例えば、カンマ区切り（ＣＳＶ）ドキュメント、ポータブルドキュメントフォーマット（ＰＤＦ）ドキュメント、マイクロソフト（登録商標）ワード（登録商標）ドキュメントなど、任意の他のタイプのドキュメントを生成することができる。示した例では、構成ドキュメントは、公開／秘密鍵インフラストラクチャを使用して署名される。しかし、もう一つの選択肢として、構成は署名しなくてもよい。構成ドキュメントは、署名されない場合、パネリストに対して無効な構成ファイルとして表示される可能性があり、これによって、パネリストがパネルへの参加を断念する可能性がある。構成ドキュメントが対応するクライアントデバイスに送信される（例えば、ファイルが添付されている、又はファイルへのリンクを含むｅメールメッセージを介して）。次いでクライアントデバイスは、構成ファイル内のデータを解釈し、それによって、データ（例えば証明書及びインターネットプロキシアドレス）をモバイルデバイスの将来の通信に適用することができる。示した例では、構成ファイルによって、モバイルデバイスは、すべてのインターネットトラフィックを、プロキシ１６５のインターネットアドレスに送信し、こうした通信においてクライアントデバイスに割り当てられた証明書を指定する。その結果、モバイルデバイスへの及び／又はモバイルデバイスからのすべてのインターネット通信は、プロキシ１６５にアドレス指定され、認証されると、その特定のクライアントデバイスを特定し、又はその特定のクライアントデバイスに関連付けることができる。示した例では、アップル（Ａｐｐｌｅ）（登録商標）アイフォーン（iＰｈｏｎｅ）（登録商標）、アップル（登録商標）アイポッド（ｉＰｏｄ）（登録商標）、アップル（登録商標）アイパッド（ｉＰａｄ）（商標）による解釈のために、ｐリストファイルが実装される。しかし、モバイルデバイスは、任意の他のタイプのモバイルデバイスでもよく、任意のタイプの構成ドキュメントを受け入れることができる。
【００２４】
[0030]図１の例では、構成ドキュメントは、プロキシ１６５と通信するようにクライアントデバイスを構成するようパネリストに指示する指示ドキュメントである。しかし、さらに又は代わりに、構成ドキュメントは、インターネット関連のメッセージをプロキシ１６５に伝えるようクライアントデバイスを自動的に構成するようにクライアントデバイスによって解釈することができる電子ドキュメントとすることができる。構成ドキュメントは、それによって、構成ドキュメントに格納されたデータをどのように適用するかについてパネリストに指示する、又は構成ドキュメントに格納されたデータをクライアントデバイスにどのように直接適用するかについてパネリストに指示することができる。
【００２５】
[0031]示した例で上述したように、構成ドキュメントは、ｅメールメッセージを介してパネリストに送信される。しかし、さらに又は代わりに、構成ドキュメントをパネリストに送信する任意の他の手段を使用してもよい。例えば、構成ドキュメントへのハイパーリンクを含むｅメールメッセージを送信してもよく、構成ドキュメントを、ショートメッセージサービス（ＳＭＳ）メッセージを介してパネリストに送信してもよく、構成ドキュメントをパネリストに郵送してもよく、及び／又はクライアントデバイスを構成するようパネリストに指示するために、パネリストに電話をかけてもよい。
【００２６】
[0032]最後に、レジストラ１５５は、構成ドキュメントをパネリスト及び／又はクライアントデバイスに送信する。示した例では、構成ドキュメントは、電子メール（ｅメール）メッセージを介して提供される。ｅメールメッセージは、構成ドキュメントをクライアントデバイスにダウンロードするためのハイパーリンクを含む。しかし、さらに又は代わりに、構成ドキュメントを送信する任意の他の方法を使用してもよい。例えば、構成ドキュメントをｅメールメッセージの添付として送信してもよく、レジストラ１５５は、クライアントデバイスが構成ドキュメントをダウンロードすることができるインターネットアドレスへのリンク又はインターネットアドレスのテキスト表現を備えるショートメッセージサービス（ＳＭＳ）メッセージを送信してもよく、構成ドキュメントを備え、及び／又は構成ドキュメントを含む電子媒体をさらに備えるダイレクトメールをパネリストに送信してもよく、クライアントデバイスをどのように構成するかについてパネリストに口頭で指示するために電話をかけてもよい。
【００２７】
[0033]図１のレジストラ１５５は、プロセッサ実行命令によって実施されるが、代わりに、ＡＳＩＣ、ＤＳＰ、ＦＰＧＡ、又は他の回路によって実施することができる。ストレージデータベース１６０は、パネリスト１１５、１３５をクライアントデバイス１１０、１３０と関連付ける識別子をレジストラ１５５から受信し、格納する。さらに、ストレージデータベース１６０は、プロキシ１６５から監視データを受信し、格納する。監視データは、証明書が提供されたとき、対応する監視されたインターネットトラフィックのために使用される認証証明書を介して対応するパネリスト及び／又はクライアントデバイスに関連付けられる。ストレージデータベース１６０は、識別子及び／又は測定データではないデータを格納することもできる。例えば、監視システム１００の任意の構成要素のための更新されたソフトウェア及び／又は更新されたファームウェアは、ストレージデータベース１６０に格納され得る。さらに、ストレージデータベース１６０は、レジストラ１５５が構成ドキュメントを生成できるようにする情報を格納することができる。例えば、ストレージデータベース１６０は、クライアントデバイス１１０、１３０のモデルなど、登録情報を格納することができる。さらに、ストレージデータベース１６０は、レジストラ１５５によって集められる人口統計データを格納することができる。
【００２８】
[0034]ストレージデータベース１６０は、例えば、フラッシュメモリ、磁気媒体、光媒体など、データを格納するための任意のデバイスとすることができる。さらに、ストレージデータベース１６０に格納されたデータは、例えば、バイナリデータ、カンマ区切りデータ、タブ区切りデータ、構造化問い合わせ言語（ＳＱＬ）構造など、任意のデータフォーマットとすることができる。示した例では、ストレージデータベースは、単一のデータベースとして示されているが、ストレージデータベース１６０は、複数のデータベースによって実装することができる。
【００２９】
[0035]示した例のプロキシ１６５は、無線インターネットサービスプロバイダ１４５を介してクライアントデバイス１１０、１３０から要求を受信する。すべてのその後の要求をプロキシ１６５を介して送信するようクライアントデバイスに指示する構成ドキュメントがクライアントデバイスのそれぞれに適用されているために、クライアントデバイス１１０、１３０の要求は、プロキシ１６５によって受信される。示した例では、プロキシ１６５は、少なくとも１つのウェルノウンポート（例えば、ポート０からポート１０２３まで）を介してインターネットコンテンツ要求を受信する。ウェルノウンポートのみを使用することによって、インターネット通信は、ファイアウォールによってブロックされる可能性はあまり高くない。示した例において、単一のプロキシ１６５が使用されているが、任意の数のプロキシが図１のプロキシ１６５を表すことができる。サービス提供され得るパネリストの数に対する唯一の限定要因は、プロキシ１６５の処理能力であるため、パネルのこのサイズは、他のインターネットアドレスで追加のプロキシを使用することによって拡大することができる。他のインターネットアドレスにおける追加のプロキシは、同じプロキシ１６５又は複数のプロキシによって実装することができる。例えば、プロキシ１６５は、プロキシ１６５のネットワークインターフェイス（例えば仮想インターフェイス）に割り当てられた複数のインターネットアドレスを有することができ、又はプロキシ１６５は、インターネットアドレスをそれぞれ有する複数のネットワークインターフェイスを有することができる。示した例では、ウェルノウンポートの範囲内で使用されるポートのみが使用されているが、さらに又は代わりに、任意の他のポートが使用されてもよい。例えば、場合によっては登録ポート範囲内及び／又はダイナミック及び／又はプライベートポート範囲内のポートを使用して、パネリストからのインターネットコンテンツについての要求を受け入れることができる。監視システム１００などのパネル監視システムがテストされているシナリオでは、通常、パネルは、少なくとも６０人のパネリストを含む。進行中のパネルが使用されるシナリオでは、少なくとも１，５００人のパネリストのパネルサイズを使用することができる。
【００３０】
[0036]クライアントデバイス１１０、１３０から要求を受信すると、プロキシ１６５は、インターネットコンテンツプロバイダ１７０から（又は、例えば、前に要求され、格納されている場合、ローカルキャッシュから）要求されたインターネットコンテンツを取り出す。要求に関連付けられたパネリストを識別するために、プロキシ１６５は、要求がプロキシ認証をサポートするアプリケーションから発せられたかどうかを決定する。アプリケーションがプロキシ認証をサポートするよう識別された場合、プロキシ１６５は、証明書が提供されているかどうかを決定する。証明書が提供されていない場合、プロキシ１６５は、要求側デバイスに証明書を要求する。証明書が提供されている場合、プロキシは、証明書を介して要求をパネリストに関連付ける。
【００３１】
[0037]通常、コンテンツプロバイダ１７０と通信するためにプロキシによって使用されるポートは、ポート８０を介して行われるハイパーテキスト転送プロトコル（ＨＴＴＰ）データに限定される。インターネットコンテンツプロバイダ（複数可）１７０から要求されたインターネットコンテンツを取り出した後、示した例では、コンテンツは、割り当てられたポートを介して要求側のクライアントデバイス１１０、１３０に中継される。追加として、又は代わりに、割り当てられたポート（例えばポート８０）以外のポートを介して、コンテンツを要求側のクライアントデバイス１１０、１３０に中継してもよい。
【００３２】
[0038]示した例のプロキシ１６５は、クライアントデバイス１１０、１３０から発せられたインターネットコンテンツについての要求及び／又はこうした要求の一部（複数可）を、要求が共に受信された証明書と関連付けて、ストレージデータベース１６０に格納する。要求を格納する際、プロキシ１６５は、例えば、クライアントデバイス１１０、１３０の識別子、パネリスト１１５，１３５の識別子、及び／又はクライアントデバイス１１０、１３０によって提供された証明書など、他の識別子をさらに格納することができる。追加として、又は代わりに、プロキシ１６５は、ストレージデータベース１６０にインターネットコンテンツの一部を格納することができる。例えば、プロキシ１６５は、クライアントデバイス１１０、１３０に送信されたウェブページの本文を格納することができる。別の例では、プロキシ１６５は、クライアントに送信されたウェブぺージに表示される広告の識別子を格納することができる。これは特に、広告がウェブサイトで回転する状況で有用である。追加として、又は代わりに、プロキシ１６５は、例えばＨＴＴＰヘッダ、ＨＴＴＰヘッダのステータスコード、ＨＴＴＰヘッダのコンテンツタイプなど、応答の特徴を格納することができる。
【００３３】
[0039]インターネットコンテンツプロバイダ１７０は、インターネットを介してクライアントにコンテンツを提供する。示した例では、プロキシ１６５は、クライアントデバイス１１０、１３０の仲介として働き、したがって、インターネットコンテンツプロバイダ１７０のクライアントである。ほとんどのインターネットコンテンツはＨＴＴＰデータの形なので、インターネットコンテンツは、ポート８０を介して提供されることが多い。しかし、任意の他のポートを使用してインターネットコンテンツを提供することができる。例えば、ファイル転送プロトコル（ＦＴＰ）データは、ポート２１を介して送信することができ、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）を介したＨＴＴＰは、ポート４４３を介して送信することができる。
【００３４】
[0040]インターネットコンテンツプロバイダ１７０は、任意のプロバイダとすることができる。例えば、インターネットコンテンツプロバイダ１７０は、ハイパーテキストマーク付け言語（ＨＴＭＬ）コンテンツとしてフォーマットされるウェブページをホストするウェブサーバを備え得る。或いは、インターネットコンテンツプロバイダ１７０は、インターネットコンテンツにアクセスするアプリケーションにアプリケーションコンテンツを提供するアプリケーションサーバとすることができる。アプリケーションコンテンツをＨＴＭＬ、ＸＭＬとしてフォーマットしてもよく、又は任意の他のプロトコル又はポートを使用して、コンテンツを要求側に戻すことができる。いくつかの例では、アプリケーションデータは、インターネットコンテンツを要求するアプリケーション（例えば、上述した天気アプリケーション）を特に対象とするプロトコルで実装される。
【００３５】
[0041]図２は、図１のシステム例による要求及び応答フロー例を示すブロック図２００である。図２のブロック図２００は、モバイルデバイス２０５、ローカルネットワーク２３０、ファイアウォール２３２、プロキシ１６５、ストレージデータベース１６０、インターネット２４０、及びインターネットコンテンツプロバイダ１７０の間の通信を示す。モバイルデバイス２０５は、クライアントデバイス１１０、１３０のいずれかを表し、デバイスネットワーキングサブシステム２１０、ブラウザアプリケーション２１５、インターネットコンテンツにアクセスするアプリケーション２２０、及びユーザインターフェイス２２５を備える。さらに、ブロック図は、第１の要求２３５、第２の要求２４５、第１の応答２５０、及び第２の応答２５５を示す。
【００３６】
[0042]デバイスネットワーキングサブシステム２１０は、コンテンツを送受信するためのフレームワークを提供する。デバイスネットワーキングサブシステム２１０は、アプリケーションプロセッサ、ネットワーク通信を容易にするソフトウェアシステム、ブラウザエンジン、ネットワークトラフィックを送信するベースバンドプロセッサ、及び／又はコンテンツを送受信するためのフレームワークを提供する任意の他のシステムを介して実施することができる。示した例では、デバイスネットワーキングサブシステムは、アップル（登録商標）アイフォーン（登録商標）オペレーティングシステムで提供されたネットワーキングライブラリによって実施される。しかし、追加として、又は代わりに、任意の他のライブラリ、システム、又はプログラムを使用してもよい。
【００３７】
[0043]ブラウザアプリケーション２１５及びインターネットコンテンツにアクセスするアプリケーション２２０は、モバイルデバイス２０５のプロセッサによって実行されるアプリケーションである。ブラウザアプリケーション２１５は、インターネットコンテンツプロバイダ１７０にＨＴＴＰインターネットコンテンツを要求し、ＨＴＴＰコンテンツを表示用にレンダリングする。追加として、又は代わりに、ブラウザアプリケーションは、ＨＴＴＰインターネットコンテンツを要求し、レンダリングすることができる。いくつかの例では、ブラウザアプリケーションは、アップル（登録商標）サファリ（Ｓａｆａｒｉ）（登録商標）によって実装される。しかし、代わりに、任意の他のアプリケーションを使用してもよい。例えば、ポケットインターネットエクスプローラを使用することができる。いくつかの例では、ＨＴＴＰインターネットコンテンツは、ＨＴＭＬコンテンツである。しかし、コンテンツは、ブラウザアプリケーション２１５によってレンダリングすることができる任意のフォーマットで提示することができる。
【００３８】
[0044]インターネットコンテンツにアクセスするアプリケーション２２０は、インターネットコンテンツを要求するモバイルデバイスにおける任意のアプリケーションとすることができる。例えば、インターネットコンテンツにアクセスするアプリケーション２２０は、ｗｗｗ．ｗｅａｔｈｅｒ．ｃｏｍによって提供されるインターネットコンテンツにアクセスする天気アプリケーションとすることができる。ｗｗｗ．ｗｅａｔｈｅｒ．ｃｏｍのコンテンツを提供するインターネットコンテンツプロバイダ１７０は、ＨＴＭＬデータでコンテンツの要求に応答することができる。しかし、任意の他のタイプのデータを、コンテンツ要求に含めることができる。例えば、ｗｗｗ．ｗｅａｔｈｅｒ．ｃｏｍのコンテンツを提供するインターネットコンテンツプロバイダ１７０は、圧縮された天気予報を含むＸＭＬファイルを提供することができる。追加として、又は代わりに、インターネットコンテンツにアクセスするアプリケーション２２０は、例えば、写真、映像、音声などの媒体を要求することができる。通常、インターネットコンテンツにアクセスするアプリケーション２２０は、表示される少量の情報に限定される。例えば、天気アプリケーションは、スポーツニュースを表示することはできない。ブラウザ２１５又はインターネットコンテンツにアクセスするアプリケーション２２０は、コンテンツの要求を開始することはできるが、アップル（登録商標）アイフォーン（登録商標）などいくつかのデバイスにおいて、要求は、（例えば、プロキシ１６５の特定のポートに対する）こうした要求のルーティング及び／又はアドレス指定を制御するシステム全体の設定に基づいて、デバイスネットワーキングサブシステム２１０によってフォーマットされ、送信される。
【００３９】
[0045]示した例のユーザインターフェイス２２５は、ユーザに表示を提供し、ユーザからの入力を受信する。ユーザインターフェイス２２５は、パネリストにコンテンツを表示するためのハードウェア、グラフィックライブラリ、及び／又はグラフィックドライバを備え、パネリストからの入力を受信するためのハードウェア、入力ライブラリ、及び／又は入力ドライバを備え得る。ブラウザアプリケーション２１５及びインターネットコンテンツにアクセスするアプリケーション２２０のいずれか又は両方は、ユーザインターフェイスを使用して、コンテンツを表示し、入力を受信することができる。
【００４０】
[0046]ローカルネットワーク２３０は、インターネットサービスプロバイダ１４５によってホストされる。示した例では、ローカルネットワーク２３０は、インターネットプロトコル（ＩＰ）バージョン４（ＩＰｖ４）ベースのネットワークである。しかし、追加として、又は代わりに、任意の他のネットワーキング技術を実装することができる。例えば、ローカルネットワーク２３０は、ＩＰバージョン６（ＩＰｖ６）プロトコルを実装することができる。さらに、示した例のローカルネットワーク２３０は、通信リンク１２０、１４０を使用して実施される。ＷｉＦｉ接続が示されているが、さらに又は代わりに、例えばＥｔｈｅｒｎｅｔネットワーク、セルラーネットワークなど、任意の他の通信の方法を使用してもよい。さらに、ローカルネットワーク２３０は、パブリックネットワークとして示されている。しかし、ネットワークは、プライベートネットワークでもよい。
【００４１】
[0047]示した例のファイアウォール２３２は、ファイアウォール２３２を通過した要求及び応答にセキュリティポリシを適用する。いくつかの例では、セキュリティリスクがないとわかっているプロトコルをポートが表すことができるため、ファイアウォール２３２は、ウェルノウンポート（例えば、ポート０から１０２３まで）を介した通信のみを可能にすることができる。あるポート上での通信がファイアウォール２３２を通過することができない場合、その通信は、要求側クライアントデバイスからプロキシ１６５に送信されない。
【００４２】
[0048]プロキシ１６５は、モバイルデバイスからインターネットコンテンツについての要求２３５を受信し、第２の要求２４５を対応するインターネットコンテンツプロバイダ１７０に送信することによってコンテンツを取り出し、コンテンツプロバイダ１７０からの応答２５０でコンテンツを受信し、第２の応答２５５を介してコンテンツをモバイルデバイス２０５に中継する。示した例では、プロキシ１６５は、ストレージデータベース１６０に要求及び／又は応答の特徴及び／又は識別子を格納する。これらの特徴及び／又は識別子は、例えば、要求及び／又は応答のタイムスタンプ、クライアントのＩＰアドレス、要求のユーザエージェント、応答のステータスコード、応答のコンテンツタイプなどとすることができる。しかし、プロキシ１６５は、ストレージデータベース１６０に応答のインターネットコンテンツをさらに格納することができる。要求を中継する際、プロキシ１６５は、図２Ａとの関連で後述するように、要求のポートを変換する。
【００４３】
[0049]示した例のインターネット２４０は、パブリックネットワークである。しかし、プライベートネットワークを代わりに使用することもできる。例えば、組織及び／又は会社内のネットワークは、組織のメンバー及び／又は会社の従業員がモバイルデバイスを介してどのように内部のウェブコンテンツを使用するかを決定するために使用することができる。
【００４４】
[0050]示した例は、単一の要求の通信ストリームを示す。第１の要求２３５は、ローカルネットワーク２３０を介して、及びファイアウォールを介して、モバイルデバイス２０５からプロキシ１６５に送信される。第１の要求２３５は、ファイアウォール２３２によって禁止されていないポートを使用し、ＨＴＴＰコンテンツについてのものである（例えば、要求は、ポート８０を介して提供されるコンテンツについてのものである）。しかし、要求されるコンテンツは、任意のポートを介して要求することができる。例えば、要求は、ファイル転送プロトコル（ＦＴＰ）コンテンツについてのものとすることができ、ポート２１を介して行われ得る。プロキシ１６５は、第１の要求２３５を受信すると、要求の一部又はすべてをストレージデータベース１６０に格納し、第２の要求２４５を生成する。第２の要求２４５は、事実上、図２Ａに示されるように、第１のアドレスの変換である。第２の要求２４５は、第１の要求２３５で識別されるインターネットコンテンツプロバイダ１７０にアドレス指定される。第１の要求２３５がポート８０上で提供すべきコンテンツを識別したので、示した例における第２の要求２４５は、ポート８０上でインターネット２４０を介して送信される。インターネットコンテンツプロバイダ１７０は、第１の応答２５０で第２の要求２４５に応答する。プロキシ１６５は、ポート８０を介して第１の応答２５０を受信し、ストレージデータベース１６０に要求の一部又はすべてを格納し、第１の応答２５０のコンテンツを、モバイルデバイス２０５に割り当てられたポートを介してモバイルデバイス２０５に転送する。
【００４５】
[0051]図２Ａは、図１のシステム例による要求及び応答フロー例を示すブロック図２０１である。ブロック図２０１は、プロキシ１６５、インターネットコンテンツプロバイダ（複数可）１７０、モバイルデバイス２０５、キャリアネットワーク２３０、及びインターネット２４０を含む。ブロック図２０１は、第１の要求２３５、第２の要求２４５、第１の応答２５０、及び第２の応答２５５をさらに含む。さらに、示した例の要求及び応答は、ＨＴＴＰ要求及び応答ヘッダによって表される。第１の要求２３５は、第１のＨＴＴＰ要求ヘッダ２３６によって表され、第２の要求２４５は、第２のＨＴＴＰ要求ヘッダ２４６によって表される。第１の応答２５０は、第１のＨＴＴＰ応答ヘッダ２５１によって表され、第２の応答２５５は、第２のＨＴＴＰ応答ヘッダ２５６によって表される。
【００４６】
[0052]第１のＨＴＴＰ要求ヘッダ２３６は、モバイルデバイス２０５によって生成されるＧＥＴ要求のヘッダである。示した例では、インターネットコンテンツプロバイダ１７０は、第１のＨＴＴＰ要求ヘッダ２３６の第１行で識別される絶対的なユニバーサルリソースロケータ（ＵＲＬ）によって識別され、プロキシ１６５のアドレス及び一意に割り当てられたポートは、第１のＨＴＴＰ要求ヘッダ２３６の「ホスト」行によって識別される。示した例で識別されたホストは、ｐｒｏｘｙ．ＭｏｎｉｔｏｒｉｎｇＥｎｔｉｔｙ．ｃｏｍであり、要求が行われたポートは、８０である。しかし、プロキシ１６５を識別する任意の他のアドレス及び任意の他のポートを代わりに使用してもよい。例えば、プロキシ１６５を識別するアドレスは、プロキシ１６５のインターネットプロトコル（ＩＰ）アドレスとすることができる。示した例では、インターネットリソースの絶対ＵＲＬは、「ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ」である。しかし、追加として、又は代わりに、任意の他のＵＲＬを使用してもよい。
【００４７】
[0053]プロキシ１６５は、第１のコンテンツ要求２３５を受信し、第２のコンテンツ要求２４５を生成する。第２のコンテンツ要求２４５は、第２のＨＴＴＰ要求ヘッダ２４６によって表される。示した例では、第２のＨＴＴＰ要求ヘッダ２４６は、「ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ」に向けられるＧＥＴ要求であり、ポート８０以外のポートが識別されないので、ポート８０を介して送信される。示した例で「ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ」に要求されているコンテンツは、「／」である。プロキシは、第１の要求２３５を検査することによって第２の要求のコンテンツを生成する。例えば、プロキシ１６５は、第１の要求２３５の要求されたコンテンツを「ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ」と識別し、変換されるポートがポート８０であると決定し（ｈｔｔｐ：／／によって識別される）、識別されたインターネットコンテンツプロバイダ１７０が「ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ」であることを決定し、インターネットコンテンツプロバイダに要求されたウェブページが「／」であることを決定する。要求されたコンテンツがＨＴＴＰコンテンツであり、代替のポート番号が指定されないことをプロキシ１６５が決定したため、第２のコンテンツ要求２４５は、ポート８０を介して送信される。或いは、第１のコンテンツ要求２３５によって識別されたコンテンツは、ポート８０以外のポート上で提供されるコンテンツとすることができる。その例では、第１のＨＴＴＰ要求ヘッダ２３６の絶対ＵＲＬは、要求されたコンテンツを「ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ：１２３４／」と識別して、要求によって識別されたコンテンツがポート１２３４上で提供されることを伝える。さらに、プロキシ１６５は、第２のＨＴＴＰ要求ヘッダ２４６を生成し、ポート１２３４を識別されたホストに含める（例えばｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ：１２３４）。
【００４８】
[0054]インターネットコンテンツプロバイダ１７０は、第２のコンテンツ要求２４５を受信し、第１の応答２５０を介して要求に応答する。第１の応答２５０は、プロキシ１６５に送信される。示した例では、第１の応答は、ポート８０上でなされたコンテンツ要求に対する応答であるので、ポート８０を介して送信される。しかし、プロキシ１６５に第１の応答を送信するために、任意の他のポートを使用してもよい。プロキシ１６５は、第１の応答２５０を受信し、第２の応答２５５を送信すべき適切なポートを決定する。示した例では、プロキシ１６５は、第２の要求２４５を介して第１の応答２５０を第１の要求２３５に関連付けることによって、第２の応答を送信すべきポートを決定する。こうした例では、プロキシ１６５は、第１の要求２３５がポート８０上で発せられ、したがって第２の応答を、ポート８０上で送信すべきであることを識別することができる。しかし、追加として、又は代わりに、第２の応答を送信するためのポートを決定する任意の他の方法を使用してもよい。さらに、応答は、モバイルデバイス２０５に割り当てられたポート以外のポートを介して送信されてもよい。
【００４９】
[0055]図３は、図１のプロキシ例１６５のブロック図である。プロキシ例１６５は、要求及び応答ポート３０５、要求サービサー３１０、インターネットコンテンツプロセッサ３１５、コンテンツ収集部（ｃｏｎｔｅｎｔ  ｇａｔｈｅｒｅｒ）３２０、及びインターネットポート３２５を含む。要求及び応答ポート３０５は、クライアントデバイス１１０、１３０から要求を受信し、及び／又はクライアントデバイス１１０、１３０に応答を送信する。ポート３０５によって受信された要求は、要求サービサー３１０に渡される。コンテンツ収集部３２０は、インターネットポート３２５を介してインターネットコンテンツプロバイダ１７０に要求を送信し、インターネットコンテンツプロバイダ１７０から応答を受信する。インターネットコンテンツプロセッサ３１５は、要求（又はその一部）及び／又は取り出したコンテンツ（又はその一部又はそれに関連付けられた識別子）をストレージデータベース１６０に格納する。
【００５０】
[0056]示した例の要求及び応答ポート３０５は、伝送制御プロトコル（ＴＣＰ）ポート及び／又はユーザデータグラムプロトコル（ＵＤＰ）ポートである。しかし、さらに又は代わりに、任意の他のポートベースのシステムが使用されてもよい。ポート８０は通常、ＨＴＴＰコンテンツ用に使用されており、通常、ほとんどのファイアウォールによってブロックされないため、示した例の要求及び応答ポートは、ポート８０である。しかし、ポートは、例えば明確に定義されたポートの範囲（ポート０からポート１０２３までの範囲）内のポート及び／又は登録されたポートの範囲（ポート１０２４からポート４９１５１までの範囲）内のポートなど、任意の他のポート番号でもよい。
【００５１】
[0057]示した例の要求サービサー３１０は、要求及び応答ポート３０５から要求を受信し、必要に応じてポート変換を実行する。ポート変換は、プロキシが要求されたコンテンツがホストされるのと同じポートを介してホストされる場合は必要ではないことがある。例えば、プロキシがポート８０上でホストされ、コンテンツ要求がポート８０上で提供されたコンテンツ（例えば、ＨＴＴＰコンテンツ）についてのものである場合、ポート変換は行われない。まず、要求は、インターネットコンテンツプロバイダ１７０との通信を対象とする宛先ポートを決定するために検査される。例えば、多くの状況では、要求は、ＨＴＴＰコンテンツについてのものであり、宛先ポートは、ポート８０と識別される。しかし、任意の他の宛先ポートを使用してもよい。例えば、ＦＴＰトラフィックは、ポート２１に変換されてもよい。コンテンツ収集部３２０は、（例えば、変換された要求を対応するコンテンツプロバイダに送信することによって）要求で識別されたコンテンツを集める責任がある。いったんコンテンツが収集されると、要求サービサー３１０は、受信されたコンテンツ応答に別のポート変換を実行して、変換された応答を生成し、要求を行ったクライアントデバイスに割り当てられたポートを介して、変換された応答をクライアントデバイスに送信する。
【００５２】
[0058]インターネットコンテンツについての要求のポートを変換することに加えて、要求サービサーは、要求のユーザエージェント識別子を検査する。ユーザエージェント識別子が認証をサポートするアプリケーションを識別する場合、要求サービサー３０５は、要求と共に有効な証明書が提供されているかどうかを決定する。有効な証明書が提供されていない場合、要求サービサー３０５は、証明書をクライアントデバイスに要求する。有効な証明書が提供されている場合、要求サービサー３０５は、要求をコンテンツ収集部３２０に提供する。
【００５３】
[0059]示した例のインターネットコンテンツプロセッサ３１５は、使用可能な場合、要求に関連付けられた証明書を決定し、クライアントデバイスを一意に識別するために、要求を証明書と関連付けてストレージデータベース１６０に格納する。いくつかの状況では、証明書は、格納に使用できない場合がある。例えば、インターネットコンテンツを要求するアプリケーションがプロキシ認証をサポートしないことをユーザエージェントが示すとき、証明書は要求されない。したがって、ストレージデータベース１６０に格納されたコンテンツ要求の一部は、発信側のクライアントデバイス１１０、１３０を一意に識別しない場合があり、及び／又は代わりに、インターネットコンテンツプロセッサ３１５は、証明書を使用して、登録時にレジストラ１５５によって生成されたパネリストＩＤ及び／又はクライアントデバイスＩＤを決定し、格納することができる。示した例では、インターネットコンテンツプロセッサ３１５は、コンテンツについての要求を格納する。しかし、図３の表に示されるように、インターネットコンテンツプロセッサ３１５は、全部より少ない要求、要求についてのシンボルなどを格納することができる。追加として、又は代わりに、インターネットコンテンツプロセッサ３１５は、応答で提供されたコンテンツ、及び／又は応答で提供されたコンテンツのセグメント及び／又は部分をストレージデータベース１６０に格納することができる。例えば、インターネットコンテンツプロセッサ３１５は、クライアントデバイスに送信された広告をストレージデータベース１６０に格納することができる。
【００５４】
[0060]示した例のコンテンツ収集部３２０は、インターネットコンテンツについての要求によって識別されたコンテンツを要求する。特に、コンテンツ収集部３２０は、ポート３０５のうちの１つを介して要求で要求されたコンテンツのインターネットアドレスを使用して、要求されたインターネットコンテンツを集めるための第２の要求を生成する。コンテンツ収集部３２０は、インターネットポート３２５を介して第２の要求を送信する。示した例のインターネットポート３２５は、伝送制御プロトコル（ＴＣＰ）ポート、及び／又はユーザデータグラムプロトコル（ＵＤＰ）ポートである。しかし、追加として、又は代わりに、任意の他のポートベースのシステムが使用されてもよい。示した例のインターネットポートは、ＨＴＴＰトラフィックのためのものである（例えば、ポート８０）。しかし、任意の他のポートを使用してもよい。例えば、ポート２１をファイル転送プロトコル（ＦＴＰ）トラフィックに使用することができる。
【００５５】
[0061]図４は、図１、図２、及び図３のプロキシ例１６５によって受信されるハイパーテキスト転送プロトコル（ＨＴＴＰ）要求例４００である。ＨＴＴＰ要求例４００は、ユーザエージェント識別子４０５を備える。示した例では、ＨＴＴＰ要求４００は、第１及び第２行によって識別されるように、ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍについてのＧＥＴ要求である。さらに、ユーザエージェント識別子４０５は、アップル（登録商標）サファリ（登録商標）、アップル（登録商標）アイフォーン（登録商標）のブラウザアプリケーションを要求側アプリケーションとして識別する。しかし、任意の他のアプリケーションがインターネットコンテンツを要求し、ユーザエージェント識別子４０５によって識別されてもよい。示した例では、ユーザエージェント識別子４０５のバージョン識別子は、要求を送信するアップル（登録商標）サファリ（登録商標）のバージョンがアップル（登録商標）アイフォーン（登録商標）のアプリケーションであることを示唆し、さらに、アップル（登録商標）サファリ（登録商標）のバージョン６７８９が要求を送信していることを示唆する。別の例では、天気アプリケーションなどインターネットコンテンツにアクセスするアプリケーションは、要求を送信するアプリケーションが天気アプリケーションであることを示唆するユーザエージェント識別子４０５を送信することができる。
【００５６】
[0062]図１のプロキシ１６５を実装する方法例が図１及び図３に示されているが、図３に示した要素、プロセス、及び／又はデバイスのうちの１つ又は複数は、任意の他の方法で結合し、分割し、再配列し、省略し、無くし、及び／又は実施することができる。さらに、要求及び応答ポート３０５、要求サービサー３１０、インターネットコンテンツプロセッサ３１５、コンテンツ収集部３２０、インターネットポート３２５、及び／又は、より一般的には、図３のプロキシ例１６５及び／図１のレジストラ例１５５は、ハードウェア、ソフトウェア、ファームウェア、及び／又はハードウェア、ソフトウェア、及び／又はファームウェアの任意の組み合わせによって実装することができる。したがって、例えば、要求及び応答ポート例３０５、要求サービサー例３１０、インターネットコンテンツプロセッサ例３１５、コンテンツ収集部例３２０、インターネットポート例３２５のうちの任意のもの、及び／又はより一般的には、プロキシ例１６５は、１つ又は複数の回路（複数可）、プログラム可能プロセッサ（複数可）、特定用途向け集積回路（複数可）（ＡＳＩＣ（複数可））、プログラム可能論理デバイス（複数可）（ＰＬＤ（複数可））、及び／又はフィールドプログラマブル論理デバイス（複数可）（ＦＰＬＤ（複数可））などによって実装することができる。添付された装置クレームのうちの任意のものが純粋にソフトウェア及び／又はファームウェアの実装をカバーするように解釈されるとき、要求及び応答ポート例３０５、要求サービサー例３１０、インターネットコンテンツプロセッサ例３１５、コンテンツ収集部例３２０、インターネットポート例３２５、プロキシ例１６５、レジストラ例１５５、及び／又はストレージデータベース１６０のうちの少なくとも１つは、本明細書では、ソフトウェア及び／又はファームウェアを格納するメモリ、ＤＶＤ、ＣＤなどのハードウェア及び／又はコンピュータ可読媒体を含むように明確に定義される。さらに、図１及び図３のプロキシ例１６５は、図３に示したものに加えて、又はその代わりに、１つ又は複数の要素、プロセス、及び／又はデバイスを含むことができ、及び／又は示した要素、プロセス、及びデバイスのうちのいずれかを１つより多く又はすべてを含んでいてもよい。
【００５７】
[0063]図１及び／又は図３のプロキシ１６５を実施するためのマシン可読命令の例を表すフローチャートが図５及び図５Ａに示される。さらに、図１のレジストラ１５５を実施するためのマシン可読命令の例を表すフローチャートが図６に示される。これらの例では、マシン可読命令は、図７との関連で後述するコンピュータ７００の例に示されるプロセッサ７１２などのプロセッサによる実行のためのプログラム（複数可）を備える。プログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、又はプロセッサ７１２に関連付けられたメモリなど、コンピュータ可読媒体に格納されるソフトウェアに組み込むことができるが、プログラム（複数可）全体及び／又はその一部は、代わりにプロセッサ７１２以外のデバイスによって実行することができ、及び／又はファームウェア又は専用ハードウェアに組み込むことができる。さらに、プログラム（複数可）例は、図５、図５Ａ及び図６に示されたフローチャートを参照して説明しているが、プロキシ例１６５及び／又はレジストラ例１５５を実施する多くの他の方法を代わりに使用してもよい。例えば、ブロックの実行の順序を変更してもよく、及び／又は示したブロックの一部を変更し、無くし、又は組み合わせてもよい。
【００５８】
[0064]上述したように、図５、図５Ａ及び図６のプロセス例は、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、及び／又は任意の期間の間（例えば、長期間の間、永遠に、短い間、一時的なバッファリングの間、及び／又は情報のキャッシュの間）情報が格納される任意の他の記憶媒体など有形のコンピュータ可読媒体に格納された符号化された命令（例えば、コンピュータ可読命令）を使用して実施することができる。本明細書で使用されるとき、有形のコンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読ストレージを含み、伝搬信号を除外するように明示的に定義される。追加として、又は代わりに、図５、図５Ａ及び図６のプロセス例は、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、ＤＶＤ、キャッシュ、ランダムアクセスメモリ、及び／又は任意の期間の間（例えば、長期間の間、永遠に、短い間、一時的なバッファリングの間、及び／又は情報のキャッシュの間）情報が格納される任意の他の記憶媒体など非一時的コンピュータ可読媒体に格納された符号化された命令（例えば、コンピュータ可読命令）を使用して実施することができる。本明細書で使用されるとき、非一時的コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読媒体を含み、伝搬信号を除外するように明示的に定義される。
【００５９】
[0065]図５は、図１、図２、図３のプロキシ例を実施するために実行され得るマシン可読命令の例５００を表すフローチャートである。図５のプログラムは、ブロック５０５で開始し、ここでマシン可読命令の例５００が実行を開始する。まず、プロキシ１６５の要求サービサー３１０は、コンテンツ要求を待つ（ブロック５０５）。示した例では、要求サービサー３１０は、ポート８０上でのコンテンツ要求のみを待つ。しかし、要求サービサー３１０は、任意の他のポート上でのコンテンツ要求を待ってもよく、又は要求サービサー３１０は、複数のポート上でのコンテンツ要求を待ってもよい。次に、要求サービサー３１０は、コンテンツ要求を受信する（ブロック５１０）。コンテンツについての複数の要求が実質的に同時に受信され得るため、コンテンツ要求は、要求に応答するためにかかる時間量を低減するために、並行して処理される。しかし、コンテンツ要求は、任意の他の方法で処理されてもよい。例えば、コンテンツ要求は、連続的に処理することもできる。
【００６０】
[0066]次いで要求サービサー３１０は、ユーザエージェント識別子が認証をサポートするアプリケーションを識別するかどうかを決定する（ブロック５１５）。示した例では、認証をサポートするアプリケーションを識別する予め定義された１組のパターンがストレージデータベース１６０に格納される。例えば、新しいバージョンのアプリケーションをリリースすると、新しいユーザエージェント識別子は、インターネットコンテンツを要求するアプリケーションのバージョンを識別することができる。認証の要求に応答するアプリケーションを適切に識別するために、ユーザエージェントを、認証能力がわかっているアプリケーションと照合する。例えば、新しいバージョンのブラウザアプリケーションがリリースされ、新しいユーザエージェント識別子を含む場合、前のバージョンのブラウザアプリケーションのユーザエージェント識別子は、新しいバージョンのユーザエージェント識別子に実質的に一致し得る。前のバージョンのブラウザアプリケーションが認証をサポートしている場合、次のバージョンも認証をサポートする可能性があり、したがって、認証証明書が必要とされる。ユーザエージェントパターン例は、「サファリ」であり、「サファリ」という用語を含む任意のユーザエージェント識別子は認証の対象になる。しかし、さらに又は代わりに、任意の他のパターン又はパターンの組を使用してもよい。示した例では、パターンは、管理者によって更新される。しかし、図５Ａとの関連で説明したように、さらに又は代わりに、自動パターン生成システムを使用してもよい。
【００６１】
[0067]要求サービサー３１０は、ユーザエージェント識別子と予め定義されたパターンとの照合を試行し、パターンがユーザエージェント識別子に実質的に一致することがわかった場合、要求サービサー３１０は、証明書が要求に関連付けられているかどうかを決定することに取りかかる（ブロック５２０）。有効な証明書が要求に関連付けられていない場合、要求サービサー３１０は、クライアントデバイス１１０、１３０に有効な証明書についての要求を送信する（ブロック５２５）。証明書についての要求は、前の要求を有効な証明書と共に再送するようパネリスト及び／又はクライアントデバイスを促すことができる。有効な証明書が要求に関連付けられている場合、証明書は、パネリスト及び／又はクライアントデバイスに関連付けられる（ブロック５３０）。
【００６２】
[0068]次に、コンテンツ収集部３２０は、ブロック５１０で受信した要求のうちの対応するものに基づいて第２の要求（複数可）を生成して、対応するコンテンツ要求で識別されるインターネットコンテンツを取り出す（ブロック５３５）。コンテンツ収集部３２０は、インターネットポート３２５を介して第２の要求を送信することによって、要求されたインターネットコンテンツを集める。示した例では、ポート８０は、要求を送信するために使用される。しかし、さらに又は代わりに、任意の他のポートが使用されてもよい。
【００６３】
[0069]また、インターネットコンテンツプロセッサ３１５は、コンテンツ要求を対応する要求側デバイスと関連付け、その関連付けをストレージデータベース１６０に格納する（ブロック５４０）。示した例では、インターネットコンテンツプロセッサ３１５は、要求に関連付けられた証明書を介して、コンテンツ要求をクライアントデバイスと関連付ける。いくつかの状況では、インターネットコンテンツを要求するアプリケーションは、プロキシ認証及び／又は証明書をサポートすることができないことがある。こうした状況では、コンテンツ要求は、関連する証明書無しにストレージデータベースに格納される。さらに、インターネットコンテンツプロセッサ３１５は、ストレージデータベース１６０に戻されたコンテンツ又は戻されたコンテンツの一部を格納することができる（ブロック５４０）。例えば、インターネットコンテンツプロセッサ３１５は、戻されたコンテンツに含まれる画像を格納することができる。
【００６４】
[0070]インターネットコンテンツプロセッサ３１５は、ストレージデータベースに格納されたものをフィルタ処理することができる。例えば、非ＨＴＴＰコンテンツの要求は、情報を分析するとき、適切に構文解析することができないため、インターネットコンテンツプロセッサ３１５は、ＨＴＴＰコンテンツを要求するコンテンツ要求のみを格納することができる。別の例として、スタイルコンテンツは、情報を分析するときに限定された使用のものである得るため、インターネットコンテンツプロセッサ３１５は、スタイルコンテンツ（例えばカスケードスタイルシート（ＣＳＳ）ドキュメント）をストレージデータベース１６０に格納するのを省略することができる。
【００６５】
[0071]要求サービサー３１０は、コンテンツ要求が受信されたポートを介して要求されたインターネットコンテンツをクライアントデバイスに送信することによって、クライアントデバイスからの要求への対応を終了する（ブロック５４５）。制御はブロック５０５に戻り、ここで要求サービサー３１０は、さらなるコンテンツ要求を待つ（ブロック５０５）。
【００６６】
[0072]図５Ａは、図１、図２、及び図３のプロキシ例を実施するために実行され得るマシン可読命令の例５０１を表すフローチャートである。図５Ａのマシン可読命令の例５０１は、図５のマシン可読命令５００に似ている。しかし、図５において、ブロック５１５で、ユーザエージェント識別子が認証をサポートするアプリケーションを表すパターンの単一のリストに一致するかどうかを決定する場合、さらに又は代わりに、より複雑なアルゴリズムを使用してもよい。図５Ａの示した例では、要求サービサー３１０は、コンテンツ要求を待ち（ブロック５０５）、コンテンツ要求を受信する（ブロック５１０）。図５Ａの示した例では、要求サービサー３１０は、ユーザエージェント識別子がプロキシ認証をサポートしないアプリケーションに一致しているかどうかを決定する（ブロック５１６）。要求サービサー３１０は、ストレージデータベース１６０に格納されたパターン又はパターンの組を調べることができる。アプリケーションがプロキシ認証をサポートしていないことを要求サービサーが決定した場合、制御はブロック５３５に進み、ここでマシン可読命令５０１は、図５に似た方法で進む。ユーザエージェント識別子がプロキシ認証をサポートしていないアプリケーションを識別するパターン又はパターンの組に一致しないことを要求サービサー３１０が決定した場合、要求サービサー３１０は、ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションに一致しているかどうかを決定する（ブロック５１７）。インターネットコンテンツにアクセスする新しいアプリケーションは毎日作成されているため、新しいユーザエージェント識別子は絶え間なく導入されている。所与の時に、もっぱらユーザエージェント識別子に基づいてプロキシ認証のサポートを識別することができる単一のリストは存在しそうにない。したがって、２つのパターン又はパターンの組による方法は、既知のユーザエージェント識別子についてのプロキシ認証サポートを識別する。インターネットコンテンツにアクセスするアプリケーションがプロキシ認証をサポートしていることを要求サービサー３１０が決定すると、制御はブロック５２０に進み、ここでマシン可読命令５０１は、図５のマシン可読命令５００に似た方法で実行を完了する。
【００６７】
[0073]ブロック５１６又はブロック５１７によってユーザエージェント識別子が識別されない場合、制御はブロック５５０に進み、ここで要求サービサー３１０は、要求と共に有効な証明書が提供されているかどうかを決定する（ブロック５５０）。証明書が提供されている場合、アプリケーションはプロキシ認証をサポートし、パターンが作成され、ストレージデータベース１６０に格納される。次いでその特定のユーザエージェント識別子を含むその後の要求はプロキシ認証をサポートすることが識別される。次いで制御がブロック５３０に進み、ここでマシン可読命令５０１は、図５のマシン可読命令５００に似た方法で実行を完了する。要求と共に有効な証明書が提供されていない場合、要求サービサー３１０は、証明書についての要求を送信し、応答を待つ（ブロック５６０）。パネリストが各自の証明書を入力することを促され得るため、要求サービサーは、短期間（例えば、３０秒、１分、３分など）待つことができる。次いで要求サービサー３１０は、証明書の要求に応答して、証明書が受信されたかどうかを決定する（ブロック５６５）。証明書の要求に応答して証明書が受信された場合、アプリケーションは、証明書をサポートし、制御は、ブロック５３５に進み、ここで要求サービサー３１０は、その特定のユーザエージェントからのその後の要求がプロキシ認証をサポートするアプリケーションから発せられると識別されるパターンをストレージデータベース１６０に格納する。応答が受信されない場合、アプリケーションがクラッシュした、又はそうでなければうまく作動していない可能性があり、要求サービサー３１０は、アプリケーションがプロキシ認証をサポートしないことを示すパターンをストレージデータベース１６０に格納する（ブロック５７０）。したがって、その特定のアプリケーションから発せられるその後の要求は、認証証明書を提供することは要求されない。次いで制御はブロック５０５に進み、ここで要求サービサー３１０は、コンテンツ要求を待つ。したがって、新しいユーザエージェント識別子が発見されると、ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別するかどうかを決定するために、プロキシ認証が試行される。
【００６８】
[0074]図５Ａに示す２つのパターン又はパターンの組による方法の例に加えて、プロキシ１６５を介してインターネット通信を制御するために、任意の他のタイプのリストが実装され得る。例えば、パネル外のユーザが（例えば、悪意を持って結果に影響を与えるため、そのインターネットトラフィックを転送するためなど）プロキシ１６５を使用しようと試みている場合、いくつかのＩＰアドレスを有するユーザをブロックするために、ブロックリストが実装され得る。さらに又は代わりに、他のブロックリストが実装されてもよい。例えば、プロキシによってサポートされていないユーザエージェントのリストがブラウズ用デスクトップアプリケーションからのインターネット通信を防ぐために実装され得る。特に、プロキシ１６５のユーザ（パネリストであるかどうかにかかわらず）は、プロキシ１６５を使用するようにデスクトップコンピュータ上で稼働しているブラウザを構成することができる。デスクトップ上で稼働しているブラウザからのインターネットアクティビティが監視システムの結果に影響を与えることを防ぐために、ユーザエージェント識別子がブロックされたユーザエージェントのリストにおけるユーザエージェント識別子に一致するとき、プロキシ１６５は、インターネットコンテンツ要求をブロックすることができる。
【００６９】
[0075]図６は、図１のレジストラ例１５５を実施するために実行され得るマシン可読命令の例６００を表すフローチャートである。図６のマシン可読命令の例６００は、ブロック６０３で実行を開始し、ここでパネリスト１１５、１３５は、登録データをレジストラ１５５にサブミットする（ブロック６０３）。示した例では、登録データは、電子インターフェイス（例えばウェブサイト）を介してレジストラ１５５によって受信される（ブロック６０５）。しかし、レジストラは、任意の他の方法で登録データを受信してもよい。例えば、レジストラは、電話インターフェイス、ダイレクトメール、予め定義されたリストなどを介して登録データを受信することができる。
【００７０】
[0076]次に、レジストラ１５５は、パネリストに証明書を割り当てる（ブロック６１０）。示した例では、パネリストは、パネルに登録すると、その所望の証明書を入力する。いくつかの例の証明書は、ユーザ名及びパスワードである。所望の証明書のうちの一部又はすべて（例えばユーザ名）がパネリストに一意である場合（例えば、ユーザ名は、すでにパネル内の別のパネリストに関連付けられていない）、証明書は、パネリストに関連付けられる。次いで証明書は、構成ドキュメントを介してパネリストに送信される。あるいは、証明書は、パネリストにランダムに割り当てられてもよい。例えば、ユーザ名は、パネリストの最初の頭文字、次にパネリストの名字とすることができ、パスワードは、ランダムな文字列とすることができる。さらに、パネリストは、レジストラ１５５に連絡することによって、（例えば、レジストラ１５５によってホストされるウェブページにアクセスすることによって）そのパスワードを変更することができる。
【００７１】
[0077]レジストラ１５５は、構成ドキュメントを生成する（ブロック６１５）。構成ドキュメントは、パネリストのクライアントデバイスに割り当てられた証明書、及びインターネットプロキシアドレスを含む。インターネットプロキシアドレスは、プロキシ１６５のアドレスである。示した例では、構成ドキュメントは、クライアントデバイスをどのように構成するかについてパネリストに指示する指示ドキュメントであり、パネリストに送信されるｅメールメッセージとしてフォーマットされる。しかし、例えば、カンマ区切り（ＣＳＶ）ドキュメント、ポータブルドキュメントフォーマット（ＰＤＦ）ドキュメント、マイクロソフト（登録商標）ワード（登録商標）ドキュメントなど、任意の他のタイプのドキュメントを生成することができる。
【００７２】
[0078]次に、レジストラ１５５は、構成ドキュメントをクライアントデバイスに送信する（ブロック６２０）。示した例では、構成ドキュメントは、電子メール（ｅメール）メッセージを介して送信される。ｅメールメッセージは、構成ドキュメントをダウンロードするために選択され得るハイパーリンクを含む。しかし、さらに又は代わりに、構成ドキュメントを送信する任意の他の方法を使用してもよい。例えば、構成ドキュメントをｅメールメッセージの添付として送信してもよく、レジストラ１５５は、クライアントデバイスが構成ドキュメントをダウンロードすることができるインターネットアドレスを備えるショートメッセージサービス（ＳＭＳ）を送信してもよく、構成ドキュメントを含む指示ドキュメントを備え、及び／又はさらに電子媒体を備えるダイレクトメールをパネリストに送信してもよく、クライアントデバイスをどのように構成するかについてパネリストに口頭で指示するために電話をかけてもよい。次いでパネリスト及び／又はクライアントデバイスは、構成ドキュメントを受信する（ブロック６２３）。
【００７３】
[0079]次いでクライアントデバイス１１０、１３０がパネリストによって構成される（ブロック６２５）。構成ドキュメントは次いで、クライアントデバイスをどのように構成するかについてパネリストを案内することができる指示ドキュメントであるため、パネリストは、構成ドキュメントで定義された証明書、インターネットプロキシアドレス、及びプロキシポートでクライアントデバイスを構成することができる。指示ドキュメントは、それによって、構成ファイルをどのように適用するかについてパネリストに指示する、又は構成ファイル内のデータをどのように手動で適用するかについてパネリストに指示することができる。しかし、構成ファイルは、さらに又は代わりに、クライアントデバイスによって解釈することができる電子ドキュメントを備えることができる。したがって、電子構成ファイルをどのように適用するかに関してパネリストに指示することができる。
【００７４】
[0080]構成ファイルに含まれるデータを適用すると、クライアントデバイス１１０、１３０によってなされるインターネットコンテンツについてのその後の要求は、構成ドキュメントに従ってルーティングされる。特に、構成ドキュメントは、インターネットプロキシアドレス、プロキシポート番号、及び証明書を含んでいるため、要求は、プロキシポート番号を介してインターネットプロキシアドレスを介してプロキシされ、証明書をサポートするアプリケーションについて証明書を使用する。
【００７５】
[0081]図７は、図１の監視システムを実施するために図５及び図６の命令を実行され得るコンピュータ例７００のブロック図である。コンピュータ７００は、例えば、サーバ、パーソナルコンピュータ、又は任意の他のタイプのコンピューティングデバイスとすることができる。
【００７６】
[0082]この例のシステム７００は、プロセッサ７１２を含む。例えば、プロセッサ７１２は、ペンティアム（Ｐｅｎｔｉｕｍ）（登録商標）ファミリ、アイテニアム（Ｉｔａｎｉｕｍ）（登録商標）ファミリ、又はＸＳｃａｌｅ（登録商標）ファミリからの１つ又は複数のインテル（Ｉｎｔｅｌ）（登録商標）マイクロプロセッサによって実施することができる。当然、他のファミリからの他のプロセッサも適切である。
【００７７】
[0083]プロセッサ７１２は、バス７２２を介して揮発性メモリ７１８及び不揮発性メモリ７２０を含むメインメモリと通信する。揮発性メモリ７１８は、Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＤＲＡＭ）、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、ＲＡＭＢＵＳ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＤＲＡＭ）、及び／又は任意の他のタイプのランダムアクセスメモリデバイスによって実施することができる。不揮発性メモリ７２０は、フラッシュメモリ及び／又は任意の他の所望のタイプのメモリデバイスによって実施することができる。メインメモリ７１４へのアクセスは、通常、メモリコントローラ（図示せず）によって制御される。
【００７８】
[0084]コンピュータ７００は、インターフェイス回路７２４も含む。インターフェイス回路７２４は、Ｅｔｈｅｒｎｅｔインターフェイス、ユニバーサルシリアルバス（ＵＳＢ）、及び／又はＰＣＩエクスプレスインターフェイスなど、任意のタイプのインターフェイス標準によって実装することができる。
【００７９】
[0085]１つ又は複数の入力デバイス７２６は、インターフェイス回路７２４に接続される。入力デバイス７２６は、ユーザがデータ及びコマンドをプロセッサ７１２に入力できるようにする。入力デバイスは、例えば、キーボード、マウス、タッチ画面、トラックパッド、トラックボール、アイソポイント及び／又は音声認識システムなどによって実装することができる。
【００８０】
[0086]１つ又は複数の出力デバイス７２８もインターフェイス回路７２４に接続される。出力デバイス７２８は、例えば、ディスプレイデバイス（例えば液晶ディスプレイ、ブラウン管ディスプレイ（ＣＲＴ）、プリンタ、及び／又はスピーカ）によって実装することができる。したがって、インターフェイス回路７２４は、通常、グラフィックドライバカードを含む。
【００８１】
[0087]インターフェイス回路７２４は、（例えばＥｔｈｅｒｎｅｔ接続、デジタル加入者回線（ＤＳＬ）、電話線、同軸ケーブル、携帯電話システムなど）ネットワークを介した外部コンピュータとのデータの交換を容易にするためのモデムやネットワークインターフェイスカードなどの通信デバイス（例えば要求サービサー３１０）も含む。
【００８２】
[0088]コンピュータ７００は、ソフトウェア及びデータを格納するための１つ又は複数の大容量記憶装置７３０も含む。こうした大容量記憶装置７３０の例には、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、及びＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）ドライブなどがある。大容量記憶装置７３０は、ストレージデータベース１６０を実装することができる。
【００８３】
[0089]図５及び図６の符号化された命令７３２は、大容量記憶装置７３０、揮発性メモリ７１８、不揮発性メモリ７２０、ローカルメモリ７１４、及び／又はＣＤ又はＤＶＤなどの取り外し式記憶媒体に格納することができる。
【００８４】
[0090]上記から、インターネットコンテンツにアクセスするアプリケーションがプロキシ認証の要求に応答すると、要求側デバイス及び／又はパネリストを一意に識別しながら、監視すべき認証されたプロキシを介して、モバイルデバイスにおける任意のインターネットコンテンツにアクセスするアプリケーションからのインターネットコンテンツ要求を可能にする方法、装置、及び製品の例が開示されていることを理解されたい。
【００８５】
[0091]本明細書ではいくつかの方法、装置、及び製品の例について説明してきたが、本特許の範囲はそれに限定されない。逆に、本特許は、本特許の特許請求の範囲内に完全に含まれるすべての方法、装置、及び製品をカバーする。
【図１】
2012053871.tif 000003
【図２】
2012053871.tif 000004
【図２Ａ】
2012053871.tif 000005
【図３】
2012053871.tif 000006
【図４】
2012053871.tif 000007
【図５】
2012053871.tif 000008
【図５Ａ】
2012053871.tif 000009
【図６】
2012053871.tif 000010
【図７】
2012053871.tif 000011
【外国語明細書】
2012053871000001.pdf