(57)【要約】ある実施形態では、データベース・アクセス・システムはリモート・クライアント・アプリケーション、複数のデータ・レコードを有するデータベースおよびデータ・イベント・エージェントを含む。データベースは複数のデータ・レコードを有し、前記データ・イベント・エージェントに結合される。前記データ・イベント・エージェントは、ファイアウォールを通じて前記リモート・クライアント・アプリケーションにリモートに結合され、前記リモート・クライアント・アプリケーションからの問い合わせを受領するよう動作可能である。前記問い合わせの受領に応答して、前記データ・イベント・エージェントは、データ・レコードへの追加および修正を前記問い合わせに含まれる一つまたは複数のフィルタ基準と突き合わせて継続的にフィルタ処理するために、前記問い合わせをメモリ中に記憶する。データ・レコードが前記問い合わせにマッチする場合、前記データ・イベント・エージェントは前記データ・レコードを前記リモート・クライアント・アプリケーションに送信する。
2009544078.tif 000002
【特許請求の範囲】
【請求項１】
データベース・アクセス・システムであって：
ウェブ・ブラウザと；
分散式データベースであって：
複数のデータ・レコードの記憶のための複数の連合したデータベース；および
前記複数のデータ・レコードのうち対応するものをそれぞれ表す複数のメタデータ・レコードの記憶のためのメタデータ・データベースを有する分散式データベースと；
前記分散式データベースにデータベース・プロキシ層を使って結合され、前記ウェブ・ブラウザにもファイアウォールを通じて結合されているデータ・イベント・エージェントであって：
前記ウェブ・ブラウザから、コンテキスト的、時間的または地理空間的フィルタ基準を含む問い合わせを受信し；
前記問い合わせをメモリ中に記憶し；
前記複数のメタデータ・レコードの少なくとも一つを、前記少なくとも一つのメタデータ・レコードの追加または修正に応答して、前記問い合わせと突き合わせてフィルタリングし；
前記少なくとも一つのメタデータ・レコードが前記問い合わせに合致する場合、前記複数のデータ・レコードのうちの対応するものを前記ウェブ・ブラウザに送信するよう動作可能なデータ・イベント・エージェントとを有する、
データベース・アクセス・システム。
【請求項２】
前記複数の連合したデータベースがデータベース・プロキシ層を使って前記データ・イベント・エージェントに結合されている、請求項１記載のデータベース・アクセス・システム。
【請求項３】
前記データベース・プロキシ層が、前記複数のデータ・レコードのそれぞれを、拡張可能マークアップ言語スキーマを使って標準化されたフォーマットに変換するよう動作可能である、請求項２記載のデータベース・アクセス・システム。
【請求項４】
前記分散式データベースがさらに、前記連合したデータベースのそれぞれを定期的に検索し、新しいデータ・レコードがみつかった場合には対応するメタデータ・レコードを生成するよう動作可能であるデータ発見エージェントを有する、請求項１記載のデータベース・アクセス・システム。
【請求項５】
データベース・アクセス・システムであって：
リモート・クライアント・アプリケーションと；
複数のデータ・レコードの記憶のためのデータベースと；
データベース・プロキシ層を通じて前記データベースに結合され、ファイアウォールを通じて前記リモート・クライアント・アプリケーションにも結合されているデータ・イベント・エージェントであって：
前記リモート・クライアント・アプリケーションから問い合わせを受信し；
前記問い合わせをメモリ中に記憶し；
前記複数のデータ・レコードの一つを、前記データベース中での前記一つのデータ・レコードの追加または修正に応答して、前記問い合わせと突き合わせてフィルタリングし、
前記一つのデータ・レコードが前記問い合わせに合致する場合、前記一つのデータ・レコードを前記リモート・クライアント・アプリケーションに送信するよう動作可能なデータ・イベント・エージェントとを有する、
データベース・アクセス・システム。
【請求項６】
前記データ・レコードが、複数の連合したデータベースおよびメタデータ・データベースを有する分散式データベースに記憶される、請求項５記載のデータベース・アクセス・システム。
【請求項７】
前記データ・レコードが、前記連合したデータベースに記憶されるデータ・レコード部分および前記メタデータ・データベースに記憶されるメタデータ・レコード部分を含む、請求項６記載のデータベース・アクセス・システム。
【請求項８】
前記データベース・プロキシ層が、前記データ・レコード部分のそれぞれを標準化されたデータ・レコードにカプセル化し、その標準化されたデータ・レコードを前記リモート・クライアント・アプリケーションによる使用のために暴露するよう動作可能である、請求項７記載のデータベース・アクセス・システム。
【請求項９】
前記データベース・プロキシ層が、拡張可能マークアップ言語スキーマに従って実装される、請求項８記載のデータベース・アクセス・システム。
【請求項１０】
前記データ・レコードが、アプリケーション抽象化層を使って前記データ・イベント・エージェントに対して暴露される、請求項５記載のデータベース・アクセス・システム。
【請求項１１】
前記アプリケーション抽象化層が、ジャバ・メッセージング・サービスを使って実装される、請求項１０記載のデータベース・アクセス・システム。
【請求項１２】
アプリケーション抽象化層が、前記データ・レコードを、単純オブジェクト・アクセス・プロトコル・スキーマに従ってフォーマットするよう構成されている、請求項１１記載のデータベース・アクセス・システム。
【請求項１３】
前記問い合わせは、地理空間的フィルタ基準、コンテキスト的フィルタ基準または時間的フィルタ基準からなる群より選択されるフィルタ基準に従ってデータ・レコードをフィルタリングするよう機能可能である、請求項５記載のデータベース・アクセス・システム。
【請求項１４】
前記データ・イベント・エージェントが、インターネットを通じて前記リモート・クライアント・アプリケーションに結合される、請求項５記載のデータベース・アクセス・システム。
【請求項１５】
前記リモート・クライアント・アプリケーションがウェブ・ブラウザである、請求項５記載のデータベース・アクセス・システム。
【請求項１６】
リモート・クライアント・アプリケーションによって、少なくとも一つの型のフィルタ基準を含む問い合わせを生成する段階と；
前記問い合わせをファイアウォールを通じてデータベース・アクセス・システムに送信する段階と；
前記問い合わせをメモリに記憶する段階と；
前記データベース・アクセス・システム中の複数のデータ・レコードへの追加または修正を、前記少なくとも一つの型のフィルタ基準と突き合わせてフィルタ処理する段階と；
前記複数のデータ・レコードのうち個別的な一つが前記少なくとも一つの型のフィルタ基準に合致する場合、そのデータ・レコードを前記リモート・クライアント・アプリケーションに前記ファイアウォールを通じて送信する段階とを有する、
方法。
【請求項１７】
リモート・クライアント・アプリケーションによって問い合わせを生成する前記段階が、ウェブ・ブラウザによって問い合わせを生成することを含み、前記データ・レコードを前記リモート・クライアント・アプリケーションに送信する前記段階が、前記データ・レコードを前記ウェブ・ブラウザに送信することを含む、請求項１６記載の方法。
【請求項１８】
リモート・クライアント・アプリケーションによって、少なくとも一つの型のフィルタ基準を含む問い合わせを生成する前記段階が、リモート・クライアント・アプリケーションによって、コンテキスト的フィルタ基準、時間的フィルタ基準または地理空間的フィルタ基準からなる群より選択される少なくとも一つの型のフィルタ基準を含む問い合わせを生成することを含む、請求項１６記載の方法。
【請求項１９】
前記問い合わせをファイアウォールを通じてデータベース・アクセス・システムに送信する前記段階が、前記問い合わせをファイアウォールを通じて分散式データベースを有するデータベース・アクセス・システムに送信することを含む、請求項１６記載の方法。
【請求項２０】
前記データ・レコードを前記リモート・クライアント・アプリケーションに前記ファイアウォールを通じて送信する前記段階に先立って、前記データ・レコードを、単純オブジェクト・アクセス・プロトコル・スキーマに従ったフォーマットにカプセル化することを含む、請求項１６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概括的にはコンピューティング・システムに、より詳細にはイベントへのリモート・アクセスを提供するシステムおよびこれを実装する方法に関する。
【背景技術】
【０００２】
今日のコンピューティング・システムの到来は大量のデータの記憶を要求するようになった。この必要性を満たすため、組織化された仕方で大量のデータを記憶するさまざまな種類のデータベースが実装されてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
データベースの従来式の実装は、データの個々のインスタンスをデータ・レコードとして記憶するようにするものであった。よって、データベース中の情報は、一つまたは複数の基準に従って叙述されうる個々のデータ・レコードによって提供されうる。
【課題を解決するための手段】
【０００４】
ある実施形態では、データベース・アクセス・システムはリモート・クライアント・アプリケーション、複数のデータ・レコードを有するデータベースおよびデータ・イベント・エージェントを含む。データベースは複数のデータ・レコードを有し、前記データ・イベント・エージェントに結合される。前記データ・イベント・エージェントは、ファイアウォールを通じて前記リモート・クライアント・アプリケーションにリモートに結合され、前記リモート・クライアント・アプリケーションからの問い合わせを受領するよう動作可能である。前記問い合わせの受領に応答して、前記データ・イベント・エージェントは、データ・レコードへの追加および修正を前記問い合わせに含まれる一つまたは複数のフィルタ基準と突き合わせて継続的にフィルタ処理するために、前記問い合わせをメモリ中に記憶する。データ・レコードが前記問い合わせにマッチする場合、前記データ・イベント・エージェントは前記データ・レコードを前記リモート・クライアント・アプリケーションに送信する。
【０００５】
もう一つの実施形態では、方法が、リモート・クライアント・アプリケーションによって問い合わせを生成し、前記問い合わせをファイアウォールを通じてデータベース・アクセス・システムに送信し、複数のデータ・レコードへの追加または修正をフィルタ処理し、前記複数のデータ・レコードのうち個別的な一つが前記問い合わせに合致する場合、そのデータ・レコードを前記リモート・クライアント・アプリケーションに前記ファイアウォールを通じて送信することを含む。前記問い合わせは、各データ・レコード中の関連付けられた基準と照合されうる少なくとも一つの種類のフィルタ基準を含みうる。
【０００６】
本開示の諸実施形態は数多くの技術的効果を提供しうる。実施形態は、以下に記載される効果の一部から裨益することもあれば、どれからも裨益しないこともあれば、すべてから裨益することもありうる。ある実施形態によれば、将来のいつか生じうるデータベース中の個々のデータ・レコードの追加または修正へのリモート・アクセスのためのシステム及び方法が提供される。データベースはファイアウォールを介してのみアクセス可能で、ファイアウォールの外側のユーザーにはデータベースはすぐアクセス可能でないようになっていてもよい。こうして、ある種の実施形態は、データベース中のデータ・レコードの追加または修正を連続的にモニタリングし、一つまたは複数の個別的データ・レコードが前記システムによって同定される場合にこれらのデータ・レコードをリモートに結合されたクライアント・アプリケーションに送信することができるデータベース・アクセス・システムを提供しうる。
【０００７】
他の技術的効果は当業者には明白となるであろう。
【０００８】
本開示の実施形態のより完全な理解は、付属の図面と一緒に参照される詳細な説明から明白となるであろう。
【図面の簡単な説明】
【０００９】
【図１】本開示の教示に基づくデータベース・アクセス・システムのいくつかの構成要素を示すブロック図である。
【図２】図１の実施形態のデータ・イベント・エージェントを記憶および実行するために使用されうる例示的なコンピューティング・システムのブロック図である。
【図３】本開示の教示に基づくデータベース・アクセス・システムの別の実施形態のいくつかの構成要素を示すブロック図である。
【図４】図１または図３の実施形態リモート・クライアント・アプリケーション上で問い合わせを生成するために使用されうるウィンドウのある実施形態の例示的なスクリーンショットである。
【図５】図１または図３の実施形態のリモート・クライアント・アプリケーション上で問い合わせの結果を表示するために使用されうるウィンドウのある実施形態の例示的なスクリーンショットである。
【図６】図１または図３の実施形態を実装するために図１または図３の実施形態によって取られうる一連の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
本開示の実施形態は、図１ないし図６を参照することによって最もよく理解される。同様の符号はさまざまな図面の同様のおよび対応する部分について使用される。
【００１１】
図１は、データベース・アクセス・システム１０のある実施形態を示すブロック図である。データベース・アクセス・システム１０は一般に、データベース１４およびネットワーク１８を通じた一つまたは複数のリモート・クライアント・アプリケーション２０に結合されているデータ・イベント・エージェント１２を含む。データベース１４へのアクセスを統制するためにファイアウォール１６が設けられてもよい。データベース・アクセス・システム１０は、データベース１４中の一つまたは複数のデータ・レコード２２への、リモート・クライアント・アプリケーション２０によるアクセスを可能にしうる。リモート・クライアント・アプリケーション２０は、一つまたは複数の問い合わせ〔クエリー〕２４をデータベース１４に対して発し、応答として、それらの問い合わせ２４への応答としての一つまたは複数のデータ・レコード２２をデータベース１４から受領するよう構成されうる。
【００１２】
ある実施形態では、データ・イベント・エージェント１２はデータベース・プロキシ層２３を通じてデータベース１４に結合されうる。データベース・プロキシ層２３は、リモート・クライアント・アプリケーション２０からデータベース１４への要求を仲介する（broker）よう動作可能でありうる。もう一つの実施形態では、データベース・プロキシ層２３は、リモート・クライアント・アプリケーション２０からデータベース１４への要求の仲介を、データ・レコード２２の一つまたは複数を、リモート・クライアント・アプリケーション２０がアクセス可能な標準化されたフォーマット中にカプセル化することによって行ってもよい。
【００１３】
本開示の教示によれば、リモート・クライアント・アプリケーション２０は、データ・イベント・エージェント１２を使って、将来のいつか追加または修正されうるデータ・レコード２２についての問い合わせ２４を発するよう動作可能でありうる。データ・イベント・エージェント１２は、リモート・クライアント・アプリケーション２０によって生成されうる問い合わせ２４を記憶し、問い合わせに含まれるフィルタ基準に合致しうるデータ・レコード２２の修正または追加についてデータベース１４を連続的にモニタリングするよう動作可能である。特定のデータ・レコード２２が前記問い合わせ２４に合致する場合、そのデータ・レコード２２がリモート・クライアント・アプリケーション２０に送信されうる。
【００１４】
将来のいつか追加または修正されうる特定のデータ・レコード２２は、将来のイベントを表していてもよい。イベント（event）とは、特定の時点において生起しうる任意の活動（activity）であってよい。イベントがデータ・レコード２２としてデータベース１４に記憶される場合、そのデータ・レコード２２は前記活動またはイベントの性質に関する情報を含みうる。データ・レコード２２によって表されうるイベントの例は、天気に関係した情報、緊急イベント、一般的な三面記事的ニュースなどを含みうる。ある実施形態では、データ・レコード２２は、敵の活動、敵の動きまたは他のインテリジェンス、監視および偵察（ISR:  intelligence,  surveillance,  and  reconnaissance）活動といった軍人にとって関心のあるイベントを表していてもよい。よって、ある種の実施形態は、リモート・クライアント・アプリケーション２０に、データ・レコード２２の追加または修正によって表される将来のイベントの受領を許容しうる。
【００１５】
リモート・クライアント・アプリケーション２０は、コンピュータ・システム上で実行可能であり、データの要求を発してそれらの要求への応答をユーザーのために表示する機能のあるいかなるソフトウェアであってもよい。ある実施形態では、リモート・クライアント・アプリケーション２０は通常のウェブ・ブラウザであってもよい。たとえば、あるバージョンのファイアフォックス、オペラまたはインターネット・エクスプローラ・ウェブ・ブラウザといったものである。リモート・クライアント・アプリケーション２０は、データ・イベント・エージェント１２および／またはデータベース・プロキシ層２３と、いかなる好適なネットワーク・プロトコルを使って通信してもよい。ある実施形態では、クライアント／サーバー型のモデルを使って、リモート・クライアント・アプリケーション２０がクライアントとして機能してもよく、データ・イベント・エージェント１２およびデータベース１４がサーバーとして機能してもよい。このモデルを使って、リモート・クライアント・アプリケーション２０は、データベース１４に、ファイルまたはデータ・レコード２２のような他のデータを要求してもよく、応答して、データ・イベント・エージェント１２またはデータベース１４はそれらの要求に応答してリモート・クライアント・アプリケーション２０に一つまたは複数のファイルまたはデータを送ってもよい。ある実施形態では、ネットワーク１８はイントラネットなどの構内ネットワーク（LAN）であってもよい。別の実施形態では、ネットワーク１８はインターネットのような広域ネットワーク（WAN）であってもよい。
【００１６】
図２は、その上でデータ・イベント・エージェント１２が本開示のさまざまな実施形態を実行するよう動作可能でありうる例示的なコンピューティング・システム２６を示している。コンピューティング・システム２６は、システム・バス３４によって一緒に結合された入出力ポート２８、中央処理ユニット３０およびメモリ３２を含みうる。入出力ポート２８は、ネットワーク１８にコンピューティング・システム２６を論理的に結合するよう動作可能でありうる。ある実施形態では、入出力ポート２８は、イーサネット（登録商標）またはトークン・リング型の伝送プロトコルなどのいかなる好適なプロトコルを使ってネットワーク１８と通信するよう構成されてもよい。
【００１７】
中央処理ユニット３０は、データ・イベント・エージェント１２のさまざまな特徴および実施形態を実行するよう動作可能である。データ・イベント・エージェント１２の特徴および実施形態は、いかなる好適なプログラミング言語を使ってメモリ３２内に実行可能命令のシーケンスとして記憶されていてもよい。メモリ３２は、さまざまな形のデータを記憶するよう動作可能であってもよい。そうしたデータはたとえば、ユーザーのための情報またはデータ・イベント・エージェント１２によって使用される他の形のデータであってもよい。メモリ３２は、読み出し専用メモリ（ROM）、ランダム・アクセス・メモリ（RAM）または光学式もしくは磁気式大容量データ記憶媒体のような固定記憶装置といったいかなる揮発性または不揮発性のメモリ・デバイスをも含みうる。この特定の実施形態では、中央処理ユニット３０は通常のマイクロプロセッサ回路チップであってもよい。一般に、コンピューティング・システム２６はいかなるコンピューティング・デバイスであってもよく、そうしたコンピューティング・システムは、パーソナル・コンピュータ、ラップトップ・コンピュータ、ワークステーションまたは組織体コンピューティング・システムを含みうる。
【００１８】
図３は、分散式データベース４４を組み込む、データベース・アクセス・システム４０のもう一つの実施形態を示している。データベース・アクセス・システム４０は、企業または政府機関といった組織体内での使用のために構成されていてもよい。データベース・アクセス・システム４０は、図１の実施形態のデータ・イベント・エージェント１２、ネットワーク１８、ファイアウォール１６およびリモート・クライアント・アプリケーション２０と機能および目的において同様であるデータ・イベント・エージェント４２、ネットワーク４８、ファイアウォール４６およびリモート・クライアント・アプリケーション５０を含みうる。データ・イベント・エージェント１２は、データベース・アクセス・システム４０中に構成されていてもよい例示的なコンピューティング・システム２６上で記憶および実行されてもよい。
【００１９】
データベース・アクセス・システム４０は、リモート・クライアント・アプリケーション５０からの問い合わせ５６に応答してデータ・レコード５４を供するよう動作可能な分散式データベース４４を有していてもよい。データベース・アクセス・システム４０のドメイン内の分散式データベース４４のデータ・レコード５４へのアクセスを提供するために、ローカルなクライアント・アプリケーション５２が設けられてもよい。ある実施形態では、ファイアウォール４６は組織体ファイアウォールであってもよい。組織体ファイアウォールとは、組織体のドメイン内にある、ネットワーク機能をもつコンピューティング設備のファイルまたは資源への限定されたアクセスを提供するよう動作可能ないかなる種類のファイアウォールを指してもよい。こうして、データベース・アクセス・システム４０は、分散式データベース４４中のデータ・レコード５４の追加または修正へのアクセスおよびフィルタ処理を、ファイアウォール４６を介して結合されているリモート・クライアント・アプリケーション５０に提供しうる。
【００２０】
分散式データベース（distributed  database）４４は、一つまたは複数の連合されたデータベース（federated  database）６０に記憶されているデータ・レコード５４へのアクセスを提供しうるものである。分散式データベース４４はまた、メタデータ・レコード５８を記憶するよう構成されるメタデータ・データベース６２をも有する。各メタデータ・レコード５８は、連合されたデータベース６０の一つに記憶されている対応するデータ・レコード５４に関連付けられていてもよい。メタデータ・レコード５８は、その対応するデータ・レコード５４に関する短縮された情報を含む型のデータ・レコードの意味で言及されうる。分散式データベース４４は、連合されたデータベース６０におけるデータ・レコード５４の追加または修正を定期的に検索することを可能にするデータ発見エージェント６４をも有していてもよい。こうして、分散式データベース４４は、メタデータ・レコード５８を使って検索可能およびフィルタリング可能であるいくつかの連合されたデータベース６０内のデータ・レコード５４へのアクセスを可能にしうる。
【００２１】
ある実施形態では、データ発見エージェント６４は、一つまたは複数の連合されたデータベース６０を通じてデータ・レコード５４を定期的に検索するよう動作可能であってもよい。みつかったとき、データ発見エージェント６４は短縮されたメタデータ・レコード５８を生成し、その後、このメタデータ・レコード５８をメタデータ・データベース６２に、データベース・アクセス・システム４０による使用のために記憶してもよい。特定のメタデータ・レコード５８は、それぞれそのコンテキスト的、時間的または地理空間的に関係する基準に基づいてメタデータ・レコード５８のフィルタリングを可能にするために、いかなる英数字、時間または地理に関係した情報に係る情報を含んでいてもよい。
【００２２】
連合されたデータベース６０は、組織体内に存在していてもよいし、組織体の外部にあってもよい。たとえば、連合されたデータベース６０ａは、データベース・アクセス・システム４０に結合するにはファイアウォール６６を使ったアクセスの統制を必要としうるという意味において、データベース・アクセス・システム４０の外部であってもよい。ある実施形態では、ファイアウォール６６はファイアウォール４６と一体的に構成される。連合されたデータベース６０ｂは、ファイアウォール６６を通じて、さらにイントラネットまたはインターネットのようなネットワーク６８を通じてデータベース・アクセス・システム４０に結合されうる。連合されたデータベース６０ｃは、ファイアウォール６６を通じた結合が必要でなくてもよいよう組織体のドメイン内にあってもよい。こうして、データベース・アクセス・システム４０は、内部ドメインおよび外部ドメインを通じて多くの形のデータ・レコード５４へのアクセスをもつ分散式データベース４４を組み込んでもよい。
【００２３】
分散式データベース４４は、データベース・アクセス・システム４０によってアクセス可能なデータ・レコード５４をもついかなる連合されたデータベース６０を含んでいてもよい。ある実施形態では、連合されたデータベース６０のそれぞれに一様なインターフェースを提供するためにデータベース・プロキシ層７０が設けられてもよい。データベース・アクセス・システム４４の外部の連合されたデータベース６０は当該組織体によって維持されていなくてもよく、これらの連合されたデータベース６０内のデータ・レコード５４は、データベース・アクセス・システム４０によってすぐ使用可能なフォーマットで存在していないことがありうる。したがって、データベース・プロキシ層７０は、データ・レコード５４へのアクセスのための一様なインターフェースを提供するとともに、各データ・レコードを標準化されたフォーマットで呈示するはたらきをする。ある実施形態では、データベース・プロキシ層７０は、連合されたデータベース６０からアクセスされうる各データ・レコード５４を、拡張可能マークアップ言語（XML）スキーマに従ってカプセル化するよう動作可能であってもよい。XML言語は、異質の型のデータを共通フォーマットにフォーマット化することを可能にする汎用マークアップ言語である。この特定の実施形態によれば、XMLスキーマの使用は、異質なフォーマットをもつデータ・レコード５４を、データベース・アクセス・システム４０によってすぐ使用可能な一様なフォーマットにフォーマットすることを許容する。
【００２４】
上記のように、データベース・アクセス・システム４０は、分散式データベース４４に記憶されているデータ・レコード５４へのアクセスを統制するためにファイアウォール４６を有していてもよい。しかしながら、XMLフォーマットでカプセル化されたデータ・レコード５４は、ファイアウォール４６を簡単に通過するよう適応されていない。よって、ある実施形態では、データ・イベント・エージェント４２は、リモート・クライアント・アプリケーション５０に送信される各データ・レコード５４を、単純オブジェクト・アクセス・プロトコル（SOAP:  simple  object  access  protocol）スキーマに従ってさらにカプセル化するよう構成されていてもよい。単純オブジェクト・アクセス・プロトコルは、XMLフォーマットされたメッセージのネットワークを通じた伝送を提供し、ファイアウォール４６による選択的な検証（validation）を許容するエンコード方式を提供する型のプロトコルである。
【００２５】
データベース・アクセス・システム４０は、データ・イベント・エージェント４２の、リモート・クライアント・アプリケーション５０、ローカル・クライアント・アプリケーション５２および分散式データベース４４とのシームレスな通信を提供しうるアプリケーション抽象化層（application  abstraction  layer）７２をも含んでいてもよい。すなわち、アプリケーション抽象化層７２は、リモート・クライアント・アプリケーション５０、データ・イベント・エージェント４２、ローカル・クライアント・アプリケーション５２および分散式データベース４４の間でのメッセージの流れを効率的で組織立った仕方で制御しうる。ある実施形態では、アプリケーション抽象化層７２はジャバ・メッセージング・サービス（JMS:  java  messaging  service）を使って実装されうる。ジャバ・メッセージング・サービスは、クライアント間のメッセージの非同期的伝送を可能にする型のメッセージ指向ミドルウェア（MOM:  message  oriented  middleware）である。こうして、この特定の実施形態では、ジャバ・メッセージング・サービスを使ったアプリケーション抽象化層７２の実装は、データ・イベント・エージェント４２、リモート・クライアント・アプリケーション５０、ローカル・クライアント・アプリケーション５２および分散式データベース４４の間で、比較的効率的な仕方で、多数のメッセージの受信および送信を許容する。
【００２６】
図４は、リモート・クライアント・アプリケーション２０または５０によって表示されうる例示的なウィンドウ７４のある実施例を示すスクリーンショットである。図のように、この例示的なウィンドウはインターネット・エクスプローラ・ウェブ・ブラウザ上で実装されているが、リモート・クライアント・アプリケーション２０または５０は、ファイアフォックス、シーモンキーまたはオペラのような型のウェブ・ブラウザなどのいかなるクライアント・アプリケーションであってもよい。ウィンドウ７４は、ユーザーがデータベース・アクセス・システム１０または４０とインターフェースをもつことを可能にするいくつかのサブウィンドウ部分を有していてもよい。この特定の実施例では、ウィンドウ７４は、「問い合わせ」タブ７８および「結果」タブ８０を含む問い合わせ／結果部分７６を有する。図４は、「問い合わせ」タブ７８の選択に起因して帰結するウィンドウ７４を示している。「結果」タブ８０を選択する結果として示されるウィンドウの説明は、のちに図５との関連で続ける。
【００２７】
図４は、「問い合わせ」タブ７８の選択に応じて表示されうるウィンドウ７４を示している。問い合わせ／結果部分７６に加えて、他のサブウィンドウ部分は問い合わせ名部分８４、コンテキスト基準部分８６、時間的基準部分９２、スコープ部分１００、電子メール通知部分１０６、空間的基準部分１１０およびメニュー・バー部分１２０を含みうる。
【００２８】
「問い合わせ／結果」部分７６は、問い合わせの記憶へのユーザー・アクセスおよびこれらの問い合わせの結果の記憶へのユーザー・アクセスを可能にするよう設けられうる。「問い合わせ／結果」部分７６は、保存されている問い合わせ８２のリストを表示しうる。この特定のスクリーンショットでは、「問い合わせ」タブ７８が選択されており、よって記憶されている問い合わせ８２のリストが問い合わせ／結果部分７６に表示されている。このようにして、ユーザーは、さまざまな型のフィルタ基準を使って問い合わせを構築し、これらの問い合わせを後刻の使用のために保存することができる。問い合わせ名部分８４は、問い合わせ／結果部分７６内のリストから能動的に選択された問い合わせを表示するようにされていてもよい。
【００２９】
コンテキスト基準部分８６は、コンテキスト的フィルタリング基準のユーザー入力を可能にするよう設けられていてもよい。コンテキスト基準部分８６は、ユーザーにとって関心があるかもしれない特定の単語または句の入力のためのキーワード・フィールド８８を含んでいてもよい。コンテキスト基準部分８６はまた、AND、OR、NOT型のブール演算子のようなブール演算子の入力をも可能にしてもよい。これらのブール演算子は、さまざまな組み合わせのキーワードまたはキーフレーズに対して適用されてもよい。このようにして、問い合わせは、さまざまな型のデータ・レコード２２または５４について比較的特定的なフィルタリング基準を可能にしうる。「コンテンツ」フィールド９０は、各メタデータ・レコード５８内のコンテンツの特定の種別に基づいてフィルタリングすることを可能にするよう含められてもよい。
【００３０】
時間的基準部分９２は、時間的フィルタリング基準のユーザー入力を可能にするよう設けられてもよい。上記のように、各メタデータ・レコード５８は、データ・レコード２２または５４によって表される将来のイベントが発生した特定の時点を指示する時間フィールドを含みうる。こうして、「開始」または「終了」フィールド９４によって与えられる時間範囲の選択によって、メタデータ・レコード５８は、その特定の時間範囲に関連付けられたデータ・レコード２２または５４のみを返すようフィルタリングされうる。時間的基準フィールド９２に含まれるものとして、「時間」フィールド９６および「種別」フィールド９８がある。「時間」フィールド９６は、時間的基準と突き合わせたメタデータ・レコード５８のフィルタリングを無効にするために使用されうる。「種別」フィールド９８は、他の時間ベースの基準と突き合わせた時間ベースのフィルタリングをフィルタリングするために使用されてもよい。
【００３１】
スコープ部分１００は、特定の連合されたデータベース６０に含まれるデータ・レコード２２または５４の検索を可能にするよう含まれていてもよい。すなわち、ユーザーは、データ・レコード検索をすべての利用可能な連合されたデータベース６０のうちの全部または一部のみに限定することができてもよい。「組織体」「サイト」または「ローカル」に対応するラジオボタン１０２は、利用可能な連合されたデータベース６０の間でのトグルを可能にするよう設けられる。リモート・クライアント・アプリケーション５０に返されるデータ・レコード２２または５４の総量の上限を可能にするはたらきをする「最大結果」フィールド１０４も設けられる。図３の実施形態に基づく分散式データベース４４が実装される場合にスコープ部分１００が使用されうることは理解されるであろう。図１の実施形態に基づく略均一なデータベース１４が実装される場合、スコープ部分１００の機能は不使用であってもよい。
【００３２】
電子メール通知部分１０６もユーザーによる電子メール・アドレスの入力を可能にするよう設けられていてもよい。「メール」フィールド１０８に有効な電子メール・アドレスが入力されると、ある将来のイベントを表すデータ・レコード２２または５４が入力されたコンテキスト的、時間的または地理空間的基準に合致するならば、データ・イベント・エージェント１２または４２は、特定のデータ・レコード２２または５４を入力された電子メール・アドレスに送信する。
【００３３】
空間的基準部分１１０は地理空間関係のフィルタ基準のユーザー入力を可能にするために含められうる。空間的基準部分１１０は、マウスのようなユーザー・インターフェース・デバイスを使って特定の地理的領域のユーザーによる選択を可能にするマップ部分１１２を含んでいてもよい。表示されるマップの種々の部分にわたるナビゲーションを可能にするためにマップ・ナビゲーション・ボタン１１４が含められてもよい。さらに、さまざまな幾何形状を使って地理的領域の選択を可能にするいくつかの選択モード・ボタン１１６が含められている。図４に示した特定の例では、ポリゴン・ボタン１１６ａが選択されており、よってポリゴン〔多角形〕の形の地理的領域１１８がマップ部分１１２上に描かれうる。さらに、円の形であろう地理的領域の選択を許容する点‐半径ボタン１１６ｂが設けられている。メニュー・バー部分１２０は、ユーザーが、データベース・アクセス・システム１０または４０のさまざまな管理タスクを実行することを可能にするいくつかのボタン１２２を設けられていてもよい。
【００３４】
上記のウィンドウ７４は、システム１０または４０によって、データ・レコード２２または５４によって表される将来のイベントをフィルタリングするために使用されうる問い合わせ２４または５６の生成を許容しうる。ひとたび生成されたら、問い合わせ２４または５６はデータ・イベント・エージェント１２または４２に送信されてもよく、それにより、データ・イベント・エージェント１２または４２は、データ・レコード２２または５４への修正または追加について、データベース１４または４４を連続してモニタリングしうる。特定のデータ・レコード２２または５４についての問い合わせは、所望されるデータ・レコードの型を指定するさまざまなフィルタ基準を含みうる。こうして、データ・イベント・エージェント１２または４２は、データ・レコード２２または５４の将来の追加または修正を、これらのデータ・レコード２２または５４のさまざまなコンテキスト的、時間的および／または地理空間的側面と突き合わせてフィルタリングするよう動作可能でありうる。
【００３５】
図５は、「結果」タブ８０の選択に応じて表示されうるウィンドウ１３０を示している。ウィンドウ１３０は、問い合わせ／結果部分７６およびメタデータ・レコード表示部分１３２を含みうる。こうして、問い合わせ／結果部分７６からの特定のメタデータ・レコード５８の選択に際し、その特定のメタデータ・レコード５８に関するメタデータ情報がメタデータ・レコード表示部分１３２に示されることができる。メタデータ・レコード表示部分１３２はまた、ユーザーが表示されたメタデータ・レコード５８に関連付けられたデータ・レコード２２または５４を閲覧することを許容する「生成物を取得（Retrieve  Product）」ボタン１３４を含んでいてもよい。
【００３６】
こうして、ユーザーが効果的に、将来のイベントを表すメタデータ・レコード５８についての問い合わせ基準を入力できるようにするユーザー・インターフェースの一例およびユーザー指定のフィルタリング基準に合致するメタデータ・レコード５８を閲覧する例が与えられてきた。しかしながら、ユーザーがデータベース・アクセス・システム１０または４０の情報を入力および取得することを許容する他のインターフェースが設計されてもよいことは理解しておくべきである。こうして、先に記載された例は、本開示の範囲を限定することなく、読者がデータベース・アクセス・システム１０のためのユーザー・インターフェースの一実施例を構築することを可能にするはずである。
【００３７】
図６は、データベース・アクセス・システム１０または４０によって実行されうる一連の動作を描いたフローチャートを示している。動作２００において、データ・イベント・エージェント１２または４２が開始され、一つまたは複数のリモート・クライアント・アプリケーション２０または５０からの問い合わせを受け入れるよう利用可能となる。
【００３８】
動作２０２では、一つまたは複数の型のフィルタ基準を含む問い合わせが生成される。このフィルタ基準はコンテキスト的、時間的または地理空間関係のフィルタ基準を含んでいてもよい。問い合わせは、データ・イベント・エージェント１２または４２にファイアウォール１６または４６を通じて結合されているリモート・クライアント・アプリケーション２０または５０によって生成されうる。リモート・クライアント・アプリケーション２０または５０に関連付けられた識別情報が前記問い合わせとともに与えられる。それにより、合致するデータ・レコード２２または５４がデータ・イベント・エージェント１２または４２によって見出されるとき、これらの合致するレコードが適正なリモート・クライアント・アプリケーション２０または５０に送信されうる。ひとたび問い合わせが生成されたら、動作２０４で、問い合わせはファイアウォール１６または４６を通じてデータ・イベント・エージェント１２または４２に送信されうる。動作２０６では、データ・イベント・エージェント１２または４２は、前記問い合わせの受領に際して、メモリ３２内に問い合わせを持続的に記憶する。
【００３９】
この時点で、データ・イベント・エージェント１２または４２は、動作２０８において、フィルタ基準に合致しうるデータ・レコード２２または５４への追加または修正があるかどうか、データベース１４または４４を連続的にモニタリングしうる。データベース４４が分散式データベースである場合、メタデータ・データベース６２は、メタデータ・レコード５８への追加または修正があるかどうか、連続的にモニタリングされうる。あるデータ・レコード２２または５４が指定されたフィルタ基準に合致する場合、そのデータ・レコード２２または５４は、動作２１０において、リモート・クライアント・アプリケーション２０または５０に送信されうる。分散式データベースが実装される場合、合致したメタデータ・レコード５８に関連付けられたデータ・レコード２２または５４が持続的な連合されたデータベース６０から取得される。このデータ・レコード２２または５４が次いでリモート・クライアント・アプリケーション２０または５０に転送される。先述した方法は、問い合わせがリモート・クライアント・アプリケーション２０または５０によって削除されるか、データベース・アクセス・システム１０または４０が動作２１２において停止されるまで続く。
【００４０】
本開示について詳細に記載してきたが、付属の請求項によって定義される本開示の精神および範囲から外れることなく、さまざまな変更、代替および修正をなすことができることは理解しておくべきである。
【図１】
2009544078.tif 000003
【図２】
2009544078.tif 000004
【図３】
2009544078.tif 000005
【図４】
2009544078.tif 000006
【図５】
2009544078.tif 000007
【図６】
2009544078.tif 000008
【国際調査報告】
2009544078.tif 000009
2009544078.tif 000010
2009544078.tif 000011