(57)【特許請求の範囲】
【請求項１】
識別子のタイムスタンプベースのマッチングによってデバイスアクティビティを追跡するための方法であって、
１以上のマップに関する情報を識別子サーバのメモリに格納するステップであって、各マップはコンピューティングデバイスに固有のデバイス識別子を前記コンピューティングデバイスによって使用されたブラウザに固有の少なくとも１つのブラウザ識別子に関連づけ、前記マップは前記デバイス識別子をインターネットプロトコル（ＩＰ）アドレスと稼働時間にさらにマップするものである、前記格納するステップと、
ブラウザを使用してウェブサイトをダウンロードしたアクティブなコンピューティングデバイスから通信ネットワークを介して送信された情報を受信するステップであって、前記ダウンロードされたウェブサイトは、前記アクティブなコンピューティングデバイスによって使用された前記ブラウザに固有のブラウザ識別子への参照を含む、前記受信するステップと、
前記受信された情報がタイムスタンプと前記アクティブなコンピューティングデバイスに対するＩＰアドレスを含むことを識別するステップであって、前記タイムスタンプは、最後の起動以来前記アクティブなコンピューティングデバイスが継続して動作している時間を計測した前記アクティブなコンピューティングデバイスの稼働時間を含む、前記識別するステップと、
前記受信された情報における前記タイムスタンプによって示された稼働時間と前記ＩＰアドレスが、前記格納されたマップの一つにおけるデバイス識別子に関連づけられて格納された稼働時間とＩＰアドレスに一致することを識別するステップと、
前記一致にもとづいて前記識別されたデバイス識別子に関連づけられた前記格納されたマップを更新するステップであって、前記更新された格納されたマップは、前記参照されたブラウザ識別子と、前記アクティブなコンピューティングデバイスによって以前使用された異なるブラウザに固有の少なくとも１つの他のブラウザ識別子とを含む、前記更新するステップとを含む、方法。
【請求項２】
前記タイムスタンプはさらにクロックスキューに関連づけられており、前記クロックスキューが前記コンピューティングデバイスに対応するかどうか判定するステップをさらに含む、請求項１の方法。
【請求項３】
前記更新されたマップは、前記識別されたデバイス識別子を複数のブラウザ識別子に関連づけ、前記複数のブラウザ識別子は前記参照されたブラウザ識別子を含む、請求項１の方法。
【請求項４】
前記参照されたブラウザ識別子を新しいブラウザ識別子に置き換えることによって前記参照されたブラウザ識別子を更新するステップをさらに含む、請求項３の方法。
【請求項５】
前記新しいブラウザ識別子を含むように前記識別されたデバイス識別子に関連づけられた前記格納されたマップを更新するステップをさらに含む、請求項４の方法。
【請求項６】
前記参照されたブラウザ識別子はさらに前記ダウンロードされたウェブサイトに固有の少なくとも１つの可変ブラウザ識別子に関連づけられており、前記新しいブラウザ識別子を前記少なくとも１つの可変ブラウザ識別子に関連づけるように前記格納されたマップを更新するステップをさらに含む、請求項５の方法。
【請求項７】
前記受信された情報はセッション識別子をさらに含み、前記受信されたセッション識別子がメモリに格納されたいずれかのセッション識別子に一致するかどうかを判定するステップをさらに含む、請求項１の方法。
【請求項８】
前記受信された情報はユーザエージェント識別子をさらに含み、前記受信されたユーザエージェント識別子がメモリに格納されたいずれかのユーザエージェント識別子に一致するかどうかを判定するステップをさらに含む、請求項１の方法。
【請求項９】
前記ユーザエージェント識別子は前記アクティブなコンピューティングデバイス上のアプリケーションに特有である、請求項８の方法。
【請求項１０】
識別子のタイムスタンプベースのマッチングによってデバイスアクティビティを追跡するためのサーバシステムであって、
１以上のマップに関する情報を格納するメモリであって、各マップはコンピューティングデバイスに固有のデバイス識別子を前記コンピューティングデバイスによって使用されたブラウザに固有の少なくとも１つのブラウザ識別子に関連づけ、前記マップは前記デバイス識別子をインターネットプロトコル（ＩＰ）アドレスと稼働時間にさらにマップするものである、前記メモリと、
ブラウザを使用してウェブサイトをダウンロードしたアクティブなコンピューティングデバイスから通信ネットワークを介して送信された情報を受信する通信インタフェースであって、前記ダウンロードされたウェブサイトは、前記アクティブなコンピューティングデバイスによって使用された前記ブラウザに固有のブラウザ識別子への参照を含む、前記通信インタフェースと、
メモリに格納された命令を実行するプロセッサとを含み、プロセッサによる前記命令の実行は、
前記受信された情報がタイムスタンプと前記アクティブなコンピューティングデバイスに対するＩＰアドレスを含むことを識別する処理であって、前記タイムスタンプは、最後の起動以来前記アクティブなコンピューティングデバイスが継続して動作している時間を計測した前記アクティブなコンピューティングデバイスの稼働時間を含む、前記識別する処理と、
前記受信された情報における前記タイムスタンプによって示された稼働時間と前記ＩＰアドレスが、前記格納されたマップの一つにおけるデバイス識別子に関連づけられて格納された稼働時間とＩＰアドレスに一致することを識別する処理と、
前記一致にもとづいて前記識別されたデバイス識別子に関連づけられた前記格納されたマップを更新する処理であって、前記更新された格納されたマップは、前記参照されたブラウザ識別子と、前記アクティブなコンピューティングデバイスによって以前使用された異なるブラウザに固有の少なくとも１つの他のブラウザ識別子とを含む、前記更新する処理とを含む、システム。
【請求項１１】
前記タイムスタンプはさらにクロックスキューに関連づけられており、前記プロセッサは、前記クロックスキューが前記コンピューティングデバイスに対応するかどうか判定する命令をさらに実行する、請求項１０のシステム。
【請求項１２】
前記格納されたマップは、前記識別されたデバイス識別子を複数のブラウザ識別子に関連づけ、前記複数のブラウザ識別子は前記参照されたブラウザ識別子を含む、請求項１０のシステム。
【請求項１３】
前記プロセッサは、前記参照されたブラウザ識別子を新しいブラウザ識別子に置き換えることによって前記参照されたブラウザ識別子を更新する命令をさらに実行する、請求項１２のシステム。
【請求項１４】
前記プロセッサは、前記新しいブラウザ識別子を含むように前記識別されたデバイス識別子に関連づけられた前記格納されたマップを更新する命令をさらに実行する、請求項１３のシステム。
【請求項１５】
前記参照されたブラウザ識別子はさらに前記ダウンロードされたウェブサイトに固有の少なくとも１つの可変ブラウザ識別子に関連づけられており、前記プロセッサは、前記新しいブラウザ識別子を前記少なくとも１つの可変ブラウザ識別子に関連づけるように前記格納されたマップを更新する命令をさらに実行する、請求項１４のシステム。
【請求項１６】
前記受信された情報はセッション識別子をさらに含み、前記プロセッサは、前記受信されたセッション識別子がメモリに格納されたいずれかのセッション識別子に一致するかどうかを判定する命令をさらに実行する、請求項１０のシステム。
【請求項１７】
前記受信された情報はユーザエージェント識別子をさらに含み、前記プロセッサは、前記受信されたユーザエージェント識別子がメモリに格納されたいずれかのユーザエージェント識別子に一致するかどうかを判定する命令をさらに実行する、請求項１０のシステム。
【請求項１８】
前記ユーザエージェント識別子は前記アクティブなコンピューティングデバイス上のアプリケーションに特有である、請求項１７のシステム。
【請求項１９】
識別子のタイムスタンプベースのマッチングによってデバイスアクティビティを追跡するための方法を実行するためのプロセッサによって実行可能なプログラムが格納された非一時的コンピュータ可読記憶媒体であって、前記方法は、
１以上のマップに関する情報を識別子サーバのメモリに格納するステップであって、各マップはコンピューティングデバイスに固有のデバイス識別子を前記コンピューティングデバイスによって使用されたブラウザに固有の少なくとも１つのブラウザ識別子に関連づけ、前記マップは前記デバイス識別子をインターネットプロトコル（ＩＰ）アドレスと稼働時間にさらにマップするものである、前記格納するステップと、
ブラウザを使用してウェブサイトをダウンロードしたアクティブなコンピューティングデバイスから通信ネットワークを介して送信された情報を受信するステップであって、前記ダウンロードされたウェブサイトは、前記アクティブなコンピューティングデバイスによって使用された前記ブラウザに固有のブラウザ識別子への参照を含む、前記受信するステップと、
前記受信された情報がタイムスタンプと前記アクティブなコンピューティングデバイスに対するＩＰアドレスを含むことを識別するステップであって、前記タイムスタンプは、最後の起動以来前記アクティブなコンピューティングデバイスが継続して動作している時間を計測した前記アクティブなコンピューティングデバイスの稼働時間を含む、前記識別するステップと、
前記受信された情報における前記タイムスタンプによって示された稼働時間と前記ＩＰアドレスが、前記格納されたマップの一つにおけるデバイス識別子に関連づけられて格納された稼働時間とＩＰアドレスに一致することを識別するステップと、
前記一致にもとづいて前記識別されたデバイス識別子に関連づけられた前記格納されたマップを更新するステップであって、前記更新された格納されたマップは、前記参照されたブラウザ識別子と、前記アクティブなコンピューティングデバイスによって以前使用された異なるブラウザに固有の少なくとも１つの他のブラウザ識別子とを含む、前記更新するステップとを含む、非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記格納されたマップは、前記アクティブなコンピューティングデバイスに固有の複数のデバイス識別子を含む、請求項１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にウェブサイトに関する。より具体的には、本発明は識別子のタイムスタンプベースのマッチングに関する。
【背景技術】
【０００２】
インターネットとウェブリソースは先進工業国全体を通してほぼ普遍的に利用されている。ユーザは、一般に無線または有線接続のいずれであっても、通信ネットワークを介して通信することができる多数のコンピューティングデバイスのいずれかを使用してインターネットにアクセスする。より具体的には、ユーザは、コンピューティングデバイス上のブラウザアプリケーションを使用して、一つまたは複数のウェブサーバによってホストされる多数のウェブページおよびウェブサイトのいずれかのコンテンツにアクセスすることができる。
【０００３】
要求に応じて、指定されたウェブページに関連するコンテンツをユーザコンピューティングデバイスにダウンロードすることができ、ユーザコンピューティングデバイスはウェブページをさらに表示させることができる。そのようなダウンロードされたコンテンツは、ドキュメント、グラフィックス、オーディオおよびビデオなどの様々な異なるタイプのファイル、ならびに関連データ（例えば、メタデータ、カスケードスタイルシートを含むスタイルシート）を含んでもよい。ダウンロードされたコンテンツは、コンピューティングデバイスのローカルメモリ内のブラウザキャッシュに格納されてもよい。特定のウェブページまたはウェブサイトの様々な要素および構成要素は、（例えば、パブリッシャが新しいコンテンツまたは更新されたコンテンツを発行するなどして）時間とともに変化することがある。ただし、ある構成要素または要素は静的で変更されない。ユーザがウェブページを離れ、後で復帰したいとき、ユーザがウェブページを再訪したい場合に同じウェブオブジェクトを再ダウンロードするのではなく、ブラウザキャッシュによって、コンピューティングデバイスはローカルメモリから関連ウェブページに関連する静的で変更されていないファイルを検索することが可能になる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在、ブラウザは、ウェブサイトがアクセスして使用できる一意の識別子をもっていないか、顕在化させていない。現在のウェブサイトおよびウェブページは、特定のウェブページに関するユーザの活動（例えば、繰り返しの訪問）に関するデータを追跡し、共有することができる。そのようなデータは、状態情報（例えば、嗜好、ショッピングカート項目）を含み、登録情報または認証情報（例えば、ユーザ名、パスワード、アドレス／場所）を提供するか、さもなければブラウジング履歴（例えば、どのウェブページを訪問したか、訪問回数、いつ訪問が発生したか）を追跡することができる。現代生活のほぼすべての側面がインターネット活動に反映されるか、そうでなければインターネット活動に関与する可能性があるため、追跡されたデータの一部は特定の個人を個人的に識別することができる。したがって、このような個人識別可能なデータを網羅する追跡メカニズムは、個人情報、機密情報、および／または重要なユーザ情報を暴露するリスクがある。ユーザのプライバシーを保護する理由から、ある裁判管轄では法域や規制によって追跡可能なデータの種類を制限することもある。
【０００５】
一方、様々なパブリッシャ、サービスプロバイダ、および関連エンティティは、所与のウェブページまたはウェブサイトを訪れるユーザトラフィックに関する統計データを取得することに関心をもつかもしれない。ウェブサーバは、特定のウェブページに対するダウンロード要求の数を識別することができるかもしれないが、そのような要求は、同じユーザ（または同じ少数のユーザの集合）によってなされるかもしれない。したがって、このような測定基準は、ウェブサイトに関連するトラフィックまたはユーザ活動の正確な実態を提示することができない一方で、上述のもっと特定化されたデータを使用すると、特定のユーザの個人識別可能な情報を暴露するリスクがある。
【０００６】
さらに、ユーザは異なるブラウザを使用して、様々な異なるウェブサイトを訪れることができる。そのような多様性によって、例えば、ユーザが異なるブラウザを使用して同じウェブサイトを訪れるなど、トラフィックを追跡する能力が複雑化する可能性がある。このような異なるブラウザは一般に情報をやりとりしたり交換したりしないので、そのようなユーザがインターネットを行き来する完全な実態を把握することがかなり難しくなる。
【０００７】
したがって、ブラウザ識別子をブラウザおよび／またはデバイスにマッチングさせるための改良されたシステムおよび方法が当技術分野において必要とされる。
【課題を解決するための手段】
【０００８】
本発明の実施の形態は、識別子のタイムスタンプベースのマッチングを可能にする。関連づけられたウェブサイトまたは関連づけられたブラウザにそれぞれ固有の複数の識別子に関する情報をメモリに格納してもよい。格納された情報はデバイス識別子を少なくとも一つのブラウザ識別子にそれぞれ関連づける１以上のマップに関する情報をさらに含んでもよい。デバイス識別子は関連づけられたコンピューティングデバイスに固有のものであってもよい。ブラウザを使用してウェブサイトをダウンロードしたコンピューティングデバイスから情報を受信してもよい。ダウンロードされたウェブサイトは、ブラウザに特有のブラウザ識別子への参照を含んでもよい。受信された情報がタイムスタンプとインターネットプロトコル（ＩＰ）アドレスを含むことを判定してもよい。受信された情報におけるタイムスタンプとＩＰアドレスが、格納されたマップの一つにおけるデバイス識別子に対応することをさらに判定してもよい。対応するコンピューティングデバイスは対応するデバイス識別子によって識別される。参照されたブラウザ識別子にもとづいて対応するデバイス識別子に関連づけられた格納されたマップを更新してもよい。
【０００９】
様々な実施の形態は、識別子のタイムスタンプベースのマッチングのための方法を含んでもよい。このような方法は、１以上のマップに関する情報をメモリに格納するステップであって、各マップはデバイス識別子を少なくとも１つのブラウザ識別子を有するコンピューティングデバイスに関連づける、前記格納するステップと、ブラウザを使用して前記ブラウザに特有のブラウザ識別子への参照を含むウェブサイトをダウンロードしたコンピューティングデバイスから情報を受信するステップと、前記受信された情報がタイムスタンプとインターネットプロトコル（ＩＰ）アドレスを含むことを識別するステップと、前記受信された情報における前記タイムスタンプと前記ＩＰアドレスが、前記格納されたマップの一つにおけるデバイス識別子に対応することを判定するステップであって、前記対応するデバイス識別子は前記コンピューティングデバイスに特有のものである、前記判定するステップと、前記参照されたブラウザ識別子にもとづいて前記対応するデバイス識別子に関連づけられた前記格納されたマップを更新するステップとを含んでもよい。
【００１０】
追加の実施の形態は、識別子のタイムスタンプベースのマッチングのためのサーバシステムを含んでもよい。このようなシステムは、１以上のマップに関する情報を格納するメモリであって、各マップはデバイス識別子を少なくとも１つのブラウザ識別子に関連づけ、前記デバイス識別子は関連づけられたコンピューティングデバイスに固有のものである、前記メモリと、ブラウザを使用してウェブサイトをダウンロードしたコンピューティングデバイスから情報を受信する通信インタフェースであって、前記ダウンロードされたウェブサイトは、前記ブラウザに特有のブラウザ識別子への参照を含む、前記通信インタフェースと、命令を実行するプロセッサとを含み、前記命令の実行は、前記受信された情報がタイムスタンプとインターネットプロトコル（ＩＰ）アドレスを含むことを識別する処理と、前記受信された情報における前記タイムスタンプと前記ＩＰアドレスが、前記格納されたマップの一つにおけるデバイス識別子に対応することを判定する処理であって、前記対応するデバイス識別子は前記コンピューティングデバイスに特有のものである、前記判定する処理と、前記参照されたブラウザ識別子にもとづいて前記対応するデバイス識別子に関連づけられた前記格納されたマップを更新する処理とを含んでもよい。
【００１１】
さらなる実施形態は、上記のような識別子のタイムスタンプベースの照合のための方法を実行するためにプロセッサによって実行可能なプログラムを具現化した非一時的なコンピュータ可読記憶媒体を含む。
【図面の簡単な説明】
【００１２】
【図１】識別子のタイムスタンプベースのマッチングのためのシステムが実装される例示的なネットワーク環境を示す。
【００１３】
【図２】識別子のタイムスタンプベースのマッチングのための例示的な方法を示すフローチャートである。
【００１４】
【図３】本発明の実施の形態を実装するために使用される例示的なコンピューティングシステムを示す。
【発明を実施するための形態】
【００１５】
本発明の実施の形態は、識別子のタイムスタンプベースのマッチングを可能にする。関連づけられたウェブサイトまたは関連づけられたブラウザにそれぞれ固有の複数の識別子に関する情報をメモリに格納してもよい。格納された情報はデバイス識別子を少なくとも一つのブラウザ識別子にそれぞれ関連づける１以上のマップに関する情報をさらに含んでもよい。デバイス識別子は関連づけられたコンピューティングデバイスに固有のものであってもよい。ブラウザを使用してウェブサイトをダウンロードしたコンピューティングデバイスから情報を受信してもよい。ダウンロードされたウェブサイトは、ブラウザに特有のブラウザ識別子への参照を含んでもよい。受信された情報がタイムスタンプとインターネットプロトコル（ＩＰ）アドレスを含むことを判定してもよい。受信された情報におけるタイムスタンプとＩＰアドレスが、格納されたマップの一つにおけるデバイス識別子に対応することをさらに判定してもよい。対応するコンピューティングデバイスは対応するデバイス識別子によって識別される。参照されたブラウザ識別子にもとづいて対応するデバイス識別子に関連づけられた格納されたマップを更新してもよい。
【００１６】
図１は、可変ブラウザ識別子のマッチングを取るためのシステムが実装されるネットワーク環境１００を示す。ネットワーク環境１００は、通信ネットワーク１１０、一つまたは複数のユーザデバイス１２０Ａ−Ｄ、ウェブサーバ１３０、識別子サーバ１４０、および一つまたは複数のサービスプロバイダ１５０を含んでもよい。ネットワーク環境１００内のデバイスは、通信ネットワーク１１０を介して互いに通信することができる。
【００１７】
通信ネットワーク１１０は、ローカルの専用ネットワーク（例えば、イントラネット）であってもよく、および／またはより広いワイドエリアネットワークの一部であってもよい。通信ネットワーク１１０は、インターネットなどの広域ネットワーク（ＷＡＮ）に通信可能に結合されるローカルエリアネットワーク（ＬＡＮ）であってもよい。インターネットは、相互接続されたコンピュータおよびサーバの広範なネットワークであり、ネットワークサービスプロバイダを介して接続されたユーザ間でインターネットプロトコル（ＩＰ）データの送信および交換を可能にする。ネットワークサービスプロバイダの例は、公衆交換電話網、セルラまたはモバイルサービスプロバイダ、ケーブルサービスプロバイダ、デジタル加入者回線（ＤＳＬ）サービスのプロバイダ、または衛星サービスプロバイダである。通信ネットワーク１１０は、ネットワーク環境１００の様々なコンポーネント間の通信を可能にする。
【００１８】
ユーザは、汎用コンピュータ、携帯電話、スマートフォン、スマートウォッチ、ウェアラブルデバイス、パーソナルデジタルアシスタント（ＰＤＡ）、ポータブルコンピューティングデバイス（例えば、ラップトップ、ネットブック、タブレット）、デスクトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、または通信ネットワーク１１０を介して通信することができる任意の他のタイプのコンピューティングデバイスなどの任意の数の異なる電子ユーザデバイス１２０Ａ〜Ｄを利用する。ユーザデバイス１２０は、ダウンロードされたサービスの場合に適切であるように、ローカルキャッシュ、メモリカード、またはディスクドライブなどの他の記憶媒体からデータにアクセスするように構成されてもよい。ユーザデバイス１２０は、ネットワークおよびメディアインタフェースのような標準的なハードウェアコンピューティングコンポーネント、非一時的コンピュータ可読記憶装置（メモリ）、およびメモリに記憶される命令を実行するためのプロセッサを含んでもよい。
【００１９】
さらに、ユーザデバイス１２０は、ユーザが特定のウェブページを要求できるようにするブラウザアプリケーションを含む様々なアプリケーションを含んでもよい。ここで使用される、ブラウザおよびブラウザ識別子への参照は例示的なものであり、これに関する教示内容は、他のタイプのアプリケーションおよびアプリケーション識別子（たとえばアップルのＩＤＦＡやグーグルのＡｄＩＤ）にも適用可能である。例えば、ユーザは、ブラウザアプリケーションにユニフォームリソースロケータ（ＵＲＬ）を入力することができる。そのようなブラウザは、関連するウェブサーバ（例えば、ウェブサーバ１３０）にそのような要求を送信し、応答データ（例えばダウンロードする他のファイルへの参照を含むウェブページファイル）を受信し、そのような応答データを使用して、要求されたウェブページを表示してもよい。ユーザデバイス１２０にダウンロードされるウェブページファイルは、ウェブページの一部として実際に表示されるコンテンツに対応するファイルだけでなく、関連するファイルも含んでもよい。
【００２０】
ウェブサーバ１３０、識別子サーバ１４０、およびサービスプロバイダ１５０は、ネットワークおよびメディアインタフェースなどの標準的なハードウェアコンピューティングコンポーネント、非一時的コンピュータ可読記憶装置（メモリなど）、およびメモリに格納される命令を実行するかメモリに格納される情報にアクセスするためのプロセッサを含む、既知の任意のタイプのサーバまたは他のコンピューティングデバイスを含んでもよい。複数のサーバの機能を一つのサーバに統合してもよい。前述のサーバ（または統合サーバ）は、特定のクライアント側のキャッシュ、またはプロキシサーバの特性を引き受けてもよい。これらの特性は、サーバの特定のネットワーク配置またはサーバの特定の構成に依存することがある。
【００２１】
ウェブサーバ１３０は、任意のタイプのウェブページまたはウェブサイトデータを含む、ウェブコンテンツをホストするために使用される任意の種類のサーバであってもよい。各ウェブサイトに関連づけられる特定のファイルは、パブリッシャ（または指定された管理者）によって制御されてもよい。ウェブサイトファイルには、他の当事者の管理下にあるファイルへのリンクが含まれることがある。これに関して、ウェブサーバ１３０からダウンロードされたウェブサイトファイルは、可変ブラウザ識別子ファイルへの参照（例えば、ＵＲＬ）と、オプションのローダアプリケーション（例えば、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ（登録商標）コマンド）と、可変ブラウザ識別子ファイルとともに使用される関連コードライブラリを含んでもよい。そのような可変ブラウザ識別子ファイルは、ウェブサイトに固有であってもよい。例えば、特定のウェブサイトに対する可変ブラウザ識別子は、そのウェブサイトのドメイン（または他の特性）を含むか、さもなければそれに基づくものであってもよい。このように、特定のユーザデバイスによって訪問された各ウェブサイトは、一意かつ異なる可変ブラウザ識別子に関連付けられてもよい。
【００２２】
そのような可変ブラウザ識別子は、関連する同時係属の米国特許出願第１４／７１６，１８７号に開示されているブラウザ識別子に関して開示されたものと同様の方法で生成され、管理されてもよい。さらに、本明細書で開示される可変ブラウザ識別子は、関連する米国特許出願第１４／７１６，１８７号に開示された発明と併せて使用されてもよい。それぞれの名前で示されるように、不変ブラウザ識別子は変化せず、可変ブラウザ識別子は変化する可能性がある。不変ブラウザ識別子は、異なる可変ブラウザ識別子に関連付けられるかまたはマッピングされてもよい。可変ブラウザ識別子は変化する可能性があるため、参照された可変ブラウザ識別子に関連づけられた様々なインジケータを使用して、参照されたブラウザ識別子を不変ブラウザ識別子、それに関連づけられた可変ブラウザ識別子および／または関連づけられたデバイス識別子にマッピングしてもよい。
【００２３】
この点に関して、ブラウザは、自動的にまたはユーザデバイス１２０によって実行されるローダアプリケーションの指示の下で、参照された可変ブラウザ識別子ファイルにアクセスしようと試みることができる。このようなアクセスは、参照された可変ブラウザ識別子ファイルが既に以前からダウンロードされているかどうかを判断するためにローカルブラウザキャッシュを自動的にチェックすることを含んでもよい。
【００２４】
ローカルブラウザキャッシュのこのようなチェックの後、ユーザデバイス１２０は、参照された可変ブラウザ識別子ファイルに関連づけられた識別子サーバ１４０に要求を送信してもよい。そのような要求は、参照された可変ブラウザ識別子ファイルがローカルブラウザキャッシュ内に見つかったかどうか（もしそうであれば、参照された可変ブラウザ識別子ファイルがいつ最後に変更されたか）を示してもよい。その要求が、参照された可変ブラウザ識別子ファイルがローカルブラウザキャッシュに見つからなかったことを示す場合、識別子サーバ１４０は、新しい可変ブラウザ識別子ファイルをユーザ装置１２０に送信することによって応答してもよい。上述したように、新しい可変ブラウザ識別子は、（例えば、ウェブサイトドメインまたは他の特性に基づいて）ダウンロードされている特定のウェブサイトに固有になるように生成してもよい。
【００２５】
この点で、識別子サーバ１４０は、要求に応じて新たな一意の可変ブラウザ識別子を生成し提供してもよい。このような一意の可変ブラウザ識別子は、要求を行うウェブサイトに固有のものであってもよい。ただし、ユーザがオプトアウトした場合は、一意の可変ブラウザ識別子の代わりに一意でない用語を挿入してもよい。いくつかの実施の形態では、ユーザは、指定されたウェブページまたはウェブサイトに関して一意の識別子を提供されることをオプトアウト（選択解除）することができる。あるいは、ユーザは、指定されたウェブページまたはウェブサイトに関して一意の識別子を提供することをオプトイン（選択）してもよい。このようにして、そのウェブサイトは、一部のウェブページの一意の可変ブラウザ識別子を介して一意に識別されるが、他のウェブサイトは識別されない。いくつかの実施の形態では、ユーザのオプトアウトまたはオプトインに関するこのような情報は、可変ブラウザ識別子ファイルに反映されてもよい。例えば、可変ブラウザ識別子ファイルは、定義されたウェブページ、ウェブサイトまたはウェブサイトのカテゴリに対するユーザのオプトインまたはオプトアウトを示す情報と、オプトインまたはオプトアウトのどちらが実施されるべきか細かい詳細を指定するインジケータとを含んでもよい。
【００２６】
ユーザはまた、ウェブサイトに関連付けられた一意の可変ブラウザ識別子をリセットすることを選択してもよい。一意の可変ブラウザ識別子をリセットすることは、以前にダウンロードされた可変ブラウザ識別子ファイルのローカルブラウザキャッシュをクリアし、（新しい可変ブラウザ識別子ファイル内に）新しい可変ブラウザ識別子を生成し、ローカルブラウザのキャッシュにキャッシュすることを含む。いくつかの実施の形態では、可変ブラウザ識別子ファイルを更新する必要があることを示すために、識別子サーバ１４０に信号を送ってもよい。そのような信号はクッキーに実装されてもよく、識別子サーバ１４０がクッキーを読み取って、可変ブラウザ識別子ファイルとして何を返送するべきかを決定することができる。あるいは、（パス情報またはパラメータを含む）要求を（例えば、可変ブラウザ識別子および任意の指令を含むように構成された）一時的ＵＲＬに向かわせ、その後、その要求を識別子サーバ１４０にリダイレクトしてもよい。識別子サーバ１４０は、その要求のリファラーヘッダ（例えば、一時的ＵＲＬ）を見て、可変ブラウザ識別子ファイルへの要求された変更を解析することができる。
【００２７】
さらに、識別子サーバ１４０は、複数の可変ブラウザ識別子（それぞれ異なるウェブサイトに対するものであり、異なる可変ブラウザ識別子ファイルで提供される）を提供することができる。ウェブサイトに関連するユーザデバイス１２０でのアクティビティは、その後、提供された一意の可変ブラウザ識別子に関連付けられてもよい。そのような可変ブラウザ識別子は、さらに、不変ブラウザ識別子および／またはデバイス識別子と関連付けられてもよく、それによって、場合によっては同じまたは異なるコンピューティングデバイス上の異なるブラウザ間を区別する能力が可能になる。具体的には、ユーザデバイス１２０上のローダアプリケーションによって識別子サーバ１４０（または関連づけられたサーバ）に提供される（一意の可変ブラウザ識別子によって識別される）特定のウェブサイトでの活動に関する情報をログに記録してもよい。この点で、可変ブラウザ識別子は、ユーザデバイス１２０に常駐するローカルアプリケーションまたはコード（例えば、ブラウザ、ローダアプリケーション、ローカルコードライブラリ）によってのみ呼び出すことができるので、識別子サーバ１４０は、可変ブラウザ識別子自体を受信しなくてもよい。ローダアプリケーションを実行して、コードライブラリからのコードのロードおよび実行を含む様々な機能を実行してもよい。そのようなコードライブラリは、ウェブサーバ１３０、識別子サーバ１４０、または他の指定されたサービスプロバイダ１５０で提供され、変更され、更新されてもよい。
【００２８】
参照された可変ブラウザ識別子ファイルが実際にローカルブラウザキャッシュ内に見つかった場合、ブラウザは、参照された可変ブラウザ識別子ファイルに関するインジケータ（例えば、「ｉｆ−ｍｏｄｉｆｉｅｄ−ｓｉｎｃｅ」ヘッダ）とともに要求を識別子サーバ１４０に送信する。次いで、識別子サーバ１４０は、当該要求の中に提供された情報（例えば、「ｉｆ−ｍｏｄｉｆｉｅｄ−ｓｉｎｃｅ」ヘッダが参照された可変ブラウザ識別子ファイルに存在するかどうか）または関連づけられたクッキー、リファラーヘッダーなどに基づいて、参照された可変ブラウザ識別子ファイルの更新バージョンを送信するべきかどうかを判断する。参照された可変ブラウザ識別子ファイルがローカルブラウザキャッシュにあると判定された場合（例えば、当該要求の中に関連づけられた「ｉｆ−ｍｏｄｉｆｉｅｄ−ｓｉｎｃｅ」ヘッダが存在することによって示される）、識別子サーバ１４０は当該ファイルを検証し、このような検証に関するインジケータ（例えば、「３０４  ｎｏｔ  ｍｏｄｉｆｉｅｄ」インジケータ）を送信する。いくつかの実施の形態では、このような検証は、参照された可変ブラウザ識別子ファイルの最大年齢または有効期日／期限を延長してもよく、それにより、参照された可変ブラウザ識別子ファイルを（延長された最大年齢または有効期日／期限に対応する）延長期間の間、ローカルブラウザキャッシュに維持してもよい。しかしながら、（例えば、オプトアウトクッキーによって示されるように）ユーザがオプトアウトを選択した場合、識別子サーバ１４０は、一意でない可変ブラウザ識別子またはオプトアウト識別子を有する可変ブラウザ識別子ファイルを返してもよい。
【００２９】
ブラウザは、場合によっては、識別子サーバ１４０が参照された可変ブラウザ識別子ファイルを検証することを必ずしも要求しない。そのような場合、ブラウザは、識別子サーバ１４０に何の要求もせずに、キャッシュされた可変ブラウザ識別子ファイルを使用してもよい。
【００３０】
場合によっては、参照された可変ブラウザ識別子ファイルは、更新を要求するように決定されてもよい。例えば、「ｉｆ−ｍｏｄｉｆｉｅｄ−ｓｉｎｃｅ」ヘッダのないクッキーは、参照された可変ブラウザ識別子ファイルが以前に存在していたが、もはや（全部または一部が）ローカルブラウザキャッシュには存在しないことを示すことがある。そのような変更が（例えば、要求の中のヘッダまたは他のインジケータによって示されるように）起こった可能性があると判断すると、識別子サーバ１４０は、参照されたウェブサイトファイルを再作成するか、または新しい可変ブラウザ識別子ファイルをユーザデバイス１２０に送信する。上記は主に変更ヘッダのことを指すが、当技術分野で知られている任意のタイプのキャッシュ制御ヘッダ（または任意のタイプのキャッシュ制御コマンド）を使用してもよい。キャッシュ制御には、検証を指示すること、所望の最大年齢を調整すること、および可変ブラウザ識別子ファイルがキャッシュされる場所（例えば、ローカルブラウザキャッシュを指定する）を制御することを含め、キャッシュメモリに関する任意の操作が含まれてもよい。
【００３１】
可変ブラウザ識別子ファイルは、スタイルシート、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイル、ＨＴＭＬファイル、テキストファイル、ＡＪＡＸ要求、画像ファイルなどを含む、ローカルブラウザのキャッシュメモリにキャッシュされる任意のタイプのファイルであってもよい。このような可変ブラウザ識別子ファイルによって、そのコンテンツ（一意であるか非一意であるかにかかわらず、可変ブラウザ識別子を含む）がブラウザおよび関連するブラウザアプリケーション（ローダアプリケーションを含む）にアクセスされることが可能になる。このように、ブラウザおよび関連するブラウザアプリケーションは、可変ブラウザ識別子にアクセスし、ロギングアクティビティを含むさまざまな操作のために可変ブラウザ識別子を使用することができる。
【００３２】
可変ブラウザ識別子ファイルは、可変ブラウザ識別子を含んでもよく、可変ブラウザ識別子は、ウェブページに固有のものであってもよい。場合によっては、ユーザは、一意の可変ブラウザ識別子を提供されることをオプトアウト（選択解除）してもよい。そのような場合、新しい可変ブラウザ識別子ファイルは、可変ブラウザ識別子として一意でない用語とともに生成されてもよい。あるいは、可変ブラウザ識別子ファイルを更新して、一意の識別子を一意でない用語（または定義されたまたは一般的なオプトアウト用のオプトアウト識別子）で置き換えてもよい。
【００３３】
いくつかの実施の形態では、可変ブラウザ識別子ファイルは、特定のウェブページに対するユーザオプトアウトまたはオプトインに関する情報を含む、（ユーザによって指定された）ユーザプリファレンスに関する他のタイプの情報をさらに含んでもよい。ユーザがオプトアウト設定またはオプトイン設定を変更すると、そのような情報を使用して、可変ブラウザ識別子ファイルを更新することができる。次に、ブラウザは、可変ブラウザ識別子ファイルをローカルブラウザキャッシュに再ロードするように指示され、それによって、更新されたユーザ設定を実装することができる。
【００３４】
識別子サーバ１４０はさらに、可変ブラウザ識別子を共通の不変のブラウザ識別子に一致させることができ、場合によっては共通のデバイス識別子に一致させることもできる。これに関して、（デバイス識別子によって識別される）特定のユーザデバイス１２０は、（それぞれの不変ブラウザ識別子によって識別される）一つ以上のブラウザに関連付けられてもよく、それぞれのブラウザは（それぞれの可変ブラウザ識別子によって識別される）一つ以上のウェブサイトに関連付けられてもよい。したがって、識別子サーバ１４０は、ユーザデバイスが特定のブラウザを使用してウェブサイトを要求したとき、一つまたは複数のそのような識別子（ウェブサイトであれ、ブラウザであれ、デバイスであれ）を識別することができるだけでなく、どの識別子が互いに関連づけられているかに関するマップを管理し更新することができる。
【００３５】
識別子サーバ１４０は、様々なインジケータを使用して、そのようなマップを作成し更新することができる。例えば、セキュアセッション（例えば、セキュアソケットレイヤ（ＳＳＬ）セッション）によってセッション再開が可能になる。セッション再開は、クライアントとサーバがＳＳＬ情報をネゴシエートし、後で将来の接続のためにそのネゴシエートされたＳＳＬ情報を再利用する場合に発生する。ＳＳＬセッションの設定には通常非常に時間がかかるため、再ネゴシエートする必要がないことが望ましい。セッションを再開するには、クライアントがセッションを識別できることが必要である。ＳＳＬセッションＩＤとＴＬＳセッションチケットは、以前のセッションの識別と再開を可能にする２つのメカニズムである。
【００３６】
識別子サーバ１４０は、ブラウザが（例えば、識別子サーバ１４０のドメインを呼び出すような）特定のスクリプトを有するウェブサイトにアクセスするときに呼び出される。したがって、識別子サーバ１４０は、特定のウェブサイトがアクセスされたときにセッション再開データを受信することができる。このように、識別子サーバ１４０はそのようなセッション情報を使用して、複数の接続が、例えば同じＳＳＬセッションＩＤによって示された同じセッションをいつ使用しているかを決定することができる。したがって、識別子サーバ１４０は、複数の接続に関連づけられたブラウザＩＤをまとめてマッピングすることができる。識別子サーバ１４０によって構築されたこのようなマップによって、既存のＳＳＬセッションが存在しない場合であっても、ブラウザを認識するために使用可能な一連の永続的インジケータを作成することが可能になる。
【００３７】
付加的なインジケータは、伝送制御プロトコル（ＴＣＰ）情報の使用に基づいてもよい。ＴＣＰは、Ｗｅｂブラウザ、電子メール、およびその他のアプリケーションを含むさまざまなインターネットベースのアプリケーションによって使用される。（例えば、ＴＣＰパケット内に存在する）特定のデバイスによるＴＣＰの使用に関連づけられた情報は、現在の時間、稼働時間、およびクロックスキューなどの様々なタイムスタンプ情報を含むか示すものであってもよい。例示的な実施の形態では、識別子サーバ１４０は、（例えば、特定の現在時刻、稼働時間、ソースＩＰアドレス、クロックスキューなどのＴＣＰタイムスタンプ情報に関連づけられた）ブラウザ識別子を受信し、関連づけられたタイムスタンプ情報（例えば、稼働時間）がブラウザ識別子に以前に関連付けられたいずれかのタイムスタンプ情報と一致するかどうか判断し（一致しない場合、その関連付けられたタイムスタンプ情報を含むようにブラウザ識別子に関する格納された情報を更新する）、稼働時間（またはソースＩＰアドレスまたはクロックスキュー）がデバイス識別子にマッピングされるかどうかを決定し、もしそうであるなら、それらのデバイス識別子をまとめてマッピングする。
【００３８】
現在の時間が一般にＴＣＰパケットに含まれているが、更なる計算が他のタイムスタンプ情報（例えば、稼働時間及びクロックスキュー）を得るために適用されてもよい。例えば、稼働時間は、コンピューティングデバイスが開始され、継続的に動作してからの時間の計測を提供する。特に、他のインジケータ（例えば、送信元ＩＰアドレス、クロックスキュー）と組み合わされたとき、稼働時間は、特定のデバイスを、そのコンピューティングデバイスが再起動される前の時間の間、一意に識別することができる。稼働時間に関して、デバイスは、デバイスが起動されるか、ティックの数がリセットされた最後の時間以来のティックの数を記録し報告することができる。ティックの数は、異なるコンピューティングデバイスに対して異なるスケジュールに基づいてリセットされてもよい（例えば、いくつかのデバイスは数日ごとにリセットし、他のデバイスは数週間ごとにリセットする）。ティックはまた、異なるシステムに対して異なる時間量を表すこともあるので、報告されたティック数によってどのくらいの時間が表されるかを決定するためにデバイス固有の計算が関与することがある。結果は、一貫して増加する時間である。これを後方に計算することで、デバイスが最後に起動された時刻や、ティックの数がリセットされた最後の時刻などの稼働時間が提供される。このようにして、一般に稼働時間は、稼働時間がリセットされる時までティックが増加しても同じ値にとどまる。
【００３９】
したがって、識別子サーバ１４０によって使用されるこのようなインジケータは、セッション識別子（例えば、トランスポート層セキュリティ（ＴＬＳ）、セキュアソケット層（ＳＳＬ））、伝送制御プロトコル（ＴＣＰ）識別子（例えば、稼働時間、現在時刻、クロックスキュー）、インターネットプロトコル（ＩＰ）アドレス、ユーザエージェント識別子、その他が含まれる。そのようなインジケータは、個別にまたは任意の組み合わせ（例えば、ＳＳＬセッション識別子とＴＣＰタイムスタンプ）で使用され、共通の一致に基づいて特定の共通ブラウザおよび／または特定のユーザデバイス１２０を識別する。例示的な実施の形態は、異なるブラウザまたは異なるデバイスに対する識別子間の結合を識別する際に、それぞれの決定論的な値に基づいてある種のインジケータのセットを選択することができる。たとえば、ＳＳＬセッション識別子は特定のセッションに固有であるため、同じブラウザに対する異なる可変ブラウザ識別子をまとめてマップして関連付けることができる。同様に、現在の時間、稼働時間、クロックスキューおよびソースＩＰアドレスの組み合わせは、特定のデバイスに固有であり、それによって、デバイスに関連付けられた異なるデバイス識別子間の結合を導出することが可能になる。
【００４０】
例えば、ウェブサイトをダウンロードする特定の要求は、一つまたは複数のインジケータ（たとえば、ＳＳＬセッション識別子）に関連付けられた可変ブラウザ識別子を参照してもよい。このようなＳＳＬセッション識別子は、格納された情報と比較され、識別子サーバ１４０によって、異なる可変ブラウザ識別子、不変ブラウザ識別子、および／またはデバイス識別子と共に以前に使用されたものとして決定されてもよい。同様に、要求側コンピューティングデバイスに関連づけられたＴＣＰタイムスタンプは、識別子サーバ１４０によって、他の可変ブラウザ識別子、不変ブラウザ識別子、および／またはデバイス識別子と共に以前にマッピングされるか使用されたものとして決定されてもよい。
【００４１】
参照された可変ブラウザ識別子（またはその関連づけられたインジケータまたは識別子のいずれか）に対して格納されたマップが存在しない場合、新しいマップが作成されてもよい。格納されたマップが存在する場合、そのような格納されたマップは更新されてもよい。このように、これらの識別子のうちの一つ以上を有するマップは、（特定のインジケータに関連づけられた）新たに入ってくる識別子に基づいて、また（同一または異なるインジケータに関連付けられた）格納された識別子との一致に基づいて、生成され、更新されてもよい。例えば、二つの異なる可変ブラウザ識別子が同じインジケータ（例えば、ＳＳＬセッション識別子）を有することを識別子サーバ１４０が発見すると、識別子サーバ１４０は、それぞれのウェブサイトが同じブラウザを使用していると判断することができる。各インジケータの寿命、可用性、および決定論的価値は、異なるブラウザ、ユーザエージェント、および／またはオペレーティングシステムによって異なるかもしれない。したがって、インジケータを組み合わせて使用して、一致を見つける可能性を高め、そのような一致の信頼度を高めてもよい。
【００４２】
いくつかの実施の形態では、識別子サーバ１４０は、要求が特定のブラウザおよびウェブサイト（可変ブラウザ識別子によって識別される）に関連付けられていることを判定することができてもよい。「３０４  ｎｏｔ  ｍｏｄｉｆｉｅｄ」というインジケータの代わりに、識別子サーバ１４０は、元のブラウザ識別子に関連付けられるかマッピングされた識別子サーバ１４０によって格納される新しい可変ブラウザ識別子を有する「２００  ｒｅｑｕｅｓｔ  ｆｕｌｆｉｌｌｅｄ」というインジケータを返してもよい。したがって、このようなスキームは、様々な他の識別子（例えば、デバイス識別子および不変ブラウザ識別子）との関連を維持しながら、可変ブラウザ識別子の可変性を提供する。
【００４３】
いくつかの実施の形態では、第１の当事者のクッキーを、各ウェブサイトに対する永続的識別子（例えば、可変ブラウザ識別子）として使用してもよい。クッキーはある時間の間持続するかもしれないが、そのようなクッキーは定期的に変更されるかもしれない。その後、以下でさらに詳細に説明するように、様々なマッチングパラメータ（例えば、ＳＳＬおよび稼動時間）を使用して、関連づけられたクッキーを識別し、それらを一緒にマッピングしてもよい。これに関して、識別子サーバ１４０は、他の永続的識別子にマッピングするために任意の永続的識別子を使用する能力を有するものとして理解されるべきである。したがって、時間の経過とともに、識別子サーバ１４０によって構築されたマップは、様々な識別子間の新しい結合および関連づけを組み込むように成長することができる。
【００４４】
サービスプロバイダ１５０は、ブラウザの識別に基づいて様々なサービスを提供することができるサーバまたは他のコンピューティングデバイスを含んでもよい。例えば、サービスプロバイダ１４０は、リピート訪問に関する情報を使用して、（初回訪問者と対比して）リピート訪問者に対するターゲット広告を提供してもよい。
【００４５】
図２は、識別子のタイムスタンプベースのマッチングのための例示的な方法２００を示すフローチャートである。図２の方法２００は、ＣＤ、ＤＶＤ、またはハードドライブなどの不揮発性メモリを含むがこれに限定されない非一時的コンピュータ可読記憶媒体内の実行可能命令として実施することができる。記憶媒体の命令は、記憶媒体をホスティングまたはアクセスするコンピューティング装置の様々なハードウェア構成要素に方法を実行させるプロセッサ（またはプロセッサ群）によって実行されてもよい。図２で特定されるステップ（およびその順序）は例示的なものであり、それらの実行順序を含むがそれらに限定されない様々な代替、等価物、または派生物を含んでもよい。
【００４６】
図２の方法２００では、識別子情報を識別子サーバ１４０のメモリに格納し、ブラウザ識別子への参照を受信し、参照されたブラウザ識別子に関連づけられたタイムスタンプおよびＩＰアドレスが存在するかどうかを判定することができる。存在しない場合、この方法は、参照されたブラウザ識別子がデバイス識別子にマッピングされているかどうかを決定するために進み、マッピングされていない場合、デバイス識別子を作成し、参照されたブラウザ識別子にマッピングする。あるいは、参照されたブラウザ識別子は、一つまたは複数の他の識別子（例えば、デバイス、他のブラウザ、および／またはウェブサイト）と照合されてもよい。対応する格納されたブラウザ識別子に関連づけられた格納された情報は、参照されたブラウザ識別子（およびその関連情報）を格納されたブラウザ識別子情報（関連識別子のマップを含む）と比較することに基づいて、更新される。
【００４７】
ステップ２０５では、識別子情報を識別子サーバ１４０のメモリに格納する。格納された情報は、複数の異なる可変ブラウザ識別子、不変ブラウザ識別子、およびデバイス識別子、ならびに一つまたは複数のこのような識別子を相互に関連づけるマップを含む。例えば、マップは、特定のデバイス識別子を一つまたは複数の可変ブラウザ識別子および不変ブラウザ識別子に関連付けることができる。そのようなマップは、そのような関連付けに関する以前に受信された情報（例えば、特定の共通のデバイス識別子にマッピングされた以前に受信されたブラウザ識別子）に基づいて生成され、また時間の経過とともに更新されてもよい。このような更新は、新たに受信された関連付けデータに基づいて新たな関連付けを生成することだけでなく、新たに受信された情報との一致に基づいて格納された関連付けを更新することも含む。
【００４８】
ステップ２１０において、（例えばＵＲＬによって識別されるような）特定のウェブサイトに対する要求はユーザデバイス１２０のブラウザを介してユーザによって入力され、ブラウザは、そのウェブサイトに関連づけられたウェブサーバ１３０にそのような要求を送信する。ウェブサーバ１３０は、ウェブサイトコンテンツをユーザデバイス１２０のブラウザに提供する。このようなウェブサイトのコンテンツは、ブラウザ識別子ファイルへの参照に関連付けられる。このような参照は、識別子サーバ１４０に解決（ｒｅｓｏｌｖｅ）される別のＵＲＬであってもよい。いくつかの実施の形態では、ウェブサーバ１４０によって送信された参照は、ブラウザ識別子ファイルを参照するために実行可能なローダアプリケーションに関するものであってもよい。ブラウザは、ローカルのブラウザキャッシュをチェックして、参照されたブラウザ識別子ファイルを見つけてもよい。
【００４９】
ステップ２１５において、タイムスタンプ（例えば、ＴＣＰタイムスタンプ）およびＩＰアドレスが、ステップ２１０で受信された要求に関連づけられているかどうかが判定される。関連づけられていない場合、方法はステップ２２０に進み、関連づけられている場合、方法はステップ２３５に進む。
【００５０】
ステップ２２０において、参照されたブラウザ識別子がデバイス識別子に既にマッピングされているかどうかが判定される。そのような決定は、識別子サーバ１４０のメモリ内に記憶されたマップに基づくことができる。マッピングされていれば、この方法は終了する。マッピングされていなければ、方法はステップ２２５に進むことができる。
【００５１】
ステップ２２５において、ブラウザ識別子を参照したコンピューティングデバイスを一意に特定するためにデバイス識別子が生成される。
【００５２】
ステップ２３０において、参照されたブラウザ識別子は、デバイス識別子にマッピングされる。
【００５３】
ステップ２３５では、参照されたブラウザ識別子をデバイス識別子にマッピングできるかどうかが判定される。このようなステップは、ステップ２２０と同様の方法で実行されてもよい。もっとも、ここで、参照されたブラウザ識別子をデバイス識別子にマッピングできない場合、方法はステップ２４０に進む。一方、参照されたブラウザ識別子をデバイス識別子にマッピングできる場合、本方法はステップ２４５に進む。
【００５４】
ステップ２４０において、参照されたブラウザ識別子と同じ要求で見つかったタイムスタンプおよびＩＰアドレスが、格納されたデバイス識別子にマッピングできるかどうかが判定される。マッピングできない場合、方法は、ステップ２３０（そこでは参照されたブラウザ識別子がデバイス識別子にマッピングされる）に進む前に、ステップ２２５（そこではデバイス識別子が作成される）に進む。しかし、参照されたブラウザ識別子と同じ要求で見つかったタイムスタンプおよびＩＰアドレスを格納されたデバイス識別子にマッピングできる場合、方法は直接ステップ２３０に進む。
【００５５】
ステップ２４５では、マッピングされたデバイス識別子に関連付けられたタイムスタンプおよびＩＰアドレスが、参照されたブラウザ識別子と同じ要求で受信されたタイプスタンプおよびＩＰアドレスと一致するかどうかが判定される。一致する場合、この方法は終了する。一致しない場合、方法はステップ２５０に進む。
【００５６】
ステップ２５０において、参照されたブラウザ識別子のタイムスタンプおよびＩＰアドレスと一致するタイムスタンプおよびＩＰアドレスに関連づけられた別の異なるデバイス識別子（例えば、識別子サーバ１４０に記憶されたすべてのデバイス識別子のうちのいずれか）が存在するかどうかが判定される。存在しない場合、方法はステップ２５５に進み、存在する場合、方法はステップ２６０に進む。
【００５７】
ステップ２５５において、デバイス識別子に関する格納された情報は、参照されたブラウザ識別子のタイムスタンプおよびＩＰアドレスを反映するように更新される。上述したように、いくつかのインジケータは異なる決定論的価値を有する。ありそうもないが、二つの異なるコンピューティングデバイスが同じタイムスタンプおよびＩＰアドレスをもつことはありうる。そのような場合、参照されたブラウザ識別子は、そのブラウザ識別子を参照したコンピューティングデバイス以外の（異なるデバイス識別子を有する）異なるコンピューティングデバイスに関連付けられる。
【００５８】
ステップ２６０では、格納されたマップを更新して、一致するタイムスタンプおよびＩＰアドレスに基づいて、参照された不変ブラウザ識別子（および任意の関連づけられた可変ブラウザ識別子）を他のデバイスザ識別子に再マッピングする。いくつかの実施の形態では、再マッピングは、どのデバイス識別子がより古いかに基づいてもよい。
【００５９】
図３は、本発明の実施の形態を実装するために使用される例示的なコンピューティングシステム３００を示す。図３のシステム３００は、ユーザ装置１２０Ａ〜Ｄ、ウェブサーバ１３０、識別子サーバ１４０、およびサービスプロバイダ１５０の類いのコンテキストで実装することができる。図３のコンピューティングシステム３００は、一つまたは複数のプロセッサ３１０およびメモリ３１０を含む。メインメモリ３１０は、プロセッサ３１０による実行のための命令およびデータを部分的に記憶する。メインメモリ３１０は、動作中に実行可能コードを格納することができる。図３のシステム３００は、大容量記憶装置３３０、可搬型記憶媒体ドライブ３４０、出力装置３５０、ユーザ入力装置３６０、グラフィックスディスプレイ３７０、および周辺装置３８０をさらに含む。
【００６０】
図３に示す構成要素は、単一のバス３９０を介して接続されているものとして示されている。しかしながら、構成要素は、一つ以上のデータ転送手段を介して接続されてもよい。例えば、プロセッサユニット３１０およびメインメモリ３１０は、ローカルマイクロプロセッサバス３９０を介して接続され、大容量記憶装置３３０、周辺装置３８０、可搬型記憶装置３４０、およびディスプレイシステム３７０は、一つまたは複数の入出力（Ｉ／Ｏ）バス３９０を介して接続される。
【００６１】
大容量記憶装置３３０は、磁気ディスクドライブまたは光ディスクドライブで実装することができ、プロセッサユニット３１０による使用のためのデータおよび命令を記憶するための不揮発性記憶装置である。大容量記憶装置３３０は、メインメモリ３１０にソフトウェアをロードする目的で、本発明の実施の形態を実施するためのシステムソフトウェアを格納することができる。
【００６２】
ポータブル記憶装置３４０は、フロッピー（登録商標）ディスク、コンパクトディスク（ＣＤ）またはデジタルビデオディスク（ＤＶＤ）などのポータブル不揮発性記憶媒体と連携して動作し、図３のコンピュータシステム３００に対してデータおよびコードを入出力する。本発明の実施の形態を実装するためのシステムソフトウェアは、このようなポータブル媒体に格納され、ポータブルストレージデバイス３４０を介してコンピュータシステム３００に入力されてもよい。
【００６３】
入力装置３６０は、ユーザインタフェースの一部を提供する。入力装置３６０は、アルファベットやその他の情報を入力するためのキーボードなどの英数字キーパッド、マウス、トラックボール、スタイラスまたはカーソル方向キーなどのポインティングデバイスを含んでもよい。さらに、図３に示すシステム３００は、出力装置３５０を含む。適切な出力装置の例には、スピーカ、プリンタ、ネットワークインタフェース、およびモニタが含まれる。
【００６４】
ディスプレイシステム３７０は、液晶ディスプレイ（ＬＣＤ）または他の適切なディスプレイデバイスを含んでもよい。表示システム３７０は、テキスト情報およびグラフィック情報を受信し、その情報を処理して表示装置に出力する。
【００６５】
周辺機器３８０は、コンピュータシステムに追加の機能を追加するための任意のタイプのコンピュータ支援デバイスを含んでもよい。例えば、周辺装置３８０は、モデムまたはルータを含んでもよい。
【００６６】
図３のコンピュータシステム３００に含まれる構成要素は、本発明の実施の形態で使用するのに適したコンピュータシステムに通常見られる構成要素であり、当技術分野で周知であるそのようなコンピュータ構成要素の広範なカテゴリを表すことが意図されている。したがって、図３のコンピュータシステム３００は、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、電話、モバイルコンピューティングデバイス、ワークステーション、サーバ、ミニコンピュータ、メインフレームコンピュータ、または任意の他のコンピューティングデバイスであってもよい。また、コンピュータは、異なるバス構成、ネットワーク化されたプラットフォーム、マルチプロセッサ・プラットフォームなどを含むことができる。Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃｉｎｔｏｓｈ  ＯＳ、Ｐａｌｍ  ＯＳ、および他の適切なオペレーティングシステムを含む様々なオペレーティングシステムを使用することができる。
【００６７】
本発明は、様々なデバイスを使用して動作可能なアプリケーションで実装することができる。非一時的コンピュータ可読記憶媒体は、実行するために中央処理装置（ＣＰＵ）に命令を提供することに関与する任意の媒体または媒体を指す。そのような媒体は、光学ディスクまたは磁気ディスクおよび動的メモリなどの不揮発性および揮発性媒体を含むが、これに限定されない多くの形態を取ることができる。例えば、非一時的コンピュータ可読記憶媒体の通常の形態には、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ＣＤ−ＲＯＭディスク、デジタルビデオディスク（ＤＶＤ）、その他光学媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨＥＰＲＯＭ、および任意の他のメモリチップまたはカートリッジが含まれる。
【００６８】
様々な形態の伝送媒体が、実行するために一つまたは複数の命令の一つまたは複数のシーケンスをＣＰＵに搬送することに関与してもよい。バス（例えば、バス３９０）は、データをシステムＲＡＭに運び、そこからＣＰＵが命令を取り出して実行する。システムＲＡＭによって受信された命令は、任意に、ＣＰＵによる実行の前または後のいずれかに、固定ディスクに格納することができる。様々な形態の記憶装置を同様に実装することができ、必要なネットワークインタフェースおよびネットワークトポロジを同様に実装することができる。
【００６９】
様々な実施の形態を上記で説明してきたが、それらは限定ではなく例として提示されたものであることを理解されたい。本説明は、本発明の範囲を本明細書に記載の特定の形態に限定することを意図したものではない。したがって、好ましい実施の形態の幅および範囲は、上記の例示的な実施の形態のいずれによっても制限されるべきではない。上記の説明は例示であり、限定的ではないことを理解されたい。それどころか、本説明は、添付の特許請求の範囲によって定義されるような本発明の精神および範囲内に含まれるものとして、さもなければ当業者によって認識されるものとして代替物、改変物、および等価物を包含することが意図される。したがって、本発明の範囲は、上記の説明を参照せずに決定されるべきであり、その代わりに、添付の特許請求の範囲を参照して、均等物の全範囲とともに決定されるべきである。
【図１】
0006643491.tif 000002
【図２】
0006643491.tif 000003
【図３】
0006643491.tif 000004