(57)【要約】データソースのネットワークを伝統的データベーススキーマの観点から提供する方法およびシステムが伝統的データベース照会をネットワークメッセージに変換し、これらのメッセージを関連データを有するデータソースにルーティングする。本発明では、データソースのネットワークインタフェースがメッセージを受け入れ、データソースの出力をメッセージ中の指示に従ってフィルタリングする。そして応答メッセージを照会の起点に送信する。次にこのシステムはこれらの応答メッセージを照会起点で収集し、照会結果を伝統的データベース結果として形成する。
2004500631.tif 000002
【特許請求の範囲】
【請求項１】
分散型データソースネットワークデータベースの情報管理方法であって、該ネットワークデータベースは複数のノードを含み、
該複数のノードは照会ノードと複数のデータソースを含むものにおいて、
スキーマを前記分散型データソースネットワークデータベースに提供するステップと、
照会をデータベース言語で前記ネットワークの前記照会ノードに入力するステップと、
前記照会を少なくとも１つのネットワークメッセージに分解するステップと、
前記ネットワークメッセージを前記照会に関連するデータソースに伝送するステップと、
前記ネットワークメッセージを前記照会に関連するデータソースで受信するステップと、
応答メッセージを前記ネットワークメッセージに、照会が適合したときに送信するステップ、
照会結果を前記データベース言語で前記照会ノードに前記応答メッセージから供給するステップとを有する、
ことを特徴とする方法。
【請求項２】
前記分解ステップはさらに、
少なくとも１つの制約条件と少なくとも１つのリターン値を前記照会から収集するステップと、
前記制約条件および前記リターン値を前記照会に有するネットワークメッセージを形成するステップと、
前記照会ノードのメッセージＩＤとネットワークアドレスを、前記ネットワークメッセージからの前記制約条件および前記リターン値に追加するステップとを有する、請求項１記載の方法。
【請求項３】
前記ネットワークメッセージは、イーサネットパケット、ＩＰパケット、ＴＣＰパケット、ＵＤＰパケット、Ｐｒｏｆｉｂｕｓパケット、デバイスネットパケット、ＩＥＥＥ８０２．１１パケット、Ｒｉｃｏｃｈｅｔパケット、ＧＳＭ形式パケット、またはＣＤＭＡ形式パケット、または前記パケットの複数である、請求項１記載の方法。
【請求項４】
前記スキーマは、関連スキーマ、オブジェクト指向スキーマ、またはオブジェクト関連スキーマを含む、請求項１記載の方法。
【請求項５】
前記照会言語はＳＱＬを含む、請求項４記載の方法。
【請求項６】
前記伝送ステップは、前記ネットワークメッセージを前記照会に関連するデータソースに、キャラクタリステックルーティングを使用してルーティングする、請求項１記載の方法。
【請求項７】
前記伝送ステップは、前記ネットワークメッセージを前記照会に関連するデータソースにだけ、マルチキャストルーティングを使用してルーティングする、請求項１記載の方法。
【請求項８】
前記分解ステップは、すべての述語を前記照会から収集し、前記述語はテーブルのコラムを参照し、ネットワークメッセージを前記述語のすべてに対して形成し、ここにおいて各ネットワークメッセージは少なくとも１つの述語を前記照会に有し、さらにメッセージＩＤと前記照会ノードのネットワークアドレスを前記ネットワークメッセージに追加する、請求項１記載の方法。
【請求項９】
前記各メッセージに取り入れられた述語は参照テーブルに基づいて選択される、請求項８記載の方法。
【請求項１０】
前記各メッセージに取り入れられた述語は参照クラスに基づいて選択される、請求項８記載の方法。
【請求項１１】
前記各メッセージに取り入れられた述語は、ＯＲ表現および副照会内のそれらの位置に基づいて選択される、請求項８記載の方法。
【請求項１２】
さらに前記ネットワークメッセージにおいて受信した制約条件についての瞬時の読み取りを、前記照会に関連する前記データソースで比較するステップをさらに有し、
前記応答ステップは、前記ネットワークメッセージで特定された前記リターン値の瞬時値をカプセル化するステップと、前記メッセージＩＤと前記照会ノードのネットワークアドレスを前記応答メッセージに追加するステップを有する、請求項２記載の方法。
【請求項１３】
前記応答メッセージは、イーサネットパケット、ＩＰパケット、ＵＤＰパケット、Ｐｒｏｆｉｂｕｓパケット、デバイスネットパケット、ＩＥＥＥ８０２．１１パケット、Ｒｉｃｏｃｈｅｔパケット、ＧＳＭ形式パケット、またはＣＤＭＡ形式パケット、または前記パケットの複数である、請求項１２記載の方法。
【請求項１４】
前記制約条件はスタティックまたはダイナミックである、請求項２記載の方法。
【請求項１５】
前記分解ステップは、すべての述語を前記照会から収集し、前記述語はクラスを参照し、ネットワークメッセージを前記述語のすべてに対して形成するステップを有し、
各ネットワークメッセージは少なくとも１つの述語を前記照会に有し、メッセージＩＤを前記照会ノードのネットワークアドレスを前記ネットワークメッセージに追加する、請求項１記載の方法。
【請求項１６】
データソースデータベースの分散型ネットワークの情報管理システムにおいて、
該システムは、ネットワークと、複数のデータソースと、少なくとも１つの照会ノードとを有し、
前記複数のデータソースは前記ネットワークに接続されており、
前記データソースは、情報をスキーマに従ってデータソースデータベースの前記分散型ネットワークに対して供給することができ、
前記少なくとも１つの照会ノードは前記ネットワークに接続されており、
前記照会ノードは、照会をデータベース言語で受信し、前記照会を少なくとも１つのネットワークメッセージに分解することができ、
該ネットワークメッセージは前記ネットワークを介して前記照会に関連するデータソースに伝送され、
前記照会に関連するデータソースは応答メッセージを前記ネットワークを介して前記ネットワークメッセージに応じて、前記照会が適合する場合に送信し、
前記照会ノードは照会結果を前記データベース言語で前記応答メッセージから供給する、
ことを特徴とするシステム。
【請求項１７】
前記ネットワークメッセージおよび前記応答メッセージは、イーサネットパケット、ＩＰパケット、ＵＤＰパケット、Ｐｒｏｆｉｂｕｓパケット、デバイスネットパケット、ＩＥＥＥ８０２．１１パケット、Ｒｉｃｏｃｈｅｔパケット、ＧＳＭ形式パケット、またはＣＤＭＡ形式パケット、または前記パケットの複数である、請求項１６記載のシステム。
【請求項１８】
前記スキーマは関連スキーマ、オブジェクト指向スキーマ、またはオブジェクト関連スキーマを有する、請求項１６記載のシステム。
【請求項１９】
前記照会言語はＳＱＬを含む、請求項１６記載のシステム。
【請求項２０】
前記ネットワークメッセージはキャラクタリスティックルーティングを使用し、前記ネットワークを介して前記照会に関連するデータソースにだけ伝送される、請求項１６記載のシステム。
【請求項２１】
前記ネットワークメッセージはマルチキャストルーティングを使用し、前記ネットワークを介して前記照会に関連するデータソースにだけ伝送される、請求項１９記載のシステム。
【請求項２２】
前記照会に関連する前記データソースは前記ネットワークメッセージ中に受信された制約条件についての瞬時の読み取りを比較し、前記ネットワークメッセージ中に特定されたリターン値の瞬時値を有する応答メッセージ、メッセージＩＤおよび照会ノードのネットワークアドレスを送信する、請求項１６記載のシステム。
【請求項２３】
宛先ジョインノードを有し、該宛先ジョインノードは前記ネットワークに接続されており、
前記宛先ジョインノードは、少なくとも２つの応答メッセージを前記照会に関連する前記データソースから受信し、処理し、前記少なくとも２つの応答メッセージからのジョイン情報を含む応答メッセージを形成し、送信し、
前記照会ノードは前記照会結果を前記データベース言語で、前記ジョイン情報を含む前記応答メッセージから提供する、請求項１６記載のシステム。
【請求項２４】
コンピュータ読み出し可能記憶媒体に記憶されたコンピュータ読み出し可能コードを有するコンピュータ読み出し可能プログラム製品において、
前記コンピュータ読み出し可能コードは、照会をデータベース言語で受信し、前記照会を少なくとも１つのネットワークメッセージに分解することができ、
前記ネットワークメッセージはネットワークを介して前記照会に関連するデータソースにだけ伝送され、
さらに前記コンピュータ読み出し可能コードは、応答メッセージを前記ネットワークを介して前記ネットワークメッセージに応じて、前記照会が適合するときに受信し、照会結果を前記データベース言語で前記応答メッセージから供給することができる、
ことを特徴とするコンピュータ読み出し可能プログラム製品。
【請求項２５】
前記ネットワークメッセージは、イーサネットパケット、ＩＰパケット、ＵＤＰパケット、Ｐｒｏｆｉｂｕｓパケット、デバイスネットパケット、ＩＥＥＥ８０２．１１パケット、Ｒｉｃｏｃｈｅｔパケット、ＧＳＭ形式パケット、またはＣＤＭＡ形式パケット、または前記パケットの複数である、請求項２４記載のコンピュータ読み出し可能プログラム製品。
【請求項２６】
前記ネットワークメッセージはキャラクタリスティックルーティングまたはマルチキャストルーティングを使用してネットワークを介し、前記照会に関連するデータソースにだけ伝送される、請求項２５記載のコンピュータ読み出し可能プログラム製品。
【請求項２７】
前記コンピュータ読み出し可能記憶媒体は、照会ノードに常駐するコンピュータアプリケーションプログラムを有する、請求項２５記載のコンピュータ読み出し可能プログラム製品。
【請求項２８】
前記コンピュータ読み出し可能コードは、照会ノードのネットワークインタフェースに常駐するメモリにロード可能である、請求項２５記載のコンピュータ読み出し可能プログラム製品。
【請求項２９】
コンピュータ読み出し可能記憶媒体に記憶されたコンピュータ読み出し可能コードを有するコンピュータ読み出し可能プログラム製品において、
前記コンピュータ読み出し可能コードは、制約条件およびリターン値を含む分解された照会を有するネットワークメッセージを受信し、該リターン値に対する瞬時値を比較し、応答メッセージをネットワークを介して前記ネットワークメッセージに応じて、前記分解された照会からの制約条件が適合するときに送信する、
ことを特徴とするコンピュータ読み出しプログラム製品。
【請求項３０】
前記コンピュータ読み出し可能コードは、データソースのネットワークインタフェース上に常駐するメモリにロード可能である、請求項２９記載のコンピュータ読み出し可能プログラム製品。
【請求項３１】
データソースハードウエアと、メモリおよびコントローラを含むネットワークインタフェースと、前記メモリに記憶されたコンピュータ読み出し可能コードを有するデータソースにおいて、
前記コンピュータ読み出し可能コードは、制約条件とリターン値とを含む分解された照会を有するネットワークメッセージを受信し、前記リターン値に対する瞬時値を比較し、応答メッセージをネットワークを介して前記ネットワークメッセージに応じて、前記分解された照会からの制約条件が適合するときに送信する、
ことを特徴とするデータソース。
【請求項３２】
前記ネットワークインタフェースは、前記ネットワークメッセージを受信し、前記応答メッセージを送信するために設けられており、
前記ネットワークメッセージおよび前記応答メッセージは、イーサネットパケット、ＩＰパケット、ＵＤＰパケット、Ｐｒｏｆｉｂｕｓパケット、デバイスネットパケット、ＩＥＥＥ８０２．１１パケット、Ｒｉｃｏｃｈｅｔパケット、ＧＳＭ形式パケット、またはＣＤＭＡ形式パケット、または前記パケットの複数である、請求項３１記載のデータソース。
【請求項３３】
メモリおよびコントローラを含むネットワークインタフェースと、該メモリに記憶されたコンピュータ読み出し可能コードとを有する宛先ジョインノードにおいて、
前記コンピュータ読み出し可能コードは、少なくとも２つの応答メッセージを受信し、
各応答メッセージは、制約条件とリターン値とを含む分解された照会を有するネットワークメッセージへの応答を有し、
さらに前記コンピュータ読み出し可能コードは、前記応答メッセージを処理し、ジョイン応答メッセージをネットワークを介して前記ネットワークメッセージに応じて、前記分解された照会からの前記制約条件が適合するときに供給および送信する、
ことを特徴とする宛先ジョインノード。
【請求項３４】
前記ソースはセンサノードを有する、請求項１記載の方法。
【請求項３５】
前記データソースはセンサノードを有する、請求項１６記載のシステム。
【請求項３６】
前記データソースはセンサノードを有する、請求項２４記載のコンピュータ読み出し可能プログラム製品。
【請求項３７】
前記データソースはセンサノードを有する、請求項３０記載のコンピュータ読み出し可能プログラム製品。
【請求項３８】
前記データソースはセンサノードを有し、前記データソースハードウエアはセンサノードハードウエアを有する、請求項３１記載のデータソース。
【発明の詳細な説明】
【０００１】
関連する出願の相互参照
本出願は、共通に所有する米国特許願第６０／１６８４２５号、名称「Ａ Ｓｙｓｔｅｍ ｆｏｒ Ｃｏｍｍｕｎｉｃａｔｉｎｇ ｗｉｔｈ ａ Ｎｅｔｗｏｒｋ ｏｆ Ｓｅｎｓｏｒｓ Ｔｈｒｏｕｇｈ ａ Ｄａｔａｂａｓｅ Ｉｎｔｅｒｆａｃｅ」、および第６０／１６８４２６号、名称「Ｃｈａｒａｃｔｅｒｉｓｔｉｃ Ｒｏｕｔｉｎｇ」、両方とも１９９９年１１月３９日出願からの優先権を主張する。本出願はまた同日出願の、共通に所有する米特特許願第０９／７２８３８０号、名称「Ｃｈａｒａｃｔｅｒｉｓｔｉｃ Ｒｏｕｔｉｎｇ」に関連するものであり、発明者はＪｕｌｉｏ Ｃ． Ｎａｖａｓ である。
【０００２】
発明の背景
情報、通信、およびオートメーション工業でのトレンドは、分散ソリューションである。このトレンドの最近の例は、ネットワーク化センサへの提案、およびこのようなデータソースのラージグループが大規模分散情報システム（データソースのネットワークと称される）を形成できるであるという示唆である。刊行物「Ｎｅｘｔ Ｃｅｎｔｕｒｙ Ｃｈａｌｌｅｎｇｅｓ ： Ｍｏｂｉｌｅ Ｎｅｔｗｏｒｋｉｎｇ ｆｏｒ Ｓｍａｒｔ Ｄｕｓｔ」（ＭｏｎｉＣｏｍｍ１９９９刊行）において著者 Ｋａｈｎ ｅｔ ａｌ． はデータソースの分散ネットワークの例をセンサのネットワークの形態で論議している。
【０００３】
データソースのネットワークの最初のアイデアは、個別データソース、またはおそらくはデータソースのスモールグループをコンピュータネットワークに接続でき、その際に標準通信プロトコル、例えばインターネットプロトコル（ＩＰ）を使用できるであろうというものである。ネットワーク上の他のデバイスは、データソースにより提供されるデータにアクセスすることができ、これは個別にもまたはアプリケーションに依存してユニットでも可能である。もっとも野心的な提案では、データソースのワイヤレスネットワークがそれらのトポロジーを、それらが配置されているようにダイナミックに定義し、続いてそれらのリンクおよびルーティングスキーマを再定義して、新たなノードおよび欠陥ノードを説明し、電力管理を最適化しようと言うものである。データソースのネットワークの初歩形態はすでにいくつかの工業的プロセスコントロールシステムで使用されており、データソースのネットワークに対する将来的適用は多くの領域で広がることが予想される。
【０００４】
データソースのネットワークを鑑みた現在の問題点は、データソースからのデータをどのように管理するかである。このことは情報テクノロジ（ＩＴ）の世界における現在の技術と対比することができる。情報テクノロジにおいてはデータ管理技術が豊富である。ＩＴワールドでは、データ集合、タイプ指向のデータアクセス、照会最適化、トランザクション管理、データフィルタリング、データ最小化、および他の多数の技術が良好に確立された技術である。従ってメモリ、ディスク、または良好に確立された分散型データベースに常駐するデータに対して、データ管理は良く理解された技術である。しかしデータソースのネットワークはデータ管理に対して困難である。なぜなら、データソースの潜在的多数により送信されるデータは使用されるネットワークまたはデータ管理システムを圧倒することがあるからである。さらにネットワークのデータソースが連続的に、頻繁に変更または更新される情報を提供することもままある。
【０００５】
データソースのプロトタイプネットワークはコンピュータネットワーク世界からのプロトコルを使用する。これはＴＣＰおよびＵＤＰに基づくものであり、データ管理よりは通信に対して開発されたものである。工業システムは別の、しかし類似のプロトコルを使用する。これは例えばモードバスである。これらのプロトコルはメッセージをポイント・ツー・ポイントで転送するメカニズムまたはネットワークのすべてのメンバーにメッセージを同報通信するメカニズムを提供する。しかしこれらのプロトコルはしばしば不適当であり、効率的データ管理をデータソース世界のネットワークに提供するには制限値を有する。従って通信に対して開発されたこれらシステムタイプはより複雑で広大なコンピュータプログラムにおいては問題であり、データソースのネットワークでデータ管理に使用されるシステムをしばしばスクラッチからプログラマおよびシステム管理者により形成し、より洗練されたデータ管理技術を実現しなければならない。このことはＩＴテクノロジで適用することができるが、データソースのネットワークに対しては有効ではない。
【０００６】
制限されたデータ管理に対する１つのアプローチは、工業プロセスコントロールの分野に対して米国特許第５３０１３３９明細書（Ｂｏａｓｓｏｎｎによる）に記載されており、サブシステム間の通信に対するシステムを提供している。このサブシステムではリクエストがデータタイプに基づいて実行される。このようなシステムでは、所定タイプのデータを要求することができるが、要求されたデータの所望値を制約するメカニズムが存在しない。このようなメカニズムは伝統的データベース照会、例えばすべての温度センサに対して華氏１００度より高い温度の読み取りを要求するようなことを実現するにはクリティカルである。Ｂｏａｓｓｏｎ により書かれたシステムには、データサブ処理システムへのデータという観点からのデータベース、データを既述する関連スキーマまたはオブジェクトスキーマ、伝統的照会言語でのリクエストデータのファシリティが欠けている。従って Ｂｏａｓｓｏｎ のシステムは伝統的データベースのケーパビリティによりずっと下にある制限的データ管理ケーパビリティを提供するだけである。
【０００７】
データ管理の別のアプローチは、工業的プロセスに対するリアルタイム通信システムであり、米国特許第５０９３７８２号（Ｍｕｒａｓａｋｉ ｅｔ ａｌ．）に記載されている。ここではアプリケーションがリモートデータソースをデータソースの一部と見なす。このタイプのシステムでは、サブシステムがコントローラとしてリモートデータソースにアクセスし、これを使用し、これらリモート値のデータベースを管理する。このシステムはまず第１に、これらデータベースの更新に係るものである。このスキーマの１つの欠点は、各コントローラがその固有のデータベースを管理しなければならないことであり、このデータベースは所定の参照を各データソースに対して有していなければならない。アクセスデータを必要とする各サブシステムに対して、関連するすべてのデータソースのアドレスが固定的に符号化されなければならない。データベースはまたエラーポイントに集中することがある。このシステムのさらなる欠点は、データがデータソースからローカルデータベースの正当性を維持するために連続的にポーリングされなければならないことである。この種々のデータソースからの連続的ポーリングはネットワークに重いトラフィック負荷をかけることになる。
【０００８】
豊富なデータ管理ツールをデータソースのネットワークに追加する潜在的に有用な技術が分散型データベースコミュニティに見出すことができるが、分散型データベースでの従来の研究はデータソースのネットワークと共に使用するのには不適であるかまたは不完全である。
【０００９】
これら分散型データベース研究のいくつかは、データベースの構造的内容をコンピュータネットワークに拡大することができるように設計されており、単一のデータベースとしてアクセスされる。残念なことに、この研究の大部分は、刊行物「Ｐｒｉｎｃｉｐｌｅｓ ｏｆ Ｄｉｓｔｒｉｂｕｔｅｄ Ｄａｔａｂａｓｅ Ｓｙｓｔｅｍｓ」（Ｍ． Ｏｚｓｕ， Ｐ． Ｖａｌｄｕｒｉｅｚ， Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ， Ｉｎｃ．，Ｕｐｐｅｒ Ｓａｄｄｌｅ Ｒｉｖｅｒ， Ｎｅｗ Ｊｅｒｓｅｙ， １９９９）に記載のように、公知のデータベースの断片化（データベースフラグメンテーション）に関連する問題に集中しており、この断片化によりデータへの後でのアクセスを最適化する。この技術は特にデータソースワールドのネットワークでは有用でない。なぜなら各データソースは、これが形成するデータを提供するだけであり、従ってどのようにデータを断片化すべきか選択することはできない。
【００１０】
別の分散型データベースアプローチが米国特許第４６３５１８９号（Ｋｅｎｄａｌｌ）、および米国特許第５１７９６６０号（Ｄｅｖａｎｙ ｅｔ ａｌ．）に記載されており、伝統的データベース照会を分散型データベース間で分割する機構を提供する。この分散型データベースへデータは時間的に先立て注意深く断片化されていない。しかしこのタイプのシステムはいくつかの理由からデータソースのネットワークには適さない。まず第１に、このアプローチはより伝統的な分散型データベースに関連するものであり、データの特定部分のネットワークロケーションが前もって既知であることが前提とされる。このような前提は、データソースのネットワークの多くのダイナミックな適用において当てはまらない。ここではデータソースをいつでも追加することができるからである。例えばそれぞれがデータソースとワイヤレスリンクの装備された複数の自動車により形成されるデータソースのネットワークを考察してみる。このネットワークはトラフィックモニタリングに使用される。データソースを有する新たな自動車が高速道路に進入し、このネットワークとつながると、この自動車の供給するデータは所望のように照会結果に含まれるべきである。しかしＫｅｎｄａｌｌ ＆ Ｄｅｖａｎｙ ｅｔ ａｌ． による従来のシステムは、データソースのネットワークに追加されるデータソースからのデータ入力に対して照会結果においてダイナミックに関与する機構を提供しない。第２に、Ｋｅｎｄａｌｌ ＆ Ｄｅｖａｎｙ ｅｔ ａｌ． によるシステムは、重要な処理ケーパビリティが各ネットワークノードの常駐していることを前提とする。この前提は、データソースの多くのネットワークに対して当てはまらない。ここではデータソース、アナログ／デジタル変換器およびネットワークインタフェースがネットワークノード全体を構成することがあるからである。類似のアプローチがＢｏｎｎｅｔ ｅｔ ａｌ． によって為された（Ｐ．Ｂｏｎｎｅｔ， Ｊ．Ｇｅｈｅｋｅ， Ｔ．Ｍａｙｒ， Ｐ．Ｓｅｓｈａｄｒｉ， ”Ｑｕｅｒｙ Ｐｒｏｃｅｓｓｉｎｇ ｉｎ ａ Ｄｅｖｉｃｅ Ｄａｔａｂａｓｅ Ｓｙｓｔｅｍ”， Ｃｏｒｎｅｌｌ Ｔｅｃｈｎｉｃａｌ Ｒｅｐｏｒｔ ＴＲ９９−１７７５， Ｏｃｔｏｂｅｒ １９９９ 参照）。彼らはデータソースのネットワークを特別にアドレシングしようと試みたが、この試みは同じ制限を有している。
【００１１】
従ってより効率的で洗練された照会ケーパビリティを提供するシステムおよび方法または技術が、データソースのネットワークの有効データ管理のために所望される。さらにデータソースシステムのネットワークにより経済的にデータ管理を提供することが所望される。このデータ管理は、各ネットワークノードが高い処理ケーパビリティを有することも、複雑なプログラミングの実現も必要としないようにすべきである。このことは従来のデータベース検索言語ではデータ管理技術を達成するために必要である。またデータソースのネットワークに対するこのようなシステムは、多量のデータ照会が可能であり、ネットワークに重いトラフィック負荷をかけずに通信できるようにすべきである。
【００１２】
発明の要約
上記に論議した問題点および欠点は、本発明により解決される。本発明により、従来の情報テクノロジデータ管理技術を直接データソースのネットワーク内に適用することができる。より詳細には本発明により、ネットワークに論理的に接続されたデバイス上でプログラムを実行することができる。このネットワークはまた論路的にネットワークデータソースを接続し、伝統的データベース照会をネットワーク上で発行し、ネットワークからこの照会の結果をこれがこのデータソースにより形成されたデータに適用されるときに受け取る。
【００１３】
本発明の実施例によれば本発明は、複数のノードを含む分散型データソースネットワークデータベースの情報管理方法を提供する。このノードは照会ノードおよび複数のデータソースを含む。この方法は、分散型データソースネットワークにスキーマを提供するステップ、データベース言語の照会をネットワークの照会ノードに入力するステップ、照会を少なくとも１つのネットワークメッセージに分解するステップ、そしてネットワークメッセージをこの照会に関連するデータソースにだけ伝送するステップを含む。この方法はさらに、ネットワークメッセージをこの照会に関連するデータソースで受信するステップ、応答メッセージをネットワークメッセージに、照会が適合したときに送信するステップ、そして照会結果をデータベース言語で照会ノードに応答メッセージから提供するステップを含む。
【００１４】
別の実施例によれば本発明は、分散型データソースネットワークデータベースの情報管理システムを提供する。このシステムは、ネットワーク、このネットワークに接続された複数のデータソース、そしてこのネットワークに接続された少なくとも１つの照会ノードを含む。このデータソースは情報をスキーマに従って分散型データソースネットワークデータベースに提供することができる。この照会ノードは照会をデータベース言語で受信し、照会を少なくとも１つのネットワークメッセージに分解することができる。このネットワークメッセージはネットワークを介してこの照会に関連するデータソースにだけ伝送される。この照会に関連するデータソースは、ネットワークメッセージに応じて照会が適合するときに応答メッセージをネットワークを介して送信し、照会ノードは照会結果をデータベース言語で応答メッセージから提供する。
【００１５】
本発明のこれら実施例および他の実施例そしてフューチャおよび利点を以下に、図面を参照して詳細に説明する。
【００１６】
図面の簡単な説明
図１は、本発明を使用することのできるネットワークアーキテクチャの例を示す。
【００１７】
図２は、本発明の実施例の一般的機能を説明する図である。
【００１８】
図３は、データベース照会をネットワークメッセージに、本発明の実施例にしたがって変換するための機能を説明する図である。
【００１９】
図４は、受信したネットワークメッセージを本発明の実施例にしたがって処理するネットワークインタフェースの機能を説明する図である。
【００２０】
図５Ａから図５Ｃは、本発明の実施例によるネットワークメッセージの収集と、照会結果のインタプリタのための機能を説明する図である。
【００２１】
実施例の詳細な説明
実施例によれば、本発明は以下のシステムを含む。すなわちこのシステムは、伝統的データベーススキーマの観点からデータソースのネットワークを表し、伝統的データベース照会をネットワークメッセージに変換し、これらのメッセージを、関連するデータを有するこれらのデータソースにルーティングする。本発明においては、データソースのネットワークインタフェースがメッセージを受け入れ、データソースの出力をメッセージの指示に従いフィルタリングし、応答メッセージを照会の起点に送信する。システムはこの応答メッセージを照会起点で収集し、照会結果を伝統的データベースとして形成する。
【００２２】
本発明は以下のシステム及び方法を提供する。すなわちこれらは、データソースのネットワークを複数の分散しているクライアントによって、このデータソースのネットワークが単一のデータベースであるように管理することができる。さらに具体的に言うと本発明は、ネットワークデバイスにおけるプログラムの実行がデータベース照会をこのデバイスのネットワークインタフェースに発行し、ネットワークインフラストラクチャのために照会の結果を計算し、この結果を照会デバイスにリターンする。本発明の実施例は、種々異なるアプリケーションにおける情報管理にとって有用であろう。特定のアプリケーションは、工場設備制御及び工場設備管理のような工業オートメーションにおけるものであり、これについては以下において例示的な対象として説明する。しかしながら他の実施例も論理的管理に有用であろう。この論理的管理は、配送サービスのパッケージ、火及び毒素を追跡する危機管理、高速道路の交通管理、スマートな建築またはスマートな戦場のセキュリティ管理及び他の多数のアプリケーションのようなものである。
【００２３】
以下詳細に説明するが、本発明によって以下の利点が提供される。すなわち、ユーザ又はプログラマがネットワークデータから、構造化照会言語（ＳＱＬ）のような広く知られている情報テクノロジスタンダードに従い、データにアクセスし、またデータを処理することができる。複数のユーザまたはプログラマがネットワークのいかなる場所からも、データソースのデータにアクセスし、またデータを処理することができる。ネットワークトラフィックはポーリングまたは継続的リフレッシュシステムに比べ顕著に低減する。データアクセスに対する中央エラーポイントを有さない。データは常にデータソースからリクエストノードへのダイレクトパスを移動するので、待ち時間は最小である。照会ノードが応答データソースの物理的位置を識別する必要はない。
【００２４】
図１は、本発明を使用することのできるネットワークアーキテクチャの例を示す。当業者はこの図をインターネットワーク１０と理解するであろう。すなわち、ネットワークのコレクションはネットワークルータ１５によって接続されており、このネットワークルータ１５は相互に接続することができる。タームルータはここでは公知のものが使用され、伝統的ルータ、ネットワークスイッチ、ゲートウェイ、ブリッジまたは制御ブリッジング固有のネットワークを含むことができる。また本発明を単一のネットワークにおいて使用することができるが、その価値はインターネットワークにおいて使用するよりも高いものである。各ネットワークを任意の個数のノードに接続することができる。このネットワークアーキテクチャにおいて種々のノード及びルータを接続している線路３５は、この実施例においてはワイヤードコネクションである。本発明を使用することができる他のアーキテクチャはワイヤレスネットワークである。このワイヤレスネットワークは上述の図１のネットワークとは異なり、ネットワークにノード間の直接的なコネクションは存在しないが、むしろデータは、伝送区間があればワイヤレス技術によって最も近いノードに接続されており、また場合によっては僅かに制限された線が設けられている。したがってこの実施例では、線路３５を無線インターネットワークに対する論理コネクションと見なすことができる。さらに、インターネットワークがワイヤレスネットワークとワイヤードネットワークの組み合わせを含む実施例では、線路３５はそれぞれ論理コネクションとワイヤードコネクションである。当業者は、伝送区間及び伝送率を変化する多くのアルゴリズムが帯域幅及び電力消費をより効率的に使用するために存在することを理解するであろう。さらには当業者は、アドホックネットワークと称されるモバイルまたはダイナミックノードのコネクトまたはリコネクトに使用される種々のアルゴリズムが存在することを理解するであろう。そのようなネットワークのアーキテクチャは定まっていない。本発明をいかなるアプローチにも適用することができる。
【００２５】
本発明によれば、ネットワーク上の各ノードはネットワークインタフェ−スを有し、照会をネットワークのデータ消費者ノードから形成することができる。ネットワークノードを、データ作成者２０、データ消費者２５または両方（データ作成者／消費者３０）とすることができる。データ作成者２０の例は、データソース（例えばセンサ）またはデータソースバンク（しばしば分散型Ｉ／Ｏと称される）を含む。データ消費者２５の例は、コントローラ及びモニタシステムを含む。データ作成者／消費者３０であるノードの例はユーザ操作パネルである。本発明の目的のために、１つまたは複数のデータソースに対するネットワークへのインタフェースとして動作するコントローラは単一のノードとみなされており、このノードはデータ作成者／消費者３０の別の例である。ネットワークのノードに、データ消費者ノード、データ作成者ノードまたはデータ作成者／消費者ノードの機能を、適切なソフトウェアが本発明にしたがいノードに組み込まれることによって備えさせることができる。しかしながら、ネットワークの全てのノードは、本発明に従い、本発明が動作するためにソフトウェアを備える必要は無い。
【００２６】
上述したように、ネットワーク上の各ノード（各データソースも含む）はネットワークインタフェースを有し、このネットワークインタフェースはノードが論理的に接続されているネットワーク上で使用されるネットワークプロトコルのタイプに適している。このネットワークインタフェースは、関連する伝統的ネットワークインタフェースプロトコルを含み、その例はイーサネット、ＩＰ、ＴＣＰ、ＵＤＰ、Ｐｒｏｆｉｂｕｓ、デバイスネット及びＩＥＥＥ８０２．１、Ｒｉｃｏｃｈｅｔ、ＧＳＭ、ＣＤＭＡ等のようなワイヤレスプロトコルであるが、しかしながらこれに限定されるものではない。これらのプロトコルはネットワークインタフェースがメッセージをネットワークから受信することを可能にする。付加的に本発明は、データ消費者のネットワークインタフェース及びデータ作成者の（例えばデータソースの）ネットワークインタフェースの拡張部を提供する。例えば各ノードのネットワークインタフェースは、典型的なネットワークプロトコルインタフェースに加えソフトウェアを含み、このソフトウェアは本発明の機能性を提供する。これに関しては以下詳細に説明する。実施例においては、この付加的なソフトウェアは有利には、ノード（例えばデータ消費者ノード、データ作成者ノード、またはデータ作成者／消費者ノード）のネットワークインタフェースに組み込まれている（ＲＯＭのようなメモリに記憶されている）か、ノード（例えばデータ消費者ノードまたはデータ作成者／消費者ノード）に常駐するアプリケーションに組み込まれている。
【００２７】
本発明は、伝統的データベーススキーマの観点からデータソースのネットワークの記述を提供する。このデータベーススキーマでもってネットワーク上のノードは、ネットワーク上のデータソース（例えばデータ作成者２０またはデータ作成者／消費者３０）を「データベース」とみなす。伝統的に、関係型データベースではスキーマはテーブルと解され、各テーブルは複数のコラム（各コラムは関係の属性に対応する）及び複数のロウ（各ロウは組と呼ばれる関係グループに対応する）を有する。オブジェクト指向データベースでは、スキーマは伝統的にオブジェクトクラスのセットと解され、これは汎用的なものから固有のものまでの階層から形成することができる。スキーマを有する関係フィロソフィまたはオブジェクト指向フィロソフィを本発明の枠組みにおいて理解することができる。
【００２８】
データソースのネットワークを関係型データベースとみなすために、テーブルがスキーマに各データソースタイプに対して作成されている。このテーブルの属性は以下のものを含む。すなわち、（１）データソースを提供できる各アウトプットタイプ。（２）データソース（例えば接続されているコンポーネントのＩＤ、所属するサブシステムのＩＤ等）に関する記述情報の属性。及び（３）ＩＤ。この最後のＩＤは、テーブルにリストされている各データソースに対するテーブル内部においてユニークなものである。複数のデータソースタイプが類似しているが僅かに異なるものであれば、これらのデータソースタイプを、タイプ間を区別する別個の属性とマージして単一のテーブルにすることができる。
【００２９】
データソースのネットワークをオブジェクト指向データベースとみなすために、オブジェクトクラスは各データソースタイプに対して規定されている。当業者は以下のことを理解するであろう。すなわち、複数のデータソースタイプが類似しているが僅かに異なるものであれば、これらのデータソースタイプを共通の、より汎用的なクラスのサブクラスと表すことができる。方法はデータソースのデータを検索できる各クラス内に含まれている。例えば１つの方法はデータソースの各出力タイプのためのものである。付加的な方法がデータソース（例えば接続されているコンポーネントのＩＤ、所属しているサブシステムのＩＤ等）に関する記述情報を検索するために含まれている。付加的な方法を、リセット、較正、ダイナミック区間の設定等のようなデータソースの別個の機能にアクセスするために含ませることができる。
【００３０】
上述したように、本発明はスキーマを有するデータソースのネットワークを、関係フィロソフィまたはオブジェクト指向フィロソフィに基づき考察することができる。本発明をより良く理解するために、以下の記述では、関係型データベースフィロソフィに基づき本発明を説明する。オブジェクト指向フィロソフィに基づく本発明の別の実施例もまた本発明の枠内であると解される。さらにデータベースは関係フィロソフィ及びオブジェクト指向フィロソフィの組み合わせを使用するスキーマを有し、このタイプのデータベースもまた本発明の枠内である。
【００３１】
本発明の見地は、データベーススキーマを各ノードにおいて明示的に記憶する必要がないということである。各照会ノードは、テーブル及び要求するデータの属性名だけを識別すれば良く、また全体のスキーマを識別しなくても良い。データベースのスキーマは、システムの動作に基づき暗黙的なものである。これに関しては以下さらに説明する。
【００３２】
スキーマがいったん構成されれば、本発明は通常図２のように動作する。これらの各ステップを以下詳細に説明する。ネットワークの消費者ノード２５または３０は、伝統的データベース照会をステップ１００において発行することができる。実施例によれば、照会は「リフレッシュレート」を特定することができ、このリフレッシュレートは、所定のレートでの瞬時のネットワーク状態に反して、照会が持続すべきでありまた継続的に評価されるということを示す。ステップ１０２では、この照会が照会ノードのネットワークインタフェースによって、各データソースタイプにとって関連する部分、すなわちネットワークメッセージに分解される。各ネットワークメッセージはネットワークを介して、適切なタイプのデータソースにだけルーティングシステムによってルーティングされる（ステップ１０４）。いくつかのケースにおいては、ネットワークルータ１５はまた、データソースタイプに加え、制約条件にも基づいてネットワークメッセージを照会からルーティングすることができる。ステップ１０６では、ネットワークメッセージが適切なデータソースの各ネットワークインタフェースによって受信される。データソースの各ネットワークインタフェースは、照会の制約条件を定期的に照会のリフレッシュレートに従い検査する（帰還線１０７によって示唆されている）。制約条件が満足されていれば、データソースのネットワークインタフェースは照会に応答し（ステップ１０８）、その応答は照会ノードへと戻しルーティングされる。ステップ１１０では、照会ノードのネットワークインタフェースが応答を収集し、継続的にこの応答を照会の満足のために検査する。照会が満足されるたびに、ネットワークインタフェースは関連するデータを照会プログラムまたはユーザに伝える（ステップ１１２）。
【００３３】
照会ノードでの照会のネットワークメッセージへの変換
上述したように、本発明は伝統的データベース照会をネットワークメッセージに変換するためのシステムを提供する。このシステムはデータソースのネットワークに適しており、このネットワークでは各データソースがデータベースレコード（関係モデル）またはオブジェクト例（オブジェクト指向モデル）またはそれらのいくつかの組み合わせと見なされており、またこのネットワークでは上述のスキーマが使用されている。このシステムは、データソースを送信できるように、各データソースのために照会の関連する部分を抽出する。例えば、各データ消費者ノード２５または３０は、そのネットワークインタフェースまたはそのデータ消費者ノード常駐するアプリケーションプログラムに必要なソフトウェア／ファームウェアを含み、このソフトウェア／ファームウェアは伝統的データベース照会をネットワークメッセージに変換する。このネットワークメッセージは適切なデータ作成者ノード２０または３０へと送信すべき照会の関連する部分を含んでいる。このネットワークメッセージソフトウェアは照会の関連する部分を抽出する機能と、ネットワークを介して伝送される典型的なネットワークプロトコルパケットのデータペイロート内に（例えばイーサネットパケットペイロート内など）カプセル化されたメッセージにこの部分を含ませる機能とを含む。
【００３４】
さらに本発明は、実施例に従い、伝統的データベース照会を任意の付加的な仕様で拡大する。照会は「リフレッシュレート」を特定することができ、このリフレッシュレートは照会が連続的なものであるべきであり、所定のレートに更新されるべきものであることを示す。リフレッシュレートが所定であっても、照会は照会制約条件が満足されている場合にのみ応答することを言及しておく。これについては詳細に後述する。
【００３５】
実施形態によれば、各データソースにとっての照会の関連する部分は以下のものである。すなわち（１）：場合によっては空である、制約条件のリスト。このリストに基づきデータソースは情報を送信することを決定する。（２）：リターン値のリスト。このリストは制約条件が満足されている場合にはデータソースをリターンする。（３）：任意的に、リフレッシュレート。このレートでデータソースは情報の送信を再考する。（４）：ユニークなメッセージＩＤ。（５）：照会ノードのアドレス。照会ノードのアドレスは、照会ノードが基本的なネットワークサービスの部分として自動的に提供される場合には排除することができる。これらの部分はネットワークメッセージを、照会と関係している各データソースのために形成する。ネットワークメッセージの正確な構造（例えば上述の照会の関連する部分を含む領域のオーダ及び／又はサイズ）は、たとえそれがシステムで予め決定されていたとしても本発明には重要ではない。ネットワークメッセージは、ネットワークプロトコルパケットを使用して送信することができるか、ネットワークメッセージを複数のセグメントに分解することができ、このセグメントは複数のネットワークプロトコルパケットを使用して送信される。
【００３６】
図３は、ＳＱＬが照会を上述のようなネットワークメッセージに分解するシステムを実施例に従い示したものである。本発明は照会言語としてのＳＱＬに限定されるものではない。ＳＱＬは事実上、関係データベースに対する標準的な照会言語であり、またオブジェクト指向データベースにもますます使用されるようになっている。現時点での主要なデータベース照会言語として、ＳＱＬは本発明の分解技術の適切な例として使用される。さらに上述のように、またここで強調するが、本発明の実施例に従い伝統的データベース照会をネットワークメッセージに分解する記述は、関係データベースのアプローチのコンテキストにおいて述べているが、それに限定されるべきではない。制約条件述語の仕様は大部分の照会言語の有効部分であり、関連する参照テーブル（またはオブジェクト指向のケースでは参照クラス）に基づいた述語の抽出を、本発明に従いこれらの他の照会言語のために行うことができる。さらに他の大部分の照会言語は、ＯＲ表現または副照会を許容し、これらは同様に、以下のＳＱＬに対する記述と同様に処理される。
【００３７】
図３に示したように、本発明の実施例に従って、伝統的データベース照会をノネットワークメッセージに変換するシステムは、必要メッセージを作成することによって始まる。このネットワークメッセージは照会ノードによってネットワークを介して送信される。
【００３８】
ステップ１５０では、１つのメッセージが各テーブルに対して作成される。このテーブルはＯＲ表現の各オペランド内において、すなわち照会または副照会表現のＷＨＥＲＥ節において参照されている。ＯＲ表現のオペランド内では、テーブルのコラムを参照する各述語がメッセージに制約条件として含まれている（ステップ１５２）。次に、ＯＲ表現外で参照されている各テーブルに対してメッセージが作成されるが、このテーブルは副照会表現のＷＨＥＲＥ節の内部にある（ステップ１５４）。まだ別のメッセージには含まれていないが、副照会のＷＨＥＲＥ節内にあるテーブルの複数のコラムに対する全ての参照は、新しいメッセージに制約条件として含まれている（ステップ１５６）。次に、ＯＲ表現及び副照会外のＷＨＥＲＥ節で参照されている各テーブルに対してメッセージが作成される（ステップ１５８）。まだ他のメッセージには含まれていない、このテーブルのコラムを参照する全ての述語は、制約条件としてメッセージに含まれている（ステップ１６０）。
【００３９】
ステップ１６２では、各メッセージにおける各制約条件に対して、この制約条件は１つのデータソースに対する「局地型」、または複数のデータソースを介する「分散型」として規定している。このことは、制約条件において参照されているテーブルの数をカウントすることにより達成される。その数が１である場合には制約条件は「局地型」である。２またはそれ以上である場合には制約条件は「分散型」である。
【００４０】
ステップ１６４では、各メッセージに対してシステムは、メッセージが作成されるテーブルを参照するＳＥＬＥＣＴ表現内の全てのコラムを収集し、このリストにこのテーブルを参照する各コラムを追加し、メッセージの「分散型」制約条件に含まれている。このリストは、メッセージに対する「リターン値」としてメッセージに追加されている。「分散型」制約条件はメッセージの制約条件リストから除去される。
【００４１】
次に各メッセージに対して、リフレッシュレートが照会において特定されていた場合には、リフレッシュレートはメッセージに含まれている（ステップ１６６）。システムはメッセージへのユニークなメッセージＩＤ及び局地型照会ノードのネットワークアドレスを有する（ステップ１６８）。システムは各メッセージを、ネットワークを介して送信する（ステップ１７０）。
【００４２】
したがって、コンテナに基づくＳＥＬＥＣＴ位置の形式である簡単な例示的照会（例えば工場オートメーション環境。ここでは確実な要求が適合しているこれらのコンテナの位置が選択されるよう要求されている）、述語１が「温度＞１００℃」とするＷＨＥＲＥ（述語１）は、述語１を有するネットワークメッセージに変換されて、ユニークなメッセージＩＤ及び照会ノードのネットワークアドレスとともに送信される。
【００４３】
述語２が「圧力＞１００ｐｓｉ」とするＷＨＥＲＥ（述語１及び述語２）の形式の別の例示的照会は、述語１を有するネットワークメッセージ及び述語２を有する他のネットワークメッセージに変換されて、同一のメッセージＩＤ及び照会ノードのネットワークアドレスを有している２つのネットワークメッセージととともに送信される。
【００４４】
述語３が「体積＜２５０立方センチメートル」とするＷＨＥＲＥ（述語１又は述語３）の形式のさらに別の例示的照会は、述語１を有するネットワークメッセージ及び述語３を有する他のネットワークメッセージに変換されて、同一のメッセージＩＤ及び照会ノードのネットワークアドレスを有している２つのネットワークメッセージとともに送信される。
【００４５】
ネットワークメッセージのネットワークを介したルーティング
いったん照会がデータソース関連ネットワークメッセージのコレクションに変換されると、これらのメッセージをデータソースに満足のために送信しなければならない。このことを、データソースアドレスの中央データベースを必要とせずに達成するため、ネットワークルータはどのようにメッセージをメッセージ中に参照されるデータソースタイプに基づいてルーティングするかを理解する必要がある。タイプ指向のメッセージルーティング方法が必要であり、これによりネットワークメッセージは、特定の照会メードに関連するデータソースタイプにだけルーティングされる。
【００４６】
本発明の実施例のタイプ指向メッセージルーティングを実現するのに有利な技術はキャラクタリスティックルーティングであり、これはタイトル「Ｃｈａｒａｃｔｅｒｉｓｔｉｃ Ｒｏｕｔｉｎｇ」の同一出願人による米特特許願に詳細に記載されている。キャラクタリスティックルーティングはルーティングプロトコルであり、これによりデータをネットワークにより送信機ノードからノードセットへ、「特性」の任意の混合を使用して多重反射伝送することができる（特性は記述名を特定する多重任意の形態でのノード記述である）。ノードは多重ダイナミック特性を有することができる。キャラクタリスティックルーティングはルーティングを行うために多重特性を使用して高速かつ効率的に最適化されている。これはルーティングテーブルインデクスを、ビットベクトルと圧縮技術を使用して形成することにより行われる。キャラクタリスティックルーティングを参照されるネットワークオブジェクト（例えばデータソース）に対するインデクスとして使用することで、効率的にインデクシング手段が、データソースデータベースの分散型ネットワークからの高速かつ効率的情報検索のために得られる。とりわけキャラクタリスティックルーティングはデータソースに個別にコンタクトする必要性、または所定のマルチキャストグループを、参照に関連するデータソースを参照するために形成する必要性を排除する。キャラクタリスティックルーティングは各ノードに対する特定の特性を表すビットベクトルを提供する。ここではビットベクトル中の各ビット位置が、ノードに対する全体特性集合の外に特定の特性の存在することを表す。キャラクタリスティックルーティングを使用して送信されたネットワークメッセージは、参照で要求された情報を有するデータソースに向けることができる。
【００４７】
択一的に、しかしより非効率的であるが、インターネットプロトコルマルチキャスト（ＩＰマルチキャスト）をメッセージルーティングのために使用し、各データソースタイプを特定のマルチキャストグループに割り当てることができる。ＩＰマルチキャストルーティングに関連するキャラクタリスティックルーティングの利点は、上記の参照特許願に詳細に記載されている。
【００４８】
ネットワークのルータ１５は、特定のタイプ指向メッセージルーティングを実行するように適切に装備される。このタイプ指向メッセージルーティングは特別の実施例で使用することができる。従ってネットワークメッセージは、照会に関連して定義されたタイプに適合するデータ作成者２０または３０にだけルーティングされる。
【００４９】
ネットワークメッセージへのネットワークインタフェース応答
本発明はまた各データソースのネットワークインタフェースの機能を拡張する。これによりデータソースはネットワークメッセージに適切に応答することができる。これについては以下、図４を参照して説明する。とりわけ各データ作成者ノード２０または３０はそのネットワークインタフェースか、またはそのノードに常駐するアプリケーションプログラム中に必要なソフトウエア／ファームウエアを含む。このソフトウエア／ファームウエアは、受信したネットワークメッセージを処理し、照会制約条件が満たされるとき応答メッセージを適切な照会ノードに逆伝送する。応答メッセージは典型的ネットワークプロトコルパケットのデータペイロード（例えばイーサネットパケットペイロード等）にカプセル化される。これはデータ処理ノード２０または３０によりネットワークを介して伝送される。図４に示されているように、上に示した形態のメッセージがステップ２００でデータソースにより受信され、これが照会に関連して定義されたタイプに適合すれば、データソースのネットワークインタフェースはこのメッセージを未解決照会のリストに追加する（例えばバッファに）。
【００５０】
未解決照会のリストにある各ネットワークメッセージに対してデータソースのネットワークインタフェースはメッセージ中の各制約条件を「スタティック」または「ダイナミック」とステップ２０２で特徴付ける。この特徴付けは、制約条件中のコラム参照のすべてを考慮することにより達成される。コラム参照のすべてが「記述的」属性に対するものであれば、制約条件は「スタティック」と見なされる。それ以外の場合、制約条件は「ダイナミック」と見なされる。ネットワークインタフェースはステップ２０４で、先行して特徴付けられた制約条件がメッセージ中の最後の制約条件であるか否かを検出する。否定の場合は、システムはステップ２０２へリターンし、メッセージ中の次の制約条件を特徴付ける。
【００５１】
いったん、メッセージ中の最後の制約条件が特徴付けられれば、データソースのネットワークインタフェースはステップ２０６で、メッセージ中のすべての制約条件が「スタティック」であるか否かを検出する。メッセージ中のすべての制約条件が「スタティック」であると検出されれば、ネットワークインタフェースはステップ２０８で、データソースの瞬時の読み取りを照会制約条件について一度だけ比較する。ステップ２１０で検出されるように瞬時の読み取りが照会制約条件に適合すれば、ネットワークインタフェースは照会ノードに応答メッセージを戻し発行する。この応答メッセージは、処理されたネットワークメッセージ中に特定されたリターン値の瞬時値、制約条件が「スタティック」であったという指示、そして処理されたネットワークメッセージのユニークなメッセージＩＤを含んでいる。応答メッセージは応答ノードのアドレスを含んでおり、照会ノードにアドレシングされる。この応答メッセージはデータソースのネットワークインタフェースによりネットワークを介してルーティングのために照会ノードに戻し伝送される。
【００５２】
検出がステップ２０６で行われ、すべての制約条件が「スタティック」ではなく、少なくとも１つの「ダイナミック」な制約条件が含まれていれば、システムはステップ２１４でリフレッシュレートがネットワークメッセージで特定されたか否かを検出する。リフレッシュレートが特定されていなければ、ネットワークインタフェースはステップ２０８に進み、データソースの瞬時読み取りを照会制約条件について一度だけ比較する。システムは残りのステップ２１０と２１２を、すでに上に説明したように実行する。
【００５３】
検出がステップ２０６と２１４で実行され、メッセージが少なくとも１つの「ダイナミック」な制約条件を含んでおり、リフレッシュレートがネットワークメッセージ中に特定されていれば、ネットワークインタフェースは瞬時データソースを照会制約条件についてステップ２１６で比較する。制約条件がステップ２１８で適合しないと検出されれば、ネットワークインタフェースは（ライン２２０により示されているように）リフレッシュレートが特定された後のステップ２１６へリターンし、瞬時データを照会制約条件について比較する。制約条件がステップ２１８で適合すると検出されれば、ネットワークインタフェースはステップ２２２で照会ノードに応答メッセージを戻し発行する。この応答メッセージは、処理済みネットワークメッセージ中に特定されたリターン値の瞬時値、および処理済みネットワークメッセージのユニークなメッセージＩＤを含んでいる。応答メッセージは照会ノードにアドレシングされる。この応答メッセージはデータソースのネットワークインタフェースによりネットワークを介してルーティングのために照会ノードに戻し伝送される。ステップ２２４で所定のライフタイムパラメータの値（これはオプションとしてネットワークメッセージ中に特定することができる）を越えることが検出されると、ネットワークインタフェースはメッセージの処理を終了する。しかしこの値をステップ２２４で越えていなければ、ネットワークインタフェースはステップ２１６へリターンし、別の比較を特定されたフレッシュレートで行う。次にシステムは、上にすでに説明したようにステップ２１６から継続する。
【００５４】
応答メッセージ処理および照会ノードでの照会結果生成
図５Ａから図５Ｃは、応答メッセージ収集と、照会ノードでの照会結果生成に対する本発明の機能を示す。このシステムは、照会ノードに常駐するクライアントアプリケーションで実行されるソフトウエア、または照会ノードのネットワークインタフェースのメモリに埋め込まれたアプリケーションとすることができる。このシステムは３つの論理スレッドを有しており、実際に別個のスレッドとして実現するか、または単一モノリシックプロセスとするすることができる。
【００５５】
図５Ａに示すように、第１スレッドは応答メッセージをネットワークから収集する。例えば各応答メッセージはネットワークからステップ３００で受信される。次に各応答メッセージは適切なバッファにステップ３０２で配置される。異なるメッセージＩＤによりインデクスされる別個のバッファが、照会ノードにより送信されたオリジナルネットワークメッセージの各々（それぞれが固有のメッセージＩＤを有する）に対して装備される。応答メッセージに格納されたこのメッセージＩＤに基づき、応答が関連のバッファに追加される。タイムスタンプが応答メッセージに追加され、これが受信された時間を指示する。複数の照会が同じノードから発生することもあることに注意されたい。従ってこのスレッドはこのノードからの異なる参照に関連する応答メッセージを受け入れる。
【００５６】
図５Ｂに示された第２スレッドの目的は、システムのタイミング制約条件を強化することである。このスレッドはリプレイライフタイムと呼ばれるタイミングインターバルを有している。このタイミングインターバルにしたがって各応答メッセージはそのバッファから除去される。リプレイライフタイムの値はケースバイケースに基づき決定すべきであるが、合理的なデフォルト値は関連する照会のリフレッシュレートの３倍とすることができる。このスレッドは連続的にすべてのバッファを通してチェックし、リプレイライフタイム単位よりも大きな時間で以前に受信された応答メッセージを探索する。そのようなメッセージが発見されると、これは「スタティック」としてマークされていない限りバッファから削除される。「スタティック」とマークされている場合にはこれは変化しない。とりわけ各バッファに対して各応答メッセージがステップ３３０で走査される。応答メッセージが「スタティック」とマークされているか否かの決定はステップ３３２で行われる。応答メッセージが「スタティック」でなければ、システムは次の応答メッセージの走査をステップ３３０で継続する。応答メッセージが「スタティック」とマークされていれば、次にメッセージタイムスタンプがリプレイライフタイム値より古いか否かがステップ３３４で決定される。否定であれば、システムはバッファ中の次の応答メッセージの走査をステップ３３０で継続する。しかしタイムスタンプメッセージがリプレイライフタイム値より古ければ、この応答メッセージはそのバッファから除去される。従って「スタティック」とマークされた応答メッセージと、所望の閾値を越える所定時間より古い応答メッセージが削除される。
【００５７】
図５Ｃに示された第３スレッドは、この照会ノードから発行されたすべての照会を連続的に評価する。このスレッドは応答メッセージを各バッファにおいて、照会制約条件の満足をチェックするために使用する。この照会制約条件は１つ以上のデータソースからのデータを含んでいる。データベーステクノロジでは、この述語は「ジョイン」と呼ばれる。例えば述語に含まれる照会が「Ａ．ＰａｒｔＩＤ＝Ｂ．ＰａｒｔＩＤ」であり、ＡとＢはソースタイプであれば、この条件はこのスレッドにより、この制約条件を含む、ネットワークメッセージへの応答メッセージが受信されるたびに評価されることとなる。応答メッセージ集合がバッファに存在しており、これが完全に特別照会を満足させる場合には、照会のＳＥＬＥＣＴ節に相当する値はこの照会を発行したプログラムまたはユーザにリターンされる。リターンされた値が照会結果である。
【００５８】
リフレッシュ照会の終了
特別な実施例によれば、リフレッシュレートが特定された照会は終了まで継続される。いずれのノードも照会を、特別の「照会終了」メッセージを（照会で参照されるデータソースタイプに合致する）各データソースに送信することにより終了する。この終了メッセージは終了すべきネットワークメッセージのメッセージＩＤを含む。データソースのネットワークインタフェースは次にこのネットワークメッセージをその未解決照会リストから除去する。オプションとして前に述べたように、ライフタイムを照会に割り当てることができる。これにより各データソースのネットワークインタフェースは自動的に、そのライフタイムの経過したネットワークメッセージを削除する。
【００５９】
照会が終了した時点で、照会ノードはまたこの照会に関連する応答メッセージ（これは依然とそのバッファ内にある）も消去する。消去すべき応答メッセージはまた「スタティック」とマークされた応答メッセージを含むことになる。
【００６０】
宛先ジョインノード
データベースは相互参照情報に対する能力（すなわち「ジョイン」の実行）を提供する。上記の実施例は基本的に、照会ノードにおいて種々の応答メッセージに送信された戻り情報の処理（ジョイニングも含む）を取り扱う。しかし別の実施例では、戻り情報の処理をプログレッシブジョインによりネットワークを通して戻る情報として実行することができる。またはジョイン実行のタスクは特別のノードの委任することができる。このノードは宛先ジョイナと称され、照会されるデータ生成ノードから照会ノードへのアップストリームパスに沿って存在する。そしてこのノードはデータ処理ノードよりも大きな計算能力またはメモリを有する。宛先ジョインノードは計算を分散的に、戻り情報に基づき応答メッセージでこれらが宛先ジョインノードに到着するときに実行する。ジョインの実行に加えて、宛先ジョインノードは平均化等を実行することができる。プログレッシブジョインまたは宛先ジョイナを使用する実施例により、照会ノードでの応答メッセージ処理は低減または簡素化される。なぜなら処理の多くは、照会ノードに送信された戻り情報が以前に処理されたように行われるからである。宛先ジョイナノードは、このシステムがローコスト、低機能性データソース（例えばデータ処理ノード）とハイコスト、高機能性アクティブ素子（例えばデータ生成／消費ノード、または高処理能力および／またはより多くのメモリを備えるデータ生成ノード）との混合を使用する場合に特に有利である。デバイスのこのような混合は例えば、データソースの既存ネットワークをアップグレードするとき、またはコストのかからないシステムが所望される場合に発生する。
【００６１】
上述したように種々の実施例を説明したが、本発明を既述の実施例に制限する必要はない。記述の実施例を、記載の請求項によってのみ限定される本発明の枠組から逸脱することなく変更または修正することができる。
【図面の簡単な説明】
【図１】
本発明を使用することのできるネットワークアーキテクチャの例を示す。
【図２】
本発明の実施例の一般的機能を説明する図である。
【図３】
データベース照会をネットワークメッセージに、本発明の実施例にしたがって変換するための機能を説明する図である。
【図４】
受信したネットワークメッセージを本発明の実施例にしたがって処理するネットワークインタフェースの機能を説明する図である。
【図５】
本発明の実施例によるネットワークメッセージの収集と、照会結果のインタプリタのための機能を説明する図である。
【図１】
2004500631.tif 000003
【図２】
2004500631.tif 000004
【図３】
2004500631.tif 000005
【図４】
2004500631.tif 000006
【図５】
2004500631.tif 000007
【国際公開パンフレット】
2004500631.tif 000008
2004500631.tif 000009
2004500631.tif 000010
2004500631.tif 000011
2004500631.tif 000012
2004500631.tif 000013
2004500631.tif 000014
2004500631.tif 000015
2004500631.tif 000016
2004500631.tif 000017
2004500631.tif 000018
2004500631.tif 000019
2004500631.tif 000020
2004500631.tif 000021
2004500631.tif 000022
2004500631.tif 000023
2004500631.tif 000024
2004500631.tif 000025
2004500631.tif 000026
2004500631.tif 000027
2004500631.tif 000028
2004500631.tif 000029
2004500631.tif 000030
2004500631.tif 000031
2004500631.tif 000032
2004500631.tif 000033
2004500631.tif 000034
2004500631.tif 000035
2004500631.tif 000036
2004500631.tif 000037
【国際公開パンフレット（コレクトバージョン）】
2004500631.tif 000038
2004500631.tif 000039
【国際調査報告】
2004500631.tif 000040
2004500631.tif 000041
2004500631.tif 000042
2004500631.tif 000043