(57)【要約】  匿名インターネットエンティティを既知のアカウントにマッピングすること。実施形態において、オンラインアクティビティを表しＩＰアドレスを備えるイベントが、複数のソースから受信される。イベントのサブセットが、サブセットによって共有されたＩＰアドレスをアカウントに関連付けるマッピングに凝集される。各マッピングは、イベントに関する統計に関連付けられる。統計に基づいて各マッピングに関して信頼値が計算され、信頼値に基づいてマッピングの最終サブセットが選択される。その後、ＩＰアドレスを有する要求が受信されると、要求されたＩＰアドレスに関してマッピングの最終サブセットが検索され、要求に応答して、要求されたＩＰアドレスに関連付けられたアカウントの指示が返信される。【選択図】図３
2021508897.tif 000002
【特許請求の範囲】
【請求項１】
匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするための方法であって、サーバプラットフォームの少なくとも１つのハードウェアプロセッサを用いて、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信し、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算し、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択し、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答する
ことを備える方法。
【請求項２】
前記複数のイベントにわたり前記イベント情報を正規化するために、前記少なくとも１つのハードウェアプロセッサを用いることを更に備える、請求項１に記載の方法。
【請求項３】
前記複数のイベントの各々に関する前記イベント情報は、ドメイン名を備える、請求項１に記載の方法。
【請求項４】
前記複数のイベントの各々に関して、前記イベント情報は、前記イベントの前記ＩＰアドレスに関連付けられた地理的領域を備える、請求項１に記載の方法。
【請求項５】
各アカウントは、企業名を備える、請求項１に記載の方法。
【請求項６】
前記複数のマッピングに関する前記信頼値に基づいて前記複数のマッピングの最終サブセットを選択することは、各々が同じＩＰアドレスを異なるアカウントに関連付ける２つ以上のマッピングの少なくとも１つのセットに関して、
前記２つ以上のマッピングの中で最大信頼値を有する前記２つ以上のマッピングのうちの１つを決定することと、
前記２つ以上のマッピングに関する前記信頼値の合計を計算することと、
前記最大信頼値と前記信頼値の前記合計との比を計算することと、
前記比が閾値を超過しない場合、前記マッピングの最終サブセットから前記２つ以上のマッピングを除外することと
を備える、請求項１に記載の方法。
【請求項７】
前記閾値は、１と前記最大信頼値との差で乗算された一定値を備える、請求項６に記載の方法。
【請求項８】
前記関連付けられた複数の統計に基づいて各マッピングに関する信頼値を計算することは、
前記マッピングが導出されたイベントのタイミングを示す時間信頼値を計算することと、
前記マッピングが導出された前記イベントの頻度を示す統計的信頼値を計算することと、
前記マッピングが導出された前記イベントが受信された源である前記複数のソースの１または複数の精度を示すソース信頼値を計算することと、
前記時間信頼値、前記統計的信頼値、および前記ソース信頼値に基づいて前記信頼値を計算することと
を備える、請求項１に記載の方法。
【請求項９】
前記複数の統計は、スパンおよび遅延を備え、前記スパンは、前記マッピングが導出された前記イベントが発生した期間を示し、前記遅延は、前記マッピングが導出された直近のイベントが発生してからの期間を示し、前記時間信頼値は、
【数１】
2021508897.tif 000010
と計算される、請求項８に記載の方法。
【請求項１０】
前記複数の統計は、拡散および強度を備え、前記拡散は、前記マッピングが導出された前記イベントが発生した期間の数を示し、前記強度は、前記マッピングが導出されたイベントの数を示し、前記統計的信頼値は、
ｗｅｉｇｈｔｓｔｒｅｎｇｔｈ×ｌｏｇ１０００（ｓｔｒｅｎｇｔｈ）＋ｗｅｉｇｈｔｓｐｒｅａｄ×ｌｏｇ１００（ｓｐｒｅａｄ）
と計算され、式中、ｗｅｉｇｈｔｓｔｒｅｎｇｔｈおよびｗｅｉｇｈｔｓｐｒｅａｄは、合計して１になる一定値である、請求項８に記載の方法。
【請求項１１】
ｗｅｉｇｈｔｓｔｒｅｎｇｔｈおよびｗｅｉｇｈｔｓｐｒｅａｄはともに０．５に等しい、請求項１０に記載の方法。
【請求項１２】
前記ソース信頼値は、
【数２】
2021508897.tif 000011
と計算され、各ｓｏｕｒｃｅ＿ｃｏｎｆｉｄｅｎｃｅｓは、前記マッピングが導出された前記イベントが受信された源である前記１または複数のソースの１つに関するソース信頼値を表す、請求項８に記載の方法。
【請求項１３】
前記少なくとも１つのハードウェアプロセッサを用いて、前記複数のソースの各々に関して、
前記複数のソースのうち少なくともＮ個によるイベントから各々が導出されたマッピングの真のセットを識別することであって、Ｎは２以上であることと、
前記ソースから受信されたイベントから導出されたマッピングのソースセットと前記マッピングの真のセットとの間の重複を識別することと、
前記マッピングのソースセットと前記マッピングの真のセットとの間の前記識別された重複に基づいて、前記ソースに関する前記ソース信頼値を計算することと
によって、前記ソースに関する前記ソース信頼値を計算することを更に備える、請求項１２に記載の方法。
【請求項１４】
前記信頼値は、
ｗｅｉｇｈｔ１（ｃｏｎｆｓｏｕｒｃｅ＋（１−ｃｏｎｆｓｏｕｒｃｅ）ｃｏｎｆｓｔａｔ）＋ｗｅｉｇｈｔ２（ｃｏｎｆｔｉｍｅ）
と計算され、ｃｏｎｆｓｏｕｒｃｅは前記ソース信頼値であり、ｃｏｎｆｓｔａｔは前記統計的信頼値であり、ｃｏｎｆｔｉｍｅは前記時間信頼値であり、ｗｅｉｇｈｔ１およびｗｅｉｇｈｔ２は、合計して１になる一定値である、請求項８に記載の方法。
【請求項１５】
ｗｅｉｇｈｔ１は０．７に等しく、ｗｅｉｇｈｔ２は０．３に等しい、請求項１４に記載の方法。
【請求項１６】
１または複数のソースから新たなイベントセットが受信された後、前記少なくとも１つのハードウェアプロセッサを用いて、
前記新たなイベントセットのサブセットを新たなマッピングセットに凝集し、
前記新たなイベントセット内のＩＰアドレスを含む、前記マッピングの最終サブセットの一部を抽出し、
併合されるマッピングセット内の各マッピングに関して、前記マッピングに関する前記複数の統計および前記信頼値を再計算することによって、前記新たなマッピングセットを前記マッピングの最終サブセットの前記抽出された部分と併合し、
前記マッピングの最終サブセットを前記併合されたマッピングセットで更新する
ことを更に備える、請求項１に記載の方法。
【請求項１７】
前記複数のイベントの各々は、持続性イベントプールに格納され、前記新たなイベントセットは、前記マッピングの最終サブセットが更新されるまで、前記持続性イベントプールに格納されない、請求項１６に記載の方法。
【請求項１８】
前記少なくとも１つのハードウェアプロセッサを用いて、
要求されるＩＰアドレスを備えるユーザ要求を受信するための１または複数の入力を備えるグラフィカルユーザインタフェースを生成し、
前記ユーザ要求の受信に応答して、前記要求を表す問合せを問合せの待ち行列に加え、
その後、前記問合せが前記待ち行列の最前列に到達すると、前記問合せに基づいて前記複数のマッピングの前記最終サブセットにクエリを行い、
前記問合せの結果を受信した後、前記問合せの前記結果の視覚表現を備えるグラフィカルユーザインタフェースを生成する
ことを更に備える、請求項１に記載の方法。
【請求項１９】
匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするためのシステムであって、
少なくとも１つのハードウェアプロセッサと、
前記少なくとも１つのハードウェアプロセッサによって実行されると、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信し、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算し、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択し、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答する、１または複数のソフトウェアモジュールと
を備えるシステム。
【請求項２０】
プロセッサによって実行されると、前記プロセッサに、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信させ、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集させ、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算させ、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択させ、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答させる
命令が格納された非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によってその全体が本明細書に組み込まれる、２０１７年１２月２２日に出願された米国仮特許出願第６２／６０９，７５３号に対する優先権を主張するものである。
【０００２】
本明細書で説明される実施形態は、一般に、匿名インターネットエンティティ（たとえばＩＰアドレス、ドメイン、クッキー、および／またはデバイス）を既知のアカウント（たとえば企業名）にマッピングし、それによってオンライン訪問者または連絡先を匿名でなくすることに向けられる。
【背景技術】
【０００３】
インターネット通信の環境において生じる１つの重要かつ周知の問題は、インターネットユーザが事実上匿名性を保つことができる能力である。この匿名性は、自由な発言のためには良いと思われるが、ビジネスには適さない。たとえば、ウェブサイトへの訪問者が、自身を正確に識別することを選択しない限り、ウェブサイトのオペレータは、その訪問者のアイデンティティに関してほとんど知ることがない。
【０００４】
多くの場合、ウェブサイトのオペレータが訪問者に関して知る全てのことは、訪問者のブラウジングデバイスによって用いられたインターネットプロトコル（ＩＰ）アドレス、訪問者のドメイン（たとえばＩＰアドレスが関連付けられたドメイン）、および／または利用可能であれば１または複数の「クッキー」（ウェブサイトへの訪問中にそのウェブサイトによってユーザのデバイスに格納されたデータ）である。これは一般に、たとえば訪問者に製品またはサービスを売り込むために訪問者との連絡を開始するには不十分な情報である。
【０００５】
対照的に、実店舗において、店主は、たとえば製品またはサービスの売込みを開始するために、訪問者に物理的に接近してその訪問者との連絡を瞬時に開始し得る。したがって、インターネットは、マーケティングおよび商取引のために便利ではあるが、訪問者が匿名性を保つ点で店主にとって問題を提示する。これは、単純に実店舗環境には存在しない問題である。
【０００６】
したがって、インターネットによって訪問者に与えられた独自の匿名性の覆いに穴をあける解決策が必要である。好適には、そのような解決策は、店主が、匿名であるはずのインターネット訪問者に関する連絡先情報を決定することを可能にするものである。そのような解決策は、たとえば、参照によって本明細書に組み込まれる２０１３年２月７日に出願された米国特許公報第２０１３／０２０４６６３号において説明されるような、予測的マーケティング方法にとって特に有利であり得る。
【発明の概要】
【課題を解決するための手段】
【０００７】
実施形態において、匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするための方法が開示される。この方法は、サーバプラットフォームの少なくとも１つのハードウェアプロセッサを用いて、各々がオンラインアクティビティを表しＩＰアドレスおよびイベント情報を備える複数のソースからの複数のイベントを受信し、複数のイベントのサブセットを、各々が、複数のイベントのサブセットによって共有されたＩＰアドレスをアカウントに関連付け、イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、複数のマッピングの各々に関して、関連付けられた複数の統計に基づいてマッピングに関する信頼値を計算し、複数のマッピングに関する信頼値に基づいて、複数のマッピングの最終サブセットを選択し、要求されるＩＰアドレスを備える１または複数の要求に、要求されるＩＰアドレスに関してマッピングの最終サブセットを検索し、マッピングの最終サブセット内の要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答することを備える。方法は更に、複数のイベントにわたりイベント情報を正規化するために、少なくとも１つのハードウェアプロセッサを用いることを備えてよい。複数のイベントの各々に関するイベント情報は、ドメイン名を備えてよい。複数のイベントの各々に関して、イベント情報は、イベントのＩＰアドレスに関連付けられた地理的領域を備えてよい。各アカウントは、企業名を備えてよい。
【０００８】
実施形態において、複数のマッピングに関する信頼値に基づいて複数のマッピングの最終サブセットを選択することは、各々が同じＩＰアドレスを異なるアカウントに関連付ける２つ以上のマッピングの少なくとも１つのセットに関して、２つ以上のマッピングの中で最大信頼値を有する２つ以上のマッピングのうちの１つを決定することと、２つ以上のマッピングに関する信頼値の合計を計算することと、最大信頼値と信頼値の合計との比を計算することと、比が閾値を超過しない場合、マッピングの最終サブセットから２つ以上のマッピングを除外することと、を備える。閾値は、１と最大信頼値との差で乗算された一定値を備えてよい。
【０００９】
実施形態において、関連付けられた複数の統計に基づいて各マッピングに関する信頼値を計算することは、マッピングが導出されたイベントのタイミングを示す時間信頼値を計算することと、マッピングが導出されたイベントの頻度を示す統計的信頼値を計算することと、マッピングが導出されたイベントが受信された源である複数のソースの１または複数の精度を示すソース信頼値を計算することと、時間信頼値、統計的信頼値、およびソース信頼値に基づいて信頼値を計算することとを備える。複数の統計は、スパンおよび遅延を備えてよく、スパンは、マッピングが導出されたイベントが発生した期間を示し、遅延は、マッピングが導出された直近のイベントが発生してからの期間を示し、時間信頼値は、
【数１】
2021508897.tif 000003
と計算される。
【００１０】
複数の統計は、拡散および強度を備えてよく、拡散は、マッピングが導出されたイベントが発生した期間の数を示し、強度は、マッピングが導出されたイベントの数を示し、統計的信頼値は、
ｗｅｉｇｈｔｓｔｒｅｎｇｔｈ×ｌｏｇ１０００（ｓｔｒｅｎｇｔｈ）＋ｗｅｉｇｈｔｓｐｒｅａｄ×ｌｏｇ１００（ｓｐｒｅａｄ）
と計算され、式中、ｗｅｉｇｈｔｓｔｒｅｎｇｔｈおよびｗｅｉｇｈｔｓｐｒｅａｄは、合計して１になる一定値である。たとえば、ｗｅｉｇｈｔｓｔｒｅｎｇｔｈおよびｗｅｉｇｈｔｓｐｒｅａｄはともに０．５に等しくてよい。
【００１１】
実施形態において、ソース信頼値は、
【数２】
2021508897.tif 000004
と計算され、各ｓｏｕｒｃｅ＿ｃｏｎｆｉｄｅｎｃｅｓは、マッピングが導出されたイベントが受信された源である１または複数のソースの１つに関するソース信頼値を表す。方法は更に、少なくとも１つのハードウェアプロセッサを用いて、複数のソースの各々に関して、複数のソースのうち少なくともＮ個によるイベントから各々が導出されたマッピングの真のセットを識別することであって、Ｎは２以上であることと、ソースから受信されたイベントから導出されたマッピングのソースセットとマッピングの真のセットとの間の重複を識別することと、マッピングのソースセットとマッピングの真のセットとの間の識別された重複に基づいて、ソースに関するソース信頼値を計算することとによって、ソースに関するソース信頼値を計算することを備えてよい。
【００１２】
実施形態において、信頼値は、
ｗｅｉｇｈｔ１（ｃｏｎｆｓｏｕｒｃｅ＋（１−ｃｏｎｆｓｏｕｒｃｅ）ｃｏｎｆｓｔａｔ）＋ｗｅｉｇｈｔ２（ｃｏｎｆｔｉｍｅ）
と計算され、ｃｏｎｆｓｏｕｒｃｅはソース信頼値であり、ｃｏｎｆｓｔａｔは統計的信頼値であり、ｃｏｎｆｔｉｍｅは時間信頼値であり、ｗｅｉｇｈｔ１およびｗｅｉｇｈｔ２は、合計して１になる一定値である。たとえば、ｗｅｉｇｈｔ１は０．７に等しく、ｗｅｉｇｈｔ２は０．３に等しい。
【００１３】
実施形態において、方法は更に、１または複数のソースから新たなイベントセットが受信された後、少なくとも１つのハードウェアプロセッサを用いて、新たなイベントセットのサブセットを新たなマッピングセットに凝集し、新たなイベントセット内のＩＰアドレスを含む、マッピングの最終サブセットの一部を抽出することと、併合されるマッピングセット内の各マッピングに関して、マッピングに関する複数の統計および信頼値を再計算することによって、新たなマッピングセットをマッピングの最終サブセットの抽出された部分と併合し、マッピングの最終サブセットを併合されたマッピングセットで更新することを更に備える。複数のイベントの各々は、持続性イベントプールに格納されてよく、新たなイベントセットは、マッピングの最終サブセットが更新されるまで、持続性イベントプールに格納されなくてよい。
【００１４】
実施形態において、方法は更に、少なくとも１つのハードウェアプロセッサを用いて、要求されるＩＰアドレスを備えるユーザ要求を受信するための１または複数の入力を備えるグラフィカルユーザインタフェースを生成し、ユーザ要求の受信に応答して、要求を表す問合せを問合せの待ち行列に加え、その後、問合せが待ち行列の最前列に到達すると、問合せに基づいて複数のマッピングの最終サブセットにクエリを行い、問合せの結果を受信した後、問合せの結果の視覚表現を備えるグラフィカルユーザインタフェースを生成することを更に備える。
【００１５】
方法は、たとえばサーバなどのプロセッサベースのシステムの実行可能ソフトウェアモジュール、および／または非一時的コンピュータ可読媒体に格納された実行可能命令において具体化され得る。
【００１６】
本発明の詳細は、その構造および動作の両方に関し、同様の参照番号が同様の部分を示す添付図面の検討によって部分的に収集され得る。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係る、本明細書で説明されるプロセスの１または複数が実装され得るインフラストラクチャ例を示す。
【図２】実施形態に係る、本明細書で説明されるプロセスの１または複数が実行され得る処理システム例を示す。
【図３】実施形態に係る、匿名エンティティを既知のアカウントにマッピングするためのプロセスを示す。
【図４Ａ−４Ｂ】複数のソースに関するソース信頼値を決定するためのプロセスを示す。
【図５】実施形態に係る、図３に示すプロセスの１つの実装例における様々なデータ構造間のインタラクションを示す。
【図６】実施形態に係る、ウェブサービスの１つの実装例における様々なデータ構造間のインタラクションを示す。
【発明を実施するための形態】
【００１８】
実施形態において、匿名エンティティ（たとえばＩＰアドレス、ドメイン、クッキー、および／またはデバイス）を既知のアカウント（たとえば企業）にマッピングするためのシステム、方法、および非一時的コンピュータ可読媒体が開示される。本説明の閲読後、当業者には、様々な代替実施形態および代替用例が明らかになる。ただし、本発明の様々な実施形態がここで説明されるが、これらの実施形態は、限定ではなく、例および実例として提示されるものにすぎないことが理解される。よって、この様々な実施形態の詳細な説明は、添付の特許請求の範囲に記載されるような本発明の範囲または幅を限定するものとして解釈されてはならない。
【００１９】
１．システム概観
【００２０】
１．１．インフラストラクチャ
【００２１】
図１は、実施形態に従って、匿名エンティティ（たとえばＩＰアドレス、ドメイン、クッキー、および／またはデバイス）を既知のアカウント（たとえば企業）にマッピングするシステムが動作し得るインフラストラクチャ例を示す。インフラストラクチャは、本明細書で説明される様々な機能、プロセス、方法、および／またはソフトウェアモジュールの１または複数をホストおよび／または実行するプラットフォーム１１０（たとえば１または複数のサーバデバイス）を備えてよい。プラットフォーム１１０は、専用サーバを備えてよく、あるいは代わりに、１または複数のサーバの共有リソースを利用するクラウドインスタンスを備えてよい。これらのサーバまたはクラウドインスタンスは、同じ場所にあり、および／または地理的に分散してよい。またプラットフォーム１１０は、サーバアプリケーション１１２および／または１または複数のデータベース１１４を備えてよく、または通信可能に接続され得る。加えて、プラットフォーム１１０は、１または複数のネットワーク１２０を介して１または複数のユーザシステム１３０に通信可能に接続され得る。またプラットフォーム１１０は、１または複数のネットワーク１２０を介して１または複数の外部システム１４０（たとえばデータソース、ウェブサイト、ウェブサービス、他のプラットフォームなど）にも通信可能に接続され得る。
【００２２】
ネットワーク（複数も可）１２０は、インターネットを備えてよく、プラットフォーム１１０は、たとえばハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュアＨＴＴＰ（ＨＴＴＰＳ）、ファイル転送プロトコル（ＦＴＰ）、ＦＴＰセキュア（ＦＴＰＳ）、ＳＳＨ  ＦＴＰ（ＳＦＴＰ）などの標準的な伝送プロトコル、ならびにプロプライエタリプロトコルを用いて、インターネットを介してユーザシステム（複数も可）１３０および外部システム（複数も可）１４０と通信してよい。プラットフォーム１１０は、単一セットのネットワーク（複数も可）１２０を介して様々なシステムに接続されるものとして示されるが、理解すべき点として、プラットフォーム１１０は、１または複数のネットワークの様々なセットを介して様々なシステムに接続され得る。たとえばプラットフォーム１１０は、インターネットを介してユーザシステム１３０および／または外部システム１４０のサブセットに接続され得るが、イントラネットを介して１または複数の他のユーザシステム１３０および／または外部システム１４０に接続されてもよい。なお、少数のユーザシステム１３０および外部システム１４０、１つのサーバアプリケーション１１２、および１セットのデータベース（複数も可）１１４が示されるが、理解すべき点として、インフラストラクチャは、任意の数のユーザシステム、外部システム、サーバアプリケーション、およびデータベースを備えてよい。
【００２３】
ユーザシステム（複数も可）１３０は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォンまたは他のモバイルフォン、サーバ、ゲーム機、テレビ、セットトップボックス、電子キオスク、店頭端末、現金自動支払機などを限定ではなく含む、有線および／または無線通信機能を有する任意の種類（複数も可）のコンピューティングデバイスを備えてよい。
【００２４】
プラットフォーム１１０は、１または複数のウェブサイトおよび／またはウェブサービスをホストするウェブサーバを備えてよい。ウェブサイトが提供される実施形態において、ウェブサイトは、たとえばハイパーテキストマークアップ言語（ＨＴＭＬ）または他の言語で生成されたウェブページを含む、１または複数のユーザインタフェースを備えてよい。プラットフォーム１１０は、ユーザシステム（複数も可）１３０からの要求に応答して、これらのユーザインタフェースを送信または提供する。いくつかの実施形態において、これらのユーザインタフェースは、ウィザード形式で提供されてよく、この場合、２つ以上のユーザインタフェースが連続的に提供されてよく、連続したユーザインタフェースの１または複数が、ユーザまたはユーザシステムと１または複数の先行するユーザインタフェースとのインタラクションに依存してよい。プラットフォーム１１０への要求およびユーザインタフェースを含むプラットフォーム１１０からの応答はともに、標準的な通信プロトコル（たとえばＨＴＴＰ、ＨＴＴＰＳなど）を用いて、インターネットを含み得るネットワーク（複数も可）１２０を介して通信され得る。これらのユーザインタフェースまたはウェブページは、プラットフォーム１１０にローカルおよび／または遠隔にアクセス可能な１または複数のデータベース（たとえばデータベース（複数も可）１１４）に格納されたデータを備える要素、またはデータから導出された要素を含む、たとえばテキスト、画像、映像、アニメーション、参照（たとえばハイパーリンク）、フレーム、入力（たとえばテキストボックス、テキストエリア、チェックボックス、ラジオボタン、ドロップダウンメニュー、ボタン、フォームなど）、スクリプト（たとえばＪａｖａＳｃｒｉｐｔ）などのコンテンツおよび要素の組み合わせを備えてよい。またプラットフォーム１１０は、ユーザシステム（複数も可）１３０からの他の要求にも応答してよい。
【００２５】
プラットフォーム１１０は、１または複数のデータベース（複数も可）１１４を更に備え、通信可能に結合され、または他の方法でアクセスを有してよい。たとえばプラットフォーム１１０は、１または複数のデータベース１１４を管理する１または複数のデータベースサーバを備えてよい。プラットフォーム１１０で実行しているユーザシステム１３０またはサーバアプリケーション１１２は、データベース（複数も可）１１４に格納されるデータ（たとえばユーザデータ、フォームデータなど）を提示し、および／またはデータベース（複数も可）１１４に格納されたデータへのアクセスを要求してよい。クラウドベースのデータベースインスタンスおよびプロプライエタリデータベースを含む、ＭｙＳＱＬ（登録商標）、Ｏｒａｃｌｅ（登録商標）、ＩＢＭ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ（登録商標）、Ｓｙｂａｓｅ（登録商標）、Ａｃｃｅｓｓ（登録商標）などを限定ではなく含む任意の適切なデータベースが利用され得る。データは、たとえばＦＴＰを介してＨＴＴＰにサポートされた周知のＰＯＳＴ要求を用いて、プラットフォーム１１０へ送信され得る。このデータならびに他の要求はたとえば、プラットフォーム１１０によって実行される、たとえばサーブレットまたは他のソフトウェアモジュール（たとえばサーバアプリケーション１１２）などのサーバ側ウェブ技術によって処理され得る。
【００２６】
ウェブサービスが提供される実施形態において、プラットフォーム１１０は、外部システム（複数も可）１４０からの要求を受信し、ジャバスクリプトオブジェクト表記（ＪＳＯＮ）、拡張可能マークアップ言語（ＸＭＬ）、および／または他の任意の適切なまたは所望のフォーマットで応答を提供してよい。そのような実施形態において、プラットフォーム１１０は、ユーザシステム（複数も可）１３０および／または外部システム（複数も可）１４０がウェブサービスとインタラクトし得る方法を定義するアプリケーションプログラミングインタフェース（ＡＰＩ）を提供してよい。したがって、ユーザシステム（複数も可）１３０および／または（それ自体がサーバであり得る）外部システム（複数も可）１４０は、自身のユーザインタフェースを定義し、本明細書で説明されるバックエンドプロセス、方法、機能、格納などを実装または提供することをウェブサービスに依拠してよい。たとえば、そのような実施形態において、１または複数のユーザシステム（複数も可）１３０で実行しているクライアントアプリケーション１３２は、本明細書で説明される様々な機能、プロセス、方法、および／またはソフトウェアモジュールの１または複数または１または複数の一部を実行するために、プラットフォーム１１０で実行しているサーバアプリケーション１１２とインタラクトしてよい。クライアントアプリケーション１３２は「シン」であってよく、この場合、処理は主に、プラットフォーム１１０でサーバアプリケーション１１２によってサーバ側で実行される。シンクライアントアプリケーションの基本的な例はブラウザアプリケーションであり、これは単にユーザシステム（複数も可）１３０においてウェブページを要求、受信、および表示するのみであり、一方、プラットフォーム１１０におけるサーバアプリケーションは、ウェブページの生成およびデータベース機能の管理を請け負う。あるいは、クライアントアプリケーション１３２は「シック」であってよく、この場合、処理は主に、ユーザシステム（複数も可）１３０によってクライアント側で実行される。理解すべき点として、クライアントアプリケーション１３２は、特定の実装の設計目的に依存して、この「シン」と「シック」との間のスペクトルに沿ったどの点においても、プラットフォーム１１０におけるサーバアプリケーション１１２に対して一定量の処理を行う。いずれの場合も、（たとえばアプリケーション１１２が全ての処理を行う場合）プラットフォーム１１０または（たとえばアプリケーション１３２が全ての処理を行う場合）ユーザシステム（複数も可）１３０のいずれかに全体が常駐し、あるいは（たとえばサーバアプリケーション１１２およびクライアントアプリケーション１３２の両方が処理を行う場合）プラットフォーム１１０およびユーザシステム（複数も可）１３０に分散し得る、本明細書で説明されるアプリケーションは、本明細書で説明されるプロセス、方法、またはアプリケーション（複数も可）の機能の１または複数を実装する１または複数の実行可能なソフトウェアモジュールを備えてよい。
【００２７】
１．２．処理デバイス例
【００２８】
図２は、本明細書で説明される様々な実施形態と関連して用いられ得る有線または無線システム例２００を示すブロック図である。たとえば、システム２００は、本明細書で説明される（たとえば、アプリケーションまたはアプリケーションの１または複数のソフトウェアモジュールを格納および／または実行するための）機構、プロセス、方法、または機能の１または複数として、またはこれとともに用いられてよく、本明細書で説明されるプラットフォーム１１０、ユーザシステム（複数も可）１３０、外部システム（複数も可）１４０、および／または処理デバイスを表してよい。システム２００は、サーバまたは任意の従来のパーソナルコンピュータ、または有線または無線データ通信機能を有する他の任意のプロセッサイネーブル型デバイスであってよい。当業者には明らかであるように、他のコンピュータシステムおよび／またはアーキテクチャも用いられ得る。
【００２９】
システム２００は、好適には、たとえばプロセッサ２１０などの１または複数のプロセッサを含む。たとえば入力／出力を管理するための補助プロセッサ、浮動小数点数学演算を行うための補助プロセッサ、信号処理アルゴリズムの高速実行に適したアーキテクチャを有する専用マイクロプロセッサ（たとえばデジタル信号プロセッサ）、メイン処理システムに従属するスレーブプロセッサ（たとえばバックエンドプロセッサ）、二重または多重プロセッサシステムのための追加のマイクロプロセッサまたはコントローラ、またはコプロセッサなどの追加のプロセッサが提供され得る。そのような補助プロセッサは、個別のプロセッサであってよく、またはプロセッサ２１０に統合され得る。システム２００とともに用いられ得るプロセッサの例は、限定ではなく、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｃｏｒｅ  ｉ７（登録商標）プロセッサ、およびＸｅｏｎ（登録商標）プロセッサを含み、これらは全て、カリフォルニア州サンタクララのＩｎｔｅｌ社から入手可能である。
【００３０】
プロセッサ２１０は、好適には、通信バス２０５に接続される。通信バス２０５は、システム２００のストレージと他の周辺構成要素との間の情報転送を容易にするためのデータチャネルを含んでよい。また、通信バス２０５は、プロセッサ２１０と通信するために用いられる信号のセットを提供してよく、データバス、アドレスバス、および制御バス（不図示）を含む。通信バス２０５は、たとえば、業界標準アーキテクチャ（ＩＳＡ）、拡張業界標準アーキテクチャ（ＥＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＣＡ）、周辺構成要素相互接続（ＰＣＩ）ローカルバス、またはＩＥＥＥ４８８汎用インタフェースバス（ＧＰＩＢ）、ＩＥＥＥ６９６／Ｓ−１００などを含む電気電子技術者協会（ＩＥＥＥ）によって公布された規格など、任意の標準的または非標準的バスアーキテクチャを備えてよい。
【００３１】
システム２００は、好適には、メインメモリ２１５を含み、二次メモリ２２０も含んでよい。メインメモリ２１５は、たとえば本明細書で説明されるアプリケーションの機能および／またはモジュールの１または複数など、プロセッサ２１０で実行しているプログラムのための命令およびデータの格納を提供する。理解すべき点として、メモリに格納され、プロセッサ２１０によって実行されるプログラムは、Ｃ／Ｃ＋＋、Ｊａｖａ、Ｊａｖａｓｃｒｉｐｔ、Ｐｅｒｌ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、．ＮＥＴなどを限定ではなく含む任意の適切な言語に従って書かれ、および／またはこれに準拠してよい。メインメモリ２１５は、一般に、たとえばダイナミックランダムアクセスメモリ（ＤＲＡＭ）および／またはスタティックランダムアクセスメモリ（ＳＲＡＭ）などの半導体ベースのメモリである。他の半導体ベースのメモリ型式はたとえば、読取専用メモリ（ＲＯＭ）を含む、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ラムバスダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）、強誘電ランダムアクセスメモリ（ＦＲＡＭ）などを含む。
【００３２】
二次メモリ２２０は、任意選択的に、内部メモリ２２５および／または取外し可能媒体２３０を含んでよい。取外し可能媒体２３０は、任意の周知の方式で読み出され、または書き込まれる。取外し可能媒体２３０は、たとえば、磁気テープドライブ、コンパクトディスク（ＣＤ）ドライブ、デジタルバーサタイルディスク（ＤＶＤ）ドライブ、他の光学ドライブ、フラッシュメモリドライブなどであってよい。
【００３３】
取外し可能記憶媒体２３０は、コンピュータ実行可能コード（たとえば開示されたソフトウェアモジュール）および／またはデータが格納された非一時的コンピュータ可読媒体である。取外し可能記憶媒体２３０に格納されたコンピュータソフトウェアまたはデータは、プロセッサ２１０による実行のためにシステム２００に読み込まれる。
【００３４】
代替実施形態において、二次メモリ２２０は、コンピュータプログラムまたは他のデータまたは命令がシステム２００にロードされることを可能にするための他の同様の手段を含んでよい。そのような手段は、たとえば、外部記憶媒体２４５および通信インタフェース２４０を含んでよく、これにより、ソフトウェアおよびデータが外部記憶媒体２４５からシステム２００へ転送されることが可能である。外部記憶媒体２４５の例は、外付けハードディスクドライブ、外付け光学ドライブ、外付け光磁気ドライブなどを含んでよい。二次メモリ２２０の他の例は、たとえばプログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能読取専用メモリ（ＥＥＰＲＯＭ）、またはフラッシュメモリ（ＥＥＰＲＯＭと同様のブロック指向型メモリ）などの半導体ベースのメモリを含んでよい。
【００３５】
上述したように、システム２００は、通信インタフェース２４０を含んでよい。通信インタフェース２４０は、ソフトウェアおよびデータが、システム２００と、外部デバイス（たとえばプリンタ）、ネットワーク、または他の情報源との間で転送されることを可能にする。たとえば、コンピュータソフトウェアまたは実行可能コードは、通信インタフェース２４０を介してネットワークサーバからシステム２００へ転送され得る。通信インタフェース２４０の例は、ビルトインネットワークアダプタ、ネットワークインタフェースカード（ＮＩＣ）、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）ネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ネットワークアダプタ、モデム、ネットワークインタフェースカード（ＮＩＣ）、無線データカード、通信ポート、赤外線インタフェース、ＩＥＥＥ１３９４ファイアワイヤ、または、システム２００をネットワークまたは他のコンピューティングデバイスとインタフェース接続する機能を有する他の任意のデバイスを含む。通信インタフェース２４０は、好適には、たとえばイーサネットＩＥＥＥ８０２規格、ファイバチャネル、デジタル加入者線（ＤＳＬ）、非同期デジタル加入者線（ＡＤＳＬ）、フレームリレー、非同期転送モード（ＡＴＭ）、デジタル統合サービス網（ＩＳＤＮ）、パーソナル通信サービス（ＰＣＳ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、シリアルラインインターネットプロトコル／ポイントツーポイントプロトコル（ＳＬＩＰ／ＰＰＰ）などの業界公布プロトコル規格を実装するが、カスタマイズドまたは非標準インタフェースプロトコルを同様に実装してもよい。
【００３６】
通信インタフェース２４０を介して転送されたソフトウェアおよびデータは、一般に、電気通信信号２５５の形式である。これらの信号２５５は、通信チャネル２５０を介して通信インタフェース２４０へ提供され得る。実施形態において、通信チャネル２５０は、有線または無線ネットワーク、または任意の様々な多の通信リンクであってよい。通信チャネル２５０は、信号２５５を搬送し、ほんの数例としてワイヤまたはケーブル、光ファイバ、従来の電話線、セルラフォンリンク、無線データ通信リンク、無線周波数（「ＲＦ」）リンク、または赤外線リンクを含む様々な有線または無線通信手段を用いて実装され得る。
【００３７】
コンピュータ実行可能コード（すなわち、たとえば開示されるアプリケーションなどのコンピュータプログラム、またはソフトウェアモジュール）は、メインメモリ２１５および／または二次メモリ２２０に格納される。またコンピュータプログラムは、通信インタフェース２４０を介して受信され、メインメモリ２１５および／または二次メモリ２２０に格納されてもよい。そのようなコンピュータプログラムは、実行されると、本明細書のどこかで説明するような開示される実施形態の様々な機能を行うようにシステム２００を作動させる。
【００３８】
本説明において、「コンピュータ可読媒体」という用語は、コンピュータ実行可能コード（たとえばソフトウェアおよびコンピュータプログラム）をシステム２００へ提供するために用いられる任意の非一時的コンピュータ可読媒体を指すために用いられる。そのような媒体の例は、メインメモリ２１５、（内部メモリ２２５、取外し可能媒体２３０、および外部記憶媒体２４５を含む）二次メモリ２２０、および（ネットワーク情報サーバまたは他のネットワークデバイスを含む）通信インタフェース２４０と通信可能に結合された任意の周辺デバイスを含む。これらの非一時的コンピュータ可読媒体は、実行可能コード、プログラミング命令、およびソフトウェアをシステム２００へ提供するための手段である。
【００３９】
ソフトウェアを用いて実装される実施形態において、ソフトウェアは、コンピュータ可読媒体に格納され、取外し可能媒体２３０、Ｉ／Ｏインタフェース２３５、または通信インタフェース２４０によってシステム２００へロードされ得る。そのような実施形態において、ソフトウェアは、電気通信信号２５５の形式でシステム２００へロードされる。ソフトウェアは、プロセッサ２１０によって実行されると、好適には、プロセッサ２１０に、本明細書のどこかで説明される特徴および機能を行わせる。
【００４０】
実施形態において、Ｉ／Ｏインタフェース２３５は、システム２００の１または複数の構成要素と、１または複数の入力および／または出力デバイスとの間のインタフェースを提供する。入力デバイス例は、キーボード、タッチスクリーンまたは他のタッチ感知識デバイス、生体感知デバイス、コンピュータマウス、トラックボール、ペンベースのポインティングデバイスなどを限定ではなく含む。出力デバイスの例は、陰極線管（ＣＲＴ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プリンタ、真空蛍光ディスプレイ（ＶＦＤ）、表面電動型電子放出ディスプレイ（ＳＥＤ）、電解放出ディスプレイ（ＦＥＤ）などを限定ではなく含む。
【００４１】
システム２００は、音声ネットワークおよび／またはデータネットワークを介した無線通信を容易にする任意選択的な無線通信構成要素も含んでよい。無線通信構成要素は、アンテナシステム２７０、無線システム２６５、およびベースバンドシステム２６０を備えてよい。システム２００において、ＲＦ信号は、無線システム２６５の管理下でアンテナシステム２７０によって無線で送信および受信される。
【００４２】
一実施形態において、アンテナシステム２７０は、１または複数のアンテナと、アンテナシステム２７０に送信および受信信号経路を提供するための切換え機能を行う１または複数のマルチプレクサ（不図示）とを備えてよい。受信経路において、受信ＲＦ信号は、マルチプレクサから、受信ＲＦ信号を増幅し増幅信号を無線システム２６５へ送信する低雑音増幅器（不図示）へ結合され得る。
【００４３】
代替実施形態において、無線システム２６５は、様々な周波数で通信するように構成された１または複数の無線装置を備えてよい。実施形態において、無線システム２６５は、復調器（不図示）および変調器（不図示）を１つの集積回路（ＩＣ）に結合してよい。復調器および変調器は、別々の構成要素であってもよい。入来経路において、復調器は、ＲＦ搬送波信号を少しずつ取り除いてベースバンド受信オーディオ信号を残し、これが、無線システム２６５からベースバンドシステム２６０へ送信される。
【００４４】
受信信号がオーディオ情報を含む場合、ベースバンドシステム２６０は、信号を復号し、それをアナログ信号に変換する。その後、信号は増幅され、スピーカへ送信される。ベースバンドシステム２６０は、マイクロフォンからのアナログオーディオ信号も受信する。これらのアナログオーディオ信号は、デジタル信号に変換され、ベースバンドシステム２６０によって符号化される。またベースバンドシステム２６０は、送信のためにデジタル信号を符号化し、無線システム２６５の変調器部分へルート指定されるベースバンド送信オーディオ信号を生成する。変調器は、ベースバンド送信オーディオ信号をＲＦ搬送波信号と混合し、アンテナシステム２７０へルート指定され、電力増幅器（不図示）を通過し得るＲＦ送信信号を生成する。電力増幅器は、ＲＦ送信信号を増幅し、それをアンテナシステム２７０へルート指定し、アンテナシステム２７０で、信号は送信のためのアンテナポートに切り換えられる。
【００４５】
またベースバンドシステム２６０は、中央処理ユニット（ＣＰＵ）であり得るプロセッサ２１０にも通信可能に結合される。プロセッサ２１０は、データ記憶領域２１５および２２０へのアクセスを有する。プロセッサ２１０は、好適には、メインメモリ２１５または二次メモリ２２０に格納され得る命令（すなわち、たとえば開示されたアプリケーションまたはソフトウェアモジュールなどのコンピュータプログラム）を実行するように構成される。コンピュータプログラムは、ベースバンドプロセッサ２６０からも受信され、メインメモリ２１０または二次メモリ２２０に格納され、または受信時に実行され得る。そのようなコンピュータプログラムは、実行されると、開示された実施形態の様々な機能を行うようにシステム２００を作動させる。たとえば、データ記憶領域２１５または２２０は、様々なソフトウェアモジュールを含んでよい。
【００４６】
１．３．データ構造令
【００４７】
「エンティティ」という用語は、本明細書において、アクティビティ中の訪問者または連絡先に関連付けられたデータを指すために用いられ得る。たとえばエンティティは、訪問者または連絡先のデバイス（たとえばユーザシステム１３０）によってオンライン通信のために用いられたＩＰアドレス、オンライン通信中の訪問者または連絡先に関連付けられた（たとえばウェブサイトおよび／またはｅメールドメイン用の）ドメイン名、および／または閲覧中に訪問者のデバイスに格納されたクッキーを限定ではなく含んでよい。そのようなデータは、訪問者または連絡先に永続的に、半永続的に、または一時的に関連付けられてよく、通常、訪問者または連絡先を一意的に識別するものではない。たとえば、ＩＰアドレスは、特定の訪問者のデバイスに常に関連付けられる静的ＩＰアドレス、または１つのデバイスに一時的に割り当てられ、その後、インターネットサービスプロバイダ（ＩＳＰ）によって異なるデバイスに再割当てされる動的ＩＰアドレスであってよい。加えて、特定の訪問者は、複数のＩＰアドレス（たとえば、訪問者が勤務中である時の１つのＩＰアドレスおよび訪問者が在宅中である時の別のＩＰアドレス）を用いてよい。同様に、１つのドメイン名は、複数の訪問者または連絡先に関連付けられてよく、１つの訪問者または連絡先が複数のドメイン名に関連付けられてよい。他の例として、訪問者は、複数のクッキーに一度に経時的に関連付けられてよく、各クッキーは、（たとえば、デバイスのユーザによって手動で、満了期間後またはセッション終了後に自動的に、などで）削除されるまでの限られた時間のみ、訪問者のデバイスに存在し得る。
【００４８】
「イベント」という用語は、本明細書において、任意のソースからの任意のアクティビティを指すために用いられ得る。アクティビティは、ウェブサイトのウェブページにアクセスすること、オンラインフォームに記入すること、電子取引サイトを介して商品を購入すること、店主または販売員に（たとえばオンラインフォーム、電子メール（ｅメール）メッセージ、インスタントメッセージングチャット、ショートメッセージサービス（ＳＭＳ）テキスト、マルチメディアメッセージングサービス（ＭＭＳ）メッセージなどを介して）連絡すること、および／または他の任意のオンラインインタラクションを限定ではなく含んでよい。アクティビティは、たとえば展示会またはセミナーに出席すること、顧客サービスコールセンターに電話をかけること、オフラインでの購入を行うことなどのオフラインアクティビティも含んでよい。ソースは、ウェブサイト、マーケティングオートメーションプラットフォーム（ＭＡＰ）、クッキー追跡源、ベンダーデータなどを限定ではなく含んでよい。例として、ウェブサイトへの訪問者は、ウェブサイトのウェブページ内のオンラインフォームに記入してよく、このアクティビティは、訪問者を表すエンティティ（たとえば、ウェブサイトと通信するために訪問者のデバイスによって用いられたＩＰアドレス、訪問者のＩＳＰまたはエンタープライズに関連付けられたドメイン名、訪問者のデバイスに格納された追跡クッキーのコンテンツの一部または全体を表す文字列など）とともに、イベントとしてアプリケーションへ通信され得る。
【００４９】
イベントは、訪問者を表すエンティティ（たとえばＩＰアドレス、ドメイン、および／またはクッキー）の表現およびアクティビティが発生した時間を表すタイムスタンプを備えるデータ構造（たとえばベクトル、リンクリスト、アレイ、区切られた文字列など）として実装され得る。理解すべき点として、このデータ構造は、訪問者をアカウントにマッピングすること、アクティビティを識別またはカテゴリ分けすることなどを支援し得る任意の追加のデータも備えてよい。たとえば、各イベントデータ構造は、アクティビティの表現、イベントおよび／またはアクティビティのソースを示すソース情報なども備えてよい。加えて、イベントは、たとえば訪問者が訪問中にフォームを提出または自身のアカウントにログインした場合、訪問者固有情報を備えてよい。そのような場合、ソースは、フォームに入力され、またはログインアカウントに関連付けられたユーザプロフィールから取得されたユーザ固有情報を、イベントに関して記録されたイベント情報に組み入れてよい。
【００５０】
「マッピング」という用語は、本明細書において、エンティティとアカウント（たとえば企業名または他の企業識別子）との間の各関連を指すために用いられ得る。各マッピングは、エンティティが関連付けられたアカウントによって過去に用いられていること、したがって、そのエンティティによる現在または未来のアクティビティがそのアカウントによるオンラインアクティビティを表し得ることを確信する少なくとも何らかの理由が存在することを示す。マッピングは、エンティティの表現（たとえばＩＰアドレス、ドメイン、および／またはクッキー）およびアカウント識別子を備えるデータ構造として実装され得る。理解すべき点として、このデータ構造は、スパン、遅延、拡散、強度、ソース重み、重複、および／または信頼性を含む任意の追加のデータも備えてよい。
【００５１】
実施形態において、各マッピングデータ構造は、スパン値を備え、またはスパン値に関連付けられる。スパン値は、それぞれのマッピングがアクティブであった期間を表す。たとえば、２０１７年１月１日、２０１７年３月３日、および２０１７年１１月４日に発生した３つのイベントからマッピングが導出された場合、スパン値は、最初のイベントと最後のイベントとの間の日数（すなわち、２０１７年１月１日〜２０１７年１１月４日、すなわち３０７日）として計算され得る。理解すべき点として、スパン値は、任意の精度（たとえば日数、時間数、分数、秒数、ミリ秒数など）に従って計算され表現され得るが、簡潔性のために、本開示において日数で測定される。
【００５２】
実施形態において、各マッピングデータ構造は、遅延値を備え、または遅延値に関連付けられる。遅延値は、それぞれのマッピングが最後にアクティブであった時からの期間を表す。たとえば、２０１８年１月１日に、２０１７年１１月４日からマッピングに関してイベントが発生していない場合、遅延値は、２０１７年１１月４日と２０１８年１月１日との間の日数（すなわち、５８日）として計算され得る。理解すべき点として、遅延値は、任意の精度（たとえば日数、時間数、分数、秒数、ミリ秒数など）に従って計算され表現され得るが、簡潔性のために、本開示において日数で測定される。
【００５３】
実施形態において、各マッピングデータ構造は、拡散値を備え、または拡散値に関連付けられる。拡散値は、マッピングがそのスパン値にわたりアクティブであった頻度を示す期間を表す。たとえば、２０１７年１月１日、２０１７年３月３日、および２０１７年１１月４日に発生した３つ以上のイベントからマッピングが導出された場合、拡散値は３日であってよい。理解すべき点として、拡散値は、任意の精度（たとえばイベントが発生した日数、または日、時間、分、秒、ミリ秒単位のイベントの合計持続期間など）に従って計算および表現され得るが、簡潔性のために、本開示において日数で測定される。
【００５４】
実施形態において、各マッピングデータ構造は、強度値を備え、または強度値に関連付けられる。強度値は、マッピングがそのスパン値にわたりアクティブであった頻度を表す。たとえば、２０１７年１月１日に発生した１つのイベント、２０１７年３月３日に発生した２つのイベント、および２０１７年１１月４日に発生した３つのイベントからマッピングが導出された場合、６つのイベントが存在したため、強度値は６であってよい。ただし、強度値は、日数または他の時間量ではなく（たとえば１日に複数のイベントが発生し得る）、イベントの回数を示すので、拡散値とは異なる。理解すべき点として、拡散値が日数であるイベントにおいて、強度値は、拡散値と等しいかそれより大きくなり得るが、拡散値未満であってはならない。
【００５５】
実施形態において、各マッピングデータ構造は、ソース重みを備え、またはソース重みに関連付けられる。ソース重みは、それぞれのマッピングが導出されたイベントのソース（複数も可）の相対的精度を表す。ソース重みの計算は、本明細書のどこかで説明される。
【００５６】
実施形態において、各マッピングデータ構造は、重複値を備え、または重複値に関連付けられる。重複値は、それぞれのマッピングを確証するソースの数を表す。たとえば、３つの異なるソースから受信されたイベントからマッピングが導出された場合、あるいはマッピングが、他の２つの異なるソースから導出された他のマッピングに対応する場合、重複値は、合計３つのソース（または２つの対応するソース）である。
【００５７】
実施形態において、各マッピングデータ構造は、本明細書のどこかで説明されるように、１または複数の要因（たとえばスパン、遅延、拡散、強度、ソース重み、および／または重複統計）に基づいて計算された信頼値を備え、または信頼値に関連付けられる。この文脈において、特定のマッピングに関する信頼値は、それぞれのエンティティを使用した、使用している、または使用する訪問者または連絡先が、それぞれのアカウントに関連付けられているという信頼性の尺度を表す。信頼値は、本明細書において主に、０〜１の十進値として説明される。ただし、理解すべき点として、可能な信頼値の範囲は、信頼値に依拠する開示された任意の計算への対応する修正によって、任意の所望の値範囲に容易に変換することができる。
【００５８】
「イベントプール」という用語は、本明細書において、全ての生イベントデータ構造が格納されるデータ構造を指すために用いられる。たとえば、イベントがソースから受信されるたびに、イベントの表現は、説明されたイベントデータ構造としてイベントプールに格納され得る。各イベントデータ構造は、たとえば、（たとえばイベントの基礎となるアクティビティが発生した日付および／または時間を示す）タイムスタンプ、エンティティ（たとえばＩＰアドレス、ウェブサイトおよび／またはｅメールドメイン、および／またはクッキー）、イベントが受信されたおよび／またはイベントが発生したソース、イベントに関連付けられたｅメールアドレスのハッシュ（ある場合）、企業名（ある場合）、（基礎となるアクティビティ中のユーザエントリ、またはユーザがアクティビティに関するアカウントにログインした場合、ユーザのプロフィールに基づく）地理的位置、および／またはエンティティがＩＰアドレスを含む場合、地理的ＩＰ位置（すなわち、異なるＩＰブロックは異なる国に割り当てられるので、各ＩＰアドレスは国に関連付けられ得る）を備えてよい。各イベントデータ構造は、たとえば都市、州、郵便番号、グローバルポジショニングシステム（ＧＰＳ）座標（たとえば緯度、経度、および／または標高）などといった追加の情報（たとえばユーザエントリまたはユーザプロフィールからの関連情報）も備えてよい。イベントプールへのエントリ前に、本明細書のどこかで説明されるように、各イベントデータ構造の１または複数のフィールドが正規化され得る。
【００５９】
全ての単一イベントがイベントプールに個々に格納され、収集されるイベントの数は一般に膨大になるため、イベントプールは、対応して大きいものである。したがって、イベントをより凝集した状態に処理するために、アプリケーションは、「マッピングプール」を利用してよい。具体的には、「マッピングプール」という用語は、本明細書において、イベントプールに格納されたイベントを凝集してマッピングを形成するデータ構造を指すために用いられる。
【００６０】
２．プロセス概観
【００６１】
匿名エンティティを既知のアカウントにマッピングするためのプロセスの実施形態が、以下、詳しく説明される。理解すべき点として、説明されるプロセスは、たとえば本明細書で説明されるアプリケーション（たとえばサーバアプリケーション１１２、クライアントアプリケーション１３２、および／またはサーバアプリケーション１１２およびクライアントアプリケーション１３２を備える分散型アプリケーション）として１または複数のハードウェアプロセッサによって実行される１または複数のソフトウェアモジュールとして具体化されてよく、これは、プラットフォーム１１０のプロセッサ（複数も可）によって全体が実行されるか、ユーザシステム（複数も可）１３０のプロセッサ（複数も可）によって全体が実行されるか、またはアプリケーションのいくつかの部分またはモジュールがプラットフォーム１１０によって実行され、アプリケーションの他の部分またはモジュールがユーザシステム（複数も可）１３０によって実行されるようにプラットフォーム１１０およびユーザシステム（複数も可）１３０に分散され得る。説明されるプロセスは、ソースコード、オブジェクトコード、および／または機械コードで表された命令として実装され得る。これらの命令は、ハードウェアプロセッサ（複数も可）によって直接実行されてよく、あるいは、オブジェクトコードとハードウェアプロセッサとの間で動作する仮想機械によって実行され得る。加えて、開示されるアプリケーションは、１または複数の既存のシステムにおいて構成され、または既存のシステムとインタフェース接続され得る。
【００６２】
あるいは、説明されるプロセスは、ハードウェア構成要素（たとえば汎用プロセッサ、集積回路（ＩＣ）、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジックなど）、ハードウェア構成要素の組み合わせ、またはハードウェア構成要素とソフトウェア構成要素との組み合わせとして実装され得る。ハードウェアとソフトウェアとの相互置換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、本明細書において、一般にそれらの機能の観点から説明される。そのような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課された設計制約に依存する。当業者は、各特定のアプリケーションに関して様々な方法で説明される機能を実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱をもたらすものとして解釈されてはならない。加えて、構成要素、ブロック、モジュール、回路、またはステップにおける機能のグループ化は、説明を容易にするためである。特定の機能またはステップは、本発明から逸脱することなく、１つの構成要素、ブロック、モジュール、回路、またはステップから別の構成要素、ブロック、モジュール、回路、またはステップへ動かされ得る。
【００６３】
図３は、実施形態に係る、匿名エンティティを既知のアカウントにマッピングするためのプロセス３００を示す。プロセス３００は、特定の構成および順序のステップによって示されるが、より少ない、多い、または異なるステップおよび異なる構成および／または順序のステップで実装されてよい。
【００６４】
２．１．イベントプールへの収集
【００６５】
ステップ３１０において、アプリケーションは、１または複数のソース（たとえば外部システム１４０および／またはプラットフォーム１１０における内部ソース）からのイベントを受信し、それらをイベントプールに収集する。本明細書のどこかで説明されるように、各イベントは、少なくともエンティティおよびタイムスタンプを備えるデータ構造として受信され得る。各イベントは、イベントプール内のデータ構造に格納されてよく、エンティティ（たとえばＩＰアドレス、ドメイン、および／またはクッキー）、タイムスタンプ、イベントのソースの識別子、および任意選択的に追加の情報（たとえば、エンティティ内のＩＰアドレスに関連付けられた地理的ＩＰ位置、企業またはユーザ名など）を備えてよい。
【００６６】
特に、生イベントデータはノイジーであり得る。したがって、実施形態において、イベントデータは、イベントプールに入力される時、またはイベントプールに入力された後、正規化される。たとえば正規化は、地理的ＩＰ位置（たとえば、同じ国名の全バリエーションを、標準名称および／または文法技術を用いて単一の正規名に変換すること）、企業またはアカウント名（たとえば、同じ企業またはアカウント名の全バリエーションを、標準名称および／または文法技術を用いて単一の正規名に変換すること）、ドメイン名（たとえば、第２レベルドメイン名より前のドメイン名の任意の部分を破棄すること）、および／または他のフィールドに対し行われ得る。これらのフィールド値のバリエーションを識別するために、ファジーマッチングが用いられ得る。正規化は、後続する凝集プロセスを最大限にするために、イベントプール内の全てのエントリにおけるフィールドにわたり行われ得る。
【００６７】
正規化の例として、マスタドメインの１または複数の別名（たとえば、ａｂｃ．ｃｏｍはａｂｃ．ｇｏ．ｃｏｍの別名）が、入来するイベントデータ内で検出され、イベントプールへの入力前に、マスタドメインに正規化される。有利な点として、これにより、同じドメインが異なるドメインとして分析されることが避けられる。実施形態において、別名セットは、以下の（たとえばアプリケーションによって実装された）技術の１または（全てを含む）複数を用いて構成され得る。
【００６８】
（１）第２のドメイン（たとえばａｂｃ．ｇｏ．ｃｏｍ）にリダイレクトするかを確認するために第１のドメイン（たとえばａｂｃ．ｃｏｍ）へ要求を送信する。第１のドメインへの要求が第２のドメインにリダイレクトする場合、第１のドメインは、第２のドメインの別名（たとえば、ａｂｃ．ｃｏｍはａｂｃ．ｇｏ．ｃｏｍの別名）である。
【００６９】
（２）ドメインに関するドメインネームシステム（ＤＮＳ）ＩＰアドレスを（たとえばＤＮＳルックアップを用いて）取得し、取得したＩＰアドレスに関連するドメインのセットを（たとえば、ＤＮＳ  ＩＰ⇒ドメインのセットとなるＩＰ逆引きを用いて）構成する。ドメインのセットが構成されると、アプリケーションは、ドメインセット内の各ドメインへ要求を送信し、返信されたウェブページ間の類似性を（たとえば型式に基づいて）検査してよい。たとえば、ＩＰアドレス１．１．１．１に関するドメインのセットが［ａ．ｃｏｍ、ｂ．ｃｏｍ、ｃ．ｃｏｍ］である場合、ａ．ｃｏｍ、ｂ．ｃｏｍ、ｃ．ｃｏｍにおけるウェブページが取得され、取得したそれらのウェブページの型式が比較され得る。型式が同一または同様である場合、アプリケーションは、ドメインのセット［ａ．ｃｏｍ、ｂ．ｃｏｍ、ｃ．ｃｏｍ］が別名のセットであることを決定し、ドメインのセットから１つのドメインをマスタドメインとして機能するように選択してよい。たとえば、アプリケーションは、マスタドメインとしてａ．ｃｏｍをランダムに選択し、別名ドメインｂ．ｃｏｍおよびｃ．ｃｏｍに関連付けられた任意のイベントデータがマスタドメインａ．ｃｏｍに関連付けられるように修正することによって、今後の全てのイベントデータをマスタドメインに正規化してよい（ａ．ｃｏｍに関連付けられた任意のイベントデータは、ａ．ｃｏｍに関連付けられたままである）。
【００７０】
（３）互いの文字列距離に基づいて（たとえばイベントデータ内に見られる）ドメインセットを構成し、ドメインセット内の各ドメインへ要求を送信し、返信されたウェブページ間の類似性を（たとえば型式に基づいて）検査する。類似性マッチングは、上述の技術（２）における類似性マッチングと同じ、または異なってよい。たとえばアプリケーションは、ドメインネーム間の文字列距離に基づいて、互いに別名の可能性を表すＪｏｎＢａｋｅｒｙ．ｃｏｍ、ＪｏｎＢａｋｅｓ．ｃｏｍ、およびＪｏｎＢａｋｅｒ．ｃｏｍをドメインのセットとして識別してよい。ＪｏｎＢａｋｅｒｙ．ｃｏｍ、ＪｏｎＢａｋｅｓ．ｃｏｍ、およびＪｏｎＢａｋｅｒ．ｃｏｍにおけるウェブページが取得され、取得したそれらのウェブページの型式が比較され得る。型式が同一または同様である場合、アプリケーションは、ドメインのセット［ＪｏｎＢａｋｅｒｙ．ｃｏｍ、ＪｏｎＢａｋｅｓ．ｃｏｍ、ＪｏｎＢａｋｅｒ．ｃｏｍ］が別名のセットであることを決定し、ドメインのセットから１つのドメインをマスタドメインとして機能するように選択してよい。たとえば、アプリケーションは、マスタドメインとしてＪｏｎＢａｋｅｒ．ｃｏｍをランダムに選択し、別名ドメインＪｏｎＢａｋｅｒｙ．ｃｏｍ．ｃｏｍおよびＪｏｎＢａｋｅｓ．ｃｏｍに関連付けられた任意のイベントデータがマスタドメインＪｏｎＢａｋｅｒ．ｃｏｍに関連付けられるように修正することによって、今後の全てのイベントデータをマスタドメインに正規化してよい（ＪｏｎＢａｋｅｒ．ｃｏｍに関連付けられた任意のイベントデータは、ＪｏｎＢａｋｅｒ．ｃｏｍに関連付けられたままである）。
【００７１】
上述の技術（１）、（２）、および／または（３）を用いて別名であると決定されたドメインのセットは、単一の別名ドメインセットに併合され得る。その後、実施形態において、不当に多い数のドメインを有する併合された別名ドメインセット（たとえば、所定の閾値を超過するドメインの数を備えるセット）は、収集されたイベントデータからフィルタ除去される。具体的には、任意のフィルタ除去されたドメインセット内の任意のドメインに関連付けられたイベントデータは、イベントプールから除外され得る。これは、大規模な別名ドメインセットが、有効なアカウントに関連付けられたものではなく、ドメイン販売業者、ホスティングサービス、ソーシャルメディアプラットフォームなどによるリダイレクトを示しているためである。
【００７２】
加えて、イベントデータは、１または複数の他の基準に基づいてフィルタ除去され得る。たとえば、ウェブサービスプロバイダ（たとえばアマゾン（登録商標）、グーグル（登録商標）、マイクロソフト（登録商標）など）に関連付けられたＩＰアドレスの範囲内のＩＰアドレスに関連付けられたイベントデータは、イベントプールから除外され得る。他の例として、ボット様式のアクティビティパターンが検出されたエンティティに関連付けられたイベントデータは、イベントプールから除外され得る。ボット様式のアクティビティパターンは、不当に多い数の要求、ウェブスクレイピング挙動、定期的なイベントなどを備えてよい。
【００７３】
２．２．マッピングへの凝集
【００７４】
ステップ３２０において、アプリケーションは、イベントプールに格納されたイベントを、マッピングプール内に凝集する。理解を容易にするために、このステップは、具体的な非限定的例を用いて説明される。イベントプールが、以下の表１に表されたエントリを備えるものとする。特に、エントリの全てのフィールドが必ずしも添付の表に示されるわけではなく、これらの表内のエントリは、実際のプールに存在するエントリのわずかな割合しか表さず、単一のエンティティのみに関してしか表さない。実際の実装のエントリは、表に示すものよりも多い、少ない、または異なるフィールド、および／または異なる表現のフィールド値を備えてよい。
【表１】
2021508897.tif 000005
【００７５】
この例において、ＩＰアドレス１．１．１．１をｘｙｚ．ｃｏｍのドメインと関連付ける２つのイベントが、ソース１（たとえばデータベンダ）から受信されており、同じＩＰアドレスをａｂｃ．ｃｏｍのドメインと関連付ける２つのイベントが、ソース２から（たとえば、たとえばログインを報告するウェブサイトから直接）受信されており、同じＩＰアドレスをａｂｃ．ｃｏｍと関連付ける８つのイベントが、ソース３（たとえばマーケティングオートメーションプラットフォーム）から受信されている。２０１３年２月３日、イベントプールにおけるこれら１２のイベントは、以下の表２に示すように、マッピングプール内の２つのエントリに凝縮され得る。
【表２】
2021508897.tif 000006
【００７６】
表２に示すように、イベントプールに格納された個々のイベントは全て、合致するエンティティを有する他のイベントと対応付けられ、ＩＰアドレスをアカウント名と関連付けるマッピングプール内の単一エントリに凝集される。実施形態において、アカウント名は、ドメイン名から導出され得る（たとえば、「ｘｙｚ．ｃｏｍ」から「ＸＹＺ」、および「ａｂｃ．ｃｏｍ」から「ＡＢＣ」）。凝集されたイベントの各セットに関して、統計（たとえばスパン値、遅延値、拡散値、強度値、および重複値）が計算され、マッピングプール内のエントリに含まれる。この場合、ＩＰアドレス１．１．１．１および同じドメイン名「ｘｙｚ．ｃｏｍ」を有する２つのエントリは、２１日のスパン値、１４日の遅延値、２日の拡散値、２日の強度値、１つのソースの重複値、およびその１ソースの識別子を備えるリストとともに単一のエントリに結合されている。同様に、同じＩＰアドレスを有するが異なるドメイン名「ａｂｃ．ｃｏｍ」を有する１０のエントリは、３２日のスパン値、１日の遅延値、９日の拡散値、１０日の強度値、２つのソースの重複、およびそれら２つのソースの各々に関する識別子を備えるリストとともに単一のエントリに結合されている。加えて、ドメイン名「ｘｙｚ．ｃｏｍ」は、正規化企業名「ＸＹＺ」を有するＸＹＺ社と関連付けられており、ドメイン名「ａｂｃ．ｃｏｍ」は、正規化企業名「ＡＢＣ」を有するＡＢＣ社と関連付けられている。
【００７７】
２．３．各マッピングに関する信頼性計算
【００７８】
ステップ３３０において、アプリケーションは、マッピングプール内の各マッピングに関する信頼値を計算する。実施形態において、各マッピングに関する全体信頼値は、複数の異なる信頼性に基づいて計算される。たとえば信頼値は、時間信頼性、統計信頼性、および／またはソース信頼性の組み合わせであってよく、これらの各々は、各マッピング内の凝集情報に基づいて計算される。
【００７９】
２．３．１．時間信頼性
【００８０】
特定のマッピングに関する時間信頼性は、以下の式１を用いて計算され得る。
【数３】
2021508897.tif 000007
式中、ｓｐａｎはマッピングに関連付けられたスパン値であり、ｄｅｌａｙはマッピングに関連付けられた遅延値である。
【００８１】
式１は、高いスパン値を有するマッピングは、低いスパン値を有するマッピングよりも低速で衰退するはずだという理論に基づいて、シグモイド曲線を生成する。しかし、同時に、低いスパン値を有するマッピングもなお捕捉されなければならない。たとえば、特定のマッピングが昨日かつ昨日のみアクティブであった場合、それは新しいために高い時間信頼値（たとえば０．３）を有するが、その時間信頼値は、そのマッピングが今後再びアクティブにならなければ急速に低下する。逆に、この１か月アクティブではなかったが、この１か月より前の年全体にわたりアクティブであった競合するマッピングは、更に高い時間信頼値（たとえば０．８）を有し、それぞれの信頼値の観点から、新しいが一過性であるマッピングを超える。
【００８２】
２．３．２．統計信頼性
【００８３】
統計信頼性は、以下の式２を用いて計算され得る。
ｗｅｉｇｈｔｓｔｒｅｎｇｔｈ×ｌｏｇ１０００（ｓｔｒｅｎｇｔｈ）＋ｗｅｉｇｈｔｓｐｒｅａｄ×ｌｏｇ１００（ｓｐｒｅａｄ）    ［式２］
式中、ｓｔｒｅｎｇｔｈはマッピングに関連付けられた強度値であり、ｓｐｒｅａｄはマッピングに関連付けられた拡散値であり、ｗｅｉｇｈｔｓｔｒｅｎｇｔｈ＋ｗｅｉｇｈｔｓｐｒｅａｄ＝１．０であり、実施形態において、ｗｅｉｇｈｔｓｔｒｅｎｇｔｈ＝ｗｅｉｇｈｔｓｐｒｅａｄ＝０．５である。
【００８４】
式２は、たとえば強度および拡散などの統計に報酬を与えるために対数関数を用いる。実際、マッピングの大多数は、これらの統計に関して低い値を有し得る。したがって、これらの統計に関する高い値を有するマッピングは、それぞれの信頼値の観点から「報酬を受ける」。
【００８５】
２．３．３．ソース信頼性
【００８６】
特定のマッピングに関するソース信頼性は、原則的にマッピングが導出されたイベント（複数も可）を供給した各ソースが誤っている確率を減じる、以下の式３を用いて計算され得る。
【数４】
2021508897.tif 000008
式中、Ｓはマッピングに関する重複値であり、ｓｏｕｒｃｅ＿ｃｏｎｆｉｄｅｎｃｅは、マッピングを導出するために用いられたイベントが受信された各ソースに関連付けられた０〜１の信頼値（たとえば、ソースの過去の信頼性または精度に基づく各ソースに関するグローバル信頼値）である。
【００８７】
ソース信頼性は、全体信頼値における重要な変数であり得る。いくつかのソースは、確実性の高い方法論に基づく信頼できるデータを供給し得るが、他のソースは、非常にノイジーであり得る（たとえば大量の不正確なデータが正確なデータに混合している）。実施形態において、特定のソースに関するｓｏｕｒｃｅ＿ｃｏｎｆｉｄｅｎｃｅ値は、Ｎ個の個別のソースがマッピングについて符合する場合、そのマッピングは真であるという仮定に基づいて決定され得る。Ｎは、２以上でなくてはならず、好適には、３より大きい。
【００８８】
図４Ａおよび図４Ｂは、実施形態に係る、イベントの各ソースに関するソース信頼値を決定するためのプロセス例４００を示す。プロセス４００は、特定の構成および順序のステップを用いて示されるが、より少ない、多い、または異なるステップおよび異なる構成および／または順序のステップで実装されてよい。
【００８９】
ステップ４１０において、特定のソースの精度を評価するために、アプリケーションは、Ｎ（たとえば３）個以上のソースに基づくマッピングプールからマッピングのプールを作成することによって「真の」マッピングのセットを構成してよい。実施形態において、評価されるソースは、このプールから除外され得る。そのような実施形態において、ステップ４１０は、ソースが評価される度に「真の」マッピングの新たなプールが作成されるように、決定ブロック４２０の後に起こり得る。どちらの場合も、これらの選択されたマッピングは「真のセット」、すなわち、真であると推測されるマッピングのサブセットを表す。
【００９０】
ステップ４２０において、アプリケーションは、考慮されるべき任意のソースが残っているかを決定する。理解すべき点として、イベントが取得された全てのソースが、プロセス４００に従って評価され得る。考慮されるべき少なくとも１つのソースが残っている場合（すなわち、ステップ４２０における「はい」）、次のソースが現在のソースとして選択され、プロセス４００はステップ４３０へ進む。そうではなく、考慮されるべきソースが残っていない場合（すなわち、ステップ４２０における「いいえ」）、プロセス４００は終了する。
【００９１】
ステップ４３０において、評価されている現在のソースから導出されたマッピングと、マッピングの真のセットとの間の重複または交わりが決定される。このマッピングの交わりは、実施形態に従って、図４Ｂに示される。
【００９２】
ステップ４４０において、アプリケーションは、評価されている現在のソースからいくつの真のマッピングおよび／またはいくつの真ではないマッピングが導出されたかに基づいて、評価されている現在のソースに関する信頼の尺度を決定するために、この交わりを用いる。すなわち、真のセット内のマッピング（たとえばエンティティとアカウントとの両方におけるマッピング）と合致する、現在のソースから導出されたマッピングは、現在のソースから導出された真のマッピングであると推測される。決定された尺度はその後、評価されている現在のソースに関するソース信頼性（すなわち、式３におけるｓｏｕｒｃｅ＿ｃｏｎｆｉｄｅｎｃｅの値）として、またはそれを求めるために用いられ得る。たとえば、ソース信頼性は、現在のソースから導出されたマッピングの総数に対する重複内の「真の」マッピングの数の比（たとえばパーセンテージ）であってよい。現在のソースに関してソース信頼性が決定された後、プロセス４００はステップ４２０へ戻り、次のソースがあればそれを評価し、そうでなければ終了する。
【００９３】
２．３．４．全体信頼性
【００９４】
特定のマッピングに関する全体信頼性は、そのマッピングに関する時間信頼性、統計信頼性、およびソース信頼性の各々に基づいて、以下の式４を用いて計算され得る。
ｗｅｉｇｈｔ１（ｃｏｎｆｓｏｕｒｃｅ＋（１−ｃｏｎｆｓｏｕｒｃｅ）ｃｏｎｆｓｔａｔ）＋ｗｅｉｇｈｔ２（ｃｏｎｆｔｉｍｅ）    ［式４］
式中、ｃｏｎｆｔｉｍｅは計算された時間信頼性であり、ｃｏｎｆｓｔａｔは計算された統計信頼性であり、ｃｏｎｆｓｏｕｒｃｅは計算されたソース信頼性であり、ｗｅｉｇｈｔ１＋ｗｅｉｇｈｔ２＝１．０であり、実施形態において、ｗｅｉｇｈｔ１＝０．７およびｗｅｉｇｈｔ２＝０．３である。
【００９５】
２．４．マッピングのフィルタリングおよびクリーニング
【００９６】
ステップ３４０において、計算された信頼値を有するマッピングは、フィルタされ、クリーニングまたは補正され得る。実施形態において、ステップ３４０は、ＩＳＰフィルタリングおよび／または位置クリーニングを備える。
【００９７】
２．４．１．ＩＳＰフィルタリング
【００９８】
通常、エンティティが、（たとえば、ＩＰアドレスを様々な顧客に動的に割り当てる）ＩＳＰに属するＩＰアドレスを含む場合、その同一エンティティに関する多数の矛盾するマッピングが存在し得る。したがって、実施形態において、アプリケーションは、特定のエンティティに関する最大信頼値を有するマッピングに関する信頼値と、その特定のエンティティに関する全てのマッピングに関する全ての信頼値の合計との比を計算し、その後、この比を閾値と比較することによって、マッピングをフィルタする。たとえば、この比較は、以下の式５として表され得る。
【数５】
2021508897.tif 000009
【００９９】
したがって、たとえば最大信頼値が０．５である場合、その信頼値は、有効なマッピングとみなされるために、累積信頼値の２５％を示す必要がある。最大信頼値が０．１であった場合、累積信頼値の４５％を示す必要がある。この閾値は、信頼値の観点から明確に抜きんでた単一のマッピングがない場合に、相反するマッピングをフィルタ除去する。
【０１００】
実施形態において、ｓｕｍ（ｃｏｎｆｉｄｅｎｃｅｅｎｔｉｔｙ）は、オーバーカウントを防ぐために、全ての信頼値ではなく、全ての異なる信頼値の合計を表し得る。具体的には、同じエンティティに関する２つ以上のマッピングは、同じ信頼値を有することになり得る。この場合、全ての（異なる信頼値および同一の信頼値を含む）信頼値の合計ではなく全ての異なる信頼値の合計で割ることで、ＩＳＰフィルタは、より控えめになり得る。あるいは、ｓｕｍ（ｃｏｎｆｉｄｅｎｃｅｅｎｔｉｔｙ）は、異なっていることにかかわらず全ての信頼値の合計を表してよい。
【０１０１】
実施形態において、式５が満たされない場合、特定のエンティティに関連付けられた全てのマッピングがフィルタ（たとえば破棄または無視）され得る。そうではなく、式５が満たされる場合、そのエンティティに関する最大信頼値を有するマッピングが保持され、そのエンティティに関連付けられた他の全てのマッピングがフィルタされ得る。原則的に、式５は、低い信頼性を有するマッピングほど、破棄を避けるために合計信頼値のうち大きなパーセンテージを必要とし、高い信頼性を有するマッピングは、それらが同じエンティティに関して不当な数のマッピングと競合しない限り、残ることを確実にする。
【０１０２】
２．４．２．位置クリーニング
【０１０３】
ＩＰアドレスの範囲は特定の国に関連付けられるので、エントリがＩＰアドレスを含む場合、このＩＰアドレスは、関連付けられた国または他の地理的情報を決定するために用いられ得る。アプリケーションは、マッピングを補正またはクリーニングするために、この地理的情報を用いてよい。たとえば、イベントは、オンラインアクティビティ（たとえばウェブサイト訪問）を、（たとえばウェブサイトへのログインに基づいて）アカウントへの連絡先に関連付けてよい。この場合、連絡先が誤りである場合、マッピングは誤りである。加えて、その連絡先が、様々な支社を有する会社（たとえば多国籍企業、コンサルティング会社など）によって用いられている場合、連絡先は、１つの支社に関連するアクティビティを行うと同時に、そのアクティビティを他の支社（たとえば、連絡先が用いられている支社）にリンクすることであってよい。
【０１０４】
実施形態において、アプリケーションは、特定のソースからの特定のアカウントに関するイベントのどの部分が異なる国から入来しているかを決定することによって、これらの問題に対処する。具体的には、アプリケーションは、アカウントが正しくリンクされているか否かを決定するために、ＩＰアドレスによってではなく、アカウントレベルで統計を収集してよい。例として、数千のＩＰアドレスが過去に米国内の「ＡＢＣ，Ｕ．Ｓ．Ａ」に関するアカウントにマッピングされている場合、新たなイベントにおいて受信された新たなＩＰアドレスの大多数もまた、米国内で起こったものであるはずだと推定される。
【０１０５】
実施形態において、アプリケーションは、以下のようにマッピングを補正、クリーニング、またはフィルタしてよい。
【０１０６】
（１）新たなイベントの大多数におけるＩＰアドレスが、既存のマッピング内の国とは異なる国と関連付けられている場合、既存のマッピング内の国を新しい異なる国に変更し、
【０１０７】
（２）マッピング内のアカウントが、多国籍オフィスを有する大企業を表し、イベントのIPアドレスが複数の異なる国と関連付けられており、明らかな大部分を占める単一の国がない場合、複数の国の各々について１つのマッピング、または主要な国の各々について１つのマッピングとなる（たとえば、比較的少数のイベントを有する国に関するマッピングを破棄する）ようにマッピングを複数のマッピングに分割し、および／または、
【０１０８】
（３）新たなイベント内のＩＰアドレスが、既存のマッピング内の国とは異なる国と関連付けられているが、ソースおよび／またはマッピング信頼値が低い場合、既存のマッピングを変更せず、新たなイベントに関する新たなマッピングを作成しない（すなわち、新たなイベントを破棄、無視、または他のようにフィルタする）。
【０１０９】
２．４．３．有効ドメインのチェック
【０１１０】
実施形態において、アカウントを識別するために用いられる鍵となるフィールドの１つは、ドメインである。イベントデータにおけるノイズによって、いくつかのマッピングは、無効および／または不良なドメインをアカウントにマッピングし得る。したがって、実施形態において、アプリケーションは、各ドメインへ要求を送信することによって、マッピング内の１または複数のドメインを検証してよい。たとえば、アプリケーションは、低信頼性マッピング内の各ドメイン名へ要求を送信することによって、低い信頼値（たとえば、所定の閾値を下回る信頼値）と関連付けられた各マッピング内のドメイン名を検証してよい。特定のマッピングと関連付けられたドメインへの要求が、有効なアカウントを示さないサイト（たとえばドメイン販売業者、ホスティングサービス、ソーシャルメディアプラットフォームなど）にリダイレクトされる場合、および／または、要求が、エラーまたはマッピングが不良である可能性が高いことを確信する他の何らかの理由をもたらす場合、マッピングは破棄され、または無効として除外され得る。
【０１１１】
２．５．マッピングの選択
【０１１２】
ステップ３５０において、各エンティティに関して、アプリケーションは、ステップ３４０においてフィルタおよびクリーニングされたマッピングから、ステップ３３０において決定された最も高い信頼値を有する残りのマッピングを選択する。実施形態において、アプリケーションは、信頼値が最小閾値を超過する場合のみ、マッピングを選択してよい。たとえば、いくつかの例において、特定の最小閾値を上回る信頼値を有するマッピングがない場合、アプリケーションは、最も高い信頼値を有するマッピングを含む、特定のエンティティに関する全てのマッピングを破棄してよい。
【０１１３】
実施形態において、最小閾値は、マッピングが用いられる特定のコンテキストに依存してよい。たとえば、プラットフォーム１１０のいくつかのコンテキストまたはユーザは、マッピングに関してより高いレベルの信頼性を必要とすることがあり、その場合、最小閾値は、より高く設定され得る。他のコンテキストまたはユーザは、そのような高いレベルの信頼性を必要としないことがあり、その場合、最小閾値はより低く設定され、または完全に削除され得る。
【０１１４】
実施形態において、プロセス３００の出力は、エンティティとアカウントとの間の残りのマッピングの各々のグラフ、リスト、テーブル、または他の表現である。理解すべき点として、この表現は、ステップ３４０におけるフィルタリングおよびクリーニング、およびステップ３５０における選択および／または閾値化の後に残るマッピングのみを含む。表現は、データ構造として格納および／または送信され、グラフィカルユーザインタフェースにおいて表示され、他のアプリケーションへの（たとえばＡＰＩを介した）入力として用いられるなどしてよい。実施形態において、表現は、エンティティによって索引を付された最終マッピングのデータベースである。エンティティ索引は、単一のエンティティが複数のアカウントにマッピングすることがないように、一次一意索引であってよい。
【０１１５】
また、実施形態において、最終マッピングの各々は、マッピング内に表現されたアカウントによって、アカウントに関する連絡先情報にリンクされ得る。たとえば、マッピング内のアカウント識別子は、そのアカウント識別子と関連付けられた連絡先情報を検索するために（たとえばデータベースへの索引として）用いられ得る。
【０１１６】
したがって、たとえば、ユーザは、ユーザのウェブサイトで、特定のＩＰアドレスからのオンラインアクティビティを目撃してよい。ユーザは、検索基準としてＩＰアドレスを用いて、アプリケーションを通して最終マッピングのクエリを開始してよく、それに応じてアプリケーションは、アカウント名（たとえば企業名）およびそのアカウントに関連付けられた連絡先情報をユーザに返信してよい。有利な点として、これによってユーザは、インターネットの本質的な匿名性によって連絡可能ではないはずのインターネット訪問者に連絡することが可能である。
【０１１７】
このルックアッププロセスは、自動化されてもよい。たとえば、ウェブサイトのオペレータは、ウェブサイトにおけるオンラインアクティビティにおいて（たとえばリアルタイムで、定期的になど）見られた各ＩＰアドレスについて最終マッピングに自動的にクエリを行うためにアプリケーションのＡＰＩを用いる第三者ソフトウェアを開発してよい。アプリケーションはその後、第三者ソフトウェアによる追加の処理および／またはウェブサイトオペレータによる使用のために、それらのＩＰアドレスに関連付けられたアカウント名および／または連絡先情報を自動的に返信してよい。
【０１１８】
２．６．実装例
【０１１９】
図５は、実施形態に係る、プロセス３００の１つの実装例における様々なデータ構造間のインタラクションを示す。理解すべき点として、このプロセスは、開示されるアプリケーション（たとえばサーバアプリケーション１１２および／またはクライアントアプリケーション１３２）によって実装され得る。プロセスは、特定のデータ構造およびステップを用いて示されるが、より少ない、多い、または異なるデータ構造および／または異なるステップを用いて実装されてよい。
【０１２０】
ステップ３１０において収集されたイベントは最初、イベントプール５６０に格納される前に、イベントプールバッファ５５５に格納される。イベントがイベントプールバッファ５５５に追加されると、それらの各々は、それらが新しいことを示すステータスを付与され得る。加えて、イベントは、本明細書のどこかで説明されるように正規化され得る。
【０１２１】
ステップ５０５において、イベントプールバッファ５５５内のイベントは、本明細書のどこかで説明されるように、マッピングに凝集される。これらのマッピングは最初、ステップ５２０における滑らかな併合をもたらすために、小規模マッピングプールに格納される。加えて、ステップ５１０において、イベントプールバッファ５５５内のイベントにおける一意エンティティは、変更されたエンティティバッファ５７０に格納される。変更されたエンティティバッファ５７０は、イベントの日付によって区切られ得る。イベントプールバッファ内のイベントがマッピングに凝集されると、それらのステータスは、（たとえば、冗長な処理を防ぐために）それらが凝集されていること、および／またはそれらが凝集された時間を示すように変更され得る。
【０１２２】
ステップ５１５において、既存のマッピングプール５７５に格納されたマッピングは、分割されたマッピングプール５８０を生成するために、変更されたエンティティバッファ５７０に格納されたエンティティで分割される。これは、マッピング内のエンティティに基づいてマッピングプール５７５を分類すること、または変更されたエンティティバッファ５７０に格納されたそれらのエンティティに関してのみマッピングを抽出することを伴ってよい。
【０１２３】
ステップ５２０において、小規模マッピングプール５６５は、変更されたマッピングプール５８５を生成するために、分割されたマッピングプール５８０と併合される。この併合は、小規模マッピングプール５６５および分割されたマッピングプール５８０の両方に存在する各マッピングに関して、本明細書のどこかで説明されるように、結合された統計値および新たな信頼値を計算すること、およびマッピングに関する新たなエントリを、結合された統計値および信頼値とともに変更されたマッピングプール５８５に追加することを備えてよい。統計および信頼値の計算を容易にするために、プールは、アカウント（たとえば企業名）およびドメインの両方で分割され得る。小規模マッピングプール５６５のみに存在するマッピングは、単純に、それぞれの統計および信頼値とともに、変更されたマッピングプール５８５に追加され得る。
【０１２４】
ステップ５２５において、マッピングプール５７５は、変更されたマッピングプール５８５内のエントリで更新される。たとえば、変更されたマッピングプール５８５内のエントリは、マッピングプール５７５内の任意の対応するエントリを書き換えてよい。加えて、ステップ５３０において、ステップ５０５において凝集された（たとえば、凝集されたことを示すステータスを有する）イベントプールバッファ５５５内のイベントは、イベントプール５６０へ移される。
【０１２５】
理解すべき点として、プロセス３００のこの実装は、新たなイベントがイベントプールバッファ５５５に追加されると定期的に（たとえば、特定の時間間隔で、イベントプールバッファ５５５が所定のサイズに到達した時になど）行われ得る。加えて、実施形態において、マッピングプール５７５および／またはイベントプール５６０への全ての変更は、監査目的で、および／または必要であればマッピングプール５７５および／またはイベントプール５６０を以前の状態に復元または巻き戻しするために、（たとえば日付およびデータによって）ログを取られ得る。
【０１２６】
２．７．ウェブサービス例
【０１２７】
本明細書のどこかで説明されるように、プラットフォーム１１０は、たとえばサーバアプリケーション１１２の一部としてウェブサービスを実装してよい。図６は、実施形態に係る、ウェブサービスの実装の一例における様々なデータ構造間のインタラクションを示す。プロセスは、特定のデータ構造およびステップを用いて示されるが、より少ない、多い、または異なるデータ構造および／または異なるステップを用いて実装されてよい。
【０１２８】
図示するように、プラットフォーム１１０は、問合せの待ち行列６８２とインタラクトとするためのユーザインタフェース６９０および問合せを提示するためのユーザインタフェース６９５を備えるグラフィカルユーザインタフェースを提供するウェブサーバ６８０を備えてよい。ユーザは、ユーザインタフェース６９０および６９５の許可に基づいて、それらの１または両方へのアクセスを有してよい。たとえば、管理ユーザは、クライアントによって提示された問合せの待ち行列を管理するためにユーザインタフェース６９０へのアクセスを有してよく、複数のクライアントユーザは、問合せを提示するためのユーザインタフェース６９５へのアクセスを有してよい。
【０１２９】
ステップ６０５において、ユーザインタフェース６９０のユーザは、（たとえば、待ち行列６８２内の全ての問合せを閲覧するために）待ち行列６８２に関する情報への要求を提示してよい。要求は（たとえばネットワーク（複数も可）１２０を介して）ウェブサーバ６８０へ送信され、それに応じて、ステップ６１０において、ウェブサーバ６８０は、待ち行列６８６にクエリを行う。このクエリに応答して、ステップ６１５において、待ち行列６８２の表現がウェブサーバ６８０へ返信される。ウェブサーバ６８０は、その後、待ち行列６８２のレンダリング可能な表現を生成するために待ち行列６８２の表現を解析し、待ち行列６８２のレンダリング可能な表現を、（たとえば、ユーザのユーザシステム１３０のディスプレイ上での）ユーザへの視覚的提示のためにユーザインタフェース６９０へ返信する。
【０１３０】
ステップ６２５において、ユーザインタフェース６９５のユーザは、問合せを提示してよい。この問合せは、マッピングプール５７５内のマッピングのエンティティ、アカウント名、および／または他の任意の索引可能なフィールドを備えてよい。たとえば、特定のＩＰアドレスからのアクティビティの増加に気付いたユーザは、その匿名であったＩＰアドレスを特定の企業に結び付け、その後ユーザが（たとえばマーケティングまたは販売目的で）その企業へ直接接触して連絡することができるようにしたいと望み得る。したがってユーザは、ユーザインタフェース６９５を介して、匿名であったＩＰアドレスにマッピングされている企業名に関する問合せを提示してよい。問合せは、ウェブサーバ６８０へ（たとえばネットワーク（複数も可）１２０を介して）送信される。ウェブサーバ６８０は、問合せを（たとえば、それがフォーマット要件、情報要件などを満たすことを確実にするために）検証し、問合せが待ち行列６８２に既に存在するか否かをチェックしてよい。問合せが有効と認められない場合、ウェブサーバ６８０は、ユーザインタフェース６９５にエラーメッセージを返信してよい。そうではなく、問合せが有効と認められ、待ち行列６８２に未だ存在しない場合、ステップ６３０において、ウェブサーバ６８０は、この問合せを待ち行列６８２に追加する。問合せが待ち行列６８２に既に存在する場合、ウェブサーバ６８０は、この問合せを破棄してよい。あるいは、ウェブサーバ６８０は、冗長であるか否かにかかわらず、有効と認められた全ての問合せを待ち行列６８２に追加してもよい。理解すべき点として、ウェブサーバ６８０は、問合せを待ち行列６８２に追加すると、ユーザインタフェース６９５からの問合せを解析し、待ち行列６８２に追加するための新たなフォーマットに問合せを構成してよい。
【０１３１】
ステップ６３６において、待ち行列６８２の最前列にある問合せは、問合せランナ６８４へ提供される。問合せランナ６８４は、問合せをマッピングプール５７５へのクエリに変換するソフトウェアモジュールを備えてよい。したがって、ステップ６４０において、問合せランナ６８４は、マッピングプール５７５にクエリを行い、ステップ６４５において、クエリの結果を受信する。ステップ６５０において、問合せランナ６８４は、プラットフォーム１１０のローカルキャッシュを備え得る結果６８６にクエリの結果を格納する。クエリの結果は、ＪＳＯＮまたは他の任意の適当なフォーマットで結果６８６に格納され得る。
【０１３２】
ステップ６５５において、ユーザインタフェース６９５のユーザは、過去の（たとえばステップ６２５において提示された）問合せの結果への要求を提示してよい。結果は（たとえばネットワーク（複数も可）１２０を介して）ウェブサーバ６８０へ送信され、それに応じて、ステップ６６０において、ウェブサーバ６８０は、結果６８６にクエリを行う。クエリに応答して、ステップ６６５において、問合せの結果は（もしあれば）ウェブサーバ６８０へ返信される。ウェブサーバ６８０はその後、結果のレンダリング可能な表現を生成するために結果を解析し、結果のレンダリング可能な表現を、（たとえばユーザのユーザシステム１３０のディスプレイ上での）ユーザへの視覚的提示のためにユーザインタフェース６９５へ返信する。ウェブサーバ６８０は、報告のために格納されたテンプレートを用いて結果のレンダリング可能な表現を構成してよい。
【０１３３】
代替または追加の実施形態において、ユーザインタフェース６９５と同様に使用するためにＡＰＩが存在してよい。たとえば、アプリケーションは、ＡＰＩを介して（たとえばステップ６２５と同様に）問合せを提示し、それに応じて（たとえばステップ６７０と同様に）それらの問合せへの結果を受信してよい。この方法では、プラットフォーム１１０の様々なユーザのための問合せプロセスを自動化するために、（たとえば外部システム１４０によって実行される）第三者ソフトウェアが用いられ得る。
【０１３４】
開示される実施形態の上記説明は、当業者が本発明を製造または利用することができるように提供される。これらの実施形態への様々な修正は、当業者には容易に明らかであり、本明細書で説明される一般原理は、本発明の主旨および範囲から逸脱することなく他の実施形態に適用され得る。したがって、本明細書に提示された説明および図面は、本発明の目下好適な実施形態を表すものであり、本発明によって幅広く意図される主題事項を表すものであることが理解される。また、本発明の範囲は、当業者に明らかになり得る他の実施形態を全て包括するものであり、したがって本発明の範囲は限定されないことも理解される。
【０１３５】
たとえば「Ａ、Ｂ、またはＣの少なくとも１つ」、「Ａ、Ｂ、またはＣの１または複数」、「Ａ、Ｂ、およびＣの少なくとも１つ」、「Ａ、Ｂ、およびＣの１または複数」、および「Ａ、Ｂ、Ｃ、またはそれらの任意の組み合わせ」など、本明細書で説明される組み合わせは、Ａ、Ｂ、および／またはＣの任意の組み合わせを含み、複数のＡ、複数のＢ、または複数のＣを含んでよい。具体的には、たとえば「Ａ、Ｂ、またはＣの少なくとも１つ」、「Ａ、Ｂ、またはＣの１または複数」、「Ａ、Ｂ、およびＣの少なくとも１つ」、「Ａ、Ｂ、およびＣの１または複数」、および「Ａ、Ｂ、Ｃ、またはそれらの任意の組み合わせ」などの組み合わせは、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、またはＡおよびＢおよびＣであってよく、そのような任意の組み合わせは、その構成要素であるＡ、Ｂ、および／またはＣの１または複数の要素を含んでよい。たとえば、ＡおよびＢの組み合わせは、１つのＡおよび複数のＢ、複数のＡおよび１つのＢ、または複数のＡおよび複数のＢを備えてよい。
【図１】
2021508897.tif 000012
【図２】
2021508897.tif 000013
【図３】
2021508897.tif 000014
【図４Ａ】
2021508897.tif 000015
【図４Ｂ】
2021508897.tif 000016
【図５】
2021508897.tif 000017
【図６】
2021508897.tif 000018
【手続補正書】
【提出日】令和2年8月6日(2020.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするための方法であり、サーバプラットフォームの少なくとも１つのハードウェアプロセッサを用いて、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信し、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算し、ここで、前記関連付けられた複数の統計に基づいて各マッピングに関する信頼値を計算することは、
前記マッピングが導出されたイベントのタイミングを示す時間信頼値を計算することと、
前記マッピングが導出された前記イベントの頻度を示す統計的信頼値を計算することと、
前記マッピングが導出された前記イベントが受信された源である前記複数のソースの１または複数の精度を示すソース信頼値を計算することと、
前記時間信頼値、前記統計的信頼値、および前記ソース信頼値に基づいて前記信頼値を計算することと、を備え、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択し、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答する
ことを備える方法であって、
前記複数の統計は、スパンおよび遅延を備え、前記スパンは、前記マッピングが導出された前記イベントが発生した期間を示し、前記遅延は、前記マッピングが導出された直近のイベントが発生してからの期間を示し、前記時間信頼値は、
【数１】
2021508897.tif 000019
と計算される、方法。
【請求項２】
匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするための方法であり、サーバプラットフォームの少なくとも１つのハードウェアプロセッサを用いて、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信し、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算し、ここで、前記関連付けられた複数の統計に基づいて各マッピングに関する信頼値を計算することは、
前記マッピングが導出されたイベントのタイミングを示す時間信頼値を計算することと、
前記マッピングが導出された前記イベントの頻度を示す統計的信頼値を計算することと、
前記マッピングが導出された前記イベントが受信された源である前記複数のソースの１または複数の精度を示すソース信頼値を計算することと、
前記時間信頼値、前記統計的信頼値、および前記ソース信頼値に基づいて前記信頼値を計算することと、を備え、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択し、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答する
ことを備える方法であって、
前記複数の統計は、拡散および強度を備え、前記拡散は、前記マッピングが導出された前記イベントが発生した期間の数を示し、前記強度は、前記マッピングが導出されたイベントの数を示し、前記統計的信頼値は、
ｗｅｉｇｈｔｓｔｒｅｎｇｔｈ＊ｌｏｇ１０００（ｓｔｒｅｎｇｔｈ）＋ｗｅｉｇｈｔｓｐｒｅａｄ＊ｌｏｇ１００（ｓｐｒｅａｄ）
と計算され、式中、ｗｅｉｇｈｔｓｔｒｅｎｇｔｈおよびｗｅｉｇｈｔｓｐｒｅａｄは、合計して１になる一定値である、方法。
【請求項３】
ｗｅｉｇｈｔｓｔｒｅｎｇｔｈおよびｗｅｉｇｈｔｓｐｒｅａｄはともに０．５に等しい、請求項２に記載の方法。
【請求項４】
匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするための方法であり、サーバプラットフォームの少なくとも１つのハードウェアプロセッサを用いて、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信し、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算し、ここで、前記関連付けられた複数の統計に基づいて各マッピングに関する信頼値を計算することは、
前記マッピングが導出されたイベントのタイミングを示す時間信頼値を計算することと、
前記マッピングが導出された前記イベントの頻度を示す統計的信頼値を計算することと、
前記マッピングが導出された前記イベントが受信された源である前記複数のソースの１または複数の精度を示すソース信頼値を計算することと、
前記時間信頼値、前記統計的信頼値、および前記ソース信頼値に基づいて前記信頼値を計算することと、を備え、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択し、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答する
ことを備える方法であって、
前記ソース信頼値は、
【数２】
2021508897.tif 000020
と計算され、各ｓｏｕｒｃｅ＿ｃｏｎｆｉｄｅｎｃｅｓは、前記マッピングが導出された前記イベントが受信された源である前記１または複数のソースの１つに関するソース信頼値を表す、方法。
【請求項５】
前記少なくとも１つのハードウェアプロセッサを用いて、前記複数のソースの各々に関して、
前記複数のソースのうち少なくともＮ個によるイベントから各々が導出されたマッピングの真のセットを識別することであって、Ｎは２以上であることと、
前記ソースから受信されたイベントから導出されたマッピングのソースセットと前記マッピングの真のセットとの間の重複を識別することと、
前記マッピングのソースセットと前記マッピングの真のセットとの間の前記識別された重複に基づいて、前記ソースに関する前記ソース信頼値を計算することと
によって、前記ソースに関する前記ソース信頼値を計算することを更に備える、請求項４に記載の方法。
【請求項６】
匿名インターネットプロトコル（ＩＰ）アドレスを匿名でなくするための方法であり、サーバプラットフォームの少なくとも１つのハードウェアプロセッサを用いて、
各々がオンラインアクティビティを表し、ＩＰアドレスおよびイベント情報を備える、複数のソースからの複数のイベントを受信し、
前記複数のイベントのサブセットを、各々が、前記複数のイベントのサブセットによって共有された前記ＩＰアドレスをアカウントに関連付け、前記イベントのサブセットに関する複数の統計に関連付けられた複数のマッピングに凝集し、
前記複数のマッピングの各々に関して、前記関連付けられた複数の統計に基づいて前記マッピングに関する信頼値を計算し、ここで、前記関連付けられた複数の統計に基づいて各マッピングに関する信頼値を計算することは、
前記マッピングが導出されたイベントのタイミングを示す時間信頼値を計算することと、
前記マッピングが導出された前記イベントの頻度を示す統計的信頼値を計算することと、
前記マッピングが導出された前記イベントが受信された源である前記複数のソースの１または複数の精度を示すソース信頼値を計算することと、
前記時間信頼値、前記統計的信頼値、および前記ソース信頼値に基づいて前記信頼値を計算することと、を備え、
前記複数のマッピングに関する前記信頼値に基づいて、前記複数のマッピングの最終サブセットを選択し、
要求されるＩＰアドレスを備える１または複数の要求に、前記要求されるＩＰアドレスに関して前記マッピングの最終サブセットを検索し、前記マッピングの最終サブセット内の前記要求されるＩＰアドレスに関連付けられたアカウントの指示を返信することによって応答する
ことを備える方法であって、
前記信頼値は、
ｗｅｉｇｈｔ１（ｃｏｎｆｓｏｕｒｃｅ＋（１−ｃｏｎｆｓｏｕｒｃｅ）ｃｏｎｆｓｔａｔ）＋ｗｅｉｇｈｔ２（ｃｏｎｆｔｉｍｅ）
と計算され、ｃｏｎｆｓｏｕｒｃｅは前記ソース信頼値であり、ｃｏｎｆｓｔａｔは前記統計的信頼値であり、ｃｏｎｆｔｉｍｅは前記時間信頼値であり、ｗｅｉｇｈｔ１およびｗｅｉｇｈｔ２は、合計して１になる一定値である、方法。
【請求項７】
ｗｅｉｇｈｔ１は０．７に等しく、ｗｅｉｇｈｔ２は０．３に等しい、請求項６に記載の方法。
【国際調査報告】
2021508897.tif 000021