(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】複数のウェブサーバに亘るプライバシ保護を伴うユーザ識別の強化
(51)【国際特許分類】
G06F 21/62 20130101AFI20240403BHJP
H04L 67/02 20220101ALI20240403BHJP
【FI】
G06F21/62 345
H04L67/02
G06F21/62 363
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023559120
(86)(22)【出願日】2022-04-06
(85)【翻訳文提出日】2023-09-26
(86)【国際出願番号】 US2022023742
(87)【国際公開番号】W WO2022216881
(87)【国際公開日】2022-10-13
(32)【優先日】2021-04-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520038806
【氏名又は名称】ファンプレイヤー インク.
【氏名又は名称原語表記】FANPLAYR INC.
(74)【代理人】
【識別番号】100114476
【氏名又は名称】政木 良文
(72)【発明者】
【氏名】サンカラ, ラジブ
(72)【発明者】
【氏名】エンケン, サイモン
(72)【発明者】
【氏名】アデルマン, デレク
(57)【要約】
【解決手段】
本技術は、複数のウェブサイトに亘って訪問者アイデンティティ情報の共有を制限し、訪問者のブラウザにおいて訪問したウェブサイト・サーバから、ブラウザ内で実行され、プライバシIDサーバ及び訪問者識別を求めるサードパーティ・アプリとインタフェースするプライバシ・スクリプトを有するページを受信することを教示する。ブラウザで実行されるプライバシ・スクリプトは、訪問者IDを含むファーストパーティ・クッキーを取り出し、クッキーをプライバシIDサーバに転送し、プライバシIDサーバから、訪問したサイトとアプリの内の1つのサイト・バイ・アプリ固有IDを受信し、それぞれのサーバのサイト・バイ・アプリ固有IDをそれぞれのサードパーティ・アプリに提供し、しかし、訪問者IDはそれらのアプリには提供されず、それによって、訪問したサイトへの再訪問時に訪問者の追跡は可能にするが、複数のサイトに亘る訪問者の識別は容易にはしない。訪問者のためのサイト・バイ・アプリ固有IDは、ウェブサイトとサードパーティのアプリとの異なるペア間で区別でき且つ相関関係がない。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のウェブサイトに亘る訪問者アイデンティティ情報の共有を制限する方法であって、
訪問者のブラウザにおいて訪問したウェブサイト・サーバから、前記訪問者のブラウザ内で実行され、プライバシIDサーバと直接的または間接的にインタフェースするプライバシ・スクリプトを含み、前記訪問者の識別を要求する1または複数のサードパーティ・アプリを含むウェブページを受信すること、
前記ブラウザ内で実行される前記プライバシ・スクリプトが、訪問者IDを含むファーストパーティ・クッキーを取り出すこと、
前記プライバシ・スクリプトが、前記ファーストパーティ・クッキーの少なくとも一部を前記プライバシIDサーバに直接的または間接的に転送すること、
前記プライバシ・スクリプトが、前記ウェブサイトと前記サードパーティ・アプリの異なるペアに対して区別でき且つ相関関係のない前記訪問者のためのサイト・バイ・アプリ固有IDであって、前記訪問したウェブサイトと前記サードパーティ・アプリの1つに対するサイト・バイ・アプリ固有IDを、前記プライバシIDサーバから受信すること、及び、
前記プライバシ・スクリプトが、前記サードパーティ・アプリに前記訪問者IDを提供せずに、それぞれのサイト・バイ・アプリ固有IDをそれぞれのサードパーティ・アプリに提供し、それによって、前記訪問したウェブサイトへの繰り返し訪問時に前記訪問者の追跡を可能にするが、複数のウェブサイトに亘る前記訪問者の識別は容易にしないことを含む、
ことを特徴とする方法。
【請求項2】
前記ブラウザにおいて実行される前記プライバシ・スクリプトが、前記プライバシIDサーバに転送するために、前記クッキーの前記少なくとも一部を前記サーバに転送し、前記プライバシIDサーバによって生成された前記サイト・バイ・アプリ固有IDを前記サーバから受信する請求項1に記載の方法。
【請求項3】
前記ブラウザにおいて実行される前記プライバシ・スクリプトが、前記クッキーの前記少なくとも一部を前記プライバシIDサーバに転送し、前記プライバシIDサーバから前記サーバのサイト・バイ・アプリ固有IDを受信する請求項1に記載の方法。
【請求項4】
複数のウェブサイトに亘る訪問者アイデンティティ情報の前記共有が、サードパーティ・クッキーの削除に続いて行われる請求項1に記載の方法。
【請求項5】
1または複数のプロセッサ及び前記プロセッサに結合されたメモリを含むサーバ・システムであって、前記メモリには、前記プロセッサ上で実行されると、前記サーバ・システムに、請求項1に記載の方法を実行させる命令がロードされていることを特徴とするサーバ・システム。
【請求項6】
前記ブラウザにおいて実行される前記プライバシ・スクリプトが、前記プライバシIDサーバに転送するために、前記クッキーの前記少なくとも一部を前記サーバに転送し、前記プライバシIDサーバによって生成された前記サイト・バイ・アプリ固有IDを前記サーバから受信する請求項5に記載のサーバ・システム。
【請求項7】
前記ブラウザにおいて実行される前記プライバシ・スクリプトが、前記クッキーの前記少なくとも一部を前記プライバシIDサーバに転送し、前記プライバシIDサーバから前記サーバのサイト・バイ・アプリ固有IDを受信する請求項5に記載のサーバ・システム。
【請求項8】
複数のウェブサイトに亘る訪問者アイデンティティ情報の前記共有が、サードパーティ・クッキーの削除に続いて行われる請求項5に記載のサーバ・システム。
【請求項9】
サーバ上で実行されると、請求項5に記載のサーバ・システムに請求項1に記載の方法を実行させる命令がロードされていることを特徴とする有形の不揮発性コンピュータ可読記憶媒体。
【請求項10】
前記ブラウザにおいて実行される前記プライバシ・スクリプトが、前記クッキーの前記少なくとも一部を前記プライバシIDサーバに転送し、前記プライバシIDサーバから前記サーバのサイト・バイ・アプリ固有IDを受信する請求項9に記載の有形の不揮発性コンピュータ可読記憶媒体。
【請求項11】
複数のウェブサイトに亘る訪問者アイデンティティ情報の前記共有が、サードパーティ・クッキーの削除に続いて行われる請求項9に記載の有形の不揮発性コンピュータ可読記憶媒体。
【請求項12】
複数のウェブサーバに亘ってユーザ・アイデンティティをマスキングする方法であって、
ブラウザ内で実行され、暗号IDサーバと直接的または間接的にインタフェースする暗号IDスクリプトを含み、更に1または複数のアプリを含むウェブページを、サーバから受信すること、
前記ブラウザ内で実行される前記暗号IDスクリプトが、ユーザIDを含むクッキーを取り出すこと、
前記暗号IDスクリプトが、前記クッキーの少なくとも一部を前記暗号IDサーバに直接または間接的に転送すること、
前記暗号IDスクリプトが、前記暗号IDサーバから、ユーザ、前記ウェブサーバ、及び前記アプリの別個のトリプレットに対して区別でき且つ相関関係のないサーバ・バイ・アプリ固有IDであって、訪問したウェブサイトのためのサーバ・バイ・アプリ固有IDと、前記アプリのうちの1つとを受信すること、及び、
前記暗号IDスクリプトが、前記アプリに前記ユーザIDを提供することなく、それぞれのサーバ・バイ・アプリ固有IDをそれぞれのアプリに提供することを含む、
ことを特徴とする方法。
【請求項13】
前記ブラウザ内で実行される前記暗号IDスクリプトが、前記暗号IDサーバに転送するために、前記クッキーの前記少なくとも一部を前記サーバに転送し、前記暗号IDサーバによって生成された前記サーバ・バイ・アプリ固有IDを前記サーバから受信する請求項12に記載の方法。
【請求項14】
前記ブラウザ内で実行される前記暗号IDスクリプトが、前記クッキーの前記少なくとも一部を前記暗号IDサーバに転送し、前記暗号IDサーバから前記サーバ・バイ・アプリ固有IDを受信する請求項12に記載の方法。
【請求項15】
1または複数のプロセッサ及び前記プロセッサに結合されたメモリを含むサーバ・システムであって、前記メモリには、前記プロセッサ上で実行されると、前記サーバ・システムに、請求項12に記載の方法を実行させる命令がロードされていることを特徴とするサーバ・システム。
【請求項16】
前記ブラウザ内で実行される前記暗号IDスクリプトが、前記暗号IDサーバに転送するために、前記クッキーの前記少なくとも一部を前記サーバに転送し、前記暗号IDサーバによって生成された前記サーバ・バイ・アプリ固有IDを前記サーバから受信する請求項15に記載のサーバ・システム。
【請求項17】
前記ブラウザ内で実行される前記暗号IDスクリプトが、前記クッキーの前記少なくとも一部を前記暗号IDサーバに転送し、前記暗号IDサーバから前記サーバ・バイ・アプリ固有IDを受信する請求項15に記載のサーバ・システム。
【請求項18】
サーバ上で実行されると、請求項15に記載のサーバ・システムに請求項12に記載の方法を実行させる命令がロードされていることを特徴とする有形の不揮発性コンピュータ可読記憶媒体。
【請求項19】
前記ブラウザ内で実行される前記暗号IDスクリプトが、前記暗号IDサーバに転送するために、前記クッキーの前記少なくとも一部を前記サーバに転送し、前記暗号IDサーバによって生成された前記サーバ・バイ・アプリ固有IDを前記サーバから受信する請求項18に記載の有形の不揮発性コンピュータ可読記憶媒体。
【請求項20】
前記ブラウザ内で実行される前記暗号IDスクリプトが、前記クッキーの前記少なくとも一部を前記暗号IDサーバに転送し、前記暗号IDサーバから前記サーバ・バイ・アプリ固有IDを受信する請求項18に記載の有形の不揮発性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
<優先権主張>
本出願は、2021年4月7日出願の「複数のウェブサーバに亘るプライバシ保護を伴うユーザ識別の強化」と題する米国仮特許出願第62/172,036号(代理人事件整理番号:FANP 1001-1)の利益を主張する、2022年3月14日出願の「複数のウェブサーバに亘るプライバシ保護を伴うユーザ識別の強化」と題する米国特許出願第17/694,587号(代理人事件整理番号:FANP 1001-2)に対する優先権を主張する。
<関連する事件>
【0002】
本出願は、2021年3月8日出願の「セグメンテーション・アズ・ア・サービスのための方法及びシステム」と題する米国特許出願第17/195,475号(代理人事件整理番号:FANP 1000-9)と関連する。
【0003】
本出願はまた、2018年6月27日出願の「セグメンテーション・アズ・ア・サービスのための方法及びシステム」と題する米国特許出願第17/195,475号(現在は、2021年3月23日発行の米国特許10,958,743号)と関連する。
【0004】
該関連する事件は、すべての目的のために参照により本明細書に組み込まれる。
【背景技術】
【0005】
ブラウザのベンダは、プライバシを重要な焦点とし始めている。プライバシを確保し、インターネット上の至る所でのユーザの追跡を制限するために、ユーザは、クッキーの寿命、サードパーティ・クッキーの有効期限、URL装飾、さらにはユーザのプライバシに有害であると考えられる追跡スクリプトを完全にブロックすることに対して制限を導入した。来年(2021年)には、サードパーティ・クッキーのサポートがなくなる。つまり、殆どの追跡サービスは、ユーザを意味のある方法で追跡するための苦戦に直面することになる。
【0006】
多くの競合する提案が行われており、大規模広告ネットワーク/ソリューション・プロバイダは、様々な識別メカニズムを提案している。提案の殆どは、複数のサイトに亘ってユーザを追跡することを目的としており、広告ネットワークの現状を維持しようとするものである。このアプローチは、多くのネットワーク及びパブリッシャに依存して、それを有用にするためにサインアップする。より大きな「標準」は、エンドユーザがサードパーティ・サイト上に単一のアカウントを作成し、その後、すべてのパブリッシャ・サイト上でそのアカウントを使用してログインすることを期待するものである。これは、「Google でサインイン」または「Facebook でサインイン」することに相当する。
【0007】
広告ネットワークやサイト上のサードパーティ・スクリプトが直面している最大の課題の1つは、クッキーを使用してユーザを追跡できなくなることである。これは、ユーザを各訪問に亘って効果的に識別することがもはやできないことを意味する。
【0008】
複数のウェブサーバに亘るユーザIDのマスキングを含む、ブラウザベンダによって行われる変更の意図に従う方法で、ユーザのプライバシを維持しながら、サイトがサードパーティ・サービスを活用し続けることを支援する機会が生じる。
【発明の概要】
【0009】
開示された技術は、サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有を制限することに関する。これは、訪問者のブラウザ内で実行され且つプライバシIDサーバと直接的または間接的にインタフェースするプライバシ・スクリプトを含み、訪問者の識別を要求する1または複数のサードパーティ・アプリを含む訪問者のブラウザのウェブページを、訪問したウェブサイトのサーバから受信することを含む。開示される方法はまた、訪問者IDを含むファーストパーティ・クッキーを取り出すブラウザ内で実行されるプライバシ・スクリプトを含み、該プライバシ・スクリプトはファーストパーティ・クッキーの少なくとも一部をプライバシIDサーバに直接的または間接的に転送し、該プライバシ・スクリプトは、ウェブサイトとサードパーティ・アプリの異なるペアに対して区別でき且つ相関関係のない訪問者のためのサイト・バイ・アプリ固有IDをプライバシIDサーバから受信する。さらに、サードパーティ・アプリに訪問者IDを提供せずに、それぞれのサーバのサイト・バイ・アプリ固有のIDをそれぞれのサードパーティ・アプリに提供することが含まれ、それによって、訪問したウェブサイトへの繰り返し訪問時に訪問者を追跡することが可能になるが、複数のウェブサイトに亘って訪問者の識別を容易にすることはできない。また、サイトの訪問者に、そのサイト及びそのサイト上の任意及びすべてのサードパーティ・アプリに対して有効な「追跡するな」または「私を忘れて」等のサービスを提供する機能も含まれる。開示されるシステムは、データ交換を確実にするためにサービスをマッピングするのを助けることに加えて、任意のウェブサイトのためのユーザ識別のアービタをさらに含む。
【0010】
複数のウェブサーバに亘ってユーザ・アイデンティティをマスキングするシステム及び方法は、ブラウザ内で実行され、暗号IDサーバと直接的または間接的にインタフェースする暗号IDスクリプトを含み、更に1または複数のアプリを含むウェブページを、サーバから受信することを含む。また、ユーザIDを含むクッキーを取り出すブラウザで実行される暗号IDスクリプト、クッキーの少なくとも一部を暗号IDサーバに直接または間接的に転送する暗号IDスクリプト、及び、暗号IDサーバから、ユーザ、ウェブサーバ、及びアプリの別個のトリプレットに対して区別でき且つ相関関係のないサーバ・バイ・アプリ固有のIDを受信する暗号IDスクリプトも、開示される。更に、ユーザIDをアプリに提供することなく、それぞれのサーバ・バイ・アプリ固有のIDをそれぞれのアプリに提供することが開示される。
【0011】
この文脈で使用されるように、ウェブサイトは、デスクトップ・マシン、モバイル・デバイス、及び、IoTデバイス上のブラウザのみならず、iOS及びAndroidプラットフォーム上のモバイル・アプリも参照する。
【0012】
開示された技術の特定の態様は、特許請求の範囲、明細書、及び図面に記載される。
【図面の簡単な説明】
【0013】
添付の図面は例示目的のためのものであり、本発明の1または複数の実施態様のための考えられる構造及び処理動作の例を提供するためにのみ役立つ。これらの図面によって、本開示の精神及び範囲から逸脱することなく、当業者がなし得る形態及び詳細における如何なる変形は、決して制限されることはない。本発明内容のより完全な理解は、以下の図面と併せて考慮される場合に、詳細な説明及び特許請求の範囲を参照することによって得ることができ、図面において、同様の参照番号は、図面全体にわたって同様の要素を指す。
【0014】
【
図1】開示された技術の一実施態様による、サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有及び履歴共有を制限するための例示的な実施形態のブロック図を示す。
【0015】
【
図2】サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有及び履歴共有を制限するための処理のメッセージ図を示す。
【0016】
【
図3】サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有及び履歴共有を制限するための代替処理のメッセージ図を示す。
【0017】
【
図4】暗号IDスクリプトを使用して、複数のウェブサイトに亘ってユーザ・アイデンティティをマスキングする別の方法のメッセージ図を示す。
【0018】
【
図5】開示された技術の一実施態様による、サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有及び履歴共有の制限を実施するのに適した例示的なシステムのブロック図を示す。
【発明を実施するための形態】
【0019】
以下の詳細な説明は、図面を参照して行われる。例示的な実施態様は、特許請求の範囲によって定義されるその範囲を限定するものではなく、開示された技術を例示するために記載される。当業者であれば、以下の説明に対して様々な等価な変形を認識するのであろう。
【0020】
サイト上の広告ネットワーク及びサードパーティ・スクリプトは、ブラウザが設定した現在の制約を考慮すると、サードパーティ・クッキーを使用してユーザを追跡することはもはやできなくなる。これは、各訪問に亘ってユーザを効果的に識別することがもはやできないことを意味する。多くのブラウザ制限が設定され、計画されているため、殆どのサードパーティ・サービスはユーザの識別に苦労する。
【0021】
拡張ユーザ識別(Enhanced User Identification:EUI)のための開示された技術は、プライバシIDを利用して、サードパーティ・サービスに固有ユーザIDを提供し、ブラウザ内及びリアルタイムで、サードパーティ・サービスがユーザをより良く識別し、ファーストパーティ・データを利用するのを助ける。EUIは、サーバ側、HTTP、安全な、及び同一サイトのクッキーを使用して実装され、各訪問に亘って効果的にユーザを識別する。各サードパーティAPIキーに対してプライバシIDのマッピングされた固有IDを生成し維持することによって、開示された技術は、サードパーティ・スクリプトが個別に訪問履歴を追跡する必要性を除去する。開示された技術は、サードパーティ・アプリのウェブサイト・フットプリントのサイズの縮小をもたらすことができ、これは、サードパーティ・クッキーの無い世界において劇的に拡大し得る。
【0022】
開示されたプライバシID技術は、任意のウェブサイトのためのユーザ識別のアービタであり、サービス間のデータ交換を保証するためのサービスのマッピングを支援するシステムである。このシステムを使用すると、サイト上のサードパーティ・サービスは、複数のサイトに亘ってユーザを追跡するための単一IDを生成することなく、それらのサービスを維持するために必要に応じて、リピート・ユーザを引き続き識別することが可能になり、従って、ユーザにプライバシを提供し、データがファースト・パーティのままであることを保証する。開示されたシステムを使用して、ウェブサイトは、訪問者のプライバシを保護しながら、ウェブサイトに統合された複数のサービスに亘って、ユーザ、新規、及びリピートを識別することを可能にする単一の統合を使用して、それらのファーストパーティ・データの品質に焦点を当て、それを向上させることができる。
【0023】
プライバシIDのための開示された技術は、特定のウェブサイト及びブラウザ上のユーザを識別し、各サービスと共有されるべきユーザIDの固有のサービス特有バージョンを維持する。これにより、ウェブサイトは、どのサービスがユーザIDにアクセスできるかを制御できるようになり、Fanplayrが複数のウェブサイトに亘ってユーザを識別することを回避するため、ユーザのプライバシが尊重される。次に、複数のウェブサイトに亘って訪問者アイデンティティ情報の共有を制限し、複数のウェブサーバに亘ってユーザ・アイデンティティをマスキングするための例示的なシステムについて説明する。
<アーキテクチャ>
【0024】
図1は、情報の共有を制限し、サードパーティ・クッキーの削除に続いて、複数のウェブサイトに亘って履歴共有を制御するためのシステム100を示す。開示されたシステムは、ユーザ及びデータを監視及び追跡し、ブラウザの制約に配慮しながら、ファースト・パーティの文脈においてユーザを識別すると共に、全般的データ保護レギュレーション(General Data Protection Regulations:GDPR)、カリフォルニア消費者プライバシ法(California Consumer Privacy Act:CCPA)、「私を忘れて」リクエスト等のコンプライアンスを保証するために、単一のサービスを利用する。
図1はアーキテクチャ図であるので、説明を明確にするために、特定の詳細は意図的に省略されている。
図1の解説は、以下のように構成される。まず、図面の要素を説明し、その後、それらの相互接続を説明する。次に、本システムの要素の使用について、更に詳しく説明する。
【0025】
システム100は、サービスとサイトの組み合わせに固有のユーザIDを生成するためのユーザID生成器116を有するプライバシIDサーバ106を含む。プライバシIDサーバ106はまた、最初の訪問時に生成された同じ固有ユーザIDを取り出すための解析サーバ126と、訪問者データ及びアカウント設定を記憶するためのキャッシュメモリ136とを含む。解析サーバ126は、多くの訪問者が多くのウェブサイトを訪れるために、分散したコンピュータ間でデータを蓄積することができる。解析サーバ126は、訪問者のセッションにタグを割り当て、ウェブページに登録されたコールバック・アドレスを介してIDを送信する。解析サーバ126は、訪問者のウェブサイト・セッション中の活動に関するデータを蓄積し、セッションの進行を追跡する計測値を分析する。
【0026】
システム100はまた、ユーザ・データ及び解析結果を記憶するためのプライバシIDデータストア144を有し、顧客のウェブサーバによって使用するためのプライバシIDインタフェース・スクリプト146を有する。顧客は、共通のプログラミング言語で提供されるテンプレートを、サービスを統合するために、プライバシIDサーバ106を介して顧客のウェブサーバ156にアップロードすることによって、オンサイトのサービスのためのブラウザ及びプライバシ準拠のユーザ識別を可能にする。別の実施態様では、顧客は、JavaScriptインジェクションをウェブサイトに使用することによって、サードパーティ・アプリの統合を完了するために、顧客自身の統合スクリプトを書き込むための青写真としてテンプレートを使用することができる。プロセスフローは、
図2に関連して以下で説明される。
【0027】
システム100は、ブラウザ185を介したユーザ対話のためにウェブページ178を配信するウェブサーバ156を利用する。ウェブサーバ156は、ネットワーク145を介して、識別されたコールバック・アドレス及びコールバック登録のための計測コードを利用して、ウェブページからデータを受信する。ウェブサーバ156は、顧客のブラウザ体験を経時的に統合するためにプライバシ・スクリプト166を有する。ウェブサーバ156はまた、固有ユーザIDをサードパーティ・サービスに記憶するための拡張ユーザ識別(EUI)/プライバシID SIDデータストア168を有する。EUIは、サーバ側、HTTP、安全な、及び同一サイトのクッキーを使用して実装され、各訪問に亘って効果的にユーザを識別する。プライバシIDサーバ106は、結果を配信するためのコールバックAPIとともに、ウェブページ178とのユーザ・セッションから一連の計測値を受信する。
【0028】
システム100は、ユーザ・ラップトップまたはデスクトップ・コンピュータ142及びモバイル・デバイス164のための表示レイヤを提供するグラフィカル・ユーザ・インタフェース(GUI)実装175を有するユーザ・コンピューティング・デバイス165を更に含む。ユーザ・コンピューティング・デバイス165は、管理者がシステムを構成及び管理するのに使用する管理インタフェースを生成するために、計測コードを利用する。管理者は、サードパーティ・スクリプトに関する追加情報を提供するとともに、有効にしたいサードパーティ・サービス毎に固有APIキーの作成をリクエストできる。1つの実施態様は、顧客が、間隙バナー、対話型スライダ、フライアウト、及びオーバレイの形式で、広範なメッセージ配置を容易に作成することができる広範な表示ツールキットを含む。ユーザ・コンピューティング・デバイス165は、訪問者のために、ウェブサーバ156によって配信されるウェブページ178を表示するためのウェブブラウザ185を含む。ブラウザ185は、広告ネットワーク1 186、広告ネットワーク2 188、及び、Google Analytics等の分析プロバイダ196等のサードパーティ・アプリケーションを、ウェブページ178とともに顧客に利用可能なサードパーティ・サービスとして配信する。各サードパーティ・サービスは、サービスに関連付けられた固有ユーザIDを有し、プライバシ・スクリプト176は、ウェブページ178及びサードパーティ・サービスとのユーザ・セッションから計測値を取得する。幾つかの実施態様では、ブラウザは、マイクロソフト・エッジ、グーグル・クロム、アップル・サファリ、モジラ・ファイヤフォックス等を含むことができる。幾つかの実施態様では、ユーザ・コンピューティング・デバイス165は、パーソナル・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、インターネット・オブ・シングス(IoT)デバイス、デジタル・イメージ・キャプチャ・デバイス、携帯情報端末(PDA)等であり得る。管理機能には、必要に応じて、廃止サービスを含めることもできる。廃止される場合、ユーザIDをリクエストするサービスは、IDを与えられず、それによって、管理者がシステムを構成し管理するとき、サイトに完全な制御を与える。システムを使用するサービスに応じて、サイトはデータ交換を可能にすることができる。一例では、離脱意図のある会社は、電子メールアドレスをシステムに返信することができ、サイトはそれを顧客データ・プラットフォーム(CDP)システムと共有することを決定することができる。プライバシIDインタフェース・スクリプト146は、ウェブサイトのエンドユーザに「プライバシ設定」のオプションを提供するために使用可能な、ウェブサイト上のスクリプトのレポジトリを含む。これらの設定では、ユーザは、個々のスクリプトまたはすべてのスクリプトの全体的なトラッキングをオン/オフすることができ、GDPRとCCPAのサポートとして利用できる。「私を忘れて」リクエスト(GDPR、CCPA)は、ユーザからのリクエストを、システムを使用する全てのサービスに簡単にブロードキャストして、それぞれのIDをそれらに渡すことができるため、1箇所から処理できる。開示されるシステムはまた、エンドユーザによる許可を付与または取り消すためのシングル・クリック・ソリューションを提供することができるように、対話型広告局(Interactive Advertising Bureau:IAB)の透明性及び同意フレームワーク等のプライバシ同意フレームワークに統合することができる。
【0029】
幾つかの実施態様では、ネットワーク145は、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、WiFi、WiMAX、電話ネットワーク、ワイヤレス・ネットワーク、ポイント・ツー・ポイント・ネットワーク、星型ネットワーク,トークン・リング型ネットワーク,ハブ型ネットワーク、Bluetoothのようなピア・ツー・ピア接続、近距離無線通信(NFC)、Zウェーブ、ZigBee、またはインターネットを含む他の適切な構成のデータ・ネットワークのうちの任意の1つまたは任意の組合せとすることができる。
【0030】
システム100は、ネットワーク145を介してプライバシIDサーバに接続する、プライバシIDマスタ・データストア104を、更に含む。幾つかの実施態様では、データストアは、1または複数のテナントからの情報を共通データベース画像のテーブルに格納して、マルチテナント・データベース・システム(MTDS)などの多くの方法で実装することができるオン・デマンド・データベース・サービス(ODDS)を形成することができる。データベース画像は、1つまたは複数のデータベース・オブジェクトを含むことができる。他の実装形態では、データベースは、リレーショナル・データベース管理システム(RDBMS)、オブジェクト指向データベース管理システム(OODBMS)、分散ファイル・システム(DFS)、ノースキーマ・データベース、または任意の他のデータ記憶システムもしくはコンピューティング・デバイスとすることができる。
【0031】
図2は、サードパーティ・クッキーの排除に続いて、情報の共有及び複数のウェブサイトに亘る履歴共有を制限するための処理のメッセージ図を示す。ユーザは、ウェブページをリクエストし、ブラウザ185は、プライバシIDスクリプトをロードするためにウェブサーバ156にウェブページ・リクエストを送信し、任意選択的に、リピート・ユーザを再識別するのを助けるための詳細を提供する。ウェブサーバ156は、安全なHTTPクッキーを取り出し(216)、プライバシIDスクリプトをプライバシIDサーバ106からリクエストする(236)ために、クッキー値を含むリピート・ユーザを再識別するのを助けるために、安全なクッキー及び詳細を提供する。プライバシIDサーバ106は、マップされたサービスID(SID)及び詳細を、キャッシュメモリ136及び/またはプライバシIDデータストア144から取り出す(246)。プライバシIDサーバ106は、SIDマップ及びスクリプトを有する構造化データをウェブサーバ156に返す(256)。ウェブサーバ156は、ブラウザ185において、SIDマップと共にプライバシIDスクリプトをウェブページ178に送信する(266)。
【0032】
複数のウェブサイトに亘る情報共有及び履歴共有を制限するための
図2のメッセージ図の説明を続ける。ウェブページ178は、サードパーティ・サービス・スクリプトをロードする(272)。サードパーティ・サービス186、188、196は、ブラウザ185で実行されるプライバシIDスクリプト176からサービスID(SID)をリクエストする(276)。各サービスは、割り当てられたAPIキーを使用して自身を識別し、随意的に共有するその他の詳細を提供する。サードパーティ・サービス186、188、196は、非同期応答のためのコールバックを登録する。ブラウザ185のプライバシIDスクリプト176は、ウェブサーバ156から受信したSIDマップにおいて、サービスをリクエストするためのSIDを検索し(286)、SIDを用いて各サービス・コールバックを呼び出す(296)。APIキーに対するSIDが存在しない場合、SIDが生成され、該SIDは、次いで、次のステップで更新される。ウェブページは、ブラウザ185内で実行され、視覚化される。開示されたプライバシIDスクリプトは、典型的には開示された機能のためのコードをウェブページ上に埋め込むJavaScriptにおいて実装される。ブラウザ185は、ウェブサイト・オペレータによって指定された選択を反映するコールバック機能を構成する。一実施態様では、コールバック機能がチャットボット、電子メールサービス、SMSメッセンジャ・サービス、調査サービス、またはウェブサイトへの訪問者に対する他の所望の反応をアクティブ化することができる。ウェブサイト・オペレータは、視覚化され、後で実行される1または複数のコールバック機能を公開する。開示された技術の一実施態様では、ウェブサイト・オペレータは、自分のウェブサイト・ページのそれぞれのリスナを登録するコードを埋め込む。彼らは、イベントの処理方法に応じて、複数のリスナを登録できる。
【0033】
一実施態様では、コールバック機能がサードパーティ・サービスを使用してチャット・ウィンドウを表示するために呼び出しを開始することができ、またはニュースレターに加入するようにユーザに要求するポップアップを示すことができる。他の実施態様では、ユーザの個人情報などの機密性の高い安全なデータの完全性を保護するサードパーティ・サービスを、コールバック機能として実装することができる。更に他の場合には、コールバック機能が、調査ソフトウェア・ツールまたはニュースメディア配信サービスまたはクレジット計算機への呼出しを開始することができる。更なる実施態様は、危険性を評価し、レートを計算するための一組の保険関連ツールへの呼び出しを含むことができる。読者は、コールバック機能によってもインスタンス化され得る追加のソフトウェア・ツールに想到し得る。
【0034】
FanplayrユーザID(FID)及びサービス・ユーザID(SID)の表現の例を以下に示す。FIDはユーザ毎に固有であり、SIDはサービス毎に固有である。
サンプルFID:5.bwsmcrcIGkPY4yE8LoO.1574662629
サンプルSID:PID.1.aND59wuPDpDZoFRBVZ8.1598301024
【0035】
ウェブサイトのページに埋め込まれたスクリプトの例を以下に示す。
<script>
/**
* FanplayrプライバシIDキュー(Google Analyticの「dataLayer」と同様)
* ウェブサイトは、これをページ上に可能な限り高く配置する必要がある。
*/
window._fpidq = window._fpidq|| [];
【0036】
ウェブページによって規定されるこの便利な方法では、サードパーティ・サービスによって使用されるプライバシIDの詳細は抽象化されるので、サードパーティ・サービスはプライバシIDがどのように機能するかを知る必要がない。サードパーティ・サービスは、APIキーとコールバックを単に渡すことができる。
function getIdentifiedUser(apiKey, callback) {
window._fpidq.push({
method: 'identify',
apiKey: apiKey,
callback: callback
})
}
</script>
【0037】
プライバシID・APIを呼び出すサードパーティ・スクリプトの例を以下に示す。
getIdentifiedUser('DzvOVJQH91TumGL2urPHPQSxUbf67vs0', function(sid) {
console.log('Google Analytics received SID : ', sid);
});
【0038】
FIDクッキー・コンテンツの例を以下に示す。
5.bwsmcrcIGkPY4yE8LoO.1574662629
【0039】
次に、顧客ウェブサーバ上のスクリプトの例を示す。このドキュメントでは、FanplayrサーバはプライバシIDサーバ106とも呼ばれる。アカウント・キーはデータ収集元の顧客ウェブサイトを識別し、ウェブページのユーザに関連する現行アトリビュートを指定する顧客IDとして機能するJavaScript文字列である。
// アカウント・キーは、Fanplayrサービスへのウェブサイトを一意に識別する
const accountKey = 'd78978e96ac813947382f21ed7324228';
// 使用されるクッキー名
const userKeyCookieName = 'fanplayr';
// ブラウザ・リクエストからユーザ・キー・クッキーを取得する。
const userKey = req.cookies[userKeyCookieName];
// リモートのFanplayrサーバからユーザとサービスを検索する。
const result = await lookupUserAndServices(
accountKey,
userKey
);
// ユーザ・キー・クッキーを更新する
const expires = new Date();
expires.setFullYear(expires.getFullYear() + 1);
res.cookie(userKeyCookieName, result.userKey, {
expires,
path: '/',
httpOnly: true,
secure: true,
sameSite: 'strict'
});
// サービスを組み込んだスクリプトを出力する。
// 注記: Fanplayrサービスによって返されるスクリプト・コンテンツには、sidMapが含まれている
res
.header('content-type', 'application/javascript; charset=utf-8')
.header('cache-control', 'must-revalidate')
.send(result.scriptContent);
【0040】
返されるFID 及びスクリプト・コンテンツの例を以下に示す。
{
"fid": "5.bwsmcrcIGkPY4yE8LoO.1574662629",
"scriptContent": "(function(){const
SERVICE_USERS={\"DzvOVJQH91TumGL2urPHPQSxUbf67vs0\":\"PID.1.aND59wuP
DpDZoFRBVZ8.1598301024\"};const queue=window._fpidq=window._fpidq||[];const
handlers={identify(event){const
userKey=SERVICE_USERS[event.apiKey]||null;if(event.callback){event.callback(userKey)
}}};function processEvent(event){const
handler=handlers[event.method];if(handler){handler(event)}}
queue.push=function(event){processEvent(event)};for(const event of
queue){processEvent(event)}}())"
}
【0041】
各サービス・コールバックをそれぞれのSIDで呼び出すための例示的なJavaScriptスクリプトを、上述した例で返された「スクリプト・コンテンツ」プロパティの読み易いバージョンを使用し、次に列挙する。開示された機能を提供するために、異なるスクリプト言語を利用することもできる。
(function() {
// これは、APIキー毎に1つのsidを含むsidMapである
const SERVICE_USERS ={
"DzvOVJQH91TumGL2urPHPQSxUbf67vs0":
"PID.1.aND59wuPDpDZoFRBVZ8.1598301024"
};
const queue = window._fpidq = window._fpidq || [];
const handlers = {
identify(event) {
const userKey = SERVICE_USERS[event.apiKey] || null;
if (event.callback) {
event.callback(userKey);
}
}
};
function processEvent(event) {
const handler = handlers[event.method];
if (handler) {
handler(event);
}
}
// 新しい要素を検出できるように、ネイティブ配列「プッシュ」メソッドを再定義する
// 追加。
queue.push = function(event) {
processEvent(event);};
};
// 最初にキューに入れられたイベントを処理する
for (const event of queue) {
processEvent(event);
}
}());
【0042】
一実施態様では、サーバのクラスタの2つのセット(東海岸に1つ、西海岸に1つ)はブラウザへのより迅速な応答を提供するので、それらのデータは、ウェブサイト訪問者の地理的位置に応じて、w1.fanplayr.com、または、e1.fanplayr.comにリダイレクトすることができる。尚、 w1は西、e1は東である。一実施態様では、分析はクラウドで処理される。
【0043】
図3は、複数のウェブサーバに亘ってユーザ・アイデンティティをマスキングし、サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘って情報及び履歴の共有を制御するための代替プロセスのメッセージ図を示す。ユーザは、ウェブページをリクエストし、ブラウザ185は、ウェブページ178内のプライバシIDスクリプトをロードし(305)、任意選択的に、リピート・ユーザを再識別するのに役立つ詳細を提供する。ウェブページ178は、サードパーティ・サービス・スクリプトをロードする(324)。プライバシIDスクリプト176は、ウェブサーバ156から安全なFIDクッキーをフェッチし(336)、これは、FID値を返すか、または何も返さない(346)。何も返されない場合、ウェブページ178のユーザは、プライバシIDサーバ106との安全な接続を確立する必要がある。
【0044】
図3に示す、複数のウェブサーバに亘るユーザ識別をマスキングするための代替処理の説明を続ける。ウェブサーバ156からFIDが返された後、サードパーティ・サービス186、188、196は、ブラウザ185で実行されるプライバシIDスクリプト176からサービスID(SID)をリクエストする(354)。各サービスは割り当てられたAPIキーを使用して自身を識別し、任意選択的に、共有するその他の詳細を提供する。サードパーティ・サービス186、188、196は、非同期応答のためのコールバックを登録する。プライバシIDスクリプト176は、情報をプライバシIDサーバ106に渡す(358)。これは、FID、ウェブ・プッシュ通知情報、顧客ID、電子メール、SMS等を含んでも含まなくてもよい。プライバシIDサーバ106は、FIDとSIDに対するAPIキーとをプライバシIDスクリプト176に返す(368)。ブラウザ185内のプライバシIDサーバ106は、ウェブサーバ156内の安全なFIDクッキーを更新し(376)、それぞれのSIDを用いて各サービス・コールバックを呼び出す(384)。APIキーのSIDが存在しなかった場合、SIDが生成され、次のステップでSIDが更新される。ブラウザ185で実行されるプライバシIDスクリプト176は、APIキーの任意の新しく生成されたSIDをプライバシIDサーバ176に記憶する(398)。
【0045】
次に、複数のウェブサーバに亘ってユーザIDをマスクするためのサードパーティ・クッキーの排除に続いて、複数のウェブサーバに亘って情報及び履歴共有に対する開示された制御を利用するシステムの使用ケースの例を説明する。
<使用ケース 例>
【0046】
分析サービス: データ及び分析は、ウェブサイト及びオンライン・ビジネスの運営において非常に重要な側面となっている。ウェブサイトのための分析を構築することは高価であり、従って、ウェブサイトは、自分のウェブサイトへのトラフィックを理解するのを助けるために、サードパーティ・サービスを使用することを選択する。Google Analytics、Mixpanel(商標)等の殆どの分析サービスでは、JavaScript インジェクションを使用してWeb サイトに簡単に統合する必要がある。これらのスクリプトは、必要と思われるデータをキャプチャし、キャプチャされたデータをサーバに渡す。効果的であり、優れたサービスをウェブサイト運営者に提供するためには、分析サービスが訪問者のトラフィックを正確に識別できることが不可欠である。プライバシ・ポリシー、ブラウザの制約、及びその他の技術的限界により、そのようなサービスがそうすることが困難になっている。
【0047】
FanplayrのプライバシIDを使用することで、サードパーティの分析サービスは、ユーザをより正確に識別でき、それらにより提供されるデータサービスは、ウェブサイトやビジネスにとってより有意義なものになる。
【0048】
以下のリストは、Google Analyticsのユーザを識別するために、開示されたFanplayrプライバシIDが使用され得る方法の例を示している。これは、FanplayrプライバシIDスクリプトがウェブページで使用可能であることを前提としている。
// この行は、Google Analyticsスクリプトをサイトに挿入する
<script async src="https://www.googletagmanager.com/gtag/js?id=G-
KMQ6G8H6N7"></script>
// このブロックは、Google Analyticsがサービスを初期化するために必要である
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
// これは、GAがFanplayrプライバシIDを使用するために必要な追加コードである
<script>
getIdentifiedUser('<PRIVACY-ID-API-KEY-FOR-GA>', function(sid) {
window.dataLayer.push({
'userId' : sid });});
});
});
</script>
【0049】
ウェブサイト・チャット・サービス: 今日の世界では、チャットを介して、ユーザが有し得る質問に対する回答を見つける能力をユーザに提供することが主な特徴となっている。サイトはAIサービスと統合して、質問に答えるのに役立つチャットボットを提供する。非常に有用ではあるが、それは非常に非個性的なサービスであり、ユーザが質問に対する回答を受け取ったときでさえ、ユーザはサイトに接続しているように感じない。
【0050】
FanplayrのプライバシIDを使用することにより、サードパーティのチャットボット・サービスは、ユーザをより正確に識別することができ、それらによって提供されるサービスは、ウェブサイトのユーザにとってより有意義かつ個人的になる。例えば、リピート訪問者を識別するとき、チャットボットは、「やあ、お帰りなさい!」のような単純ではあるが個人的なメッセージから始めることができる。この使用ケースを拡張するために、正確に識別されたユーザを用いて、チャットボットがウェブサイトを用いてユーザの履歴にアクセスし、インタラクションをより文脈的にし、ユーザに関連させることも可能である。
【0051】
以下のリストは、チャットボット・サービスのユーザを識別するために、開示されたFanplayrプライバシIDが使用され得る方法の例を示す。これは、FanplayrプライバシIDスクリプトがウェブページで使用可能であることを前提としている。
// この行は、チャットボット・サービスをサイトにインジェクトする
<script async src="https://www.chatbotservices... "></script>
// これは、サービスがプライバシIDを使用するために必要な追加コードである
<script>
getIdentifiedUser('<PRIVACY-ID-API-KEY-FOR-CHATBOT>', function(sid) {
window.dataLayer.push({
'userId' : sid });});
});
});
</script>
【0052】
リンクされたサービス・リスト・リクエスト:ユーザIDアービタのロールを実行すると、プライバシIDはサイト上のスクリプトについての情報をウェブサイト・ユーザに提供することができるように固有な位置にあり、それらのスクリプトは、サービスIDと、スクリプト/サービスの各々に提供される特定のユーザのサービスIDとをリクエストした。これは、ウェブサイトがユーザに透明性を提供するのを助けることができる。Fanplayrの標的にするソリューションと組み合わせて、サービスをリストし、ユーザが特定のサービスID を有効/無効にできるウィジェットをユーザに表示できる。
【0053】
リンクされたサービス・データ・リクエスト: GDPR、CCPA、及び他の地域のプライバシ法により、ウェブサイトが従わなければならない一連のルールが定められている。このような規制に共通する要件の1つは、ウェブサイトのユーザがウェブサイトに対して、それらまたはそれらの代理として機能するサードパーティ・サービスによって収集された情報の提供をリクエストできることである。殆どのウェブサイトは、プライバシ・ポリシーに詳述されているメカニズムを提供している。殆どの場合、このようなデータ・リクエストは、電子メールまたは郵便で送信されなければならない。その際、ウェブサイトは、ユーザが収集した情報をユーザに提供することができるが、欠点は、サードパーティ・サービスがユーザを識別し、データを取り出す手段を持たないことである。ウェブサイトと使用される多様なサービスとの間に統一された識別メカニズムがない場合、データ・リクエストは、サードパーティ・サービスによっては実現されない。IDのアービタとして機能することで、開示されたプライバシIDは、そのようなデータ・リクエストがユーザによってオンサイトで行われることを可能にし、全てのユーザ固有のサービスIDを含む単一のレポートを生成することができる。そのようなレポートは次いで、全てのサービスからデータを入手し、それをユーザに提供するために、ウェブサイトによって使用され得る。
【0054】
リンクされたサービス「私を忘れて」リクエスト:上述のリンクされたサービス・データ・リクエストと同様に、プライバシ法は、ウェブサイト・ユーザがそれらについて記憶された全てのデータが削除され忘れられることをリクエストすることができるメカニズムを提供することをウェブサイトに要求している。ここでもまた、統一された識別メカニズムがないため、サードパーティ・サービスはユーザを認識し、収集されたデータを削除することができない。IDのアービタとして機能することで、プライバシIDはそのような「私を忘れて」リクエストがユーザによってオンサイトで行われることを可能にし、全てのユーザ固有のサービスIDを含む単一のレポートを生成することができる。そのようなレポートは次いで、個々のサードパーティ・サービスにそのようなリクエストを行うために、ウェブサイトによって使用され得る。
【0055】
図4は、暗号IDスクリプトを使用して、複数のウェブサーバに亘ってユーザ・アイデンティティをマスキングする別の方法を示す。この処理では、ブラウザ185が、ブラウザ185内で動作し、暗号IDサーバ408と直接的または間接的にインタフェースする暗号IDスクリプト404を含み、且つ、サードパーティ・アプリとも呼ばれる1または複数のサードパーティ・サービス186、188、196を更に含むウェブページ178を、ウェブサーバ156から受信する。ウェブページ178は、暗号IDスクリプトをロードし(415)、サードパーティ・サービス・スクリプトをロードする(424)。ブラウザ185で実行される暗号化IDスクリプト404は、安全なユーザIDクッキーをフェッチする(446)。暗号IDスクリプト404は、情報を直接または間接的に渡し(458)、クッキーの少なくとも一部を暗号IDサーバ408に転送する。暗号IDスクリプト404は、暗号IDサーバ408から、ユーザ、ウェブサーバ、及びアプリの別個のトリプレットに対して区別でき且つ相関関係のないサーバ・バイ・アプリ固有IDを受信する(468)。暗号IDスクリプト404は、アプリにユーザIDを提供せずに、それぞれのサーバ・バイ・アプリ固有IDをそれぞれのアプリに提供する(484)。
【0056】
幾つかの実施態様では、ブラウザ185で実行される暗号IDスクリプト404は、暗号IDサーバ408に転送するためにクッキーの少なくとも一部をウェブサーバ156に転送し、暗号IDサーバによって生成されたサーバ・バイ・アプリ固有IDをサーバ408から受信する。他の実施態様では、ブラウザ185で実行される暗号IDスクリプト404は、クッキーの少なくとも一部を暗号IDサーバ408に転送し、暗号IDサーバ408からサーバ・バイ・アプリ固有IDを受信する。
【0057】
次に、サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘って情報及び履歴共有の制御を獲得するためのコンピュータ・システムを説明する。
<コンピュータ・システム>
【0058】
図5は、サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘って情報の共有及び履歴共有を制限するための
図1のシステム100を実装するのに適した例示的なシステム500のブロック図を示す。一般に、
図5に図示されたシステム500は、本明細書では「マルチテナント・データベース」とも呼ばれる、複数のテナント間で共有される共通データベース532からのデータ522に基づいて、仮想アプリケーション516及び518を動的にサポートするサーバ504を含む。GUIクライアントを含む、仮想アプリケーション516及び518によって生成されたデータ及びサービスは、要望どおり、ネットワーク545を介して任意の数のクライアント・デバイス548または558に提供される。
【0059】
本明細書で使用されるように、「テナント」または「組織」は、マルチテナント・データベース532内のデータの共通サブセットへのアクセスを共有する一群の1または複数のユーザを指す。この点に関して、それぞれのテナントは、そのそれぞれのテナントに、関連付けられた、割り当てられた、または別な方法で属する1または複数のユーザを含む。別の言い方をすれば、システム500内の各ユーザは、システム500によってサポートされる複数のテナントのうちの特定のテナントに、関連付けられ、割り当てられ、または別な方法で属する。テナントは、ユーザ、ユーザ部門、仕事または法律組織、及び/またはシステム500内のユーザの特定のセットのためのデータを維持する任意の他のエンティティを表し得る。複数のテナントがサーバ504及びデータベース532へのアクセスを共有することができるが、サーバ504から各テナントに提供される特定のデータ及びサービスは、他のテナントに提供されるものから安全に分離することができる。従って、マルチテナント・アーキテクチャは、異なるユーザのセットが他のテナントに属する、または別な方法で関連するデータ522のいずれも必ずしも共有することなく、機能性及びハードウェア・リソースを共有することを可能にする。
【0060】
マルチテナント・データベース532は、任意の数のテナントに関連するデータ522を格納及び管理することができる任意の種類のリポジトリまたは他のデータ記憶システムである。データベース532は、任意のタイプの従来のデータベース・サーバ・ハードウェアを使用して実施することができる。様々な実施態様において、データベース532は、サーバ504とプロセッシング・ハードウェアを共有する。他の実施態様では、データベース532が、本明細書で説明される様々な機能を実行するために、サーバ504と通信する別個の物理データベース・サーバ・ハードウェア及び/または仮想データベース・サーバ・ハードウェアを使用して実装される。マルチテナント・データベース532がテナント1・メタデータ512及びテナント2・メタデータ514を安全に隔離した状態で、アプリケーション・プラットフォーム517によって生成されたオンデマンド仮想アプリケーション516または518に、実行時にデータを提供する(または提供するために利用可能である)という点で、本明細書では、マルチテナント・データベース532は、代替的に、オンデマンド・データベース・サービスと呼ばれる場合がある。
【0061】
実際には、データ522が、アプリケーション・プラットフォーム522をサポートするために、任意の方法で編成され、フォーマットされ得る。様々な実施態様において、従来のデータ関係は、インデックス付け、一意性、エンティティ間の関係、及び/または従来のデータベース組織の他の態様を、要望通りに確立する任意の個数のルックアップ・テーブル513を使用して確立される。
【0062】
サーバ504は、仮想アプリケーションを生成するためのダイナミック・アプリケーション・プラットフォーム517を集合的に提供する1または複数の実計算システム及び/または仮想計算システムを使用して実装される。例えば、サーバ504は、典型的に、従来のネットワーク通信、クラスタ管理、負荷分散、及び必要に応じて他の特徴に関連して、互いに関連して動作する実サーバ及び/または仮想サーバのクラスタを使用して実装され得る。サーバ504は、プロセッサ536、メモリ538、入出力デバイス534などの任意の種類の従来の処理ハードウェアで動作する。入出力デバイス534は一般に、ネットワーク(例えば、ネットワーク545、または任意の他のローカルエリア、ワイドエリア、または他のネットワーク)、大容量記憶装置、ディスプレイ・デバイス、データ入力デバイス、及び/または同様のものへのインタフェースを表す。ユーザ・インタフェース入力デバイス534は、キーボードと、マウス、トラックボール、タッチパッド、またはグラフィックス・タブレットなどのポインティング・デバイスと、スキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム及びマイクロフォンなどのオーディオ入力デバイスと、他のタイプの入力デバイスとを含むことができる。一般に、「入力装置」という用語の使用は、アプリケーション・プラットフォーム517に情報を入力するための可能なタイプの装置及び方法を含むことが意図される。
【0063】
ユーザ・インタフェース出力装置は、ディスプレイ・サブシステム、プリンタ、ファックス・マシン、またはオーディオ出力装置などの非ビジュアル・ディスプレイを含むことができる。ディスプレイ・サブシステムは、発光ダイオード(LED)スクリーン、液晶ディスプレイ(LCD)などのフラットパネル・デバイス、陰極線管(CRT)、投影デバイス、または可視画像を生成するための何らかの他のメカニズムを含むことができる。ディスプレイ・サブシステムは、オーディオ出力装置のような非ビジュアル・ディスプレイを提供することもできる。一般に、用語「出力装置」の使用は、プロセッサ536からユーザまたは別のマシンまたはコンピュータ・システムに情報を出力するためのすべての可能なタイプの装置及び方法を含むことが意図される。
【0064】
プロセッサ536は、1または複数のプロセッサ、コントローラ、マイクロプロセッサ、マイクロコントローラ、処理コア、及び/または任意の数の「クラウドベース」または他の仮想システムを含む任意の数の分散システムまたは統合システムにわたって広がる他のコンピューティング・リソースなど、任意の好適な処理システムを使用して実装され得る。メモリ538は、任意の種類のランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、磁気または光大容量記憶装置などを含む、プロセッサ536上で実行するためのプログラム命令を記憶することができる任意の非一時的な短期または長期記憶装置または他のコンピュータ可読媒体を表す。コンピュータ実行可能プログラム命令は、サーバ504及び/またはプロセッサ536によって読み出され実行されると、サーバ504及び/またはプロセッサ536に、アプリケーション・プラットフォーム517及び/または仮想アプリケーション516及び518を作成、生成、または別な方法で促進させ、本明細書で説明する1または複数の追加のタスク、動作、機能、及び/またはプロセスを実行させる。メモリ538は、そのようなコンピュータ可読媒体の1つの好適な実施態様を表し、代替的にまたは追加的に、サーバ504は、ポータブルまたはモバイル・コンポーネントまたはアプリケーション・プラットフォーム、例えば、ポータブル・ハードドライブ、USBフラッシュ・ドライブ、光ディスク等として実現される外部コンピュータ可読媒体を受け付け、協働することができる点に留意されたい。
【0065】
アプリケーション・プラットフォーム517は、クライアント・デバイス548及び558にデータ及び/またはサービスを提供する仮想アプリケーション516及び518を生成する任意の種類のソフトウェア・アプリケーションまたは他のデータ処理エンジンである。典型的な実施態様では、アプリケーション・プラットフォーム517が任意の種類の従来のまたは独自のオペレーティング・システム528を使用して、処理リソース、通信インタフェース、及び処理ハードウェアの他の特徴にアクセスすることができる。仮想アプリケーション516及び518は、典型的にはクライアント・デバイス548及び558から受信した入力に応答して実行時に生成される。
【0066】
引き続き
図5を参照すると、サーバ504によって提供されるデータ及びサービスは、ネットワーク545上の任意の種類のパーソナル・コンピュータ、携帯電話、タブレット、または他のネットワーク対応クライアント・デバイス548,558、及びIoTデバイス544を使用して取り出すことができる。例示的な実施態様では、クライアント・デバイス548,558は、モニタ、スクリーン、または別の従来の電子ディスプレイなどの、マルチテナント・データベース532から取り出されたデータ及び/または情報をグラフィカルに提示することができるディスプレイ・デバイスを含む。
【0067】
幾つかの実施態様では、ネットワーク545がローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、WiMAX、Wi-Fi、電話ネットワーク、ワイヤレス・ネットワーク、ポイント・ツー・ポイント・ネットワーク、星型ネットワーク,トークン・リング型ネットワーク,ハブ型ネットワーク、網目状ネットワーク、ブルートゥース(登録商標)のようなピア・ツー・ピア接続、ニア・フィールド・コミュニケーション(NFC)、Zウェーブ、ジグビー、またはインターネットを含む他の適切な構成のデータ・ネットワークのうちの何れか1つまたは任意の組合せとすることができる。
【0068】
前述の説明は本質的に単に例示的なものであり、発明内容の実施態様、または当該実施態様の適用及び使用を限定することを意図しない。更に、技術分野、背景、または詳細な説明において提示される如何なる明示または暗示の理論によっても拘束される意図はない。本明細書で使用される場合、「例示的な」という言葉は、「例、実例、または説明として機能する」ことを意味する。例示として本明細書で説明される任意の実施態様は、必ずしも他の実施態様よりも好ましいまたは有利であると解釈されるべきではなく、本明細書で説明される例示的な実施態様は如何なる形でも発明内容の範囲または利用可能性を限定することを意図しない。
【0069】
開示された技術は、データベース・システム、マルチテナント環境、または、Oracle(商標)互換データベース実施態様、IBM DB2 Enterprise Server(商標)互換リレーショナル・データベース実施態様、MySQL(商標)またはPostgreSQL(商標)互換リレーショナル・データベース実施態様、またはMicrosoft SQL Server(商標)互換リレーショナル・データベース実施態様のようなリレーショナル・データベース実施態様、または、Vampire(商標)互換非リレーショナル・データベース実施態様、Apache Cassandra(商標)互換非リレーショナル・データベース実施態様、BigTable(商標)互換非リレーショナル・データベース実施態様、またはHBase(商標)またはDynamoDB(商標)互換非リレーショナル・データベース実施態様のようなNoSQL非リレーショナル・データベース実施態様を含む、任意のコンピュータ実装システムという状況で実施される。
【0070】
更に、開示された技術は、互いに協働して通信する2つ以上の分離した別個のコンピュータ実装システムを使用して実施することができる。開示された技術は、プロセス、方法、装置、システム、デバイス、コンピュータ可読命令またはコンピュータ・プログラム・コードを格納するコンピュータ可読格納媒体などのコンピュータ可読媒体、または、コンピュータ可読プログラム・コードが内部に具体化されたコンピュータ使用可能媒体を備えるコンピュータ・プログラム製品を含む、多数の方法で実施することができる。
<特定の実施態様>
【0071】
サードパーティ・クッキーの排除に続いて、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有を制限する様々な実施態様を説明する。
【0072】
複数のウェブサイトに亘る訪問者アイデンティティ情報の共有を制限する開示された方法の一実施態様は、訪問者のブラウザにおいて訪問したウェブサイト・サーバから、訪問者のブラウザ内で実行され、プライバシIDサーバと直接的または間接的にインタフェースするプライバシ・スクリプトを含み、訪問者の識別を求める1または複数のサードパーティ・アプリを含むウェブページを受信することを含む。本方法はまた、ブラウザ内で実行されるプライバシ・スクリプトが訪問者IDを含むファーストパーティ・クッキーを取り出し、プライバシ・スクリプトがファーストパーティ・クッキーの少なくとも一部をプライバシIDサーバに直接的または間接的に転送し、プライバシ・スクリプトがプライバシIDサーバから、訪問したウェブサイトのためのサイト・バイ・アプリ固有ID、及びサードパーティ・アプリの1つを受信することを含み、訪問者のためのサイト・バイ・アプリ固有IDは、ウェブサイトとサードパーティ・アプリの異なるペア間で区別でき且つ相関関係がない。開示された方法は、プライバシ・スクリプトが、サードパーティ・アプリに訪問者IDを提供することなく、それぞれのサイト・バイ・アプリ固有IDをそれぞれのサードパーティ・アプリに提供することを更に含み、それによって、訪問したウェブサイトへの再訪問時における訪問者の追跡は可能にするが、複数のウェブサイトに亘る訪問者の識別は容易にしない。
【0073】
開示された技術のこの方法及び他の実施態様は、開示された追加の方法に関連して記載された以下の特徴及び/または特徴の1または複数を含むことができる。簡潔にするために、本願で開示される特徴の組み合わせは、個々に列挙されておらず、特徴の各基本セットについて繰り返されていない。
【0074】
開示される1つの方法は、ブラウザにおいて実行されるプライバシ・スクリプトが、プライバシIDサーバに転送するために、クッキーの少なくとも一部をサーバに転送し、プライバシIDサーバによって生成されたサイト・バイ・アプリ固有IDをサーバから受信することを更に含む。
【0075】
開示される方法の幾つかの実施態様は、ブラウザにおいて実行されるプライバシ・スクリプトがクッキーの少なくとも一部をプライバシIDサーバに転送し、プライバシIDサーバからサーバ・バイ・アプリ固有IDを受信することを更に含む。
【0076】
開示された手法の多くの実施態様では、複数のウェブサイトに亘る訪問者アイデンティティ情報の共有が、サードパーティ・クッキーの削除に続いて行われる。
【0077】
複数のウェブサーバに亘ってユーザ・アイデンティティをマスキングする開示された方法の一実施態様は、ブラウザ内で実行され、暗号IDサーバと直接的または間接的にインタフェースする暗号IDスクリプトを含み、更に1または複数のアプリを含むウェブページを、サーバから受信することを含む。本方法はまた、ブラウザ内で実行される暗号IDスクリプトがユーザIDを含むクッキーを取り出し、暗号IDスクリプトがクッキーの少なくとも一部を暗号IDサーバに直接的または間接的に転送し、暗号IDスクリプトが暗号IDサーバから、訪問したウェブサイトのためのサーバ・バイ・アプリ固有IDと、アプリのうちの1つとを受信することを含み、サーバ・バイ・アプリ固有IDは、ユーザ、ウェブサーバ、及びアプリの異なるトリプレットに対して区別でき且つ相関関係がない。開示される方法は、暗号IDサーバが、アプリにユーザIDを提供することなく、サーバ・バイ・アプリ固有IDをそれぞれのアプリに提供することを更に含む。
【0078】
開示される方法の一実施態様では、ブラウザ内で実行される暗号IDスクリプトが、暗号IDサーバに転送するために、クッキーの少なくとも一部をサーバに転送し、暗号IDサーバによって生成されたサーバ・バイ・アプリ固有IDをサーバから受信する。
【0079】
開示される方法の幾つかの実施態様では、ブラウザ内で実行される暗号IDスクリプトが、クッキーの少なくとも一部を暗号IDサーバに転送し、暗号IDサーバからサーバ・バイ・アプリ固有IDを受信する。
【0080】
この文脈で使用されるように、ウェブサイトは、iOS及びAndroidプラットフォーム上のモバイル・アプリのみならず、デスクトップ・マシン及びモバイル・デバイス上のブラウザも参照する。当業者は、特定のプラットフォームのためのhtml及びJavaScriptの開発者ガイドラインに従うことによって、ブラウザページとウェブアプリとの間でコードを再利用できることを理解するのであろう。
【0081】
開示された技術は、システム、方法、または、製品として実践することができる。実施態様の1以上の特徴は、基本実施態様と組み合わせることができる。相互に排他的でない実施態様は、組み合わせ可能であると教示される。実施態様の1以上の特徴は、他の実施態様と組み合わせることができる。本開示は、これらのオプションをユーザに定期的に想起させる。これらのオプションを繰り返す記述の幾つかの実施態様からの省略は、前セクションで教示された組み合わせを限定するものとして解釈されるべきではない。これらの記載は、以下の実施態様のそれぞれに参考として援用される。
【0082】
開示された一実施態様は、サーバ上で実行されると、コンピュータに前述の方法の何れかを実施させるプログラム命令がロードされた有形の不揮発性コンピュータ可読記憶媒体を含むことができる。
【0083】
別の開示された実施態様は、1または複数のプロセッサ及びプロセッサに結合されたメモリを含むサーバ・システムを含むことができ、メモリには、プロセッサ上で実行されると、サーバ・システムに前述の方法の何れかを実行させる命令がロードされる。
【0084】
このシステム実施態様及び開示された他のシステムは、任意に、開示された方法に関連して説明される特徴を含むこともできる。簡潔にするために、システムの特徴の代替的な組み合わせは、個々に列挙されない。システム、方法、及び製品に適用可能な特徴は、基本特徴の法定クラスセット毎に繰り返されない。読者は、このセクションで識別された特徴が、他の法定クラスの基本特徴とどのように容易に組み合わせることができるかを理解するであろう。
【0085】
開示された技術は上記で詳述された好ましい実施形態及び実施例を参照することによって開示されるが、これらの実施例は限定的な意味ではなく、例示的な意味で意図されることが理解されるべきである。当業者であれば、改変及び組み合わせが容易に想起され、これらの改変及び組み合わせは、本発明の精神及び以下の特許請求の範囲の範囲内にあると考えられる。
【国際調査報告】