(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】プライバシー保護のためのデータセキュリティ方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20221206BHJP
G06Q 20/38 20120101ALI20221206BHJP
G06F 21/60 20130101ALI20221206BHJP
H04L 9/08 20060101ALI20221206BHJP
H04L 9/10 20060101ALI20221206BHJP
【FI】
G06F21/62 345
G06Q20/38 310
G06F21/60 320
H04L9/08 C
H04L9/10 A
(21)【出願番号】P 2021540425
(86)(22)【出願日】2020-08-12
(86)【国際出願番号】 US2020045915
(87)【国際公開番号】W WO2021030428
(87)【国際公開日】2021-02-18
【審査請求日】2021-09-10
(31)【優先権主張番号】PCT/US2019/046533
(32)【優先日】2019-08-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マーゴ・ワーナー
(72)【発明者】
【氏名】フィリップ・マクドネル
(72)【発明者】
【氏名】ヨンレ・カオ
(72)【発明者】
【氏名】ユージーン・クリスティアン・ニスター
(72)【発明者】
【氏名】シュリーナス・レグナサン
【審査官】小林 秀和
(56)【参考文献】
【文献】米国特許出願公開第2011/0231243(US,A1)
【文献】米国特許出願公開第2015/0326547(US,A1)
【文献】米国特許出願公開第2015/0356597(US,A1)
【文献】特開2008-306685(JP,A)
【文献】国際公開第2019/040874(WO,A1)
【文献】特表2018-525725(JP,A)
【文献】国際公開第2016/063092(WO,A1)
【文献】国際公開第2017/055879(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
G06Q 20/38
G06F 21/60
H04L 9/08
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
第1のコンピューティングシステムにおいて、第2のコンピューティングシステムから、非対称公開鍵の第1のインスタンスによって暗号化された第1の対称鍵および前記第1の対称鍵で暗号化されたオンライン対話データを受信するステップであって、前記オンライン対話データがコンテンツとの1つまたは複数のオンライン対話を示す、ステップと、
前記第1のコンピューティングシステムにおいて、第3のコンピューティングシステムから、前記非対称公開鍵の第2のインスタンスで暗号化された第2の対称鍵および前記第2の対称鍵で暗号化されたオフラインアクションデータを受信するステップであって、前記オフラインアクションデータが1つまたは複数のオフラインアクションを示す、ステップと、
前記第1のコンピューティングシステムにおいて、前記第3のコンピューティングシステムから、前記非対称公開鍵に対応する非対称秘密鍵を含む実行可能コードを受信するステップであって、前記実行可能コードが前記第1のコンピューティングシステムの保護された環境において実行される、ステップと、
前記第1のコンピューティングシステムによって、
前記非対称秘密鍵を使用して前記第1の対称鍵および前記第2の対称鍵を復号し、
前記復号された第1の対称鍵を使用して前記暗号化されたオンライン対話データを復号し、前記復号された第2の対称鍵を使用して前記暗号化されたオフラインアクションデータを復号し、
前記復号されたオンライン対話データおよび前記復号されたオフラインアクションデータが前記保護された環境の外部からアクセス不可能であるように、前記復号されたオンライン対話データおよび前記復号されたオフラインアクションデータを前記第1のコンピューティングシステムの前記保護された環境に記憶し、
前記オフラインアクションデータ内の前記オフラインアクションのうちの1つまたは複数を前記オンライン対話データ内の1つまたは複数のオンライン対話と相関させ、
前記オンライン対話と相関したオフラインアクションの数を示す集約データを生成する
ように前記実行可能コードを実行するステップと、
前記第1のコンピューティングシステムによって、前記集約データを前記第2のコンピューティングシステムに送信するステップと
を含む方法。
【請求項2】
前記集約データを前記第2のコンピューティングシステムに送信するステップが、前記復号されたオフラインアクションデータを前記第2のコンピューティングシステムにまたは前記復号されたオンライン対話データを前記第3のコンピューティングシステムに提供することなしに、前記集約データを前記第2のコンピューティングシステムに送信するステップを含む、請求項1に記載の方法。
【請求項3】
前記暗号化されたオンライン対話データが、前記1つまたは複数のオンライン対話の各々のための第1の識別子を含み、前記暗号化されたオフラインアクションデータが、前記1つまたは複数のオフラインアクションの各々のための第2の識別子を含み、前記オフラインアクションを前記オンライン対話と相関させるステップが、前記第1の識別子のうちの1つまたは複数に関連付けられた前記第2の識別子のうちの1つまたは複数を決定するステップを含む、請求項1または2に記載の方法。
【請求項4】
前記第1のコンピューティングシステムにおいて、第4のコンピューティングシステムから、前記第1の識別子のうちの1つまたは複数を前記第2の識別子のうちの1つまたは複数に関連付けるマッピングデータを受信するステップをさらに含み、前記オフラインアクションを前記オンライン対話と相関させるステップが、前記マッピングデータを使用して、前記第1の識別子のうちの前記1つまたは複数に関連付けられた前記第2の識別子のうちの前記1つまたは複数を決定するステップを含む、請求項3に記載の方法。
【請求項5】
前記第1の対称鍵が前記オンライン対話データに特有のものであり、前記第2の対称鍵が前記オフラインアクションデータに特有のものである、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第1のコンピューティングシステムにおいて、前記第3のコンピューティングシステムから、前記第2のコンピューティングシステムおよび前記第3のコンピューティングシステムからデータを受信すると異なるタイプのデータを含む集約出力を生成するように前記実行可能コードを変更するための命令を受信するステップと、
前記第1のコンピューティングシステムによって、前記命令に従って前記実行可能コードを調整するステップと
をさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記実行可能コードを使用して前記集約データを生成するステップが、暗号化されていないオンライン対話データを前記第3のコンピューティングシステムにさらすことなしに、前記第3のコンピューティングシステムが前記集約データの特性を制御することを可能にする、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記1つまたは複数のオフラインアクションが、1つまたは複数の物理的な店舗におけるオフライントランザクションである、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記第1のコンピューティングシステムがクラウドクラスタ処理システムである、請求項1から8のいずれか一項に記載の方法。
【請求項10】
第1のコンピューティングシステムであって、
その上に記憶された命令を有するメモリと、
プロセッサとを備え、前記プロセッサが、
第2のコンピューティングシステムから、非対称公開鍵の第1のインスタンスによって暗号化された第1の対称鍵および前記第1の対称鍵で暗号化されたオンライン対話データを受信することであって、前記オンライン対話データがコンテンツとの1つまたは複数のオンライン対話を示す、受信することと、
第3のコンピューティングシステムから、前記非対称公開鍵の第2のインスタンスで暗号化された第2の対称鍵、前記第2の対称鍵で暗号化され、1つまたは複数のオフラインアクションを示すオフラインアクションデータ、および前記非対称公開鍵に対応する非対称秘密鍵を含む実行可能コードであって、前記第1のコンピューティングシステムの保護された環境において実行される実行可能コードを受信することと、
前記非対称秘密鍵を使用して前記第1の対称鍵および前記第2の対称鍵を復号し、
前記復号された第1の対称鍵を使用して前記暗号化されたオンライン対話データを復号し、前記復号された第2の対称鍵を使用して前記暗号化されたオフラインアクションデータを復号し、
前記復号されたオンライン対話データおよび前記復号されたオフラインアクションデータが前記保護された環境の外部からアクセス不可能であるように、前記復号されたオンライン対話データおよび前記復号されたオフラインアクションデータを前記第1のコンピューティングシステムの前記保護された環境に記憶し、
前記オフラインアクションデータ内の前記オフラインアクションのうちの1つまたは複数を前記オンライン対話データ内の1つまたは複数のオンライン対話と相関させ、
前記オンライン対話と相関したオフラインアクションの数を示す集約データを生成する
ように前記実行可能コードを実行することと、
前記集約データを前記第2のコンピューティングシステムに送信することと
を行うために前記命令を実行するように構成される、第1のコンピューティングシステム。
【請求項11】
前記実行可能コードが、前記プロセッサに、前記復号されたオフラインアクションデータを前記第2のコンピューティングシステムにまたは前記復号されたオンライン対話データを前記第3のコンピューティングシステムに提供することなしに、前記集約データを前記第2のコンピューティングシステムに送信することによって、前記集約データを前記第2のコンピューティングシステムに送信することをさらに行わせる、請求項10に記載の第1のコンピューティングシステム。
【請求項12】
前記暗号化されたオンライン対話データが、前記1つまたは複数のオンライン対話の各々のための第1の識別子を含み、前記暗号化されたオフラインアクションデータが、前記1つまたは複数のオフラインアクションの各々のための第2の識別子を含み、前記オフラインアクションを前記オンライン対話と相関させることが、前記第1の識別子のうちの1つまたは複数に関連付けられた前記第2の識別子のうちの1つまたは複数を決定することを含む、請求項10または11に記載の第1のコンピューティングシステム。
【請求項13】
前記実行可能コードが、前記プロセッサに、
第4のコンピューティングシステムから、マッピングデータを受信することと、
前記マッピングデータを使用して、前記第1の識別子のうちの前記1つまたは複数に関連付けられた前記第2の識別子のうちの前記1つまたは複数を決定することによって、前記オフラインアクションを前記オンライン対話と相関させることと
をさらに行わせる、請求項12に記載の第1のコンピューティングシステム。
【請求項14】
前記第1の対称鍵が前記オンライン対話データに特有のものであり、前記第2の対称鍵が前記オフラインアクションデータに特有のものである、請求項10、11、12または13に記載の第1のコンピューティングシステム。
【請求項15】
前記命令が、前記プロセッサに、
前記第3のコンピューティングシステムから、前記第2のコンピューティングシステムおよび前記第3のコンピューティングシステムからデータを受信すると異なるタイプのデータを含む集約出力を生成するように前記実行可能コードを変更するための第1の命令を受信することと、
前記第1の命令に従って前記実行可能コードを調整することと
をさらに行わせる、請求項10から14のいずれか一項に記載の第1のコンピューティングシステム。
【請求項16】
前記実行可能コードを使用して前記集約データを生成することが、暗号化されていないオンライン対話データを前記第3のコンピューティングシステムにさらすことなしに、前記第3のコンピューティングシステムが前記集約データの特性を制御することを可能にする、請求項10から15のいずれか一項に記載の第1のコンピューティングシステム。
【請求項17】
前記1つまたは複数のオフラインアクションが、1つまたは複数の物理的な店舗におけるオフライントランザクションである、請求項10から16のいずれか一項に記載の第1のコンピューティングシステム。
【請求項18】
第1のコンピューティングシステムにおいて、第2のコンピューティングシステムから、非対称公開鍵の第1のインスタンスによって暗号化された第1の対称鍵および前記第1の対称鍵で暗号化されたオンライン対話データを受信するステップであって、前記オンライン対話データがコンテンツとの1つまたは複数のオンライン対話を示し、前記暗号化されたオンライン対話データが前記1つまたは複数のオンライン対話の各々のための第1の識別子を含む、ステップと、
前記第1のコンピューティングシステムにおいて、第3のコンピューティングシステムから、前記非対称公開鍵の第2のインスタンスで暗号化された第2の対称鍵および前記第2の対称鍵で暗号化されたオフラインアクションデータを受信するステップであって、前記オフラインアクションデータが1つまたは複数のオフラインアクションを示し、前記暗号化されたオフラインアクションデータが前記1つまたは複数のオフラインアクションの各々のための第2の識別子を含む、ステップと、
前記第1のコンピューティングシステムにおいて、前記第3のコンピューティングシステムから、前記非対称公開鍵に対応する非対称秘密鍵を含む実行可能コードを受信するステップであって、前記実行可能コードが前記第1のコンピューティングシステムの保護された環境において実行される、ステップと、
前記第1のコンピューティングシステムにおいて、第4のコンピューティングシステムから、前記第1の識別子のうちの1つまたは複数を前記第2の識別子のうちの1つまたは複数に関連付けるマッピングデータを受信するステップと、
前記第1のコンピューティングシステムによって、
前記非対称秘密鍵を使用して前記第1の対称鍵および前記第2の対称鍵を復号し、
前記復号された第1の対称鍵を使用して前記暗号化されたオンライン対話データを復号し、前記復号された第2の対称鍵を使用して前記暗号化されたオフラインアクションデータを復号し、
前記復号されたオンライン対話データおよび前記復号されたオフラインアクションデータが前記保護された環境の外部からアクセス不可能であるように、前記復号されたオンライン対話データおよび前記復号されたオフラインアクションデータを前記第1のコンピューティングシステムの前記保護された環境に記憶し、
前記マッピングデータを使用して、前記第1の識別子のうちの前記1つまたは複数に関連付けられた前記第2の識別子のうちの前記1つまたは複数を決定することによって、前記オフラインアクションデータ内の前記オフラインアクションのうちの1つまたは複数を前記オンライン対話データ内の1つまたは複数のオンライン対話と相関させ、
前記オンライン対話と相関したオフラインアクションの数を示す集約データを生成する
ように前記実行可能コードを実行するステップと、
前記第1のコンピューティングシステムによって、前記復号されたオンライン対話データを前記第3のコンピューティングシステムにまたは前記復号されたオフラインアクションデータを前記第2のコンピューティングシステムに提供することなしに、前記集約データを前記第2のコンピューティングシステムまたは前記第3のコンピューティングシステムのうちの少なくとも1つに送信するステップと
を含む方法。
【請求項19】
前記1つまたは複数のオフラインアクションが、1つまたは複数の物理的な店舗におけるオフライントランザクションである、請求項18に記載の方法。
【請求項20】
前記第1のコンピューティングシステムがクラウドクラスタ処理システムである、請求項18または19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、その全体が参照により本明細書に組み込まれる、2019年8月14日に出願された「Data Security Method for Privacy Protection」と題するP.C.T.出願第PCT/US2019/046533号の利益および優先権を主張する。
【背景技術】
【0002】
インターネットなどのコンピュータネットワーク化された環境では、人々などのエンティティはウェブページ内のコンテンツアイテムなどの情報と対話する。小売店舗などのオフライン環境では、エンティティは電話呼または購入を行うなどのアクションを実施し得る。安全な方法でかつ個人を識別できる情報のプライバシーを保護しながら、どのようにオンライン対話がオフラインアクションに関連し得るかを識別する必要がある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の1つの実装形態は、第1のコンピューティングシステムにおいて、第2のコンピューティングシステムから、第1の鍵と、コンテンツとの1つまたは複数のオンライン対話を示すデータを符号化する暗号化されたオンライン対話データとを受信するステップと、第1のコンピューティングシステムにおいて、第3のコンピューティングシステムから、第2の鍵と、1つまたは複数のオフラインアクションを示すデータを符号化する暗号化されたオフラインアクションデータとを受信するステップと、第1のコンピューティングシステムにおいて、第3のコンピューティングシステムから、第3の鍵を含む実行可能コードを受信するステップと、第1のコンピューティングシステムによって、実行可能コードを実行するステップとを含む方法に関する。実行可能コードは、第1のコンピューティングシステムに、第1の鍵、第2の鍵、および第3の鍵を使用して暗号化されたオンライン対話データおよび暗号化されたオフラインアクションデータを復号することと、オフラインアクションデータ内のオフラインアクションのうちの1つまたは複数をオンライン対話データ内の1つまたは複数のオンライン対話と相関させることと、オンライン対話と相関したオフラインアクションの数を示す集約データを生成することとを行わせる。
【0004】
いくつかの実装形態では、第1のコンピューティングシステムは、復号されたオンライン対話データを第3のコンピューティングシステムにまたは復号されたオフラインアクションデータを第2のコンピューティングシステムに提供することなしに、集約データを第2のコンピューティングシステムまたは第3のコンピューティングシステムのうちの少なくとも1つに送信する。いくつかの実装形態では、暗号化されたオンライン対話データは、1つまたは複数のオンライン対話の各々のための第1の識別子を含み、暗号化されたオフラインアクションデータは、1つまたは複数のオフラインアクションの各々のための第2の識別子を含み、オフラインアクションをオンライン対話と相関させるステップは、第1の識別子のうちの1つまたは複数に関連付けられた第2の識別子のうちの1つまたは複数を決定するステップを含む。いくつかの実装形態では、第1のコンピューティングシステムは、第4のコンピューティングシステムから、第1の識別子のうちの1つまたは複数を第2の識別子のうちの1つまたは複数に関連付けるマッピングデータを受信する。いくつかの実装形態では、オフラインアクションをオンライン対話と相関させるステップは、マッピングデータを使用して、第1の識別子のうちの1つまたは複数に関連付けられた第2の識別子のうちの1つまたは複数を決定するステップを含む。
【0005】
いくつかの実装形態では、実行可能コードは、第1のコンピューティングシステムの保護された環境内で実行され、復号されたオンライン対話データおよび復号されたオフラインアクションデータは、復号されたオンライン対話データおよび復号されたオフラインアクションデータが保護された環境の外部の第1のコンピューティングシステムの一部分にとってはアクセス不可能であるように、保護された環境内に記憶される。いくつかの実装形態では、第1の鍵および第2の鍵は共有鍵であり、第3の鍵は秘密鍵であり、暗号化されたオンライン対話データおよび暗号化されたオフラインアクションデータは、共有鍵を使用する対称暗号化によって暗号化され、第1の鍵および第2の鍵は、第3の鍵を使用する非対称暗号化によって暗号化される。いくつかの実装形態では、実行可能コードを使用して集約データを生成するステップは、暗号化されていないアクションデータを第3のコンピューティングシステムにさらすことなしに、第3のコンピューティングシステムが集約データの特性を制御することを可能にする。いくつかの実装形態では、1つまたは複数のオフラインアクションは、1つまたは複数の物理的な店舗におけるオフライントランザクションである。いくつかの実装形態では、第1のコンピューティングシステムはクラウドクラスタ処理システムである。
【0006】
別の実装形態は、第1のコンピューティングシステムと、第2のコンピューティングシステムと、第3のコンピューティングシステムとを含むシステムに関し、第1のコンピューティングシステムは、第1の鍵と、コンテンツとの1つまたは複数のオンライン対話を示すデータを符号化する暗号化されたオンライン対話データとを有し、第2のコンピューティングシステムは、第2の鍵と、1つまたは複数のオフラインアクションを示すデータを符号化する暗号化されたオフラインアクションデータとを有し、第3のコンピューティングシステムは、プロセッサと、プロセッサに結合されたメモリとを有し、メモリは、第2のコンピューティングシステムから受信され、その上に記憶された命令を有し、命令は、プロセッサによって実行されると、プロセッサに、第1のコンピューティングシステムから受信された暗号化されたオンライン対話データを復号することと、第2のコンピューティングシステムから受信された暗号化されたオフラインアクションデータを復号することと、オフラインアクションデータ内のオフラインアクションのうちの1つまたは複数をオンライン対話データ内の1つまたは複数のオンライン対話と相関させることと、オンライン対話と相関したオフラインアクションの数を示す集約データを生成することとを行わせる。
【0007】
いくつかの実装形態では、命令は、プロセッサに、復号されたオンライン対話データを第2のコンピューティングシステムにまたは復号されたオフラインアクションデータを第1のコンピューティングシステムに提供することなしに、集約データを第1のコンピューティングシステムまたは第2のコンピューティングシステムのうちの少なくとも1つに送信することをさらに行わせる。いくつかの実装形態では、暗号化されたオンライン対話データは、1つまたは複数のオンライン対話の各々のための第1の識別子を含み、暗号化されたオフラインアクションデータは、1つまたは複数のオフラインアクションの各々のための第2の識別子を含み、オフラインアクションをオンライン対話と相関させることは、第1の識別子のうちの1つまたは複数に関連付けられた第2の識別子のうちの1つまたは複数を決定することを含む。いくつかの実装形態では、システムは、マッピングデータを有する第4のコンピューティングシステムをさらに含み、第3のコンピューティングシステムは、マッピングデータを使用して、第1の識別子のうちの1つまたは複数に関連付けられた第2の識別子のうちの1つまたは複数を決定することによって、オフラインアクションをオンライン対話と相関させる。
【0008】
いくつかの実装形態では、第3のコンピューティングシステムは、保護された環境をさらに含み、復号されたオンライン対話データおよび復号されたオフラインアクションデータは、復号されたオンライン対話データおよび復号されたオフラインアクションデータが保護された環境の外部の第3のコンピューティングシステムの一部分にとってはアクセス不可能であるように、保護された環境内に記憶される。いくつかの実装形態では、第1の鍵および第2の鍵は共有鍵であり、第3の鍵は秘密鍵であり、暗号化されたオンライン対話データおよび暗号化されたオフラインアクションデータは、共有鍵を使用する対称暗号化によって暗号化され、第1の鍵および第2の鍵は、第3の鍵を使用する非対称暗号化によって暗号化される。いくつかの実装形態では、実行可能コードを使用して集約データを生成することは、暗号化されていないアクションデータを第2のコンピューティングシステムにさらすことなしに、第2のコンピューティングシステムが集約データの特性を制御することを可能にする。いくつかの実装形態では、1つまたは複数のオフラインアクションは、1つまたは複数の物理的な店舗におけるオフライントランザクションである。
【0009】
別の実装形態は、第1のコンピューティングシステムにおいて、第2のコンピューティングシステムから、第1の鍵と、コンテンツとの1つまたは複数のオンライン対話を示すデータを符号化する暗号化されたオンライン対話データとを受信するステップであって、暗号化されたオンライン対話データが1つまたは複数のオンライン対話の各々のための第1の識別子を含む、ステップと、第1のコンピューティングシステムにおいて、第3のコンピューティングシステムから、第2の鍵と、1つまたは複数のオフラインアクションを示すデータを符号化する暗号化されたオフラインアクションデータとを受信するステップであって、暗号化されたオフラインアクションデータが1つまたは複数のオフラインアクションの各々のための第2の識別子を含む、ステップと、第1のコンピューティングシステムにおいて、第3のコンピューティングシステムから、第3の鍵を含む実行可能コードを受信するステップと、第1のコンピューティングシステムにおいて、第4のコンピューティングシステムから、第1の識別子のうちの1つまたは複数を第2の識別子のうちの1つまたは複数に関連付けるマッピングデータを受信するステップと、第1のコンピューティングシステムによって、実行可能コードを実行するステップとを含む方法に関する。実行可能コードは、第1のコンピューティングシステムに、第1の鍵、第2の鍵、および第3の鍵を使用して暗号化されたオンライン対話データおよび暗号化されたオフラインアクションデータを復号することと、マッピングデータを使用して、第1の識別子のうちの1つまたは複数に関連付けられた第2の識別子のうちの1つまたは複数を決定することによって、オフラインアクションデータ内のオフラインアクションのうちの1つまたは複数をオンライン対話データ内の1つまたは複数のオンライン対話と相関させることと、オンライン対話と相関したオフラインアクションの数を示す集約データを生成することと、復号されたオンライン対話データを第3のコンピューティングシステムにまたは復号されたオフラインアクションデータを第2のコンピューティングシステムに提供することなしに、集約データを第2のコンピューティングシステムまたは第3のコンピューティングシステムのうちの少なくとも1つに送信することとを行わせる。
【0010】
いくつかの実装形態では、1つまたは複数のオフラインアクションは、1つまたは複数の物理的な店舗におけるオフライントランザクションである。いくつかの実装形態では、第1のコンピューティングシステムはクラウドクラスタ処理システムである。
【0011】
様々な態様および実装形態は、必要に応じて組み合わされ得る。
【図面の簡単な説明】
【0012】
【
図1】例示的な実装形態による、ネットワークを介して対話する様々なエンティティを示す図である。
【
図2】例示的な実装形態による、
図1の様々なエンティティ間のデータ転送を示す図である。
【
図3】例示的な実装形態による、オンライン対話データをオフラインアクションデータに安全に関連付ける方法を示す流れ図である。
【
図4】例示的な実装形態による、
図1の様々なエンティティ間でデータを安全に転送するための暗号化プロセスを示す図である。
【
図5】例示的な実装形態による、集約コンバージョンデータを安全に生成する方法を示す流れ図である。
【
図6】例示的な実装形態による、
図1のエンティティによって提供されるアクセスを示す図である。
【
図7】例示的な実装形態による、コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【0013】
以下は、プライバシーを意識した方法でオンライン対話をオフラインアクションと相関させるための方法、装置、およびシステムに関する様々な概念の、ならびにそれらの方法、装置、およびシステムの実装形態のより詳細な説明である。説明される概念は実装形態の任意の特定の方法に限定されないので、上記で紹介され、以下でより詳細に論じられる様々な概念は、多数の方法のうちのいずれかにおいて実装され得る。
【0014】
本開示のシステムおよび方法は、一般に、コンテンツプロバイダによって作成されたオンラインコンテンツに関するオフラインアクションについての情報をコンテンツプロバイダに安全な方法で供給することに関する。たとえば、パーソナルコンピュータ、スマートフォン、またはタブレットなどのコンピューティングデバイスは、コンテンツ発行者によって維持されているウェブページ(または他のオンライン文書)を訪問し得る。コンテンツ発行者は、コンテンツプロバイダによって作成された広告などのコンテンツアイテムを含み得る。コンテンツプロバイダに関連付けられた第1のデータ処理システムは、オンラインコンテンツとのオンライン対話を識別し、オンライン対話に関連付けられた第1の識別子を第2のデータ処理システムに送り得る。第2のデータ処理システムは、オフラインアクションに関連付けられた第2の識別子を受信し得る。
【0015】
第2のデータ処理システムは、第1の識別子のうちの個々の識別子を第2の識別子のうちの個々の識別子に関連付けるマッピングデータを受信し得る。リンクされた識別子を使用して、第2のデータ処理システムは、どのオンライン対話がオフラインアクションをもたらしたか(たとえば、小売店舗への訪問、オフライン購入、電話呼など)を決定し得る。このようにして、第2のデータ処理システムは、オフラインアクションを生成する際のオンラインコンテンツの効果に関する追加情報をコンテンツプロバイダに供給し得る。第2のデータ処理システムはまた、購入が行われたか、もしあれば、どのアイテムが購入されたか、およびアイテムの価格を含む、オフラインアクションに関するより詳細な情報を提供し得る。
【0016】
より具体的には、本開示のシステムおよび方法は、異なるエンティティからのデータをより安全な方法で相関させるための一意の暗号およびコンピュータアーキテクチャ方法論に関する。典型的には、異なるエンティティからのデータを相関させることは、コンピューティングシステムが各エンティティからのデータにアクセスできることを必要とする。しかしながら、データは、一緒になると、データに関連付けられた個人についての個人を識別できる情報(「PII(personally identifiable information)」)(たとえば、クレジットカード番号、ソーシャルセキュリティ番号、住所など)を暴露することがある。PIIを暴露することは望ましくない。したがって、異なるエンティティからのデータをより安全な方法で相関させるための一意の暗号およびコンピュータアーキテクチャ方法論が必要である。本開示の態様は、改善された暗号化方法を提供する。この暗号化方法は、強化されたセキュリティを提供するとともにユーザプライバシーを守ることによって、ユーザのオンライン対話とオフラインアクションを安全な方法で相関させるために使用され得る。
【0017】
PIIのプライバシーおよびセキュリティを保証するために、本開示のシステムおよび方法は、データ所有権を分離して、エンティティ(たとえば、コンテンツプロバイダ、第三者など)が通常であればアクセスできないはずである暗号化されていないPIIを受信することを防止する。たとえば、第2の識別子を提供する第三者に関連付けられた第3のデータ処理システムは、非対称暗号化のための公開鍵を作成し得る。第1のデータ処理システムは、第1の識別子を第2のデータ処理システムに送る前に、公開鍵を使用して第1の識別子を少なくとも部分的に暗号化し得る。同様に、第3のデータ処理システムは、第2の識別子を第2のデータ処理システムに送る前に、公開鍵を使用して第2の識別子を少なくとも部分的に暗号化し得る。第2のデータ処理システムは、第1のデータ処理システムおよび第3のデータ処理システムがデータ(たとえば、暗号化された第1の識別子および第2の識別子)を第2のデータ処理システムに送ることができるが、第2のデータ処理システム内のデータのいずれにもアクセスすることができないように、すべてのエンティティにとってはアクセス不可能であるように構成され得る。第2のデータ処理システムは、第3のデータ処理システムから、第1の識別子および第2の識別子を復号するための公開鍵に対応する秘密鍵を含む実行可能コード(たとえば、バイナリなど)を受信し得る。したがって、第2のデータ処理システムは、PIIを暴露することなしに、第1の識別子および第2の識別子の独立した照合を容易にし得る。
【0018】
次に
図1を参照すると、例示的な実装形態による、異なるエンティティからのデータを安全に相関させるためのシステム100が示されている。システム100は、オンライン対話システム110、ブリッジシステム120、オフラインアクションシステム140、およびデータ処理システム150を含む。いくつかの実装形態では、システム100の構成要素はネットワーク130を介して通信する。ネットワーク130は、インターネット、ローカル、ワイド、メトロもしくは他のエリアネットワーク、イントラネット、衛星ネットワーク、音声もしくはデータモバイルフォン通信ネットワークなどの他のコンピュータネットワーク、それらの組合せ、または任意の他のタイプの電子通信ネットワークなどのコンピュータネットワークを含み得る。ネットワーク130は、ディスプレイネットワーク(たとえば、コンテンツプレースメントもしくは検索エンジン結果システムに関連付けられる、またはコンテンツアイテムプレースメントキャンペーンの一部としての第三者コンテンツアイテムを含める資格がある、インターネット上で入手可能な情報リソースのサブセット)を含むか、または構成することができる。
【0019】
いくつかの実装形態では、オンライン対話システム110は、コンテンツプロバイダ(たとえば、オンライン広告主)に関連付けられたオンライン対話データ112のソースである。いくつかの実装形態では、オンライン対話データ112は、マーケティングアイテム(たとえば、広告)などのコンテンツアイテムとの対話を示す。オンライン対話システム110は、オンライン対話データ112をデータ処理システム150に送り得る。オンライン対話システム110は、パーソナルコンピュータ、サーバ、モバイルコンピューティングデバイス、またはコンテンツプロバイダに関連付けられた他のコンピューティングデバイスからオンライン対話データ112を受信し得る。たとえば、コンテンツプロバイダは、ウェブページまたは他のオンライン文書上で表示されたウェブベースのコンテンツアイテムからオンライン対話データ112を生成し得る。オンライン文書のプライマリコンテンツは、コンテンツプロバイダによって提供されるコンテンツ以外のコンテンツを含んでもよく、オンライン文書は、提供されるコンテンツアイテムの表示用に構成されたコンテンツスロットを含んでもよい。たとえば、コンテンツ発行者は、ある会社のウェブサイトを運用することができ、ウェブサイトのウェブページ上で表示するためにその会社についてのコンテンツを提供することができる。ウェブページは、提供されるコンテンツアイテムの表示用に構成されたコンテンツスロットを含んでもよい。
【0020】
いくつかの実装形態では、オンライン対話システム110によって提供されるオンライン対話データ112は、オンライン対話(たとえば、いくつかのコンテンツアイテムとの対話)の数またはグループ化を記述する。追加または代替として、オンライン対話データ112は、個々のオンライン対話(たとえば、単一のコンテンツアイテムとの単一の対話)を記述してもよい。オンライン対話データ112は一意の識別子(「ID」)114を含み得る。いくつかの実装形態では、識別子114はオンライン対話に関連付けられた個人を識別する。追加または代替として、識別子114は各オンライン対話を一意に識別し得る。いくつかの実装形態では、オンライン対話データ112は、コンテンツアイテムに関連付けられた1つまたは複数のアクションを記述する。たとえば、オンライン対話データ112はオンライン対話の時間、日付、および/または場所を含み得る。オンライン対話データ112によって記述されるオンライン対話は、コンテンツアイテムを閲覧すること(たとえば、コンテンツアイテムが提示されるウェブページにナビゲートすることおよび/またはウェブページが閲覧されているデバイスのビューポート内でアイテムもしくはアイテムの一部分が提示されると決定することなど)、コンテンツアイテムを選択/クリックすること、コンテンツアイテムの上をホバーすること、および/またはコンテンツアイテムとの他の対話を含み得る。
【0021】
いくつかの実装形態では、オンライン対話システム110は、プロセッサ113とメモリ115とを有する処理回路111を含む。メモリ115は、プロセッサ113によって実行されると本明細書で説明される動作のうちの1つまたは複数をプロセッサ113に実施させる機械命令を記憶し得る。本明細書で説明される動作は、ソフトウェア、ハードウェア、またはそれらの組合せを使用して実装され得る。プロセッサ113は、マイクロプロセッサ、ASIC、FPGAなど、またはそれらの組合せを含み得る。多くの実装形態では、プロセッサ113はマルチコアプロセッサまたはプロセッサのアレイであり得る。メモリ115は、限定はしないが、プロセッサ113にプログラム命令を提供することが可能な電子、光、磁気、または任意の他の記憶デバイスを含み得る。メモリ115は、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光媒体、またはプロセッサ113がそこから命令を読み取ることができる任意の他の適切なメモリを含み得る。命令は、限定はしないが、C、C++、C#、Java、JavaScript、Perl、HTML、XML、PythonおよびVisual Basicなどの任意の適切なコンピュータプログラミング言語からのコードを含み得る。いくつかの実装形態では、メモリ115は暗号化回路116およびオンライン対話データ112を含む。暗号化回路116はオンライン対話データ112の安全な転送を容易にし得る。暗号化回路116はオンライン対話データ112を暗号化し得る。暗号化回路116は、対称暗号化、非対称暗号化、および/またはそれらの組合せを介してオンライン対話データ112を暗号化し得る。暗号化は、
図3および
図4を参照しながら以下でより詳細に論じられる。
【0022】
オフラインアクションシステム140は、1つまたは複数のオフラインアクションに関連付けられたオフラインアクションデータ142をデータ処理システム150に提供し得る。オフラインアクションデータ142は、それを介してオンライン対話が行われるオンラインネットワークの外部の任意のアクションに関連付けられ得る。たとえば、オフラインアクションデータ142は、物理的なアクション、購入、テレフォンネットワークを介して実施されるアクション、および/またはトランザクションを記述し得る。いくつかの実装形態では、オフラインアクションシステム140は第三者に関連付けられる。たとえば、第三者はロイヤルティカードプロバイダであり得る。いくつかの実装形態では、オフラインアクションシステム140は、プロセッサ143とメモリ145とを有する処理回路141を含む。プロセッサ143およびメモリ145は、プロセッサ113およびメモリ115に関して上記で説明されたような特性のうちのいずれかを有し得る。メモリ145は暗号化回路146および/またはオフラインアクションデータ142を含み得る。暗号化回路146はオフラインアクションデータ142の安全な転送を容易にし得る。オフラインアクションデータ142は、1人または複数の個人に関連付けられた1つまたは複数のオフラインアクションを記述し得る。いくつかの実装形態では、オフラインアクションデータ142は一意の識別子144に関連付けられる。識別子144は、オフラインアクションに関連付けられた個人を識別し得る。追加または代替として、識別子144は各オフラインアクションを一意に識別し得る。いくつかの実装形態では、オフラインアクションデータ142は、時間、日付、場所、および/またはオフラインアクションに関する他の情報を含む。たとえば、オフラインアクションがトランザクションである場合、オフラインアクションデータ142は、トランザクションのタイプ、もしあれば、購入されたアイテム、およびアイテムの価格を含み得る。本開示はオンライン対話をオフラインアクションと相関させることについて論じるが、本明細書で論じられる概念は、オンライン対話を、それを介してオンラインアクションが行われるオンラインネットワークの外部のオフラインアクションではなく、またはそのオフラインアクションに加えて、ネットワーク
130を介しておよび/または別の電子通信ネットワークを介して実施される他のタイプのオンラインアクティビティと相関させるために等しく使用され得ることを理解されたい。すべてのそのような実装形態は、本開示の範囲内で企図される。
【0023】
いくつかの実装形態では、ブリッジシステム120は、オンライン対話データとオフラインアクションデータを相関させることを容易にするマッピングデータ122のソースである。ブリッジシステム120は、プロセッサ123とメモリ125とを有する処理回路121を含むことが示されている。プロセッサ123およびメモリ125は、プロセッサ113およびメモリ115に関して上記で説明されたような特性のうちのいずれかを有し得る。ブリッジシステム120はアイデンティティマッピング情報のプロバイダであってもよく、またはそのプロバイダに関連付けられてもよい。アイデンティティマッピング情報プロバイダは、アイデンティティ解決を容易にするためにオンラインで転送されるオフラインデータを有し得る。いくつかの実装形態では、マッピングデータ122は、オンライン対話システム110に関連付けられた第1の一意のIDおよびオフラインアクションシステム140に関連付けられた第2の一意のIDを共通ブリッジIDに変換し、それによって、別個のIDを他方のエンティティにさらすことなしにそれらのIDを相関させる方法を提供する。いくつかの実装形態では、ブリッジシステム120は、マッピングデータ122(たとえば、ルックアップテーブルなど)をデータ処理システム150に送る。追加または代替として、データ処理システム150はブリッジシステム120に問い合わせ得る。たとえば、データ処理システム150は識別子114を用いてブリッジシステム120に問い合わせて、対応する識別子144を受信し得る。いくつかの実装形態では、ブリッジシステム120はオンライン対話システム110および/またはオフラインアクションシステム140によって問い合わされる。
【0024】
データ処理システム150は、異なるエンティティからのデータを相関させる、プライバシーを意識した方法を容易にする。いくつかの実装形態では、データ処理システム150はオンライン対話データ112をオフラインアクションデータ142と相関させ得る。データ処理システム150は、サーバ、分散処理クラスタ、クラウド処理システム、または任意の他のコンピューティングデバイスであってもよい。データ処理システム150は、少なくとも1つのコンピュータプログラムまたは少なくとも1つのスクリプトを含むか、または実行し得る。いくつかの実装形態では、データ処理システム150は、1つまたは複数のスクリプトを実行するように構成された1つまたは複数のプロセッサなどの、ソフトウェアとハードウェアの組合せを含む。
【0025】
データ処理システム150は、プロセッサ153とメモリ155とを有する処理回路151を含み得る。プロセッサ153およびメモリ155は、プロセッサ113およびメモリ115に関して上記で説明されたような特性のうちのいずれかを有し得る。メモリ155は一般環境157および保護された環境152を含み得る。一般環境157は、保護された環境152が一般環境157にとってはアクセス不可能であるように、保護された環境152から分離され得る。保護された環境152は、
図6を参照しながら以下でより詳細に説明されるようなアクセス制限付きシステムであり得る。いくつかの実装形態では、保護された環境152は、相関回路154、復号回路156、および/または集約回路158を含む。いくつかの実装形態では、保護された環境152および/またはデータ処理システム150は、異なる数、タイプ、および/または組合せの構成要素を含む。
【0026】
相関回路154は異なるエンティティからのデータを相関させ得る。いくつかの実装形態では、相関回路154は、マッピングデータ122を使用してオンライン対話データ112をオフラインアクションデータ142と相関させ得る。たとえば、相関回路154は、オンライン対話データ112を受信し、オンライン対話に関連付けられた識別子114をブリッジシステム120に送って、オンライン対話データ112と相関するオフラインアクションデータ142に対応するオフラインアクションに関連付けられた識別子144を受信し得る。異なるエンティティからのデータの相関は、
図5を参照しながら以下で詳細に説明される。
【0027】
復号回路156は異なるエンティティからのデータを復号し得る。いくつかの実装形態では、復号回路156は、オンライン対話システム110および/またはオフラインアクションシステム140から受信されたデータ(たとえば、オンライン対話データ112、オフラインアクションデータ142)を復号する。復号回路156は、異なるエンティティからのデータの復号を容易にするために1つまたは複数の秘密(たとえば、鍵、コードなど)を受信するおよび/または含むことができる。復号は、
図4および
図5を参照しながら以下でより詳細に説明される。集約回路158は、基礎となるPIIを保護しながらオンライン対話とオフラインアクションとの相関についての洞察を容易にするためにデータを集約し得る。いくつかの実装形態では、集約回路158は相関回路154からのデータを集約し得る。集約は、
図5を参照しながら以下でより詳細に論じられる。
【0028】
次に
図2~
図5を参照すると、例示的な実装形態による、異なるエンティティからのデータを相関させるための改善された暗号およびコンピュータアーキテクチャが示されている。相関したデータは、集約出力データとして出力データベース160に送られ得る。いくつかの実装形態では、出力データベース160はデータ処理システム150からのデータを受信する。いくつかの実装形態では、出力データベース160は、サーバ、データベース、または他のネットワーク接続されたデータリポジトリである。
【0029】
オンライン対話システム110は、暗号化されたオンライン対話データ414をデータ処理システム150に送る(210)ことができる。様々な実装形態では、オンライン対話システム110は、(たとえば、暗号化回路116を介して)送る前にオンライン対話データ112を暗号化する。暗号化されたオンライン対話データ414は、データ処理システム150によってのみ復号され得る。したがって、外部のエンティティは暗号化されたオンライン対話データ414を復号することができないので、PIIセキュリティが維持される。オンライン対話システム110は、暗号化されたオンライン対話データ414の復号を容易にするために、暗号化された第1のセッション鍵416として示された第1の鍵をデータ処理システム150に送る(220)ことができる。第1の鍵は暗号化され得る。いくつかの実装形態では、オンライン対話システム110は、送る前にオンライン対話データ112を暗号化するために第1の鍵を使用する。データ処理システム150は、暗号化されたオンライン対話データ414を復号する際に第1の鍵を使用し得る。
【0030】
オフラインアクションシステム140は、暗号化されたオフラインアクションデータ444をデータ処理システム150に送る(230)ことができる。様々な実装形態では、オフラインアクションシステム140は、送る前にオフラインアクションデータ142を暗号化する。暗号化されたオンライン対話データ414と同様に、暗号化されたオフラインアクションデータ444は、データ処理システム150によってのみ復号され得る。オフラインアクションシステム140は、暗号化されたオフラインアクションデータ444の復号を容易にするために、暗号化された第2のセッション鍵446として示された第2の鍵をデータ処理システム150に送る(240)ことができる。第2の鍵は暗号化され得る。いくつかの実装形態では、オフラインアクションシステム140は、送る前にオフラインアクションデータ142を暗号化するために第2の鍵を使用する。データ処理システム150は、暗号化されたオフラインアクションデータ444を復号する際に第2の鍵を使用し得る。オフラインアクションシステム140は、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を復号するために、実行可能コード250をデータ処理システム150に送る(250)ことができる。いくつかの実装形態では、実行可能コード250は第3の鍵を含む。実行可能コード250は、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を復号し、復号されたオンライン対話データ112とオフラインアクションデータ142を照合し、集約出力データを作成するための機械実行可能命令(たとえば、バイナリコードファイルなど)を含み得る。いくつかの実装形態では、実行可能コード250は、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を復号することの一部として第1の鍵および第2の鍵を復号する。実行可能コード250は、第3の鍵を復元するために使用することができないように安全であり得る。
【0031】
ブリッジシステム120は、マッピングデータ122をデータ処理システム150に送る(260)ことができる。いくつかの実装形態では、データ処理システム150は、オンライン対話データ112をオフラインアクションデータ142と照合するためにブリッジシステム120に問い合わせる。データ処理システム150は、集約出力データを出力データベース160に送る(270)ことができる。集約出力データは、コンバージョンの合計(たとえば、トランザクション、クリック、電話呼など)、各コンバージョンに関連付けられた値の合計(たとえば、金額)、およびメタデータを含み得る。メタデータは、分散、平均、および/または任意の他の統計的尺度の指示を含み得る。オフラインアクションシステム140は、実行可能コード250を介して集約出力データの出力を変更してもよい。たとえば、オフラインアクションシステム140は、各コンバージョンに関連付けられた平均値を含む集約出力データを作成する第1の実行可能コードを提供してもよく、コンバージョン値の第3四分位数の中のコンバージョンに関連付けられた最大値を含む集約出力データを作成する第2の実行可能コードを提供してもよい。
【0032】
次に特に
図3を参照すると、例示的な実装形態による、オンライン対話データをオフラインアクションデータに安全に関連付ける方法300を示す流れ図が示されている。方法300はデータ処理システム150によって実装され得る。方法300はデータ処理システム150に関して説明されるが、方法300は、オンライン対話システム110およびオフラインアクションシステム140と無関係である、PIIの匿名性およびセキュリティを維持する任意のコンピューティングデバイスによって実装され得ることを理解されたい。
【0033】
ステップ310において、データ処理システム150は、第1のコンピューティングシステムから第1の鍵を受信し得る。第1のコンピューティングシステムはオンライン対話システム110であり得る。いくつかの実装形態では、第1の鍵は暗号化される(たとえば、暗号化された第1のセッション鍵416)。ステップ320において、データ処理システム150は、第1のコンピューティングシステムから、1人または複数の個人に関連付けられた1つまたは複数のオンライン対話を記述する暗号化されたオンライン対話データ414を受信し得る。いくつかの実装形態では、第1の鍵は、オンライン対話データ112を暗号化して、暗号化されたオンライン対話データ414を作成するために使用される。ステップ330において、データ処理システム150は、第2のコンピューティングシステムから第2の鍵を受信し得る。第2のコンピューティングシステムはオフラインアクションシステム140であり得る。いくつかの実装形態では、第2の鍵は暗号化される(たとえば、暗号化された第2のセッション鍵446)。ステップ340において、データ処理システム150は、第2のコンピューティングシステムから、1人または複数の個人に関連付けられた1つまたは複数のトランザクションを記述する暗号化されたオフラインアクションデータ444を受信し得る。いくつかの実装形態では、第2の鍵は、オフラインアクションデータ142を暗号化して、暗号化されたオフラインアクションデータ444を作成するために使用される。
【0034】
ステップ350において、データ処理システム150は、第2のコンピューティングシステムから、第3の鍵を有する実行可能コード250を受信し得る。いくつかの実装形態では、第3の鍵は非対称暗号化秘密鍵である。ステップ360において、データ処理システム150は、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を復号し得る。いくつかの実装形態では、データ処理システム150は、実行可能コード250に含まれる命令に基づいて、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を復号する。データ処理システム150は、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を復号するために、第1の鍵、第2の鍵、および/または第3の鍵を使用し得る。ステップ370において、データ処理システム150は、第3のコンピューティングシステムから、暗号化されたオンライン対話データ414の1人または複数の個人と暗号化されたオフラインアクションデータ444の1人または複数の個人との間の関連付けを記述するマッピングデータ122を受信し得る。いくつかの実装形態では、マッピングデータ122は、オンライン対話データ112の識別子とオフラインアクションデータ142の識別子との間の関連付けを記述する。いくつかの実装形態では、データ処理システム150は第3のコンピューティングシステムに問い合わせる。たとえば、データ処理システム150は、オンライン対話データ112に関連付けられた識別子114を第3のコンピューティングシステムに送り、オフラインアクションデータ142に関連付けられた対応する識別子144を受信し得る。
【0035】
ステップ380において、データ処理システム150は集約出力を作成し得る。データ処理システム150は、オンライン対話データ112とオフラインアクションデータ142との間の相関に基づいて集約出力を生成し得る。いくつかの実装形態では、実行可能コード250は、どの情報が集約出力に含まれるかを決定するための命令を含む。集約出力はPIIを含まない。ステップ390において、データ処理システム150は集約出力を出力データベースに送り得る。いくつかの実装形態では、出力データベースは出力データベース160である。
【0036】
次に
図4を参照すると、例示的な実装形態による、オンライン対話システム110、オフラインアクションシステム140、およびデータ処理システム150の間でデータを安全に転送するための暗号化プロセスを示す図が示されている。オンライン対話システム110はオンライン対話データ112を含み得る。オンライン対話データ112は、
図1に関して説明されたオンライン対話データであり得る。同様に、オフラインアクションシステム140はオフラインアクションデータ142を含み得る。オフラインアクションデータ142は、
図1に関して説明されたオフラインアクションデータであり得る。
図4はオンライン対話システム110、オフラインアクションシステム140、およびデータ処理システム150に関して説明されているが、任意のプロセスが構成要素またはそれらの組合せ(たとえば、暗号化回路116、暗号化回路146、復号回路156など)によって実装され得ることを理解されたい。
【0037】
いくつかの実装形態では、オンライン対話システム110およびオフラインアクションシステム140は、それぞれ、セッション鍵生成器410および440を含む。セッション鍵生成器410および440は、それぞれ、第1のセッション鍵412および第2のセッション鍵442を生成し得る。第1のセッション鍵412はオンライン対話データ112を暗号化するために使用され得る。第2のセッション鍵442はオフラインアクションデータ142を暗号化するために使用され得る。いくつかの実装形態では、第1のセッション鍵412および第2のセッション鍵442は対称暗号化セッション鍵である。たとえば、第1のセッション鍵412は、128ビットランダム初期化ベクトルを使用してセッション鍵生成器410によって生成された128ビットランダム整数であり得る。いくつかの実装形態では、第1のセッション鍵412および第2のセッション鍵442は限定使用鍵である。たとえば、セッション鍵生成器410および440は、オンライン対話データ112および/またはオフラインアクションデータ142がデータ処理システム150に送られるたびに新しいセッション鍵を生成し得る。
【0038】
いくつかの実装形態では、オンライン対話システム110は、暗号化されたオンライン対話データ414を作成するために、第1のセッション鍵412を使用してオンライン対話データ112を暗号化する。同様に、オフラインアクションシステム140は、暗号化されたオフラインアクションデータ444を作成するために、第2のセッション鍵442を使用してオフラインアクションデータ142を暗号化し得る。
【0039】
いくつかの実装形態では、第1のセッション鍵412および第2のセッション鍵442は、データ処理システム150に送信される前に暗号化される。オフラインアクションシステム140は、公開鍵148をオンライン対話システム110に送る(402)ことができる。オンライン対話システム110は、暗号化された第1のセッション鍵416を作成するために、公開鍵148を使用して第1のセッション鍵412を暗号化し得る。同様に、オフラインアクションシステム140は、暗号化された第2のセッション鍵446を作成するために、公開鍵148を使用して第2のセッション鍵442を暗号化し得る。公開鍵148は非対称暗号化公開鍵であり得る。いくつかの実装形態では、オフラインアクションシステム140が公開鍵148を生成する。
【0040】
以前に論じられたように、暗号化されたオンライン対話データ414、暗号化された第1のセッション鍵416、暗号化されたオフラインアクションデータ444、および暗号化された第2のセッション鍵446は、データ処理システム150に送られ(210~240)得る。いくつかの実装形態では、データは、安全なファイル転送プロトコル(たとえば、SSHファイル転送プロトコルなど)を介してエンティティ(たとえば、オンライン対話システム110、オフラインアクションシステム140、およびデータ処理システム150など)間で転送される。オフラインアクションシステム140は、秘密鍵を含む実行可能コード250をデータ処理システム150に送り得る。実行可能コード250は、暗号化された第1のセッション鍵416、暗号化された第2のセッション鍵446、暗号化されたオンライン対話データ414、および/または暗号化されたオフラインアクションデータ444を復号するための命令を含み得る。いくつかの実装形態では、実行可能コード250は、オンライン対話データ112のオンライン対話をオフラインアクションデータ142のオフラインアクションと相関させることをデータ処理システム150に行わせるための命令を含む。様々な実装形態では、実行可能コード250は、オンライン対話と相関したトランザクションの数を示す集約出力データを生成することをデータ処理システム150に行わせるための命令を含む。
【0041】
いくつかの実装形態では、実行可能コード250はバイナリである。秘密鍵は、非対称暗号化公開鍵に対応する非対称暗号化秘密鍵であり得る。たとえば、秘密鍵はリベスト-シャミア-エーデルマン(「RSA(Rivest-Shamir-Adleman)」)公開鍵暗号システムの一部であり得る。いくつかの実装形態では、秘密鍵は指定された長さ(たとえば、2048ビット)である。いくつかの実装形態では、オフラインアクションシステム140が秘密鍵を生成する。実行可能コード250は、悪意のある部外者が実行可能コード250にアクセスしても秘密鍵を復元することができないように安全であり得る。たとえば、実行可能コード250は、データ処理システム150によって実行されるときにのみ動作可能であるように構成され得る。
【0042】
次に
図5を参照すると、例示的な実装形態による、集約出力データを生成する方法500を示す流れ図が示されている。様々な実装形態では、方法500はデータ処理システム150によって実装される。いくつかの実装形態では、方法500は方法300の一部である。たとえば、方法500は方法300のステップ360~390を補完および/または置換することができる。方法500はデータ処理システム150に関して説明されているが、方法500は、オンライン対話システム110およびオフラインアクションシステム140と無関係である、PIIの匿名性およびセキュリティを維持する任意のコンピューティングデバイスによって実装され得ることを理解されたい。
【0043】
ステップ510において、データ処理システム150は、秘密鍵を使用して暗号化された第1のセッション鍵416および暗号化された第2のセッション鍵446を復号し得る。ステップ520において、データ処理システム150は、第1のセッション鍵412を使用して暗号化されたオンライン対話データ414を復号し得、第2のセッション鍵442を使用して暗号化されたオフラインアクションデータ444を復号し得る。第1のセッション鍵412は暗号化されたオンライン対話データ414に特有のものであり得る。同様に、第2のセッション鍵442は暗号化されたオフラインアクションデータ444に特有のものであり得る。ステップ530において、データ処理システム150は、オンライン対話データ112のオンライン対話をオフラインアクションデータ142のオフラインアクションと相関させ得る。いくつかの実装形態では、ステップ530は、オンライン対話データ112に関連付けられた識別子をオフラインアクションデータ142に関連付けられた識別子と相関させることを含む。オンライン対話データ112をオフラインアクションデータ142と相関させることは、マッピングデータ122を使用することを含み得る。たとえば、データ処理システム150は、オンライン対話データ112に関連付けられた識別子を用いてブリッジシステム120に問い合わせて、オフラインアクションデータ142に関連付けられた識別子を受信し得る。
【0044】
ステップ540において、データ処理システム150は、オンライン対話データ112とオフラインアクションデータ142との間の相関に基づいてコンバージョンデータを生成し得る。いくつかの実装形態では、ステップ540は、コンバージョンデータを記述する統計的尺度(たとえば、平均値、中央値、Q1、Q2、分散など)を生成することを含む。ステップ550において、データ処理システム150は、集約出力データを作成するためにコンバージョンデータを集約し得る。集約出力データは、コンバージョンの合計(たとえば、トランザクション、クリックなど)、各コンバージョンに関連付けられた値の合計(たとえば、金額)、およびメタデータを含み得る。メタデータは、分散、平均、および/または任意の他の統計的尺度の指示を含み得る。いくつかの実装形態では、集約出力データのコンテンツは実行可能コード250によって決定される。ステップ560において、データ処理システム150は集約出力データを出力場所に送り得る。いくつかの実装形態では、出力場所は出力データベース160である。いくつかの実装形態では、出力データベース160は、
図6を参照しながら以下で詳細に論じられるように、オンライン対話システム110に関連付けられる。
【0045】
次に
図6を参照すると、例示的な実装形態による、データセキュリティ制限を示す図が示されている。以前に論じられたように、PIIのセキュリティを維持するために、オンライン対話データ112およびオフラインアクションデータ142は決して、保護された環境(たとえば、保護された環境152)の外部で組み合わされるべきではない。オンライン対話システム110はオンライン対話データ112を作成する。同様に、オフラインアクションシステム140はオフラインアクションデータ142を作成する。しかしながら、オンライン対話システム110はオフラインアクションデータ142にアクセスできないことがある。同様に、オフラインアクションシステム140はオンライン対話データ112にアクセスできないことがある。オンライン対話データ112およびオフラインアクションデータ142を暗号化することは、オンライン対話システム110がオフラインアクションデータ142にアクセスすることができず、オフラインアクションシステム140がオンライン対話データ112にアクセスすることができないことを保証し、それによって、PIIのセキュリティを保証する。
【0046】
加えて、暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444は、秘密鍵を有する実行可能コード250を使用してデータ処理システム150によってのみ復号され得る。したがって、仮に悪意のある部外者が暗号化されたオンライン対話データ414および暗号化されたオフラインアクションデータ444を傍受するとしても、悪意のある部外者はオンライン対話データ112またはオフラインアクションデータ142を復元してPIIを暴露することはできないであろう。さらに、オンライン対話システム110もオフラインアクションシステム140も、データ処理システム150の基礎となる情報(たとえば、オンライン対話データ112、オフラインアクションデータ142)にアクセスすることができない。
【0047】
様々な実装形態では、実行可能コード250は集約出力データのカスタマイズを容易にする。オフラインアクションシステム140は実行可能コード250を提供することができ、どの情報が集約出力データに含まれるかを決定するための実行可能コード250を変更することができる。様々な実装形態では、出力データベース160はオンライン対話システム110に関連付けられる。したがって、オンライン対話システム110はオフラインアクションシステム140によって提供される実行可能コード250なしに集約出力を作成することができず、オフラインアクションシステム140はオンライン対話システム110なしに出力データベース160内の集約出力データにアクセスすることができない。このデータ所有権の分離はPIIの保護を容易にする。
【0048】
図7は、たとえば、例示的なオンライン対話システム110、例示的なオフラインアクションシステム140、例示的なデータ処理システム150、例示的なブリッジシステム120、および/または本開示で説明される様々な他の例示的なシステムを実装するために使用され得るコンピューティングシステム700の図解を示す。コンピューティングシステム700は、情報を通信するためのバス705または他の通信構成要素と、バス705に結合された、情報を処理するためのプロセッサ710とを含む。コンピューティングシステム700はまた、バス705に結合された、情報とプロセッサ710によって実行されるべき命令とを記憶するための、ランダムアクセスメモリ(「RAM」)または他の動的記憶デバイスなどのメインメモリ715を含む。メインメモリ715は、位置情報、テンポラリ変数、またはプロセッサ710による命令の実行中の他の中間情報を記憶するためにも使用され得る。コンピューティングシステム700は、バス705に結合された、静的情報とプロセッサ710のための命令とを記憶するための読取り専用メモリ(「ROM」)720または他の静的記憶デバイスをさらに含み得る。ソリッドステートデバイス、磁気ディスクまたは光ディスクなどの記憶デバイス725は、情報および命令を永続的に記憶するためにバス705に結合される。
【0049】
コンピューティングシステム700は、情報をユーザに表示するための液晶ディスプレイまたはアクティブマトリクスディスプレイなどのディスプレイ735にバス705を介して結合され得る。英数字キーおよび他のキーを含むキーボードなどの入力デバイス730は、情報およびコマンド選択をプロセッサ710に通信するためにバス705に結合され得る。別の実装形態では、入力デバイス730はタッチスクリーンディスプレイ735を有する。入力デバイス730は、方向情報およびコマンド選択をプロセッサ710に通信するための、かつディスプレイ735上のカーソル移動を制御するためのマウス、トラックボール、またはカーソル方向キーなどのカーソル制御を含むことができる。
【0050】
いくつかの実装形態では、コンピューティングシステム700は、ネットワーキングアダプタなどの通信アダプタ740を含み得る。通信アダプタ740はバス705に結合され得、コンピューティングもしくは通信ネットワーク745および/または他のコンピューティングシステムとの通信を可能にするように構成され得る。様々な例示的な実装形態では、ワイヤード(たとえば、イーサネットを介した)、ワイヤレス(たとえば、WiFi、Bluetoothなどを介した)、事前構成済み、アドホック、LAN、WANなどの任意のタイプのネットワーキング構成が通信アダプタ740を使用して達成され得る。
【0051】
様々な実装形態によれば、本明細書で説明される例示的な実装形態を実施するプロセスは、プロセッサ710がメインメモリ715に含まれている命令の配列を実行したことに応答して、コンピューティングシステム700によって達成され得る。そのような命令は、記憶デバイス725などの別のコンピュータ可読媒体からメインメモリ715に読み込まれ得る。メインメモリ715に含まれている命令の配列の実行は、本明細書で説明される例示的なプロセスをコンピューティングシステム700に実施させる。マルチプロセッシング構成における1つまたは複数のプロセッサは、メインメモリ715に含まれている命令を実行するためにも用いられ得る。代替実装形態では、例示的な実装形態を実装するためのソフトウェア命令の代わりにまたはそのソフトウェア命令と組み合わせて、ハードワイヤード回路構成が使用され得る。したがって、実装形態はハードウェア回路構成とソフトウェアの任意の特定の組合せに限定されない。
【0052】
図7において例示的な処理システムが説明されたが、主題の実装形態および本明細書で説明される機能的動作は、他のタイプのデジタル電子回路構成を使用して、または本明細書で開示される構造およびその構造的等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実施され得る。
【0053】
本開示のシステムおよび方法は、既存のシステムに勝る多くの利益をもたらす。異なるエンティティからのオンライン対話とオフラインアクションを相関させることは、コンピューティングシステムがオンライン対話データおよびオフラインアクションデータにアクセスできることを必要とする。たとえば、オンライン対話システムは、相関させるためにオンライン対話データをオフライン対話データプロバイダに送り得る。しかしながら、オンライン対話データおよびオフラインアクションデータは、一緒になると、データが関連付けられている個人に関するPIIを暴露することがある。PIIを暴露することは望ましくない。
【0054】
したがって、本開示のシステムおよび方法は、保護された環境においてオンライン対話データとオフラインアクションデータを相関させることによって、改善されたセキュリティおよび柔軟性を提供する。本開示は、異なるエンティティからのデータのダブルブラインド照合を容易にし、それによって、セキュリティを改善し、ユーザプライバシーを守るための、改善された暗号化およびコンピュータアーキテクチャ方法論を提示する。本開示のシステムおよび方法によって作成される集約出力にはPIIがない。さらに、本開示のシステムおよび方法は集約出力のカスタマイズを可能にする。たとえば、異なるメトリックが識別され得るかつ/または異なる出力変数が作成され得る。したがって、本開示のシステムおよび方法は、データのプライバシーおよびセキュリティを維持しながら、既存の解決策に勝るカスタマイズおよび柔軟性を提供する。
【0055】
主題の実装形態および本明細書で説明される動作は、デジタル電子回路構成を使用して、または本明細書で開示される構造およびその構造的等価物を含む、有形媒体、ファームウェア、もしくはハードウェア上で具現化されたコンピュータソフトウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実施され得る。本明細書で説明される主題の実装形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するための、またはデータ処理装置の動作を制御するための、1つまたは複数のコンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ可読記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、あるいはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令の送信元または宛先であり得る。コンピュータ記憶媒体は、1つもしくは複数の別個の構成要素もしくは媒体(たとえば、複数のCD、ディスク、もしくは他の記憶デバイス)であり得るか、またはそれらに含まれ得る。したがって、コンピュータ記憶媒体は有形および非一時的の両方である。
【0056】
本明細書で説明される動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されたまたは他のソースから受信されたデータに対してデータ処理装置によって実施される動作として実装され得る。
【0057】
「データ処理装置」または「コンピューティングデバイス」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記の複数もしくは組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0058】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとしてまたはモジュール、構成要素、サブルーチン、オブジェクト、もしくはコンピューティング環境で使用するのに適した他のユニットとしてを含む任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムの中のファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部分に、当該プログラム専用の単一のファイルに、または複数の協調ファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるかもしくは複数のサイトにわたって分散され通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【0059】
本明細書で説明されるプロセスおよび論理フローは、入力データを操作し出力を生成することによってアクションを実施するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得、装置はまた、専用論理回路構成として実装され得る。
【0060】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つもしくは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、あるいは、それらからデータを受信することもしくはそれらにデータを転送することまたはその両方を行うために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイルテレフォン、携帯情報端末(「PDA」)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(「GPS」)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(「USB」)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路構成によって補完され得るか、または専用論理回路構成に組み込まれ得る。
【0061】
ユーザとの対話を提供するために、本明細書で説明される主題の実装形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータを使用して実施され得る。ユーザとの対話を提供するために他の種類のデバイスも使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、ウェブページをそのウェブブラウザに送ることによって、ユーザと対話することができる。
【0062】
本明細書で説明される主題の実装形態は、バックエンド構成要素、たとえば、データサーバを含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、それを介してユーザが本明細書で説明される主題の一実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムを使用して実施され得る。システムの構成要素は、任意の形態のデジタルデータ通信の媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0063】
コンピューティングシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に、互いから離れており、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行され、互いとのクライアント-サーバ関係を有することによって生じる。いくつかの実装形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信するために)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
【0064】
いくつかの例示的な実装形態では、本明細書で開示される特徴は、(たとえば、ケーブル信号、衛星信号、オーバージエア信号、または他の信号を介して受信された)さらなる従来のテレビジョンプログラミングソースとインターネット接続性を統合するように構成された処理回路を含み得るスマートテレビジョンモジュール(またはコネクテッドテレビジョンモジュール、ハイブリッドテレビジョンモジュールなど)上で実装され得る。スマートテレビジョンモジュールは、テレビジョンセットに物理的に組み込まれ得るか、またはセットトップボックス、ブルーレイもしくは他のデジタルメディアプレーヤ、ゲームコンソール、ホテルテレビジョンシステム、および他のコンパニオンデバイスなどの別個のデバイスを含み得る。スマートテレビジョンモジュールは、視聴者がウェブ上の、ローカルケーブルテレビジョンチャンネル上の、衛星テレビジョンチャンネル上の、またはローカルハードドライブ上に記憶されたビデオ、映画、写真および他のコンテンツを検索し、見つけることを可能にするように構成され得る。セットトップボックス(「STB」)またはセットトップユニット(「STU」)は情報アプライアンスデバイスを含んでもよく、情報アプライアンスデバイスは、チューナを含み、テレビジョンセットおよび信号の外部ソースに接続することができ、信号をコンテンツに変換し、次いで、コンテンツはテレビジョンスクリーンまたは他のディスプレイデバイス上に表示される。スマートテレビジョンモジュールは、ウェブブラウザなどの複数の異なるアプリケーション、および複数のストリーミングメディアサービス、接続されたケーブルまたは衛星メディアソース、他のウェブ「チャンネル」などのためのアイコンを含むホームスクリーンまたはトップレベルスクリーンを提供するように構成され得る。スマートテレビジョンモジュールは、電子プログラミングガイドをユーザに提供するようにさらに構成され得る。スマートテレビジョンモジュールに対するコンパニオンアプリケーションは、入手可能なプログラムについての追加情報をユーザに提供するように、ユーザがスマートテレビジョンモジュールを制御することを可能にするようになど、モバイルコンピューティングデバイス上で動作可能であり得る。代替実装形態では、特徴は、ラップトップコンピュータもしくは他のパーソナルコンピュータ、スマートフォン、他のモバイルフォン、ハンドヘルドコンピュータ、タブレットPC、または他のコンピューティングデバイス上で実装され得る。
【0065】
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは、任意の発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ特定の発明の特定の実装形態に固有の特徴の説明として解釈されるべきである。別個の実装形態の文脈において本明細書で説明されるいくつかの特徴はまた、組み合わせてまたは単一の実装形態において実施され得る。逆に、単一の実装形態の文脈において説明される様々な特徴はまた、複数の実装形態において、別々に、または任意の適切な副組合せで実施され得る。さらに、特徴はいくつかの組合せにおいて働くものとして上記で説明され、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除される可能性があり、特許請求される組合せは、副組合せまたは副組合せの変形形態を対象とし得る。加えて、特定の見出しに関して説明される特徴は、他の見出しの下で説明される例示的な実装形態に関しておよび/またはそれらの実装形態と組み合わせて利用され得、見出しは、提供される場合、読みやすくするためだけに含まれるものであり、そのような見出しに関して提供される任意の特徴を限定するものとして解釈されるべきではない。
【0066】
同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序でまたは逐次的順序で実施されること、またはすべての示された動作が実施されることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明された実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されるプログラム構成要素およびシステムは一般に、単一のソフトウェア製品に一緒に統合され得るか、有形媒体上で具現化された複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0067】
このように、主題の特定の実装形態が説明された。他の実装形態は以下の特許請求の範囲の範囲内にある。場合によっては、特許請求の範囲において列挙されるアクションは、異なる順序で実施され、依然として望ましい結果を達成することができる。加えて、添付の図に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的順序を必ずしも必要としない。いくつかの実装形態では、マルチタスクおよび並列処理が有利であり得る。
【符号の説明】
【0068】
100 システム
110 オンライン対話システム
111 処理回路
112 オンライン対話データ
113 プロセッサ
114 識別子
115 メモリ
116 暗号化回路
120 ブリッジシステム
121 処理回路
122 マッピングデータ
123 プロセッサ
125 メモリ
130 ネットワーク
140 オフラインアクションシステム
141 処理回路
142 オフラインアクションデータ
143 プロセッサ
144 識別子
145 メモリ
146 暗号化回路
150 データ処理システム
152 保護された環境
153 プロセッサ
154 相関回路
155 メモリ
156 復号回路
157 一般環境
158 集約回路
160 出力データベース
250 実行可能コード
300 方法
410 セッション鍵生成器
412 第1のセッション鍵
414 暗号化されたオンライン対話データ
416 暗号化された第1のセッション鍵
440 セッション鍵生成器
442 第2のセッション鍵
444 暗号化されたオフラインアクションデータ
446 暗号化された第2のセッション鍵
500 方法
700 コンピューティングシステム
705 バス
710 プロセッサ
715 メインメモリ
720 読取り専用メモリ
725 記憶デバイス
730 入力デバイス
735 ディスプレイ
740 通信アダプタ
745 通信ネットワーク