説明

モバイルインターネットアクティビティを監視するためのシステム、方法、及び装置

【課題】モバイルインターネットアクティビティを監視するためのシステム、方法、及び装置を提供する。
【解決手段】クライアントデバイスからのコンテンツ要求の識別子によって識別されたアプリケーションが認証をサポートするかどうかを決定するステップ516,517と、コンテンツ要求の識別子が認証をサポートするアプリケーションを識別する場合、コンテンツ要求によって識別されたコンテンツをクライアントデバイスに送信するステップ545と、コンテンツ要求によって要求されたコンテンツの識別子をクライアントデバイスと関連付けて格納するステップ555,570とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
[0001]本開示は一般に、インターネットアクティビティを監視することに関し、より詳細には、モバイルインターネットアクティビティを監視するためのシステム、方法、及び装置に関する。
【背景技術】
【0002】
[0002]近年、インターネットコンテンツにアクセスする方法が発展してきた。例えば、インターネットコンテンツには、以前は主に、デスクトップ及びラップトップのコンピュータなどのコンピュータシステムを介してアクセスしていた。最近、ユーザがインターネットコンテンツを要求し、閲覧することができるハンドヘルドモバイルデバイス(例えばスマートフォン)が導入された。通常、モバイルデバイスは、それだけには限定されないが、802.11g WiFiネットワークなどの無線アクセスネットワークを介してインターネットコンテンツを要求し、受信する。
【図面の簡単な説明】
【0003】
【図1】[0003]モバイルインターネットアクティビティを監視するためのシステム例を示すブロック図である。
【図2】[0004]図1のシステム例による要求及び応答フロー例を示すブロック図である。
【図2A】[0004]図1のシステム例による要求及び応答フロー例を示すブロック図である。
【図3】[0005]図1のプロキシ例を示すブロック図である。
【図4】[0006]図1、図2、及び図3のプロキシ例によって受信されるハイパーテキスト転送プロトコル(HTTP)要求の例を示す図である。
【図5】[0007]図1、図2、及び図3のプロキシ例を実施するために実行され得るマシン可読命令の例を表すフローチャートである。
【図5A】[0007]図1、図2、及び図3のプロキシ例を実施するために実行され得るマシン可読命令の例を表すフローチャートである。
【図6】[0008]図1のレジストラ例を実施するために実行され得るマシン可読命令の例を表すフローチャートである。
【図7】[0009]例えば、図1、図2、及び図3のモニタ例、及び/又は図1のレジストラ例を実施するために図5、図5A及び/又は図6のマシン可読命令を実行され得るコンピュータ例を示すブロック図である。
【0004】
[0010]モバイル監視会社(Mobile monitoring companies)は、ユーザがスマートフォンなどのハンドヘルドモバイルデバイスとどのように対話するかについての知識を得ることを望む。特に、モバイル監視会社は、ハンドヘルドモバイルデバイスへの及び/又はハンドヘルドモバイルデバイスからのインターネットトラフィックを監視して、とりわけ広告に対するエクスポージャを監視し、広告の効果を決定し、ユーザの挙動を決定し、様々な人口統計に関連付けられた購入の挙動を識別することを望む。既知のいくつかのシステムは、プロキシサーバを使用して、監視されたデバイスに、及び監視されたデバイスから送信されているインターネットコンテンツを監視している。
【0005】
[0011]こうした既知の監視システムは、単一のポートを介して監視されたハンドヘルドデバイスと通信し、このインターネット通信に関与するモバイルデバイスを一意に識別したユーザ名/デバイス名及びパスワードを含む認証証明書を提供するよう監視されたデバイスに要求したハイパーテキスト転送プロトコル(HTTP)プロキシとしてプロキシサーバを実施した。これらの監視システムによって、モバイル監視会社は、ユーザ名及びパスワードに基づいて、インターネットアクティビティを、発信元のモバイル装置に関連付けることができる。ハンドヘルドモバイルデバイスにおけるインターネットアクティビティは、(例えばアップル(Apple)(登録商標)サファリ(Safari)(登録商標)など)ブラウザの使用に限定されない。例えば、アップル(登録商標)アイフォーン(iPhone)(登録商標)及びアップル(登録商標)アイパッド(iPad)(商標)は、特別な機能を実行するためにインターネットコンテンツにアクセスする多くのサードパーティアプリケーション(時として「App」と呼ぶ)をサポートする。例えば、天気アプリケーションは、www.weather.comにHTTPデータを要求し、表示することができる。これらのappでは、通常、インターネット上でのウェブサイトからウェブサイトへの無制限のブラウズはできない(しかし、これらのappは、定義された1組のウェブページ内で移動することはできる)。したがって、appは、通常、インターネット上の限定された1組のデータにアクセスすることができる。その一方で、ブラウザによって、ユーザは事実上インターネット上の任意の公に使用可能なサイト(コンテンツブロッカなどの制限の対象となる)にアクセスすることができ、www.weather.comなどのウェブサイトのコンテンツをユーザに直接表示する。
【0006】
[0012]インターネットコンテンツにアクセスするいくつかのアプリケーションは、証明書を提供する旨のプロキシ要求に適切に応答するが、前の例の天気アプリケーションなど、多くのアプリケーションは、現在プロキシ認証をサポートしておらず、したがって、プロキシが証明書を要求する場合、機能しない。これは、パネリストにとってストレスとなる可能性があり、パネリストが監視パネルに参加することを断念する可能性がある。さらに、監視エンティティが、ユーザが挙動する方法に影響を与えることなく、インターネットアクティビティを監視することが望ましい。監視技術によってアプリケーションの障害をもたらすことは、その要求に矛盾する。
【0007】
[0013]監視する方法の例のいくつかは、パネリスト及び/又はハンドヘルドモバイルデバイスに一意に割り当てられたポート上で非認証のプロキシを使用することを伴う。しかし、ハンドヘルドモバイルデバイスがWiFiネットワークを介して通信するとき、ハンドヘルドモバイルデバイスとプロキシとの間にファイアウォールが存在する可能性がある。例えば、多くの企業及び/又は会社は、ファイアウォールを使用して、悪意のある及び/又は不要なインターネットコンテンツが各ネットワークのユーザに到達するのを防ぐ。ファイアウォールは、特定のポートをブロックすることによって悪意のある及び/又は不要なインターネットコンテンツをブロックし、及び/又は防ぐ。ポート0から1023までは、Internet Assigned Numbers Authority(IANA)によってウェルノウンポート(Well Known Port)として定義され、IANAへの登録無しに使用することが防止され、したがって、ウェルノウンポートを介した通信は、正当な通信である可能性が高く、逆にブロックされる可能性は低い。ウェルノウンポートの範囲外のインターネット通信は、悪意がある及び/又は不要と決定される可能性があり、したがって、ファイアウォールによってブロックすることができる。ファイアウォールは、ポート1024からポート65535までのすべてのインターネット通信をブロックすることができ、一意に割り当てられたポートがブロックされた範囲(例えば、ポート1024からポート65535まで)内にある場合、ハンドヘルドモバイルデバイスのインターネット通信をブロックすることができる。ファイアウォールは、未登録のポート上の通信をブロックするように構成することができるため、一部のパネリスト(例えば、ブロックされたポートを介して通信するパネリスト)は、WiFiネットワークを使用するとき、アプリケーションの障害を経験する可能性がある。これは、パネリストにとってストレスとなる可能性があり、パネリストが監視パネルに参加することを断念する可能性がある。この場合も、監視エンティティが、ユーザが挙動する方法に影響を与えることなく、インターネットアクティビティを監視することが望ましい。監視技術によってアプリケーションの障害をもたらすことは、その要求に矛盾する。
【0008】
[0014]非認証のプロキシ(例えば、ファイアウォールによってブロックされているプロキシポート)及び認証されたプロキシ(例えば、認証証明書についての要求に適切に応答しないアプリケーション)の両方を使用することに伴うエラーを避けるために、図1に示すシステム例は、能動的にフィルタ処理されたプロキシ(actively filtered proxy)を使用する。能動的にフィルタ処理されたプロキシは、インターネット通信が認証証明書をサポートしないアプリケーションから発せられるとき、非認証のインターネット通信を許可しながら、インターネット通信を監視し、プロキシ認証をサポートするアプリケーションについての認証証明書を要求する。
【0009】
[0015]クライアントデバイスのアプリケーションがインターネットコンテンツを要求するとき、アプリケーションは、コンテンツについての要求にユーザエージェントフィールドを組み込む。ユーザエージェントフィールドは、コンテンツを要求しているアプリケーションを表す。例えば、ブラウザアプリケーションがインターネットコンテンツを要求することになっていた場合、ユーザエージェントフィールドは、ブラウザアプリケーションがコンテンツを要求していたことをコンテンツサーバに対して特定する。アプリケーションが認証の要求に応答することがわかっている場合、図1の監視システムは、アプリケーションから要求を受信すると、有効な証明書が提供されたかどうかを決定する。有効な証明書が提供された場合、監視システムは、要求を、要求によって識別されたインターネットコンテンツプロバイダに転送する。代わりに、アプリケーションが認証の要求に応答しないことがわかっている場合、監視システムは、アプリケーションから要求を受信すると、要求を、要求によって識別されたインターネットコンテンツプロバイダに転送する。
【0010】
[0016]アプリケーションは毎日開発されており、したがって、新しいユーザエージェント識別子は絶え間なく生成されている。例えば、新しいバージョンのアプリケーションをリリースすると、新しいユーザエージェント識別子は、インターネットコンテンツを要求するアプリケーションのバージョンを識別することができる。認証の要求に応答するアプリケーションを適切に識別するために、ユーザエージェントを、認証能力がわかっているアプリケーションと照合する。例えば、新しいバージョンのブラウザアプリケーションがリリースされ、新しいユーザエージェント識別子を含む場合、前のバージョンのブラウザアプリケーションのユーザエージェント識別子は、新しいバージョンのユーザエージェント識別子に実質的に一致し得る。前のバージョンのブラウザアプリケーションが認証をサポートしている場合、次のバージョンも認証をサポートする可能性があり、したがって、認証証明書が必要とされる。
【0011】
[0017]次いで監視システムは、クライアントデバイスがデータ自体の一部又はすべてを要求し、及び/又は受信するデータを記録することができる。データの識別及び/又はデータ自体(例えばウェブコンテンツ)は、本明細書では、一括して「セッションデータ」と呼ぶ。セッションデータは、セッションデータが共に送信される証明書を介してパネリストと関連付けられて記録される。記録されたセッションデータ及び記録された証明書から、監視システムは、パネリストへのサービスの中断を回避しながら、特定のパネリストが訪れているサイト(複数可)、及びパネリストが各自のモバイルデバイスとどのように対話したかを一意に識別することができる。
【0012】
[0018]図1は、モバイルインターネットアクティビティを監視するためのシステム例100のブロック図である。システム例は、ハンドヘルドモバイルデバイス(例えば、第1のパネリスト115に関連付けられた第1のクライアントデバイス110、第2のパネリスト135に関連付けられた第2のクライアントデバイス130など)への及び/又はハンドヘルドモバイルデバイスからのインターネットトラフィックを監視する。監視されたデバイス(例えば、クライアントデバイス110及びクライアントデバイス130)とインターネットサイト(インターネットコンテンツプロバイダ(複数可)170を示す)との間の監視されたインターネットトラフィックは、監視システム例100にルーティングされる。図1に示すように、トラフィックは、無線(例えばWiFi)通信システム(例えばインターネットサービスプロバイダ145及び通信リンク120、140)を通過する。監視システム例100は、レジストラ155、ストレージデータベース160、及びプロキシ165を含む。
【0013】
[0019]図1の第1及び第2のクライアントデバイス110及び130の例は、ハンドヘルドモバイルデバイスである。示した例では、第1のクライアントデバイス110は、アップル(登録商標)アイフォーン(登録商標)として示されており、第2のクライアントデバイス130は、フリップフォンとして示されているが、任意の別のタイプのデバイスが使用されてもよい。例えば、他のタイプの電話、ラップトップコンピュータ、デスクトップコンピュータ、パーソナルデジタルアシスタント(PDA)、ネットブック、又はタブレットコンピュータ(例えば、アップル(登録商標)アイパッド(商標))を、追加として、又は代わりに使用してもよい。第1及び第2のクライアントデバイス110、130は、任意のモバイルオペレーティングシステムを実装することができ、任意のタイプのハードウェア及び/又はフォームファクタを実装することができる。示した例では、第1及び第2のクライアントデバイス110、130は、モバイルデバイスであって、第1及び第2の無線通信リンク120、140を介して通信する。
【0014】
[0020]示した例の第1及び第2の通信リンク120、140は、WiFi通信リンクである。しかし、例えば、Ethernet接続、Bluetooth接続、セルラー接続など、通信の任意の他の方法及び/又はシステムをさらに又は代わりに使用してもよい。さらに、図1の第1及び第2の通信リンク例120、140は、Institute of Electrical and Electronics Engineers (IEEE)802.11g標準を介してWiFi接続を実施する。しかし、例えばIEEE802.11n、IEEE802.11bなど、通信の任意の他のシステム及び/又はプロトコルを使用してもよい。
【0015】
[0021]示した例の第1及び第2のパネリスト115、135は、監視サービスに参加するパネリストである。図1のシステム例は、パネリストベースのシステムであるが、非パネリスト及び/又はハイブリッドパネリストシステムが代わりに使用されてもよい。示した例のパネリストシステムでは、ユーザがパネルに参加し、及び/又は登録すると、ユーザから人口統計情報が得られる。人口統計情報は、ユーザにオンライン調査などを終了させることによって、電話インタビューを介してユーザから得ることができる。追加として、又は代わりに、任意の所望の方法(例えば、ランダムな選択、統計的な選択、電話による勧誘、インターネット広告、調査、ショッピングモールでの広告など)を使用してパネリストに連絡を取り、及び/又は協力を求めることができる。
【0016】
[0022]示した例では、第1及び第2のパネリスト115、135は、それぞれ第1及び第2のクライアントデバイス110、130に関連付けられる。示した例では、クライアントデバイス110、130は、所有され、リースされ、又は他の方法でそれぞれのパネリストに属する。示した例の監視エンティティは、クライアントデバイスを提供しない。他のシステムでは、パネルに参加するためのクライアントデバイスがパネリストに提供されてもよい。示した例では、第1及び第2のクライアントデバイス110、130はそれぞれ、1人のパネリストに関連付けられているが、代わりに、第1及び第2のクライアントデバイス110、130が複数のパネリストに関連付けられてもよい。例えば、家族は、複数のユーザ間で共有できる単一のクライアントデバイスを有しているかもしれない。クライアントデバイスの共有は、クライアントデバイスがポータブルコンピュータ(例えば、アップル(登録商標)アイパッド(商標))である場合に比べて、クライアントデバイスが携帯電話である場合はあまり一般的ではない。
【0017】
[0023]示した例のインターネットサービスプロバイダ145は、通信リンク120、140を介して、無線インターネットサービスを第1及び第2のクライアントデバイス110、130に提供する。示した例では、無線サービスは、WiFi接続を介して提供される。しかし、インターネットサービスプロバイダ145は、任意の他のタイプの接続を介してインターネットサービスを提供することができる。さらに、インターネットサービスプロバイダ145は、IEEE802.11g標準を介してWiFi接続を実施することができる。しかし、通信のための任意の他のシステム及び/又はプロトコルを使用してもよい。実際には、インターネットサービスプロバイダ145は、時としてローカルアクセスポイントと呼ばれ、ローカルエリアネットワークをクライアントデバイスに提供する。示した例では、インターネットサービスプロバイダは、IANAによって定義されたウェルノウンポートの範囲内にはないすべてのポート(ポート1024からポート65535)をブロックするファイアウォールを含む。しかし、ファイアウォールによってブロックされたポートは、任意の他のポートとしてもよく、インターネットサービスプロバイダによって異なり得る。例えば、(例えば、オフィス又は企業における)会社のネットワークのファイアウォールのセキュリティポリシは、より制限的であってもよく、パブリックネットワーク(例えば、喫茶店など公の場所においてホストされる無線アクセスネットワーク)のファイアウォールのセキュリティポリシより多くのポートをブロックすることができる。
【0018】
[0024]示した例では、監視システム100は、複数のコンピュータシステムとして示されている。しかし、監視システム100は、最終的に、単一のコンピューティングシステムから成っていてもよい。示した例では、監視システム100は、レジストラ155、ストレージデータベース160、及びプロキシ165を含む。しかし、レジストラ155、ストレージデータベース160、及び/又はプロキシ165、及び/又は他の機能によって実施される機能のうちの1つ又は複数の部分を実行するために、追加の構造を実装することができる。
【0019】
[0025]図1の例では、レジストラ155は、パネリスト115、135から登録情報を受信し、パネリスト115、135及び/又はそれぞれのクライアントデバイス110、130を識別するレコードを格納する。示した例では、受信した登録情報は、人口統計情報を含む。しかし、追加として、又は代わりに、任意の他の情報が集められてもよい。登録情報は、例えば、パネリストに関連付けられたモバイルデバイスのモデルを識別する情報、パネリストに関連付けられた郵送先住所、パネリストに関連付けられたeメールアドレス、モバイルデバイスに関連付けられた電話番号、パネリスト及び/又はモバイルデバイスの一意の識別子(例えば、パネリストの社会保障番号、モバイルデバイスの電話番号、パネリストの郵便番号、パネリスト及び/又はモバイルデバイスに関連する任意の情報の任意の組み合わせ又は派生)、パネリストの年齢、パネリストの性別、パネリストの人種、パネリストの所得、パネリストが通常各自のデバイスを使用しようとする場合、パネリストがどのくらいの期間各自のデバイスを所有しているか、パネリストの教育レベル、及び/又はパネリスト及び/又はモバイルデバイスに関連する任意の他の情報を含み得る。
【0020】
[0026]示した例では、登録データは、電子インターフェイスを介してレジストラ155によって受信される(例えば、パネリストがウェブサイトでフォームにデータを入力する、又はウェブサイトで調査の質問に答えることによって)。しかし、レジストラは、他の手段を介して登録データを受信してもよい。例えば、レジストラは、個人面接(電話で、又は直に)、電話インターフェイス、ダイレクトメール、購入リストなどを介して登録データを受信することができる。示した例のレジストラ155は電子システムであるが、代わりに、1人の人又は一群の人が登録データを集め、ストレージデータベース160に入力することによって、手動でレジストラ155を実施することができる。
【0021】
[0027]登録データを受信すると、示した例のレジストラ155は、パネリスト及びデバイス識別子情報を集められた人口統計情報に関連付けるレコードを作成する。レジストラ155は、一意の英数字識別子をパネリスト又はデバイスに割り当てることもできる。識別子は、例えば、クライアントデバイスのシリアル番号に基づいていてもよい。レコードは、ストレージデータベース160に格納されている。また、示した例では、レジストラ155は、一意の証明書をパネリスト115、135、及び/又はクライアントデバイス110、130に割り当て、レコード内に(又は、そのパネリスト及び/又はクライアントデバイスのレコードと関連付けて)証明書を格納する。上述したように、証明書を割り当て、格納することに加えて、レジストラは、追加の識別子を割り当て、格納することができる。例えば、レジストラは、クライアントデバイス及び/又はパネリストの識別子を割り当て、格納することができる。パネリスト又はクライアントデバイス識別子(複数可)は、証明書と同じでもよく、又は証明書とは異なっていてもよい。さらに、ストレージデータベース160に証明書を格納するとき、レジストラは、証明書を符号化し、及び/又は暗号化して、セキュリティ及び/又は匿名性をパネリストに提供することができる。
【0022】
[0028]証明書を割り当て、格納することに加えて、示した例のレジストラ155は、構成ドキュメントを生成する。示した例では、構成ドキュメントは、クライアントデバイスを構成するようパネリストに指示する。示した例の指示ドキュメントは、eメールメッセージである。しかし、さらに又は代わりに、任意の他のタイプの指示ドキュメントを使用してもよい。例えば、ポータブルドキュメントフォーマット(PDF)ドキュメント及び/又はマイクロソフト(Microsoft)(登録商標)ワード(Word)(登録商標)ドキュメントをeメールメッセージの添付としてパネリストに送信してもよい。さらに、構成ファイルは、登録データの一部としてレジストラによって受信されるモバイルデバイスのモデルに基づいて、特定のタイプのモバイルデバイスに合わせてカスタム生成することができる。
【0023】
[0029]あるいは、構成ドキュメントは、構成ドキュメントに含まれる設定を適用するようモバイルデバイスに指示することができる電子可読ファイルを備えていてもよい。いくつかの例では、構成ドキュメントは、対応するパネリスト及び/又はクライアントデバイスによって使用される証明書、ポート番号、及びインターネットプロキシアドレスなどの構成データを備えるプロパティリスト(本明細書ではpリストと呼ぶ)ファイルを実装する拡張可能なマーク付け言語(Extensible Markup Language:XML)ファイルである。しかし、例えば、カンマ区切り(CSV)ドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、マイクロソフト(登録商標)ワード(登録商標)ドキュメントなど、任意の他のタイプのドキュメントを生成することができる。示した例では、構成ドキュメントは、公開/秘密鍵インフラストラクチャを使用して署名される。しかし、もう一つの選択肢として、構成は署名しなくてもよい。構成ドキュメントは、署名されない場合、パネリストに対して無効な構成ファイルとして表示される可能性があり、これによって、パネリストがパネルへの参加を断念する可能性がある。構成ドキュメントが対応するクライアントデバイスに送信される(例えば、ファイルが添付されている、又はファイルへのリンクを含むeメールメッセージを介して)。次いでクライアントデバイスは、構成ファイル内のデータを解釈し、それによって、データ(例えば証明書及びインターネットプロキシアドレス)をモバイルデバイスの将来の通信に適用することができる。示した例では、構成ファイルによって、モバイルデバイスは、すべてのインターネットトラフィックを、プロキシ165のインターネットアドレスに送信し、こうした通信においてクライアントデバイスに割り当てられた証明書を指定する。その結果、モバイルデバイスへの及び/又はモバイルデバイスからのすべてのインターネット通信は、プロキシ165にアドレス指定され、認証されると、その特定のクライアントデバイスを特定し、又はその特定のクライアントデバイスに関連付けることができる。示した例では、アップル(Apple)(登録商標)アイフォーン(iPhone)(登録商標)、アップル(登録商標)アイポッド(iPod)(登録商標)、アップル(登録商標)アイパッド(iPad)(商標)による解釈のために、pリストファイルが実装される。しかし、モバイルデバイスは、任意の他のタイプのモバイルデバイスでもよく、任意のタイプの構成ドキュメントを受け入れることができる。
【0024】
[0030]図1の例では、構成ドキュメントは、プロキシ165と通信するようにクライアントデバイスを構成するようパネリストに指示する指示ドキュメントである。しかし、さらに又は代わりに、構成ドキュメントは、インターネット関連のメッセージをプロキシ165に伝えるようクライアントデバイスを自動的に構成するようにクライアントデバイスによって解釈することができる電子ドキュメントとすることができる。構成ドキュメントは、それによって、構成ドキュメントに格納されたデータをどのように適用するかについてパネリストに指示する、又は構成ドキュメントに格納されたデータをクライアントデバイスにどのように直接適用するかについてパネリストに指示することができる。
【0025】
[0031]示した例で上述したように、構成ドキュメントは、eメールメッセージを介してパネリストに送信される。しかし、さらに又は代わりに、構成ドキュメントをパネリストに送信する任意の他の手段を使用してもよい。例えば、構成ドキュメントへのハイパーリンクを含むeメールメッセージを送信してもよく、構成ドキュメントを、ショートメッセージサービス(SMS)メッセージを介してパネリストに送信してもよく、構成ドキュメントをパネリストに郵送してもよく、及び/又はクライアントデバイスを構成するようパネリストに指示するために、パネリストに電話をかけてもよい。
【0026】
[0032]最後に、レジストラ155は、構成ドキュメントをパネリスト及び/又はクライアントデバイスに送信する。示した例では、構成ドキュメントは、電子メール(eメール)メッセージを介して提供される。eメールメッセージは、構成ドキュメントをクライアントデバイスにダウンロードするためのハイパーリンクを含む。しかし、さらに又は代わりに、構成ドキュメントを送信する任意の他の方法を使用してもよい。例えば、構成ドキュメントをeメールメッセージの添付として送信してもよく、レジストラ155は、クライアントデバイスが構成ドキュメントをダウンロードすることができるインターネットアドレスへのリンク又はインターネットアドレスのテキスト表現を備えるショートメッセージサービス(SMS)メッセージを送信してもよく、構成ドキュメントを備え、及び/又は構成ドキュメントを含む電子媒体をさらに備えるダイレクトメールをパネリストに送信してもよく、クライアントデバイスをどのように構成するかについてパネリストに口頭で指示するために電話をかけてもよい。
【0027】
[0033]図1のレジストラ155は、プロセッサ実行命令によって実施されるが、代わりに、ASIC、DSP、FPGA、又は他の回路によって実施することができる。ストレージデータベース160は、パネリスト115、135をクライアントデバイス110、130と関連付ける識別子をレジストラ155から受信し、格納する。さらに、ストレージデータベース160は、プロキシ165から監視データを受信し、格納する。監視データは、証明書が提供されたとき、対応する監視されたインターネットトラフィックのために使用される認証証明書を介して対応するパネリスト及び/又はクライアントデバイスに関連付けられる。ストレージデータベース160は、識別子及び/又は測定データではないデータを格納することもできる。例えば、監視システム100の任意の構成要素のための更新されたソフトウェア及び/又は更新されたファームウェアは、ストレージデータベース160に格納され得る。さらに、ストレージデータベース160は、レジストラ155が構成ドキュメントを生成できるようにする情報を格納することができる。例えば、ストレージデータベース160は、クライアントデバイス110、130のモデルなど、登録情報を格納することができる。さらに、ストレージデータベース160は、レジストラ155によって集められる人口統計データを格納することができる。
【0028】
[0034]ストレージデータベース160は、例えば、フラッシュメモリ、磁気媒体、光媒体など、データを格納するための任意のデバイスとすることができる。さらに、ストレージデータベース160に格納されたデータは、例えば、バイナリデータ、カンマ区切りデータ、タブ区切りデータ、構造化問い合わせ言語(SQL)構造など、任意のデータフォーマットとすることができる。示した例では、ストレージデータベースは、単一のデータベースとして示されているが、ストレージデータベース160は、複数のデータベースによって実装することができる。
【0029】
[0035]示した例のプロキシ165は、無線インターネットサービスプロバイダ145を介してクライアントデバイス110、130から要求を受信する。すべてのその後の要求をプロキシ165を介して送信するようクライアントデバイスに指示する構成ドキュメントがクライアントデバイスのそれぞれに適用されているために、クライアントデバイス110、130の要求は、プロキシ165によって受信される。示した例では、プロキシ165は、少なくとも1つのウェルノウンポート(例えば、ポート0からポート1023まで)を介してインターネットコンテンツ要求を受信する。ウェルノウンポートのみを使用することによって、インターネット通信は、ファイアウォールによってブロックされる可能性はあまり高くない。示した例において、単一のプロキシ165が使用されているが、任意の数のプロキシが図1のプロキシ165を表すことができる。サービス提供され得るパネリストの数に対する唯一の限定要因は、プロキシ165の処理能力であるため、パネルのこのサイズは、他のインターネットアドレスで追加のプロキシを使用することによって拡大することができる。他のインターネットアドレスにおける追加のプロキシは、同じプロキシ165又は複数のプロキシによって実装することができる。例えば、プロキシ165は、プロキシ165のネットワークインターフェイス(例えば仮想インターフェイス)に割り当てられた複数のインターネットアドレスを有することができ、又はプロキシ165は、インターネットアドレスをそれぞれ有する複数のネットワークインターフェイスを有することができる。示した例では、ウェルノウンポートの範囲内で使用されるポートのみが使用されているが、さらに又は代わりに、任意の他のポートが使用されてもよい。例えば、場合によっては登録ポート範囲内及び/又はダイナミック及び/又はプライベートポート範囲内のポートを使用して、パネリストからのインターネットコンテンツについての要求を受け入れることができる。監視システム100などのパネル監視システムがテストされているシナリオでは、通常、パネルは、少なくとも60人のパネリストを含む。進行中のパネルが使用されるシナリオでは、少なくとも1,500人のパネリストのパネルサイズを使用することができる。
【0030】
[0036]クライアントデバイス110、130から要求を受信すると、プロキシ165は、インターネットコンテンツプロバイダ170から(又は、例えば、前に要求され、格納されている場合、ローカルキャッシュから)要求されたインターネットコンテンツを取り出す。要求に関連付けられたパネリストを識別するために、プロキシ165は、要求がプロキシ認証をサポートするアプリケーションから発せられたかどうかを決定する。アプリケーションがプロキシ認証をサポートするよう識別された場合、プロキシ165は、証明書が提供されているかどうかを決定する。証明書が提供されていない場合、プロキシ165は、要求側デバイスに証明書を要求する。証明書が提供されている場合、プロキシは、証明書を介して要求をパネリストに関連付ける。
【0031】
[0037]通常、コンテンツプロバイダ170と通信するためにプロキシによって使用されるポートは、ポート80を介して行われるハイパーテキスト転送プロトコル(HTTP)データに限定される。インターネットコンテンツプロバイダ(複数可)170から要求されたインターネットコンテンツを取り出した後、示した例では、コンテンツは、割り当てられたポートを介して要求側のクライアントデバイス110、130に中継される。追加として、又は代わりに、割り当てられたポート(例えばポート80)以外のポートを介して、コンテンツを要求側のクライアントデバイス110、130に中継してもよい。
【0032】
[0038]示した例のプロキシ165は、クライアントデバイス110、130から発せられたインターネットコンテンツについての要求及び/又はこうした要求の一部(複数可)を、要求が共に受信された証明書と関連付けて、ストレージデータベース160に格納する。要求を格納する際、プロキシ165は、例えば、クライアントデバイス110、130の識別子、パネリスト115,135の識別子、及び/又はクライアントデバイス110、130によって提供された証明書など、他の識別子をさらに格納することができる。追加として、又は代わりに、プロキシ165は、ストレージデータベース160にインターネットコンテンツの一部を格納することができる。例えば、プロキシ165は、クライアントデバイス110、130に送信されたウェブページの本文を格納することができる。別の例では、プロキシ165は、クライアントに送信されたウェブぺージに表示される広告の識別子を格納することができる。これは特に、広告がウェブサイトで回転する状況で有用である。追加として、又は代わりに、プロキシ165は、例えばHTTPヘッダ、HTTPヘッダのステータスコード、HTTPヘッダのコンテンツタイプなど、応答の特徴を格納することができる。
【0033】
[0039]インターネットコンテンツプロバイダ170は、インターネットを介してクライアントにコンテンツを提供する。示した例では、プロキシ165は、クライアントデバイス110、130の仲介として働き、したがって、インターネットコンテンツプロバイダ170のクライアントである。ほとんどのインターネットコンテンツはHTTPデータの形なので、インターネットコンテンツは、ポート80を介して提供されることが多い。しかし、任意の他のポートを使用してインターネットコンテンツを提供することができる。例えば、ファイル転送プロトコル(FTP)データは、ポート21を介して送信することができ、Secure Socket Layer(SSL)を介したHTTPは、ポート443を介して送信することができる。
【0034】
[0040]インターネットコンテンツプロバイダ170は、任意のプロバイダとすることができる。例えば、インターネットコンテンツプロバイダ170は、ハイパーテキストマーク付け言語(HTML)コンテンツとしてフォーマットされるウェブページをホストするウェブサーバを備え得る。或いは、インターネットコンテンツプロバイダ170は、インターネットコンテンツにアクセスするアプリケーションにアプリケーションコンテンツを提供するアプリケーションサーバとすることができる。アプリケーションコンテンツをHTML、XMLとしてフォーマットしてもよく、又は任意の他のプロトコル又はポートを使用して、コンテンツを要求側に戻すことができる。いくつかの例では、アプリケーションデータは、インターネットコンテンツを要求するアプリケーション(例えば、上述した天気アプリケーション)を特に対象とするプロトコルで実装される。
【0035】
[0041]図2は、図1のシステム例による要求及び応答フロー例を示すブロック図200である。図2のブロック図200は、モバイルデバイス205、ローカルネットワーク230、ファイアウォール232、プロキシ165、ストレージデータベース160、インターネット240、及びインターネットコンテンツプロバイダ170の間の通信を示す。モバイルデバイス205は、クライアントデバイス110、130のいずれかを表し、デバイスネットワーキングサブシステム210、ブラウザアプリケーション215、インターネットコンテンツにアクセスするアプリケーション220、及びユーザインターフェイス225を備える。さらに、ブロック図は、第1の要求235、第2の要求245、第1の応答250、及び第2の応答255を示す。
【0036】
[0042]デバイスネットワーキングサブシステム210は、コンテンツを送受信するためのフレームワークを提供する。デバイスネットワーキングサブシステム210は、アプリケーションプロセッサ、ネットワーク通信を容易にするソフトウェアシステム、ブラウザエンジン、ネットワークトラフィックを送信するベースバンドプロセッサ、及び/又はコンテンツを送受信するためのフレームワークを提供する任意の他のシステムを介して実施することができる。示した例では、デバイスネットワーキングサブシステムは、アップル(登録商標)アイフォーン(登録商標)オペレーティングシステムで提供されたネットワーキングライブラリによって実施される。しかし、追加として、又は代わりに、任意の他のライブラリ、システム、又はプログラムを使用してもよい。
【0037】
[0043]ブラウザアプリケーション215及びインターネットコンテンツにアクセスするアプリケーション220は、モバイルデバイス205のプロセッサによって実行されるアプリケーションである。ブラウザアプリケーション215は、インターネットコンテンツプロバイダ170にHTTPインターネットコンテンツを要求し、HTTPコンテンツを表示用にレンダリングする。追加として、又は代わりに、ブラウザアプリケーションは、HTTPインターネットコンテンツを要求し、レンダリングすることができる。いくつかの例では、ブラウザアプリケーションは、アップル(登録商標)サファリ(Safari)(登録商標)によって実装される。しかし、代わりに、任意の他のアプリケーションを使用してもよい。例えば、ポケットインターネットエクスプローラを使用することができる。いくつかの例では、HTTPインターネットコンテンツは、HTMLコンテンツである。しかし、コンテンツは、ブラウザアプリケーション215によってレンダリングすることができる任意のフォーマットで提示することができる。
【0038】
[0044]インターネットコンテンツにアクセスするアプリケーション220は、インターネットコンテンツを要求するモバイルデバイスにおける任意のアプリケーションとすることができる。例えば、インターネットコンテンツにアクセスするアプリケーション220は、www.weather.comによって提供されるインターネットコンテンツにアクセスする天気アプリケーションとすることができる。www.weather.comのコンテンツを提供するインターネットコンテンツプロバイダ170は、HTMLデータでコンテンツの要求に応答することができる。しかし、任意の他のタイプのデータを、コンテンツ要求に含めることができる。例えば、www.weather.comのコンテンツを提供するインターネットコンテンツプロバイダ170は、圧縮された天気予報を含むXMLファイルを提供することができる。追加として、又は代わりに、インターネットコンテンツにアクセスするアプリケーション220は、例えば、写真、映像、音声などの媒体を要求することができる。通常、インターネットコンテンツにアクセスするアプリケーション220は、表示される少量の情報に限定される。例えば、天気アプリケーションは、スポーツニュースを表示することはできない。ブラウザ215又はインターネットコンテンツにアクセスするアプリケーション220は、コンテンツの要求を開始することはできるが、アップル(登録商標)アイフォーン(登録商標)などいくつかのデバイスにおいて、要求は、(例えば、プロキシ165の特定のポートに対する)こうした要求のルーティング及び/又はアドレス指定を制御するシステム全体の設定に基づいて、デバイスネットワーキングサブシステム210によってフォーマットされ、送信される。
【0039】
[0045]示した例のユーザインターフェイス225は、ユーザに表示を提供し、ユーザからの入力を受信する。ユーザインターフェイス225は、パネリストにコンテンツを表示するためのハードウェア、グラフィックライブラリ、及び/又はグラフィックドライバを備え、パネリストからの入力を受信するためのハードウェア、入力ライブラリ、及び/又は入力ドライバを備え得る。ブラウザアプリケーション215及びインターネットコンテンツにアクセスするアプリケーション220のいずれか又は両方は、ユーザインターフェイスを使用して、コンテンツを表示し、入力を受信することができる。
【0040】
[0046]ローカルネットワーク230は、インターネットサービスプロバイダ145によってホストされる。示した例では、ローカルネットワーク230は、インターネットプロトコル(IP)バージョン4(IPv4)ベースのネットワークである。しかし、追加として、又は代わりに、任意の他のネットワーキング技術を実装することができる。例えば、ローカルネットワーク230は、IPバージョン6(IPv6)プロトコルを実装することができる。さらに、示した例のローカルネットワーク230は、通信リンク120、140を使用して実施される。WiFi接続が示されているが、さらに又は代わりに、例えばEthernetネットワーク、セルラーネットワークなど、任意の他の通信の方法を使用してもよい。さらに、ローカルネットワーク230は、パブリックネットワークとして示されている。しかし、ネットワークは、プライベートネットワークでもよい。
【0041】
[0047]示した例のファイアウォール232は、ファイアウォール232を通過した要求及び応答にセキュリティポリシを適用する。いくつかの例では、セキュリティリスクがないとわかっているプロトコルをポートが表すことができるため、ファイアウォール232は、ウェルノウンポート(例えば、ポート0から1023まで)を介した通信のみを可能にすることができる。あるポート上での通信がファイアウォール232を通過することができない場合、その通信は、要求側クライアントデバイスからプロキシ165に送信されない。
【0042】
[0048]プロキシ165は、モバイルデバイスからインターネットコンテンツについての要求235を受信し、第2の要求245を対応するインターネットコンテンツプロバイダ170に送信することによってコンテンツを取り出し、コンテンツプロバイダ170からの応答250でコンテンツを受信し、第2の応答255を介してコンテンツをモバイルデバイス205に中継する。示した例では、プロキシ165は、ストレージデータベース160に要求及び/又は応答の特徴及び/又は識別子を格納する。これらの特徴及び/又は識別子は、例えば、要求及び/又は応答のタイムスタンプ、クライアントのIPアドレス、要求のユーザエージェント、応答のステータスコード、応答のコンテンツタイプなどとすることができる。しかし、プロキシ165は、ストレージデータベース160に応答のインターネットコンテンツをさらに格納することができる。要求を中継する際、プロキシ165は、図2Aとの関連で後述するように、要求のポートを変換する。
【0043】
[0049]示した例のインターネット240は、パブリックネットワークである。しかし、プライベートネットワークを代わりに使用することもできる。例えば、組織及び/又は会社内のネットワークは、組織のメンバー及び/又は会社の従業員がモバイルデバイスを介してどのように内部のウェブコンテンツを使用するかを決定するために使用することができる。
【0044】
[0050]示した例は、単一の要求の通信ストリームを示す。第1の要求235は、ローカルネットワーク230を介して、及びファイアウォールを介して、モバイルデバイス205からプロキシ165に送信される。第1の要求235は、ファイアウォール232によって禁止されていないポートを使用し、HTTPコンテンツについてのものである(例えば、要求は、ポート80を介して提供されるコンテンツについてのものである)。しかし、要求されるコンテンツは、任意のポートを介して要求することができる。例えば、要求は、ファイル転送プロトコル(FTP)コンテンツについてのものとすることができ、ポート21を介して行われ得る。プロキシ165は、第1の要求235を受信すると、要求の一部又はすべてをストレージデータベース160に格納し、第2の要求245を生成する。第2の要求245は、事実上、図2Aに示されるように、第1のアドレスの変換である。第2の要求245は、第1の要求235で識別されるインターネットコンテンツプロバイダ170にアドレス指定される。第1の要求235がポート80上で提供すべきコンテンツを識別したので、示した例における第2の要求245は、ポート80上でインターネット240を介して送信される。インターネットコンテンツプロバイダ170は、第1の応答250で第2の要求245に応答する。プロキシ165は、ポート80を介して第1の応答250を受信し、ストレージデータベース160に要求の一部又はすべてを格納し、第1の応答250のコンテンツを、モバイルデバイス205に割り当てられたポートを介してモバイルデバイス205に転送する。
【0045】
[0051]図2Aは、図1のシステム例による要求及び応答フロー例を示すブロック図201である。ブロック図201は、プロキシ165、インターネットコンテンツプロバイダ(複数可)170、モバイルデバイス205、キャリアネットワーク230、及びインターネット240を含む。ブロック図201は、第1の要求235、第2の要求245、第1の応答250、及び第2の応答255をさらに含む。さらに、示した例の要求及び応答は、HTTP要求及び応答ヘッダによって表される。第1の要求235は、第1のHTTP要求ヘッダ236によって表され、第2の要求245は、第2のHTTP要求ヘッダ246によって表される。第1の応答250は、第1のHTTP応答ヘッダ251によって表され、第2の応答255は、第2のHTTP応答ヘッダ256によって表される。
【0046】
[0052]第1のHTTP要求ヘッダ236は、モバイルデバイス205によって生成されるGET要求のヘッダである。示した例では、インターネットコンテンツプロバイダ170は、第1のHTTP要求ヘッダ236の第1行で識別される絶対的なユニバーサルリソースロケータ(URL)によって識別され、プロキシ165のアドレス及び一意に割り当てられたポートは、第1のHTTP要求ヘッダ236の「ホスト」行によって識別される。示した例で識別されたホストは、proxy.MonitoringEntity.comであり、要求が行われたポートは、80である。しかし、プロキシ165を識別する任意の他のアドレス及び任意の他のポートを代わりに使用してもよい。例えば、プロキシ165を識別するアドレスは、プロキシ165のインターネットプロトコル(IP)アドレスとすることができる。示した例では、インターネットリソースの絶対URLは、「http://www.google.com」である。しかし、追加として、又は代わりに、任意の他のURLを使用してもよい。
【0047】
[0053]プロキシ165は、第1のコンテンツ要求235を受信し、第2のコンテンツ要求245を生成する。第2のコンテンツ要求245は、第2のHTTP要求ヘッダ246によって表される。示した例では、第2のHTTP要求ヘッダ246は、「http://www.google.com」に向けられるGET要求であり、ポート80以外のポートが識別されないので、ポート80を介して送信される。示した例で「http://www.google.com」に要求されているコンテンツは、「/」である。プロキシは、第1の要求235を検査することによって第2の要求のコンテンツを生成する。例えば、プロキシ165は、第1の要求235の要求されたコンテンツを「http://www.google.com」と識別し、変換されるポートがポート80であると決定し(http://によって識別される)、識別されたインターネットコンテンツプロバイダ170が「www.google.com」であることを決定し、インターネットコンテンツプロバイダに要求されたウェブページが「/」であることを決定する。要求されたコンテンツがHTTPコンテンツであり、代替のポート番号が指定されないことをプロキシ165が決定したため、第2のコンテンツ要求245は、ポート80を介して送信される。或いは、第1のコンテンツ要求235によって識別されたコンテンツは、ポート80以外のポート上で提供されるコンテンツとすることができる。その例では、第1のHTTP要求ヘッダ236の絶対URLは、要求されたコンテンツを「http://www.google.com:1234/」と識別して、要求によって識別されたコンテンツがポート1234上で提供されることを伝える。さらに、プロキシ165は、第2のHTTP要求ヘッダ246を生成し、ポート1234を識別されたホストに含める(例えばwww.google.com:1234)。
【0048】
[0054]インターネットコンテンツプロバイダ170は、第2のコンテンツ要求245を受信し、第1の応答250を介して要求に応答する。第1の応答250は、プロキシ165に送信される。示した例では、第1の応答は、ポート80上でなされたコンテンツ要求に対する応答であるので、ポート80を介して送信される。しかし、プロキシ165に第1の応答を送信するために、任意の他のポートを使用してもよい。プロキシ165は、第1の応答250を受信し、第2の応答255を送信すべき適切なポートを決定する。示した例では、プロキシ165は、第2の要求245を介して第1の応答250を第1の要求235に関連付けることによって、第2の応答を送信すべきポートを決定する。こうした例では、プロキシ165は、第1の要求235がポート80上で発せられ、したがって第2の応答を、ポート80上で送信すべきであることを識別することができる。しかし、追加として、又は代わりに、第2の応答を送信するためのポートを決定する任意の他の方法を使用してもよい。さらに、応答は、モバイルデバイス205に割り当てられたポート以外のポートを介して送信されてもよい。
【0049】
[0055]図3は、図1のプロキシ例165のブロック図である。プロキシ例165は、要求及び応答ポート305、要求サービサー310、インターネットコンテンツプロセッサ315、コンテンツ収集部(content gatherer)320、及びインターネットポート325を含む。要求及び応答ポート305は、クライアントデバイス110、130から要求を受信し、及び/又はクライアントデバイス110、130に応答を送信する。ポート305によって受信された要求は、要求サービサー310に渡される。コンテンツ収集部320は、インターネットポート325を介してインターネットコンテンツプロバイダ170に要求を送信し、インターネットコンテンツプロバイダ170から応答を受信する。インターネットコンテンツプロセッサ315は、要求(又はその一部)及び/又は取り出したコンテンツ(又はその一部又はそれに関連付けられた識別子)をストレージデータベース160に格納する。
【0050】
[0056]示した例の要求及び応答ポート305は、伝送制御プロトコル(TCP)ポート及び/又はユーザデータグラムプロトコル(UDP)ポートである。しかし、さらに又は代わりに、任意の他のポートベースのシステムが使用されてもよい。ポート80は通常、HTTPコンテンツ用に使用されており、通常、ほとんどのファイアウォールによってブロックされないため、示した例の要求及び応答ポートは、ポート80である。しかし、ポートは、例えば明確に定義されたポートの範囲(ポート0からポート1023までの範囲)内のポート及び/又は登録されたポートの範囲(ポート1024からポート49151までの範囲)内のポートなど、任意の他のポート番号でもよい。
【0051】
[0057]示した例の要求サービサー310は、要求及び応答ポート305から要求を受信し、必要に応じてポート変換を実行する。ポート変換は、プロキシが要求されたコンテンツがホストされるのと同じポートを介してホストされる場合は必要ではないことがある。例えば、プロキシがポート80上でホストされ、コンテンツ要求がポート80上で提供されたコンテンツ(例えば、HTTPコンテンツ)についてのものである場合、ポート変換は行われない。まず、要求は、インターネットコンテンツプロバイダ170との通信を対象とする宛先ポートを決定するために検査される。例えば、多くの状況では、要求は、HTTPコンテンツについてのものであり、宛先ポートは、ポート80と識別される。しかし、任意の他の宛先ポートを使用してもよい。例えば、FTPトラフィックは、ポート21に変換されてもよい。コンテンツ収集部320は、(例えば、変換された要求を対応するコンテンツプロバイダに送信することによって)要求で識別されたコンテンツを集める責任がある。いったんコンテンツが収集されると、要求サービサー310は、受信されたコンテンツ応答に別のポート変換を実行して、変換された応答を生成し、要求を行ったクライアントデバイスに割り当てられたポートを介して、変換された応答をクライアントデバイスに送信する。
【0052】
[0058]インターネットコンテンツについての要求のポートを変換することに加えて、要求サービサーは、要求のユーザエージェント識別子を検査する。ユーザエージェント識別子が認証をサポートするアプリケーションを識別する場合、要求サービサー305は、要求と共に有効な証明書が提供されているかどうかを決定する。有効な証明書が提供されていない場合、要求サービサー305は、証明書をクライアントデバイスに要求する。有効な証明書が提供されている場合、要求サービサー305は、要求をコンテンツ収集部320に提供する。
【0053】
[0059]示した例のインターネットコンテンツプロセッサ315は、使用可能な場合、要求に関連付けられた証明書を決定し、クライアントデバイスを一意に識別するために、要求を証明書と関連付けてストレージデータベース160に格納する。いくつかの状況では、証明書は、格納に使用できない場合がある。例えば、インターネットコンテンツを要求するアプリケーションがプロキシ認証をサポートしないことをユーザエージェントが示すとき、証明書は要求されない。したがって、ストレージデータベース160に格納されたコンテンツ要求の一部は、発信側のクライアントデバイス110、130を一意に識別しない場合があり、及び/又は代わりに、インターネットコンテンツプロセッサ315は、証明書を使用して、登録時にレジストラ155によって生成されたパネリストID及び/又はクライアントデバイスIDを決定し、格納することができる。示した例では、インターネットコンテンツプロセッサ315は、コンテンツについての要求を格納する。しかし、図3の表に示されるように、インターネットコンテンツプロセッサ315は、全部より少ない要求、要求についてのシンボルなどを格納することができる。追加として、又は代わりに、インターネットコンテンツプロセッサ315は、応答で提供されたコンテンツ、及び/又は応答で提供されたコンテンツのセグメント及び/又は部分をストレージデータベース160に格納することができる。例えば、インターネットコンテンツプロセッサ315は、クライアントデバイスに送信された広告をストレージデータベース160に格納することができる。
【0054】
[0060]示した例のコンテンツ収集部320は、インターネットコンテンツについての要求によって識別されたコンテンツを要求する。特に、コンテンツ収集部320は、ポート305のうちの1つを介して要求で要求されたコンテンツのインターネットアドレスを使用して、要求されたインターネットコンテンツを集めるための第2の要求を生成する。コンテンツ収集部320は、インターネットポート325を介して第2の要求を送信する。示した例のインターネットポート325は、伝送制御プロトコル(TCP)ポート、及び/又はユーザデータグラムプロトコル(UDP)ポートである。しかし、追加として、又は代わりに、任意の他のポートベースのシステムが使用されてもよい。示した例のインターネットポートは、HTTPトラフィックのためのものである(例えば、ポート80)。しかし、任意の他のポートを使用してもよい。例えば、ポート21をファイル転送プロトコル(FTP)トラフィックに使用することができる。
【0055】
[0061]図4は、図1、図2、及び図3のプロキシ例165によって受信されるハイパーテキスト転送プロトコル(HTTP)要求例400である。HTTP要求例400は、ユーザエージェント識別子405を備える。示した例では、HTTP要求400は、第1及び第2行によって識別されるように、www.google.comについてのGET要求である。さらに、ユーザエージェント識別子405は、アップル(登録商標)サファリ(登録商標)、アップル(登録商標)アイフォーン(登録商標)のブラウザアプリケーションを要求側アプリケーションとして識別する。しかし、任意の他のアプリケーションがインターネットコンテンツを要求し、ユーザエージェント識別子405によって識別されてもよい。示した例では、ユーザエージェント識別子405のバージョン識別子は、要求を送信するアップル(登録商標)サファリ(登録商標)のバージョンがアップル(登録商標)アイフォーン(登録商標)のアプリケーションであることを示唆し、さらに、アップル(登録商標)サファリ(登録商標)のバージョン6789が要求を送信していることを示唆する。別の例では、天気アプリケーションなどインターネットコンテンツにアクセスするアプリケーションは、要求を送信するアプリケーションが天気アプリケーションであることを示唆するユーザエージェント識別子405を送信することができる。
【0056】
[0062]図1のプロキシ165を実装する方法例が図1及び図3に示されているが、図3に示した要素、プロセス、及び/又はデバイスのうちの1つ又は複数は、任意の他の方法で結合し、分割し、再配列し、省略し、無くし、及び/又は実施することができる。さらに、要求及び応答ポート305、要求サービサー310、インターネットコンテンツプロセッサ315、コンテンツ収集部320、インターネットポート325、及び/又は、より一般的には、図3のプロキシ例165及び/図1のレジストラ例155は、ハードウェア、ソフトウェア、ファームウェア、及び/又はハードウェア、ソフトウェア、及び/又はファームウェアの任意の組み合わせによって実装することができる。したがって、例えば、要求及び応答ポート例305、要求サービサー例310、インターネットコンテンツプロセッサ例315、コンテンツ収集部例320、インターネットポート例325のうちの任意のもの、及び/又はより一般的には、プロキシ例165は、1つ又は複数の回路(複数可)、プログラム可能プロセッサ(複数可)、特定用途向け集積回路(複数可)(ASIC(複数可))、プログラム可能論理デバイス(複数可)(PLD(複数可))、及び/又はフィールドプログラマブル論理デバイス(複数可)(FPLD(複数可))などによって実装することができる。添付された装置クレームのうちの任意のものが純粋にソフトウェア及び/又はファームウェアの実装をカバーするように解釈されるとき、要求及び応答ポート例305、要求サービサー例310、インターネットコンテンツプロセッサ例315、コンテンツ収集部例320、インターネットポート例325、プロキシ例165、レジストラ例155、及び/又はストレージデータベース160のうちの少なくとも1つは、本明細書では、ソフトウェア及び/又はファームウェアを格納するメモリ、DVD、CDなどのハードウェア及び/又はコンピュータ可読媒体を含むように明確に定義される。さらに、図1及び図3のプロキシ例165は、図3に示したものに加えて、又はその代わりに、1つ又は複数の要素、プロセス、及び/又はデバイスを含むことができ、及び/又は示した要素、プロセス、及びデバイスのうちのいずれかを1つより多く又はすべてを含んでいてもよい。
【0057】
[0063]図1及び/又は図3のプロキシ165を実施するためのマシン可読命令の例を表すフローチャートが図5及び図5Aに示される。さらに、図1のレジストラ155を実施するためのマシン可読命令の例を表すフローチャートが図6に示される。これらの例では、マシン可読命令は、図7との関連で後述するコンピュータ700の例に示されるプロセッサ712などのプロセッサによる実行のためのプログラム(複数可)を備える。プログラムは、CD−ROM、フロッピーディスク、ハードドライブ、DVD(digital versatile disk)、又はプロセッサ712に関連付けられたメモリなど、コンピュータ可読媒体に格納されるソフトウェアに組み込むことができるが、プログラム(複数可)全体及び/又はその一部は、代わりにプロセッサ712以外のデバイスによって実行することができ、及び/又はファームウェア又は専用ハードウェアに組み込むことができる。さらに、プログラム(複数可)例は、図5、図5A及び図6に示されたフローチャートを参照して説明しているが、プロキシ例165及び/又はレジストラ例155を実施する多くの他の方法を代わりに使用してもよい。例えば、ブロックの実行の順序を変更してもよく、及び/又は示したブロックの一部を変更し、無くし、又は組み合わせてもよい。
【0058】
[0064]上述したように、図5、図5A及び図6のプロセス例は、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ(ROM)、コンパクトディスク(CD)、DVD(digital versatile disk)、キャッシュ、ランダムアクセスメモリ(RAM)、及び/又は任意の期間の間(例えば、長期間の間、永遠に、短い間、一時的なバッファリングの間、及び/又は情報のキャッシュの間)情報が格納される任意の他の記憶媒体など有形のコンピュータ可読媒体に格納された符号化された命令(例えば、コンピュータ可読命令)を使用して実施することができる。本明細書で使用されるとき、有形のコンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読ストレージを含み、伝搬信号を除外するように明示的に定義される。追加として、又は代わりに、図5、図5A及び図6のプロセス例は、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、DVD、キャッシュ、ランダムアクセスメモリ、及び/又は任意の期間の間(例えば、長期間の間、永遠に、短い間、一時的なバッファリングの間、及び/又は情報のキャッシュの間)情報が格納される任意の他の記憶媒体など非一時的コンピュータ可読媒体に格納された符号化された命令(例えば、コンピュータ可読命令)を使用して実施することができる。本明細書で使用されるとき、非一時的コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読媒体を含み、伝搬信号を除外するように明示的に定義される。
【0059】
[0065]図5は、図1、図2、図3のプロキシ例を実施するために実行され得るマシン可読命令の例500を表すフローチャートである。図5のプログラムは、ブロック505で開始し、ここでマシン可読命令の例500が実行を開始する。まず、プロキシ165の要求サービサー310は、コンテンツ要求を待つ(ブロック505)。示した例では、要求サービサー310は、ポート80上でのコンテンツ要求のみを待つ。しかし、要求サービサー310は、任意の他のポート上でのコンテンツ要求を待ってもよく、又は要求サービサー310は、複数のポート上でのコンテンツ要求を待ってもよい。次に、要求サービサー310は、コンテンツ要求を受信する(ブロック510)。コンテンツについての複数の要求が実質的に同時に受信され得るため、コンテンツ要求は、要求に応答するためにかかる時間量を低減するために、並行して処理される。しかし、コンテンツ要求は、任意の他の方法で処理されてもよい。例えば、コンテンツ要求は、連続的に処理することもできる。
【0060】
[0066]次いで要求サービサー310は、ユーザエージェント識別子が認証をサポートするアプリケーションを識別するかどうかを決定する(ブロック515)。示した例では、認証をサポートするアプリケーションを識別する予め定義された1組のパターンがストレージデータベース160に格納される。例えば、新しいバージョンのアプリケーションをリリースすると、新しいユーザエージェント識別子は、インターネットコンテンツを要求するアプリケーションのバージョンを識別することができる。認証の要求に応答するアプリケーションを適切に識別するために、ユーザエージェントを、認証能力がわかっているアプリケーションと照合する。例えば、新しいバージョンのブラウザアプリケーションがリリースされ、新しいユーザエージェント識別子を含む場合、前のバージョンのブラウザアプリケーションのユーザエージェント識別子は、新しいバージョンのユーザエージェント識別子に実質的に一致し得る。前のバージョンのブラウザアプリケーションが認証をサポートしている場合、次のバージョンも認証をサポートする可能性があり、したがって、認証証明書が必要とされる。ユーザエージェントパターン例は、「サファリ」であり、「サファリ」という用語を含む任意のユーザエージェント識別子は認証の対象になる。しかし、さらに又は代わりに、任意の他のパターン又はパターンの組を使用してもよい。示した例では、パターンは、管理者によって更新される。しかし、図5Aとの関連で説明したように、さらに又は代わりに、自動パターン生成システムを使用してもよい。
【0061】
[0067]要求サービサー310は、ユーザエージェント識別子と予め定義されたパターンとの照合を試行し、パターンがユーザエージェント識別子に実質的に一致することがわかった場合、要求サービサー310は、証明書が要求に関連付けられているかどうかを決定することに取りかかる(ブロック520)。有効な証明書が要求に関連付けられていない場合、要求サービサー310は、クライアントデバイス110、130に有効な証明書についての要求を送信する(ブロック525)。証明書についての要求は、前の要求を有効な証明書と共に再送するようパネリスト及び/又はクライアントデバイスを促すことができる。有効な証明書が要求に関連付けられている場合、証明書は、パネリスト及び/又はクライアントデバイスに関連付けられる(ブロック530)。
【0062】
[0068]次に、コンテンツ収集部320は、ブロック510で受信した要求のうちの対応するものに基づいて第2の要求(複数可)を生成して、対応するコンテンツ要求で識別されるインターネットコンテンツを取り出す(ブロック535)。コンテンツ収集部320は、インターネットポート325を介して第2の要求を送信することによって、要求されたインターネットコンテンツを集める。示した例では、ポート80は、要求を送信するために使用される。しかし、さらに又は代わりに、任意の他のポートが使用されてもよい。
【0063】
[0069]また、インターネットコンテンツプロセッサ315は、コンテンツ要求を対応する要求側デバイスと関連付け、その関連付けをストレージデータベース160に格納する(ブロック540)。示した例では、インターネットコンテンツプロセッサ315は、要求に関連付けられた証明書を介して、コンテンツ要求をクライアントデバイスと関連付ける。いくつかの状況では、インターネットコンテンツを要求するアプリケーションは、プロキシ認証及び/又は証明書をサポートすることができないことがある。こうした状況では、コンテンツ要求は、関連する証明書無しにストレージデータベースに格納される。さらに、インターネットコンテンツプロセッサ315は、ストレージデータベース160に戻されたコンテンツ又は戻されたコンテンツの一部を格納することができる(ブロック540)。例えば、インターネットコンテンツプロセッサ315は、戻されたコンテンツに含まれる画像を格納することができる。
【0064】
[0070]インターネットコンテンツプロセッサ315は、ストレージデータベースに格納されたものをフィルタ処理することができる。例えば、非HTTPコンテンツの要求は、情報を分析するとき、適切に構文解析することができないため、インターネットコンテンツプロセッサ315は、HTTPコンテンツを要求するコンテンツ要求のみを格納することができる。別の例として、スタイルコンテンツは、情報を分析するときに限定された使用のものである得るため、インターネットコンテンツプロセッサ315は、スタイルコンテンツ(例えばカスケードスタイルシート(CSS)ドキュメント)をストレージデータベース160に格納するのを省略することができる。
【0065】
[0071]要求サービサー310は、コンテンツ要求が受信されたポートを介して要求されたインターネットコンテンツをクライアントデバイスに送信することによって、クライアントデバイスからの要求への対応を終了する(ブロック545)。制御はブロック505に戻り、ここで要求サービサー310は、さらなるコンテンツ要求を待つ(ブロック505)。
【0066】
[0072]図5Aは、図1、図2、及び図3のプロキシ例を実施するために実行され得るマシン可読命令の例501を表すフローチャートである。図5Aのマシン可読命令の例501は、図5のマシン可読命令500に似ている。しかし、図5において、ブロック515で、ユーザエージェント識別子が認証をサポートするアプリケーションを表すパターンの単一のリストに一致するかどうかを決定する場合、さらに又は代わりに、より複雑なアルゴリズムを使用してもよい。図5Aの示した例では、要求サービサー310は、コンテンツ要求を待ち(ブロック505)、コンテンツ要求を受信する(ブロック510)。図5Aの示した例では、要求サービサー310は、ユーザエージェント識別子がプロキシ認証をサポートしないアプリケーションに一致しているかどうかを決定する(ブロック516)。要求サービサー310は、ストレージデータベース160に格納されたパターン又はパターンの組を調べることができる。アプリケーションがプロキシ認証をサポートしていないことを要求サービサーが決定した場合、制御はブロック535に進み、ここでマシン可読命令501は、図5に似た方法で進む。ユーザエージェント識別子がプロキシ認証をサポートしていないアプリケーションを識別するパターン又はパターンの組に一致しないことを要求サービサー310が決定した場合、要求サービサー310は、ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションに一致しているかどうかを決定する(ブロック517)。インターネットコンテンツにアクセスする新しいアプリケーションは毎日作成されているため、新しいユーザエージェント識別子は絶え間なく導入されている。所与の時に、もっぱらユーザエージェント識別子に基づいてプロキシ認証のサポートを識別することができる単一のリストは存在しそうにない。したがって、2つのパターン又はパターンの組による方法は、既知のユーザエージェント識別子についてのプロキシ認証サポートを識別する。インターネットコンテンツにアクセスするアプリケーションがプロキシ認証をサポートしていることを要求サービサー310が決定すると、制御はブロック520に進み、ここでマシン可読命令501は、図5のマシン可読命令500に似た方法で実行を完了する。
【0067】
[0073]ブロック516又はブロック517によってユーザエージェント識別子が識別されない場合、制御はブロック550に進み、ここで要求サービサー310は、要求と共に有効な証明書が提供されているかどうかを決定する(ブロック550)。証明書が提供されている場合、アプリケーションはプロキシ認証をサポートし、パターンが作成され、ストレージデータベース160に格納される。次いでその特定のユーザエージェント識別子を含むその後の要求はプロキシ認証をサポートすることが識別される。次いで制御がブロック530に進み、ここでマシン可読命令501は、図5のマシン可読命令500に似た方法で実行を完了する。要求と共に有効な証明書が提供されていない場合、要求サービサー310は、証明書についての要求を送信し、応答を待つ(ブロック560)。パネリストが各自の証明書を入力することを促され得るため、要求サービサーは、短期間(例えば、30秒、1分、3分など)待つことができる。次いで要求サービサー310は、証明書の要求に応答して、証明書が受信されたかどうかを決定する(ブロック565)。証明書の要求に応答して証明書が受信された場合、アプリケーションは、証明書をサポートし、制御は、ブロック535に進み、ここで要求サービサー310は、その特定のユーザエージェントからのその後の要求がプロキシ認証をサポートするアプリケーションから発せられると識別されるパターンをストレージデータベース160に格納する。応答が受信されない場合、アプリケーションがクラッシュした、又はそうでなければうまく作動していない可能性があり、要求サービサー310は、アプリケーションがプロキシ認証をサポートしないことを示すパターンをストレージデータベース160に格納する(ブロック570)。したがって、その特定のアプリケーションから発せられるその後の要求は、認証証明書を提供することは要求されない。次いで制御はブロック505に進み、ここで要求サービサー310は、コンテンツ要求を待つ。したがって、新しいユーザエージェント識別子が発見されると、ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別するかどうかを決定するために、プロキシ認証が試行される。
【0068】
[0074]図5Aに示す2つのパターン又はパターンの組による方法の例に加えて、プロキシ165を介してインターネット通信を制御するために、任意の他のタイプのリストが実装され得る。例えば、パネル外のユーザが(例えば、悪意を持って結果に影響を与えるため、そのインターネットトラフィックを転送するためなど)プロキシ165を使用しようと試みている場合、いくつかのIPアドレスを有するユーザをブロックするために、ブロックリストが実装され得る。さらに又は代わりに、他のブロックリストが実装されてもよい。例えば、プロキシによってサポートされていないユーザエージェントのリストがブラウズ用デスクトップアプリケーションからのインターネット通信を防ぐために実装され得る。特に、プロキシ165のユーザ(パネリストであるかどうかにかかわらず)は、プロキシ165を使用するようにデスクトップコンピュータ上で稼働しているブラウザを構成することができる。デスクトップ上で稼働しているブラウザからのインターネットアクティビティが監視システムの結果に影響を与えることを防ぐために、ユーザエージェント識別子がブロックされたユーザエージェントのリストにおけるユーザエージェント識別子に一致するとき、プロキシ165は、インターネットコンテンツ要求をブロックすることができる。
【0069】
[0075]図6は、図1のレジストラ例155を実施するために実行され得るマシン可読命令の例600を表すフローチャートである。図6のマシン可読命令の例600は、ブロック603で実行を開始し、ここでパネリスト115、135は、登録データをレジストラ155にサブミットする(ブロック603)。示した例では、登録データは、電子インターフェイス(例えばウェブサイト)を介してレジストラ155によって受信される(ブロック605)。しかし、レジストラは、任意の他の方法で登録データを受信してもよい。例えば、レジストラは、電話インターフェイス、ダイレクトメール、予め定義されたリストなどを介して登録データを受信することができる。
【0070】
[0076]次に、レジストラ155は、パネリストに証明書を割り当てる(ブロック610)。示した例では、パネリストは、パネルに登録すると、その所望の証明書を入力する。いくつかの例の証明書は、ユーザ名及びパスワードである。所望の証明書のうちの一部又はすべて(例えばユーザ名)がパネリストに一意である場合(例えば、ユーザ名は、すでにパネル内の別のパネリストに関連付けられていない)、証明書は、パネリストに関連付けられる。次いで証明書は、構成ドキュメントを介してパネリストに送信される。あるいは、証明書は、パネリストにランダムに割り当てられてもよい。例えば、ユーザ名は、パネリストの最初の頭文字、次にパネリストの名字とすることができ、パスワードは、ランダムな文字列とすることができる。さらに、パネリストは、レジストラ155に連絡することによって、(例えば、レジストラ155によってホストされるウェブページにアクセスすることによって)そのパスワードを変更することができる。
【0071】
[0077]レジストラ155は、構成ドキュメントを生成する(ブロック615)。構成ドキュメントは、パネリストのクライアントデバイスに割り当てられた証明書、及びインターネットプロキシアドレスを含む。インターネットプロキシアドレスは、プロキシ165のアドレスである。示した例では、構成ドキュメントは、クライアントデバイスをどのように構成するかについてパネリストに指示する指示ドキュメントであり、パネリストに送信されるeメールメッセージとしてフォーマットされる。しかし、例えば、カンマ区切り(CSV)ドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、マイクロソフト(登録商標)ワード(登録商標)ドキュメントなど、任意の他のタイプのドキュメントを生成することができる。
【0072】
[0078]次に、レジストラ155は、構成ドキュメントをクライアントデバイスに送信する(ブロック620)。示した例では、構成ドキュメントは、電子メール(eメール)メッセージを介して送信される。eメールメッセージは、構成ドキュメントをダウンロードするために選択され得るハイパーリンクを含む。しかし、さらに又は代わりに、構成ドキュメントを送信する任意の他の方法を使用してもよい。例えば、構成ドキュメントをeメールメッセージの添付として送信してもよく、レジストラ155は、クライアントデバイスが構成ドキュメントをダウンロードすることができるインターネットアドレスを備えるショートメッセージサービス(SMS)を送信してもよく、構成ドキュメントを含む指示ドキュメントを備え、及び/又はさらに電子媒体を備えるダイレクトメールをパネリストに送信してもよく、クライアントデバイスをどのように構成するかについてパネリストに口頭で指示するために電話をかけてもよい。次いでパネリスト及び/又はクライアントデバイスは、構成ドキュメントを受信する(ブロック623)。
【0073】
[0079]次いでクライアントデバイス110、130がパネリストによって構成される(ブロック625)。構成ドキュメントは次いで、クライアントデバイスをどのように構成するかについてパネリストを案内することができる指示ドキュメントであるため、パネリストは、構成ドキュメントで定義された証明書、インターネットプロキシアドレス、及びプロキシポートでクライアントデバイスを構成することができる。指示ドキュメントは、それによって、構成ファイルをどのように適用するかについてパネリストに指示する、又は構成ファイル内のデータをどのように手動で適用するかについてパネリストに指示することができる。しかし、構成ファイルは、さらに又は代わりに、クライアントデバイスによって解釈することができる電子ドキュメントを備えることができる。したがって、電子構成ファイルをどのように適用するかに関してパネリストに指示することができる。
【0074】
[0080]構成ファイルに含まれるデータを適用すると、クライアントデバイス110、130によってなされるインターネットコンテンツについてのその後の要求は、構成ドキュメントに従ってルーティングされる。特に、構成ドキュメントは、インターネットプロキシアドレス、プロキシポート番号、及び証明書を含んでいるため、要求は、プロキシポート番号を介してインターネットプロキシアドレスを介してプロキシされ、証明書をサポートするアプリケーションについて証明書を使用する。
【0075】
[0081]図7は、図1の監視システムを実施するために図5及び図6の命令を実行され得るコンピュータ例700のブロック図である。コンピュータ700は、例えば、サーバ、パーソナルコンピュータ、又は任意の他のタイプのコンピューティングデバイスとすることができる。
【0076】
[0082]この例のシステム700は、プロセッサ712を含む。例えば、プロセッサ712は、ペンティアム(Pentium)(登録商標)ファミリ、アイテニアム(Itanium)(登録商標)ファミリ、又はXScale(登録商標)ファミリからの1つ又は複数のインテル(Intel)(登録商標)マイクロプロセッサによって実施することができる。当然、他のファミリからの他のプロセッサも適切である。
【0077】
[0083]プロセッサ712は、バス722を介して揮発性メモリ718及び不揮発性メモリ720を含むメインメモリと通信する。揮発性メモリ718は、Synchronous Dynamic Random Access Memory(SDRAM)、Dynamic Random Access Memory(DRAM)、RAMBUS Dynamic Random Access Memory(RDRAM)、及び/又は任意の他のタイプのランダムアクセスメモリデバイスによって実施することができる。不揮発性メモリ720は、フラッシュメモリ及び/又は任意の他の所望のタイプのメモリデバイスによって実施することができる。メインメモリ714へのアクセスは、通常、メモリコントローラ(図示せず)によって制御される。
【0078】
[0084]コンピュータ700は、インターフェイス回路724も含む。インターフェイス回路724は、Ethernetインターフェイス、ユニバーサルシリアルバス(USB)、及び/又はPCIエクスプレスインターフェイスなど、任意のタイプのインターフェイス標準によって実装することができる。
【0079】
[0085]1つ又は複数の入力デバイス726は、インターフェイス回路724に接続される。入力デバイス726は、ユーザがデータ及びコマンドをプロセッサ712に入力できるようにする。入力デバイスは、例えば、キーボード、マウス、タッチ画面、トラックパッド、トラックボール、アイソポイント及び/又は音声認識システムなどによって実装することができる。
【0080】
[0086]1つ又は複数の出力デバイス728もインターフェイス回路724に接続される。出力デバイス728は、例えば、ディスプレイデバイス(例えば液晶ディスプレイ、ブラウン管ディスプレイ(CRT)、プリンタ、及び/又はスピーカ)によって実装することができる。したがって、インターフェイス回路724は、通常、グラフィックドライバカードを含む。
【0081】
[0087]インターフェイス回路724は、(例えばEthernet接続、デジタル加入者回線(DSL)、電話線、同軸ケーブル、携帯電話システムなど)ネットワークを介した外部コンピュータとのデータの交換を容易にするためのモデムやネットワークインターフェイスカードなどの通信デバイス(例えば要求サービサー310)も含む。
【0082】
[0088]コンピュータ700は、ソフトウェア及びデータを格納するための1つ又は複数の大容量記憶装置730も含む。こうした大容量記憶装置730の例には、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、及びDVD(digital versatile disk)ドライブなどがある。大容量記憶装置730は、ストレージデータベース160を実装することができる。
【0083】
[0089]図5及び図6の符号化された命令732は、大容量記憶装置730、揮発性メモリ718、不揮発性メモリ720、ローカルメモリ714、及び/又はCD又はDVDなどの取り外し式記憶媒体に格納することができる。
【0084】
[0090]上記から、インターネットコンテンツにアクセスするアプリケーションがプロキシ認証の要求に応答すると、要求側デバイス及び/又はパネリストを一意に識別しながら、監視すべき認証されたプロキシを介して、モバイルデバイスにおける任意のインターネットコンテンツにアクセスするアプリケーションからのインターネットコンテンツ要求を可能にする方法、装置、及び製品の例が開示されていることを理解されたい。
【0085】
[0091]本明細書ではいくつかの方法、装置、及び製品の例について説明してきたが、本特許の範囲はそれに限定されない。逆に、本特許は、本特許の特許請求の範囲内に完全に含まれるすべての方法、装置、及び製品をカバーする。

【特許請求の範囲】
【請求項1】
インターネットアクティビティを監視するための方法であって、
クライアントデバイスからのコンテンツ要求の識別子によって識別されたアプリケーションが認証をサポートするかどうかを決定するステップと、
前記コンテンツ要求の前記識別子が認証をサポートするアプリケーションを識別する場合、前記コンテンツ要求によって識別されたコンテンツを前記クライアントデバイスに送信するステップと、
前記コンテンツ要求によって要求された前記コンテンツの識別子を前記クライアントデバイスと関連付けて格納するステップと
を含む方法。
【請求項2】
前記コンテンツの一部を前記クライアントデバイスと関連付けて格納するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記コンテンツ要求の前記識別子がユーザエージェント識別子を備える、請求項1に記載の方法。
【請求項4】
有効な証明書が前記コンテンツ要求と関連付けられて提供されているかどうかを決定するステップと、
前記ユーザエージェント識別子が認証をサポートするアプリケーションのパターンに実質的に一致し、有効な証明書が前記コンテンツ要求と関連付けられて提供されていない場合、証明書についての要求を前記クライアントデバイスに送信するステップと、
前記ユーザエージェント識別子が認証をサポートするアプリケーションの前記パターンに実質的に一致し、有効な証明書が前記コンテンツ要求と関連付けられて提供されている場合、前記コンテンツ要求によって識別されたコンテンツを前記クライアントデバイスに送信するステップと
をさらに含む、請求項3に記載の方法。
【請求項5】
前記証明書に関連付けられたパネリスト識別子を前記識別子に関連付けるステップをさらに含む、請求項4に記載の方法。
【請求項6】
前記パネリスト識別子が、前記コンテンツ要求と関連付けられて提供される前記証明書である、請求項5に記載の方法。
【請求項7】
プロキシを介してコンテンツ要求を送信するようクライアントデバイスに指示するステップをさらに含む、請求項1に記載の方法。
【請求項8】
前記プロキシを介してコンテンツ要求を送信するよう前記クライアントデバイスに指示するステップが、前記証明書、及び前記プロキシのインターネットプロキシアドレスを送信し、前記クライアントデバイスがコンテンツについてのその後のすべての要求を前記プロキシに送信するようにするステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記証明書及び前記インターネットプロキシアドレスを送信するステップが、前記証明書及び前記インターネットプロキシアドレスを含む構成ドキュメントを生成するステップをさらに含む、請求項8に記載の方法。
【請求項10】
前記構成ドキュメントが、コンテンツについてのその後のすべての要求を前記プロキシに送信するように前記クライアントデバイスを構成するよう前記クライアントデバイスに関連付けられているパネリストに指示する指示をさらに備える、請求項9に記載の方法。
【請求項11】
インターネットアクティビティを監視するための方法であって、
パネリストから登録データを受信するステップと、
証明書を前記パネリストのクライアントデバイスに割り当てるステップと、
前記クライアントデバイス及びプロキシアドレスに関連付けられた前記証明書を識別する構成ドキュメントを生成するステップであり、前記構成ドキュメントが、前記プロキシアドレスを介してコンテンツについてのその後の要求を引き起こすよう前記パネリストに指示する、ステップと、
前記構成ドキュメントを前記クライアントデバイスに送信するステップと
を含む方法。
【請求項12】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた電子メールアドレスを備え、前記構成ドキュメントを送信するステップが、前記パネリストに関連付けられた前記電子メールアドレスに前記構成ドキュメントを電子的にメールするステップを含む、請求項11に記載の方法。
【請求項13】
前記構成ドキュメントをダウンロードするためのハイパーリンクを前記パネリストに提供するステップをさらに含む、請求項12に記載の方法。
【請求項14】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた電話番号を備え、前記構成ドキュメントを送信するステップが、前記パネリストに関連付けられた前記電話番号に前記構成ドキュメントへのリンクをテキストメッセージで送るステップを含む、請求項11に記載の方法。
【請求項15】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた一意の識別子を備え、前記構成ドキュメントを送信するステップが、前記パネリストに前記構成ドキュメントへのリンクを送信するステップを含む、請求項11に記載の方法。
【請求項16】
前記パネリストから受信された前記登録データが、前記パネリストに関連付けられた郵送先住所を備え、前記構成ドキュメントを送信するステップが、前記パネリストに関連付けられた前記郵送先住所に前記構成ドキュメントを郵送するステップを含む、請求項11に記載の方法。
【請求項17】
前記構成ドキュメントが、前記証明書及び前記インターネットプロキシアドレスを構成設定として前記クライアントデバイスに入力するよう前記パネリストに指示するための指示ドキュメントを備える、請求項16に記載の方法。
【請求項18】
前記構成ドキュメントが、前記クライアントデバイスに関連付けられている前記証明書及び前記インターネットプロキシアドレスが前記クライアントデバイスに適用されるように、前記クライアントデバイスによって解釈される、請求項11に記載の方法。
【請求項19】
前記パネリストから受信された前記登録データが、前記パネリストによって使用された前記クライアントデバイスのモデル番号を含み、前記構成ドキュメントが特に前記設定を前記クライアントデバイスに適用するよう前記パネリストに指示するために生成される、請求項18に記載の方法。
【請求項20】
インターネットアクティビティを監視するための方法であって、
プロキシにおいてインターネットコンテンツについての要求を受信するステップであり、前記要求が無線アクセスポイントを介して要求を送信するモバイルデバイスから発せられる、ステップと、
前記インターネットコンテンツについての要求のユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別するかどうかを決定するステップと、
有効な識別子が前記インターネットコンテンツについての要求と関連付けられて提供されているかどうかを決定するステップと、
前記インターネットコンテンツについての要求の前記ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別し、有効な証明書が前記インターネットコンテンツについての要求と関連付けられて提供されていない場合、証明書についての要求を送信するステップと、
前記インターネットコンテンツについての要求の前記ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別し、有効な証明書が前記インターネットコンテンツについての要求と関連付けられて提供されている場合、前記インターネットコンテンツについての要求をモバイルデバイスと関連付けるステップと、
前記インターネットコンテンツについての要求で識別されたインターネットコンテンツプロバイダにコンテンツを要求するステップであり、前記インターネットコンテンツプロバイダが前記プロキシとは異なる、ステップと、
前記コンテンツを前記モバイルデバイスに送信するステップと
を含む方法。
【請求項21】
前記インターネットコンテンツについての要求をデータベースに格納するステップをさらに含む、請求項20に記載の方法。
【請求項22】
前記インターネットコンテンツについての要求の前記ユーザエージェント識別子がプロキシ認証をサポートするアプリケーションを識別し、有効な証明書が前記インターネットコンテンツについての要求と関連付けられて提供されている場合、前記インターネットコンテンツについての要求と前記モバイルデバイスとの間の前記関連付けを前記データベースに格納するステップをさらに含む、請求項21に記載の方法。
【請求項23】
インターネットアクティビティを監視するためのシステムであって、
インターネットデータについて、少なくとも1つのクライアントデバイスからのインターネットデータ要求に応じるためのプロキシであり、
インターネットデータについての要求を受信するための要求ポートと、
前記インターネットデータについての要求に基づいてインターネットデータを取り出すためのインターネットポートと、
前記要求ポートによって受信される前記要求のユーザエージェント識別子が、プロキシ認証をサポートするアプリケーションを識別するかどうかを決定し、有効な証明書が前記第1のポートによって受信される前記要求と関連付けられて提供されているかどうかを決定するための要求サービサーと
を備えるプロキシと、
有効な証明書が前記要求と関連付けられて提供されている場合、前記要求に関連付けられた前記証明書に基づいて、前記要求ポートを介して要求された前記インターネットデータの識別をパネリストと関連付けて格納するためのデータベースと
を備えるシステム。
【請求項24】
前記クライアントデバイスを登録し、証明書を前記クライアントデバイスに一意に割り当て、構成ドキュメントを生成して、前記証明書及びインターネットプロキシアドレスを前記クライアントデバイスに送信するためのレジストラ
をさらに備える、請求項23に記載のシステム。
【請求項25】
前記レジストラが証明書、パネリスト、及び前記クライアントデバイスの間の関連付けを前記データベースに格納するためのものである、請求項24に記載のシステム。
【請求項26】
前記プロキシが前記クライアントからの前記インターネットデータ要求を前記データベースに格納するためのものである、請求項23に記載のシステム。
【請求項27】
前記プロキシが前記クライアントに送信された前記取り出されたインターネットデータを前記データベースに格納するためのものである、請求項23に記載のシステム。
【請求項28】
前記プロキシが、インターネットデータについての要求を受信し、無線ネットワークを介してインターネットデータを送信するためのものである、請求項23に記載のシステム。
【請求項29】
前記無線ネットワークがWiFiネットワークである、請求項28に記載のシステム。
【請求項30】
インターネットアクティビティを監視するための装置であって、
インターネットコンテンツについての要求を受信するための要求及び応答ポートと、
前記要求及び応答ポートを介して前記インターネットコンテンツについての要求を受信し、前記要求及び応答ポートを介して前記インターネットコンテンツについての要求で識別されたインターネットコンテンツを送信するための要求サービサーと、
前記インターネットコンテンツについての要求をデータベースに格納するためのインターネットコンテンツプロセッサと、
インターネットポートと、
前記インターネットポートを介して前記インターネットコンテンツについての要求で識別された前記インターネットコンテンツを受信するためのコンテンツ収集部と
を備える装置。
【請求項31】
前記インターネットコンテンツプロセッサが、前記要求に関連付けられた証明書を前記データベースに格納するためのものである、請求項30に記載の装置。
【請求項32】
前記インターネットコンテンツプロセッサが、前記インターネットコンテンツについての要求で識別された前記インターネットコンテンツの一部を格納するためのものである、請求項30に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図2A】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図5A】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−53871(P2012−53871A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−177690(P2011−177690)
【出願日】平成23年8月15日(2011.8.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
2.ETHERNET
3.フロッピー
【出願人】(510130723)ザ ニールセン カンパニー (ユー エス) エルエルシー (22)
【Fターム(参考)】