JP2023546131A - クライアント側デバイス・ブルーム・フィルタ・マッピング - Google Patents
クライアント側デバイス・ブルーム・フィルタ・マッピング Download PDFInfo
- Publication number
- JP2023546131A JP2023546131A JP2023523072A JP2023523072A JP2023546131A JP 2023546131 A JP2023546131 A JP 2023546131A JP 2023523072 A JP2023523072 A JP 2023523072A JP 2023523072 A JP2023523072 A JP 2023523072A JP 2023546131 A JP2023546131 A JP 2023546131A
- Authority
- JP
- Japan
- Prior art keywords
- personal information
- app
- client
- client device
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013507 mapping Methods 0.000 title claims description 4
- 230000015654 memory Effects 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 7
- 238000006243 chemical reaction Methods 0.000 abstract description 6
- 238000005259 measurement Methods 0.000 abstract description 2
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 230000002085 persistent effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 150000003839 salts Chemical class 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009938 salting Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
ターゲットを絞ったメッセージが、クライアント・デバイスにインストールされた、しかし個人データをクライアント・デバイスからリモート・デバイスに送信せずに動作する、アプリを介してサーバからクライアント・デバイスに送信される。ブルーム・フィルタが、ターゲット視聴者に関するデータから作成され、アプリにロードされる。ユーザ・ログインは、ユーザ識別子に基づくターゲットを絞ったメッセージへのブルーム・フィルタに対して解決される。このようにして、ターゲットを絞ったメッセージを配信するための処理は、リモート・デバイスではなくて、クライアント・デバイスで実行され、それにより、個人情報はクライアント・デバイスから出ない。リアルタイムのビュースルー及びクリックスルー測定が、統合されたモバイル・ネットワークへの変換イベントを始動することによって、実行される。
Description
本出願は、2021年10月16日に出願した米国仮特許出願第63/092,990号の利益を主張する。当該出願は、参照によりその全部が本明細書に組み込まれている。
発明の分野は、クライアント・デバイスのユーザに関する個人情報をそのデバイスから送信せずにクライアント・デバイスへのターゲットを絞ったメッセージングを可能にするためにクライアント・デバイスでマッピングを実行することである。
従来のターゲットを絞ったメッセージングは、ユーザからの個人情報(PI:personal information)がユーザの電子デバイス(コンピュータ、スマートフォン、タブレットなど)からこのクライアント・デバイスとリモート通信しているサーバに送信されることを必要とする。このリモート・デバイスは、ターゲットを絞ったメッセージを送りたい関係者によって操作され得る、又は、ターゲットを絞ったメッセージを送りたい関係者にサービスを提供する、サプライ・サイド・プラットフォーム(SSP:supply-side platform)、デマンド・サイド・プラットフォーム(DSP:demand-side platform)又は他のネットワークでもよい。しばしば、それによって情報がユーザの電子デバイスから送信される手段は、ソフトウェア開発キット(SDK:software development kit)、デバイスにインストールされたソフトウェア・アプリケーション又は「アプリ」にバンドルされたライブラリ、である。
究極的には、電子デバイスのオペレーティング・システムを発行及び維持する関係者は、任意のアプリの能力を制御してユーザの電子デバイスから任意のリモート・デバイスにPIを送る。たとえば、Apple Computerは、会社のiPhone(登録商標)スマートフォン及びiPad(登録商標)タブレット・デバイスで使用されるiOSオペレーティング・システムを発行し、Microsoft Corporationは、多数のパーソナル・コンピュータで使用されるウインドウズ・オペレーティング・システムを発行している。もし、これらの会社又は他のオペレーティング・システム・プロバイダが、オペレーティング・システムがリモート・デバイスにインストールされたクライアント・デバイスからPIを送るためのアプリの能力を制限するやり方で彼らのオペレーティング・システム又はオペレーティング・システム・ポリシを修正した場合には、この能力に依存するアプリは、適切に機能しなくなることになり、ターゲットを絞ったメッセージをユーザが見ることができる電子デバイスに提供するためにもう機能しなくなることになる。
ワールド・ワイド・ウェブを通して利用可能なサービスの非常に多く及びインターネットを通して対話するアプリの非常に多くは、ユーザに無料で与えられている。これらのサービス及びアプリを提供するための資金は、これらのターゲットを絞ったメッセージを送りたい関係者から得られるため、したがって、これらのサービス及びアプリのビジネス・モデルは、ターゲットを絞ったメッセージを電子デバイスのユーザに配信する能力に依存する。ターゲットを絞ったメッセージを送る能力なしには、ユーザが依存するこれらのサービス及びアプリの多数は、収益の損失により経済的に実現不可能になることになり、それにより消えることになる。したがって、これらの電子デバイスのユーザは、彼らが現在楽しんでいるサービス及びアプリを失うという不利益を被ることになる。同様に、メッセージはまだ現れることになるが、それらのメッセージは、ターゲットを絞ったものではなくなり、したがって、クライアント・デバイスに向けられたターゲットを絞ったメッセージよりもユーザには興味のないものになる。これと同じ理由で、これらのメッセージは、メッセージを配信する権利を購入した関係者にとっての価値が下がり、そのため、そのようなアプリの品質及び数量は低下することになる。
オペレーティング・システムが、ユーザ電子デバイスからリモート・デバイスへのPIの送信を制限する場合、そのとき、ユーザ電子デバイスからリモート・デバイスにPIが送信されることを必要としないターゲットを絞ったメッセージを提供するためのシステム及び方法を開発することが望ましい、ということを本発明者は認識した。しかしながら、クライアント・デバイスからPIを送信せずに、先に論じた問題を回避するためには、メッセージのターゲティングを行うことができる、何らかの手段が存在しなければならない。
本背景技術のセクションで述べられた参考文献は、本発明に関する先行技術であることを承認されていない。
本発明は、ターゲットを絞ったメッセージをクライアント・デバイスにインストールされたアプリを介してリモート電子デバイスからユーザ電子デバイス(すなわち、クライアント・デバイス)に提供するが、PIをクライアント・デバイスからリモート・デバイスに送信せずに動作する、システム及び方法を対象とする。本発明のある種の実装形態では、1セットのブルーム・フィルタが、ターゲットを絞ったメッセージを送りたい者に関するデータから作成される。ある種の実施例では、これらは、ユーザ・デバイスのグループへの効率的な、ターゲットを絞ったダウンロードのために、特定のアプリ・バンドル識別子にマップされ得る。ブルーム・フィルタは、クライアント・デバイスのアプリにデータを送信するための合理的な帯域幅及びストレージ制限が満たされ得るような、非常に空間効率的なデータ構造体である。ユーザ・ログイン/マッチした識別子が、ユーザ識別子に基づいて、ターゲットを絞ったメッセージへのブルーム・フィルタのセットに対して解決され得る。このようにして、マッチするPIに基づいてターゲットを絞ったメッセージを配信するための処理は、リモート・デバイスではなくて、クライアント・デバイスで実行される。処理は、クライアント・デバイスでローカルに実行されるので、PIとのすべてのマッチングがローカルに実行されるとき、PIはクライアント・デバイスを出る必要はない。ある種の実装形態では、リアルタイムのビュースルー及びクリックスルー測定が、統合されたモバイル・ネットワークへの変換イベントを始動し、それにより、ターゲットを絞ったメッセージングの有効性の分析をPIをリモート・デバイスに提供せずに行うことによって、実行され得る。
本明細書に記載の本発明のある種の実装形態は、いくつかの利点を提供する。第1に、PIは、クライアント・デバイスを決して出ないので、クライアント・デバイスのユーザのプライバシは、決して危険に晒されない。したがって、通信ネットワークを介して送信される又はリモート・デバイスに記憶されるPIは存在しないので、ユーザは、リモート・デバイスへの通信中に維持されるセキュリティ対策に頼る又はリモート・デバイスにおけるデータ漏洩に関して心配する必要はない。第2に、考えられるあらゆるアプリのために別個のセットを提供するのではない、非常に効率的なブルーム・フィルタの使用、並びに特定のアプリ・バンドル識別子の使用は、本手法の帯域幅及びストレージ要件を大きく制限し、制限されたストレージ及び帯域幅で動作するスマートフォン及び類似のデバイスについてそれらを実用的にする。第3に、リモート・デバイスへのPIの送信が、適用可能なオペレーティング・システムによってもはや促進されない場合でも、本発明のこれらの実装形態は、ターゲットを絞ったメッセージを送信してそれを行い続けたい者のための能力を提供し、このようにして、ユーザへの無料のサービス及びアプリの経済的実現可能性が、維持され得る。
本発明のこれらの及び他の特徴、目的及び利点は、以下に説明する図面と併せて好ましい実施例の以下の詳細な説明を考慮することから、よりよく理解されよう。
本発明についてさらに詳しく説明する前に、本発明の範囲は、後続の非仮特許出願における請求項によってのみ制限されることになるので、本発明は、本明細書のいずれかのセクションで説明された特定の実施例に制限されないということと、特定の実施例の説明で使用される用語は、それらの特定の実施例を単に説明することを目的としており、制限することは意図されていないということと、を理解されたい。
一般的に言って、どのくらいのデータがリモート・デバイスから単一のクライアント・デバイスに又はクライアント・デバイスの特定のアプリにプッシュされ得るかに関する制約が存在する。これらの制限は、オペレーティング・システム又は個々のアプリによって強制され得る。したがって、特定のアプリ又はクライアント・デバイスに配信されるデータを最小限にするために、本発明のある種の実装形態は、アプリ発行者とターゲットを絞ったメッセージを彼らのアプリのユーザに提供したい者との間の「マッチメイキング」を可能にする予備ステップを使用する。1つの実例において、ターゲットを絞ったメッセージを配信したい者は、彼らの所望のメッセージング視聴者と高度な重複を有することになると彼らが信じるアプリ・バンドル(すなわち、特定のアプリ・グループ)の選択のオプションを与えられ得る。この重複は、過去の露出/属性情報によって円滑にされ得る。一部の事例では、1つのオペレーティング・システムが、もう1つのためのプロキシとして使用され得、たとえば、多数の非アップル・スマートフォンで使用されるアンドロイド(登録商標)・オペレーティング・システムからのデータは、そのオペレーティング・システムを通して入手可能なデータに基づいてアップル・ブランドのスマートフォンに関するiOS重複のプロキシとして使用され得る。ある種の実装形態において、単一のグループが、同じデバイス上に存在する同じ購入者からの複数のアプリについて作られ得、このことは、特定のクライアント・デバイスがそれらの複数のアプリをインストールした場合に、ストレージ及び帯域幅要件をさらに減らす、複数のアプリの共用ストレージの可能性を開く。互いに補完することを意図された複数のアプリをアプリ開発者はしばしば発行したので、これはよくあることである。
このマッチメイキングを円滑にするために、ターゲットを絞ったメッセージを配信したい者は、DSP又は他のネットワークによって維持されたサーバから図1に示すようなウェブベースのディスプレイ10を提示され得る。ディスプレイは、カテゴリ12、たとえば、「ファッション及びライフスタイル」、「エンターテインメント及びアート」、及び「ニュース及び現在のイベント」、に基づくアプリの様々なグループに分類する、ということが理解されよう。オプションが、セグメント及び価格情報14とともに、カテゴリに基づいて視聴者に提示される。視聴者(たとえば、マーケタ又はブランド所有者)は、次いで、ディスプレイ10においてグラフィカル・ユーザ・インターフェースを介して視聴者選択を行う。
視聴者ベースのメッセージ・ターゲティングの核心は、入手可能な印象に基づいて、ターゲットを絞ったメッセージを送りたい関係者にとって印象が興味深いか否かを決定することである。言い換えれば、ターゲットを絞ったメッセージを受信することになっているユーザが1セットのメンバであるかどうかである。したがって、対象のユーザからの識別子で作成されたブルーム・フィルタが、特定のユーザからの識別子を検査してセットのメンバシップを決定するために、使用され得る。ブルーム・フィルタは、所与の要素がある状態にあるかどうかを決定するための探索を可能にするデータ構造体である。ブルーム・フィルタのマイナス面は、それが確率的データ構造体であるということであり、したがって、ブルーム・フィルタは、要素が確かにセット内にないか又はセット内にあるかもしれないかを決定することができるが、ブルーム・フィルタは、要素が実際にセット内にあるということを100%の確実性で決定することはできない。ブルーム・フィルタ及びブルーム・フィルタにおける特定の名の探索の一実例が、図2に示されている。
図2に示すように、ブルーム・フィルタの基本構造は、ビット・ベクトル又は表20である。表20におけるそれぞれの空のセルは、ビットを表し、指数に関連する。フィルタ入力22のように要素をブルーム・フィルタに追加するために、それは、ハッシュされ、ビットは、1へのそれらのハッシュのインデックスにおいてビット・ベクトル20内に設定される。文字列が追加されるとき、ハッシュによって与えられたインデックスにおけるビットは、1に設定される。次いでビット・ベクトルにおけるフィルタ・クエリ24のメンバシップを検査するために、文字列は、同じハッシュ関数でハッシュされ、次いで、それらの値がビット・ベクトル20において設定されているかどうかが、決定される。それらのビットが、設定されていない場合、そのとき、要素24はセット内にないということを確実に知ることができる。しかしながら、それらのビットが設定されている場合、そのとき、別の要素が同じビットを設定した可能性があるので、要素24はセット内にあるかもしれないということだけを知ることができる。この構造は、所望のデータが確かにセット内にある可能性に関する確実性を犠牲にすることによって、それを行うが、この構造は、関連データのすべてを完全に記憶する従来のデータ構造体よりもはるかに少ないストレージ空間を必要とする、ということが理解されよう。
ブルーム・フィルタの偽陽性率は、データ構造体のサイズを増やすことによって、修正することができ、したがって、ブルーム・フィルタの使用は、アプリ又はクライアント・デバイスについて可能にされるストレージ空間の所与の制限内で精度を最大にするやり方で、本明細書に記載の実装形態が調整されることを可能にする。ブルーム・フィルタの偽陽性率は、おおよそ(1-e-kn/m)kであり、kは、使用されるハッシング関数の数であり、mは、ブルーム・フィルタのビットの数であり、nは、フィルタに挿入されることが期待される要素の数である。したがって、m及びnの特定の値を所与として、ハッシュ関数の数(すなわち、kの値)を最適化するための公式は、k=(m/n)ln(2)である。
識別子のリモート解決サービスは、本出願では利用不可能になるので、従来の識別子又はサーバ側の秘密のソルトは、使用することはできない。それでもなお、アプリの発行者に入手可能なデータ、たとえば、電子メール・アドレス又は電話番号、が存在すると思われることになる。したがって、ブルーム・フィルタは、電子メール・アドレス、電話番号、又はその両方などのデータを使用し得る。しかしながら、これらのようなデータ要素はPIであるので、これらの入力の開示を防ぐための管理が行われる。PI項目は、ハッシュされること(たとえば、SHA256アルゴリズムを使用するなどして)及びソルトされることによって、暗号化される。そのソルトは、不注意の開示から他のワークフローを保護するために、他のソルトとは別にされる。モバイル環境(すなわち、クライアント・デバイスがスマートフォン及び類似のデバイスである場合)において、ソルトは、サーバ側の秘密として記憶される。秘密は、デバイスでのピン止めされた証明書を活用する安全な(SSL/TLS)接続を介する接続によって、デバイスから取得することができる。デバイスが脱獄及びルート化されない限り、トラフィックのいずれかを傍受することは不可能であることになる。サーバ側の秘密ソルトは、基礎的データを保護して、特定の視聴者へと規則的に回転させる及び/又は結び付けることができる。ある種の実装形態において、PIの項目は、異なるアルゴリズムを使用する複数のハッシュの対象、たとえば、SHA1/SHA256/MD5ハッシュ・トリプレット、でもよい。このことは、マッチの信頼性を上げる(偽陽性率を下げる)ことになるが、ブルーム・フィルタ・データ構造体のサイズを大きくすることにもなる。
属性をサポートするために、ハッシュ暗号化プロセスから生じるトークンは、グループ識別子を前に付ける(又は他の方法で識別若しくは関連付ける)ことができる。これは、変換信号に後で組み込むことができるユーザ(たとえば、約100)の小さいが同定不可能なセットの指示である。
ターゲティング・メッセージを送ろうとする関係者が、それのメッセージでその関係者がターゲットとしたい識別子のリストを提供するとき、そのとき、従来のID解決が、それらのユーザについてのDSP自体の内部リンケージを見つけるために使用され得る。DSPが、これらのグループ内の個人のIDを明確に解決することができるように、DSPは、通常は、消費者、世帯、又は会社のリンク又は識別子を保持する。たとえば、これは、DSPが同じ名を有する異なる人々を明確に解決すること、或いは知られている2つの異なる名にもかかわらず単一の人であるとして彼又は彼女の名を変更した人(たとえば、結婚の結果)を適切に識別することを可能にする。1つのそのようなID解決システムは、カリフォルニア州サン・フランシスコのLiveRamp,Inc.によって提供されるAbiliTecサービスである。この解決が完了した後は、アペンド/エンリッチメント・ステップが、すべての利用可能なプレーンテキスト識別子をリンケージと関連付けるために、実行され得る。最後に、プレーンテキスト識別子は、トークン化/暗号化され得、対応するブルーム・フィルタの作成のために使用され得る。このプロセスを示す図式が、図3に示されており、プロセスは、この事例では、LiveRamp技術を使用している。
顧客関係管理(CRM:customer relationship management)視聴者データ30で開始して、この入力は、解決プロバイダ32に提供される。解決ステップ34において、CRM視聴者データ30が、特定のリンクへの視聴者のメンバを解決するために使用される。これらは、次いで、ハッシュされた電子メール、ハッシュされた電話番号、又はその両方にアペンド・ステップ36においてマップされ、データ構造体にアペンドされる。データ構造体は、次いで、トークン化ステップ38で匿名化される。結果として生じるデータは、次いで、モデル・ステップ40において実際のブルーム・フィルタを作成するために、使用される。起動ステップ42で、ブルーム・フィルタが、様々なアプリで使用するためにパートナに分配される。これらは、次いで、アプリがユーザによってダウンロードされるとき、ユーザ電子デバイス44に最終的に分配されることになる。
そのように作成されたブルーム・フィルタを受け入れるために、それぞれのアプリは、先ず、ターゲットを絞ったメッセージ処理に割り当てられるストレージの量を構成し、この空間の利用可能性をサーバに通信する。図4の時系列の実例では、時間50に、アプリは、それが10MBの空きを有するということをサーバに通信し返す。時間52に、サーバは、次いで、前述のように作成されたブルーム・フィルタにアプリ・バンドルをマッチさせ、ブルーム・フィルタでタイム・トゥー・ライブを設定する。この実例では、作成されたブルーム・フィルタは、2.1MBのサイズを有し、2021年1月1日まで「良い」と考えられる。アプリは、次いで、時間54において、都合の良いときに、たとえば、Wi-Fiに接続され、クライアント・デバイスが外部電源にプラグインされたときなどに、バンドルのダウンロードを試みる。これは、たとえば、時間56に示すように、この時間のクライアント・デバイスでの性能の損失に関連するユーザ体験の悪化を最小限に抑えるために、真夜中に時間を決められ得る。フィルタ自体が、アプリ又はアプリケーション・バンドル内で利用可能な分割されたストレージにダウンロードされる。iOSでは、たとえば、アプリ及びそれらのSDKは、大量のデータ、たとえば、ネットワーク・サーバに従来の方式で記憶されたデータ、のロードに関する予約をしてあることになる。したがって、ある種の実装形態において、キャンペーンは、所与の瞬間に最も貴重な視聴者のみを優先するために、発行者の特定の保証された金額(PG:particular guaranteed dollar amount)で「入札」することになる。最後に、時間58に、ブルーム・フィルタは、それ自体の終了日に従って失効しており、アプリから駆除される。
図4に示す1つの特定の実装形態において、gzipファイル・フォーマットが、圧縮のために使用され得る。所望の視聴者セグメントを含むジージップ済みブルーム・フィルタは、以下の表1に示すように構築することができ、未加工データと結果として生じるブルーム・フィルタとの間の圧縮率が一番右の列に示されている:
次いで、アプリが、10MB(非圧縮)ストレージをデバイスでのターゲットを絞ったメッセージングに捧げる場合、それは、たとえば、10k MD5入力の847視聴者、100k MD5入力の87視聴者、1M MD5入力の9視聴者、10M MD5入力の1視聴者、又は100k MD5入力の8視聴者に加えた1M MD5入力の3視聴者の組合せをサポートし得る、ということが分かり得る。様々な実装形態において、ジージップ済みフィルタが、Wi-Fiを介して毎夜又は毎週ダウンロードされ得、キャンペーン満了時間を設定され得る。
次いで、アプリが、10MB(非圧縮)ストレージをデバイスでのターゲットを絞ったメッセージングに捧げる場合、それは、たとえば、10k MD5入力の847視聴者、100k MD5入力の87視聴者、1M MD5入力の9視聴者、10M MD5入力の1視聴者、又は100k MD5入力の8視聴者に加えた1M MD5入力の3視聴者の組合せをサポートし得る、ということが分かり得る。様々な実装形態において、ジージップ済みフィルタが、Wi-Fiを介して毎夜又は毎週ダウンロードされ得、キャンペーン満了時間を設定され得る。
ここで図5を参照すると、ブルーム・フィルタの使用のためにアプリにおいて生じる処理が記述され得る。電子メール・アドレス又は電話番号59などのPIを保持する発行者は、それをトークン化ルーチン60においてトークンを作成するための機能に渡すことになる。このトークンは、ブルーム・フィルタのセット62に対して問い合わせることができる。既に記したように、ブルーム・フィルタは、広告交換66への広告要求64を介してこれを返して、ユーザが何らかの信頼区間におけるセット内にあるか否かの確率的結果を与えることになる。広告交換66は、DSP68と通信する。たとえば、ある種の実装形態において、ブルーム・フィルタは、ユーザがセット内にあるということを99.9%の信頼度で決定し得る。やはり前述したように、この間隔は、ストレージ及び精度ニーズに応じて、調整することができる。ユーザがマッチする場合、SDKは、広告要求64からその特定のメッセージ視聴者と対応する既定義の取引識別子にフラグを付けることになる。そうでない場合、オークションが、それなしに進行することになる。ターゲットを絞ったメッセージを送ろうとするそれらのDSP68は、それらの取引識別子が入札要求に含まれるか、及び所望のユーザがクライアント・デバイスに関連していることを、高度な信頼性で、知ることになるが、PIは、この決定を行うためにデバイスの外に送られない。セットのすべてのメンバを列挙する試みを防ぎ、それによって、このシステムの本質的プライバシを回避するために、ある種の実装形態では、ブルーム・フィルタへのコールは、このタイプの総当たり攻撃によってフィルタを「破る」ことを実行不可能にするために、速度制限メータの後に置かれ得る。
配信後属性が、図6に関して記述され得る。デバイスでのマッチングを有して、ターゲットを絞ったメッセージングの配信の後のユーザ属性は、本質的に制限される。それでもなお、記録レベル・イベントは、本発明のある種の実装形態においてリアルタイムでさらにサポートされ得る。システムは、リモート・デバイスにユーザ識別子又はプロキシを介して送ることはできない。しかしながら、ユーザが、ターゲットを絞ったメッセージ80を供給され、たとえば、アプリ発行者によって提供された表示内の適切なエリアをクリックすること又は表示されたメッセージ80を単純に見ることによって、応答するとき、次いで、変換イベント82が、メッセージ80のSDKサーバへ始動される。その変換イベント82は、ユーザ識別情報を含むことはできないが、これに関連して知識を与える他の方法を含み得る。ある種の実例では、この情報は、トークン化に関して前述したようなグループ識別子、バンドル識別子、取引識別子、タイムスタンプ、及び、ターゲットを絞ったメッセージングに関連するクリエイティブ・ユニットを含み得る。PIがリモート・デバイスに送られないこと及びユーザのIDがこれらの追加属性の包含を通して合理的に確認され得ないことを条件として、他のタイプの情報が、代替実装形態において使用され得る。リアルタイムの報告を可能にすることによって、ターゲットを絞ったメッセージの送信を要求する関係者は、個人でなければ、集団レベルで変換に関係する「アクティブ」イベント及び「パッシブ」イベントの両方をマップすることをより上手くできる。そのような情報は、データベース84におけるその後の分析のために記憶され得る。
本明細書に記載の実装形態において、及び様々な代替実装形態において、本発明は、ハードウェア及びソフトウェアの任意の組合せによって、実装され得る。たとえば、1つの実施例では、システム及び方法は、プロセッサに結合されたコンピュータ可読記憶媒体に記憶されたプログラム命令を実行する1つ又は複数のプロセッサをそれぞれが含む、コンピュータ・システム又はコンピュータ・システムのコレクションによって実装され得る。プログラム命令は、本明細書に記載の機能性を実装し得る。図に示された及び本明細書に記載された様々なシステム及びディスプレイは、例示的実装形態を表す。任意の方法の順番が、変更され得、様々な要素が、追加、修正、又は省略され得る。
本明細書に記載のコンピューティング・システム又はコンピューティング・デバイスは、本発明の様々な実装形態の部分を形成するものとして、クラウド・コンピューティング・システム又は非クラウド・コンピューティング・システムのハードウェア部分を実装し得る。コンピュータ・システムは、商品サーバ、パーソナル・コンピュータ・システム、デスクトップ・コンピュータ、ラップトップ又はノートブック・コンピュータ、メインフレーム・コンピュータ・システム、ハンドヘルド・コンピュータ、ワークステーション、ネットワーク・コンピュータ、消費者デバイス、アプリケーション・サーバ、ストレージ・デバイス、電話、携帯電話、或いは、一般に、任意のタイプのコンピューティング・ノード、計算ノード、計算デバイス、及び/又はコンピューティング・デバイスを含むが、これらに制限されない、様々なタイプのデバイスのいずれかでもよい。コンピューティング・システムは、入力/出力(I/O)インターフェースを介してシステム・メモリに結合された1つ又は複数のプロセッサ(それらのいずれかは、シングル又はマルチスレッドでもよい、複数の処理コアを含み得る)を含む。コンピュータ・システムはさらに、I/Oインターフェースに結合されたネットワーク・インターフェースを含み得る。
様々な実施例において、コンピュータ・システムは、1つのプロセッサを含むシングル・プロセッサ・システム、又は複数のプロセッサを含むマルチプロセッサ・システムでもよい。プロセッサは、コンピューティング命令を実行する能力を有する任意の適切なプロセッサでもよい。たとえば、様々な実施例において、プロセッサは、様々な命令セット・アーキテクチャのいずれかを実装する汎用又は組み込みプロセッサでもよい。マルチプロセッサ・システムにおいて、プロセッサのそれぞれは、一般に、しかし必ずではなく、同じ命令セットを実装し得る。コンピュータ・システムはまた、通信ネットワーク、たとえば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネット、を介して他のシステム及び/又は構成要素と通信するための1つ又は複数のネットワーク通信デバイス(たとえば、ネットワーク・インターフェース)を含む。たとえば、コンピューティング・デバイスで実行するクライアント・アプリケーションは、単一のサーバで或いは様々なサブシステムにおいて実装されるものとしてクラウド・コンピューティング又は非クラウド・コンピューティング環境における本明細書に記載のシステムの構成要素のうちの1つ又は複数を実装するサーバのクラスタで実行するサーバ・アプリケーションと通信するために、ネットワーク・インターフェースを使用し得る。別の実例では、コンピュータ・システムで実行するサーバ・アプリケーションのインスタンスは、他のコンピュータ・システムで実装され得るアプリケーションの他のインスタンスと通信するために、ネットワーク・インターフェースを使用し得る。
コンピューティング・デバイスはまた、1つ又は複数の永続記憶デバイス及び/又は1つ又は複数のI/Oデバイスを含む。様々な実施例において、永続記憶デバイスは、ディスク・ドライブ、テープ・ドライブ、ソリッド・ステート・メモリ、他の大容量記憶デバイス、又は任意の他の永続記憶デバイスに対応し得る。コンピュータ・システム(或いは、そこで動作する分散アプリケーション又はオペレーティング・システム)は、要望通りに、命令及び/又はデータを永続記憶デバイスに記憶することができ、必要に応じて、記憶された命令及び/又はデータを取得することができる。たとえば、いくつかの実施例では、コンピュータ・システムは、制御プレーン又は制御システムの1つ又は複数のノードを実装することができ、永続ストレージは、そのサーバ・ノードにアタッチされたSSDを含むことができる。複数のコンピュータ・システムが、同じ永続記憶デバイスを共用することができる、又は、永続記憶デバイスのプールを共用することができ、プール内のデバイスは、同じ又は異なるストレージ技術を表す。
コンピュータ・システムは、プロセッサによってアクセス可能なコード/命令及びデータを記憶することができる1つ又は複数のシステム・メモリを含む。システム・メモリは、たとえば、アクセス速度に基づいてメモリ内の情報をスワップするように設計されたシステム内の複数のレベルのメモリ及びメモリ・キャッシュを含み得る。インターリーブ及びスワップは、仮想メモリ実装形態における永続ストレージにまで及び得る。メモリを実装するための技術は、例として、スタティック・ランダム・アクセス・メモリ(RAM)、ダイナミックRAM、リードオンリ・メモリ(ROM)、不揮発性メモリ、又はフラッシュ・タイプ・メモリを含み得る。永続ストレージと同様に、複数のコンピュータ・システムが、同じシステム・メモリを共用することができる、又はシステム・メモリのプールを共用することができる。1つ又は複数のシステム・メモリは、本明細書に記載のルーチンを実装するためにプロセッサによって実行可能なプログラム命令を含むことができる。様々な実施例において、プログラム命令は、2値、アセンブリ言語、Java(登録商標)などの任意のインタープリタ型言語、C/C++などのコンパイル型言語、又はその任意の組合せでエンコードすることができ、本明細書に示された特定の言語は、単に実例である。いくつかの実施例では、プログラム命令は、複数の別個のクライアント、サーバ・ノード、及び/又は他の構成要素を実装することができる。
いくつかの実装形態では、プログラム命令は、様々なオペレーティング・システム、たとえば、UNIX(登録商標)、LINUX、Solaris(商標)、MacOS(商標)、又はMicrosoft Windows(登録商標)(商標)、のいずれかでもよい、オペレーティング・システム(図示せず)を実装するために実行可能な命令を含むことができる。プログラム命令のいずれか又はすべては、様々な実装形態によるプロセスを実行するためのコンピュータ・システム(又は他の電子デバイス)をプログラムするために使用され得る、命令が記憶された非一時的コンピュータ可読記憶媒体を含み得る、コンピュータ・プログラム製品又はソフトウェアとして提供され得る。非一時的コンピュータ可読記憶媒体は、マシン(たとえば、コンピュータ)によって読める形(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶するための任意の機構を含み得る。一般的に言って、非一時的コンピュータ・アクセス可能媒体は、磁気又は光媒体、たとえば、I/Oインターフェースを介してコンピュータ・システムに結合されたディスク又はDVD/CD-ROM、などのコンピュータ可読記憶媒体又はメモリ媒体を含み得る。非一時的コンピュータ可読記憶媒体はまた、システム・メモリ又は別のタイプのメモリとしてコンピュータ・システムのいくつかの実施例に含まれ得るRAM又はROMなどの任意の揮発性又は不揮発性媒体を含み得る。他の実装形態において、プログラム命令は、たとえばネットワーク・インターフェースを介して実装され得る、ネットワーク及び/又はワイヤード若しくはワイヤレス・リンクなどの通信媒体を介して運搬される光、音響又は他の形の伝播信号(たとえば、キャリア波、赤外線信号、デジタル信号など)を使用して、通信され得る。ネットワーク・インターフェースは、他のコンピュータ・システム又は任意のタイプの外部電子デバイスを含み得る、他のデバイスとインターフェースするために使用され得る。一般に、システム・メモリ、永続ストレージ、及び/又は、ネットワークを介して他のデバイスでアクセス可能なリモート・ストレージは、データ・ブロック、データ・ブロックの複製、データ・ブロック及び/又はそれらの状態に関連するメタデータ、データベース構成情報、及び/又は、本明細書に記載のルーチンを実装する際に使用可能な任意の他の情報を記憶することができる。
ある種の実装形態において、I/Oインターフェースは、ネットワーク・インターフェース又は他の周辺インターフェースを介するものを含んで、プロセッサ、システム・メモリ、及びシステム内の任意の周辺デバイスの間のI/Oトラフィックを調整し得る。いくつかの実施例では、I/Oインターフェースは、別の構成要素(たとえば、プロセッサ)によって使用するのに適したフォーマットに1つの構成要素(たとえば、システム・メモリ)からのデータ信号を変換するために、任意の必要なプロトコル、タイミング又は他のデータ媒体変換を実行し得る。いくつかの実施例では、I/Oインターフェースは、たとえば、様々なタイプの周辺バス、たとえば、PCI(Peripheral Component Interconnect)バス規格又はユニバーサル・シリアル・バス(USB)規格の異形、を介してアタッチされたデバイスのサポートを含み得る。また、いくつかの実施例では、I/Oインターフェースの機能性のうちのいくらか又はすべて、たとえば、システム・メモリへのインターフェース、は、プロセッサに直接に組み込まれ得る。
ネットワーク・インターフェースは、ネットワークにアタッチされたコンピュータ・システム及び他のデバイス、たとえば、他のコンピュータ・システム(本明細書に記載のデータベース・システムの1つ又は複数のストレージ・システム・サーバ・ノード、1次ノード、読み取り専用ノード、及び/又はクライアントを実装し得る)、の間でデータが交換されることを可能にし得る。加えて、I/Oインターフェースは、コンピュータ・システム及び様々なI/Oデバイス及び/又はリモート・ストレージの間の通信を可能にし得る。いくつかの実施例では、入力/出力デバイスは、1つ又は複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、スキャン・デバイス、音声又は光学的認識デバイス、或いは、1つ又は複数のコンピュータ・システムによってデータを入力又は取得するのに適した任意の他のデバイスを含み得る。これらは、特定のコンピュータ・システムに直接接続し得る、或いは、一般に、クラウド・コンピューティング環境、グリッド・コンピューティング環境、又は、複数のコンピュータ・システムを含む他のシステムにおいて複数のコンピュータ・システムに接続し得る。複数の入力/出力デバイスが、コンピュータ・システムとの通信に含まれ得る、或いはコンピュータ・システムを含む分散システムの様々なノードに分散され得る。本明細書に記載のユーザ・インターフェースは、CRTディスプレイ、LCDディスプレイ、LEDディスプレイ、及び他のディスプレイ技術を含み得る、様々なタイプのディスプレイ画面を使用して、ユーザに可視であり得る。いくつかの実装形態では、入力は、タッチ画面技術を使用するディスプレイを介して受信され得、他の実装形態では、入力は、キーボード、マウス、タッチパッド、又は他の入力技術、或いはこれらの技術の任意の組合せを介して受信され得る。
いくつかの実施例では、類似の入力/出力デバイスは、コンピュータ・システムから分離してもよく、ワイヤード又はワイヤレス接続を介して、たとえば、ネットワーク・インターフェースを介して、コンピュータ・システムを含む分散システムの1つ又は複数のノードと対話し得る。ネットワーク・インターフェースは、一般に、1つ又は複数のワイヤレス・ネットワーキング・プロトコル(たとえば、Wi-Fi/IEEE802.11、又は別のワイヤレス・ネットワーキング規格)をサポートし得る。ネットワーク・インターフェースは、たとえば他のタイプのイーサネット(登録商標)・ネットワークなど、任意の適したワイヤード又はワイヤレス一般データ・ネットワークを介する通信をサポートし得る。加えて、ネットワーク・インターフェースは、アナログ音声ネットワーク又はデジタル・ファイバ通信ネットワークなどの電気通信/電話ネットワークを介する、ファイバ・チャネルSANなどのストレージ・エリア・ネットワークを介する、或いは任意の他の適切なタイプのネットワーク及び/又はプロトコルを介する通信をサポートし得る。
本明細書に記載の分散システム実施例のいずれか、又はそれらの構成要素のいずれかは、クラウド・コンピューティング環境において1つ又は複数のネットワークベースのサービスとして実装され得る。たとえば、データベース・システムのデータベース層内の読み取り/書き込みノード及び/又は読み取り専用ノードは、ネットワークベースのサービスとしてクライアントに本明細書に記載の分散型ストレージ・システムを使用するデータベース・サービス及び/又は他のタイプのデータ・ストレージ・サービスを提示し得る。いくつかの実施例では、ネットワークベースのサービスは、ネットワークを介して相互運用可能なマシン対マシンの対話をサポートするように設計されたソフトウェア及び/又はハードウェア・システムによって、実装され得る。ウェブ・サービスは、マシン処理可能なフォーマット、たとえば、ウェブ・サービス記述言語(WSDL)、で記述されたインターフェースを有し得る。他のシステムは、ネットワークベースのサービスのインターフェースの記述によって規定された方式でネットワークベースのサービスと対話することができる。たとえば、ネットワークベースのサービスは、他のシステムが呼び出すことができる様々な動作を定義することができ、様々な動作を要求するときに他のシステムがそこに準拠することを期待され得る、特定のアプリケーション・プログラミング・インターフェース(API)を定義することができる。
様々な実施例において、ネットワークベースのサービスは、ネットワークベースのサービス要求に関連するパラメータ及び/又はデータを含むメッセージの使用を通して、要求され得る又は呼び出され得る。そのようなメッセージは、拡張マークアップ言語(XML)などの特定のマークアップ言語に従ってフォーマットされ得る、及び/又は、シンプル・オブジェクト・アクセス・プロトコル(SOAP)などのプロトコルを使用して、カプセル化され得る。ネットワークベースのサービス要求を実行するために、ネットワークベースのサービス・クライアントは、要求を含むメッセージをアセンブルし、ハイパ・テキスト転送プロトコル(HTTP)などのインターネットベースのアプリケーション層転送プロトコルを使用して、ウェブ・サービスに対応するアドレス可能なエンドポイント(たとえば、ユニフォーム・リソース・ロケータ(URL))にメッセージを運搬することができる。いくつかの実施例では、ネットワークベースのサービスは、メッセージベースの技法ではなくてREST(Representational State Transfer)技法を使用して、実装され得る。たとえば、REST技法に従って実装されたネットワークベースのサービスは、PUT、GET、又はDELETEなどのHTTP方法に含まれたパラメータを介して、呼び出され得る。
特に明記しない限り、本明細書で使用されるすべての技術的及び科学的用語は、本発明が属する技術分野の当業者によって一般に理解されるものと同じ意味を有する。本明細書に記載のものと類似又は同等の任意の方法及び材料は、本発明の実施又は検査でも使用することができるが、限られた数の例示的方法及び材料が、本明細書には記載されている。もっと多数の修正形態が、本明細書の発明の概念を逸脱せずに、可能である、ということが当業者には明らかとなろう。
本明細書で使用されるすべての用語は、文脈と一致する最も広義の可能なやり方で解釈されるべきである。グループが、本明細書で使用されるとき、そのグループのすべての個々のメンバ並びにそのグループの可能なすべての組合せ及び部分的組合せが、個々に含まれることが意図されている。範囲が、本明細書で述べられるとき、範囲は、すべての部分的範囲及び範囲内の個々のポイントを含むことを意図されている。本明細書で引用されたすべての参考文献は、本明細書の開示との不一致が存在しない限り、参照により本明細書に組み込まれている。
Claims (16)
- クライアント側マッピングのためのシステムであって、
命令のシーケンスを記憶する少なくとも1つのデータ・サービス・メモリに結合された少なくとも1つのデータ・サービス・プロセッサであって、前記命令は、実行されたとき、
ハッシング・アルゴリズムを使用して、個人情報項目のセットを形成する複数の個人情報項目を暗号化すること、及び、
各暗号化された個人情報項目に対応するインデックスにおいてビット・ベクトル内にビットが設定される複数のビットを含む前記ビット・ベクトルを含むブルーム・フィルタを構築すること
を前記データ・サービス・プロセッサに実行させる、少なくとも1つのデータ・サービス・プロセッサと、
前記データ・サービス・プロセッサに電子的にリンクされた通信ネットワークと、
前記通信ネットワークに電子的にリンクされたクライアント・デバイスと
を備え、前記クライアント・デバイスが、ディスプレイと、アプリ・データ・ストレージ・エリアと、命令のシーケンスを記憶する少なくとも1つのクライアント・メモリに結合された少なくとも1つのクライアント・プロセッサとを備え、前記命令は、実行されたとき、
前記通信ネットワークを横断して前記データ・サービス・プロセッサから前記ブルーム・フィルタを受信すること、
前記ブルーム・フィルタをアプリ・データ・ストレージ・エリアに記憶すること、
前記ハッシング・アルゴリズムに従って個人情報のクライアント側項目をハッシュして、個人情報のローカルにハッシュされた項目を含むトークンを製作すること、
前記ブルーム・フィルタの前記ビット・ベクトルを探索して、前記トークンの前記ビット・ベクトル内のビットでヒットが生じるかを決定すること、
ヒットが前記トークンの前記ビット・ベクトル内のビットで生じる場合、前記ディスプレイ上でターゲットを絞ったメッセージを設定すること、及び、前記個人情報のローカルにハッシュされた項目の前記ビット・ベクトル内のビットでヒットが生じない場合には、前記ディスプレイ上でターゲットを絞ったメッセージを設定しないこと
を前記クライアント・プロセッサに実行させる、システム。 - 前記データ・サービス・メモリの命令のシーケンスが、実行されたとき、さらに、前記少なくとも1つのデータ・サービス・プロセッサに複数のアプリ・バンドルを構築させ、前記クライアント・デバイスの前記アプリ・データ・ストレージ・エリアが、前記アプリ・バンドルに関連している、請求項1に記載のシステム。
- 前記複数のアプリ・バンドルのうちの少なくとも1つが、共通の発行者によって開発された複数のアプリを含む、請求項2に記載のシステム。
- 前記複数の個人情報項目のそれぞれが、電話番号又は電子メール・アドレスである、請求項1に記載のシステム。
- 前記クライアント・メモリの命令のシーケンスが、実行されたとき、さらに、前記個人情報のクライアント側項目をユーザが入力するための前記ディスプレイ上のプロンプトを前記少なくとも1つのクライアント・デバイス・プロセッサにグラフィックで生成させる、請求項1に記載のシステム。
- 前記クライアント・メモリの命令のシーケンスが、実行されたとき、さらに、前記少なくとも1つのクライアント・デバイス・プロセッサに前記個人情報のローカルにハッシュされた項目に関連するグループ識別子を前記トークンに追加させる、請求項1に記載のシステム。
- それぞれのグループ識別子が、1セットのグループ識別子から引き出され、前記セットのグループ識別子のうちのそれぞれのグループ識別子が、ユーザのグループに一意に関連している、請求項6に記載のシステム。
- 前記データ・サービス・メモリの命令のシーケンスが、実行されたとき、さらに、前記少なくとも1つのデータ・サービス・プロセッサに、前記データ・サービス・プロバイダにおいてターゲットを絞ったメッセージを送ろうとする関係者によって操作されるメッセージング・サーバから1セットのターゲット識別子を受信させ、前記セットのターゲット識別子に対してID解決を実行して1セットのリンクを作成し、前記リンクのそれぞれが、前記少なくとも1つのデータ・サービス・プロセッサと通信しているID解決データベース内の特定のユーザに一意に関連している、請求項1に記載のシステム。
- クライアント側マッピングのためのコンピュータ化された方法であって、
データ・サービス・プロバイダ・サーバにおいて、ハッシング・アルゴリズムを使用して、個人情報項目のセットを形成する複数の個人情報項目を暗号化するステップと、
各暗号化された個人情報項目に対応するインデックスにおいてビット・ベクトル内にビットが設定される複数のビットを含む前記ビット・ベクトルを含むブルーム・フィルタを構築するステップと、
通信ネットワークを横断して前記データ・サービス・プロバイダ・サーバからクライアント・デバイスに前記ブルーム・フィルタをプッシュし、前記クライアント・デバイスで少なくとも1つのアプリに関連するアプリ・データ・ストレージ・エリアに前記ブルーム・フィルタを記憶するステップと、
前記アプリから個人情報のクライアント側項目を受信するステップと、
前記ハッシング・アルゴリズムに従って前記個人情報のクライアント側項目をハッシュして個人情報のローカルにハッシュされた項目を含むトークンを製作するステップと、
前記ブルーム・フィルタの前記ビット・ベクトルを探索して、前記トークンの前記ビット・ベクトル内のビットでヒットが生じるかを決定するステップと、
ヒットが前記トークンの前記ビット・ベクトル内のビットで生じる場合、前記アプリを使用して前記クライアント・デバイスのディスプレイ上でターゲットを絞ったメッセージを設定し、前記個人情報のローカルにハッシュされた項目の前記ビット・ベクトル内のビットでヒットが生じない場合には、前記クライアント・デバイスの前記ディスプレイ上でターゲットを絞ったメッセージを設定しないステップと
を含む、方法。 - 前記データ・サービス・プロバイダ・サーバにおいて複数のアプリ・バンドルを構築するステップをさらに含み、前記クライアント・デバイス上の前記少なくとも1つのアプリに関連するアプリ・データ・ストレージ・エリアが、前記アプリ・バンドルに関連している、請求項9に記載の方法。
- 前記複数のアプリ・バンドルのうちの少なくとも1つが、共通の発行者によって開発された複数のアプリを含む、請求項10に記載の方法。
- 前記複数の個人情報項目のそれぞれが、電話番号又は電子メール・アドレスである、請求項9に記載の方法。
- 前記アプリから前記個人情報のクライアント側項目を受信する前記ステップがさらに、前記個人情報のクライアント側項目をユーザが入力するための前記クライアント・デバイスのディスプレイ上のプロンプトをグラフィックで生成するステップをさらに含む、請求項9に記載の方法。
- 前記トークンがさらに、前記個人情報のローカルにハッシュされた項目に関連するグループ識別子を含む、請求項9に記載の方法。
- それぞれのグループ識別子が、1セットのグループ識別子から引き出され、前記セットのグループ識別子のうちのそれぞれのグループ識別子が、ユーザのグループに一意に関連している、請求項14に記載の方法。
- 前記データ・サービス・プロバイダにおいてターゲットを絞ったメッセージを送ろうとする関係者によって操作されるメッセージング・サーバから1セットのターゲット識別子を受信するステップ、及び前記セットのターゲット識別子に対してID解決を実行して1セットのリンクを作成するステップをさらに含み、前記リンクのそれぞれが、前記データ・サービス・プロバイダ・サーバと通信しているID解決データベース内の特定のユーザに一意に関連している、請求項9に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063092990P | 2020-10-16 | 2020-10-16 | |
US63/092,990 | 2020-10-16 | ||
PCT/US2021/054554 WO2022081560A1 (en) | 2020-10-16 | 2021-10-12 | Client-side device bloom filter mapping |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023546131A true JP2023546131A (ja) | 2023-11-01 |
Family
ID=81208627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023523072A Pending JP2023546131A (ja) | 2020-10-16 | 2021-10-12 | クライアント側デバイス・ブルーム・フィルタ・マッピング |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230388120A1 (ja) |
EP (1) | EP4229576A1 (ja) |
JP (1) | JP2023546131A (ja) |
CA (1) | CA3195744A1 (ja) |
WO (1) | WO2022081560A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116258524B (zh) * | 2023-03-14 | 2024-02-02 | 深圳乐信软件技术有限公司 | 基于布隆过滤器的广告投放方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110288932A1 (en) * | 2010-05-21 | 2011-11-24 | Inedible Software, LLC, a Wyoming Limited Liability Company | Apparatuses, systems and methods for determining installed software applications on a computing device |
US8478768B1 (en) * | 2011-12-08 | 2013-07-02 | Palo Alto Research Center Incorporated | Privacy-preserving collaborative filtering |
US11157944B2 (en) * | 2013-09-13 | 2021-10-26 | Liveramp, Inc. | Partner encoding of anonymous links to protect consumer privacy |
US10430830B2 (en) * | 2015-06-16 | 2019-10-01 | Samsung Electronics Co., Ltd. | Advertisement selection using uncertain user data |
-
2021
- 2021-10-12 US US18/031,399 patent/US20230388120A1/en active Pending
- 2021-10-12 WO PCT/US2021/054554 patent/WO2022081560A1/en active Application Filing
- 2021-10-12 CA CA3195744A patent/CA3195744A1/en active Pending
- 2021-10-12 JP JP2023523072A patent/JP2023546131A/ja active Pending
- 2021-10-12 EP EP21880900.2A patent/EP4229576A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3195744A1 (en) | 2022-04-21 |
US20230388120A1 (en) | 2023-11-30 |
EP4229576A1 (en) | 2023-08-23 |
WO2022081560A1 (en) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250418B2 (en) | Updating digital wallet assets | |
US11050690B2 (en) | Method for providing recording and verification service for data received and transmitted by messenger service, and server using method | |
US10346826B2 (en) | Blockchain and deep links for mobile apps | |
WO2016184298A1 (zh) | 一种应用推广方法、服务器及终端、存储介质 | |
US11449888B2 (en) | Reconciliation of disjoint user identifier spaces | |
US9830139B2 (en) | Application experience sharing system | |
US9998534B2 (en) | Peer-to-peer seed assurance protocol | |
CN109521956B (zh) | 一种基于区块链的云存储方法、装置、设备及存储介质 | |
CN111226199B (zh) | 用于基于区块链的通知的系统和方法 | |
US20220337562A1 (en) | Connecting Web Publisher Inventory to Programmatic Exchanges without Third-Party Cookies | |
US20240086897A1 (en) | Hybrid organizational system for data management and tracking | |
JP2023546131A (ja) | クライアント側デバイス・ブルーム・フィルタ・マッピング | |
US20190075018A1 (en) | Managing a generation and delivery of digital identity documents | |
US20200051078A1 (en) | Fair transaction ordering in blockchains | |
CN113259353A (zh) | 信息处理方法、装置和电子设备 | |
US20100250708A1 (en) | Digital media referral and distribution | |
CN116166514A (zh) | 多渠道数据联动处理方法、装置、计算机设备和存储介质 | |
CN110781523B (zh) | 用于处理信息的方法和装置 | |
WO2023150122A1 (en) | On-device identity resolution software development kit | |
US11270332B1 (en) | Provisioning of text message with updatable object | |
US20120303518A1 (en) | Method and system for distributing and paying for content on social networks | |
US11750570B1 (en) | Decentralized messaging inbox | |
US20240223540A1 (en) | Privacy preserving data sharing for campaigns | |
KR101728945B1 (ko) | 사용자들간의 관계의 존재를 판단하는 시스템 및 방법 | |
CN115964743A (zh) | 用户标识以及用户信息的处理方法、装置、设备及介质 |