(57)【特許請求の範囲】
【請求項１】
第１のデータを含む第１の照会を受け取ることと、
前記第１の照会を第１のデータベース内の第２のデータにマッチさせることと、
少なくとも前記第１のデータのいくつかおよび少なくとも前記第２のデータのいくつかを含む第２の照会を調製することと、
前記第１のデータベース内で利用できない情報を含む第２のデータベースを検索して第３のデータを返す検索エンジンに、前記第１の照会に比べて改善された前記第２の照会を伝達することと、
前記第１の照会に応答して前記第２のデータの少なくとも一部および前記第３のデータの少なくとも一部を返すことと、
を含む方法。
【請求項２】
前記第２のデータは、ビジネスエンティティを特定する汎用データ番号付けシステム（ＤＵＮＳ）番号を含み、
前記調製することは、前記ＤＵＮＳ番号を前記第２の照会に含めることを含む、
請求項１に記載の方法。
【請求項３】
前記第１の照会は、ビジネスエンティティを特定する汎用データ番号付けシステム（ＤＵＮＳ）番号を含み、
前記マッチさせることは、前記ＤＵＮＳ番号を前記第２のデータにマッチさせる、
請求項１に記載の方法。
【請求項４】
前記第３のデータは構造化形式の情報を含む、請求項１に記載の方法。
【請求項５】
前記第３のデータは非構造化形式の情報を含む、請求項１に記載の方法。
【請求項６】
前記非構造化形式の前記情報はテキスト形式の注釈である、請求項５に記載の方法。
【請求項７】
プロセッサと、
前記プロセッサによって読み取られたときに、前記プロセッサに、
第１のデータを含む第１の照会を受け取らせ、
前記第１の照会を第１のデータベース内の第２のデータにマッチさせ、
少なくとも前記第１のデータのいくつかおよび少なくとも前記第２のデータのいくつかを含む第２の照会を調製させ、
前記第１のデータベース内で利用できない情報を含む第２のデータベースを検索して第３のデータを返す検索エンジンに、前記第１の照会に比べて改善された前記第２の照会を伝達させ、
前記第１の照会に応答して前記第２のデータの少なくとも一部および前記第３のデータの少なくとも一部を返させる
命令を含んでいるメモリと、
を備えるシステム。
【請求項８】
前記第２のデータは、ビジネスエンティティを特定する汎用データ番号付けシステム（ＤＵＮＳ）番号を含み、
前記プロセッサに前記第２の照会を調製させる前記命令は、前記プロセッサに前記ＤＵＮＳ番号を前記第２の照会に含めさせる、
請求項７に記載のシステム。
【請求項９】
前記第１の照会は、ビジネスエンティティを特定する汎用データ番号付けシステム（ＤＵＮＳ）番号を含み、
前記プロセッサに前記第１の照会をマッチさせる前記命令は、前記プロセッサに前記ＤＵＮＳ番号を前記第２のデータにマッチさせる、
請求項７に記載のシステム。
【請求項１０】
前記第３のデータは構造化形式の情報を含む、請求項７に記載のシステム。
【請求項１１】
前記第３のデータは非構造化形式の情報を含む、請求項７に記載のシステム。
【請求項１２】
前記非構造化形式の前記情報はテキスト形式の注釈である、請求項１１に記載のシステム。
【請求項１３】
プロセッサによって読み取り可能であり、前記プロセッサによって読み取られたときに、前記プロセッサに、
第１のデータを含む第１の照会を受け取らせ、
前記第１の照会を第１のデータベース内の第２のデータにマッチさせ、
少なくとも前記第１のデータのいくつかおよび少なくとも前記第２のデータのいくつかを含む第２の照会を調製させ、
前記第１のデータベース内で利用できない情報を含む第２のデータベースを検索して第３のデータを返す検索エンジンに、前記第１の照会に比べて改善された前記第２の照会を伝達させ、
前記第１の照会に応答して前記第２のデータの少なくとも一部および前記第３のデータの少なくとも一部を返させる、
命令を含む記憶装置。
【請求項１４】
前記第２のデータは、ビジネスエンティティを特定する汎用データ番号付けシステム（ＤＵＮＳ）番号を含み、
前記プロセッサに前記第２の照会を調製させる前記命令は、前記プロセッサに前記ＤＵＮＳ番号を前記第２の照会に含めさせる、
請求項１３に記載の記憶装置。
【請求項１５】
前記第１の照会は、ビジネスエンティティを特定する汎用データ番号付けシステム（ＤＵＮＳ）番号を含み、
前記プロセッサに前記第１の照会をマッチさせる前記命令は、前記プロセッサに前記ＤＵＮＳ番号を前記第２のデータにマッチさせる、
請求項１３に記載の記憶装置。
【請求項１６】
前記第３のデータは構造化形式の情報を含む、請求項１３に記載の記憶装置。
【請求項１７】
前記第３のデータは非構造化形式の情報を含む、請求項１３に記載の記憶装置。
【請求項１８】
前記非構造化形式の前記情報はテキスト形式の注釈である、請求項１７に記載の記憶装置。
【請求項１９】
前記マッチさせた後で前記調製する前に、前記第１のデータベースの中にはない情報を取得する必要があることに気付くことを含む、請求項１に記載の方法。
【請求項２０】
前記検索エンジンはインターネット検索エンジンである、請求項１に記載の方法。
【請求項２１】
前記命令は、前記マッチさせた後で前記調製させる前に、前記プロセッサに前記第１のデータベースの中にはない情報を取得する必要があることを気付かせる、請求項７に記載のシステム。
【請求項２２】
前記検索エンジンはインターネット検索エンジンである、請求項７に記載のシステム。
【請求項２３】
前記命令は、前記マッチさせた後で前記調製させる前に、前記プロセッサに前記第１のデータベースの中にはない情報を取得する必要があることを気付かせる、請求項１３に記載の記憶装置。
【請求項２４】
前記検索エンジンはインターネット検索エンジンである、請求項１３に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データベースの検索に関し、より詳細には、照会を第１のデータベース内のデータにマッチさせた結果を利用するとともに、その結果に基づいて、第２のデータベースの検索のための照会を調製することに関する。
【背景技術】
【０００２】
このセクションに記述されている手法は追求されうる手法であるが、必ずしも過去に着想または追求されたことがある手法ではない。したがって、特に指示がない限り、このセクションに記述されている手法は、本出願における特許請求の範囲に対する従来技術ではない場合があり、このセクションに含まれることにより従来技術であるとは認められない。
【０００３】
データベース内の情報を検索する場合、関心のある情報をより正確に定義する照会がより正確な結果をもたらす可能性が非常に高い。これは、特に、大規模なデータベースを検索する場合、またはインターネットなどの複数のデータベース内のデータを検索する場合である。したがって、関心のある情報を正確に定義するクエリを提供する技術が必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さらに、検索結果からのデータがアプリケーションによって利用されるべきときに、データを取り扱うのに人間のユーザによる操作を必要とする場合、ユーザは、その結果をロードするか、またはその結果を例えばコピー・アンド・ペーストによってアプリケーションの適切なフィールドに挿入するために、時間をかけなければならない。ユーザによるこうした操作は、ヒューマンエラーを起こしやすく、ユーザが作業する速度によって制限される。したがって、アプリケーションのフィールドに検索の結果を自動的に投入する技術が必要である。
【課題を解決するための手段】
【０００５】
（ａ）第１の照会を受け取ること、（ｂ）第１の照会を第１のデータベース内の第１のデータにマッチさせること、（ｃ）第１のデータに基づいて第２の照会を調製すること、（ｄ）第２の照会を、第２のデータベースを検索して第２のデータを返す検索エンジンに伝達すること、および（ｅ）第１の照会に応答して第２のデータを返すこと、を含む方法が提供される。
【０００６】
この方法を実行するシステム、およびこの方法を実行するためにプロセッサを制御するための命令を含んでいる記憶装置も提供される。
【図面の簡単な説明】
【０００７】
【図１】様々なソースからデータをアプリケーションに埋め込むために互いに協働する構成要素を含むシステムのブロック図である。
【０００８】
【図２】図１のシステムの使用を示す信号フロー図である。
【０００９】
【図３】図１のシステムの使用を示す信号フロー図である。
【００１０】
【図４】すべて単一プラットフォームを通じて、データをアプリケーションに埋め込み、このデータを浄化しかつデータベース内の構造化データと同期した状態に保ち、非構造化データに接続するのを示す図である。
【００１１】
【図５】データパートナ（ｄａｔａ  ｐａｒｔｎｅｒ）が単一プラットフォームを通じてデータクラウドに参加し、組織を横断する一貫したデータを取得する鍵としてＤＵＮＳ番号を用いてデータを多数のパートナに送達するのを示す図である。
【００１２】
【図６】すべて単一プラットフォームを通じて、データベース内の構造化データをアプリケーション内の非構造化データに同期させるのを示す図である。
【００１３】
【図７】すべて単一プラットフォームを通じて、データをアプリケーションに埋め込み、このデータを浄化しかつデータベースからの構造化データと同期した状態に保ち、非構造化データに接続するのを示す図である。
【発明を実施するための形態】
【００１４】
複数の図面に共通する構成要素または特徴は、図面のそれぞれに同じ参照番号で示されている。
【００１５】
図１は、システム、すなわち、インターネット１７０などのデータ通信ネットワークに通信可能に結合されたユーザサイト１０３、データセンタ１４０、および外部サービス１７５を含むシステム１００のブロック図である。
【００１６】
ユーザサイト１０３は、アプリケーションデータベース１３５に結合されたワークステーション１１０を含む。ワークステーション１１０は、ユーザインタフェース１１２、プロセッサ１１５、およびメモリ１２０を含む。プロセッサ１１５は、命令に応答し、命令を実行する論理回路で構成され、ワークステーション１１０に代わって演算を実行する。メモリ１２０は、プロセッサ１１５によって読み取り可能な命令を含んでいて、プロセッサ１１５によって読み取られたときにプロセッサ１１５によって実行される演算を制御する非一時的コンピュータ可読装置である。これに関して、メモリ１２０には、プログラムモジュール１２５およびアプリケーション１３０が入っている。メモリ１２０は、ランダム・アクセス・メモリ（ＲＡＭ）、ハードドライブ、読出し専用メモリ（ＲＯＭ）、またはこれらを組み合わせたものに実装されてもよい。
【００１７】
ユーザ１０５は、ユーザインタフェース１１２を介してワークステーション１１０と対話する。ユーザインタフェース１１２は、ユーザ１０５がプロセッサ１１５に情報および命令選択を伝達できるようにするための、キーボードや音声認識サブシステムなどの入力装置（図示せず）を含む。ユーザインタフェース１１２は、ディスプレイやプリンタなどの出力装置（図示せず）も含む。マウス、トラックボール、ジョイスティックなどのカーソル制御部により、ユーザ１０５は、プロセッサ１１５に追加の情報および命令選択を伝達するためにディスプレイ上のカーソルを操作することができる。
【００１８】
アプリケーション１３０は、以下でさらに説明されるように、データセンタ１４０と通信し、データセンタ１４０からデータを受け取る。これに関して、アプリケーション１３０は、かかるデータを利用することができる任意のアプリケーションとすることができる。アプリケーション１３０は、アプリケーションデータベース１３５にデータを保存する。
【００１９】
プログラムモジュール１２５は、アプリケーション１３０とデータセンタ１４０との間の通信を容易にする。プログラムモジュール１２５は、アプリケーション１３０の構成要素、またはアプリケーション１３０から切り離してメモリ１２０にインストールされたプラグインモジュールとすることができる。
【００２０】
上述のように、プロセッサ１１５は、ワークステーション１１０に代わって演算を実行する。より具体的には、プロセッサ１１５は、メモリ１２０内の命令に従って、さらに具体的にはプログラムモジュール１２５およびアプリケーション１３０内の命令に従って演算を実行する。本書では、演算がワークステーション１１０、プログラムモジュール１２５、またはアプリケーション１３０によって実行されると記述している場合、演算は実際にはプロセッサ１１５によって実行されている。
【００２１】
データセンタ１４０は、データベース１６５に結合されたサーバ１４５を含む。サーバ１４５は、プロセッサ１５０およびメモリ１５５を含む。プロセッサ１５０は、命令に応答し、命令を実行する論理回路で構成され、サーバ１４５に代わって演算を実行する。メモリ１５５は、プロセッサ１５０によって読み取り可能な命令を含んでいて、プロセッサ１５０によって読み取られたときにプロセッサ１５０によって実行される演算を制御する非一時的コンピュータ可読装置である。これに関して、メモリ１５５はプログラムモジュール１６０を含んでいる。メモリ１５５は、ランダム・アクセス・メモリ（ＲＡＭ）、ハードドライブ、読出し専用メモリ（ＲＯＭ）、またはこれらを組み合わせたものに実装されてもよい。
【００２２】
データベース１６５にはビジネスエンティティに関する情報が入っている。例えば、所与のビジネスエンティティ、例えばＸＹＺ社の場合、データベース１６５は、汎用データ番号付けシステム（ＤＵＮＳ）番号１６７および会社の情報１６８を含む。会社の情報１６８は、ＸＹＺ社に関する情報、例えば、売上高、売掛金、買掛金、融資限度、および法的手続きを含む。ＤＵＮＳは、ＤＵＮＳ番号と称される一意の数値識別子を単一のビジネスエンティティに割り当てる、Ｄｕｎ＆Ｂｒａｄｓｔｒｅｅｔ社によって開発されかつ管理されているシステムである。ＤＵＮＳは世界的な共通基準である。ＤＵＮＳユーザには、欧州委員会、国際連合、およびアメリカ合衆国政府が含まれる。
【００２３】
上述のように、プロセッサ１５０は、サーバ１４５に代わって演算を実行する。より具体的には、プロセッサ１５０は、メモリ１５５内の命令に従って、さらに具体的にはプログラムモジュール１６０内の命令に従って演算を実行する。本書では、演算がサーバ１４５またはプログラムモジュール１６０によって実行されると記述している場合、演算は実際にはプロセッサ１５０によって実行されている。
【００２４】
外部サービス１７５は、データベース１８５に結合されたサーバ１８０を含む。
【００２５】
プログラムモジュール１２５およびプログラムモジュール１６０はそれぞれ、単一モジュールとして、または互いに協働して動作する複数のモジュールとして実装されてもよい。「モジュール」という用語は、本明細書では、独立した構成要素として、または複数の下位の構成要素の一体化された構成として具現されうる機能的動作を表すために使用される。さらに、プログラムモジュール１２５は、本明細書ではメモリ１２０にインストールされるものとして、したがってソフトウェアに実装されるものとして記述されており、プログラムモジュール１６０は、本明細書ではメモリ１５５にインストールされるものとして、したがってソフトウェアに実装されるものとして記述されているが、プログラムモジュール１２５およびプログラムモジュール１６０はそれぞれ、電子回路などのハードウェア、ファームウェア、ソフトウェア、またはこれらを組み合わせたもののいずれかに実装されることができる。
【００２６】
さらに、プログラムモジュール１２５およびプログラムモジュール１６０はそれぞれ、次のメモリ１２０またはメモリ１５５にロードするための記憶装置１９０に明白に具現されることができる。記憶装置１９０はコンピュータ可読装置であり、フロッピ（登録商標）ディスク、コンパクトディスク、磁気テープ、読出し専用メモリ、光学式記憶媒体、ユニバーサル・シリアル・バス（ＵＳＢ）フラッシュドライブ、デジタル多用途ディスク、ジップドライブを含む任意の従来の非一時的記憶装置とすることができるが、これらに限定されるものではない。記憶装置１９０は、遠隔記憶システム上に位置し、かつメモリ１２０またはメモリ１５５に結合されたランダム・アクセス・メモリまたは他のタイプの非一時的電子記憶装置とすることもできる。
【００２７】
アプリケーション１３０は金融アプリケーションであるものとする。さらに、ユーザ１０５はアプリケーション１３０と対話していて、婦人衣料品の製造業者であるＸＹＺ社に関する情報を取得することに関心があるものとする。ユーザ１０５は、アプリケーション１３０に適切に入力することによって、例えば、文字列「ＸＹＺ社」をユーザインタフェース１１２に表示されている特定のフィールドに入力することによって、この関心を表現する。ユーザ１０５は、ＸＹＺ社に関する他の情報、例えばＸＹＺ社の住所を提供することもできる。ユーザ１０５がエンティティの名前、例えばＸＹＺ社を知らない場合、ユーザ１０５は、「製造業者」、「婦人衣料品」などのキーワードを提供することができる。より一般的には、ユーザ１０５は、データベースの検索に使用されうる任意の適当な情報を提供することができる。いずれにせよ、この例の場合、アプリケーション１３０はプログラムモジュール１２５に通知し、プログラムモジュール１２５は順に、ＸＹＺ社に関する情報に対する照会を調製し、その照会をプログラムモジュール１６０に送る。
【００２８】
プログラムモジュール１６０は照会を受け取り、照会に基づいてデータベース１６５を検索し、照会をデータベース１６５内のデータにマッチさせ、それによってマッチ結果を得る。マッチングは、所与の照会に最もよくマッチする記録を得るためにデータベースを検索することを意味する。最初に、マッチ結果は１つのマッチ、可能であれば複数のマッチを特定することができる。通常は、照会内の情報が絞られるほど、マッチ結果も絞られる。例えば、照会が名前「ＸＹＺ社」とＸＹＺ社の住所の両方を含んでいれば、マッチ結果はさらに絞られ、したがって、照会が「製造業者」および「婦人衣料品」であった場合より数が少なくなる。この例の場合、マッチ結果は３つの潜在的なマッチ、すなわち、（１）ＸＹＺ社‐本社、（２）ＸＹＺ社‐皮革製品、および（３）ＸＹＺ社‐下着、を列挙するものとする。プログラムモジュール１６０はマッチ結果をプログラムモジュール１２５に送る。
【００２９】
プログラムモジュール１２５は、マッチ結果を受け取り、アプリケーション１３０およびユーザインタフェース１１２を介してユーザ１０５にマッチ結果を提示する。ユーザ１０５はマッチ結果のうちの１つ以上を選択し、それによって選択結果を得る。この例の場合、ユーザ１０５は「ＸＹＺ社‐本社」を選択するものとする。したがって、プログラムモジュール１２５はプログラムモジュール１６０に選択結果を通知する。
【００３０】
プログラムモジュール１６０は、選択結果が通知されると、選択結果に関するデータ、例えば会社の情報１６８または会社の情報１６８の一部をプログラムモジュール１２５に送る。便宜上、選択結果に関するデータを「エンティティデータ」と称する。エンティティデータの性質は、アプリケーション１３０のある側面にいくらか依存してもよい。この側面は、プログラムモジュール１２５がアプリケーション１３０で使用するために構成されたときに、ユーザ１０５によって特定されるか、またはプログラムモジュール１２５によって自動的に認識されることになる。この例では、アプリケーション１３０は金融アプリケーションである。そのため、プログラムモジュール１２５は、プログラムモジュール１６０から金融情報を要求するように構成されることになり、したがってそれに応じて、この例では、エンティティデータは金融データである。いずれにせよ、プログラムモジュール１６０はエンティティデータをプログラムモジュール１２５に送る。プログラムモジュール１６０は、エンティティデータと共に、ＸＹＺ社‐本社に対するＤＵＮＳ番号、例えばＤＵＮＳ番号１６７も送る。
【００３１】
プログラムモジュール１２５はエンティティデータを受け取り、エンティティデータをアプリケーション１３０に転送し、アプリケーション１３０はエンティティデータを処理する。例えば、アプリケーション１３０がＸＹＺ社に関する信用報告書を調製する場合、プログラムモジュール１２５は、信用報告書内の特定のフィールドにエンティティデータを自動的に投入する。プログラムモジュール１２５はまた、アプリケーション１３０を介して、エンティティデータをアプリケーションデータベース１３５に保存する。
【００３２】
実際には、データベース１６５内のデータは、おそらくは１日に何度も、もしかしたら１秒に複数回も定期的に更新される。データベース１６５がどのくらいの頻度で更新されるかにかかわらず、ある期間が経過すると、プログラムモジュール１６０からプログラムモジュール１２５に送られ、アプリケーションデータベース１３５に保存されたエンティティデータは古くなると言えば十分であろう。したがって、システム１００は、アプリケーションデータベース１３５内のエンティティデータのその後の更新に備える。更新は、（ａ）プログラムモジュール１２５がプログラムモジュール１６０からの更新を要求する、（ｂ）プログラムモジュール１６０がプログラムモジュール１２５に更新された情報を提供する、のいずれかによって開始されることができる。更新は、定期的に、例えば毎日実行されるか、または事象の発生に応答して開始されることができる。例えば、（ａ）プログラムモジュール１２５は、アプリケーション１３０が開かれたときまたは開始されたときに更新を要求するように構成されることができる、あるいは（ｂ）プログラムモジュール１６０は、データベース１６５内のエンティティデータを変更について監視するとともに、変更を検出するとプログラムモジュール１２５に変更を通知するように構成されることができる。
【００３３】
いずれにせよ、更新は、過去に取得されたエンティティデータに含まれていたＤＵＮＳ番号を使用することによって容易にされる。すなわち、プログラムモジュール１２５は、ＤＵＮＳ番号に基づいて更新するよう要求することができ、またはプログラムモジュール１６０は、ＤＵＮＳ番号に基づいて、データベース１６５内のエンティティデータを監視することができる。ＤＵＮＳ番号を使用することにより、ＤＵＮＳ番号が利用できない状況と比べて、データベース１６５内のデータのより効率的な検索およびマッチングが可能になる。
【００３４】
システム１００は、データセンタ１４０以外のサービスの利用、およびデータベース１６５以外のデータベースからのデータの利用も提供する。すなわち、インターネット１７０を介してアクセス可能なサービスおよび他のデータベースは、アプリケーション１３０に利用されることができる。このような他のデータベースからのデータは構造化されていないこともありうるが、プログラムモジュール１６０および／またはプログラムモジュール１２５は非構造化データをまとめて、非構造化データがアプリケーション１３０によって利用されかつアプリケーションデータベース１３５に保存されうるようにする。外部サービス１７５はかかるサービスの一例である。
【００３５】
非構造化データとは、事前定義されたデータモデルを有していない情報、および／または関係表にうまく適合していない情報を意味する。非構造化データは、一般にテキストが重たいが、日付、番号、事実などのデータも含むことができる。例えば、ソーシャル・ネットワーキング・サービス用のデータベースは、テキスト形式の注釈の形をとる個人情報を含むことができる。
【００３６】
構造化データとは、通信用のデータを文書化し整理するデータモデルに適合するとともに、データが保存されかつアクセスされる方法を定義するデータを意味する。例えば、ビジネスエンティティに関する情報のデータベースは、特定の情報（例えば、ＤＵＮＳ番号、収入、および現在の株価）が特定のフィールド内にあるように、記録を整理することができる。
【００３７】
外部サービス１７５は、複数のユーザがいくらかの個人情報を登録し提供しているソーシャル・ネットワーキング・サービスであるものとする。例えば、Ｊｏｈｎ  ＤｏｅはＸＹＺ社の社長であり、Ｊｏｈｏ  Ｄｏｅは外部サービス１７５にいくらかの個人情報を登録し提供しているものとする。この個人情報は、データベース１８５にデータ１８７として保存される。
【００３８】
プログラムモジュール１２５は、アプリケーション１３０を介して、外部サービス１７５にアイコンを提示するように構成される。上述したように、ユーザ１０５は、ＸＹＺ社に関するエンティティ情報を前もって取得しており、エンティティ情報はＸＹＺ社のＤＵＮＳ番号を含む。ユーザ１０５はアイコンを選択し、ＸＹＺ社の社長に関する情報を取得したいという要望を示す。それに応じて、プログラムモジュール１２５は、アプリケーションデータベース１３５からＸＹＺ社のＤＵＮＳ番号を取得する。プログラムモジュール１２５およびプログラムモジュール１６０の構成に応じて、プログラムモジュール１２５は、（ａ）外部サービス１７５から外部サービス１７５自体にあるデータを取得することができる、または（ｂ）外部サービス１７５からプログラムモジュール１６０と協働してデータを取得することができる。
【００３９】
プログラムモジュール１２５が外部サービス１７５から外部サービス１７５自体にあるデータを取得する場合、プログラムモジュール１２５は、プログラムモジュール１２５がサーバ１８０に送る照会にＤＵＮＳ番号を含める。照会は、ＸＹＺ社の社長に関する情報の要求も含む。
【００４０】
プログラムモジュール１２５が外部サービス１７５からプログラムモジュール１６０と協働してデータを取得する場合、プログラムモジュール１２５は、プログラムモジュール１２５がプログラムモジュール１６０に送る第１の照会にＤＵＮＳ番号を含める。第１の照会は、ＸＹＺ社の社長に関する情報に対する要求も含み、さらに、要求された情報が外部サービス１７５から取得されることを示す。プログラムモジュール１６０は、第１の照会を受け取り、それに応じて、ＤＵＮＳ番号を利用して第１の照会をデータベース１６５内のデータにマッチさせ、ＸＹＺ社の社長を特定する。プログラムモジュール１６０は、データベース１６５からのデータに基づいて、第２の照会、すなわち改善された照会を調製する。第２の照会は、第２の照会が第１の照会からのデータならびにデータベース１６５からのデータを含むことができるという意味で改善され、したがって第１の照会よりさらに絞られる。その後、プログラムモジュール１６０は、（ｉ）第２の照会をサーバ１８０に伝達し、サーバ１８０はデータベース１８５から個人情報、すなわちデータ１８７を返し、（ｉｉ）個人情報をプログラムモジュール１２５に送る。
【００４１】
したがって、プログラムモジュール１２５は、サーバ１８０またはプログラムモジュール１６０から個人情報を受け取り、この個人情報を、アプリケーション１３０およびユーザインタフェース１１２を介してユーザ１０５に提示する。
【００４２】
プログラムモジュール１２５の特徴の１つは、ユーザ１０５の視点から見ると、プログラムモジュール１２５がアプリケーション１３０の中で動作することである。すなわち、ユーザ１０５は、アプリケーション１３０から出る必要に迫られることなく、かつプログラムモジュール１２５を別々に呼び出す必要もなく、従来の方式でアプリケーション１３０と対話している。このことは、ユーザ１０５によるデータの操作を最小限に抑え、したがって時間を節約し、ユーザ１０５による誤りの機会を最小限に抑える。
【００４３】
図２は、システム１００の別の使用を示す信号フロー図である。ステップは楕円内の番号で識別される。これらのステップは以下に説明される。
【００４４】
ステップ１では、ユーザ１０５がアプリケーション１３０と対話していて、ビジネスエンティティに関する情報を要求する。例えば、ユーザ１０５はＸＹＺ社の株価を捜し求めているものとする。プログラムモジュール１２５は、アプリケーション１３０との対話を通じて、第１の照会を調製する。第１の照会は「ＸＹＺ社の株価」であるものとする。
【００４５】
ステップ２では、プログラムモジュール１２５は第１の照会をプログラムモジュール１６０に送る。
【００４６】
ステップ２Ａでは、プログラムモジュール１６０は、第１の照会をデータベース１６５内のデータにマッチさせ、それによってマッチ結果を得る。
【００４７】
マッチ結果は、ＤＵＮＳ番号１６７および会社の情報１６８に対するマッチであるものとする。この例では、ＤＵＮＳ番号１６７はＸＹＺ社のＤＵＮＳ番号であり、会社の情報１６８は、売上高、売掛金、買掛金、融資限度、法的手続きなどのＸＹＺ社に関する情報を含んでいるが、株価を含んでいない。したがって、プログラムモジュール１６０は、プログラムモジュール１６０がデータベース１６５内で利用できない情報を取得する必要があることに気付く。したがって、この例の場合、外部サービス１７５を介してアクセスされるデータベース１８５には構造化データ形式の株式情報が入っており、関心のある会社の株式情報は会社のＤＵＮＳ番号の明細によってアクセスされうるものとする。したがって、プログラムモジュール１６０は、ＤＵＮＳ番号１６７を含む第２の照会を調製する。この場合、第２の照会は、ＸＹＺ社を一意に特定し、したがって第１の照会が提供するはずの検索よりさらに絞られた検索を提供する、ＤＵＮＳ番号１６７を含んでいるので、第２の照会は第１の照会に比べて改善される。
【００４８】
ステップ２Ｂでは、プログラムモジュール１６０は、第２の照会を外部サービス１７５に伝達する。外部サービス１７５はＸＹＺ社の株価を返す。
【００４９】
ステップ３では、プログラムモジュール１６０はマッチ結果をプログラムモジュール１２５に送る。この例では、マッチ結果は、株価、ＤＵＮＳ番号１６７、および会社の情報１６８を含む。プログラムモジュール１２５は、マッチ結果を受け取り、アプリケーション１３０のフィールドにマッチ結果から適切なデータを投入し、マッチ結果をアプリケーションデータベース１３５に保存する。
【００５０】
ステップ４では、プログラムモジュール１２５は、ユーザ１０５によって設定された計画プロセスを実行して、アプリケーションデータベース１３５からの大量のデータをデータセンタ１４０に自動的に送り、そこでプログラムモジュール１６０が大量データをデータベース１６５内のデータにマッチさせる。
【００５１】
ステップ５では、プログラムモジュール１６０は、ステップ４でのプロセスの結果を返し、プログラムモジュール１２５と協働して、データベース１６５のからデータをアプリケーションデータベース１３５に自動的に保存する。したがって、アプリケーションデータベース１３５は、データベース１６５からのデータで定期的に自動的に更新される。
【００５２】
ステップ６では、プログラムモジュール１２５は、ユーザ１０５によって設定された計画プロセスを実行して、データベース１６５内のデータをリフレッシュするために、アプリケーションデータベース１３５から大量のデータをデータセンタ１４０に自動的に送る。
【００５３】
ステップ７では、プログラムモジュール１６０は、ステップ６でのプロセスの結果を返し、プログラムモジュール１２５と協働して、データベース１６５からデータをアプリケーションデータベース１３５に自動的に保存する。したがって、アプリケーションデータベース１３５は、データベース１６５からのデータで最新の状態に保たれる。
【００５４】
ステップ８では、ユーザ１０５がアプリケーション１３０と対話していて、外部サービス１７５からの情報を要求する。プログラムモジュール１２５は、（ａ）照会を調製し、ステップ１および２に記述されているように、照会をプログラムモジュール１６０に送ることができる、または（ｂ）プログラムモジュール１２５が十分な情報、例えば前の照会からＤＵＮＳ番号１６７にアクセスできる場合、照会を調製し、照会を外部サービス１７５に送ることができる。この例では、プログラムモジュール１２５は前の照会から十分な情報にアクセスできるものとする。
【００５５】
ステップ９では、プログラムモジュール１２５は、ＤＵＮＳ番号をパラメータとして外部サービス１７５に、より具体的にはサーバ１８０に渡し、サーバ１８０は、この例ではデータベース１８５からデータを返す。その後、プログラムモジュール１２５は、アプリケーション１３０内でデータの概観をユーザ１０５に提示する。
【００５６】
データベース１８５からのデータは構造化形式または非構造化形式のいずれかとすることができる。いずれにせよ、データは、ユーザ１０５が選択すれば、アプリケーションデータベース１３５に保存されることができる。
【００５７】
この例では、外部サービス１７５は、特定の機能に対するサービス、すなわち株価を提供するサービスとして記述されており、ステップ２Ｂでは、プログラムモジュール１６０は、ＤＵＮＳ番号１６７を含む照会を外部サービス１７５に伝達した。しかし、外部サービス１７５は、包括的な検索ユーティリティ、例えばインターネット検索エンジンとすることができ、プログラムモジュール１６０は、そのために、ＤＵＮＳ番号１６７の代わりに、またはＤＵＮＳ番号１６７に加えて、会社の情報１６８の一部またはすべてを含むことができた照会を調製することになる。
【００５８】
要約すると、プロセッサ１５０は、プログラムモジュール１６０内の命令に従って、
（ａ）プログラムモジュール１２５から第１の照会を受け取ること、
（ｂ）第１の照会をデータベース１６５内の第１のデータにマッチさせること、
（ｃ）第１のデータに基づいて第２の照会を調製すること、
（ｄ）第２の照会を、データベース１８５などの第２のデータベースを検索して第２のデータを返す、サーバ１８０などの検索エンジンに伝達すること、および
（ｅ）第１の照会に応答して第２のデータをプログラムモジュール１２５に返すこと、
を含む方法を実行する。
【００５９】
データベース１６５からの第１のデータはＤＵＮＳ番号を含んでもよく、それに応じて、第２の照会を調製するときに、プロセッサ１５０はＤＵＮＳ番号を第２の照会に含める。あるいは、プログラムモジュール１２５からの第１の照会はＤＵＮＳ番号を含んでもよく、それに応じて、プロセッサ１５０はＤＵＮＳ番号をデータベース１６５内の第１のデータにマッチさせる。
【００６０】
データベース１８５からの第２のデータは、構造化形式または非構造化形式の情報、例えばテキスト形式の注釈を含むことができる。
【００６１】
図３は、システム１００の使用を示す信号フロー図である。特に、図３は、楕円内の番号で識別される９つのステップを示す。これらのステップは以下に説明される。
【００６２】
ステップ１では、ユーザ１０５がアプリケーション１３０と対話していて、エンティティに関する情報を要求する。プログラムモジュール１２５は照会を調製し、照会をプログラムモジュール１６０に送る。
【００６３】
ステップ２では、プログラムモジュール１６０は照会を受け取り、照会をデータベース１６５内のデータにマッチさせ、それによってマッチ結果を得る。コンピュータ用語では、この活動は、情報の単一取引に対して「ゲット」と称されることがある。プログラムモジュール１６０はマッチ結果をプログラムモジュール１２５に送る。
【００６４】
ステップ３では、プログラムモジュール１２５はマッチ結果を受け取り、マッチ結果をアプリケーションデータベース１３５に保存する。
【００６５】
ステップ４では、プログラムモジュール１２５は、ユーザ１０５によって設定された計画プロセスを実行して、データベース１６５内のデータを浄化し、マッチさせ、追加するために、大量のデータをデータセンタ１４０に自動的に送る。
【００６６】
ステップ５では、プログラムモジュール１６０は、ステップ４でのプロセスの結果を返し、プログラムモジュール１２５と協働して、データをデータベース１６５からアプリケーションデータベース１３５に自動的に保存する。
【００６７】
ステップ６では、プログラムモジュール１２５は、ユーザ１０５によって設定された計画プロセスを実行して、データベース１６５内のデータをリフレッシュするために、大量のデータをデータセンタ１４０に自動的に送る。
【００６８】
ステップ７では、プログラムモジュール１６０は、ステップ６でのプロセスの結果を返し、プログラムモジュール１２５と協働して、データをデータベース１６５からアプリケーションデータベース１３５に自動的に保存する。
【００６９】
ステップ８では、ユーザ１０５がアプリケーション１３０と対話していて、外部サービス１７５からの情報を要求する。プログラムモジュール１２５は照会を調製し、照会をプログラムモジュール１６０に送る。
【００７０】
ステップ９では、プログラムモジュール１２５は、構造化データをパラメータとして外部サービス１７５に、より具体的にはサーバ１８０に渡し、サーバ１８０はデータベース１８５から非構造化データを返す。その後、プログラムモジュール１２５は、アプリケーション１３０内で非構造化データの概観をユーザ１０５に提示する。非構造化データは、ユーザ１０５が選択すれば、アプリケーションデータベース１３５に保存されることができる。
【００７１】
図４は、すべて単一プラットフォームを通じて、データをアプリケーション１３０に埋め込み、このデータを浄化しかつデータベース１６５内の構造化データと同期した状態に保ち、データベース１８５内のデータなどの非構造化データに接続することを示す。
【００７２】
図５は、１のデータパートナが単一プラットフォームを通じてデータクラウドに参加し、組織を横断する一貫したデータを取得する鍵としてＤＵＮＳ番号を用いてデータを多数のパートナに送達することを示す。
【００７３】
図６は、すべて単一プラットフォームを通じて、データベース１６５内の構造化データをアプリケーション内の非構造化データに同期させることを示す。
【００７４】
図７は、すべて単一プラットフォームを通じて、データをアプリケーション１３０に埋め込み、このデータを浄化しかつデータベース１６５からの構造化データと同期した状態に保ち、非構造化データに接続するのを示す。
【００７５】
本明細書に記述されている技法は例示的なものであり、本開示に対する特定の制限を含意すると解釈されるべきでない。様々な代替、組合せ、および修正が当業者によって考案されうることが理解されるべきである。例えば、本明細書に記述されているプロセスに関連するステップは、特にそれらのステップ自体によって指定または規定されない限り、任意の順序で実行されることができる。また、データベース１６５は、本明細書ではビジネスエンティティに関する情報を含んでいるものとして記述されており、アプリケーション１３０は、金融アプリケーションであるものとして記述されているが、システム１００は、ビジネスもしくは金融の情報を処理することに限定されるものではない。代わりに、データベース１６５は任意の主題に関する情報を含むことができ、アプリケーション１３０は任意の主題に関係することもできる。本開示は、添付の特許請求の範囲内にかかる代替、修正および変形をすべて包含することを意図している。
【００７６】
「含む」または「含んでいる」という用語は、規定された特徴、完全体、ステップまたは構成要素の存在を特定すると解釈されるべきであり、１つまたは複数の他の特徴、完全体、ステップまたは構成要素、あるいはそれらの群の存在を除外すると解釈されるべきではない。
【図１】
0005624674.tif 000002
【図２】
0005624674.tif 000003
【図３】
0005624674.tif 000004
【図４】
0005624674.tif 000005
【図５】
0005624674.tif 000006
【図６】
0005624674.tif 000007
【図７】
0005624674.tif 000008