(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-03
(54)【発明の名称】クッキーなし認証環境におけるパブリッシャー許可済みアクティブ化
(51)【国際特許分類】
G06F 21/62 20130101AFI20240827BHJP
G06F 21/60 20130101ALI20240827BHJP
H04L 67/02 20220101ALI20240827BHJP
H04L 67/146 20220101ALI20240827BHJP
【FI】
G06F21/62 318
G06F21/60 320
H04L67/02
H04L67/146
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024503543
(86)(22)【出願日】2022-07-08
(85)【翻訳文提出日】2024-03-19
(86)【国際出願番号】 US2022036451
(87)【国際公開番号】W WO2023003699
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519161872
【氏名又は名称】ライブランプ インコーポレーテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】マイヤーズ、イアン
(72)【発明者】
【氏名】ウェバー、ジュリアン
(72)【発明者】
【氏名】カドレッテ、トラヴィス
(72)【発明者】
【氏名】ボグダノビッチ、ステヴァン
(57)【要約】
システムは、パブリッシャーが、クッキーなし認証環境において人ベースの識別子へのアクセスを指定することを可能にする。信頼できる当事者のみにこれらの識別子へのアクセスを許可する能力をパブリッシャーに与えることによって、データ漏洩が大いに低減される。特定のキーに関連付けられたアクセスをパブリッシャーが与えたい当事者のみが情報にアクセスし得るように、許可は、複数のキーのうちの1つを使用して同じ識別子を暗号化することによって制御される。レゾリューション・ベンダーによって操作されるアプリケーション・プログラミング・インターフェースは、パブリッシャー識別子を受け付け、それらの識別子を個人に分解した後に、個人のための暗号化された識別子を含んでいるエンベロープ・データ構造を戻す。サイドカー・プロセスは、必要に応じて識別環境をサポートするためにエンベロープの暗号解読と再暗号化とを扱う。
【特許請求の範囲】
【請求項1】
プログラマティック・リアルタイム・ビッディング環境であって、
アプリケーション・プログラミング・インターフェース(API)を含むレゾリューション・プロバイダ・システムと、
ユーザ・ブラウザから個人識別子を受信し、前記個人識別子とパブリッシャー固有のキーとを前記APIへの呼によって前記レゾリューション・プロバイダ・システムに送信するように構成されたパブリッシャー・デジタル・プロパティを含むパブリッシャー・システムであって、前記パブリッシャー固有のキーが、前記プログラマティック・リアルタイム・ビッディング環境における複数の異なるパブリッシャー・システムの中からの前記パブリッシャー・システムに対応する、パブリッシャー・システムと、
前記レゾリューション・プロバイダ・システムと通信している識別情報グラフであって、前記識別情報グラフが複数のリンクを含み、前記レゾリューション・プロバイダ・システムが、前記個人識別子に一意に関連付けられた個人に対応する、前記識別情報グラフ中のリンクを識別するために、前記個人識別子を使用して前記識別情報グラフを探索するように構成された、識別情報グラフと、
前記レゾリューション・プロバイダ・システムと通信しているパブリッシャー・キー・データベースであって、前記パブリッシャー・キー・データベースが複数のエンベロープ・キーを含み、前記レゾリューション・プロバイダ・システムが、前記複数のエンベロープ・キーの中からパブリッシャー固有のエンベロープ・キーを見つけるために、前記パブリッシャー固有のキーを使用して前記パブリッシャー・キー・データベースを探索するように構成された、パブリッシャー・キー・データベースと、
前記エンベロープを受信するように構成された少なくとも1つのサプライサイド・プラットフォーム(SSP)と、
前記SSPからの前記エンベロープを受信し、プラットフォームに符号化されたリンクを生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記エンベロープを復号するように構成された、前記SSPと通信しているサイドカーと
を含み、
前記レゾリューション・プロバイダ・システムは、さらに、パブリッシャー固有の暗号化された識別子を生成し、暗号化された識別子を含むエンベロープを作成し、前記エンベロープを前記APIを通して前記レゾリューション・プロバイダ・システムから前記パブリッシャー・システムに送るために、前記パブリッシャー固有のエンベロープ・キーを使用して前記識別子を暗号化するように構成され、
前記パブリッシャー・システムが、さらに、前記ユーザ・ブラウザ上で前記エンベロープをファーストパーティ・キーとして設定するように構成された、プログラマティック・リアルタイム・ビッディング環境。
【請求項2】
前記レゾリューション・プロバイダ・システムと通信しているパブリッシャー・サブネットワーク関連付けデータベースをさらに含み、前記レゾリューション・プロバイダ・システムが、さらに、前記APIにおいて許可済みサブネットワーク・インジケータを受信することと、前記パブリッシャー・サブネットワーク関連付けデータベースを探索することによって、前記エンベロープのダウンストリーム使用をそれによって制限するために、前記リアルタイム・ビッディング・プログラマティック環境内からサブネットワークを識別することと、前記サブネットワークを前記パブリッシャー・システムに戻すこととを行うように構成された、請求項1に記載のプログラマティック・リアルタイム・ビッディング環境。
【請求項3】
前記サイドカーが、前記プラットフォームに符号化されたリンクをリアルタイムで生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記エンベロープを復号するようにさらに構成された、請求項2に記載のプログラマティック・リアルタイム・ビッディング環境。
【請求項4】
前記SSPが、少なくとも1つの好ましいSSPと、少なくとも1つの好ましくないSSPとを含み、前記好ましいSSPは、前記プラットフォームに符号化されたリンクを生成するために前記パブリッシャー固有のエンベロープ・キーにアクセスするように構成されるが、前記好ましくないSSPは、前記パブリッシャー固有のエンベロープ・キーへのアクセスを有しない、請求項3に記載のプログラマティック・リアルタイム・ビッディング環境。
【請求項5】
前記サイドカーと通信しているサイドカー・チェック・イン・サービス(SCIS)をさらに含み、前記SCISは、ダウンストリーム・デマンドサイド・プラットフォーム(DSP)が前記サブネットワークのメンバーである場合にのみ前記ダウンストリーム・デマンドサイド・プラットフォーム(DSP)へのアクセスを許すために、前記サブネットワークと前記パブリッシャー固有のエンベロープ・キーとを受信するように構成された、請求項4に記載のプログラマティック・リアルタイム・ビッディング環境。
【請求項6】
プログラマティック環境における許可済みクッキーなしアクティブ化のためのシステムであって、
識別情報グラフであり、前記識別情報グラフが、個人に対応する複数のノードと、個人の間の関係に対応するエッジとを含む、識別情報グラフと、
前記プログラマティック環境において複数のパブリッシャーの各々に対応する複数のパブリッシャー・キーを含むパブリッシャー・キー・データベースと、
レゾリューション・ベンダー・システムであり、
アプリケーション・プログラミング・インターフェース(API)と、
1つ又は複数のコンピュータ・プロセッサと、
それの中に記憶された命令を有するメモリ・スペースと
を含み、前記命令が、前記1つ又は複数のコンピュータ・プロセッサによって実行されたときに、
前記複数のパブリッシャーのうちの1つから、前記パブリッシャー・システムと通信しているユーザ・ブラウザにおいて入力され、前記APIに提示された個人識別子を受信することと、
前記複数のパブリッシャーのうちの前記1つから、前記APIにおいて提示されたパブリッシャー固有のキーを受信することとであって、前記パブリッシャー固有のキーが、前記複数のパブリッシャーのうちの前記1つにのみ関連付けられる、パブリッシャー固有のキーを受信することと、
前記個人識別子に一意に関連付けられた個人に対応する前記識別情報グラフ中のノードにおいて前記識別情報グラフ中のリンクを見つけるために、前記個人識別子を使用して前記識別情報グラフの探索を実行することと、
前記複数のパブリッシャーのうちの前記1つに対応するパブリッシャー固有のエンベロープ・キーを見つけるために、前記パブリッシャー固有のキーを使用してパブリッシャー・キー・データベースの探索を実行することと、
パブリッシャー固有の暗号化された識別子を生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記識別子を暗号化することと、
エンベロープを作成することであって、前記エンベロープが、前記パブリッシャー固有の暗号化された識別子を含むデータ構造である、エンベロープを作成することと、
前記複数のパブリッシャーのうちの前記1つに前記エンベロープを送ることであって、前記複数のパブリッシャーのうちの前記1つが前記ユーザ・ブラウザ上で前記エンベロープをファーストパーティ・クッキーとして設定し得る、前記エンベロープを送ることと
を前記1つ又は複数のコンピュータ・プロセッサに行わせる、レゾリューション・ベンダー・システムと
を含む、システム。
【請求項7】
前記レゾリューション・プロバイダ・システムの前記メモリ・スペースが、その中に記憶された命令をさらに有し、前記命令が、前記1つ又は複数のコンピュータ・プロセッサによって実行されたときに、
前記APIにおいて許可済みサブネットワーク・インジケータを受信することと、
前記エンベロープのダウンストリーム使用をそれによって制限するために、前記プログラマティック環境内からサブネットワークを識別することと、
前記サブネットワークを前記複数のパブリッシャーのうちの前記1つに戻すことと
を前記1つ又は複数のコンピュータ・プロセッサに行わせる、請求項6に記載のシステム。
【請求項8】
前記複数のパブリッシャーのうちの前記1つと通信しているサプライサイド・プラットフォーム(SSP)と通信しているサイドカーをさらに含み、前記サイドカーが、
1つ又は複数のサイドカー・プロセッサと、
それの中に記憶された命令を有するサイドカー・メモリ・スペースと
を含み、前記命令が、前記1つ又は複数のサイドカー・プロセッサによって実行されたときに、
前記SSPからのエンベロープを受信することであって、前記SSPが、それが前記ユーザ・ブラウザにおいて設定され、前記ユーザ・ブラウザから読み取られた後に前記エンベロープを受信した、エンベロープを受信することと、
プラットフォームに符号化されたリンクを生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記エンベロープを復号することと
を前記1つ又は複数のサイドカー・プロセッサに行わせる、請求項7に記載のシステム。
【請求項9】
前記サイドカー・メモリ・スペースが、前記1つ又は複数のサイドカー・プロセッサによって実行されたときに、前記プラットフォームに符号化されたリンクをリアルタイムで生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記エンベロープを復号することを前記1つ又は複数のサイドカー・プロセッサに行わせる命令をさらに有する、請求項8に記載のシステム。
【請求項10】
前記サイドカー・メモリ・スペースが、前記1つ又は複数のサイドカー・プロセッサによって実行されたときに、前記プラットフォームに符号化されたリンクを前記プログラマティック環境において少なくとも1つのダウンストリーム・デマンドサイド・プラットフォーム(DSP)に送ることを前記1つ又は複数のサイドカー・プロセッサに行わせる命令をさらに有する、請求項9に記載のシステム。
【請求項11】
前記サイドカー・メモリ・スペースが、前記1つ又は複数のサイドカー・プロセッサによって実行されたときに、前記エンベロープを好ましいSSPと好ましくないSSPとに送信することを前記1つ又は複数のサイドカー・プロセッサに行わせる命令をさらに有し、前記好ましいSSPは、前記プラットフォームに符号化されたリンクを生成するために前記パブリッシャー固有のエンベロープ・キーへのアクセスを有するが、前記好ましくないSSPは前記パブリッシャー固有のエンベロープ・キーへのアクセスを有しない、請求項10に記載のシステム。
【請求項12】
前記サイドカーと通信しているサイドカー・チェック・イン・サービス(SCIS)をさらに含み、前記SCISが、
1つ又は複数のSCISプロセッサと、
それの中に記憶された命令を有するSCISメモリ・スペースであって、前記命令が、前記1つ又は複数のSCISプロセッサによって実行されたときに、前記ダウンストリーム・デマンドサイド・プラットフォーム(DSP)が前記サブネットワークのメンバーである場合にのみ前記ダウンストリーム・デマンドサイド・プラットフォーム(DSP)へのアクセスを許すために、前記サブネットワークと前記パブリッシャー固有のエンベロープ・キーとを受信することを前記1つ又は複数のSCISプロセッサに行わせる、SCISメモリ・スペースと
を含む、請求項11に記載のシステム。
【請求項13】
プログラマティック・リアルタイム・ビッディング環境における許可済みクッキーなしアクティブ化のためのコンピュータ化された方法であって、前記方法は、
パブリッシャー・デジタル・プロパティを含むパブリッシャー・システムにおいて、ユーザ・ブラウザから個人識別子を受信するステップと、
前記パブリッシャー・システムからレゾリューション・プロバイダ・システムに前記暗号化された個人識別子とパブリッシャー固有のキーとを送信するステップであって、前記パブリッシャー固有のキーが、前記プログラマティック・リアルタイム・ビッディング環境における複数の異なるパブリッシャー・システムの中から前記パブリッシャー・システムにのみ関連付けられた、前記暗号化された個人識別子とパブリッシャー固有のキーとを送信するステップと、
前記レゾリューション・プロバイダ・システムにおいて、前記個人識別子に一意に関連付けられた個人に対応する識別情報グラフ中のリンクを見つけるために、前記個人識別子を使用して前記識別情報グラフの探索を実行するステップと、
前記レゾリューション・プロバイダ・システムにおいて、パブリッシャー固有のエンベロープ・キーを見つけるために、前記パブリッシャー固有のキーを使用してパブリッシャー・キー・データベースの探索を実行するステップと、
パブリッシャー固有の暗号化された識別子を生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記識別子を暗号化するステップと、
前記レゾリューション・プロバイダ・システムにおいて、エンベロープを作成するステップであって、前記エンベロープが、暗号化された識別子を含むデータ構造である、エンベロープを作成するステップと
前記レゾリューション・プロバイダ・システムから前記パブリッシャー・システムに前記エンベロープを送るステップと、
前記パブリッシャー・システムにおいて、前記ユーザ・ブラウザ上で前記エンベロープを設定するステップと
を含む、コンピュータ化された方法。
【請求項14】
前記レゾリューション・プロバイダ・システムが、前記パブリッシャー・システムからのAPI呼において前記個人識別子と前記パブリッシャー固有のエンベロープ・キーを受信するためのアプリケーション・プログラミング・インターフェース(API)を含む、請求項13に記載のコンピュータ化された方法。
【請求項15】
前記エンベロープがメタデータをさらに含む、請求項14に記載のコンピュータ化された方法。
【請求項16】
前記ユーザ・ブラウザ上で前記エンベロープを設定する前記ステップが、ファーストパーティ・クッキーを設定するステップを含む、請求項14に記載のコンピュータ化された方法。
【請求項17】
前記レゾリューション・プロバイダ・システムの前記API呼において許可済みサブネットワーク・インジケータを受信するステップと、
パブリッシャー・サブネットワーク関連付けデータベースにおいて、前記エンベロープのダウンストリーム使用をそれによって制限するために、前記リアルタイム・ビッディング・プログラマティック環境内からサブネットワークを識別するステップと、
前記サブネットワークを前記パブリッシャー・システムに戻すステップと
をさらに含む、請求項14に記載のコンピュータ化された方法。
【請求項18】
前記エンベロープが前記ユーザ・ブラウザにおいて設定された後に、前記ユーザ・ブラウザにおいて前記エンベロープを読み取り、前記エンベロープをサプライサイド・プラットフォーム(SSP)に送信するステップと、
前記エンベロープを前記SSPに関連付けられたサイドカーに送るステップと、
前記サイドカーにおいて、プラットフォームに符号化されたリンクを生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記エンベロープを復号するステップと
をさらに含む、請求項17に記載のコンピュータ化された方法。
【請求項19】
前記サイドカーにおいて、リアルタイムで前記プラットフォームに符号化されたリンクを生成するために、前記パブリッシャー固有のエンベロープ・キーを使用して前記エンベロープを復号するステップをさらに含む、請求項18に記載のコンピュータ化された方法。
【請求項20】
前記リアルタイム・ビッディング・プログラマティック環境において、前記プラットフォームに符号化されたリンクを、前記サイドカーから少なくとも1つのダウンストリーム・デマンドサイド・プラットフォーム(DSP)に送るステップをさらに含む、請求項19に記載のコンピュータ化された方法。
【請求項21】
好ましいSSPと好ましくないSSPとに前記エンベロープを送信するステップであって、前記好ましいSSPは、前記プラットフォームに符号化されたリンクを生成するために前記パブリッシャー固有のエンベロープ・キーへのアクセスを有するが、前記好ましくないSSPは前記パブリッシャー固有のエンベロープ・キーへのアクセスを有しない、前記エンベロープを送信するステップをさらに含む、請求項20に記載のコンピュータ化された方法。
【請求項22】
サイドカー・チェック・イン・サービス(SCIS)において、前記ダウンストリーム・デマンドサイド・プラットフォーム(DSP)が前記サブネットワークのメンバーである場合にのみ前記ダウンストリーム・デマンドサイド・プラットフォーム(DSP)へのアクセスを許すために、前記サブネットワークと前記パブリッシャー固有のエンベロープ・キーとを受信するステップをさらに含む、請求項21に記載のコンピュータ化された方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年7月21日に出願された米国仮特許出願第63/224、021号の利益を主張する。そのような出願は、それの全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
サードパーティ・クッキーは、クッキーが設定される時間にユーザが現在アクセスしているウェブサイト以外のウェブサイトによってウェブ・ブラウザ上で設定されるクッキーである。サードパーティ・クッキーは、長い間、インターネット上でユーザのブラウジング・アクティビティを追跡するために、プログラマティック・リアルタイム・ビッディング環境においてメッセージを供給することを望む人々又はメッセージ・サーバによって使用されてきた。このアクティビティを追跡することによって、メッセージング当事者は、ターゲット・メッセージを提供したり、仮想ユーザ・プロファイルを生成したり、又はウェブ分析を実行したりし得る。しかしながら、ウェブ・ブラウザは、現在、サードパーティ・クッキーがもはや利用可能でないか又はすぐに利用可能でなくなる「クッキーなし」環境に向かって進んでいる。
【0003】
現在、クッキーなし環境においてそれらの読者を識別又は認証するための手段をウェブ・コンテンツ・パブリッシャーに与えるシステムが登場してきている。これらのシステムは、識別の目的でのクッキーの喪失を克服するが、とはいえ、ウェブ・パブリッシャーの読者についての個人情報のプライバシーを保証しなければならない。プライバシー保護はクッキーなし環境における新しい課題を提示する。したがって、そのような環境における読者のプライバシーの保護を改善するためのシステム及び方法が望まれる。
【0004】
この背景セクションにおいて述べられた参照は、本発明に関する従来技術であるとは認められない。
【発明の概要】
【課題を解決するための手段】
【0005】
本発明は、クッキーなし認証環境においてパブリッシャーが人ベースの識別子へのアクセスを指定することを可能にするシステムを対象とする。信頼できる当事者のみに対してこれらの識別子へのアクセスを許可する能力をパブリッシャーに与えることによって、データ「漏洩」(すなわち、個人情報の不適当な又は偶発的な使用)は大いに低減される。特定のキーに関連付けられたアクセスを与えることをパブリッシャーが望む当事者のみが情報にアクセスし得るように、許可は、複数のキーのうちの1つを使用して同じ識別子を暗号化することによって制御される。
【0006】
特定の実施例では、レゾリューション・ベンダーによって操作されるアプリケーション・プログラミング・インターフェース(API:application programming interface)は、パブリッシャー識別子を受け付け、それらの識別子を個人に分解した後に、個人のための暗号化された識別子を含んでいる「エンベロープ」データ構造を戻す。「サイドカー」プロセスは、必要に応じて識別環境をサポートするためにエンベロープの暗号解読と再暗号化とを扱う。たとえば、サイドカーは、エンベロープを、リアルタイム・ビッディング・プログラマティック環境においてデマンドサイド・プラットフォームによって使用可能な識別子に復号する。
【0007】
個々のパブリッシャーAPIキーへのエンベロープ・キーの動的関連付けを可能にすることによって、パブリッシャーは、どのダウンストリーム当事者がキーにアクセスすることが可能であるかを制御できる。これは、許可及びデータ漏洩という問題がある「ユニバーサル」識別子にかかわる従来技術の問題を回避する。これはまた、どの当事者がアクセスできるかをパブリッシャーが制御できない、単一のグローバル・レベルの暗号化のみを含むソリューションよりも柔軟である。最後に、いくつかの実施例では、制御レイヤは、リアルタイム・ビッディング・プログラマティック・エコシステムにおいてさらに「アップストリーム」にあり、それにより、リアルタイム・ビッディング機能の限界において暗号化又は復号するだけの従来技術の識別システムよりも洗練された制御及びビジネス論理が可能になる。
【0008】
本発明のこれらの及び他の特徴、目的及び利点は、以下で説明するように、図面とともに、好ましい実施例の以下の詳細な説明と添付の特許請求の範囲との検討からより良く理解されよう。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施例による方法を示す流れ図である。
【
図2】より広いプログラマティック環境における
図1の方法を示すスイム・レーン図である。
【
図3】
図1及び
図2の方法を実装するためのシステムを示すハードウェア図である。
【発明を実施するための形態】
【0010】
本発明についてさらに詳細に説明する前に、本発明の範囲は特許請求の範囲によってのみ限定されるので、本発明は、説明される特定の実施例に限定されないこと、及び特定の実施例について説明する際に使用される用語は、それらの特定の実施例について説明する目的のためのものにすぎず、限定することを意図したものではないことを理解されたい。
【0011】
次に、
図1を参照しながら、本発明の一実施例による方法について説明し得る。パブリッシャー10は、ユーザによって望まれるコンテンツをパブリッシャー・デジタル・プロパティの形態で提供する任意のウェブサイトであり得る。パブリッシャー・デジタル・プロパティは、限定はしないが、ニュース、エンターテインメント、及びソーシャル・メディアを含む、ユーザによって望ましいと考えられるコンテンツを含んでいる任意の個別のデジタル・アセットであり得、テキスト・コンテンツ、オーディオ・コンテンツ、写真コンテンツ、又はビデオ・コンテンツを含み得る。パブリッシャー10は、バナー・メッセージ、埋込みメッセージなどの掲載によってなど、そのウェブサイト上の有料メッセージの掲載によってそのコンテンツ作成から収益を得ることを望む。
【0012】
これらのメッセージからより多くの収益を得るために、パブリッシャー10は、そのウェブサイト上に掲載されたメッセージが、その読者の興味又は購買習慣にとって重要であり、それにより、これらのメッセージの閲覧が応答に及び最終的には販売につながる可能性が高くなることを望む。このようにして、パブリッシャー10は、読者にオファーを送るために、且つ/又はパブリッシャー10のウェブサイトにおいて利用可能な一部の又は全部のコンテンツを閲覧するためにログインするために、電子メール、携帯電話番号、又は他の識別子を要求することによってなど、その読者から情報を収集し得る。
図1の実施例では電子メール11が使用される。読者によって提供される電子メール11、携帯電話番号、又は他の情報は識別子として使用され得る。しかしながら、プライバシーの理由で、この識別子は、本明細書で説明するプロセスにおいてそれが使用される前に暗号化される。識別子は、たとえば、暗号化の1つの方法として、さらなる処理が行われる前にハッシュ化され得る。
【0013】
識別子が収集されると、識別子はレゾリューション・ベンダーAPI12に送られる。パブリッシャー10に見えない様式で、API12を与えるレゾリューション・サービス・ベンダーは、暗号化されていない識別子に対応する暗号化された識別子と、潜在的に他のデータ又はメタデータとを含んでいる「エンベロープ」データ構造をもつ識別子を含んでいるAPI呼に応答する。API12の目的は、識別子が属する個人を確実に、匿名的に識別し、(以下で説明するように)暗号化された識別情報「エンベロープ」をパブリッシャーに戻すために、ハッシュ化された識別子を使用することが可能であるシステムへのフロント・エンドを与えることである。このプロセスは、レゾリューション・ベンダーの識別情報グラフを使用して実行される。
【0014】
識別情報グラフは、地理的又は地政学的地域にいる消費者など、対象者の大規模な収集のためのノードを含んでいるデータ構造である。ノードはそのような対象者のためのタッチポイントに対応し、グラフ中のエッジは、同じ対象者に対応するノードを接続する。ハッシュ化された識別子を求めて識別情報グラフを検索することによって、対応する対象者(たとえば、消費者)が識別され得る。リンクは、たとえば、特定の地理的又は地政学的地域にいるすべての個人など、多数のそのような対象者の中から特定の対象者に一意に関連付けられた識別子である。リンクは、たとえば、数字又は英数字の識別子を含む、任意の形態のものであり得る。これらの種類のリンクを与える1つのそのようなサービスは、カリフォルニア州サンフランシスコのLiveRamp社によって提供されるRampIDサービスである。RampIDは、特定の個人、ビジネス、又は世帯に一意に及び持続的に関連付けられるリンクである。その場合、パブリッシャー10によって入力された識別子が、エンベロープ中に含まれる暗号化された識別子に変換されることが見られ得る。エンベロープは、関連があるメタデータとともに1つ又は複数の暗号化されたリンクを含んでいる暗号化されたコンテナである。
【0015】
エンベロープが戻されると、パブリッシャー10は、次いで、その読者のブラウザ上でファーストパーティ・クッキー又はローカル・ストレージ・オブジェクトを設定し得る。このファーストパーティ・クッキーはエンベロープを含んでいる。このクッキーはパブリッシャー10によって設定されるので、それは、読者のブラウザの観点から、閲覧されているウェブサイトによって与えられており、サード・パーティによって与えられているのではないことに留意されたい。エンベロープは、事実上、ファーストパーティ・クッキーであり、サードパーティ・クッキーではないので、本システムは、したがって、サードパーティ・クッキーがブロックされる環境において又はブラウザ上でさえ動作することができる。
【0016】
ステップ14において、レゾリューション・サービス・ベンダーは、(パブリッシャー固有の暗号化された識別子をもつ)パブリッシャー固有のエンベロープがこのインスタンス中で望まれるかどうかを決定する。望まれない場合、本システムは、通常の様式で動作し、レゾリューションAPI12を通して標準の暗号化と許可とをもつエンベロープを戻し、そのエンベロープはパブリッシャー10に返される。そうでない場合、処理はパブリッシャーエンベロープ・キー・データベース16に移る。パブリッシャーがパブリッシャー固有のエンベロープを望む場合、パブリッシャーは、レゾリューションAPI12においてAPI呼中のパブリッシャー固有のエンベロープ・キーを与える必要があることに留意されたい。パブリッシャーエンベロープ・キー・データベース16は、レゾリューション・サービス・ベンダーによって維持されるリンクのデータベースに対するパブリッシャー固有のエンベロープ・キーの照合を可能にするルックアップ機能を与える。
【0017】
ステップ18において、レゾリューション・サービス・ベンダーは、さらに、パブリッシャーが、許可済みデマンドサイド・プラットフォーム(DSP:demand-side platform)又は別の受信側のダウンストリームの識別子へのアクセスをさらに制限することを希望するかどうかを(レゾリューションAPI12呼中に与えられた情報に基づいて)決定する。プログラマティック・リアルタイム・ビッディング環境において、DSPは、デジタル・メッセージング・インベントリのバイヤーが、様々なパブリッシャーにバイヤーのメッセージングを掲載する権利のためのビッドを管理することを可能にするシステムである。この場合、パブリッシャー・サブネットワーク関連付けデータベース20は、特定の暗号化された読者識別子と特定のサブネットワークとの間の追加の関連付けを適用するために使用され得る。
【0018】
ファーストパーティ・クッキーを設定してからしばらく後に、エンベロープは、ユーザのブラウザから読み取られ、サプライサイド・プラットフォーム(SSP:supply-side platform)に渡される。SSPはこのシステム中の好ましいSSP22又は好ましくないSSP24であり得る。SSPは、プログラマティック環境内で自動化された様式でメッセージング空間をプログラマティックに販売するために使用される、パブリッシャーによって契約されたメッセージング・エクスチェンジである。SSPは、
図1に示されているように、サービス・プロバイダの「サイドカー」26を実装する。サイドカー26は、リアルタイム・ビッディング・プログラマティック・システムにおいて使用される識別子のセキュアな暗号解読及び復号を管理するためのサブシステムである。それは、本システムをリアルタイム・ビッディング・プログラマティック環境において作動可能にする速度で(RampID識別子など)プラットフォームに符号化されたリンクを生成する。この速度は重要であり、なぜなら、プラットフォームに符号化されたリンクを十分に小さい時間フレーム中で提供することに失敗すると、ユーザは、パブリッシャー・ウェブサイトを使用可能にするために、非常に多くの遅延を経験することになり、本システムが作動不能になるからである。
【0019】
サイドカー26は、リンクを管理すること、符号化情報への更新を定期的に検査することによる許可機能を含み得、テレメトリ情報を定期的に報告し得る。サイドカー26は、(
図2を参照しながら以下でさらに説明するように)DSPなど、ダウンストリーム・プラットフォームが使用するための識別子を生成する。DSPは、上記のように機能がSSPに似ているが、自動化されたリアルタイム・ビッディング様式でエクスチェンジからメッセージング・インプレッションを買うために、マーケティング(すなわち、「デマンド」サイド)上で使用される。DSP識別子は、上記で説明したようにそれぞれ暗号化される。暗号化された識別子が様々なDSPに配布されると、次いで、メッセージを送ることを望む人々、又はそれらのエージェンシーへのパブリッシャー・インベントリについてのプログラマティック・リアルタイム・ビッディングは、サードパーティ・クッキー又はデバイス識別子の必要なしに、通常の様式で進み得る。
【0020】
パブリッシャー10が、たった今説明したように、それがレゾリューションAPI12から戻す必要があるエンベロープを有すると、次いで、パブリッシャー10はそのエンベロープを「好ましい」(すなわち、信頼できる)SSP22又は好ましくないSSP24に送り得る。しかしながら、好ましいSSP22のみが、サイドカー26を使用してエンベロープを暗号解読することが可能であることが分かり得る。サイドカー26の目的は、セキュアな環境においてエンベロープのための暗号化/暗号解読サービスを迅速に、効率的に提供することである。サイドカー26は、しかしながら、SSPを好ましくないSSP24として指定したパブリッシャーからのエンベロープを暗号解読することは不可能である。一方、サイドカー26は、随意にサブネットワーク関連付けをも使用して、好ましいSSP22のための識別子のための暗号解読を行い得る。パブリッシャー固有のエンベロープ、及び識別子-消費者サブネットワーク関係は、サイドカー・チェック・イン・サービス(SCIS:Sidecar Check In Service)28において好ましいサイドカー・インスタンスにプッシュされる。
図1に示されているように、好ましいSSP22は、エンベロープを好ましくないSSP24に渡し得るが、好ましくないSSP24は、依然として、サイドカー26を使用してそれらの識別子を暗号解読し、使用することが不可能である。したがって、このプロセスは、パブリッシャー10の望みに対して好ましくないSSP24による識別子の不正使用を防ぐ。
【0021】
次に、
図2のスイム・レーン・チャートを参照しながら、本発明の一実施例についてプログラマティック・リアルタイム・ビッディング環境のより大きいコンテキストにおいて説明し得る。このエコシステムは、パブリッシャー及びレゾリューション・ベンダー、並びに1つ又は複数のエクスチェンジ/サプライサイド・プラットフォーム(SSP)及びデマンドサイド・プラットフォーム(DSP)を含む。処理は、プラットフォーム・データベース40を維持するレゾリューション・ベンダーにおいて開始し得る。プラットフォーム・データベース40は、リアルタイム・ビッディング・プログラマティック・エコシステムにおいて使用され得る一体化されたメッセージング・エクスチェンジ/サプライサイド・プラットフォームとデマンドサイド・プラットフォームとのためのアドレスのセットを含む。パブリッシャーは、パブリッシャー・ユーザ・インターフェース(UI:user interface)を通してHTTP「GET」コマンドによってなど、プラットフォーム・データベース40から情報を取り出す要求を実行する。パブリッシャーは、次いで、プラットフォーム選択ステップ42において、エクスチェンジ又はDSPを選択する。この情報は、HTTP「POST」コマンドによってなど、レゾリューション・ベンダーに戻される。
【0022】
レゾリューション・ベンダーは、ステップ44において、エクスチェンジ又はDSP選択を受信し、パブリッシャーの要望通りに、キーと、関連付けられたサブネットワークとを生成する。レゾリューション・ベンダーは、次いで、ステップ44において、更新された構成をプッシュ配信する。SSPは、構成受付ステップ48において、この構成を受け付ける。パブリッシャーは、ステップ50において、エンベロープを生成する目的で、レゾリューション・ベンダーによって維持されるAPIにAPI呼を行う。レゾリューション・ベンダーのサイドカーは、ステップ52において、構成に基づいて応答エンベロープを作成し、エンベロープは、ステップ54において、API呼応答中のパブリッシャーに送られる。この時点で、パブリッシャーは、適切に暗号化された識別子と、本システムのこの特定の構成をもつエンベロープ中に含まれる関連するデータ又はメタデータとをもつエンベロープを有する。
【0023】
パブリッシャーがエンベロープを有すると、エクスチェンジ/SSPにメッセージ要求が送られ、ステップ56において、エクスチェンジ・サイドカーは、エンベロープを処理することを試みる。決定ブロック58において、エクスチェンジ/SSPは、サイドカーが対応するリンク又はキーを有するかどうかを決定する。サイドカーが対応するリンク又はキーを有しない場合、アクセスは拒否され、処理はステップ62において停止する。サイドカーが対応するリンク又はキーを有する場合、決定ブロック60において、適切な許可が与えられたかどうかが決定される。サイドカーが対応するリンク又はキーを有しない場合、アクセスは拒否され、処理はステップ62において停止する。他の場合、エクスチェンジは、ステップ64において、ターゲティングのための識別子を受信し得る。さらに、リアルタイム・ビッディング環境において需要サイドからのビッド要求が受信された場合、ステップ66において、DSPも識別子を受信し得る。
【0024】
図3は、本発明のいくつかの実施例によるシステムの、パブリッシャーと、レゾリューション・ベンダーと、エクスチェンジ/SSP構成要素とを実装するためのハードウェア構成の概観を与える。これらの構成要素は、パブリッシャー・システム70と、SSP72と、上記で説明したパブリッシャー・システム10と、サイドカー・システム74とを含む。リアルタイム・ビッディング要件において動作するために、処理は、速い速度で行われなればならず、さもなければ、パブリッシャー・サイトにおけるユーザのウェブ・ベージ上のメッセージを設定する際の生じる遅延は、システムが効果的に機能するためには大きすぎるであろうことに留意されたい。サイドカーを動作させるために、エクスチェンジは、いくつかの実施例では、2GHz以上のベース周波数において動作する1つ又は複数の中央処理ユニット・コアと、300MB又はRAM又はそれ以上の利用可能な、ネットワーキング機能と、x86又はARM命令セットのためのサポートと、十分なディスク・スペースとを有しなければならない。
【0025】
本発明の代替実施例では、(たとえば、対称ではなく非対称の)異なる暗号化方法を適用することができることに留意されたい。ダウンストリーム使用を許可するためにサブネットワーク以外の情報を使用することができる。サイドカー以外のアプリケーションは処理を扱うことができる。データ共有はリアルタイム・ビッディング/メッセージング・ワークフローを超えて行われ得る。
【0026】
本発明は、本明細書で説明する様々なプロセス実装形態において、いくつかの利点を与える。本プロセスが動作する速度と、本プロセスがリアルタイムで機能することとのために、本プロセスは、ユーザが気づく遅延を有さず、したがって、パブリッシャー・ウェブサイトにおけるユーザ・エクスペリエンスに影響を及ぼさない。様々な実装形態では、本発明は、フラッシュ・メモリ又はハード・ドライブ中など、ユーザ・ブラウザに関連付けられた永続的なファーストパーティ・ストレージにエンベロープを書き込むことによって、サードパーティ・クッキーの問題を回避する。いくつかの構成では、本発明は、リアルタイム・ビッディング・プログラマティックエコシステム(たとえばprebid.js)において使用されるアダプタと容易にインターフェースされ、また、カリフォルニア州サンフランシスコのLiveRamp社のコンセント・マネジメント・プラットフォーム(CMP:consent management platform)のためのPrivacy Manager JavaScript APIなど、様々なサードパーティ・システムと容易にインターフェースし得る。さらに、いくつかの実施例では、本発明は、ユーザの電子メール、携帯電話番号又は他の個人情報を要求するためのカスタマイズ可能なモーダルを提示し得、ランタイムにおいて構成オブジェクトを渡すことによって構成され得る。
【0027】
リンク・エンベロープを記憶するためにクッキー・キャッシュが使用されるアプリケーションに関して本発明について説明したが、本発明はそのように限定されない。他の実装形態では、本発明は、スマートフォンを含むモバイル・デバイスに関して現在そうであるように、ハードウェア・デバイス識別子がパブリッシャーにとって利用可能なチャネルにおいて適用され得る。他の実装形態における本発明は、アドレス指定可能なテレビジョン又はテレビジョン・セットトップ・ボックス上のインターネット・プロトコル(IP)アドレスなど、デバイス識別情報がまったく存在しないか、又は不完全であるチャネルにおいても適用され得る。
【0028】
本発明の実装形態のソフトウェア構成要素のより詳細な説明が次に与えられ得る。一実施例では、本発明は、限定はしないが、ログイン対話を含む、ウェブサイトにおける電子メール・エントリを検出し、電子メール又は文章によってユーザに更新を送ることを提供する、パブリッシャーのためのクライアント側ソリューションとして実装される。パブリッシャーは、ソリューションの一部として与えられるJavaScript(登録商標)ライブラリを使用し、プロバイダがインスタンス化を認識し得るように、それを構成オブジェクトでインスタンス化するように要求される。それは、セルフホストJavaScript(登録商標)ファイルとしてソースHTMLヘッダ中に含められるか、又は直接サービスされ得る。ライブラリ名前がats.jsのような場合、セルフホスト・スクリプトは、<script src=”/public/javascript/ats.js”></script>のように見え得る。これは、ページが完全にレンダリングされ、ユーザ対話の準備ができていることを保証するために、終了</body>タグのすぐ前に含められ得る。高レイテンシ・ページの場合、ats.jsは<head>に付加され得る。ライブラリを始めるために、以下に提示されるようなスクリプト・タグが使用され得る。
【数1】
【0029】
ライブラリは、検出(識別子が直接渡されない限り)と、識別情報分析と、永続性とを管理する。デマンド・パートナーは、次いで、direct JavaScript呼を介してか、又はprebid.jsユーザIDモジュールによってのいずれかで、それの記憶ロケーションからリンク・エンベロープを取り出すことが可能である。パブリッシャーは、パブリッシャー側からソリューションを実装するためにJavaScript(登録商標)ライブラリとドキュメンテーション情報とを与えられる。特に、パブリッシャー・チームは、識別情報エンベロープをサポートするプロプライエタリなpre-bidアダプタとともに、ats.jsライブラリと標準prebid.jsコア・ライブラリとをプル・ダウンする。このシステムは、インストールされると、パブリッシャー・サイトを通してユーザからの入力として電子メール・アドレス(又は、代替実施例では、他の識別子)を受信する。ここで、ユーザは、所望のニュース又は他のパブリッシャー・コンテンツのためにパブリッシャー・ウェブサイトにアクセスすると仮定する。ユーザは、この実例では、彼又は彼女のiPhone(登録商標)デバイス上のSafariブラウザを使用して適切なウェブページにナビゲートする。ユーザは、データ共有を許可するための要求を提示され、肯定的に応答する。ユーザは、次いで、所望のコンテンツを提示される。読取り後、モーダルがスクリーン上をスライド・ダウンし、ユーザに、彼又は彼女の電子メールのインボックスにおいて直接コンテンツ更新を受信するために、彼又は彼女の電子メール・アドレスについて尋ねる。これらの更新を望むユーザは、同意し、パブリッシャー・ホーム・ページに戻る。パブリッシャー・ユーザは、その場合、一般的なプログラマティックリアルタイム・ビッディング・ソリューションにおける識別情報エンベロープを採用する。
【0030】
レゾリューション・ベンダーは、パブリッシャーのウェブサイトのヘッダに配置されるコードをパブリッシャーに与える。前に説明したように、ユーザの識別情報がサイトに与えられると、APIは、(電子メールなどの)個人情報を識別情報トークン(リンクを含んでいるエンベロープ)に変換し、それをユーザのブラウザ上のファーストパーティ・クッキー・コンテキスト中に記憶する。ページ・ロード又は後続のページ訪問時に、ヘッダ・ビッダーはファーストパーティ・クッキーからエンベロープ中のリンクを読み取り、これをSSPに渡す。各SSPは、次いで、識別子をDSPに変換するために、プロバイダの「サイドカー」にリンク・エンベロープを渡す。DSP識別子は、プログラマティックリアルタイム・ビッド要求において、インベントリについての他の情報とともにDSPに渡される。DSPは、その場合、ファーストパーティ・データとサードパーティ・データの両方に結合されたリンクをもつ最適に通知されたビッドを行うことが可能である。
【0031】
見られ得るように、本システム及び方法は、パブリッシャーがパブリッシャーのプロパティに容易に組み込み得るJavaScript(登録商標)ライブラリを与える。適用法によって求められるように承諾が適切に収集されるまで、コードは実行するべきでないが、コードは、ページがユーザによって対話され得るとすぐに実行するべきである。ライブラリは、識別子の「一般的な」ロケーションに関するカスケーディング・スタイル・シート(CSS:cascading style sheets)セレクタの共通セットを参照し得る。たとえば、input[type=text]。パブリッシャーは、ライブラリ・ファイル自体又は追加のセレクタのみのファイルのいずれかにおいて、追加のCSSセレクタを組み込み得る。構成されたCSSセレクタを使用して、システムは、一般的な電子メール正規表現(regex)、たとえば、
【数2】
によって定義されているように有効な電子メール・アドレスを含んでいる興味深い「サブミット」イベントを監視し得る。有効な電子メール・サブミッション・イベントを認識すると、電子メールは(SHA1アルゴリズムを使用してなど)ハッシュされ、ハッシュを受け取り、
【数3】
のような、エンベロープをJSONペイロード中で戻すレゾリューション・ベンダーからAPIに対してネットワーク呼が行われる。エンベロープは、次いで、値がその時点で書き込まれたか又は更新されたタイムスタンプとともに、クライアント側のファーストパーティ・ストレージに書き込まれる。prebid.jsアダプタは、この時点で、エンベロープを読み取ることと、それをプログラマティックリアルタイム・ビッディングエコシステム中のメッセージ・エクスチェンジで利用可能にすることとを引き継ぐ。
【0032】
構成オプションにより、パブリッシャーは、個人情報をセキュアな暗号化されたリンク・エンベロープにどのように及びいつ変換するべきかを命令することが可能になる。ソリューションの特定のインスタンス化をプロバイダに確認し、それを特定のパブリッシャーに関連付けるために、構成オブジェクトにおいてplacementIDが使用されるべきである。ats.jsは、2つの基本動作モード、すなわち、ダイレクトと検出とを有する。ダイレクト・モードでは、パブリッシャーは識別子を直接ATSライブラリに与える。パブリッシャーがユーザ・ログイン情報をすでに有する場合、パブリッシャーは、ユーザ・ログイン情報を直接パブリッシャーの構成に含めることによって、要求によってユーザ・ログイン情報が使用可能であることを保証し得る。ユーザがプロパティ上で識別子を与えることをパブリッシャーが知っているが、それをサプライ側に与えることが可能でない場合(たとえば、Marketo又はMailchimpウィジェットによって与えられるニュースレター・サインアップがある場合など)、プロバイダはDOM(document object model)又はURL(uniform resource locator)駆動型検出方法を使用することができる。ダイレクトを使用して、パブリッシャーはプレーンテキスト電子メール・アドレスを以下のように渡し得る(プロバイダは、ここではLiveRamp社である)。
【数4】
好ましい実施例では、パブリッシャーは、考え得る最良の(したがって、メッセージ作成当事者が接触したいユーザに一致する)識別情報分析を保証するために、プレーンテキスト電子メール・アドレス又は複数のハッシュ・タイプのいずれかをレゾリューション・ベンダーに渡す。電子メール・ハッシュが渡される前に、パブリッシャーは、好ましくは、電子メールが正規表現に対して検証されたことを保証し、空白を削除し、アドレス中のすべての文字をダウンケースするべきである。検出が使用された場合、ソリューションは、以下のように、どこで識別子を監視するべきかをソリューションに命令する1つ又は複数の標準CSSセレクタを受け付けるように構成され得る。
【数5】
代替的に、パブリッシャーは、URLパラメータ中の識別子を監視するようにソリューションに命令することができる。たとえば、ユーザが電子メール通知によってクロックし、https:///example.com/alerts?email_trigger=imeyers@liveramp.comにランドした場合、パブリッシャーは、email_triggerパラメータ中の値を検査するようにソリューションを構成することができる。URL値はdetectionType属性の下で渡されるべきである。URL検出は以下のようであり得る。
【数6】
【0033】
さらに、あまり一般的に使用されないことが予想される、いくつかの高度な構成オプションがある。デフォルトでは、エンベロープは(生成タイムスタンプ及びバージョン情報とともに)ファーストパーティ・クッキーに書き込まれる。パブリッシャーは、代替的に、storageType属性を変更することによってローカル・ストレージ・オブジェクトに書き込むようにソリューションに命令することができる。
【数7】
パブリッシャーが特定のブラウザ上でATSを実行することを望む場合、それらはブラウザ属性において以下のように識別され得る。
【数8】
デフォルトでは、ソリューションは、最初にロードされたライブラリを利用して動作する。代替的に、検出間隔が指定され得る。これは、たとえば、パブリッシャーが、ユーザの電子メール・アドレスをDOM要素中に取り込むための非同期プロセスを予想する場合に有用である。10秒ごとの検出のための実例は以下のようであり得る。
【数9】
ソリューションがその上で実行することを試みるであろうページを制限することが望まれる場合、構成においてurlRegexが使用され得る。
【数10】
デフォルトでは、ソリューションはいかなるライブラリ・イベントをもロギングしないが、特に開発中に、より詳細なログを閲覧することが有用であり得る。
【数11】
他の可能性のある値は[“info”,“warn”,“error”]である。
【0034】
一般に、呼び出されるであろうats.js関数のみがats.start(config)である。この関数は、それ自体のHTML<script>タグ中に配置され、ats.jsのための<script>タグのすぐ後にパブリッシャーの構成オブジェクトとともに呼び出されるべきである。他の可能な関数呼び出しはats. retrieveEnvelope(callback)であり得、それは、構成されたストレージからエンベロープをフェッチし、コールバック関数は随意である。関数がコールバックなしで呼び出された場合、プロミスが戻される。機能がコールバックありで呼び出された場合、エンベロープ値が戻される。別の可能な関数はats.triggerDetection();である。この関数は、パブリッシャーの構成において指定されたCSSセレクタを用いてDOM要素を走査する。
【0035】
いくつかの実装形態では、ats.jsはprebid.jsに接続するように最適化されるので、先在するオープン・ソースprebid.jsはats.jsとともに使用される。適切に構成されたprebid.jsファイルがダウンロードされると、パブリッシャーは、必要とされる情報をリンク・ユーザIDモジュールに渡すためにpbjs.setConfigを更新するべきである。prebid.jsのための構成は以下に示されている。
【数12】
【0036】
直接アクセスされるJavaScript(登録商標)ライブラリの基礎になるAPIの場合、API呼のためのクエリ・パラメータは、pid(パートナーID番号)と、it(電子メールの識別子タイプ、すなわち、ハッシュされた電子メール、ハッシュされた電話番号など)と、iv(未加工電子メールのハッシュ)と、ct(APIに渡される承諾のタイプ、たとえば、それがGDPRの下で求められるTCFv.1.1又はv2互換承諾文字列であるか否かを示す)と、cv(関連がある承諾文字列値)とを含む。ハッシング法は、例として、MD5、SHA1、及びSHA256を含み得る。好ましくは、すべてのスペース、タブ、及び他の空の文字は処理の前にプレーンテキスト電子メールから削除され、大文字はすべて小文字に変換される。「フェイク」電子メールは識別され、削除される。電話番号の場合、フォーマッティングは、好ましくは、処理の前に削除されるべきである。API呼からの応答は、成功した場合、
【数13】
など、識別情報エンベロープを含んでいる簡単なキー/値をもつJSONオブジェクトである。ユーザがオプト・アウトされた場合、コンテンツをもたない異なる応答コードがある。
【0037】
上記で説明した実装形態において、本発明はサードパーティ・クッキーの使用を必要としないが、代替実装形態では、そのような機能が与えられ得る。たとえば、アドレス指定能力を高めるために、代替実装形態は標準の画像マッチ・ピクセルの削除をサポートし得る。この場合、パブリッシャーはサービス・プロバイダにピクセル識別子を要求する。ピクセル識別子が取得されると、これは、以下に与えられる例示的なコードを用いてats.js構成中に与えられ得る。
【数14】
このコードは、終了</body>タグのすぐ前のスクリプト・タグを削除し、サービス・プロバイダ・サードパーティ・クッキーを従来の様式で設定することを試みる。
【0038】
いくつかの実装形態では、本発明はソーシャル・メディア・ログイン情報と一体化され得る。ソーシャル・ログインは、与えられた情報の有効性において最小の摩擦と高い信頼性をもつ、ユーザを登録するための強力なツールであり得る。たとえば、フェイスブック・プラットフォームとの一体化が望まれる場合について考える。パブリッシャーは、パブリッシャーが、ats.jsとともに使用するためにフェイスブックAPIからユーザ電子メールを取得することを可能にする、フェイスブックJavaScript SDK(software development kit)を使用する可能性がある。パブリッシャーは、以下の実例のようにHTMLコードを使用して「フェイスブックでログイン」ボタンを実装し得る。
【数15】
その場合、onLogin関数のためのJavaScript(登録商標)コードは以下のようであり得る。
【数16】
別の実例として、ユーザを認証するためにGoogleサイン・インを使用するパブリッシャーについて考える。この場合、パブリッシャーは、以下の例示的なJavaScript(登録商標)コードに示されているように、ユーザの電子メール・アドレスを使用してプロバイダのシステムを呼び出すためにそれのonSignIn関数を修正することのみを必要とし得る。
【数17】
【0039】
様々な実装形態では、本発明はまた、Googleタグ・マネージャなど、ウェブサイト・タグ・マネージャと一体化され得る。現在実装されているGoogleタグ・マネージャを使用すると、パブリッシャーは、最初にurl、https://tagmanager.google.comに移動し、次いで「新しいタグ」をクリックする。「Untitled Tag」というタグ名は、次いで、「ATS JavaScript」など、作成されるタグを識別するためのものに変更される。ユーザは、次いで、タグ構成セクションをクリックし、「タグ・タイプを選定する」の下で「カスタムHTMLタグ」をクリックする。以下の例示的なHTMLコードが使用され得、パブリッシャーはそれ自体のplacementIDをREPLACE_ME値に置き換える。
【数18】
パブリッシャーは、次いで、「トリガする」をクリックし、パブリッシャーがats.js実行を接続したいトリガを選択する。一実例では、トリガは、すべてのページ上で起動するように構成され得る。パブリッシャーは、次いで、変更を保存し、「サブミット」をクリックし、次いで「パブリッシャー」をクリックし、随意に、バージョン変更ノートを追加する。
【0040】
いくつかの実装形態では、本発明は、ハッシュされた電子メール・アドレス及び電話番号などの一般的な識別子の代わりに、カスタム識別子(カスタムID)の使用をサポートし得る。この機能を実装するために、マッピング・ファイルがサービス・プロバイダに送られ得る。一実例では、ファイルは、パブリッシャー企業名と、アップロードのタイプと、下線によって区切られたISO8601フォーマットにおける現在の日付とを含んでいるべきである。一実例は「IansCompany_AKP_2020-03-01.tsv」であろう。ファイルのコンテンツは、この実例では、「CID」及び「電子メール・アドレス」と題する、2つのタブ区切りの列である。第1の列は、パブリッシャーがats.jsシステムに入力するユーザIDを含んでいる。第2の列は、SHA-256ハッシュされた電子メール・アドレスを含んでいる。電子メール・アドレスはダウンケースであるべきであり、正確な結果を保証するために、空白はハッシュするより前に削除されるべきである。ファイルはSFTP(SSH File Transfer Protocol)を介してプロバイダに送られ得る。
【0041】
プロバイダが、パブリッシャーの第1のマッピング・ファイルの取り込みの成功を確認すると、パブリッシャーは、次いで、新たに作成されたカスタム識別子のためのats.jsを構成する。プロバイダは、構成中に含まれるべきアカウントIDをパブリッシャーに与える。customerIDRegex中の識別子のための正規表現も含まれるべきである。正規表現により、識別子が予想されるパターンに一致することをats.jsが検証することが可能になる。未加工識別子とともにats.jsを使用することと同様に、パブリッシャーは、識別子を(customerIDとして)直接構成パラメータに渡すか、又はats.jsを検出モードで動作させるかのいずれかを行うことができる。検出が使用される場合、パブリッシャーは、「detectionSubject」:「customerIdentifier」が、detectionTypeなど、何らかの他の必要とされる属性と一緒に渡されることを保証するべきである。サンプル構成カスタムID検出は以下のようになる。
【数19】
カスタムIDのダイレクト動作のためのサンプル構成は以下のようになる。
【数20】
【0042】
いくつかの実装形態では、本発明は、電子メール・ニュースレター製品からURLに渡された電子メールを受け付ける能力を有し得る。概して、電子メールは元の受信者以外の個人に転送され得るので、ユーザからのダイレクト・ログインは、ユーザのために何のデータが処理されるのかの最良の透過性を与え、また、パブリッシャーが正確な識別情報を有することを保証するので、その手法を活用することが好ましい。とはいえ、電子メール・ニュースレター製品からの電子メールを利用することは、しかしながら、それらの電子メール・サービス・プロバイダ(ESP:email service proider)中に識別子ユーザの大量のプールをすでに有するパブリッシャーのために有用であり得る。ats.jsがこれらの識別子を活用することを可能にするために、パブリッシャーは、サイトを訪れるためにユーザがクリック・スルーするときに識別子を渡すように、それの標準ニュースレター又は取引電子メールを修正するべきである。パブリッシャーは、追加のクエリ・パラメータを追加するために新しいリンクを追加し(又は既存のリンクを修正し)、次いで、ユーザの電子メール・アドレスの動的に入力された表現を表すために[電子メール]を追加する。1つの例示的なURLは、https://authenticated-traffic-solution.com?user_id=[email]であり得る。次に、パブリッシャーは、それのキャンペーン・モニターを経由した電子メール・アドレスを検出し、分析するようにats.jsを構成する。パブリッシャーの実際のplacementIDと、リンクをセット・アップするときに使用されるクエリ・パラメータとを使用するために、以下の例示的なJavaScript(登録商標)が使用され、修正され得る。
【数21】
【0043】
電子メール・キャンペーンのためにメールチンプ(mailchimp)が使用される特定の実例では、追加のクエリ・パラメータが、ユーザの電子メール・アドレスの動的に入力された表現に*|EMAIL|*を追加する。例示的なURLは、https://authenticated-traffic-solution.com?user_id=*|email|*であろう。パブリッシャーは、次いで、リンクを更新するために「挿入」をクリックするであろう。プレビューでは、パブリッシャーは、<<Test Email Address>>と入力された電子メール・マクロを見ることになる。稼働中に、このフィールドは受信側の電子メールを入力される。パブリッシャーは、次いで、メールチンプを通して渡された電子メール・アドレスを検出し、分析するようにats.jsを構成し、以下の例示的な構成が使用され得る。
【数22】
【0044】
本明細書で説明するシステム及び方法は様々な実施例においてハードウェアとソフトウェアの任意の組合せによって実装され得る。たとえば、一実施例では、本システム及び方法は、それの各々が、プロセッサに結合されたコンピュータ可読記憶媒体上に記憶されたプログラム命令を実行する1つ又は複数のプロセッサを含む、コンピュータ・システム又はコンピュータ・システムの集合によって実装され得る。プログラム命令は、本明細書で説明された機能を実装し得る。図に示され、本明細書で説明された様々なシステム及び表示は例示的な実装形態を表す。任意の方法の順序は変更され得、様々な要素が追加、修正、又は省略され得る。
【0045】
本明細書で説明するような計算システム又は計算デバイスは、本発明の様々な実装形態の一部を形成する、クラウド・コンピューティング・システム又は非クラウド・コンピューティング・システムのハードウェア部分を実装し得る。コンピュータ・システムは、限定はしないが、コモディティ・サーバ、パーソナル・コンピュータ・システム、デスクトップ・コンピュータ、ラップトップ又はノートブック・コンピュータ、メインフレーム・コンピュータ・システム、ハンドヘルド・コンピュータ、ワークステーション、ネットワーク・コンピュータ、コンシューマ・デバイス、アプリケーション・サーバ、ストレージ・デバイス、電話、携帯電話、又は、一般に、任意のタイプの計算ノード(computing node)、計算ノード(compute node)、計算デバイス(compute device)、及び/又は計算デバイス(computing device)を含む、様々なタイプのデバイスのいずれかであり得る。計算システムは、入出力(I/O:input/output)インターフェースを介してシステム・メモリに結合された、(それらのいずれかが、シングルスレッド又はマルチスレッドであり得る複数の処理コアを含み得る)1つ又は複数のプロセッサを含む。コンピュータ・システムは、I/Oインターフェースに結合されたネットワーク・インターフェースをさらに含み得る。
【0046】
様々な実施例では、コンピュータ・システムは、1つのプロセッサを含むシングル・プロセッサ・システムか、又は複数のプロセッサを含むマルチプロセッサ・システムであり得る。プロセッサは、計算命令を実行することが可能な任意の好適なプロセッサであり得る。たとえば、様々な実施例では、それらは、様々な命令セット・アーキテクチャのいずれかを実装する汎用プロセッサ又は組込みプロセッサであり得る。マルチプロセッサ・システムにおいて、プロセッサの各々は、必ずしもそうであるとは限らないが、一般的に同じ命令セットを実装し得る。コンピュータ・システムはまた、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットなど、通信ネットワークを介して他のシステム及び/又は構成要素と通信するための1つ又は複数のネットワーク通信デバイス(たとえば、ネットワーク・インターフェース)を含む。たとえば、計算デバイス上で実行しているクライアント・アプリケーションは、様々なサブシステムにおいて実装されるようなクラウド・コンピューティング又は非クラウド・コンピューティング環境において、本明細書で説明されたシステムの構成要素のうちの1つ又は複数を実装する単一のサーバ又はサーバのクラスタ上で実行しているサーバ・アプリケーションと通信するために、ネットワーク・インターフェースを使用し得る。別の実例では、コンピュータ・システム上で実行しているサーバ・アプリケーションのインスタンスは、他のコンピュータ・システム上に実装され得るアプリケーションの他のインスタンスと通信するためにネットワーク・インターフェースを使用し得る。
【0047】
計算デバイスはまた、1つ又は複数の永続ストレージ・デバイス及び/又は1つ又は複数のI/Oデバイスを含む。様々な実施例では、永続ストレージ・デバイスは、ディスク・ドライブ、テープ・ドライブ、固体メモリ、他の大容量ストレージ・デバイス、又は任意の他の永続ストレージ・デバイスに対応し得る。コンピュータ・システム(又は分散型アプリケーション又はその上で動作しているオペレーティング・システム)は、要求通りに、永続ストレージ・デバイス中に命令及び/又はデータを記憶し得、必要に応じて、記憶された命令及び/又はデータを取り出し得る。たとえば、いくつかの実施例では、コンピュータ・システムは制御プレーン又は制御システムの1つ又は複数のノードを実装し得、永続ストレージは、そのサーバ・ノードに取り付けられたSSD(solid-state drive)を含み得る。複数のコンピュータ・システムは、同じ永続ストレージ・デバイスを共有し得るか、又は、永続ストレージ・デバイスのプール中のデバイスが同じ又は異なるストレージ技術を表す、永続ストレージ・デバイスのプールを共有し得る。
【0048】
コンピュータ・システムは、1つ又は複数のプロセッサによってアクセス可能なコード/命令及びデータを記憶し得る1つ又は複数のシステム・メモリを含む。システム・メモリは、たとえばアクセス速度に基づいてメモリ中の情報をスワップするように設計されたシステム中に複数のレベルのメモリ及びメモリ・キャッシュを含み得る。インターリービング及びスワッピングは仮想メモリ実装における永続ストレージに拡張し得る。メモリを実装するために使用される技術は、例として、スタティック・ランダムアクセス・メモリ(RAM:random-access memory)、ダイナミックRAM、読取り専用メモリ(ROM:read-only memory)、不揮発性メモリ、又はフラッシュ型メモリを含み得る。永続ストレージと同様に、複数のコンピュータ・システムは同じシステム・メモリを共有し得るか、又はシステム・メモリのプールを共有し得る。1つ又は複数のシステム・メモリは、本明細書で説明されたルーチンを実装するために1つ又は複数のプロセッサによって実行可能であるプログラム命令を含んでいることがある。様々な実施例では、プログラム命令は、バイナリ、アセンブリ言語、Java(登録商標)などの任意のインタープリタ型言語、C/C++などのコンパイラ型言語、又はそれの任意の組合せにおいて符号化され得る。ここで与えられた特定の言語は例にすぎない。いくつかの実施例では、プログラム命令は複数の別個のクライアント、サーバ・ノード、及び/又は他の構成要素を実装し得る。
【0049】
いくつかの実装形態では、プログラム命令は、UNIX(登録商標)、LINUX、ソラリス(登録商標)、MacOS(登録商標)、又はMicrosoft Windows(登録商標)など、様々なオペレーティング・システムのいずれかであり得る、オペレーティング・システム(図示せず)を実装するために実行可能な命令を含み得る。プログラム命令のいずれか又はすべては、様々な実装形態によるプロセスを実行するようにコンピュータ・システム(又は他の電子デバイス)をプログラムするために使用され得る、その上に命令を記憶した非一時的コンピュータ可読記憶媒体を含み得るコンピュータ・プログラム製品又はソフトウェアとして与えられ得る。非一時的コンピュータ可読記憶媒体は、機械(たとえば、コンピュータ)によって読取り可能な形態(たとえば、ソフトウェア、処理アプリケーション)において情報を記憶するための任意の機構を含み得る。概して、非一時的コンピュータアクセス可能媒体は、磁気又は光媒体、たとえば、I/Oインターフェースを介してコンピュータ・システムに結合されたディスク又はDVD/CD-ROMなど、コンピュータ可読記憶媒体又はメモリ媒体を含み得る。非一時的コンピュータ可読記憶媒体はまた、コンピュータ・システムのいくつかの実施例中にシステム・メモリ又は別のタイプのメモリとして含まれ得るRAM又はROMなど、任意の揮発性又は不揮発性媒体を含み得る。他の実装形態では、プログラム命令は、ネットワーク・インターフェースを介して実装され得るなど、ネットワーク及び/又はワイヤード又はワイヤレス・リンクなどの通信媒体を介して伝達される(たとえば、搬送波、赤外線信号、デジタル信号など)の光、音響又は他の形態の伝搬信号を使用して通信され得る。ネットワーク・インターフェースは、他のコンピュータ・システム又は任意のタイプの外部電子デバイスを含み得る他のデバイスとインターフェースするために使用され得る。一般に、システム・メモリ、永続ストレージ、及び/又はネットワークを通してアクセス可能な他のデバイス上のリモート・ストレージは、データ・ブロック、データ・ブロックのレプリカ、データ・ブロックに関連付けられたメタデータ及び/又はそれらの状態、データベース構成情報、及び/又は本明細書で説明するルーチンを実装する際に使用可能な任意の他の情報を記憶し得る。
【0050】
いくつかの実装形態では、I/Oインターフェースは、ネットワーク・インターフェース又は他の周辺インターフェースを通して含む、システム中のプロセッサと、システム・メモリと、任意の周辺デバイスとの間のI/Oトラフィックを協調させ得る。いくつかの実施例では、I/Oインターフェースは、1つの構成要素(たとえば、システム・メモリ)からのデータ信号を、別の構成要素(たとえば、プロセッサ)によって使用するために好適なフォーマットに変換するための任意の必要なプロトコル、タイミング又は他のデータ変換を実行し得る。いくつかの実施例では、I/Oインターフェースは、たとえば、周辺構成要素相互接続(PCI:Peripheral Component Interconnect)バス規格又はユニバーサル・シリアル・バス(USB:Universal Serial Bus)規格の変形態など、様々なタイプの周辺バスを介して取り付けられるデバイスのためのサポートを含み得る。また、いくつかの実施例では、システム・メモリへのインターフェースなど、I/Oインターフェースの機能の一部又は全部はプロセッサに直接組み込まれ得る。
【0051】
ネットワーク・インターフェースは、コンピュータ・システムと、たとえば、(1つ又は複数のストレージ・システム・サーバ・ノード、1次ノード、読取り専用ノード、及び/又は本明細書で説明したデータベース・システムのクライアントを実装し得る)他のコンピュータ・システムなど、ネットワークに取り付けられた他のデバイスとの間でデータが交換されることを可能にし得る。さらに、I/Oインターフェースはコンピュータ・システムと様々なI/Oデバイス及び/又はリモート・ストレージとの間の通信を可能にし得る。入出力デバイスは、いくつかの実施例では、1つ又は複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、走査デバイス、音声認識デバイス又は光学認識デバイス、又は1つ又は複数のコンピュータ・システムによってデータを入力する又は取り出すために好適な任意の他のデバイスを含み得る。これらは、特定のコンピュータ・システムに直接接続し得るか、又は、一般に、クラウド・コンピューティング環境、グリッド計算環境、又は複数のコンピュータ・システムを伴う他のシステム中の複数のコンピュータ・システムに接続し得る。コンピュータ・システムと通信している複数の入出力デバイスが存在し得るか、又はコンピュータ・システムを含む分散型システムの様々なノード上に分散され得る。本明細書で説明したユーザ・インターフェースは、CRTディスプレイ、LCDディスプレイ、LEDディスプレイ、及び他のディスプレイ技術を含み得る、様々なタイプのディスプレイ・スクリーンを使用して、ユーザに見え得る。いくつかの実装形態では、入力は、タッチスクリーン技術を使用してディスプレイによって受信され得、他の実装形態では、入力は、キーボード、マウス、タッチパッド、又は他の入力技術、又はこれらの技術の任意の組合せを通して受信され得る。
【0052】
いくつかの実施例では、同様の入出力デバイスはコンピュータ・システムとは別個であり得、ネットワーク・インターフェースを介してなど、ワイヤード又はワイヤレス接続を介してコンピュータ・システムを含む分散型システムの1つ又は複数のノードと対話し得る。ネットワーク・インターフェースは、一般的に、1つ又は複数のワイヤレス・ネットワーキング・プロトコル(たとえば、Wi-Fi/IEEE802.11、又は別のワイヤレス・ネットワーキング規格)をサポートし得る。ネットワーク・インターフェースは、たとえば他のタイプのイーサネット(登録商標)・ネットワークなど、任意の好適なワイヤード又はワイヤレス一般データネットワークを介して通信をサポートし得る。さらに、ネットワーク・インターフェースは、アナログ音声ネットワーク又はデジタル・ファイバー通信ネットワークなど、電気通信/テレフォニー・ネットワークを介して、ファイバー・チャネルSAN(storage area network)などストレージ・エリア・ネットワークを介して、又は任意の他の好適なタイプのネットワーク及び/又はプロトコルを介して通信をサポートし得る。
【0053】
本明細書で説明した分散型システム実施例のいずれか、又はそれらの構成要素のいずれかは、クラウド・コンピューティング環境における1つ又は複数のネットワークベース・サービスとして実装され得る。たとえば、データベース・システムのデータベース階層内の読取り書込みノード及び/又は読取り専用ノードは、本明細書で説明した分散型ストレージ・システムをネットワークベース・サービスとしてクライアントに採用するデータベース・サービス及び/又は他のタイプのデータ・ストレージ・サービスを提示し得る。いくつかの実施例では、ネットワークベース・サービスは、ネットワークを介した相互動作可能なマシンツーマシン対話をサポートするように設計されたソフトウェア及び/又はハードウェア・システムによって実装され得る。ウェブ・サービスは、ウェブ・サービス記述言語(WSDL:Web Services Description Language)など、機械処理可能なフォーマットで記述されたインターフェースを有し得る。他のシステムは、ネットワークベース・サービスのインターフェースの説明によって規定された様式でネットワークベース・サービスと対話し得る。たとえば、ネットワークベース・サービスは、他のシステムが呼び出し得る様々な動作を定義し得、他のシステムが様々な動作を要求するときにそれに準拠することが期待され得る、特定のアプリケーション・プログラミング・インターフェース(API)を定義し得る。
【0054】
様々な実施例では、ネットワークベース・サービスは、ネットワークベース・サービス要求に関連付けられたパラメータ及び/又はデータを含むメッセージの使用によって要求又は呼び出され得る。そのようなメッセージは、拡張可能マークアップ言語(XML:Extensible Markup Language)など特定のマークアップ言語に従ってフォーマットされ得、及び/又はシンプル・オブジェクト・アクセス・プロトコル(SOAP:Simple Object Access Protocol)などのプロトコルを使用してカプセル化され得る。ネットワークベース・サービス要求を実行するために、ネットワークベース・サービス・クライアントは、要求を含むメッセージをアセンブリし、そのメッセージを、ハイパーテキスト転送プロトコル(HTTP)などのインターネットベース・アプリケーション・レイヤ転送プロトコルを使用して、ウェブ・サービスに対応するアドレス指定可能なエンドポイント(たとえば、ユニフォーム・リソース・ロケータ(URL))に伝達し得る。いくつかの実施例では、ネットワークベース・サービスは、メッセージベースの技法ではなくレプレゼンテーショナル・ステート・トランスファ(REST:Representational State Transfer)技法を使用して実装され得る。たとえば、REST技法に従って実装されたネットワークベース・サービスは、PUT、GET、又はDELETEなど、HTTPメソッドに含まれるパラメータを介して呼び出され得る。
【0055】
別段に明記されていない限り、本明細書で使用するすべての技術用語及び科学用語は、本発明が属する技術分野における当業者によって一般的に理解されるものと同じ意味を有する。本明細書で説明したものと同様の又は等価な任意の方法及び材料も本発明の実施又は試験において使用され得るが、本明細書では、限られた数の例示的な方法及び材料について説明した。本明細書における発明的概念から逸脱することなく、はるかに多い改変が可能であることが当業者に明らかになろう。
【0056】
本明細書で使用するすべての用語はコンテキストと一致する最も広い可能な様式で解釈されるべきである。特に、「含む(comprise)」及び「含む(comprising)」という用語は、非排他的な様式で、要素、構成要素、又はステップを指すと解釈されるべきであり、参照された要素、構成要素、又はステップは、明確に参照されていない他の要素、構成要素、若しくはステップと存在するか、又は利用されるか、又は組み合わせられ得ることを示す。本明細書でグループ化が使用されるとき、グループのすべての個々のメンバー、並びにグループの可能なすべての組合せ及びサブ副組合せは本開示中に個別に含まれるものとする。本明細書で範囲が述べられているとき、本開示は、特に、その範囲中のすべての点とその範囲内のすべての副範囲とを含むものとする。本明細書で引用されたすべての参考文献は、本明細書の開示との不一致がない限り、参照により本明細書に組み込まれる。
【0057】
本発明について、例示的なものにすぎず、添付の特許請求の範囲に記載されている本発明の全範囲に限定するものではない、いくつかの好ましい実施例及び代替実施例を参照しながら説明した。
【国際調査報告】