(57)【要約】  本明細書に開示されているのは、クラウドコンピューティングプラットフォームにおいて暗号化キーを使用して、暗号化された一致インデックスについて完全一致およびファジーマッチングで重複を検出するためのシステム、方法、およびコンピュータプログラム製品の実施形態である。一実施形態は、新しいレコードの受信時に一致ルールインデックス値を決定することによって動作する。この実施形態は、顧客の暗号化キーおよび確定的暗号化方法を使用して一致インデックスルール値を暗号化し、暗号化された一致ルールインデックス値を記憶する。重複検出は、後に、候補エントリのための暗号テキストを決定するために同じ決定論的暗号化方法を使用し、暗号テキストを記憶された暗号化一致インデックスと比較することによって行われてもよい。
2021525915.tif 000002
【特許請求の範囲】
【請求項１】
クラウドコンピューティングプラットフォームによって、１つ以上のフィールド含む新しいレコードを受信することと、
前記クラウドコンピューティングプラットフォームによって、固有の識別子、１つ以上の一致タイプ、および適用可能な１つ以上のフィールドを含む、新しいレコードに適用可能な一致ルールを選択することと、
前記クラウドコンピューティングプラットフォームによって、一致インデックス値を計算することであって、前記一致インデックス値が、前記新しいレコード内の前記１つ以上のフィールドで受信された前記適用可能な１つ以上のフィールドの合成である、計算することと、
前記クラウドコンピューティングプラットフォームによって、暗号化された一致インデックス値を導出することであって、前記一致ルールの前記固有の識別子が、暗号化スキームにおける初期化ベクトルとして使用され、前記一致インデックス値が、前記暗号化スキームにおける平文として使用される、導出することと、
前記クラウドコンピューティングプラットフォームによって、前記暗号化された一致インデックス値を暗号化された一致インデックス列に記憶することと、を含む方法。
【請求項２】
前記クラウドコンピューティングプラットフォームによって、前記１つ以上の一致タイプおよび前記１つ以上の適用可能なフィールドを含む一致ルールパラメータを受信することと、
前記クラウドコンピューティングプラットフォームによって、前記１つ以上の適用可能なフィールドに基づいて前記固有の識別子を作成することと、
前記クラウドコンピューティングプラットフォームによって、前記固有の識別子、前記１つ以上の一致タイプ、および前記１つ以上の適用可能なフィールドを含むカスタム一致ルールを記憶することと、を含む、請求項１に記載の方法。
【請求項３】
前記クラウドコンピューティングプラットフォームによって、前記暗号化された一致インデックス値を前記暗号化された一致インデックス列内の既存の値と比較して、前記暗号化された一致インデックス値が、前記既存の値の１つ以上と重複しているかどうかを決定することと、
前記クラウドコンピューティングプラットフォームによって、前記暗号化された一致インデックス値が、前記既存の値の１つ以上うちの既存の値と重複している場合に、エラーメッセージを表示することと、さらに含む、請求項１に記載の方法。
【請求項４】
前記クラウドコンピューティングプラットフォームによって、暗号化が前記１つ以上のフィールドのいずれかでも有効にされていない場合、前記一致インデックス値を非暗号化形式で記憶することをさらに含む、請求項１に記載の方法。
【請求項５】
前記クラウドコンピューティングプラットフォームによって、前記暗号化された一致インデックス列をスキャンして、１つ以上の重複を決定することと、
前記クラウドコンピューティングプラットフォームによって、前記１つ以上の重複をウェブインタフェースにおいてユーザに表示することと、をさらに含む、請求項１に記載の方法。
【請求項６】
前記１つ以上の一致タイプが、完全またはファジーとすることができる、請求項１に記載の方法。
【請求項７】
前記暗号化スキームが決定論的スキームである、請求項１に記載の方法。
【請求項８】
前記クラウドコンピューティングプラットフォームが、顧客関係管理プラットフォームである、請求項１に記載の方法。
【請求項９】
メモリと、
前記メモリに結合された少なくとも１つのプロセッサであって、
クラウドコンピューティングプラットフォームにおいて、１つ以上のフィールドを含む新しいレコードを受信することと、
固有の識別子、１つ以上の一致タイプ、および適用可能な１つ以上のフィールドを含む、新しいレコードに適用可能な一致ルールを選択することと、
一致インデックス値を計算することであって、前記一致インデックス値が、前記新しいレコード内の前記１つ以上のフィールドで受信された前記適用可能な１つ以上のフィールドの合成である、計算することと、
暗号化された一致インデックス値を導出することであって、前記一致ルールの前記固有の識別子が、暗号化スキームにおける初期化ベクトルとして使用され、前記一致インデックス値が、前記暗号化スキームにおける平文として使用される、導出することと、
前記クラウドコンピューティングプラットフォームによって、前記暗号化された一致インデックス値を暗号化された一致インデックス列に記憶することと、を行うように構成されている、システム。
【請求項１０】
前記少なくとも１つのプロセッサが、
前記１つ以上の一致タイプおよび前記１つ以上の適用可能なフィールドを含む一致ルールパラメータを受信することと、
適前記１つ以上の適用可能なフィールドに基づいて前記固有の識別子を作成することと、
前記固有の識別子、前記１つ以上の一致タイプ、および前記１つ以上の適用可能なフィールドを含むカスタム一致ルールを記憶することと、を行うようにさらに構成されている、請求項９に記載のシステム。
【請求項１１】
前記少なくとも１つのプロセッサが、
前記暗号化された一致インデックス値を前記暗号化された一致インデックス列内の既存の値と比較して、前記暗号化された一致インデックス値が、前記既存の値の１つ以上と重複しているかどうかを決定することと、
前記暗号化された一致インデックス値が、前記既存の値の１つ以上うちの既存の値と重複している場合に、エラーメッセージを表示することと、を行うようにさらに構成されている、請求項９に記載のシステム。
【請求項１２】
前記少なくとも１つのプロセッサが、
前記暗号化された一致インデックス列をスキャンして、１つ以上の重複を決定することと、
前記１つ以上の重複をウェブインタフェースにおいてユーザに表示することと、行うようにさらに構成されている、請求項９に記載のシステム。
【請求項１３】
前記少なくとも１つのプロセッサが、
暗号化が前記１つ以上のフィールドのいずれかでも有効にされていない場合、前記一致インデックス値を非暗号化形式で記憶すること、を行うようにさらに構成されている、請求項９に記載のシステム。
【請求項１４】
前記一致タイプが、完全またはファジーである、請求項９に記載のシステム。
【請求項１５】
前記一致ルールが、ブランクフィールドが一致として扱われるべきかどうかのインジケータをさらに含む、請求項９に記載のシステム。
【請求項１６】
前記一致タイプがファジーである場合、前記少なくともプロセッサが、Ｊａｒｏ−Ｗｉｎｋｌｅｒ距離、Ｋｕｌｌｂａｃｋ−Ｌｉｅｂｌｅｒ距離、名前バリアント、キーボード距離、Ｍｅｔａｐｈｏｎｅ  ３、またはｓｙｌｌａｂｌｅ  ａｌｉｇｎｍｅｎｔのうちの１つを使用して、一致を決定することができる、請求項９に記載のシステム。
【請求項１７】
前記暗号化スキームが決定論的スキームである、請求項９に記載のシステム。
【請求項１８】
前記１つ以上のフィールドは、前記クラウドコンピューティングプラットフォームにおいて標準フィールドまたはカスタムフィールドとすることができる、請求項９に記載のシステム。
【請求項１９】
前記クラウドコンピューティングプラットフォームは、顧客関係管理プラットフォームである、請求項９に記載のシステム。
【請求項２０】
少なくとも１つの計算デバイスによって実行されるときに、前記少なくとも１つの計算装置に動作を実行させる命令が記憶された非一時的なコンピュータ可読デバイスであって、前記動作が、
クラウドコンピューティングプラットフォームにおいて、１つ以上のフィールド含む新しいレコードを受信することと、
固有の識別子、１つ以上の一致タイプ、および適用可能な１つ以上のフィールドを含む、新しいレコードに適用可能な一致ルールを選択することと、
一致インデックス値を計算することであって、前記一致インデックス値が、前記新しいレコード内の前記１つ以上のフィールドで受信された前記適用可能な１つ以上のフィールドの合成である、計算することと、
暗号化された一致インデックス値を導出することであって、前記一致ルールの前記固有の識別子が、暗号化スキームにおける初期化ベクトルとして使用され、前記一致インデックス値が、前記暗号化スキームにおける平文として使用される、導出することと、
前記クラウドコンピューティングプラットフォームによって、前記暗号化された一致インデックス値を暗号化された一致インデックス列に記憶することと、を含む、非一時的なコンピュータ可読デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
一般に、組織や個人は、クラウドコンピューティングプラットフォームを利用して、顧客との関係を管理することがある。このようなクラウドコンピューティングプラットフォームは、カスタマー・リレーションシップ・マネジメント（ＣＲＭ）ソリューションと呼ばれる。ＣＲＭソリューションは、顧客や潜在顧客とのやりとりをより良く追跡および分析するために、連絡先管理、販売管理、生産性ツールなどの幅広い機能を含む。ＣＲＭソリューションは、これらの機能をサポートするために大量のデータを蓄積することがある。
【０００２】
このデータをクリーンに保ち、最新の状態に保ち、重複がないようにすることで、ＣＲＭソリューションの性能と分析上の有用性を最適化し、強化することができる。しかし、データのクリーニングは困難を伴うことがある。例えば、データセキュリティの目的のために、顧客が、自分が管理する暗号化キーでデータを暗号化する必要がある場合、ＣＲＭソリューションは、特定のデータフィールドまたは保存エンティティを、顧客の暗号化キーで暗号化することがある。このようなテナントレベルの暗号化は、ＣＲＭソリューションにおける重複検出および重複除去をさらに複雑にすることがある。
【図面の簡単な説明】
【０００３】
添付の図面は、本明細書に組み込まれ、明細書の一部を形成する。
【０００４】
【図１】いくつかの実施形態による、クラウドコンピューティングシステムのブロック図である。
【図２】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおいて検出された重複のスクリーンショットを反映する。
【図３】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおける標準フィールドに対する暗号化設定画面のスクリーンショットを反映する。
【図４】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおけるカスタムフィールドに対する暗号化設定画面のスクリーンショットを反映する。
【図５】いくつかの実施態様による、クラウドコンピューティングプラットフォームにおける一致ルールのスクリーンショットを反映する。
【図６】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおいて、新しいレコードを追加するときの重複検出の方法を図示するフローチャートである。
【図７】いくつかの実施形態による、重複検出で使用される一致インデックスを作成および暗号化する方法を図示するフローチャートである。
【図８】様々な実施形態を実施するのに有用な例示的なコンピュータシステムである。
【０００５】
図面において、同様の参照番号は、一般に、同一又は類似の要素を示す。さらに、一般に、参照番号の左端の数字は、参照番号が最初に現れる図面を特定する。
【発明を実施するための形態】
【０００６】
以下の詳細な説明は、本開示と一致する例示的な実施形態を図示するために添付の図面を参照する。「１つの例示的な実施形態」、「ある例示的な実施形態」、「ある例示の例示的な実施形態」などの詳細な説明における言及は、説明される例示的な実施形態が、特定の機能、構造、または特徴を含むことがあるが、全ての例示的な実施形態が、必ずしも特定の機能、構造、または特徴を含むわけではないことを示す。さらに、このような語句は、必ずしも同じ例示的な実施形態を指しているわけではない。さらに、本開示が例示的な実施形態に関連して特定の機能、構造、または特徴を説明するときに、当業者は、明示的に説明されているかどうかにかかわらず、他の例示的な実施形態に関連して、そのような機能、構造、または特徴にどのように影響を及ぼすかを知るであろう。
【０００７】
本明細書に説明される例示的な実施形態は、例示的な実施形態を提供するものであり、限定的なものではない。他の例示的な実施形態も可能であり、本開示の精神および範囲内で例示的な実施形態に修正を加えてもよい。したがって、詳細な説明は、本開示を限定しない。むしろ、以下の特許請求の範囲およびそれらの均等物が、本開示の範囲を定義する。
【０００８】
実施形態を達成するために、ハードウェア（例えば、回路）、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせが使用されてもよい。実施形態はまた、機械可読媒体に記憶された命令として実施され、１つ以上のプロセッサによって読み取られ、実行されてもよい。機械可読媒体は、機械により読み取り可能な形態で情報を記憶または送信するための任意の機構（例えば、計算デバイス）を含む。例えば、いくつかの実施形態では、機械可読媒体は、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気、光、音響、または他の形態の伝搬される信号（例えば、搬送波、赤外線信号、デジタル信号など）などを含む。さらに、ファームウェア、ソフトウェア、ルーチン、および／または命令は、特定のアクションを行うものとして本明細書で説明されてもよい。しかしながら、これらの説明は単に便宜上のものであり、これらのアクションは、コンピューティングデバイス、プロセッサ、コントローラ、またはファームウェア、ソフトウェア、ルーチン、および／または命令を実行する他のデバイスに起因する。さらに、任意の実施バリエーションは、以下に説明されるように、汎用コンピュータによって実行可能であってもよい。
【０００９】
用語「モジュール」への言及は、ソフトウェア、ファームウェア、およびハードウェア（１つ以上の回路、マイクロチップ、もしくはデバイス、またはそれらの任意の組み合わせなど）またはそれらの任意の組み合わせのうちの少なくとも１つを含むと理解されるものとする。さらに、関連技術の当業者は、各モジュールが実際のデバイス内に１つ以上の構成要素を含んでもよく、上述のモジュールの一部を形成する各構成要素が、モジュールの一部を形成する他の任意の構成要素と協働的にまたは独立して機能し得ることを理解するであろう。逆に、本明細書で説明される複数のモジュールは、実際のデバイス内の単一の構成要素を表してもよい。さらに、モジュール内の構成要素は、単一のデバイス内にあってもよく、または有線もしくは無線方式で複数のデバイスに分散されてもよい。
【００１０】
以下の例示的な実施形態の詳細な説明は、開示の一般的な性質を完全に明らかにしており、他の者が、関連技術の当業者の知識を適用することにより、過度の実験を行うことなく、かつ開示の精神および範囲から逸脱することなく、このような例示的な実施形態を種々の用途に容易に修正および／またはカスタマイズすることができるようにしている。したがって、このような修正は、本明細書に提示された教示およびガイダンスに基づいて、例示的な実施形態の意味及び複数の均等物の範囲内にある。ここで、語法または用語は、本明細書の教示に照らして、本明細書の語法又は用語が当業者によって解釈されるべきであるように、説明の目的を果たすものであって、限定するものではない。
【００１１】
本明細書では、クラウドコンピューティングプラットフォームにおいて暗号化された一致インデックスを使用した重複検出を可能にするための、システム、装置、デバイス、方法、および／またはコンピュータプログラム製品の実施形態、および／またはそれらのコンビネーションおよびサブコンビネーションが提供される。
【００１２】
組織は、顧客との関係を管理するためのＣＲＭソリューションとして、クラウドコンピューティングプラットフォームを利用してもよい。クラウドコンピューティングプラットフォームによって、組織が顧客とのやりとりを追跡および分析し、売上を増加させ、連絡先を管理し、将来に向けたより良い計画を立てることを可能にしてもよい。クラウドコンピューティングプラットフォームは、顧客サービスの流れとサプライチェーン管理を組織化してもよいし、ソーシャルメディアストリームを監視して潜在的な顧客を決定してもよい。このようなクラウドコンピューティングプラットフォームを通じて顧客とのやりとりを追跡することによって、組織は最終的に収益性を改善し、プロセスの非効率性を排除し、そうでなければ組織の能力を改善してもよい。
【００１３】
クラウドコンピューティングプラットフォームは、組織、販売、顧客、サプライヤ、競合他社、リードなどに関連する多種多様のデータフィールドを記憶してもよい。例にすぎないが、クラウドコンピューティングプラットフォームは、連絡先情報、顧客嗜好、ソーシャルメディアデータ、顧客購買記録、サービス記録、顧客とのやりとり、マーケティングキャンペーン、販売目標、組織目標、売上データ、収益性分析、販売のリード／機械などに関するフィールドを記憶してもよい。フィールドは、例えば、連絡先、アカウント、リード、および機会である標準フィールド、または、組織の要求に合わせて落とし込まれた特定の目的のために組織によって設計および利用されるカスタムフィールドである。
【００１４】
このデータは潜在的に機密性があるため、クラウドコンピューティングプラットフォームはデータ暗号化をサポートしてもよい。暗号化は、キーと初期化ベクトルを使用しながら、フィールドの読み取り可能な英数字データ（すなわち、平文）を、キーと初期化ベクトルに関係のないエンティティには読み取り不可能である暗号化された形式（すなわち、暗号文）に変換する。次に、クラウドコンピューティングプラットフォームは、暗号化された形式の暗号文を記憶してもよい。記憶されたデータを検索するときに、クラウドコンピューティングプラットフォームは、キーと初期化ベクトルを用いて暗号文を復号してもよい。
【００１５】
標準フィールドとカスタムフィールドの両方を暗号化してもよい。組織は、データフィールドを暗号化するために、暗号化方法論（例えば、決定論的及び／又は確率論的）の中から選択してもよい。決定論的暗号化方式は、与えられた平文とキーに対して常に同じ暗号文を生成する。確率論的暗号化方式は、暗号化プロセスにおけるランダム性を利用し、与えられた同じ平文とキーで異なる暗号文をもたらす。
【００１６】
組織はまた、クラウドコンピューティングプラットフォームにおけるクリーンなデータを維持することに関心がある。クリーンデータは、ユーザビリティを改善し、エラーを防止し、システムの完全性を維持し、分析能力を向上させる。クリーンデータを維持する１つの側面は、与えられたデータセットにおける重複を除去することである。重複検出は、重複除去ジョブを動作させることにより、グローバルに管理されてもよい。重複検出はまた、テーブル毎またはケースバイケースで発生してもよい。クラウドコンピューティングプラットフォームに新しいレコードを追加するときに、自動的に重複検出が発生してもよい。
【００１７】
クラウドコンピューティングプラットフォームは、重複レコードを検出するために一致ルールを利用してもよい。一致ルールは、クラウドコンピューティングプラットフォームにおいて、特定のフィールド、またはいくつかのフィールドを検査してもよい。一致ルールは、標準またはカスタム（すなわち、ユーザ定義）であってもよい。標準一致ルールは、重複が存在するかどうかを決定するために、与えられたデータエンティティに対して予め決定されたフィールドを検査してもよい。例えば、クラウドコンピューティングプラットフォームにおける連絡先についての標準化された一致ルールは、ＦｉｒｓｔＮａｍｅ、ＬａｓｔＮａｍｅ、およびＡｄｄｒｅｓｓを検査してもよい。カスタム一致ルールは、カスタマイズされた態様でユーザが設定したフィールドを検査する。例えば、連絡先についてのカスタムのユーザ定義一致ルールが、連絡先のタイトルも考慮するように設定されてもよい。このカスタムルールでは、ＦｉｒｓｔＮａｍｅ、ＬａｓｔＮａｍｅ、Ａｄｄｒｅｓｓ、およびＴｉｔｌｅが一致する場合にのみ、重複が決定されるだろう。ユーザは、一致ルールを指定するためにブール論理を書くことができ、または、一致ルールを指定するために別のプログラム的方式を利用することができる。
【００１８】
重複検出は、完全一致方式またはファジーマッチング方式を使用することができる。完全一致方式では、フィールド内の正確な一致のみが正の結果、すなわち一致を返す。例えば、重複検出がＦｕｌｌＮａｍｅフィールドを調べた場合、「Ｊｏｈｎ  Ｓｍｉｔｈ」と「Ｊｏｈｎ  Ｓｍｉｔｈ」は一致するが、「Ｊｏｈｎ  Ｓｍｉｔｈ」と「Ｊｏｎ  Ｓｍｉｔｈ」は一致しない。ファジーマッチングは、非正確な一致が重複として正に識別されることを可能にする方法を提供する。上記の例では、「Ｊｏｎ  Ｓｍｉｔｈ」は、ファジーマッチング方式を使用して「Ｊｏｈｎ  Ｓｍｉｔｈ」の重複として正に識別されてもよい。ファジーマッチングの例としては、Ｊａｒｏ−Ｗｉｎｋｌｅｒ距離、Ｋｕｌｌｂａｃｋ−Ｌｉｅｂｌｅｒ距離、名前バリアント、キーボード距離、Ｍｅｔａｐｈｏｎｅ  ３、およびｓｙｌｌａｂｌｅ  ａｌｉｇｎｍｅｎｔが挙げられる。
【００１９】
クラウドコンピューティングプラットフォームは、さらに、上述の暗号化方式を介して暗号化されたフィールドを含む、様々な方法で暗号化されたフィールドの重複検出を提供してもよい。これらのフィールドの重複検出をサポートする際に、クラウドコンピューティングプラットフォームは、重複検出を容易にするために、補助的に記憶されたエントリ、例えば一致インデックスを利用してもよい。他の方法で暗号化されたフィールドの平文の保存を避けるために、補助フィールドも暗号化する必要があってもよい。いくつかの実施形態では、クラウドコンピューティングプラットフォームにおいてフィールドの暗号化を可能にすることは、それらのフィールドを検査する重複検出システムを妨害することがある。１つの非限定的な例において、クラウドコンピューティングプラットフォームは、キーおよび初期化ベクトルの使用を通じて、オリジナルのシードテキストに関連する方法のみで、暗号化されたフィールドを記憶してもよい。このような例では、暗号化されていないキーで構成される一致ルールと暗号化されたフィールドとの単純な比較は、重複の正の識別をもたらさないため、従来の重複検出は暗号化されたフィールドには機能しないことがある。別の実施形態では、確率論的暗号化を利用すると、確率論的暗号化方式の変動する予測不可能な結果のために、重複検出が無効にされる結果をもたらすことがある。従って、暗号化された一致インデックスを利用することによって、クラウドコンピューティングプラットフォームが、暗号化されたフィールド内の重複を検出できるようにする必要性が存在する。
【００２０】
図１は、いくつかの実施形態による、システム１００のブロック図である。クラウドコンピューティングシステム１００は、クラウドコンピューティングプラットフォーム１０２、ユーザシステム１０４、ネットワーク１０６、ホストアプリケーション１０８、レコードストア１１０、暗号化エンジン１１２、およびマッチングエンジン１１４を含んでもよい。システム１００は、ネットワーク１０６を介してクラウドコンピューティングプラットフォーム１０２をユーザシステム１０４に接続してもよい。当業者に理解されるように、クラウドコンピューティングプラットフォーム１０２は、複数のユーザシステム１０４に接続されてもよい。
【００２１】
クラウドコンピューティングプラットフォーム１０２は、サーバコンピュータ、デスクトップコンピュータ、ラップトップ、タブレット、モバイルデバイス、ウェアラブル電子デバイス、または他の電子デバイスであってもよい。クラウドコンピューティングプラットフォーム１０２はまた、クラウドコンピューティングのためのソフトウェアプラットフォームであってもよい。例えば、クラウドコンピューティングプラットフォーム１０２は、ユーザがインターネットを介してアクセス可能なアプリケーションに加入するソフトウェア・アズ・ア・サービス（ＳａａＳ）クラウドプラットフォームであってもよい。クラウドコンピューティングプラットフォーム１０２は、ＣＲＭ関連サービスを提供してもよい。このようなサービスにより、組織が顧客とのやりとりを追跡および分析することを可能にしてもよい。クラウドコンピューティングプラットフォーム１０２は、非常に多い他の機能性を提供してもよい。
【００２２】
ユーザシステム１０４は、クラウドコンピューティングプラットフォーム１０２と対話する個人であってもよい。ユーザシステム１０４は、携帯電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ウェブブラウザ、または他の任意の適切な計算デバイスであってもよい。ユーザシステム１０４は、クラウドコンピューティングプラットフォーム１０２に接続して、これと通信するように構成されてもよい。ユーザシステム１０４のユーザは、事業主、従業員、代理人、または事業、会社、非営利団体、政府機関、または他の任意の適切な組織に関連する情報と対話する他の適切な個人であってもよい。逆に、ユーザシステム１０４のユーザは、事業または組織目標に関係のない個々の目的または理由のために、クラウドコンピューティングプラットフォーム１０２を使用してもよい。
【００２３】
ネットワーク１０６は、インターネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、セルラネットワーク、または当業者に理解されるような他の種々のタイプのネットワークを含む、任意のネットワークまたはネットワークの組み合わせであってもよい。
【００２４】
ホストアプリケーション１０８は、クラウドコンピューティングプラットフォーム１０２に含まれてもよいし、任意の適切なタイプのアプリケーションであってもよい。例えば、ホストアプリケーション１０８は、クラウドコンピューティングプラットフォーム１０２上で現在動作しているＣＲＭアプリケーションであってもよい。いくつかの実施形態では、ホストアプリケーション１０８は、ウェブブラウザ内で動作するように設計されたウェブアプリケーションであってもよい。いくつかの他の実施形態では、ホストアプリケーション１０８は、サーバコンピュータ、デスクトップコンピュータ、または他のタイプの電子デバイス上で動作するように設計されたソフトウェアアプリケーションであってもよい。ホストアプリケーション１０８は、モバイルプラットフォーム上で動作するように設計され、配置されてもよい。ホストアプリケーション１０８は、任意の適切なオペレーティングシステム環境において動作してもよい。当業者には理解されるように、ホストアプリケーション１０８は、別のタイプのソフトウェアアプリケーションであってもよい。
【００２５】
レコードストア１１０は、データベースまたは他のタイプのデータストアであってもよい。データオブジェクトは、アイテムまたはデータのコレクションであってもよい。レコードストア１１０は、組織、販売、顧客、サプライヤ、競合他社、リードなどに関連するフィールドを記憶してもよい。レコードストア１１０によって記憶されるフィールドは、標準フィールドまたはカスタムフィールドであってもよい。レコードストア１１０はまた、重複を検出する際に利用される一致インデックスを記憶してもよい。レコードストア１１０は、レコードストア１１０に含まれるデータフィールドの暗号化をサポートしてもよい。
【００２６】
暗号化エンジン１１２は、クラウドコンピューティングプラットフォーム１０２によって利用されて、決定論的、確率論的、または他の適切な暗号化方式を用いて、レコードストア１１０内のフィールドを暗号化してもよい。暗号化エンジン１１２は、クラウドコンピューティングプラットフォーム１０２またはホストアプリケーション１０８によって採用されてもよい。暗号化エンジン１１２は、データストア１１０内のフィールドを暗号化してもよい。暗号化エンジン１１２は、適切なシード、キー、または初期化ベクトルを利用して、レコードストア１１０内のフィールドを暗号化してもよい。また、暗号化エンジン１１２は、クラウドコンピューティングプラットフォーム１０２において重複を検出するために使用される一致インデックスを暗号化してもよい。暗号化エンジン１１２は、レコードストア１１０内に格納された固有の識別子を一致ルールのために検索し、レコードストア１１０内のレコードを暗号化するときに、固有の識別子をキーまたは初期化ベクトルとして使用してもよい。その後、暗号化エンジン１１２は、利用のために記憶された任意の暗号化値を復号してもよい。暗号化エンジン１１２は、２ＴＤＥＡ、３ＴＤＥＡ、ＡＥＳ−１２８、ＡＥＳ−１９２、ＡＥＳ−２５６などの適切な暗号化標準または仕様を利用または遵守してもよい。
【００２７】
マッチングエンジン１１４は、データストア１１０に記憶された重複を決定してもよい。マッチングエンジン１１４はまた、データをデータストア１１０に挿入する前にホストアプリケーション１０８によって受信された新しいデータをチェックして、挿入によって複製が導入されないことを確実にしてもよい。マッチングエンジン１１４は、クラウドコンピューティングプラットフォーム１０２またはホストアプリケーション１０８によって採用されてもよい。マッチングエンジン１１４は、暗号化されていないフィールドを、データエンティティ内の各レコードについて作成された一致インデックスと比較することによって、暗号化されていないフィールドに対してレコードストア１１０内に現在重複が存在するかどうかを決定してもよい。一実施形態では、マッチングエンジン１１４は、第１のフェーズが完全一致を行い、第２のフェーズが重複を決定するために適切なファジーマッチングアルゴリズムを行う２フェーズ一致を行ってもよい。マッチングエンジン１１４は、図３および図４を参照して以下にさらに詳細に説明するように、暗号化されたフィールドのためにレコードストア１１０内に重複が存在するかどうかをさらに決定してもよい。
【００２８】
図２は、クラウドコンピューティングプラットフォーム１０２において検出された重複のスクリーンショットを反映している。これは、単なる例示的な実施形態である。図２は、アカウント２０２、新しいコンタクト連絡先ボタン２０４、重複通知２０６、およびアカウント詳細２０８を含む例示的なインターフェースを描写する。図２はアカウント２０２を表示するが、これはクラウドコンピューティングプラットフォーム１０２内の別の標準またはカスタムフィールドとすることができる。新しいコンタクト連絡先ボタン２０４は、ユーザがコンタクト連絡先、アカウントなどのフィールドに対して更新された情報を入力することを可能にする、ユーザからの入力を受け取ることができる例示的な入力フィールドである。重複通知２０６は、システムが適切な方法を介して重複を検出したときに表示することができ、これについては、以下の図６および図７の説明でさらに詳しく述べる。このスクリーンショットでは、単に例として、アカウント名（ａｃｃｏｕｎｔ  ｎａｍｅ）、電話（ｐｈｏｎｅ）、および所有者（ｏｗｎｅｒ）に一致ルールが作成されていることがある。レコードストア１１０に記憶された別のレコードは、アカウント名「Ｇｌｏｂａｌ  Ｍｅｄｉａ」電話番号「（９０５）５５５−１２１２」、および所有者「Ｙｖｅｓ  Ｍａｒｔｉｎ」であることがあるため、重複通知２０６はここに表示してもよい。アカウント詳細２０８は、表示されているカスタムデータフィールドの標準に関連する様々なフィールドを表示してもよい。
【００２９】
図３は、クラウドコンピューティングプラットフォーム１０２における標準フィールドの暗号化設定画面のスクリーンショットを反映している。これは、単なる例示的な実施形態である。図３は、アカウントボックス３０２、チェックボックス３０４、フィールドラベル３０６、暗号化設定３０８、およびタイプセレクタ３１０を含む例示的なインターフェースを描写する。図３は、アカウントボックス３０２を表示しているが、これは、クラウドコンピューティングプラットフォーム１０２内の別の標準、例えば、連絡先、販売等であってもよい。チェックボックス３０４は、ユーザがこの例示的なアカウントに関連するフィールドにわたって暗号化を可能し得るメカニズムを提供する。標準フィールドについての暗号化の有効化は、図６および図７を参照して後述するように、データストア１１２に記憶される際にデータを暗号化することをもたらし得る。フィールドラベル３０６は、この例示に関連するフィールドに対するラベルである。暗号化設定３０８は、タイプセレクタ３１０を調整するためのフレームワークを提供する。この実施形態では、タイプセレクタ３１０は、確率論的暗号化または決定論的暗号化のいずれかを示す。当業者は、アカウントボックス３０２内のフィールドが標準データのタイプに基づいて変動し得ると理解するであろう。
【００３０】
図４は、クラウドコンピューティングプラットフォーム１０２内のカスタムフィールドに対する暗号化設定画面のスクリーンショットを反映している。これは、単なる例示的な実施形態である。図４は、フィールドラベル４０２、フィールド名４０４、説明４０６、ヘルプテキスト４０８、暗号化イネーブラ４１０、およびタイプセレクタ４１２を含む例示的なインターフェースを描写する。フィールドラベル４０２、フィールド名４０４、説明４０６、およびヘルプテキスト４０８は、クラウドコンピューティングプラットフォーム１０２におけるカスタムフィールドに関する詳細を指定してもよい。暗号化イネーブル４１０を使用して、ユーザは、クラウドコンピューティングプラットフォーム１０２のカスタムフィールドについて暗号化を有効化してもよい。暗号化のタイプ、例えば、決定論的か確率論的かは、タイプセレクタ４１２を使用してトグルされてもよい。カスタムフィールドについての暗号化の有効化は、図６および図７を参照して後述するように、レコードストア１１２に記憶される際にデータを暗号化することをもたらし得る。図５は、クラウドコンピューティングプラットフォーム１０２における一致ルール作成画面のスクリーンショットを反映している。これは、単なる例示的な実施形態である。
【００３１】
図５は、標準セレクタ５０２、標準ルールセレクタ５０４、カスタムセレクタ５０６、カスタムルールセレクタ５０８、基準ストリング５１０、追加ボタン５１２、および削除ボタン５１４を含む例示的なインターフェースを示す。図７を参照して後述するように、一致ルールは、標準的、またはユーザ定義であってもよい。標準セレクタ５０２および標準ルールセレクタ５０４は、標準一致ルール設定を描写してもよい。カスタムセレクタ５０６、カスタムルールセレクタ５０８、および基準ストリング５１０は、カスタム一致ルールを描写してもよい。ルール追加ボタン５１２および削除ボタン５１４は、ユーザが一致ルールを追加または削除することを可能にする。クラウドコンピューティングプラットフォームにおける重複の決定における一致ルールの利用は、図６を参照して、以下でさらに詳細に説明される。
【００３２】
図６は、いくつかの実施形態による、クラウドコンピューティングプラットフォームにおいて、新しいレコードを追加するときの重複検出の方法６００を図示するフローチャートである。方法６００は、ハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行される命令）、またはそれらの組み合わせを含むことができる処理論理によって行われ得る。本明細書に提供される開示を行うために全てのステップが必要とされるわけではないことが理解されるべきである。さらに、当業者によって理解されるように、ステップのいくつかは、同時に、または図６に示されているものとは異なる順序で行われてもよい。方法６００は、図１を参照して説明するものとする。しかしながら、方法６００は、その例示的な実施形態に限定されない。
【００３３】
６０２では、ホストアプリケーション１０８は、ユーザシステム１０４から新しいレコードを受信してもよい。新しいレコードは、連絡先、アカウント、リード、機会などの新しい標準フィールドを表してもよい。新しいレコードはまた、ユーザシステム１０４のユーザを介してホストアプリケーション１０８内で事前に設定された新しいカスタムフィールドを表してもよい。新しいレコードは、適切なＨＴＭＬ形式のデータ、ＸＭＬ、または他の任意の適切な情報転送フォーマットを使用して受信されてもよい。例示的な例では、ホストアプリケーション１０８は、ファーストネーム（「Ｊｏｈｎ」）（ｆｉｒｓｔ  ｎａｍｅ）、ラストネーム（「Ｓｍｉｔｈ」）（ｌａｓｔ  ｎａｍｅ）、郵送先（「１０  Ｍａｐｌｅ  Ａｖｅｎｕｅ」）（ｍａｉｌｉｎｇ  ａｄｄｒｅｓｓ）、タイトル（「Ｄｅｖｅｌｏｐｅｒ」）（ｔｉｔｌｅ）、および連絡先番号（「５５５−５５５５」）（ｃｏｎｔａｃｔ  ｎｕｍｂｅｒ）を含む新しい連絡先を受信してもよい。この開示は、後述するステップの議論においてこの例を利用する。一実施形態では、このような連絡先は、自動化されたプロセス、例えば、インポートメカニズムまたは他のデータ自動化された伝搬を介して受信されてもよい。
【００３４】
６０４では、ホストアプリケーション１０８は、６０２で受信された新しいレコードに関連する記憶された一致ルールを検索する。上記の例では、ホストアプリケーション１０８は、連絡先フィールド上の重複を検出するように構成された任意の一致ルールを、レコードストア１１０から検索してもよい。代替例では、ホストアプリケーション１０８は、カスタムデータエンティティのための一致ルールを受信してもよい。当業者は、レコードストア１１０に記憶された設定に応じて、２つ以上の一致ルールが与えられたデータエンティティに適用可能であると理解するであろう。したがって、ホストアプリケーション１０８は、２つ以上の一致ルールを検索してもよく、この実施形態では、その後のステップは反復的であってもよい。上記の連絡先の例で続けると、ホストアプリケーション１０８は、ＦｉｒｓｔＮａｍｅ、ＬａｓｔＮａｍｅ、Ａｄｄｒｅｓｓ、およびＴｉｔｌｅについての一致ルールを検索してもよい。ホストアプリケーションは、一致ルールが適用されるフィールド、それらのフィールドに対して行うマッチングのタイプ（ファジーまたは正確）、および他の適切な設定情報を検索してもよい。一致ルールはまた、その特定の一致ルールを識別するために、レコードストア１１０に記憶された固有の識別子を含んでもよい。
【００３５】
６０６では、ホストアプリケーション１０８は、新しいレコードに対する一致インデックスを計算する。一致インデックスの性質は、受信されるデータの性質に基づいて変動してもよい。ホストアプリケーション１０８は、２つ以上の一致ルールが所定の位置にある場合、６０４で受信された各一致ルールに対応する異なる一致インデックスを導出してもよい。一致インデックスは、受信されたデータフィールドの合成であってもよい。上記の例では、ＦｉｒｓｔＮａｍｅ、ＬａｓｔＮａｍｅ、Ａｄｄｒｅｓｓ、およびＴｉｔｌｅにわたる一致インデックスは「ＪＳｍｉｔｈＭａｐｌｅＤｅｖｅｌｏｐｅｒ」であると決定されてもよいが、この例は決して限定的なものではない。一致インデックスを決定するために多数の様々なアプローチが取られてもよく、問題となっているデータエンティティの性質に基づいて、それらのアプローチが変動してもよい。
【００３６】
６０８では、ホストアプリケーション１０８は、一致インデックスを含むフィールドのいずれかで暗号化が有効にされているかどうかを決定する。上記の例では、ホストアプリケーション１０８は、ファーストネーム、ラストネーム、郵送先、タイトル、および連絡先番号のうちのいずれかが暗号化されているかどうかを、レコードストア１１０から決定してもよい。一実施形態では、ホストアプリケーション１０８は、暗号化スキームが確率論的か決定論的かである場合、異なる挙動をしてもよい。一実施形態では、重複決定は、暗号化スキームが確率論的である場合には、機能しないことがある。いずれかのフィールドに対して暗号化が有効にされている場合、方法６００は６１２に移動する。どのフィールドに対しても暗号化が有効にされていない場合、方法６００は６１０に移動する。
【００３７】
６１０において、ホストアプリケーション１０８は、６０６で決定された一致インデックスを、レコードストア１１０における関連データエンティティ内の行と比較する。暗号化は、一致インデックスを含むフィールドについては有効にされないため、レコードストア１１０は、一致インデックスを非暗号化形式で記憶してもよい。従って、上記の例の場合、ホストアプリケーション１０８は、「ＪＳｍｉｔｈＭａｐｌｅＤｅｖｅｌｏｐｅｒ」がレコードストア１１０における関連データエンティティ内に存在するかどうかを決定するためにテーブルスキャンを行ってもよい。ホストアプリケーション１０８は、マッチングインデックスが重複しているかどうかを決定するために、他の任意の適切な検索メカニズムを行ってもよい。
【００３８】
６１２では、ホストアプリケーション１０８は、暗号化エンジン１１２を介して６０６で決定された一致インデックスを暗号化する。ホストアプリケーション１０８は、暗号化スキームをキーとする初期化ベクトルとして、一致ルールに対する固有の識別子を利用してもよい。従って、暗号化エンジン１１２は、平文「ＪＳｍｉｔｈＭａｐｌｅＤｅｖｅｌｏｐｅｒ」から適切な暗号文を導出してもよい。暗号文は英数字からなってもよく、設定可能なビット長であってもよい。
【００３９】
６１４では、ホストアプリケーション１０８は、６１２で決定された暗号化された一致インデックスを、レコードストア１１０における関連データエンティティ内の暗号化された一致インデックス列と比較する。上記の例では、ホストアプリケーション１０８は、暗号化された暗号文がレコードストア１１０における関連データエンティティ内に存在するかどうかを決定するためにテーブルスキャンを行ってもよい。ホストアプリケーション１０８は、暗号化された一致インデックスが重複しているかどうかを決定するために、他の任意の適切な検索メカニズムを行ってもよい。
【００４０】
６１６では、ホストアプリケーション１０８は、ステップ６１０または６１４で重複が見つかったかどうかを決定する。重複レコードが見つかった場合、方法６００は６１８に進む。重複レコードが見つからなかった場合、方法６００は６２０に進む。
【００４１】
６１８では、ホストアプリケーション１０８は、重複レコードが見つかったことを示すエラーメッセージを返す。一実施形態では、ユーザシステム１０４は、適宜、情報を確認するか、または情報を更新するように要求されてもよい。
【００４２】
６２０では、ホストアプリケーション１０８は、新しいレコードをレコードストア１１０に追加する。レコードは、一致インデックスを収容する列を含んでもよい。関連するフィールドに対して暗号化が有効にされていない場合、一致インデックスがこの列に記憶されてもよい。暗号化が有効にされている場合、暗号化された一致インデックスがこの列に記憶されてもよい。
【００４３】
図７は、いくつかの実施形態による、重複検出で使用される一致ルールを作成および暗号化する方法７００を図示するフローチャートである。方法７００は、ハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行される命令）、またはそれらの組み合わせを含むことができる処理論理によって行われ得る。本明細書に提供される開示を行うために全てのステップが必要とされるわけではないことが理解されるべきであるさらに、当業者によって理解されるように、ステップのいくつかは、同時に、または図７に示されているものとは異なる順序で行われてもよい。方法７００は、図１を参照して説明するものとする。しかしながら、方法７００は、その例示的な実施形態に限定されない。
【００４４】
７０２では、ホストアプリケーション１０８は、ユーザシステム７０４のユーザから一致ルールパラメータを受信する。パラメータは、一致ルールが適用されるデータエンティティ（すなわち、テーブル）、一致ルールが適用されるデータエンティティ内のフィールド、一致ルールがどのように挙動するかを指定するブールまたは他のロジック、空白またはヌル値が一致として扱われるべきかどうか、および他の適切な設定情報を指定してもよい。一致ルールパラメータは、適切なＨＴＭＬ形式のデータ、ＸＭＬ、または他の適切な情報転送フォーマットを使用して受信されてもよい。一実施形態では、ホストアプリケーションは、既存のルールを更新する一致ルールパラメータを受信することができる。
【００４５】
７０４では、ホストアプリケーション１０８は、レコードストア１１０内に一致ルールを作成してもよい。ホストアプリケーションは、２つ以上の一致ルールが同じフィールドを検査することを可能にしてもよいが、適切な冗長性検査が行われてもよい。一致ルールを追跡するために、適切な行および列が特定のテーブルに追加されてもよい。既存の一致ルールを修正するときに、ホストアプリケーション１０８は、挿入ではなく、下位テーブルに対する更新を行ってもよい。
【００４６】
７０６では、ホストアプリケーション１０８は、特定のデータエンティティに現在存在するエントリに基づいて一致インデックス列を作成してもよい。例えば、一致ルールがＦｉｒｓｔＮａｍｅ、ＬａｓｔＮａｍｅ、およびＴｉｔｌｅを検査する場合、ホストアプリケーション１０８は、テーブルに含まれるデータに基づいて、データエンティティ内の各レコード、すなわちテーブル内の各行に対して、適切な一致インデックス（例えば、「ＪＳｍｉｔｈＤｅｖｅｌｏｐｅｒ」）を作成してもよい。ホストアプリケーション１０８は、行ごとに、バッチで、反復的に、再帰的に、または他の任意の適切なプログラム形式で、これを行ってもよい。ホストアプリケーション１０８は、メモリ、テキスト、一時データベーステーブル、または他の任意の適切な記憶媒体に、各行に対する一致インデックスを一時的に記憶してもよい。
【００４７】
７０８では、ホストアプリケーション１０８は、一致ルールによって検査されたフィールドのうちのいずれかについて暗号化が有効にされているかどうかを決定する。ホストアプリケーション１０８は、暗号化が有効にされているフィールドおよびデータエンティティに関するレコードストア１１０からデータを検索してもよい。ホストアプリケーション１０８はまた、データエンティティに適用される暗号化のタイプに関する情報をフェッチしてもよい。一実施形態では、ホストアプリケーション１０８は、暗号化のタイプに基づいて異なった挙動をしてもよい。暗号化が有効にされている場合、方法７００は７１０に進む。暗号化が有効にされていない場合、方法７００は７１４に進む。
【００４８】
７１０では、暗号化が有効にされていないか、または一致インデックス列を記憶することが必要とされる場合、ホストアプリケーション１０８は、一致インデックス列を非暗号化形式でレコードストア１１０に記憶してもよい。
【００４９】
７１２では、ホストアプリケーション１０８は、７０６で作成された一致インデックス列の全体を暗号化してもよい。ホストアプリケーション１０８は、暗号化スキームのための初期化ベクトルとして、一致ルールに対する固有の識別子を利用してもよい。ホストアプリケーション１０８は、メモリ、テキスト、一時データベーステーブルなどから、７０６で作成された一致インデックスを検索してもよい。ホストアプリケーション１０８は、一致インデックス列内のエントリを１つずつ、バッチで、または全体で暗号化してもよい。
【００５０】
７１４では、ホストアプリケーション１０８は、暗号化された形式の一致インデックス列をレコードストア１１０に記憶する。ホストアプリケーション１０８は、バルク・インサート、データベース更新、テキスト操作、または他の適切なストレージアプローチを通じて、暗号化された一致インデックスを列に記憶してもよい。
【００５１】
様々な実施形態は、例えば、図８に示すコンピュータシステム８００のような１つ以上のコンピュータシステムを使用して実施され得る。コンピュータシステム８００は、例えば、図６の方法６００および図７の方法７００を実施するために使用され得る。例えば、コンピュータシステム８００は、事前設定グローバルフィルタまたは更新を使用して分析システムの初期化を行うことができる。コンピュータシステム８００は、本明細書で説明される機能を行うことができる任意のコンピュータとすることができる。
【００５２】
コンピュータシステム８００は、本明細書で説明される機能を行うことができる任意の周知のコンピュータとすることができる。
【００５３】
コンピュータシステム８００は、プロセッサ８０４のような１つ以上のプロセッサ（中央処理ユニット、またはＣＰＵとも呼ばれる）を含む。プロセッサ８０４は、通信インフラストラクチャまたはバス８０６に接続される。
【００５４】
１つ以上のプロセッサ８０４は、それぞれ、グラフィックス処理ユニット（ＧＰＵ）であってもよい。一実施形態によると、ＧＰＵは、数学的に集約的なアプリケーションを処理するように設計された特殊な電子回路であるプロセッサである。ＧＰＵは、コンピュータ・グラフィックス・アプリケーションに共通の数学的に集約的なデータ、画像、ビデオなどのような、大きなブロックのデータの並列処理に効率的な並列構造を有してもよい。
【００５５】
コンピュータシステム８００はまた、ユーザ入出力インターフェース８０２を介して通信インフラストラクチャ８０６と通信するモニタ、キーボード、ポインティング・デバイスなどのユーザ入出力デバイス８０３を含む。
【００５６】
コンピュータシステム８００はまた、ランダム・アクセス・メモリ（ＲＡＭ）のようなメインメモリまたは１次メモリ８０８を含む。メインメモリ８０８は、キャッシュの１つ以上のレベルを含んでもよい。メインメモリ８０８は、制御論理（すなわち、コンピュータソフトウェア）および／またはデータを記憶している。
【００５７】
コンピュータシステム８００はまた、１つ以上の２次記憶デバイスまたはメモリ８１０を含んでもよい。２次メモリ８１０は、例えば、ハードディスクドライブ８１２および／またはリムーバブル記憶デバイスまたはドライブ８１４を含んでもよい。リムーバブル記憶ドライブ８１４は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光記憶デバイス、テープバックアップデバイス、および／または他の記憶デバイス／ドライブであってもよい。
【００５８】
リムーバブル記憶ドライブ８１４は、取り外し可能記憶ユニット８１８と相互作用してもよい。リムーバブル記憶ユニット８１８は、コンピュータソフトウェア（制御論理）および／またはデータを記憶したコンピュータ使用可能または可読記憶デバイスを含む。リムーバブル記憶ユニット８１８は、フロッピーディスク、磁気テープ、コンパクトディスク、ＤＶＤ、光記憶ディスク、および／または他のコンピュータデータ記憶デバイスであってもよい。リムーバブル記憶ドライブ８１４は、周知の方式で、リムーバブル記憶ユニット８１８から読み取りおよび／またはこれへの書き込みを行う。
【００５９】
例示的な実施形態によれば、２次メモリ８１０は、コンピュータプログラムおよび／または他の命令および／またはデータがコンピュータシステム８００によってアクセスされることを可能にするための他の手段、機器または他のアプローチを含んでもよい。そのような手段、器具または他のアプローチは、例えば、リムーバブル記憶ユニット８２２およびインターフェース８２０を含んでもよい。リムーバブル記憶ユニット８２２およびインターフェース８２０の例は、プログラムカートリッジおよびカートリッジインターフェース（ビデオゲームデバイスに見られるものなど）、リムーバブルメモリチップ（ＥＰＲＯＭまたはＰＲＯＭなど）および関連ソケット、メモリスティックおよびＵＳＢポート、メモリカードおよび関連メモリカードスロット、および／または他の任意のリムーバブル記憶ユニットおよび関連インターフェースを含んでもよい。
【００６０】
コンピュータシステム８００は、通信またはネットワークインターフェース８２４をさらに含んでもよい。通信インターフェース８２４は、コンピュータシステム８００が、遠隔デバイス、遠隔ネットワーク、遠隔エンティティなどの任意の組み合わせと通信し、相互作用することを可能にする（個々に、そして集合的に参照番号８２８によって参照される）。例えば、通信インターフェース８２４は、コンピュータシステム８００が、有線および／または無線であってもよく、ＬＡＮ、ＷＡＮ、インターネットなどの任意の組み合わせを含み得る通信経路８２６を介して、遠隔デバイス８２８と通信することを可能にしてもよい。制御論理および／またはデータは、通信経路８２６を介してコンピュータシステム８００との間で送信されてもよい。
【００６１】
一実施形態では、制御論理（ソフトウェア）が記憶された、有形の、非一時的なコンピュータ使用可能な又は可読媒体を含む有形の、一時的でない装置又は製造物品は、本明細書では、コンピュータプログラム製品又はプログラム記憶デバイスとも呼ばれる。これには、コンピュータシステム８００、メインメモリ８０８、２次メモリ８１０、およびリムーバブル記憶ユニット８１８および８２２、ならびに上記のいずれかの組み合わせを具体化する有形物品が含まれるが、これらに限定されない。そのような制御論理は、１つ以上のデータ処理デバイス（コンピュータシステム８００など）によって実行されるときに、そのようなデータ処理装置が本明細書に記載されるように動作するようにする。
【００６２】
本開示に含まれる教示に基づいて、図８に示されているもの以外のデータ処理デバイス、コンピュータシステム、および／またはコンピュータアーキテクチャを用いて、本開示の実施形態をどのように作製し、使用するかは、当業者には明らかであろう。特に、実施形態は、本明細書で説明されているもの以外のソフトウェア、ハードウェア、および／またはオペレーティングシステムの実施で動作することができる。
【００６３】
他のセクションではなく、詳細な説明のセクションは、クレームを解釈するために使用されることが理解されるべきである。他のセクションは、本発明者が企図する際に１つ以上の例示的な実施形態を明示することができ、本開示または添付の特許請求の範囲を何らかの形で制限することを意図するものではない。本開示の幅および範囲は、上述の例示的な実施形態のいずれによっても制限されるべきではなく、以下の特許請求の範囲およびそれらの均等物に従ってのみ定義されるべきである。
【図１】
2021525915.tif 000003
【図２】
2021525915.tif 000004
【図３】
2021525915.tif 000005
【図４】
2021525915.tif 000006
【図５】
2021525915.tif 000007
【図６】
2021525915.tif 000008
【図７】
2021525915.tif 000009
【図８】
2021525915.tif 000010
【国際調査報告】
2021525915.tif 000011
2021525915.tif 000012