IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セールスフォース ドット コム インコーポレイティッドの特許一覧

特許7399889暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出
<>
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図1
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図2
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図3
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図4
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図5
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図6
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図7
  • 特許-暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-08
(45)【発行日】2023-12-18
(54)【発明の名称】暗号化された一致インデックスについての完全一致およびファジーマッチングでの重複の検出
(51)【国際特許分類】
   G06F 21/60 20130101AFI20231211BHJP
   G06F 21/62 20130101ALI20231211BHJP
   G06F 16/901 20190101ALI20231211BHJP
   G06Q 10/06 20230101ALI20231211BHJP
【FI】
G06F21/60 320
G06F21/62 327
G06F16/901
G06Q10/06
【請求項の数】 20
(21)【出願番号】P 2020566563
(86)(22)【出願日】2019-05-30
(65)【公表番号】
(43)【公表日】2021-09-27
(86)【国際出願番号】 US2019034585
(87)【国際公開番号】W WO2019232167
(87)【国際公開日】2019-12-05
【審査請求日】2022-05-27
(31)【優先権主張番号】62/678,812
(32)【優先日】2018-05-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/026,819
(32)【優先日】2018-07-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】エルサン,アレクサンドル
(72)【発明者】
【氏名】シェア,スワループ
(72)【発明者】
【氏名】ケァ,チェンフン
(72)【発明者】
【氏名】ヴィシュナヴ,パース ヴィジャイ
(72)【発明者】
【氏名】ベン‐グー,アッサーフ
(72)【発明者】
【氏名】リィウ,ヴィクター ウェイリン
(72)【発明者】
【氏名】マクギャリー,ダニエル
(72)【発明者】
【氏名】サニコム,サマンサ
【審査官】宮司 卓佳
(56)【参考文献】
【文献】米国特許出願公開第2017/0346625(US,A1)
【文献】米国特許出願公開第2018/0025059(US,A1)
【文献】特開2015-022318(JP,A)
【文献】特開2016-202341(JP,A)
【文献】特表2015-501988(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
G06F 21/62
G06F 16/901
G06Q 10/06
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサによって、クラウドコンピューティングプラットフォームに追加される新しいレコードを受信することと、
前記1つ以上のプロセッサによって、固有の識別子、一致タイプ、および1つ以上の適用可能なフィールドを含む、新しいレコードに適用可能な一致ルールを選択することとであって、前記一致ルールは、前記新しいレコードに対する重複検出を実行するときの重複レコードを定義する、選択することと、
前記1つ以上のプロセッサによって、前記1つ以上の適用可能なフィールドに基づいて、暗号化された一致インデックスを計算することであって、前記固有の識別子は、前記暗号化された一致インデックスを作成するために使用される暗号化スキームにおける初期ベクトルとして使用される、計算することと、
前記1つ以上のプロセッサによって、前記暗号化された一致インデックスを暗号化されたインデックス列と比較して、前記暗号化された一致インデックスが、前記暗号化されたインデックス列内の以前に生成および記憶され暗号化された一致インデックスと重複しているかどうかを決定することと
前記暗号化された一致インデックスが、前記暗号化されたインデックス列内の以前に生成および記憶され暗号化された一致インデックスと重複していないときに、前記1つ以上のプロセッサによって、前記新しいレコードを前記クラウドコンピューティングプラットフォームに記憶し、前記暗号化された一致インデックスを前記暗号化された一致インデックス列に追加することと、を含む方法。
【請求項2】
前記1つ以上のプロセッサによって、前記一致タイプおよび前記1つ以上の適用可能なフィールドを含む一致ルールパラメータを受信することと、
前記1つ以上のプロセッサによって、前記1つ以上の適用可能なフィールドに基づいて前記固有の識別子を作成することと、
前記1つ以上のプロセッサによって、前記固有の識別子、前記一致タイプ、および前記1つ以上の適用可能なフィールドを含むカスタム一致ルールを記憶することと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記1つ以上のプロセッサによって、前記暗号化された一致インデックス値が、前記暗号化された一致インデックス列に前記以前に生成および記憶され暗号化された一致インデックスと重複しているときに、エラーメッセージを表示することさらに含む、請求項1に記載の方法。
【請求項4】
前記1つ以上のプロセッサによって、暗号化が前記1つ以上の適用可能なフィールドのいずれでも有効にされていない場合、前記暗号化された一致インデックス値を非暗号化形式で記憶することをさらに含む、請求項1に記載の方法。
【請求項5】
前記1つ以上のプロセッサによって、前記暗号化された一致インデックス列をスキャンして、1つ以上の重複を決定することと、
前記1つ以上のプロセッサによって、前記1つ以上の重複をウェブインタフェースにおいて表示することと、をさらに含む、請求項1に記載の方法。
【請求項6】
前記一致タイプが、完全またはファジーとすることができる、請求項1に記載の方法。
【請求項7】
前記暗号化スキームが決定論的スキームである、請求項1に記載の方法。
【請求項8】
前記クラウドコンピューティングプラットフォームが、顧客関係管理プラットフォームである、請求項1に記載の方法。
【請求項9】
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと、を含み、前記少なくとも1つのプロセッサが、
クラウドコンピューティングプラットフォームに追加される新しいレコードを受信することと、
固有の識別子、一致タイプ、および1つ以上の適用可能なフィールドを含む、新しいレコードに適用可能な一致ルールを選択することであって、前記一致ルールは、前記新しいレコードに対する重複検出を実行するときの重複レコードを定義する、選択することと、
前記1つ以上の適用可能なフィールドに基づいて、暗号化された一致インデックスを計算することであって、前記固有の識別子は、前記暗号化された一致インデックスを作成するために使用される暗号化スキームにおける初期ベクトルとして使用される、計算することと、
前記暗号化された一致インデックスを暗号化されたインデックス列と比較して、前記暗号化された一致インデックスが、前記暗号化されたインデックス列内の以前に生成および記憶され暗号化された一致インデックスと重複しているかどうかを決定することと
前記暗号化された一致インデックスが、前記暗号化されたインデックス列内の以前に生成および記憶され暗号化された一致インデックスと重複していないときに、前記新しいレコードを前記クラウドコンピューティングプラットフォームに記憶し、前記暗号化された一致インデックスを前記暗号化された一致インデックス列に追加することと、を行うように構成されている、システム。
【請求項10】
前記少なくとも1つのプロセッサが、
前記一致タイプおよび前記1つ以上の適用可能なフィールドを含む一致ルールパラメータを受信することと、
記1つ以上の適用可能なフィールドに基づいて前記固有の識別子を作成することと、
前記固有の識別子、前記一致タイプ、および前記1つ以上の適用可能なフィールドを含むカスタム一致ルールを記憶することと、を行うようにさらに構成されている、請求項9に記載のシステム。
【請求項11】
前記少なくとも1つのプロセッサが、
前記暗号化された一致インデックス値が、前記暗号化された一致インデックス列に前記以前に生成および記憶され暗号化された一致インデックスと重複しているときに、エラーメッセージを表示することを行うようにさらに構成されている、請求項9に記載のシステム。
【請求項12】
前記少なくとも1つのプロセッサが、
前記暗号化された一致インデックス列をスキャンして、1つ以上の重複を決定することと、
前記1つ以上の重複をウェブインタフェースにおいてユーザに表示することと、行うようにさらに構成されている、請求項9に記載のシステム。
【請求項13】
前記少なくとも1つのプロセッサが、
暗号化が前記1つ以上の適用可能なフィールドのいずれでも有効にされていない場合、前記一致インデックスを非暗号化形式で記憶することを行うようにさらに構成されている、請求項9に記載のシステム。
【請求項14】
前記一致タイプが、完全またはファジーである、請求項9に記載のシステム。
【請求項15】
前記一致ルールが、ブランクフィールドが一致として扱われるべきかどうかのインジケータをさらに含む、請求項9に記載のシステム。
【請求項16】
前記一致タイプがファジーである場合、前記少なくとも1つのプロセッサが、Jaro-Winkler距離、Kullback-Liebler距離、名前バリアント、キーボード距離、Metaphone 3、またはsyllable alignmentのうちの1つを使用して、一致を決定することができる、請求項9に記載のシステム。
【請求項17】
前記暗号化スキームが決定論的スキームである、請求項9に記載のシステム。
【請求項18】
前記1つ以上の適用可能なフィールドは、前記クラウドコンピューティングプラットフォームにおいて標準フィールドまたはカスタムフィールドとすることができる、請求項9に記載のシステム。
【請求項19】
前記クラウドコンピューティングプラットフォームは、顧客関係管理プラットフォームである、請求項9に記載のシステム。
【請求項20】
少なくとも1つの計算デバイスによって実行されるときに、前記少なくとも1つの計算デバイスに動作を実行させる命令が記憶された非一時的なコンピュータ可読デバイスであって、前記動作が、
クラウドコンピューティングプラットフォームに追加される新しいレコードを受信することと、
固有の識別子、一致タイプ、および1つ以上の適用可能なフィールドを含む、新しいレコードに適用可能な一致ルールを選択することであって、前記一致ルールは、前記新しいレコードに対する重複検出を実行するときの重複レコードを定義する、選択することと、
前記1つ以上の適用可能なフィールドに基づいて、暗号化された一致インデックスを計算することであって、前記固有の識別子は、前記暗号化された一致インデックスを作成するために使用される暗号化スキームにおける初期ベクトルとして使用される、計算することと、
前記暗号化された一致インデックスを暗号化されたインデックス列と比較して、前記暗号化された一致インデックスが、前記暗号化されたインデックス列内の以前に生成および記憶され暗号化された一致インデックスと重複しているかどうかを決定することと、
前記暗号化された一致インデックスが、前記暗号化されたインデックス列内の以前に生成および記憶され暗号化された一致インデックスと重複していないときに、前記新しいレコードを前記クラウドコンピューティングプラットフォームに記憶し、前記暗号化された一致インデックスを前記暗号化された一致インデックス列に追加することと、を含む、非一時的なコンピュータ可読デバイス。
【発明の詳細な説明】
【背景技術】
【0001】
一般に、組織や個人は、クラウドコンピューティングプラットフォームを利用して、顧客との関係を管理することがある。このようなクラウドコンピューティングプラットフォームは、カスタマー・リレーションシップ・マネジメント(CRM)ソリューションと呼ばれる。CRMソリューションは、顧客や潜在顧客とのやりとりをより良く追跡および分析するために、連絡先管理、販売管理、生産性ツールなどの幅広い機能を含む。CRMソリューションは、これらの機能をサポートするために大量のデータを蓄積することがある。
【0002】
このデータをクリーンに保ち、最新の状態に保ち、重複がないようにすることで、CRMソリューションの性能と分析上の有用性を最適化し、強化することができる。しかし、データのクリーニングは困難を伴うことがある。例えば、データセキュリティの目的のために、顧客が、自分が管理する暗号化キーでデータを暗号化する必要がある場合、CRMソリューションは、特定のデータフィールドまたは保存エンティティを、顧客の暗号化キーで暗号化することがある。このようなテナントレベルの暗号化は、CRMソリューションにおける重複検出および重複除去をさらに複雑にすることがある。
【図面の簡単な説明】
【0003】
添付の図面は、本明細書に組み込まれ、明細書の一部を形成する。
【0004】
図1】いくつかの実施形態による、クラウドコンピューティングシステムのブロック図である。
図2】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおいて検出された重複のスクリーンショットを反映する。
図3】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおける標準フィールドに対する暗号化設定画面のスクリーンショットを反映する。
図4】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおけるカスタムフィールドに対する暗号化設定画面のスクリーンショットを反映する。
図5】いくつかの実施態様による、クラウドコンピューティングプラットフォームにおける一致ルールのスクリーンショットを反映する。
図6】いくつかの実施形態による、クラウドコンピューティングプラットフォームにおいて、新しいレコードを追加するときの重複検出の方法を図示するフローチャートである。
図7】いくつかの実施形態による、重複検出で使用される一致インデックスを作成および暗号化する方法を図示するフローチャートである。
図8】様々な実施形態を実施するのに有用な例示的なコンピュータシステムである。
【0005】
図面において、同様の参照番号は、一般に、同一又は類似の要素を示す。さらに、一般に、参照番号の左端の数字は、参照番号が最初に現れる図面を特定する。
【発明を実施するための形態】
【0006】
以下の詳細な説明は、本開示と一致する例示的な実施形態を図示するために添付の図面を参照する。「1つの例示的な実施形態」、「ある例示的な実施形態」、「ある例示の例示的な実施形態」などの詳細な説明における言及は、説明される例示的な実施形態が、特定の機能、構造、または特徴を含むことがあるが、全ての例示的な実施形態が、必ずしも特定の機能、構造、または特徴を含むわけではないことを示す。さらに、このような語句は、必ずしも同じ例示的な実施形態を指しているわけではない。さらに、本開示が例示的な実施形態に関連して特定の機能、構造、または特徴を説明するときに、当業者は、明示的に説明されているかどうかにかかわらず、他の例示的な実施形態に関連して、そのような機能、構造、または特徴にどのように影響を及ぼすかを知るであろう。
【0007】
本明細書に説明される例示的な実施形態は、例示的な実施形態を提供するものであり、限定的なものではない。他の例示的な実施形態も可能であり、本開示の精神および範囲内で例示的な実施形態に修正を加えてもよい。したがって、詳細な説明は、本開示を限定しない。むしろ、以下の特許請求の範囲およびそれらの均等物が、本開示の範囲を定義する。
【0008】
実施形態を達成するために、ハードウェア(例えば、回路)、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせが使用されてもよい。実施形態はまた、機械可読媒体に記憶された命令として実施され、1つ以上のプロセッサによって読み取られ、実行されてもよい。機械可読媒体は、機械により読み取り可能な形態で情報を記憶または送信するための任意の機構(例えば、計算デバイス)を含む。例えば、いくつかの実施形態では、機械可読媒体は、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気、光、音響、または他の形態の伝搬される信号(例えば、搬送波、赤外線信号、デジタル信号など)などを含む。さらに、ファームウェア、ソフトウェア、ルーチン、および/または命令は、特定のアクションを行うものとして本明細書で説明されてもよい。しかしながら、これらの説明は単に便宜上のものであり、これらのアクションは、コンピューティングデバイス、プロセッサ、コントローラ、またはファームウェア、ソフトウェア、ルーチン、および/または命令を実行する他のデバイスに起因する。さらに、任意の実施バリエーションは、以下に説明されるように、汎用コンピュータによって実行可能であってもよい。
【0009】
用語「モジュール」への言及は、ソフトウェア、ファームウェア、およびハードウェア(1つ以上の回路、マイクロチップ、もしくはデバイス、またはそれらの任意の組み合わせなど)またはそれらの任意の組み合わせのうちの少なくとも1つを含むと理解されるものとする。さらに、関連技術の当業者は、各モジュールが実際のデバイス内に1つ以上の構成要素を含んでもよく、上述のモジュールの一部を形成する各構成要素が、モジュールの一部を形成する他の任意の構成要素と協働的にまたは独立して機能し得ることを理解するであろう。逆に、本明細書で説明される複数のモジュールは、実際のデバイス内の単一の構成要素を表してもよい。さらに、モジュール内の構成要素は、単一のデバイス内にあってもよく、または有線もしくは無線方式で複数のデバイスに分散されてもよい。
【0010】
以下の例示的な実施形態の詳細な説明は、開示の一般的な性質を完全に明らかにしており、他の者が、関連技術の当業者の知識を適用することにより、過度の実験を行うことなく、かつ開示の精神および範囲から逸脱することなく、このような例示的な実施形態を種々の用途に容易に修正および/またはカスタマイズすることができるようにしている。したがって、このような修正は、本明細書に提示された教示およびガイダンスに基づいて、例示的な実施形態の意味及び複数の均等物の範囲内にある。ここで、語法または用語は、本明細書の教示に照らして、本明細書の語法又は用語が当業者によって解釈されるべきであるように、説明の目的を果たすものであって、限定するものではない。
【0011】
本明細書では、クラウドコンピューティングプラットフォームにおいて暗号化された一致インデックスを使用した重複検出を可能にするための、システム、装置、デバイス、方法、および/またはコンピュータプログラム製品の実施形態、および/またはそれらのコンビネーションおよびサブコンビネーションが提供される。
【0012】
組織は、顧客との関係を管理するためのCRMソリューションとして、クラウドコンピューティングプラットフォームを利用してもよい。クラウドコンピューティングプラットフォームによって、組織が顧客とのやりとりを追跡および分析し、売上を増加させ、連絡先を管理し、将来に向けたより良い計画を立てることを可能にしてもよい。クラウドコンピューティングプラットフォームは、顧客サービスの流れとサプライチェーン管理を組織化してもよいし、ソーシャルメディアストリームを監視して潜在的な顧客を決定してもよい。このようなクラウドコンピューティングプラットフォームを通じて顧客とのやりとりを追跡することによって、組織は最終的に収益性を改善し、プロセスの非効率性を排除し、そうでなければ組織の能力を改善してもよい。
【0013】
クラウドコンピューティングプラットフォームは、組織、販売、顧客、サプライヤ、競合他社、リードなどに関連する多種多様のデータフィールドを記憶してもよい。例にすぎないが、クラウドコンピューティングプラットフォームは、連絡先情報、顧客嗜好、ソーシャルメディアデータ、顧客購買記録、サービス記録、顧客とのやりとり、マーケティングキャンペーン、販売目標、組織目標、売上データ、収益性分析、販売のリード/機械などに関するフィールドを記憶してもよい。フィールドは、例えば、連絡先、アカウント、リード、および機会である標準フィールド、または、組織の要求に合わせて落とし込まれた特定の目的のために組織によって設計および利用されるカスタムフィールドである。
【0014】
このデータは潜在的に機密性があるため、クラウドコンピューティングプラットフォームはデータ暗号化をサポートしてもよい。暗号化は、キーと初期化ベクトルを使用しながら、フィールドの読み取り可能な英数字データ(すなわち、平文)を、キーと初期化ベクトルに関係のないエンティティには読み取り不可能である暗号化された形式(すなわち、暗号文)に変換する。次に、クラウドコンピューティングプラットフォームは、暗号化された形式の暗号文を記憶してもよい。記憶されたデータを検索するときに、クラウドコンピューティングプラットフォームは、キーと初期化ベクトルを用いて暗号文を復号してもよい。
【0015】
標準フィールドとカスタムフィールドの両方を暗号化してもよい。組織は、データフィールドを暗号化するために、暗号化方法論(例えば、決定論的及び/又は確率論的)の中から選択してもよい。決定論的暗号化方式は、与えられた平文とキーに対して常に同じ暗号文を生成する。確率論的暗号化方式は、暗号化プロセスにおけるランダム性を利用し、与えられた同じ平文とキーで異なる暗号文をもたらす。
【0016】
組織はまた、クラウドコンピューティングプラットフォームにおけるクリーンなデータを維持することに関心がある。クリーンデータは、ユーザビリティを改善し、エラーを防止し、システムの完全性を維持し、分析能力を向上させる。クリーンデータを維持する1つの側面は、与えられたデータセットにおける重複を除去することである。重複検出は、重複除去ジョブを動作させることにより、グローバルに管理されてもよい。重複検出はまた、テーブル毎またはケースバイケースで発生してもよい。クラウドコンピューティングプラットフォームに新しいレコードを追加するときに、自動的に重複検出が発生してもよい。
【0017】
クラウドコンピューティングプラットフォームは、重複レコードを検出するために一致ルールを利用してもよい。一致ルールは、クラウドコンピューティングプラットフォームにおいて、特定のフィールド、またはいくつかのフィールドを検査してもよい。一致ルールは、標準またはカスタム(すなわち、ユーザ定義)であってもよい。標準一致ルールは、重複が存在するかどうかを決定するために、与えられたデータエンティティに対して予め決定されたフィールドを検査してもよい。例えば、クラウドコンピューティングプラットフォームにおける連絡先についての標準化された一致ルールは、FirstName、LastName、およびAddressを検査してもよい。カスタム一致ルールは、カスタマイズされた態様でユーザが設定したフィールドを検査する。例えば、連絡先についてのカスタムのユーザ定義一致ルールが、連絡先のタイトルも考慮するように設定されてもよい。このカスタムルールでは、FirstName、LastName、Address、およびTitleが一致する場合にのみ、重複が決定されるだろう。ユーザは、一致ルールを指定するためにブール論理を書くことができ、または、一致ルールを指定するために別のプログラム的方式を利用することができる。
【0018】
重複検出は、完全一致方式またはファジーマッチング方式を使用することができる。完全一致方式では、フィールド内の正確な一致のみが正の結果、すなわち一致を返す。例えば、重複検出がFullNameフィールドを調べた場合、「John Smith」と「John Smith」は一致するが、「John Smith」と「Jon Smith」は一致しない。ファジーマッチングは、非正確な一致が重複として正に識別されることを可能にする方法を提供する。上記の例では、「Jon Smith」は、ファジーマッチング方式を使用して「John Smith」の重複として正に識別されてもよい。ファジーマッチングの例としては、Jaro-Winkler距離、Kullback-Liebler距離、名前バリアント、キーボード距離、Metaphone 3、およびsyllable alignmentが挙げられる。
【0019】
クラウドコンピューティングプラットフォームは、さらに、上述の暗号化方式を介して暗号化されたフィールドを含む、様々な方法で暗号化されたフィールドの重複検出を提供してもよい。これらのフィールドの重複検出をサポートする際に、クラウドコンピューティングプラットフォームは、重複検出を容易にするために、補助的に記憶されたエントリ、例えば一致インデックスを利用してもよい。他の方法で暗号化されたフィールドの平文の保存を避けるために、補助フィールドも暗号化する必要があってもよい。いくつかの実施形態では、クラウドコンピューティングプラットフォームにおいてフィールドの暗号化を可能にすることは、それらのフィールドを検査する重複検出システムを妨害することがある。1つの非限定的な例において、クラウドコンピューティングプラットフォームは、キーおよび初期化ベクトルの使用を通じて、オリジナルのシードテキストに関連する方法のみで、暗号化されたフィールドを記憶してもよい。このような例では、暗号化されていないキーで構成される一致ルールと暗号化されたフィールドとの単純な比較は、重複の正の識別をもたらさないため、従来の重複検出は暗号化されたフィールドには機能しないことがある。別の実施形態では、確率論的暗号化を利用すると、確率論的暗号化方式の変動する予測不可能な結果のために、重複検出が無効にされる結果をもたらすことがある。従って、暗号化された一致インデックスを利用することによって、クラウドコンピューティングプラットフォームが、暗号化されたフィールド内の重複を検出できるようにする必要性が存在する。
【0020】
図1は、いくつかの実施形態による、システム100のブロック図である。クラウドコンピューティングシステム100は、クラウドコンピューティングプラットフォーム102、ユーザシステム104、ネットワーク106、ホストアプリケーション108、レコードストア110、暗号化エンジン112、およびマッチングエンジン114を含んでもよい。システム100は、ネットワーク106を介してクラウドコンピューティングプラットフォーム102をユーザシステム104に接続してもよい。当業者に理解されるように、クラウドコンピューティングプラットフォーム102は、複数のユーザシステム104に接続されてもよい。
【0021】
クラウドコンピューティングプラットフォーム102は、サーバコンピュータ、デスクトップコンピュータ、ラップトップ、タブレット、モバイルデバイス、ウェアラブル電子デバイス、または他の電子デバイスであってもよい。クラウドコンピューティングプラットフォーム102はまた、クラウドコンピューティングのためのソフトウェアプラットフォームであってもよい。例えば、クラウドコンピューティングプラットフォーム102は、ユーザがインターネットを介してアクセス可能なアプリケーションに加入するソフトウェア・アズ・ア・サービス(SaaS)クラウドプラットフォームであってもよい。クラウドコンピューティングプラットフォーム102は、CRM関連サービスを提供してもよい。このようなサービスにより、組織が顧客とのやりとりを追跡および分析することを可能にしてもよい。クラウドコンピューティングプラットフォーム102は、非常に多い他の機能性を提供してもよい。
【0022】
ユーザシステム104は、クラウドコンピューティングプラットフォーム102と対話する個人であってもよい。ユーザシステム104は、携帯電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ウェブブラウザ、または他の任意の適切な計算デバイスであってもよい。ユーザシステム104は、クラウドコンピューティングプラットフォーム102に接続して、これと通信するように構成されてもよい。ユーザシステム104のユーザは、事業主、従業員、代理人、または事業、会社、非営利団体、政府機関、または他の任意の適切な組織に関連する情報と対話する他の適切な個人であってもよい。逆に、ユーザシステム104のユーザは、事業または組織目標に関係のない個々の目的または理由のために、クラウドコンピューティングプラットフォーム102を使用してもよい。
【0023】
ネットワーク106は、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ネットワーク、セルラネットワーク、または当業者に理解されるような他の種々のタイプのネットワークを含む、任意のネットワークまたはネットワークの組み合わせであってもよい。
【0024】
ホストアプリケーション108は、クラウドコンピューティングプラットフォーム102に含まれてもよいし、任意の適切なタイプのアプリケーションであってもよい。例えば、ホストアプリケーション108は、クラウドコンピューティングプラットフォーム102上で現在動作しているCRMアプリケーションであってもよい。いくつかの実施形態では、ホストアプリケーション108は、ウェブブラウザ内で動作するように設計されたウェブアプリケーションであってもよい。いくつかの他の実施形態では、ホストアプリケーション108は、サーバコンピュータ、デスクトップコンピュータ、または他のタイプの電子デバイス上で動作するように設計されたソフトウェアアプリケーションであってもよい。ホストアプリケーション108は、モバイルプラットフォーム上で動作するように設計され、配置されてもよい。ホストアプリケーション108は、任意の適切なオペレーティングシステム環境において動作してもよい。当業者には理解されるように、ホストアプリケーション108は、別のタイプのソフトウェアアプリケーションであってもよい。
【0025】
レコードストア110は、データベースまたは他のタイプのデータストアであってもよい。データオブジェクトは、アイテムまたはデータのコレクションであってもよい。レコードストア110は、組織、販売、顧客、サプライヤ、競合他社、リードなどに関連するフィールドを記憶してもよい。レコードストア110によって記憶されるフィールドは、標準フィールドまたはカスタムフィールドであってもよい。レコードストア110はまた、重複を検出する際に利用される一致インデックスを記憶してもよい。レコードストア110は、レコードストア110に含まれるデータフィールドの暗号化をサポートしてもよい。
【0026】
暗号化エンジン112は、クラウドコンピューティングプラットフォーム102によって利用されて、決定論的、確率論的、または他の適切な暗号化方式を用いて、レコードストア110内のフィールドを暗号化してもよい。暗号化エンジン112は、クラウドコンピューティングプラットフォーム102またはホストアプリケーション108によって採用されてもよい。暗号化エンジン112は、データストア110内のフィールドを暗号化してもよい。暗号化エンジン112は、適切なシード、キー、または初期化ベクトルを利用して、レコードストア110内のフィールドを暗号化してもよい。また、暗号化エンジン112は、クラウドコンピューティングプラットフォーム102において重複を検出するために使用される一致インデックスを暗号化してもよい。暗号化エンジン112は、レコードストア110内に格納された固有の識別子を一致ルールのために検索し、レコードストア110内のレコードを暗号化するときに、固有の識別子をキーまたは初期化ベクトルとして使用してもよい。その後、暗号化エンジン112は、利用のために記憶された任意の暗号化値を復号してもよい。暗号化エンジン112は、2TDEA、3TDEA、AES-128、AES-192、AES-256などの適切な暗号化標準または仕様を利用または遵守してもよい。
【0027】
マッチングエンジン114は、データストア110に記憶された重複を決定してもよい。マッチングエンジン114はまた、データをデータストア110に挿入する前にホストアプリケーション108によって受信された新しいデータをチェックして、挿入によって複製が導入されないことを確実にしてもよい。マッチングエンジン114は、クラウドコンピューティングプラットフォーム102またはホストアプリケーション108によって採用されてもよい。マッチングエンジン114は、暗号化されていないフィールドを、データエンティティ内の各レコードについて作成された一致インデックスと比較することによって、暗号化されていないフィールドに対してレコードストア110内に現在重複が存在するかどうかを決定してもよい。一実施形態では、マッチングエンジン114は、第1のフェーズが完全一致を行い、第2のフェーズが重複を決定するために適切なファジーマッチングアルゴリズムを行う2フェーズ一致を行ってもよい。マッチングエンジン114は、図3および図4を参照して以下にさらに詳細に説明するように、暗号化されたフィールドのためにレコードストア110内に重複が存在するかどうかをさらに決定してもよい。
【0028】
図2は、クラウドコンピューティングプラットフォーム102において検出された重複のスクリーンショットを反映している。これは、単なる例示的な実施形態である。図2は、アカウント202、新しいコンタクト連絡先ボタン204、重複通知206、およびアカウント詳細208を含む例示的なインターフェースを描写する。図2はアカウント202を表示するが、これはクラウドコンピューティングプラットフォーム102内の別の標準またはカスタムフィールドとすることができる。新しいコンタクト連絡先ボタン204は、ユーザがコンタクト連絡先、アカウントなどのフィールドに対して更新された情報を入力することを可能にする、ユーザからの入力を受け取ることができる例示的な入力フィールドである。重複通知206は、システムが適切な方法を介して重複を検出したときに表示することができ、これについては、以下の図6および図7の説明でさらに詳しく述べる。このスクリーンショットでは、単に例として、アカウント名(account name)、電話(phone)、および所有者(owner)に一致ルールが作成されていることがある。レコードストア110に記憶された別のレコードは、アカウント名「Global Media」電話番号「(905)555-1212」、および所有者「Yves Martin」であることがあるため、重複通知206はここに表示してもよい。アカウント詳細208は、表示されているカスタムデータフィールドの標準に関連する様々なフィールドを表示してもよい。
【0029】
図3は、クラウドコンピューティングプラットフォーム102における標準フィールドの暗号化設定画面のスクリーンショットを反映している。これは、単なる例示的な実施形態である。図3は、アカウントボックス302、チェックボックス304、フィールドラベル306、暗号化設定308、およびタイプセレクタ310を含む例示的なインターフェースを描写する。図3は、アカウントボックス302を表示しているが、これは、クラウドコンピューティングプラットフォーム102内の別の標準、例えば、連絡先、販売等であってもよい。チェックボックス304は、ユーザがこの例示的なアカウントに関連するフィールドにわたって暗号化を可能し得るメカニズムを提供する。標準フィールドについての暗号化の有効化は、図6および図7を参照して後述するように、データストア112に記憶される際にデータを暗号化することをもたらし得る。フィールドラベル306は、この例示に関連するフィールドに対するラベルである。暗号化設定308は、タイプセレクタ310を調整するためのフレームワークを提供する。この実施形態では、タイプセレクタ310は、確率論的暗号化または決定論的暗号化のいずれかを示す。当業者は、アカウントボックス302内のフィールドが標準データのタイプに基づいて変動し得ると理解するであろう。
【0030】
図4は、クラウドコンピューティングプラットフォーム102内のカスタムフィールドに対する暗号化設定画面のスクリーンショットを反映している。これは、単なる例示的な実施形態である。図4は、フィールドラベル402、フィールド名404、説明406、ヘルプテキスト408、暗号化イネーブラ410、およびタイプセレクタ412を含む例示的なインターフェースを描写する。フィールドラベル402、フィールド名404、説明406、およびヘルプテキスト408は、クラウドコンピューティングプラットフォーム102におけるカスタムフィールドに関する詳細を指定してもよい。暗号化イネーブル410を使用して、ユーザは、クラウドコンピューティングプラットフォーム102のカスタムフィールドについて暗号化を有効化してもよい。暗号化のタイプ、例えば、決定論的か確率論的かは、タイプセレクタ412を使用してトグルされてもよい。カスタムフィールドについての暗号化の有効化は、図6および図7を参照して後述するように、レコードストア112に記憶される際にデータを暗号化することをもたらし得る。図5は、クラウドコンピューティングプラットフォーム102における一致ルール作成画面のスクリーンショットを反映している。これは、単なる例示的な実施形態である。
【0031】
図5は、標準セレクタ502、標準ルールセレクタ504、カスタムセレクタ506、カスタムルールセレクタ508、基準ストリング510、追加ボタン512、および削除ボタン514を含む例示的なインターフェースを示す。図7を参照して後述するように、一致ルールは、標準的、またはユーザ定義であってもよい。標準セレクタ502および標準ルールセレクタ504は、標準一致ルール設定を描写してもよい。カスタムセレクタ506、カスタムルールセレクタ508、および基準ストリング510は、カスタム一致ルールを描写してもよい。ルール追加ボタン512および削除ボタン514は、ユーザが一致ルールを追加または削除することを可能にする。クラウドコンピューティングプラットフォームにおける重複の決定における一致ルールの利用は、図6を参照して、以下でさらに詳細に説明される。
【0032】
図6は、いくつかの実施形態による、クラウドコンピューティングプラットフォームにおいて、新しいレコードを追加するときの重複検出の方法600を図示するフローチャートである。方法600は、ハードウェア(例えば、回路、専用論理、プログラマブル論理、マイクロコードなど)、ソフトウェア(例えば、処理デバイス上で実行される命令)、またはそれらの組み合わせを含むことができる処理論理によって行われ得る。本明細書に提供される開示を行うために全てのステップが必要とされるわけではないことが理解されるべきである。さらに、当業者によって理解されるように、ステップのいくつかは、同時に、または図6に示されているものとは異なる順序で行われてもよい。方法600は、図1を参照して説明するものとする。しかしながら、方法600は、その例示的な実施形態に限定されない。
【0033】
602では、ホストアプリケーション108は、ユーザシステム104から新しいレコードを受信してもよい。新しいレコードは、連絡先、アカウント、リード、機会などの新しい標準フィールドを表してもよい。新しいレコードはまた、ユーザシステム104のユーザを介してホストアプリケーション108内で事前に設定された新しいカスタムフィールドを表してもよい。新しいレコードは、適切なHTML形式のデータ、XML、または他の任意の適切な情報転送フォーマットを使用して受信されてもよい。例示的な例では、ホストアプリケーション108は、ファーストネーム(「John」)(first name)、ラストネーム(「Smith」)(last name)、郵送先(「10 Maple Avenue」)(mailing address)、タイトル(「Developer」)(title)、および連絡先番号(「555-5555」)(contact number)を含む新しい連絡先を受信してもよい。この開示は、後述するステップの議論においてこの例を利用する。一実施形態では、このような連絡先は、自動化されたプロセス、例えば、インポートメカニズムまたは他のデータ自動化された伝搬を介して受信されてもよい。
【0034】
604では、ホストアプリケーション108は、602で受信された新しいレコードに関連する記憶された一致ルールを検索する。上記の例では、ホストアプリケーション108は、連絡先フィールド上の重複を検出するように構成された任意の一致ルールを、レコードストア110から検索してもよい。代替例では、ホストアプリケーション108は、カスタムデータエンティティのための一致ルールを受信してもよい。当業者は、レコードストア110に記憶された設定に応じて、2つ以上の一致ルールが与えられたデータエンティティに適用可能であると理解するであろう。したがって、ホストアプリケーション108は、2つ以上の一致ルールを検索してもよく、この実施形態では、その後のステップは反復的であってもよい。上記の連絡先の例で続けると、ホストアプリケーション108は、FirstName、LastName、Address、およびTitleについての一致ルールを検索してもよい。ホストアプリケーションは、一致ルールが適用されるフィールド、それらのフィールドに対して行うマッチングのタイプ(ファジーまたは正確)、および他の適切な設定情報を検索してもよい。一致ルールはまた、その特定の一致ルールを識別するために、レコードストア110に記憶された固有の識別子を含んでもよい。
【0035】
606では、ホストアプリケーション108は、新しいレコードに対する一致インデックスを計算する。一致インデックスの性質は、受信されるデータの性質に基づいて変動してもよい。ホストアプリケーション108は、2つ以上の一致ルールが所定の位置にある場合、604で受信された各一致ルールに対応する異なる一致インデックスを導出してもよい。一致インデックスは、受信されたデータフィールドの合成であってもよい。上記の例では、FirstName、LastName、Address、およびTitleにわたる一致インデックスは「JSmithMapleDeveloper」であると決定されてもよいが、この例は決して限定的なものではない。一致インデックスを決定するために多数の様々なアプローチが取られてもよく、問題となっているデータエンティティの性質に基づいて、それらのアプローチが変動してもよい。
【0036】
608では、ホストアプリケーション108は、一致インデックスを含むフィールドのいずれかで暗号化が有効にされているかどうかを決定する。上記の例では、ホストアプリケーション108は、ファーストネーム、ラストネーム、郵送先、タイトル、および連絡先番号のうちのいずれかが暗号化されているかどうかを、レコードストア110から決定してもよい。一実施形態では、ホストアプリケーション108は、暗号化スキームが確率論的か決定論的かである場合、異なる挙動をしてもよい。一実施形態では、重複決定は、暗号化スキームが確率論的である場合には、機能しないことがある。いずれかのフィールドに対して暗号化が有効にされている場合、方法600は612に移動する。どのフィールドに対しても暗号化が有効にされていない場合、方法600は610に移動する。
【0037】
610において、ホストアプリケーション108は、606で決定された一致インデックスを、レコードストア110における関連データエンティティ内の行と比較する。暗号化は、一致インデックスを含むフィールドについては有効にされないため、レコードストア110は、一致インデックスを非暗号化形式で記憶してもよい。従って、上記の例の場合、ホストアプリケーション108は、「JSmithMapleDeveloper」がレコードストア110における関連データエンティティ内に存在するかどうかを決定するためにテーブルスキャンを行ってもよい。ホストアプリケーション108は、マッチングインデックスが重複しているかどうかを決定するために、他の任意の適切な検索メカニズムを行ってもよい。
【0038】
612では、ホストアプリケーション108は、暗号化エンジン112を介して606で決定された一致インデックスを暗号化する。ホストアプリケーション108は、暗号化スキームをキーとする初期化ベクトルとして、一致ルールに対する固有の識別子を利用してもよい。従って、暗号化エンジン112は、平文「JSmithMapleDeveloper」から適切な暗号文を導出してもよい。暗号文は英数字からなってもよく、設定可能なビット長であってもよい。
【0039】
614では、ホストアプリケーション108は、612で決定された暗号化された一致インデックスを、レコードストア110における関連データエンティティ内の暗号化された一致インデックス列と比較する。上記の例では、ホストアプリケーション108は、暗号化された暗号文がレコードストア110における関連データエンティティ内に存在するかどうかを決定するためにテーブルスキャンを行ってもよい。ホストアプリケーション108は、暗号化された一致インデックスが重複しているかどうかを決定するために、他の任意の適切な検索メカニズムを行ってもよい。
【0040】
616では、ホストアプリケーション108は、ステップ610または614で重複が見つかったかどうかを決定する。重複レコードが見つかった場合、方法600は618に進む。重複レコードが見つからなかった場合、方法600は620に進む。
【0041】
618では、ホストアプリケーション108は、重複レコードが見つかったことを示すエラーメッセージを返す。一実施形態では、ユーザシステム104は、適宜、情報を確認するか、または情報を更新するように要求されてもよい。
【0042】
620では、ホストアプリケーション108は、新しいレコードをレコードストア110に追加する。レコードは、一致インデックスを収容する列を含んでもよい。関連するフィールドに対して暗号化が有効にされていない場合、一致インデックスがこの列に記憶されてもよい。暗号化が有効にされている場合、暗号化された一致インデックスがこの列に記憶されてもよい。
【0043】
図7は、いくつかの実施形態による、重複検出で使用される一致ルールを作成および暗号化する方法700を図示するフローチャートである。方法700は、ハードウェア(例えば、回路、専用論理、プログラマブル論理、マイクロコードなど)、ソフトウェア(例えば、処理デバイス上で実行される命令)、またはそれらの組み合わせを含むことができる処理論理によって行われ得る。本明細書に提供される開示を行うために全てのステップが必要とされるわけではないことが理解されるべきであるさらに、当業者によって理解されるように、ステップのいくつかは、同時に、または図7に示されているものとは異なる順序で行われてもよい。方法700は、図1を参照して説明するものとする。しかしながら、方法700は、その例示的な実施形態に限定されない。
【0044】
702では、ホストアプリケーション108は、ユーザシステム704のユーザから一致ルールパラメータを受信する。パラメータは、一致ルールが適用されるデータエンティティ(すなわち、テーブル)、一致ルールが適用されるデータエンティティ内のフィールド、一致ルールがどのように挙動するかを指定するブールまたは他のロジック、空白またはヌル値が一致として扱われるべきかどうか、および他の適切な設定情報を指定してもよい。一致ルールパラメータは、適切なHTML形式のデータ、XML、または他の適切な情報転送フォーマットを使用して受信されてもよい。一実施形態では、ホストアプリケーションは、既存のルールを更新する一致ルールパラメータを受信することができる。
【0045】
704では、ホストアプリケーション108は、レコードストア110内に一致ルールを作成してもよい。ホストアプリケーションは、2つ以上の一致ルールが同じフィールドを検査することを可能にしてもよいが、適切な冗長性検査が行われてもよい。一致ルールを追跡するために、適切な行および列が特定のテーブルに追加されてもよい。既存の一致ルールを修正するときに、ホストアプリケーション108は、挿入ではなく、下位テーブルに対する更新を行ってもよい。
【0046】
706では、ホストアプリケーション108は、特定のデータエンティティに現在存在するエントリに基づいて一致インデックス列を作成してもよい。例えば、一致ルールがFirstName、LastName、およびTitleを検査する場合、ホストアプリケーション108は、テーブルに含まれるデータに基づいて、データエンティティ内の各レコード、すなわちテーブル内の各行に対して、適切な一致インデックス(例えば、「JSmithDeveloper」)を作成してもよい。ホストアプリケーション108は、行ごとに、バッチで、反復的に、再帰的に、または他の任意の適切なプログラム形式で、これを行ってもよい。ホストアプリケーション108は、メモリ、テキスト、一時データベーステーブル、または他の任意の適切な記憶媒体に、各行に対する一致インデックスを一時的に記憶してもよい。
【0047】
708では、ホストアプリケーション108は、一致ルールによって検査されたフィールドのうちのいずれかについて暗号化が有効にされているかどうかを決定する。ホストアプリケーション108は、暗号化が有効にされているフィールドおよびデータエンティティに関するレコードストア110からデータを検索してもよい。ホストアプリケーション108はまた、データエンティティに適用される暗号化のタイプに関する情報をフェッチしてもよい。一実施形態では、ホストアプリケーション108は、暗号化のタイプに基づいて異なった挙動をしてもよい。暗号化が有効にされている場合、方法700は710に進む。暗号化が有効にされていない場合、方法700は714に進む。
【0048】
710では、暗号化が有効にされていないか、または一致インデックス列を記憶することが必要とされる場合、ホストアプリケーション108は、一致インデックス列を非暗号化形式でレコードストア110に記憶してもよい。
【0049】
712では、ホストアプリケーション108は、706で作成された一致インデックス列の全体を暗号化してもよい。ホストアプリケーション108は、暗号化スキームのための初期化ベクトルとして、一致ルールに対する固有の識別子を利用してもよい。ホストアプリケーション108は、メモリ、テキスト、一時データベーステーブルなどから、706で作成された一致インデックスを検索してもよい。ホストアプリケーション108は、一致インデックス列内のエントリを1つずつ、バッチで、または全体で暗号化してもよい。
【0050】
714では、ホストアプリケーション108は、暗号化された形式の一致インデックス列をレコードストア110に記憶する。ホストアプリケーション108は、バルク・インサート、データベース更新、テキスト操作、または他の適切なストレージアプローチを通じて、暗号化された一致インデックスを列に記憶してもよい。
【0051】
様々な実施形態は、例えば、図8に示すコンピュータシステム800のような1つ以上のコンピュータシステムを使用して実施され得る。コンピュータシステム800は、例えば、図6の方法600および図7の方法700を実施するために使用され得る。例えば、コンピュータシステム800は、事前設定グローバルフィルタまたは更新を使用して分析システムの初期化を行うことができる。コンピュータシステム800は、本明細書で説明される機能を行うことができる任意のコンピュータとすることができる。
【0052】
コンピュータシステム800は、本明細書で説明される機能を行うことができる任意の周知のコンピュータとすることができる。
【0053】
コンピュータシステム800は、プロセッサ804のような1つ以上のプロセッサ(中央処理ユニット、またはCPUとも呼ばれる)を含む。プロセッサ804は、通信インフラストラクチャまたはバス806に接続される。
【0054】
1つ以上のプロセッサ804は、それぞれ、グラフィックス処理ユニット(GPU)であってもよい。一実施形態によると、GPUは、数学的に集約的なアプリケーションを処理するように設計された特殊な電子回路であるプロセッサである。GPUは、コンピュータ・グラフィックス・アプリケーションに共通の数学的に集約的なデータ、画像、ビデオなどのような、大きなブロックのデータの並列処理に効率的な並列構造を有してもよい。
【0055】
コンピュータシステム800はまた、ユーザ入出力インターフェース802を介して通信インフラストラクチャ806と通信するモニタ、キーボード、ポインティング・デバイスなどのユーザ入出力デバイス803を含む。
【0056】
コンピュータシステム800はまた、ランダム・アクセス・メモリ(RAM)のようなメインメモリまたは1次メモリ808を含む。メインメモリ808は、キャッシュの1つ以上のレベルを含んでもよい。メインメモリ808は、制御論理(すなわち、コンピュータソフトウェア)および/またはデータを記憶している。
【0057】
コンピュータシステム800はまた、1つ以上の2次記憶デバイスまたはメモリ810を含んでもよい。2次メモリ810は、例えば、ハードディスクドライブ812および/またはリムーバブル記憶デバイスまたはドライブ814を含んでもよい。リムーバブル記憶ドライブ814は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光記憶デバイス、テープバックアップデバイス、および/または他の記憶デバイス/ドライブであってもよい。
【0058】
リムーバブル記憶ドライブ814は、取り外し可能記憶ユニット818と相互作用してもよい。リムーバブル記憶ユニット818は、コンピュータソフトウェア(制御論理)および/またはデータを記憶したコンピュータ使用可能または可読記憶デバイスを含む。リムーバブル記憶ユニット818は、フロッピーディスク、磁気テープ、コンパクトディスク、DVD、光記憶ディスク、および/または他のコンピュータデータ記憶デバイスであってもよい。リムーバブル記憶ドライブ814は、周知の方式で、リムーバブル記憶ユニット818から読み取りおよび/またはこれへの書き込みを行う。
【0059】
例示的な実施形態によれば、2次メモリ810は、コンピュータプログラムおよび/または他の命令および/またはデータがコンピュータシステム800によってアクセスされることを可能にするための他の手段、機器または他のアプローチを含んでもよい。そのような手段、器具または他のアプローチは、例えば、リムーバブル記憶ユニット822およびインターフェース820を含んでもよい。リムーバブル記憶ユニット822およびインターフェース820の例は、プログラムカートリッジおよびカートリッジインターフェース(ビデオゲームデバイスに見られるものなど)、リムーバブルメモリチップ(EPROMまたはPROMなど)および関連ソケット、メモリスティックおよびUSBポート、メモリカードおよび関連メモリカードスロット、および/または他の任意のリムーバブル記憶ユニットおよび関連インターフェースを含んでもよい。
【0060】
コンピュータシステム800は、通信またはネットワークインターフェース824をさらに含んでもよい。通信インターフェース824は、コンピュータシステム800が、遠隔デバイス、遠隔ネットワーク、遠隔エンティティなどの任意の組み合わせと通信し、相互作用することを可能にする(個々に、そして集合的に参照番号828によって参照される)。例えば、通信インターフェース824は、コンピュータシステム800が、有線および/または無線であってもよく、LAN、WAN、インターネットなどの任意の組み合わせを含み得る通信経路826を介して、遠隔デバイス828と通信することを可能にしてもよい。制御論理および/またはデータは、通信経路826を介してコンピュータシステム800との間で送信されてもよい。
【0061】
一実施形態では、制御論理(ソフトウェア)が記憶された、有形の、非一時的なコンピュータ使用可能な又は可読媒体を含む有形の、一時的でない装置又は製造物品は、本明細書では、コンピュータプログラム製品又はプログラム記憶デバイスとも呼ばれる。これには、コンピュータシステム800、メインメモリ808、2次メモリ810、およびリムーバブル記憶ユニット818および822、ならびに上記のいずれかの組み合わせを具体化する有形物品が含まれるが、これらに限定されない。そのような制御論理は、1つ以上のデータ処理デバイス(コンピュータシステム800など)によって実行されるときに、そのようなデータ処理装置が本明細書に記載されるように動作するようにする。
【0062】
本開示に含まれる教示に基づいて、図8に示されているもの以外のデータ処理デバイス、コンピュータシステム、および/またはコンピュータアーキテクチャを用いて、本開示の実施形態をどのように作製し、使用するかは、当業者には明らかであろう。特に、実施形態は、本明細書で説明されているもの以外のソフトウェア、ハードウェア、および/またはオペレーティングシステムの実施で動作することができる。
【0063】
他のセクションではなく、詳細な説明のセクションは、クレームを解釈するために使用されることが理解されるべきである。他のセクションは、本発明者が企図する際に1つ以上の例示的な実施形態を明示することができ、本開示または添付の特許請求の範囲を何らかの形で制限することを意図するものではない。本開示の幅および範囲は、上述の例示的な実施形態のいずれによっても制限されるべきではなく、以下の特許請求の範囲およびそれらの均等物に従ってのみ定義されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8