(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-29
(45)【発行日】2024-11-07
(54)【発明の名称】複数管理者オプト・アウト・システム及び方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20241030BHJP
G06Q 30/0251 20230101ALI20241030BHJP
【FI】
G06F21/62 345
G06Q30/0251
(21)【出願番号】P 2022533376
(86)(22)【出願日】2020-11-19
(86)【国際出願番号】 US2020061346
(87)【国際公開番号】W WO2021113087
(87)【国際公開日】2021-06-10
【審査請求日】2023-08-28
(32)【優先日】2019-12-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519161872
【氏名又は名称】ライブランプ インコーポレーテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ディアツ、エロイーズ
(72)【発明者】
【氏名】フェッターロルフ、クリス
(72)【発明者】
【氏名】ラング、ジョシュア
(72)【発明者】
【氏名】スワフィールド、ヘンリー、ハートウェル
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】米国特許出願公開第2021/0019445(US,A1)
【文献】特開2017-010521(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-21/88
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数管理者オプト・アウトを取り扱うシステムであって、
命令シーケンスを記憶する、少なくとも1つのメモリと、
前記命令シーケンスを実行するよう構成された少なくとも1つのプロセッサと
を備え、前記命令シーケンスが、実行されると、前記少なくとも1つのプロセッサに、
第1の管理者からのデータ対象者のレコードの第1のセットに対して名寄せ処理を実行し、前記データ対象者のレコードの第1のセット内の、前記データ対象者のレコードのそれぞれに関連する、データ対象者を特定すること、
第2の管理者からのデータ対象者のレコードの第2のセットに対して名寄せ処理を実行し、前記データ対象者のレコードの第2のセット内の、前記データ対象者のレコードのそれぞれに関連する、前記データ対象者を特定すること、
前記データ対象者のレコードの第1のセットを、前記第1の管理者に一意に関連付けられた第1の管理者識別子を含む、メタデータによって拡張し、データ対象者及びメタデータのレコードの第1のセットを生成すること、
前記データ対象者のレコードの第2のセットを、前記第2の管理者に一意に関連付けられた第2の管理者識別子を含む、メタデータによって拡張し、データ対象者及びメタデータのレコードの第2のセットを生成すること、
前記データ対象者及びメタデータのレコードの第1のセットと、前記データ対象者及びメタデータのレコードの第2のセットとを組み合わせたデータセットを構築すること、並びに
オプト・アウトされるデータ対象者の第1のリスト、及び関連する個人を特定可能な情報の第1のタイプを含む、オプト・アウト・レコードの第1のセットと、オプト・アウトされるデータ対象者の第2のリスト、及び関連する個人を特定可能な情報の第2のタイプを含む、オプト・アウト・レコードの第2のセットとを使って、前記組み合わせたデータセットに対してオプト・アウト・サービスを適用して、前記オプト・アウト・レコードの第1のセット及び前記オプト・アウト・レコードの第2のセットのいずれかに一致する、前記組み合わせたデータセット内のレコードを抑制すること
を実行させる、システム。
【請求項2】
前記命令シーケンスが、実行されると、前記少なくとも1つのプロセッサにさらに、前記データ対象者のレコードの第1のセットに対して名寄せ処理を実行する前に、前記データ対象者のレコードの第1のセットに対して仮名化を実行させ、且つ前記データ対象者のレコードの第2のセットに対して名寄せ処理を実行する前に、前記データ対象者のレコードの第2のセットに対して仮名化を実行させる、請求項1に記載のシステム。
【請求項3】
前記命令シーケンスが、実行されると、前記少なくとも1つのプロセッサにさらに、前記データ対象者のレコードの第1のセット及びデータ対象者のレコードの第2のセット内の、どんな個人を特定可能な情報も、隠名識別子と置き換えさせる、請求項1に記載のシステム。
【請求項4】
前記命令シーケンスが、実行されると、前記少なくとも1つのプロセッサにさらに、前記データ対象者のレコードの第1のセット及びデータ対象者のレコードの第2のセット内の、特定のデータ対象者の隠名識別子が一致するように、前記データ対象者のレコードの第1のセットとデータ対象者のレコードの第2のセットとの間の、個人を特定可能な情報の僅かな違いを排除させる、請求項3に記載のシステム。
【請求項5】
前記個人を特定可能な情報の第1のタイプと、前記個人を特定可能な情報の第2のタイプとが相異なる、請求項4に記載のシステム。
【請求項6】
前記命令シーケンスが、実行されると、前記少なくとも1つのプロセッサにさらに、前記オプト・アウト・レコードの第1のセットに対して名寄せ処理を実行させて、前記オプト・アウト・レコードの第1のセットを、隠名識別子を使って拡張し、且つ前記オプト・アウト・レコードの第2のセットに対して名寄せ処理を実行させて、前記オプト・アウト・レコードの第2のセットを、隠名識別子を使って拡張する、請求項5に記載のシステム。
【請求項7】
前記命令シーケンスが、実行されると、前記少なくとも1つのプロセッサにさらに、前記データ対象者及びメタデータのレコードの第1のセット内の隠名識別子を、第1の宛先識別子に変換させて、前記第1の宛先識別子を、隠名識別子と置換させ、且つ前記データ対象者及びメタデータのレコードの第2のセット内の隠名識別子を、第2の宛先識別子に変換させて、前記第2の宛先識別子を、隠名識別子と置換させる、請求項6に記載のシステム。
【請求項8】
複数管理者オプト・アウトを取り扱うためのコンピュータ処理化された方法であって、
データ対象者のレコードの複数のセット内の、前記データ対象者のレコードのそれぞれに関連付けられたデータ対象者を特定するために、前記データ対象者のレコードの複数のセットに対して名寄せ処理を実行するステップと、
データ対象者及びメタデータのレコードの複数のセットを生成するために、前記データ対象者のレコードの複数のセット内の、前記データ対象者のレコードのそれぞれを、複数の管理者のうちの管理者に一意に関連付けられた管理者識別子を含むメタデータによって拡張するステップと、
前記データ対象者及びメタデータのレコードの複数のセットからの、データ対象者及びメタデータのレコードを組み合わせることにより、組み合わせたデータセットを構築するステップと、
オプト・アウト・レコードの複数のセットであり、それぞれのセットが、オプト・アウトされるデータ対象者のリスト及び関連する個人を特定可能なオプト・アウト情報を含む、オプト・アウト・レコードの複数のセットを使用して、前記組み合わせたデータセットに対してオプト・アウト・サービスを適用して、前記オプト・アウト・レコードの複数のセット内の前記レコードのいずれかと一致する、前記組み合わせたデータセット内のレコードを抑制するためステップと
を含む、方法。
【請求項9】
前記データ対象者のレコードの複数のセット内の、前記データ対象者のレコードに対して、名寄せ処理を実行するステップの前に、前記データ対象者のレコードの複数のセット内の、前記データ対象者のレコードを仮名化するステップをさらに含む、請求項8に記載の方法。
【請求項10】
前記データ対象者のレコードの複数のセット内の、前記データ対象者のレコードのそれぞれが、データ対象者個人を特定可能な情報を含み、前記方法が、前記データ対象者のレコードの複数のセット内の、前記データ対象者のレコードのそれぞれの、前記データ対象者個人を特定可能な情報を、隠名識別子と置き換えるステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記データ対象者のレコードの複数のセット内の、前記データ対象者のレコードのそれぞれの、前記データ対象者個人を特定可能な情報を、隠名識別子と置き換える前記ステップが、ハッシュ化技法を使用して、前記データ対象者のレコードの複数のセット内の前記データ対象者のレコードから前記隠名識別子を生成するステップを含む、請求項10に記載の方法。
【請求項12】
前記データ対象者のレコードの複数のセット間で、前記データ対象者個人を特定可能な情報を標準化するために、名寄せ処理を実行するステップをさらに含み、これにより、前記データ対象者のレコードの複数のセット間で一致する、各特定のデータ対象者のレコードごとの隠名識別子が同一になる、請求項10に記載の方法。
【請求項13】
前記オプト・アウト・レコードの複数のセットに対して名寄せ処理を実行して、前記オプト・アウト・レコードの複数のセットの前記オプト・アウト・レコードのそれぞれを、補足の、データ対象者個人を特定可能な情報によって拡張するステップをさらに含む、請求項12に記載の方法。
【請求項14】
前記データ対象者のレコードの複数のセット内の、隠名識別子を宛先識別子に変換するステップと、前記データ対象者のレコードの複数のセットを、少なくとも1つのプログラムによるメッセージ送信プラットフォームに転送するステップとをさらに含む、請求項13に記載の方法。
【請求項15】
コンピュータ処理化された、複数管理者オプト・アウト処理システムであって、前記システムが、
少なくとも1つのプロセッサと、
非一時的なコンピュータ可読記憶媒体と、
前記非一時的なコンピュータ可読記憶媒体に記憶され、前記少なくとも1つのプロセッサ上で実行可能なコードとして実装される仮名化ルーチンであって、データのレコードの複数のセットのそれぞれが相異なる管理者から生じている、前記データのレコードの複数のセットを、前記データのレコードの複数のセットがそこから生じている前記管理者のうちの1つにキー設定された識別子を含むメタデータによって拡張するよう構成される、仮名化ルーチンと、
前記非一時的なコンピュータ可読記憶媒体に記憶され、前記少なくとも1つのプロセッサ上で実行可能なコードとして実装される名寄せ処理ルーチンであって、前記名寄せ処理ルーチンが、前記レコードのデータの複数のセット内の、複数のレコードのそれぞれに対して、データ対象者の身元情報を解明するよう構成される、名寄せ処理ルーチンと、
前記非一時的なコンピュータ可読記憶媒体に記憶され、前記少なくとも1つのプロセッサ上で実行可能なコードとして実装される、組み合わせたデータセット構築ルーチンであって、前記組み合わせたデータセット構築ルーチンが、前記データのレコードの複数のセット内の、前記データセットのいずれのメタデータも削除することなく、前記データのレコードの複数のセットを組み合わせることによって、組み合わせたデータセットを構築するよう構成される、組み合わせたデータセット構築ルーチンと、
前記非一時的なコンピュータ可読記憶媒体に記憶され、前記少なくとも1つのプロセッサ上で実行可能なコードとして実装される、オプト・アウト・サービス・ルーチンであって、前記オプト・アウト・サービス・ルーチンが、前記組み合わせたデータセット内のデータのレコードにそれぞれが対応する、複数のオプト・アウト・レコードを読み取り、前記組み合わせたデータセット内の対応する各データのレコードを抑制するよう構成される、オプト・アウト・サービス・ルーチンと
を備える、システム。
【請求項16】
前記仮名化ルーチンがさらに、前記データのレコードの複数のセット内の、各レコードの個人を特定可能な情報を、内部の隠名識別子にコンバートするよう構成される、請求項15に記載のシステム。
【請求項17】
前記名寄せ処理ルーチンがさらに、オプト・アウト・レコードの複数のセット内のオプト・アウト・レコードからデータ対象者を解明し、前記オプト・アウト・レコードの複数のセット内の前記オプト・アウト・レコードのそれぞれを、対応するデータ対象者に関する補足データによって拡張するよう構成される、請求項16に記載のシステム。
【請求項18】
前記非一時的なコンピュータ可読記憶媒体に記憶され、前記少なくとも1つのプロセッサ上で実行可能なコードとして実装される、宛先への識別子マッピングルーチンをさらに備え、前記宛先への識別子マッピングルーチンが、前記組み合わせたデータセット内で、前記隠名識別子を宛先識別子に変換するよう構成される、請求項17に記載のシステム。
【請求項19】
前記仮名化ルーチンがさらに、前記データのレコードの複数のセット内の、各レコードの個人を特定可能な情報を、ハッシュ化ルーチンを適用することによって、前記内部の隠名識別子にコンバートするよう構成される、請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2019年12月5日に出願された米国仮特許出願第62/943,897号の優先権を主張する。かかる出願は、その全体が参照により本明細書に組み入れられる。
【0002】
本発明の分野は、個人を特定可能な情報(PII:personally identifiable information)を含むデータ処理システムを使用して、複数管理者の環境でオプト・アウトを制御することである。
【背景技術】
【0003】
多くの企業が、顧客及び潜在的な顧客への的を絞ったメッセージを作成するために、消費者に関するデータを保持している。こうした企業には、自社の顧客に関するデータを保持する小売業者ばかりでなく、所与の地理的地域の多数の消費者に関するデータを保持できる、サードパーティのデータ・プロバイダが含まれる。消費者に関するデータを保持する企業は、たとえば欧州連合の一般データ保護規則(GDPR:General Data Protection Regulation)を含む、様々な法域でますます多くなるデータ・プライバシ法、規制、及び規則の対象となる。これらの法律、規制、及び規則はすべて、本明細書では全般的に、「プライバシ法」と呼ぶことにする。こうしたデータ処理システムを保持する企業は、自社の技術によって、自社が該当するプライバシ法に確実に準拠できるようにする必要がある。
【0004】
多くの法域で適用されるプライバシ法の要件の1つは、データの対象者である人の要求に応じて、個人データの処理を制限する技術的機能である。これは一般的に、このデータの使用を「オプト・アウトすること」又はそれに対する「オプト・アウト」を可能にすることと呼ばれる。GDPRの下では、消費者データを有する企業はそれぞれが、単独で又は他と共同で個人データの処理の目的及び手段を判断する、自然人又は法人、公共団体、機関又は他の組織体である、「データ管理者」と見なされる。「共同管理者」という用語は、2つ以上の管理者が共同で、処理の目的及び手段を判断する状況を説明するために使用される。「データ処理者」とは、管理者に代わって個人データを処理する、自然人又は法人、公共団体、機関、又は他の組織体である。データ処理者の例は、小売業者から消費者データを受け取り、的を絞ったメッセージを供給するキャンペーンの一環として、小売業者に代わって処理を行う、データ・サービス・プロバイダ(DSP:data services provider)である。「データ対象者」とは、消費者などの特定される、又は特定可能な自然人である。
【0005】
GDPRには、データ対象者がそのデータ対象者に関するデータの処理の制限を要求できることを意味する、「制限する権利」が含まれる。管理者は、制限要求を受信すると、データを処理するためにデータ処理者に転送することができず、且つ管理者自体がデータを処理してはならない。この制限する権利は、本明細書では概ね、「オプト・アウトすること」の一形態と見なすこととする。管理者は、管理者のデータ処理システム内でオプト・アウト要求を処理できる必要があり、したがって、この目的のために、ハードウェア及びソフトウェア技術を実装及び保守する必要がある。一般的な方策は、オプト・アウト・リストを保持することである。実例では、データ対象者は、管理者に連絡し、電子メール・アドレスなどの連絡先情報を提示し、データ対象者を対象とするメッセージの送信を停止するよう管理者に命じることができる。管理者は、次いで、データ対象者の電子メール・アドレスを、管理者のオプト・アウト・リストに追加する。このオプト・アウト・リストは、管理者と連携するデータ処理者にフォワードされるため、データ処理者は、さもなければこのデータ対象者に届くことになるどんな的を絞ったメッセージも、同様に回避することができる。その後は、データ処理者がその管理者のデータを処理するとき、このデータ対象者の電子メール・アドレスへ送られるメッセージが抑制される、すなわち、送信されないであろう。
【0006】
今まさに説明されたオプト・アウト・リストは、管理者が1つしかない環境では機能するが、複数の管理者が的を絞ってメッセージ送信する、共同キャンペーンに携わることを望む場合に、問題が発生する。たとえば、航空会社、レンタカー会社、及びホテル・チェーンが、共同キャンペーンに携わることを望むものと仮定し得る。旅行を予約するときに、これらの会社のサービスの3つすべてを使用する消費者に対して、3社が、割引のオファーを望む場合がある。各社が、キャンペーンを効果的にするために、自社の顧客データを提供することを望み、データ・サービス・プロバイダ(DSP)を使って、データを処理し、オンラインでメッセージ送信するための情報を生成することを望む場合がある。会社は、同じ消費者に関して別の、しかし補完的な情報を有している可能性があるので、3社のデータを組み合わせることで、かかる消費者が関心を持つ、的を絞ったメッセージのオファーを、より適切に策定することができるであろう。
【0007】
今まさに説明された共同キャンペーンのシナリオでは、航空会社、レンタカー会社、及びホテル・チェーンがそれぞれ、データ管理者であり、DSPがデータ処理者である。それぞれが、自社の顧客に関連する、自社のオプト・アウト・リストを有しているであろう。しかし、3社のデータ管理者それぞれからのデータは、多くの場合、相異なる形式であろう。たとえば、航空会社は、名前、住所、及び内部顧客番号によってキー設定される(keyed)、マイレージ・プログラムを有している場合がある。レンタカー会社は、名前及び電子メール・アドレスのデータを使用する場合がある。ホテルは、名前及び電話番号のデータを使用する場合がある。DSPは、この複数管理者のワークフロー向けにデータを処理する場合、3つのデータセットを組み合わせたプロパティを使用して、所与のデータ対象者に提示される的を絞ったメッセージを、より良くすることを望むであろう。ただし、DSPは、3社のデータ管理者のそれぞれに対して消費者が行った、オプト・アウト要求も考慮する必要がある。データ対象者が3社のデータ管理者のうちの1社又は2社に対してオプト・アウトしているが、3社すべてに対してはオプト・アウトしていない場合がある。DSPが、使って作業するための、ただ1つのオプト・アウト・リストを選択した場合、他のデータ管理者のうちの1社に対してオプト・アウトした、どの消費者のオプト・アウト要求も尊重していないことになる。その結果、キャンペーンは、データ対象者のオプト・アウト要求に準拠していないことになり、法域によっては、適用されるプライバシ法に準拠しない場合がある。DSPはまた、データが様々な形式で維持され、会社のそれぞれの顧客間を区別するために様々な識別子が使用されるので、オプト・アウト・リストを単純に統合することもできない。DSPは、データ管理者ごとにデータを別個に処理し、管理者のデータを別個に処理するときに、各データ管理者のオプト・アウト・リストを使用できるが、この場合、複数の管理者からの補完的なデータを組み合わせる相乗効果が失われことになり、したがってキャンペーンは、あまり効果的でないものとなる。
【0008】
この上記で説明されたものと同じ技術的問題は、任意の2つ以上のデータ管理者が共同キャンペーンに携わることを望む場合に、引き起こされることが理解されよう。この問題が発生する別の実例は、ある会社が別の会社によって収集されたデータを使用し、これにより、データ販売者とデータ購入者との両方が、データ管理者の役割となる場合である。さらに別の実例では、複数の会社が、混じり合ったデータセットを収集して保持する責任を共有し、ここでは、すべての提供者がデータ管理者と見なされることになる。オプト・アウトを処理するための先行技術のシステムは、こうした状況のいずれにおいても、GDPRなどのプライバシ法への準拠を可能にするものではない。したがって、複数のデータ管理者が関与する共同キャンペーン及び他のデータの共同使用を、依然として可能にしながらも、オプト・アウト要求への完全な準拠を技術的に容易にする、改善されたデータ処理システム及び方法が望まれる。
【0009】
この背景技術の項で言及された参考文献は、本発明に関する先行技術であるとは認められない。
【発明の概要】
【課題を解決するための手段】
【0010】
本発明は、複数のデータ管理者のワークフローを処理するためのシステム及び方法に関し、これにより、データ対象者のオプト・アウトは完全に尊重されるが、キャンペーンの有効性を改善するために、組み合わせたデータの相乗効果は、依然として達成され得る。DSPは、各データ管理者からのデータに対して、データ解明処理を実行する。解明処理の結果を使用して、様々な形式で、様々な種類のデータを追跡できるオプト・アウト・リストが、すべて、共同キャンペーンに使用され得る。データは、複数の管理者から引き出されており、複数管理者のワークフローで一緒に処理されるが、DSPによる処理全体を通して送信元のデータ管理者が追跡されるように、メタデータが、データに追加される。次いで、最後にデータが組み合わされ、その結果マスタ・オプト・アウト・リストが得られる。データ対象者が、複数のデータ管理者のワークフローにおいて、いずれかの管理者に対してオプト・アウトしている場合、管理者のデータのうちの1つが、厳密にはデータ対象者のオプト・アウト要求の対象ではない場合があるが、オプト・アウトは、共同キャンペーンに適用される。本発明は、これにより、各管理者が収集したデータへのオプト・アウト指令を適用することによって、データ対象者の意図を実現する。ただし、組み合わせたオプト・アウトは、複数のデータ管理者のワークフローだけに適用されるため、個々のデータ管理者のワークフローは、依然としてデータ対象者のレコードを保有することになり、データ対象者からのオプト・アウト要求がない可能性がある。
【0011】
本発明の様々な実装形態において、この手法によって多くの利点がオファーされる。DSPは、複数のデータ管理者からのデータを互いに隔離でき、これにより、すべての管理者の、他の管理者に対する機密性を保持する。共同事業に参加している会社は、会社の顧客データのいずれをも、別の会社に開示する必要がない。これは、データ対象者のプライバシを保護するのに役立つだけでなく、管理者が、プライバシ法及び管理者自体が定めたプライバシ方針に準拠することを可能にする。したがって、このことは、管理者のデータが保護されるという保証の下で、管理者が、複数の管理者のキャンペーンに携わることを促し、これにより、キャンペーンの結果が改善され、管理者の顧客へ、顧客にとって魅力的である可能性がより高いオファーが提示される。
【0012】
本発明の特定の実装形態による手法の別の利点は、オプト・アウト・プロセスに名寄せ処理(identity resolution)を適用することによって、データ対象者の実際の要望が尊重される可能性が高まることである。たとえば、データ対象者が、DSPに知られている複数の電子メール・アドレスを有しているが、オプト・アウト要求において、これらの電子メール・アドレスのうちの1つだけを、共同キャンペーンに関与するデータ管理者のうちの1社に与えると仮定する。解明プロセスにより、DSPは、データ対象者がオプト・アウト要求を行ったときに、データ管理者に提示された電子メール・アドレスだけでなく、これらの電子メール・アドレスのすべてに対して、オプト・アウトを適用できることになる。したがって、このシステム及び方法は、適用されるプライバシ法の厳格な要件を超える可能性があるが、データ対象者の実際の意図を尊重した状態により近づき、これによりデータ対象者が、データ対象者のオプト・アウト要求がそのメッセージを阻止するべきであったと考えた場合、共同キャンペーン中に、データ対象者が、メッセージを受信することによって怒るリスクを軽減する。これは、顧客が、かかるメッセージ送信を受信しないことを期待していた場合に、共同キャンペーンの対象となっていることへの怒りによって、顧客を失うリスクがないので、共同キャンペーンに関与するデータ管理者にとっても同様に有益である。
【0013】
本発明の特定の実装形態の別の利点は、データ管理者がデータをDSPに伝送するとき、取込みプロセスが、すべての特定可能な個人情報を隠名識別子と置き換えることである。たとえば、入力データに「John Doe、j.doe@mail.com」が含まれていた場合、これは「f572d396fae9206628714fb2ce00f72e94f2258f」に置き換えられる場合がある。DSPは、セキュリティ対策によってデータを保護できるが、この種の仮名化は、データ侵害に対する防御のさらなる層を提供する。たとえ悪質な行為者によってデータが侵害されたとしても、かかる行為者は、どの隠名識別子も、元の名前及び電子メール・アドレスに再度関連付けることができないであろう。これにより、実際の特定可能な情報(名前、住所など)が保護され、他のデータ(購入履歴、参照した製品など)と任意の特定の個人との関係が保護される。
【0014】
本発明の特定の実装形態の別の利点は、複数管理者の処理中にデータ管理者が互いに隔離されるのとまさに同様に、DSPも、データ管理者をオンラインメッセージ配信プラットフォームから隔離することである。人がウェブサイトと相互作用するとき、そのウェブサイトは、ログイン又は他の身元情報(identity)を使用して、オンライン「セッション」を確立する場合がある。たとえば、誰かがFacebookのアカウントにログインする場合、Facebookは、そのセッションの活動に関連する身元情報を知っている。ウェブサイトからメッセージ活動を報告する場合、DSPは、レコードを隠名化して、特定の個人から活動(バナー・メッセージをクリックすることなど)を分離することができる。データ管理者は、データ管理者の的を絞ったメッセージ送信の有効性を測定するための集計レポートを受信できるが、データ管理者は、特定のウェブサイトの活動を特定のデータ対象者に関連付けることはできない。この機能は、やはり、個々の消費者のプライバシをさらに保護するのに役立つ。
【0015】
本発明のこれらの、そして他の機能、目的、及び利点は、以下で説明される図面と併せて、好ましい実施例の以下の詳細な説明を考察することにより、より適切に理解されるであろう。
【図面の簡単な説明】
【0016】
【
図1】本発明の実装形態による方法を示す、データの流れ図である。
【
図2】本発明の実装形態による、
図1の方法を実施するためのハードウェア及びソフトウェア・コンピュータ処理システムのアーキテクチャの図である。
【発明を実施するための形態】
【0017】
本発明をさらに詳細に説明する前に、本発明は、本発明の範囲が特許請求の範囲によってのみ限定されるので、本明細書のいずれの段落で説明される特定の実施例にも限定されず、特定の実施例を説明する際に使用される用語は、その特定の実施例を説明するためだけのものであり、限定することを意図するものではないことを理解されたい。
【0018】
本発明の実装形態による方法は、
図1のデータの流れ図を参照して説明され得る。データ管理者は、データ対象者のレコードを、管理者のデータ対象者レコード10として保持している。典型的には、データ対象者は顧客(又は潜在的な顧客)である。かかるレコードの数は非常に多く、いくつかの会社は、数百万の顧客のレコードを保持している場合がある。レコードには、連絡先情報、購入履歴、購買の好み、人口統計情報などの、顧客の詳細が含まれる。会社(データ管理者)は、既存の顧客を保持し、新しい顧客の信頼を獲得し、的を絞ることの有効性を高めることに関心がある。したがって、会社は、会社がこの取組みに役立つと信じている情報を収集する。オンラインで的を絞ってメッセージ送信するためのデータを効果的にするには、顧客レコードを、宛先へのプログラムによるメッセージ送信プラットフォーム又はその複数のプラットフォーム32が使用できる形式にコンバートする必要がある。
【0019】
データ管理者は、データ対象者レコード10とは別に、管理者のオプト・アウト・レコード12を保持している。この管理者のオプト・アウト・レコード12は、上記で説明されたように、適用されるプライバシ法に準拠し、またデータ管理者自体が定めたプライバシ方針に準拠するように保持されている。データ対象者が、管理者に連絡して、その管理者に、何らかのやり方で処理を制限するよう指示すると、管理者は、対象者の要求をオプト・アウト・レコードに追加する。管理者は、この管理者のオプト・アウト・レコード12をデータ処理者へ定期的に伝送し、これにより、キャンペーンを取り扱うために対象者のデータにアクセスする可能性のある他のエンティティへ、対象者の要求を伝える。
図1において、管理者のオプト・アウト・レコード12は、1社又は複数社のデータ管理者からデータ処理者に送信されるオプト・アウト・レコードを指す。
【0020】
データ・サービス・プロバイダ(DSP)は、データ管理者から管理者のデータ対象者レコード10を受信すると、最初に、仮名化ステップ16でレコードを仮名化する。これは、個人を特定するどんな情報も、隠名識別子に置き換えることを意味する。さらに、レコードは、メタデータによって拡張され、レコードを供給したデータ管理者に対応する識別子又はタグが追加される。このステップの結果、新しいデータセットである、データ対象者レコード+メタデータのレコード24が得られる。たとえば、レンタカー会社Drive-Riteから送信された、「John Doe、j.doe@mail.com」を含むレコードは、「f572d396fae9206628714fb2ce00f72e94f2258f」と置き換えられた名前及び電子メール、並びにデータ管理者としてDrive-Riteを記すために追加された、メタデータのタグを有する場合がある。
【0021】
隠名識別子は、名寄せ処理の処理ステップ22を通じて取得される。名寄せ処理ステップ22は、特定する情報の僅かな違いを排除する。したがって、一方の管理者が「John Doe」を有し、もう一方の管理者が「John Q. Doe」を有しており、両方が同じ電子メール・アドレスである場合、名寄せ処理22は、両方のレコードに対して同じ隠名識別子を返す可能性が高い。この標準化により、同じ消費者に対して確実に、同じ隠名識別子が一貫して生成されることになる。一実例では、隠名識別子は、ハッシュ化アルゴリズムを適用することによって生成され得る。ハッシュ化アルゴリズムへ入力される文字列に、どんなにごく小さな違いがあっても、相異なる隠名識別子をもたらすことになり、名寄せ処理ステップ22で標準化することにより、データを供給するデータ管理者に関わらず、同様の消費者は確実に同様の隠名識別子を有する。このようにして、複数管理者の環境における様々なデータ管理者からの補完的なデータを一緒に使用して、キャンペーンの結果を改善することができる。
【0022】
個人を特定可能なデータの、隠名識別子との置換が行われた後、元の特定するデータ(John Doe、j.doe@mail.com)と隠名のデータ(「f572d396fae9206628714fb2ce00f72e94f2258f」)との間の対応についての、恒久的な記述は存在しない。したがって、この変換は、双方向で、再特定を阻止する。宛先へのプログラムによるメッセージ送信プラットフォーム32などの、オンラインの世界におけるエンティティは、隠名識別子を既知の人物に関連付けることができない。同様に、元のデータ管理者は、既知の人物をオンライン活動につなぐことはできない。したがって、本発明の特定の実装形態における双方向の仮名化は、データ対象者の情報を、非倫理的データ使用から保護する。
【0023】
DSPは、データ管理者が、管理者のデータ対象者レコード10に加えて、管理者のオプト・アウト・レコード12の形式のオプト・アウト・データをフォワードすることに依存する。すなわち、通常の管理者のデータ対象者(顧客)レコード10は、特定する情報及びプロパティ(購入履歴、好み、調査結果など)を含む。対照的に、管理者のオプト・アウト・レコード12は、特定する情報しか含まず、所与のデータ対象者(又は複数の対象者)を、管理者固有の抑制リストに載せるようDSPに命じる。DSPは、管理者からのデータを処理するとき、下記でより完全に示されるように、抑制リスト内のあらゆる対象者に関連する、すべてのレコードを抑制する。
【0024】
同じデータ対象者のレコードは、隠名識別子を照合するためばかりでなく、補完的なデータを一緒に有用にするためにも、名寄せ処理ステップ22を通じて、調整しなければならないことが理解されよう。管理者は、内容及びスペルに差異があり得る、様々な特定する情報(名前、電子メール、電話、住所など)を使用できるが、共同キャンペーンの有効性は、違いを解明することに依存する。名寄せ処理ステップ22は、共通するデータ対象者の身元情報の理解を作り出す。仮名化プロセスの後、すべての元の特定する情報が解明され、共通する身元情報が判断され、一致するレコードに同じ隠名識別子が割り当てられている。下記でより完全に説明されるように、一致する識別子は、送信元識別子についてはオプト・アウトを適用するステップ26で、又は宛先識別子については宛先に識別子をマッピングするステップ28で、見ることができる。各データセットは、まったく別のままである。すなわち、データセット自体は、統合されない。ただし、隠名識別子は、共通の枠組みから選択されており、複数のデータ管理者からのデータセット間で、対象者のレコードを相関させることができる。隠名識別子の共有される枠組みにより、オプト・アウト処理では、最初に任意のデータ管理者に送られ、データセットを集約するために、データ処理者にフォワードされた、データ対象者のオプト・アウト要求を使用することができる。ワークフローの中の、任意の管理者への任意のデータ対象者のオプト・アウト要求は、ワークフローの中のすべてのレコードに適用される。
【0025】
複数管理者でのワークフローを開始するために、複数の会社が、データ・レコードをDSPに送信し、DSPに、複数の会社のデータを組み合わせて、プログラムによるメッセージ送信プラットフォームに配布するよう、相互に許可を与える。プライバシを保護するために、データは管理者間で共有されない。各管理者は、その管理者から提出される元の管理者のデータ対象者レコード10を、単独で所有し続ける。場合によっては、複数管理者で取り決めたタイプに応じて、1社又は複数社の管理者が、実際にワークフローにデータを提供しない場合があることに留意されたい。明確にするために、
図1には、入ってくる管理者のデータが1セットしか示されていないが、複数の管理者がワークフローに関連することが、ここでの重要な点である。
【0026】
複数の管理者からの情報を組み合わせ、組み合わせたデータセットを構築するステップ20へ進む。各管理者は、データを交換することなく、他の管理者から提供された情報から恩恵を受ける。たとえば、ある管理者は、顧客が、4月に旅行するのが好きだと知っており、別の管理者は、同じ顧客が、リゾートホテルに滞在することを知っている場合、組み合わせた情報を使用して、熱帯での春休みに関する特別価格をオファーする場合がある。従来、各管理者は、各管理者が収集したデータにしかアクセスしないことになっている。オンラインでの的を絞ったメッセージ送信のどんな使用法も、ある管理者の情報を別の管理者の情報から分離する、境界線に従って動作することになる。
【0027】
DSPは、管理者のオプト・アウト・レコード12を処理するとき、データ対象者に関する既知のすべての身元情報を含む、管理者のオプト・アウト・レコード12に依存することはできない。たとえば、管理者からの、通常の管理者のデータ対象者レコード10には、名前、電子メール、電話、及び顧客番号が含まれる場合がある。その同じ管理者が、顧客番号だけを含む管理者のオプト・アウト・レコード12を送信する場合がある。DSPは、管理者のデータ対象者レコード10だけでなく、管理者のオプト・アウト・レコード12についても名寄せ処理ステップ22を実行し、以前の完全なデータ対象者レコードを使用して、顧客番号をデータ対象者の名前、電子メール、及び電話番号に関連付ける。これらの属性のそれぞれが、所与のデータ管理者用に保持されている抑制リストに追加される。DSPは、後に続くデータ・レコードを処理して、オプト・アウト・サービス14でオプト・アウト抑制を適用する場合、この名寄せ処理ステップ22により、すべてのレコードに特にオプト・アウト・レコード識別子を含める必要なしに、電話番号しかない可能性のあるデータ対象者のレコードを認識することができる。したがって、オプト・アウト・サービス14のオプト・アウト抑制プロセスは、データ管理者とデータ処理者との間の完全な調整を必要とせずに、データ対象者の意図をより完全に表す。
【0028】
DSPのワークフローは、組み合わせたデータセットを構築するステップ20で、共同データセットを形成した後、オプト・アウトを適用するステップ26においてオプト・アウト抑制を適用する。データ処理者は、データ対象者からのオプト・アウト指令を考慮する必要がある(指令が、データ管理者を通して間接的に受信された場合でさえも)。これは、管理者のオプト・アウト・レコード12で特定される、オプト・アウトを要求するデータ対象者に属するすべてのレコードを、除外することを意味する。ただ1社のデータ管理者からのデータを処理する場合、このチェックは簡単である。ある人が管理者Cとの間でオプト・アウトすると、管理者は、その要求をDSPにフォワードし、管理者C用に保持されているオプト・アウト抑制リストを更新する。DSPが、管理者Cに代わってデータを処理する場合、DSPは、その特定の抑制リストを適用し、リスト内のデータ対象者のあらゆるレコードを除外する
【0029】
複数の管理者にオプト・アウトを適用することには、データ対象者の権利を考慮するための繊細さを伴う。組み合わせたデータセットには、所与のデータ対象者のレコードが含まれる場合があり、その一部は明示的なオプト・アウトの対象となり、他は対象外となる。たとえば、John DoeはFly-Rite航空会社との間でオプト・アウトしたが、Stay-Riteホテルとの間ではオプト・アウトしなかった可能性がある。(おそらく、Doeは車で頻繁に旅行し、多くの場合Stay-Riteで部屋を予約し、電子メールで受け取る割引クーポンを高く評価している。)ただ1社の管理者のワークフローでは、Stay-RiteはDoeのデータを使用することができた。しかし、複数の管理者の場合、状況が変わる。組み合わせたデータセットには、ワークフローに関するすべての管理者からのレコードが含まれる。各データ対象者のレコードは、ワークフローにおけるあらゆる管理者からの、かかるすべてのレコードが結合したものである。DSPは、すべての管理者の結合したものをあらゆるレコードに適用することにより、データ対象者の権利に対応する。したがって、データ対象者が、いずれかのデータ管理者との間でオプト・アウトした場合、そのオプト・アウトは、データセット全体に適用される。ワークフローは、オプト・アウト処理のためにレコードを抑制する場合、各レコードからデータ対象者を抽出し、オプト・アウト・サービス14に連絡し、共同キャンペーン要求18からの、すべてのデータ管理者のステータスを要求する。レコード識別子には、入力と出力との両方が含まれる。したがって、宛先に識別子をマッピングするステップ28においてだけで知られている宛先識別子を、オプト・アウト指令の対象とし得ることが可能である。いずれかの管理者にオプト・アウト要求が存在する場合、DSPのワークフローは、レコードを除外する。
【0030】
次いで、残りのレコードが、データを配信するステップ30で、宛先へのプログラムによるメッセージ送信プラットフォーム32に伝送するために作成される。これには、別の隠名識別子への変換が含まれる。データ対象者のレコード+メタデータのレコード24に記憶された隠名識別子は、DSPの内部に維持される。データ対象者のデータの倫理的取扱いにより、上記で言及された双方向のプライバシが保証される。すなわち、データ管理者は、データ対象者のレコードを特定のオンライン活動に関連付けることができず、オンラインでのプログラムによるメッセージ送信プラットフォームは、オンライン活動を、特定のデータ対象者のレコードに関連付けることができない。したがって、内部の隠名識別子が、変換され、宛先へのプログラムによるメッセージ送信プラットフォーム32用に特別に作成された、新しい識別子と置き換えられる。
【0031】
上記の方法の概略から、DSPが、個々のデータ管理者から提供される構成要素のデータセットを使用し、必要に応じて、共同データセットを動的に合成することが理解されよう。各管理者は、他の管理者の関与なしに、自社のデータセットを取り扱う。データ対象者は一意に特定され、各データセットのデータのセマンティクス(semantics)は各管理者に固有である。複数管理者のワークフローを開始するために、管理者間の事前の合意も、技術的な取り交わしも必要ない。代わりに、管理者はDSPに連絡し、使用する個々のデータセットについて説明し、どんなデータを合成するかを指定し、どの宛先に的を絞ったメッセージ送信プラットフォームが配信を受信する必要があるかを規定する。
【0032】
DSPは、組み合わせたデータセットを作成するときに、共同管理者の関係を動的に合成する。各構成要素のデータセットに関連するデータ管理者に関係なく、すなわち、個々のレコード及び対象者のプロパティのデータ管理者に関係なく、共同管理者のセットは、処理ワークフローの全体を対象とするよう作成される。共同管理者のセットは、オプト・アウト処理を含む、すべてのデータ規制の遵守のために使用される。通常は単一のデータ管理者を適用するレコード抑制には、共同管理者のセットを使用する。すべての管理者が、すべてのレコードに対して、データ対象者のオプト・アウトの権利を行使する意図を強制するよう適用される。先行技術による典型的な共同管理者の取り決めでは、すべての管理者が、データ形式及び内容について合意することになる。データ対象者(顧客)のレコードは共有され、すべての管理者が、情報へ、物理的及び意味的にアクセスするであろう。具体的には、データ対象者の特定は、一方向で行われ、データセット内のすべてのレコードに影響を与えることになる。この発明は、本明細書に記載の実装形態で説明されているように、共同管理者間でどんなデータの共有もなしに、構成要素のデータセット間の完全な分離を可能にする技術を含む。したがって、この発明は、適用されるプライバシ法、並びに様々なデータ管理者及び処理者のプライバシ方針への準拠を自動化する。
【0033】
重要なことに、集約されるデータセットに対して、データ対象者の権利を強制するシステムがなければ、上記で説明された複数管理者のワークフローは、多くのプライバシ法の下で許されないであろう。こうしたプライバシ法は、具体的には、データ管理者が、データ対象者のオプト・アウト要求を強制することを要求している。その構造により、集約されるデータセットは、すべてのデータ管理者からのオプト・アウト指令の対象となる。集約されるデータセット全体に対象者の権利を強制する仕組みがなければ、集約されるデータセットは、多くの法域に存在するプライバシ法に違反するであろう。
【0034】
本発明の実装形態に従って今まさに説明された方法を実施するためのハードウェア及びソフトウェア・システムが、
図2に関連して説明され得る。このシステムは、クラウド型コンピュータ処理環境で、仮想「計算エンジン」(
図2に6角形で示されている)として実装され得る。同様に、各記憶システム(
図2に円筒形で示されている)は、クラウド型コンピュータ処理環境の仮想構成要素として実装され得る。かかる各構成要素は、1つ又は複数の2次構成要素として物理的に実装され得、特定のクラウド型コンピュータ処理環境内の、又は複数のかかる環境にわたる、数千のプロセッサ上に実装されると考えることができる。同様に、ファイアウォール・スイッチ(
図2に長方形で示されている)には、1つ又は多数の公衆ネットワーク・スイッチ及び私設ネットワーク・スイッチ並びにルータが含まれ得る。
【0035】
データ管理者システム50は、ファイアウォール54を介して公衆クラウド型プラットフォーム52と通信する。
図2には、データ管理者システム50が2つだけ示されているが、様々な実装形態における本発明は、任意の数のデータ管理者システム50で使用され得ることが理解される。このアーキテクチャにより、公衆クラウド型プラットフォーム52内でDSPが使用する、管理者のデータ対象者レコード10及び管理者のオプト・アウト・レコード12(
図1にも示されている)の記憶が可能である。公衆クラウド型プラットフォーム52は、ファイアウォール54を介して、データ処理者のクラウド型プラットフォーム56と通信することができる。処理者のデータ対象者レコード11及び処理者のオプト・アウト・レコード13は、DSPが実行する処理のために、データ処理者のクラウド型プラットフォーム56に局所的に記憶される。同様に、作成されたデータの記憶装置60は、
図1の、データを配信するステップ30で配信されるべきデータを含む、システムの最終結果を記憶するために使用され得る。取込み計算エンジン62、ワークフロー計算エンジン64、及び配信計算エンジン66の、3つの相異なる計算エンジンを使用して、
図1に示された処理ステップを実行することができる。配信計算エンジン66による結果は、データ処理者のクラウド型プラットフォーム56のファイアウォール54を介して、1つ又は複数の宛先プラットフォーム32に送られる。これはただ1つの実例であるが、本発明の代替の実装形態では、処理ステップは、特定のクラウド型又は非クラウド型コンピュータ処理環境を前提として、必要に応じて、より多くの又はより少数の論理計算エンジン又は物理計算エンジンに分割されてもよいことを理解されたい。
【0036】
これらの実装形態において、本発明は、プライバシ法の自動準拠を保持しながらも、共同キャンペーンを技術的に可能にすることに加えて、必要な処理を実行するのに関連する計算処理上のコストを削減する。上記のように、3社のデータ管理者によるキャンペーンは、3つの別々のワークフローを実行することで、シミュレーションすることができる。各ワークフローは、ただ1つのデータセットを処理し、データ管理者の必要な処理を適用することになる。これらの個々のワークフローには、スケジューリング、リソース割当て、実行、監視などのオーバヘッドが発生する。ただ1つのワークフローの計算コストが1×Wの場合、3つのワークフローのコストは約3×Wとなろう。しかし、本明細書で説明されている共同キャンペーンは、この計算処理上のコスト構造を大幅に変える。3社のデータセットはすべて、ただ1つのワークフローで並行して処理され得る。さらに、データ規制を強制する処理は、組み合わせた管理者のセットに対して1度実行され得、ただ1社の管理者に対して、事実上追加コストは発生しない。やはり、ただ1つのデータセットのワークフローのコストが1×Wの場合、本発明のこれらの実装形態における3つのデータセットを使った共同キャンペーンのコストは、約1×(W+3i)であり、ここで、「i」は増分のコストを表す。実際問題として、1×(W+3i)は3×Wよりはるかに少ないことがわかるであろう。たとえば、基本的なワークフローのコストがW=100であり、共同キャンペーンの増分のコストがi=5と仮定する。すなわち、共同ワークフローを実行すると、ワークフローでのデータセットごとの計算量が5%増す。この場合、3つの個別のワークフローのコストが3×W=300であるのに対して、共同キャンペーンのコストは、僅か1×(W+3i)=115であることがわかるであろう。したがって、これらの実装形態における本発明は、すべて同時に、機能を改善して適用されるプライバシ法への準拠を可能にし、且つ総コンピュータ処理コストを削減する。これらのコンピュータ処理コストの節約分は、共同キャンペーンに参加する管理者の数が増えるにつれて増加するので、データを提供する管理者の数がより多いキャンペーンでは、さらに高い効率をもたらす。
【0037】
本発明は、本明細書で説明されている実装形態及び様々な代替の実装形態において、ハードウェア及びソフトウェアの任意の組合せによって実施され得る。たとえば、一実施例では、システム及び方法は、コンピュータ・システム又はコンピュータ・システムの集合によって実施され得、コンピュータ・システムのそれぞれに、プロセッサに結合されたコンピュータ可読記憶媒体に記憶されたプログラム命令を実行する、1つ又は複数のプロセッサが含まれる。プログラム命令は、本明細書で説明されている機能を実施することができる。図に示され、本明細書で説明されている様々なシステム及びディスプレイは、例示的な実装形態を表している。どの方法の順序も、変更されてもよく、様々な要素が追加、修正、又は省略されてもよい。
【0038】
本明細書で説明されているコンピュータ処理システム又はコンピュータ処理デバイスは、本発明の様々な実装形態の一部を形成するものとして、クラウド型コンピュータ処理システム又は非クラウド型コンピュータ処理システムのハードウェア部分を実装することができる。コンピュータ・システムは、汎用サーバ、パーソナル・コンピュータ・システム、デスクトップ・コンピュータ、ラップトップ又はノートブック・コンピュータ、メインフレーム・コンピュータ・システム、ハンドヘルド・コンピュータ、ワークステーション、ネットワーク・コンピュータ、民生用デバイス、アプリケーション・サーバ、記憶デバイス、電話、携帯電話、又は一般にどんなタイプのコンピュータ処理ノード、計算ノード、計算デバイス、及び/若しくはコンピュータ処理デバイスも含むがこれらに限定されるものではない、様々なタイプのデバイスのいずれかであり得る。コンピュータ処理システムには、入力/出力(I/O)インタフェースを介してシステム・メモリに結合された1つ又は複数のプロセッサ(プロセッサのいずれも、シングル又はマルチスレッドであり得る複数の処理コアが含まれ得る)が含まれる。コンピュータ・システムには、I/Oインタフェースに結合されたネットワーク・インタフェースが、さらに含まれ得る。
【0039】
様々な実施例において、コンピュータ・システムは、1つのプロセッサを含む単一プロセッサ・システム、又は複数のプロセッサを含むマルチプロセッサ・システムであり得る。プロセッサは、コンピュータ処理命令を実行することができる、どんな好適なプロセッサであってもよい。プロセッサは、たとえば、様々な実施例では、様々な命令セット・アーキテクチャのいずれかを実装する、汎用又は組込み型プロセッサであり得る。マルチプロセッサ・システムでは、プロセッサのそれぞれは通常、必ずしもそうとは限らないが、同じ命令セットを実施することができる。コンピュータ・システムにはまた、構内ネットワーク、広域ネットワーク、又はインターネットなどの通信ネットワークを介して、他のシステム及び/又は構成要素と通信するための、1つ又は複数のネットワーク通信デバイス(たとえば、ネットワーク・インタフェース)も含まれる。たとえば、コンピュータ処理デバイスで実行されるクライアント・アプリケーションは、ネットワーク・インタフェースを使用して、クラウド型コンピュータ処理環境、又は様々な2次システムに実装されるような、非クラウド型コンピュータ処理環境において、本明細書で説明されているシステムの構成要素のうちの1つ又は複数を実装する、ただ1台のサーバ又はサーバのクラスタ上で実行される、サーバ・アプリケーションと通信することができる。別の実例では、コンピュータ・システム上で実行されているサーバ・アプリケーションのインスタンスは、ネットワーク・インタフェースを使用して、他のコンピュータ・システムで実施され得るアプリケーションの、他のインスタンスと通信することができる。
【0040】
コンピュータ処理デバイスにはまた、1つ又は複数の永続的記憶デバイス及び/又は1つ又は複数のI/Oデバイスも含まれる。様々な実施例において、永続的記憶デバイスは、ディスク駆動装置、テープ駆動装置、固体メモリ、他の大容量記憶デバイス、又は他の任意の永続的記憶デバイスに対応することができる。コンピュータ・システム(又はコンピュータ・システム上で動作する分散型アプリケーション若しくはオペレーティング・システム)は、命令及び/又はデータを、要望に応じて永続的記憶デバイスに記憶することができ、記憶された命令及び/又はデータを、必要に応じて取得することができる。コンピュータ・システムは、たとえば、いくつかの実施例では、制御プレーン又は制御システムの1つ又は複数のノードを実装することができ、永続的記憶装置には、そのサーバ・ノードに取付けられた固体駆動装置が含まれ得る。複数のコンピュータ・システムは、同じ永続的記憶デバイスを共有してもよく、又は永続的記憶デバイスのプールを共有してもよく、プール内のデバイスは、同じか又は別の記憶技術を表す。
【0041】
コンピュータ・システムには、プロセッサがアクセス可能なコード/命令及びデータを記憶できる、1つ又は複数のシステム・メモリが含まれる。システム・メモリには、たとえば、アクセス速度に基づいてメモリ内の情報をスワップするよう設計された、システム内の複数のレベルのメモリ及びメモリ・キャッシュが含まれ得る。インタリーブ及びスワップは、仮想メモリの実装形態における永続的記憶装置にまで拡張され得る。メモリを実装するために使用される技術には、例として、スタティック・ランダム・アクセス・メモリ(RAM:random-access memory)、ダイナミックRAM、読取り専用メモリ(ROM:read-only memory)、不揮発性メモリ、又はフラッシュ・タイプのメモリが含まれ得る。永続的記憶装置と同様に、複数のコンピュータ・システムが同じシステム・メモリを共有してもよく、又はシステム・メモリのプールを共有してもよい。システム・メモリ又は複数のシステム・メモリは、本明細書で説明されているルーチンを実施するために、プロセッサが実行可能なプログラム命令を格納することができる。様々な実施例において、プログラム命令は、バイナリ、アセンブリ言語、Java(登録商標)などの任意のインタプリタ型言語、C/C++などのコンパイル型言語、又はこれらの任意の組合せで符号化され得るが、ここに示されている特定の言語は単なる例にすぎない。いくつかの実施例では、プログラム命令は、複数の別個のクライアント、サーバ・ノード、及び/又は他の構成要素を実施することができる。
【0042】
いくつかの実装形態では、プログラム命令には、UNIX(登録商標)、LINUX、Solaris(商標)、MacOS(商標)、又はMicrosoft Windows(登録商標)(商標)などの、様々なオペレーティング・システムのいずれかであり得る、オペレーティング・システム(図示せず)を実施するための、実行可能な命令が含まれ得る。プログラム命令のいずれか又はすべてが、コンピュータ・システム(又は他の電子デバイス)をプログラムして、様々な実装形態に従ってプロセスを実行するために使用され得る、命令を記憶した非一時的なコンピュータ可読記憶媒体が含まれ得る、コンピュータ・プログラム製品又はソフトウェアとして提供され得る。非一時的なコンピュータ可読記憶媒体には、機械(たとえば、コンピュータ)が可読の形式(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶するための任意の仕組みが含まれ得る。一般的に言えば、非一時的なコンピュータがアクセス可能な媒体には、磁気媒体又は光学媒体、たとえば、I/Oインタフェースを介してコンピュータ・システムに結合されたディスク又はDVD/CD-ROMなどの、コンピュータ可読記憶媒体又はメモリ媒体が含まれ得る。非一時的なコンピュータ可読記憶媒体にはまた、システム・メモリ又は別のタイプのメモリとして、コンピュータ・システムのいくつかの実施例に含まれ得る、RAM又はROMなどの任意の揮発性又は不揮発性媒体も含まれ得る。他の実装形態では、プログラム命令は、ネットワーク・インタフェースを介して実施され得るような、ネットワーク及び/又は有線若しくは無線リンクなどの通信媒体を介して伝達される、光、音響、又は他の形態の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号など)を使用して通信され得る。ネットワーク・インタフェースを使用して、他のコンピュータ・システム又は任意のタイプの外部電子デバイスが含まれ得る、他のデバイスとインタフェースをとることができる。一般に、システム・メモリ、永続的記憶装置、及び/又はネットワークを介してアクセス可能な、他のデバイス上の遠隔記憶装置は、データ・ブロック、データ・ブロックの複製物、データ・ブロック及び/若しくはデータ・ブロックの状態に関連するメタデータ、データベース構成情報、並びに/又は本明細書で説明されているルーチンを実施する際に使用可能な他の任意の情報を、記憶することができる。
【0043】
特定の実装形態では、I/Oインタフェースは、プロセッサ、システム・メモリと、ネットワーク・インタフェース又は他の周辺インタフェースを介するものを含む、システム内の任意の周辺デバイスとの間の、I/Oの通信量を調整することができる。いくつかの実施例では、I/Oインタフェースは、任意の必要なプロトコル変換、タイミング変換、又は他のデータ変換を実行して、1つの構成要素(たとえば、システム・メモリ)からのデータ信号を、別の構成要素(たとえば、プロセッサ)が使用するのに好適な形式にコンバートすることができる。いくつかの実施例では、I/Oインタフェースには、たとえば、周辺構成要素相互接続(PCI:Peripheral Component Interconnect)バス規格又はユニバーサル・シリアル・バス(USB:Universal Serial Bus)規格の変形など、様々なタイプの周辺機器用バスを介して取付けられたデバイスへの対応が含まれ得る。また、いくつかの実施例では、システム・メモリへのインタフェースなどの、I/Oインタフェースの機能の一部又はすべてが、プロセッサ内に直接組み込まれ得る。
【0044】
ネットワーク・インタフェースは、たとえば、コンピュータ・システムと、(1つ又は複数の記憶システムのサーバ・ノード、プライマリ・ノード、読取り専用ノード、及び/又は本明細書で説明されているデータベース・システムのクライアントを実装することができる)他のコンピュータ・システムなどの、ネットワークに取付けられた他のデバイスとの間での、データ交換を可能にし得る。加えて、I/Oインタフェースは、コンピュータ・システムと、様々なI/Oデバイス及び/又は遠隔記憶装置との間の通信を可能にし得る。入力/出力デバイスには、いくつかの実施例では、1つ若しくは複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、走査デバイス、音声若しくは光認識デバイス、又は1つ若しくは複数のコンピュータ・システムからのデータの入力若しくは取得に好適な他の任意のデバイスが含まれ得る。入力/出力デバイスは、特定のコンピュータ・システムに直接接続してもよく、又は一般に、クラウド型コンピュータ処理環境、グリッド・コンピュータ処理環境、若しくは複数のコンピュータ・システムを含む他のシステムにおける、複数のコンピュータ・システムに接続してもよい。複数の入力/出力デバイスは、コンピュータ・システムと通信して存在してもよく、又はコンピュータ・システムを含む分散システムの様々なノードに分散されてもよい。本明細書で説明されているユーザ・インタフェースは、ユーザに対して、CRTディスプレイ、LCDディスプレイ、LEDディスプレイ、及び他のディスプレイ技術が含まれ得る、様々なタイプのディスプレイ画面を使用して、可視であり得る。いくつかの実装形態では、入力は、タッチ画面技術を使用したディスプレイを介して受信され得、他の実装形態では、入力は、キーボード、マウス、タッチパッド、若しくは他の入力技術、又はこれらの技術の任意の組合せを介して受信され得る。
【0045】
いくつかの実施例では、同様の入力/出力デバイスは、コンピュータ・システムとは別個であり得、ネットワーク・インタフェースを介するなど、有線又は無線接続を通じて、コンピュータ・システムを含む分散システムの1つ又は複数のノードと相互作用することができる。ネットワーク・インタフェースは、通常、1つ又は複数の無線ネットワーク・プロトコル(たとえば、Wi-Fi/IEEE802.11、又は別の無線ネットワーク標準)に対応することができる。ネットワーク・インタフェースは、たとえば、他のタイプのイーサネット(登録商標)・ネットワークなどの、任意の好適な有線又は無線汎用データ・ネットワークを介した通信に対応することができる。さらに、ネットワーク・インタフェースは、アナログ音声ネットワーク若しくはデジタル・ファイバ通信ネットワークなどの、電気通信/電話通信ネットワークを介した通信、ファイバ・チャネルSANなどの記憶領域ネットワークを介した通信、又は他の任意の好適なタイプのネットワーク及び/若しくはプロトコルを介した通信に、対応することができる。
【0046】
本明細書で説明されている分散システムの実施例のいずれか、又は実施例の構成要素のいずれかは、クラウド型コンピュータ処理環境における、1つ又は複数のネットワークベースのサービスとして実施され得る。たとえば、データベース・システムのデータベース層内の、読取り/書込みノード及び/又は読取り専用ノードは、クライアントに対するネットワークベースのサービスとして本明細書で説明されている、データベース・サービス、及び/又は分散記憶システムを使用する他のタイプのデータ記憶サービスを、提供することができる。いくつかの実施例では、ネットワークベースのサービスは、ネットワークを介して相互運用可能なマシン間の相互作用に対応するよう設計された、ソフトウェア及び/又はハードウェア・システムによって実施され得る。ウェブ・サービスは、ウェブ・サービス記述言語(WSDL:Web Services Description Language)などの、機械処理可能な形式で記述されたインタフェースを有することができる。他のシステムは、ネットワークベースのサービスと、ネットワークベースのサービスのインタフェースの記述によって定められたやり方で、相互作用することができる。たとえば、ネットワークベースのサービスは、他のシステムが呼び出すことができる様々な動作を規定でき、また様々な動作を要求するときに、他のシステムが準拠すると予想され得る、特定のアプリケーション・プログラミング・インタフェース(API:application programming interface)を規定することができる。
【0047】
様々な実施例において、ネットワークベースのサービスは、ネットワークベースのサービス要求に関連するパラメータ及び/又はデータを含むメッセージを使用することによって、要求又は呼び出され得る。かかるメッセージは、拡張可能なマークアップ言語(XML:Extensible Markup Language)などの特定のマークアップ言語に従って書式設定され得るか、且つ/又は簡易オブジェクト・アクセス・プロトコル(SOAP:Simple Object Access Protocol)などのプロトコルを使用してカプセル化され得る。ネットワークベースのサービス要求を実行するために、ネットワークベースのサービス・クライアントは、要求を含むメッセージを組み立て、ハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)などの、インターネットベースのアプリケーション層転送プロトコルを使用して、ウェブ・サービスに対応するアドレス指定可能なエンドポイント(たとえば、統一リソース位置指定子(URL:Uniform Resource Locator))にメッセージを伝達することができる。いくつかの実施例では、ネットワークベースのサービスは、メッセージベースの技法ではなく、表現状態転送(REST:Representational State Transfer)技法を使用して実施され得る。たとえば、REST技法に従って実施されるネットワークベースのサービスは、PUT、GET、又はDELETEなどのHTTPの方法に含まれるパラメータによって、呼び出され得る。
【0048】
特に記載しない限り、本明細書で使用されるすべての技術的且つ科学的用語は、この発明が属する分野の当業者によって一般的に理解されるのと同じ意味を持つ。本明細書で説明されているものと類似又は同等の任意の方法及び材料もまた、本発明の実践又は試験に使用できるが、限られた数の例示的な方法及び材料が、本明細書で説明されている。本明細書における本発明の概念から逸脱することなく、さらに多くの修正が可能であることは、当業者には明らかであろう。
【0049】
本明細書で使用されるすべての用語は、文脈と矛盾しないで、可能な限り広く解釈されるべきである。グループ化が本明細書で使用される場合、グループのすべての個々の要素、並びにグループの可能なすべての組合せ及び部分的組合せが、個別に含まれることを意図している。本明細書に範囲が記載されている場合、その範囲は、範囲内のすべての部分的範囲及び個々の点を含むことを意図している。本明細書に引用されるすべての参考文献は、この明細書の開示と矛盾がない限り、参照により本明細書に組み入れられる。